//授权组件 var authllComponent = { template:`
搜索
导出
`, data(){ // 获取当前屏幕的分辨率 let screenW = window.screen.width; let screenH = window.innerHeight; console.log("screen width:",screenW); console.log("screen height:",screenH); return { tHeight:screenH-202, tableData: [], sid:'', iid:'', currentPage: 1, pagesize:50, recordTotal:0, } }, mounted() { var _this = this; var objs; axios.post('/deescloud/getAuthHisPos', { opuser:localStorage.getItem("online_user"), opuser_uuid:localStorage.getItem("uuid"), index: this.$data.currentPage, count: this.$data.pagesize }) .then(function (response) { console.log(response.data); objs = response.data.data; rcnt = response.data.total; _this.$data.tableData = objs; _this.$data.recordTotal = rcnt; }) .catch(function (error) { console.log(error); }); }, methods: { exportAuthPos(){ document.getElementById("bt_export").blur(); var _this = this; axios.post('deescloud/getAuthorizePosCsv',{ sid:_this.$data.sid, iid:_this.$data.iid, }) .then(function (response) { console.log(response.data); var fileid = response.data.fileId; var downUrl = 'file/'+fileid; downloadUrl("仪器经纬度使用统计.xlsx",downUrl); }) .catch(function (error) { console.log(error); }); }, getAuthHisPos(){ document.getElementById("bt_search").blur(); this.$data.currentPage=1; var _this = this; var objs; axios.post('/deescloud/getAuthHisPos', { opuser:localStorage.getItem("online_user"), opuser_uuid:localStorage.getItem("uuid"), sid:_this.$data.sid, iid:_this.$data.iid, index: this.$data.currentPage, count: this.$data.pagesize }) .then(function (response) { console.log(response.data); objs = response.data.data; rcnt = response.data.total; _this.$data.tableData = objs; _this.$data.recordTotal = rcnt; }) .catch(function (error) { console.log(error); }); }, handleSizeChange(val) { this.$data.pagesize = val; var _this = this; var objs; axios.post('/deescloud/getAuthHisPos', { opuser:localStorage.getItem("online_user"), opuser_uuid:localStorage.getItem("uuid"), sid:_this.$data.sid, iid:_this.$data.iid, index: this.$data.currentPage, count: this.$data.pagesize }) .then(function (response) { console.log(response.data); objs = response.data.data; rcnt = response.data.total; _this.$data.tableData = objs; _this.$data.recordTotal = rcnt; }) .catch(function (error) { console.log(error); }); }, handleCurrentChange(val) { this.$data.currentPage = val; var _this = this; var objs; axios.post('/deescloud/getAuthHisPos', { opuser:localStorage.getItem("online_user"), opuser_uuid:localStorage.getItem("uuid"), sid:_this.$data.sid, iid:_this.$data.iid, index: this.$data.currentPage, count: this.$data.pagesize }) .then(function (response) { console.log(response.data); objs = response.data.data; rcnt = response.data.total; _this.$data.tableData = objs; _this.$data.recordTotal = rcnt; }) .catch(function (error) { console.log(error); }); }, flexColumnWidth(str, tableData, flag = 'max') { // str为该列的字段名(传字符串);tableData为该表格的数据源(传变量); // flag为可选值,可不传该参数,传参时可选'max'或'equal',默认为'max' // flag为'max'则设置列宽适配该列中最长的内容,flag为'equal'则设置列宽适配该列中第一行内容的长度。 let maxContext = new Array(); str = str + '' let columnContent = '' if (!tableData || !tableData.length || tableData.length === 0 || tableData === undefined) { return '120px' } if (!str || !str.length || str.length === 0 || str === undefined) { return '120px' } if (flag === 'equal') { // 获取该列中第一个不为空的数据(内容) for (let i = 0; i < tableData.length; i++) { if (tableData[i][str].length > 0) { // console.log('该列数据[0]:', tableData[0][str]) columnContent = tableData[i][str] break } } } else { // 获取该列中最长的数据(内容) let index = 0 for (let i = 0; i < tableData.length; i++) { if (tableData[i][str] === null) { return } const now_temp = tableData[i][str] + '' const max_temp = tableData[index][str] + '' if (now_temp.length >= max_temp.length) { index = i } } columnContent = tableData[index][str] maxContext.push(columnContent); } // console.log('该列数据[i]:', columnContent) // 以下分配的单位长度可根据实际需求进行调整 //console.log(columnContent); let max_flex_width = 0 for (let i = 0; i < maxContext.length; i++) { let flexWidth = 0; for (const char of maxContext[i]) { if ((char >= 'A' && char <= 'Z') || (char >= 'a' && char <= 'z')) { // 如果是英文字符,为字符分配8个单位宽度 flexWidth += 8 } else if (char >= '\u4e00' && char <= '\u9fa5') { // 如果是中文字符,为字符分配15个单位宽度 flexWidth += 15 } else { // 其他种类字符,为字符分配8个单位宽度 flexWidth += 8 } } if (flexWidth>max_flex_width) { max_flex_width = flexWidth; console.log(maxContext[i]); } } if (max_flex_width < 120) { // 设置最小宽度 max_flex_width = 120 } if (max_flex_width > 300) { // 设置最大宽度 max_flex_width = 300 } //flexWidth = flexWidth;//20-padding console.log("max_flex_width:",max_flex_width); return max_flex_width + 'px' }, } }