网站
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.
 
 
 

517 рядки
22 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. tools.doGet(showImg + '/'+getQueryVariable('id'), {}, module.showImgInformation,true);
  26. //焦点图
  27. setTimeout(function () {
  28. module.swiperBanner();
  29. },2000)
  30. tools.doGet(webConfig, {}, module.webConfigInformation, true)
  31. };
  32. //获取地址栏参数
  33. function getQueryVariable(variable){
  34. var query = window.location.search.substring(1);
  35. var vars = query.split("&");
  36. for (var i=0;i<vars.length;i++) {
  37. var pair = vars[i].split("=");
  38. if(pair[0] == variable){return pair[1];}
  39. }
  40. return(false);
  41. }
  42. //网站配置信息
  43. module.webConfigInformation = function (data) {
  44. if (data.code == 200) {
  45. var content = data.data;
  46. console.log(content)
  47. //document.getElementById('time').innerHTML = '延时周期:'+content[8].configValue+content[8].remark+'<i class="wh">?</i>'
  48. module.data.timeConfig = content[8].configValue;
  49. module.data.titleConfig = content[9].configValue;
  50. module.data.importantTitle = content[7].configName+':'+ content[7].configValue.substr(3).substr(0,(content[7].configValue.substr(3).length-4));
  51. module.data.know = content[6].configValue;
  52. }
  53. }
  54. //底部友情链接
  55. module.bottomFriendsLinks = function (data) {
  56. if (data.code == 200) {
  57. var content = data.data;
  58. console.log(content)
  59. module.data.friendsLinksList = content;
  60. var friendsLinksData = template('friendsLinksData', module.data);
  61. $("#friendsLinksContent").html(friendsLinksData);
  62. }
  63. }
  64. module.dataCompare = function(signupStartTime,signupStopTime,biddingStartTime,biddingStopTime){
  65. var signupStartTime = signupStartTime;
  66. var signupStopTime = signupStopTime;
  67. var biddingStartTime = biddingStartTime;
  68. var biddingStopTime = biddingStopTime;
  69. var nowTime = Date.parse(new Date());
  70. var beginTimes=signupStartTime.substring(0,10).split('-');
  71. var endTimes=signupStopTime.substring(0,10).split('-');
  72. var biddingBeginTimes=biddingStartTime.substring(0,10).split('-');
  73. var biddingEndTimes=biddingStopTime.substring(0,10).split('-');
  74. signupStartTime=beginTimes[1]+'/'+beginTimes[2]+'/'+beginTimes[0]+' '+signupStartTime.substring(10,19);
  75. signupStopTime=endTimes[1]+'/'+endTimes[2]+'/'+endTimes[0]+' '+signupStopTime.substring(10,19);
  76. biddingStartTime=biddingBeginTimes[1]+'/'+biddingBeginTimes[2]+'/'+biddingBeginTimes[0]+' '+biddingStartTime.substring(10,19);
  77. biddingStopTime=biddingEndTimes[1]+'/'+biddingEndTimes[2]+'/'+biddingEndTimes[0]+' '+biddingStopTime.substring(10,19);
  78. //时间差
  79. var leftTime = Date.parse(biddingStopTime)-nowTime;
  80. //报名开始时间差
  81. var signupLeftTime = Date.parse(signupStartTime)-nowTime;
  82. //报名结束时间差
  83. var signDownLeftTime = Date.parse(signupStopTime)-nowTime;
  84. //定义变量 d,h,m,s保存倒计时的时间
  85. var d,h,m,s;
  86. if(Date.parse(biddingStartTime)<nowTime&&nowTime<Date.parse(biddingStopTime)){
  87. //正在竞价
  88. console.log('1')
  89. module.data.biddingTimeType = 1;
  90. document.getElementById('biddingTitle').innerHTML = '竞价进行中...';
  91. document.getElementById('swiperType').style.display = 'block';
  92. d = Math.floor(leftTime/1000/60/60/24);
  93. h = Math.floor(leftTime/1000/60/60%24);
  94. m = Math.floor(leftTime/1000/60%60);
  95. s = Math.floor(leftTime/1000%60);
  96. $('#countType').html('竞价中')
  97. $('#countDown').html('<span>距竞价结束还有:'+d+'</span>天<span>'+h+'</span>时<span>'+m+'</span>分<span>'+s+'</span>秒')
  98. }else if (nowTime>Date.parse(biddingStopTime)){
  99. //竞价结束
  100. console.log('2')
  101. $('#countDown').html('竞价结束')
  102. module.data.biddingTimeType = 2;
  103. }else if (nowTime<Date.parse(biddingStartTime)){
  104. //竞价暂未开始
  105. console.log('3')
  106. document.getElementById('biddingTitle').innerHTML = '竞价暂未开始...';
  107. $('#countDown').html('暂未开始')
  108. module.data.biddingTimeType = 3;
  109. }
  110. if(Date.parse(signupStartTime)<nowTime&&nowTime<Date.parse(signupStopTime)){
  111. //正在报名
  112. module.data.signupTimeType = 1;
  113. document.getElementById('swiperType').style.display = 'block';
  114. d = Math.floor(signDownLeftTime/1000/60/60/24);
  115. h = Math.floor(signDownLeftTime/1000/60/60%24);
  116. m = Math.floor(signDownLeftTime/1000/60%60);
  117. s = Math.floor(signDownLeftTime/1000%60);
  118. $('#countType').html('报名中')
  119. $('#countDown').html('<span>距报名结束还有:'+d+'</span>天<span>'+h+'</span>时<span>'+m+'</span>分<span>'+s+'</span>秒')
  120. }else if (nowTime>Date.parse(signupStopTime)){
  121. //报名结束
  122. module.data.signupTimeType = 2;
  123. }else if (nowTime<Date.parse(signupStartTime)){
  124. //报名暂未开始
  125. module.data.signupTimeType = 3;
  126. d = Math.floor(signupLeftTime/1000/60/60/24);
  127. h = Math.floor(signupLeftTime/1000/60/60%24);
  128. m = Math.floor(signupLeftTime/1000/60%60);
  129. s = Math.floor(signupLeftTime/1000%60);
  130. $('#countType').html('未开始')
  131. $('#countDown').html('<span>距报名开始还有:'+d+'</span>天<span>'+h+'</span>时<span>'+m+'</span>分<span>'+s+'</span>秒')
  132. }
  133. if(module.data.outProjectInformationDetail.biddingType != '拍卖' && module.data.biddingTimeType != 2){
  134. document.getElementById('biddingTable').style.display = 'none';
  135. document.getElementById('biddingTitle').style.display = 'block';
  136. }
  137. }
  138. module.projectNum = function(data){
  139. console.log(data)
  140. }
  141. module.signup = function(data){
  142. console.log(data)
  143. module.data.signup = data.data;
  144. var outProjectInformationData = template('outProjectInformationData', module.data);
  145. $("#outProjectInformationContent").html(outProjectInformationData);
  146. }
  147. goBond = function(){
  148. tools.skip('bond.html?id='+getQueryVariable('id'))
  149. }
  150. //项目基本信息
  151. module.outProjectInformation = function (data) {
  152. if (data.code == 200) {
  153. console.log(serverApi)
  154. var content = data.data;
  155. //倒计时
  156. var timer = setInterval(function(){
  157. module.dataCompare(content.signupStartTime,content.signupStopTime,content.biddingStartTime,content.biddingStopTime);
  158. },1000)
  159. for(var i = 0 ; i < content.fileUrlList.length ; i++){
  160. content.fileUrlList[i].fileUrl = serverApi+content.fileUrlList[i].fileUrl;
  161. }
  162. module.data.outProjectInformationDetail = content;
  163. var outProjectInformationData = template('outProjectInformationData', module.data);
  164. $("#outProjectInformationContent").html(outProjectInformationData);
  165. $("#know").html(module.data.know);
  166. //挂牌项目竞价记录
  167. tools.doGet(biddinglist, {projectId:getQueryVariable('id')}, module.biddinglistInformation,true);
  168. //挂牌价格字典
  169. tools.doGet(Dictionaries+'/price_unit', {}, module.unitDictionaries,true);
  170. //经济类型字典
  171. tools.doGet(Dictionaries+'/economic_type', {}, module.economicTypeDictionaries,true);
  172. //项目类型字典
  173. tools.doGet(Dictionaries+'/project_type', {}, module.projectNumberDictionaries,true);
  174. //农地性质字典
  175. tools.doGet(Dictionaries+'/sub_object_type', {}, module.projectTypeDictionaries,true);
  176. //前次转出方式
  177. tools.doGet(Dictionaries+'/rollout_type', {}, module.oneoutDictionaries,true);
  178. //面积单位字典
  179. tools.doGet(Dictionaries+'/area_unit', {}, module.areaDictionaries,true);
  180. //支付方式字典
  181. tools.doGet(Dictionaries+'/payment_type', {}, module.paymentTypeDictionaries,true);
  182. //缴纳形式字典
  183. tools.doGet(Dictionaries+'/deposit_payment_type', {}, module.depositPaymentTypeDictionaries,true);
  184. //交易方式字典
  185. tools.doGet(Dictionaries+'/deal_type', {}, module.transactionDictionaries,true);
  186. //竞价方式字典
  187. tools.doGet(Dictionaries+'/bidding_type', {}, module.biddingTypeDictionaries,true);
  188. //期满处理字典
  189. tools.doGet(Dictionaries+'/expire_type', {}, module.expireTypeDictionaries,true);
  190. if(module.data.loginNow){
  191. //判断是否报名
  192. tools.doGet(signup, {projectId:getQueryVariable('id'),depositStatus:'1',memberId:tools.getCookie('memberId')}, module.signup);
  193. }
  194. }
  195. }
  196. //标的物图片
  197. module.showImgInformation = function (data) {
  198. if (data.code == 200) {
  199. var content = data.data;
  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. var economicType = content[(module.data.outProjectInformationDetail.economicType-1)].dictLabel;
  325. module.data.outProjectInformationDetail.economicType = economicType;
  326. var outProjectInformationData = template('outProjectInformationData', module.data);
  327. $("#outProjectInformationContent").html(outProjectInformationData);
  328. }
  329. }
  330. //项目类型
  331. module.projectNumberDictionaries = function (data) {
  332. if (data.code == 200 && module.data.outProjectInformationDetail.projectNumber!='') {
  333. var content = data.data;
  334. var projectNumber = content[(module.data.outProjectInformationDetail.projectNumber-1)].dictLabel;
  335. module.data.outProjectInformationDetail.projectNumber = projectNumber;
  336. var outProjectInformationData = template('outProjectInformationData', module.data);
  337. $("#outProjectInformationContent").html(outProjectInformationData);
  338. }
  339. }
  340. //农地性质
  341. module.projectTypeDictionaries = function (data) {
  342. if (data.code == 200 && module.data.outProjectInformationDetail.projectType!='') {
  343. var content = data.data;
  344. var projectType = content[(module.data.outProjectInformationDetail.projectType-1)].dictLabel;
  345. module.data.outProjectInformationDetail.projectType = projectType;
  346. var outProjectInformationData = template('outProjectInformationData', module.data);
  347. $("#outProjectInformationContent").html(outProjectInformationData);
  348. }
  349. }
  350. //前次转出方式
  351. module.oneoutDictionaries = function (data) {
  352. if (data.code == 200 && module.data.outProjectInformationDetail.oneout!='') {
  353. var content = data.data;
  354. if(module.data.outProjectInformationDetail.oneout == 0){
  355. module.data.outProjectInformationDetail.oneout = '无';
  356. }else{
  357. var oneout = content[(module.data.outProjectInformationDetail.oneout-1)].dictLabel;
  358. module.data.outProjectInformationDetail.oneout = oneout;
  359. }
  360. var rollout = content[(module.data.outProjectInformationDetail.rollout-1)].dictLabel;
  361. module.data.outProjectInformationDetail.rollout = rollout;
  362. var outProjectInformationData = template('outProjectInformationData', module.data);
  363. $("#outProjectInformationContent").html(outProjectInformationData);
  364. }
  365. }
  366. //面积单位
  367. module.areaDictionaries = function (data) {
  368. if (data.code == 200 && module.data.outProjectInformationDetail.allCountUnit!='') {
  369. var content = data.data;
  370. var allCountUnit = content[(module.data.outProjectInformationDetail.allCountUnit-1)].dictLabel;
  371. module.data.outProjectInformationDetail.allCountUnit = allCountUnit;
  372. if(module.data.outProjectInformationDetail.subjectList.length>0){
  373. for(var i = 0 ; i < module.data.outProjectInformationDetail.subjectList.length ; i++){
  374. module.data.outProjectInformationDetail.subjectList[i].areaUnit = content[(module.data.outProjectInformationDetail.subjectList[i].areaUnit-1)].dictLabel;
  375. }
  376. }
  377. var outProjectInformationData = template('outProjectInformationData', module.data);
  378. $("#outProjectInformationContent").html(outProjectInformationData);
  379. }
  380. }
  381. //支付方式
  382. module.paymentTypeDictionaries = function (data) {
  383. if (data.code == 200 && module.data.outProjectInformationDetail.paymentType!='') {
  384. var content = data.data;
  385. var paymentType = content[(module.data.outProjectInformationDetail.paymentType-1)].dictLabel;
  386. module.data.outProjectInformationDetail.paymentType = paymentType;
  387. var outProjectInformationData = template('outProjectInformationData', module.data);
  388. $("#outProjectInformationContent").html(outProjectInformationData);
  389. }
  390. }
  391. //缴纳形式
  392. module.depositPaymentTypeDictionaries = function (data) {
  393. if (data.code == 200 && module.data.outProjectInformationDetail.depositPaymentType!='') {
  394. var content = data.data;
  395. var depositPaymentType = content[(module.data.outProjectInformationDetail.depositPaymentType-1)].dictLabel;
  396. module.data.outProjectInformationDetail.depositPaymentType = depositPaymentType;
  397. var outProjectInformationData = template('outProjectInformationData', module.data);
  398. $("#outProjectInformationContent").html(outProjectInformationData);
  399. }
  400. }
  401. //交易方式
  402. module.transactionDictionaries = function (data) {
  403. if (data.code == 200 && module.data.outProjectInformationDetail.dealType!='') {
  404. var content = data.data;
  405. var dealType = content[(module.data.outProjectInformationDetail.dealType-1)].dictLabel;
  406. module.data.outProjectInformationDetail.dealType = dealType;
  407. var outProjectInformationData = template('outProjectInformationData', module.data);
  408. $("#outProjectInformationContent").html(outProjectInformationData);
  409. }
  410. }
  411. //竞价方式
  412. module.biddingTypeDictionaries = function (data) {
  413. if (data.code == 200 && module.data.outProjectInformationDetail.biddingType!='') {
  414. var content = data.data;
  415. var biddingType = content[(module.data.outProjectInformationDetail.biddingType-1)].dictLabel;
  416. module.data.outProjectInformationDetail.biddingType = biddingType;
  417. var outProjectInformationData = template('outProjectInformationData', module.data);
  418. $("#outProjectInformationContent").html(outProjectInformationData);
  419. }
  420. }
  421. //系统是否
  422. module.expireTypeDictionaries = function (data) {
  423. if (data.code == 200 && module.data.outProjectInformationDetail.expire!='') {
  424. var content = data.data;
  425. var expire = content[(module.data.outProjectInformationDetail.expire-1)].dictLabel;
  426. module.data.outProjectInformationDetail.expire = expire;
  427. var outProjectInformationData = template('outProjectInformationData', module.data);
  428. $("#outProjectInformationContent").html(outProjectInformationData);
  429. }
  430. }
  431. //向上加价
  432. upMoney = function(){
  433. if(module.data.outProjectInformationDetail.money < module.data.outProjectInformationDetail.price){
  434. module.data.outProjectInformationDetail.money = module.data.outProjectInformationDetail.price;
  435. }
  436. module.data.outProjectInformationDetail.money += module.data.outProjectInformationDetail.ladderPrice ;
  437. document.getElementById('money').value = module.data.outProjectInformationDetail.money;
  438. }
  439. //向下降价
  440. downMoney = function(){
  441. if(module.data.outProjectInformationDetail.money <= (module.data.outProjectInformationDetail.price+module.data.outProjectInformationDetail.ladderPrice)){
  442. return;
  443. }
  444. module.data.outProjectInformationDetail.money -= module.data.outProjectInformationDetail.ladderPrice ;
  445. document.getElementById('money').value = module.data.outProjectInformationDetail.money;
  446. }
  447. //登陆跳转
  448. goLogin = function(){
  449. tools.initDialog('登陆提示', '登陆后可参与竞价,是否登录?', function () {
  450. tools.skip('../login/login.html')
  451. }, '登录', function () { }, "取消")
  452. }
  453. return module;
  454. });