var app = new Vue({ el: '#app', data: { //公共 id: null, columnList: [ ], requestParams: { //内容接口请求参数 categoryid: this.id, pageNum: 1, pageSize: 9, title: '', order:'sortindex', articleid:0, }, currentPath: '', articalArray: [], //详情数组 articalArrayRelated: [], //相关推荐 columnTypes: [], //栏目类型 colL:0, columnImage: '', //栏目图片 // 公共弹框 centerDialogVisible: false, dialogDataArray: [], ruleForm: { platName: '智慧安防', consultName: '', consultPhone: '', mail: '', company: '', consultContent: "", }, rules: { platName: [{ required: true, message: '请选择类型', trigger: 'change' }, ], consultName: [{ required: true, message: '请输入姓名', trigger: 'blur' }, ], consultPhone: [{ required: true, message: '请输入正确的电话号码', pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, trigger: 'change' }], mail: [{ required: false, type: "email", message: "请输入正确的邮箱地址", trigger: 'blur' }], }, //首页 homeList: [], status: false, // 新闻 goPage: 1, totalPageNum: 1, totalPageSzie: 1, loading: true, categoryid: 0, }, computed: { }, created: function () { this.requestParams.categoryid = this.getQuery('id') ? this.getQuery('id') : '' this.requestParams.title = this.getQuery('title') ? this.getQuery('title') : '' this.requestParams.articleid = this.getQuery('articleid') ? this.getQuery('articleid') : '' }, mounted: function () { _this = this this.getColumnData() }, methods: { //获取栏目 getColumnData() { this.columnTypes = [] $.ajax({ type: 'get', dataType: 'json', url: window.FQDN2 + 'siteCategory/siteCategoryList', }).done(function (res) { _this.columnList = res.data; _this.currentPath = window.location.pathname; for (let i = 0; i < res.data.length; i++) { //栏目处理 if (res.data[i].sname == window.location.pathname) { //进入当前栏目页 _this.columnTypes = res.data[i].children _this.colL= _this.columnTypes.childten; if (res.data[i].children.length > 0) { _this.requestParams.categoryid = (_this.getQuery('isUrlId') == 1) ? _this.getQuery('id') : _this.columnTypes[0].id; } else { _this.requestParams.categoryid = _this.getQuery('id') } _this.getArticalData(_this.requestParams) _this.columnImage = res.data[i].imagePath; } else { // 进入详情页 if (res.data[i].sname == '/product/index.html' && window.location.pathname == '/product/read.html') { getDetailCommon() } if (res.data[i].sname == '/solution/index.html' && window.location.pathname == '/solution/read.html') { getDetailCommon() } if (res.data[i].sname == '/news/index.html' && window.location.pathname == '/news/read.html') { getDetailCommon() } function getDetailCommon(){ //获取内容详情 _this.getArticalData(_this.requestParams) //获取详情相关数据 setTimeout(() => { _this.requestParams.title = '' _this.requestParams.articleid = 0 _this.getArticalData(_this.requestParams, 1) }, 100) _this.currentPath = res.data[i].sname //产品详情时栏目高亮 _this.columnImage = res.data[i].imagePath; //栏目图片获取 } } //首页旧 if (res.data[i].sname == '/index.html' && (window.location.pathname == '/index.html'||window.location.pathname == '/')) { jQuery.ajax({ type: 'POST', dataType: 'json', url: window.FQDN + 'Index/index', }).done(function (res) { // setTimeout(()=>{ _this.loading = false; // },100) _this.homeList = res _this.status = true }).fail(function (err) {}); } // 获取反馈弹框类型数据 if (res.data[i].sname == '/solution/index.html') { _this.dialogDataArray = (res.data[i].children) _this.ruleForm.platName = _this.dialogDataArray[0].categoryName; } } }) }, //获取内容 getArticalData(requestParams, type) { $.ajax({ type: 'GET', dataType: 'json', url: window.FQDN2 + 'siteArticle/siteArticleList', data: requestParams }).done(function (res) { var aa var bb if(type==1){ bb=res.data.records }else{ aa= res.data.records; // aa.sort(_this.compare("sortindex")) _this.articalArray = aa; } if (bb) { console.log(bb) console.log(_this.articalArray[0]) _this.articalArrayRelated = bb.filter(obj => obj.title != _this.articalArray[0].title); // _this.articalArrayRelated = bb console.log(_this.articalArrayRelated) } _this.loading = false; _this.totalPageSzie = res.data.total _this.totalPageNum = Math.ceil(res.data.total / res.data.size); }).fail(function (err) {}); }, //类型点击 facilityClick(e, item) { this.requestParams.categoryid = item.id this.requestParams.pageNum = 1 this.getArticalData(this.requestParams) }, // 分页 oneInnerBox: function (param) { window.location = "./read.html?id=" + param.categoryid + "&title=" + param.title + "&articleid=" + param.id + "&isUrlId=1"; }, enterPage: function (res) { if (this.goPage >= 1 && this.goPage <= this.totalPageNum) { this.requestParams.pageNum = this.goPage this.getArticalData(this.requestParams) } else { this.goPage = 1 alert('输入页数有误!') } }, currentChange: function (res) { this.requestParams.pageNum = res this.getArticalData(this.requestParams) }, //首页 scrollToTop() { window.scrollTo({ top: 0, behavior: "smooth" }); }, //公共弹框 submitForm(formName) { _this = this this.$refs[formName].validate((valid) => { if (valid) { console.log(_this.ruleForm) let param = JSON.stringify(_this.ruleForm) jQuery.ajax({ type: 'POST', // dataType: 'json', contentType: 'application/json;charset=UTF-8', url: window.FQDN2 + 'siteReview', data: param }).done(function (res) { if (res.status === "SUCCESS") { _this.$message({ message: '提交成功', type: 'success' }); _this.centerDialogVisible = false _this.$refs[formName].resetFields(); //重置from校验 } }).fail(function (err) {}); } else { console.log('error submit!!'); return false; } }); }, resetForm(formName) { this.$refs[formName].resetFields(); this.centerDialogVisible = false }, // 排序 compare(property) { return function (a, b) { var value1 = a[property]; var value2 = b[property]; return value1 - value2; } }, // 获取路由参数 getQuery(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r != null) return decodeURI(r[2]); return null; }, //获得年月日时分秒 //传入日期//例:2020-10-27T14:36:23 timeFormatSeconds(time) { var d = time ? new Date(time) : new Date(); var year = d.getFullYear(); var month = d.getMonth() + 1; var day = d.getDate(); var hours = d.getHours(); var min = d.getMinutes(); var seconds = d.getSeconds(); if (month < 10) month = '0' + month; if (day < 10) day = '0' + day; if (hours < 0) hours = '0' + hours; if (min < 10) min = '0' + min; if (seconds < 10) seconds = '0' + seconds; return (year + '-' + month + '-' + day + ' ' + hours + ':' + min + ':' + seconds); } } });