/* ********** */
Root = window.top.Root;
RootRole = window.top.RootRole;
dataRoot = window.top.dataRoot;
dataRootFields = window.top.dataRootFields;
Server = window.top.Server;
Sortable = window.top.Sortable;
newDictionary = window.top.newDictionary
//显示大小基准
//分辨率基准
var screen_draft = [1920, 1080];
//var screen_draft = [1366, 768];
//可视范围基准
var wh_draft = [1366, 728];
//dataRoot_lxc = window.top.dataRoot_lxc;
//dataRoot_wxy = window.top.dataRoot_wxy;
var h_language = localStorage.getItem("userlanguage") || "zh";
/*********** default setting Element的默认设置 ************/
var ElTypes = {//可配置项
button: {//按键
ztypename: String,
zdefault: String,
small: String,
type: String,//default, primary, success
size: String,
icon: String,
nativeType: String,
loading: Boolean,
disabled: Boolean,
plain: Boolean,
autofocus: Boolean,
round: Boolean,
circle: Boolean,
},
};
//组件通用设置
var currencyDefault = {
ElButton: {
size: "mini",
//type: "primary",//default
},
ElInput: {
size: "mini",
},
ElCascader: {
size: "mini",
},
ElSelect: {
size: "mini",
},
ElDatePicker: {
size: "mini",
},
ElInputNumber: {
size: "mini",
},
};
//自定义模板设置
var ElementDefault = {
buttonmould_refresh: {
type: "success",
icon: "el-icon-refresh"
},
buttonmould1: {
size: "mini",
type: "success",
},
buttonmould2: {
size: "small",
type: "success",
},
buttonmould3: {
size: "medium",
type: "success",
}
};
function getElementDefault(el) {
var defaultObj = {};
if (typeof (el.ztypename) == 'undefined') {
var aa = ""
}
if (el.ztypename == 'ElDatePicker') {
var aa = ""
}
// 通用设置
if (typeof (el.ztypename) != 'undefined') {
let ztypename = el.ztypename;
if (currencyDefault[ztypename]) {
let currencyDefaultObj = currencyDefault[ztypename];
for (var key in currencyDefaultObj) {
el[key] = currencyDefaultObj[key];
}
}
}
//自定义模板设置
if (typeof (el.zdefault) != 'undefined') {
let zdefault = el.zdefault;
if (ElementDefault[zdefault]) {
let ElementDefaultObj = ElementDefault[zdefault];
for (var key in ElementDefaultObj) {
el[key] = ElementDefaultObj[key];
}
}
}
};
function getElementDefault222(el) {
var defaultObj = {};
// 通用设置
if (el.ztypename) {
let ztypename = el.ztypename;
if (currencyDefault[ztypename]) {
let currencyDefaultObj = currencyDefault[ztypename];
for (var key in currencyDefaultObj) {
defaultObj[key] = currencyDefaultObj[key];
}
}
}
//自定义模板设置
if (el.zdefault) {
let zdefault = el.zdefault;
if (ElementDefault[zdefault]) {
let ElementDefaultObj = ElementDefault[zdefault];
for (var key in ElementDefaultObj) {
defaultObj[key] = ElementDefaultObj[key];
}
}
}
//return defaultObj;
};
//********************************************************
//组件的格式化
formatter_json = window.top.formatter_json;
formatter_date = window.top.formatter_date;
formatter_money = window.top.formatter_money;
formatter_float = window.top.formatter_float;
formatter_percent = window.top.formatter_percent;
formatter_percent100 = window.top.formatter_percent100;
formatter_password = window.top.formatter_password;
formatter_split = window.top.formatter_split;
formatter_prefixorunit = window.top.formatter_prefixorunit;
formatter_earlyWarning = window.top.formatter_earlyWarning;
dateFormat = window.top.dateFormat;
function formatter_Splicing(row, column, cellValue, index) {
return row.sku = row.name + row.spec;
};
/*********** 文件上传-图片(未完成) ************/
// Vue.component("h-upload-img", {
// template: [
// ' {{index + 1}}、 '+
' '+
'
'+
'
'+
' '+
//普通标签//胶囊标签(有格式化的)
' '+
' '+
' '+
' '+
''+
' '+
'
' +
' {{tableFieldClick[tableField.field].suffixval.val}} '+
' '+
' '+
//无值、有默认值
' '+
//有点击
' '+
' {{tableFieldClick[tableField.field].defaultval.val}} '+
' '+
//无点击
' {{tableFieldClick[tableField.field].defaultval.val}} '+
' '+
' '+
//不是编辑的
' '+
'
' +
' {{tableFieldClick[tableField.field].suffixval.val}} '+
' '+
//图表-进度条
' '+
' '+
'
'+
'
'+
' '+
' '+
' '+
' '+
' '+
//' '+
' '+
' '+
' '+
' '+
' '+
' '+
' '+
' '+
//表单字段显示
' '+
''+
' '+
' '+
''+
' '+
'
' +
' {{tableFieldClick[tableField.field].suffixval.val}} '+
' '+
//图表-进度条
'
'+
' | '+
''+
' '+
' '+
'{{formDataFace[fieldObj.isstamp]}} '+
' | '+
/* 前缀 */
''+ '{{fieldObj.prefix}}'+ ' | '+ //正常数据 ''+
//单选框含其它类型的输入框
' '+
'
{{o}} {{o.value}} {{o.name}} '+
''+
' '+
' '+
' '+
//复选框(多项,每项选中后会有后续数据需要填写)
' '+
'
'+
' '+
//下拉选择器
''+
' '+
' '+
' | '+
/* 弹出popup是否可编辑 */
' '+
' '+
//''+ //' | '+ /* 后缀 */ ''+
' '+
'{{fieldObj.suffix}}'+
' '+
' | '+
''+
' '+
'{{fieldObj.suffix}}'+
' '+
' | '+
/* 说明(isvalexplain_br:是否在字段下面显示) */
''+ '{{fieldObj.appendix}}'+ ' | '+ /* ''+
' | '+ */
// ''+
// ' | '+
// (tableFieldClick[fieldObj.field] && tableFieldClick[fieldObj.field].popup && tableFieldClick[fieldObj.field].popup.onEmpty)
// ''+ ' | '+
// ' | '+
' '+
''+
' | '+
''+
' | '+
//附件上传
''+
' '+
''+
//只有存在数据时显示此按键(查看)
// ''+
// ' | '+
''+
//多附件上传
''+
' '+
''+
''+
''+
''+
//存在数据且不只读时显示此按键
''+
' | '+
''+
''+
// ' '+ // ''+ // ' | '+
//对比
''+
' | '+
//样例
''+
' '+ ' | '+
'
'+
' '+
' '+
// ' '+
/* 说明 */
'{{fieldObj.appendix}}'+
' | '+
'
' + '' + ' | ' + '' +
'
'+
' ',
props: {
formAttr: Object,
tableFields: Array,
formData: Object,
tableFieldClick: {//字段对应的点击事件
type: Object,
default: function(){
return {};
}
},
identificationfield: {//属性数据标识字段
type: String,
default: "field"
},
orderlabelfield: {//
type: String,
default: "name"
},
orderisselect: {//显示和隐藏的字段及对应值
type: Object,
default: function(){
return {
field: "isshow",
show: "T",
hide: "F"
};
}
},
isiconquery: {//首行是否存在图标
type: Boolean,
default: true
},
isdraggableorder: {//是否允许编辑字段顺序
type: Boolean,
default: false
},
isReduce: {//是否允许展开
type: Boolean,
default: false
},
isFormOpen: {//是否展开
type: Boolean,
default: true
},
isbuttonquery: {
type: Boolean,
default: true
},
disabled: {
type: Boolean,
default: false
},
buttonloading: {//按键的转圈圈
type: Boolean,
default: false
},
width: {
type: String,
default: "100%"
},
"formlanguage": {//表格语言
type: String,
default: "zh"
},
"formButton": {//筛选表单的功能按键
type: Object,
default: function(){
return {
query: true,//查询
empty: true,//重置
add: false,//添加
import: false,//导入
export: false,//导出
}
}
},
},
data() {
return {
isRefresh: true,
tableFieldsFormat: [],
formFieldsObj: {},
z_isformOpen: true,//是否展开
formlanguage_map: {
zh: {
query: "查询",
empty: "重置",
add: "新增",
import: "导入",
export: "导出",
sendGSP: "同步至GSP",
select: "请选择",
begin: "开始日期",
end: "结束日期",
to: "至"
},
en: {
query: "Search",
empty: "Clean",
add: "Add",
import: "Import",
export: "Export",
sendGSP: "SendGSP",
select: "Select",
begin: "begin",
end: "end",
to: "to"
},
},
showTableFields: [],
}
},
computed: {
tableFields2() {
if(this.formAttr && this.tableFields.length > 0) {
this.formLayout();
}
}
},
watch: {
tableFields() {
if(this.formAttr && this.tableFields.length > 0) {
this.tableFields.map(e=>{
if (e.inputtypefilter && !e.type) {
e.type = e.inputtypefilter.toLowerCase();
}
else if (!e.type) {
e.type = "input";
}
//设置下拉选项的(根据字典数据设置)
if (e.type == "select" || e.type == "cascader") {
if (e.optionsgroup) {
var props_ = {value: "code", label: "value"};
//:options="fieldObj.options" :props="fieldObj.props"
//根据optionsname获取公用的对应关系,从字典中获取,字典数据从数据库获取
var list_ = newDictionary.getList(e.optionsgroup);
e.props = clone(props_);
e.options = clone(list_);
}
else if(!e.options) {
e.options = []
}
}
//国际化设置,目前仅支持中/英
if (h_language && h_language=="en" && e.labelenglish) {
if (!e.labelchinese) {
e.labelchinese = clone(e.name);
}
e.name = clone(e.labelenglish);
}
else {
if (e.labelchinese) {
e.name = clone(e.labelchinese);
}
}
});
this.formLayout();
}
}
},
mounted() {
this.z_isformOpen = this.isFormOpen;
if(this.formAttr && this.tableFields && this.tableFields.length > 0) {
this.formLayout();
}
},
methods: {
saveOrder(v) {
// var obj = {
// select_datalist: select_datalist_,
// data_list: this.data_list
// }
this.$emit('order-fields', v);
},
formLayout() {
if (this.isReduce) {
this.doFormOpenReduce();
}
else {
var tableFields_open_ = clone(this.tableFields);
this.doFormLayout(tableFields_open_);
}
},
formOpenReduce() {
this.z_isformOpen = !this.z_isformOpen;
this.doFormOpenReduce();
},
doFormOpenReduce() {
var me = this;
if (this.z_isformOpen) {//展开
//获取全部字段
var tableFields_open_ = clone(this.tableFields);
//表单布局设置
this.doFormLayout(tableFields_open_, function() {
//如果有表格则表格高度设置
me.$emit("on-formlayout-after");
});
}
else {//收起
//获取收起后字段
var tableFields_open_ = [];
this.tableFields.map(t=>{
if (t.isopenshow) {
tableFields_open_.push(t);
}
});
if (tableFields_open_.length == 0 && this.tableFields.length > 0) {
tableFields_open_.push(this.tableFields[0]);
}
//表单布局设置
this.doFormLayout(tableFields_open_, function() {
//如果有表格则表格高度设置
me.$emit("on-formlayout-after");
});
}
},
doFormLayout(tableFields, callback) {
var me = this;
//表单布局设置
let columnnumber_ = this.formAttr.columnnumber;
let tableFieldsFormat_ = [];
let rowObj_ = {};
let children_ = [];
let i = 0;
let field_i = 0;
let tableFields_ = clone(tableFields);
let button_ = {isshow: "T", field: "id_filter_button_"};
if(tableFields_) {
tableFields_.push(button_);
}
me.showTableFields = [];
for (var r=0; r' +//formAttr.columnnumber
//最后的按键栏
//'' +//
//
//' '+
//' '+ //
' '+
' '+
//'' +
'',
' '].join(""),
props: {
treeData: Array,
isCheckbox: {//是否显示复选框
type: Boolean,
default: false
},
isfilter: {//是否可查询
type: Boolean,
default: false
},
isReadonly: {//是否只读
type: Boolean,
default: false
},
defaultExpandAll: {//是否全部展开
type: Boolean,
default: true
},
// accordion: {//是否手风琴
// type: Boolean,
// default: false
// },
nodekey: {//
type: String,
default: "id"
},
treeTxtFormatter: {//
type: String,
default: "#{name}-{name}%"
},
defaultExpandedKeys: {//默认展开节点数组
type: Array,
default: function(){
return [];
}
},
maxlevel: {//最大层级,可用来控制添加按键的显示
type: Number,
default: 0
},
currentnodekey: "",//默认选中节点
editTreeButton: {//编辑界面行按键(编辑,删除)
type: Object,
default: function(){
return {
add: {
isshow:true,
txt:"编辑"
},
edit: {
isshow:true,
txt:"编辑"
},
del: {
isshow:true,
txt:"删除"
},
}
}
},
},
data() {
return {
indent: 24,
expandonclicknode: true,
filterText: "",//关键字查询
treeTxtList: [
{value: "", type: "value/field"}
]
}
},
watch: {
filterText(val) {
this.$refs.hierTree.filter(val);
}
},
mounted() {
this.nodeTxtFormatter();
},
methods: {
filterNode(value, data) {
if (!value) return true;
return data.name.indexOf(value) !== -1;
},
nodeTxtFormatter() {
var treeTxtList_ = [];
var treeTxtFormatter_ = [];
treeTxtFormatter_ = this.treeTxtFormatter.split("{");
treeTxtFormatter_.map(f=>{
if (f.indexOf('}') != -1) {
var fa_ = f.split("}");
if (fa_[0]) {
var t_ = {};
t_.type = "field"
t_.value = fa_[0];
treeTxtList_.push(t_);
}
if (fa_[1]) {
var t_ = {};
t_.type = "value"
t_.value = fa_[1];
treeTxtList_.push(t_);
}
}
else if (f) {
var t_ = {}
t_.type = "value"
t_.value = f;
treeTxtList_.push(t_);
}
})
this.treeTxtList = treeTxtList_;
},
nodeClick(data, node, el) {
var obj = {
data: data,
node: node,
el: el
}
this.$emit('node-click', obj);
},
addNode(data, node) {
var obj = {
data: data,
node: node,
}
this.$emit('add-node', obj);
},
editNode(data, node) {
var obj = {
data: data,
node: node,
}
this.$emit('edit-node', obj);
},
delNode(data, node) {
var obj = {
data: data,
node: node,
}
this.$emit('del-node', obj);
},
node_isShow(data, isShow) {
if (this.isReadonly || data.disabled) {//只读
return
}
if (this.$refs[data.id]) {
this.$refs[data.id].style.display = isShow ? '' : 'none';
}
},
setCheckedKeys(ids) {//设置选中
this.$refs.hierTree.setCheckedKeys(ids);
},
resetChecked() {
this.$refs.hierTree.setCheckedKeys([]);
}
}
});
/****************** 第三方组件 *********************/
/*********************拖拽************************/
// 全局注册组件
Vue.component('vuedraggable', window.vuedraggable);
//**************通用事件*******************
function getSetting(pageName) {
var roleCode = Root.role.code;
var result = { page: {}, buttons: {} };
if (!setting) {
return result;
}
var pageSetting = setting[pageName];
if (!pageSetting) {
return result;
}
result.page = pageSetting.page;
var btnOptions = pageSetting.buttons;
var buttons = result.buttons;
for (var i = 0; i < btnOptions.length; i++) {
var option = btnOptions[i];
if (option.isVisible && !arrayContains(option.isVisible, roleCode)) {
continue;
}
var button = buttons[option.code] = {};
button.disabled = !option.isActive || !arrayContains(option.isActive, roleCode);
}
return result;
}
//判断数组中是否存在指定值
function arrayContains(array, value) {
if (!array || !value) {
return false;
}
var bo_ = false;
for (var i = 0; i < array.length; i++) {
value.map(e=>{
if (e == array[i]) {
bo_ = true;
}
});
}
return bo_;
}
///////////////
// 兼容所有浏览器关闭页面方法
function ClosePage() {
if (navigator.userAgent.indexOf("MSIE") > 0) {
if (navigator.userAgent.indexOf("MSIE 6.0") > 0) {
window.opener = null;
window.close();
}
else {
window.open('', '_top');
window.top.close();
}
}
else if (navigator.userAgent.indexOf("Firefox") > 0) {
window.location.href = 'about:blank '; //火狐默认状态非window.open的页面window.close是无效的
//window.history.go(-2);
}
else {
window.opener = null;
window.open('', '_self', '');
window.close();
}
};
//指定数组,根据指定条件筛选,返回符合条件的数组
function h_query(datalist, filterobj) {
let result = [];
result = datalist.filter(item => {
let bo = true;
for(var k in filterobj) {
let k_val = filterobj[k];
let bo_ = item[k].toLowerCase().indexOf(k_val.toLowerCase()) > -1;
if (!bo_) {
return false;
}
}
return bo;
});
return result;
};
//拼接 GetUrl
function SplicingGetUrlToStr(url_, param) {
var urlstr = "";
if (url_.indexOf("?") != -1 ) {
for (p in param) {
url_ += "&" + p + "=" + encodeURI(param[p]);
}
}
else {
var url_param = "";
for (p in param) {
if (!url_param) {
url_param = p + "=" + encodeURI(param[p]);
}
else {
url_param += "&" + p + "=" + encodeURI(param[p]);
}
}
url_ += "?" + url_param;
}
urlstr = url_;
return urlstr;
};
//表格高度计算 By pagesize
function settableHeight(table_el, pagesize) {
let tableHeight2_ = 0;
let header_height = table_el.getElementsByClassName('el-table__header-wrapper')[0].offsetHeight;
var row_height_ = 40;
// if (table_el.getElementsByClassName('el-table__row')[0] && table_el.getElementsByClassName('el-table__row')[0].offsetHeight) {
// row_height_ = table_el.getElementsByClassName('el-table__row')[0].offsetHeight + 0.5;
// }
let row_height = row_height_;
let body_width = table_el.getElementsByClassName('el-table__body')[0].offsetWidth;
let body_wrapper_width = table_el.getElementsByClassName('el-table__body-wrapper')[0].offsetWidth;
tableHeight2_ = header_height + (row_height * pagesize) + pagesize/4.5;
if ((body_width - body_wrapper_width)>5){
tableHeight2_ += 20;
}
return tableHeight2_;
};
//表格高度计算 By 页面
function setpageHeight(table_el, array_el, tableCnt, minCnt) {
var tableHeight_ = 0;
let clientHeight = document.documentElement.clientHeight;
let title_height = document.getElementsByClassName('topbar').length ? document.getElementsByClassName('topbar')[0].offsetHeight + document.getElementsByClassName('topbar')[0].offsetTop : 0;
let tabs_height = document.getElementsByClassName('el-tabs__header').length ? document.getElementsByClassName('el-tabs__header')[0].offsetHeight + 2 : 0;
let footer_height = document.getElementsByClassName('el-dialog__footer').length ? document.getElementsByClassName('el-dialog__footer')[0].offsetHeight : 0;
let h_table_select = document.getElementsByClassName('h_table_select').length ? document.getElementsByClassName('h_table_select')[0].offsetHeight : 0;
let h_table_title = document.getElementsByClassName('h_table_title').length ? document.getElementsByClassName('h_table_title')[0].offsetHeight : 0;
let header_height = document.getElementsByClassName('el-dialog__header').length ? document.getElementsByClassName('el-dialog__header')[0].offsetHeight : 0;
let pagination_height = 0;
if (table_el.getElementsByClassName('z_table_pagination').length) {
pagination_height = table_el.getElementsByClassName('z_table_pagination')[0].offsetHeight;
}
tableHeight_ = clientHeight - title_height - tabs_height - pagination_height - footer_height - h_table_select - h_table_title - header_height - 1 - 10;
if(array_el && array_el.length) {
array_el.map(el=>{
// let el_height = el.offsetHeight;
let el_height = el.clientHeight;
tableHeight_ -= el_height;
})
}
// if (!minCnt) {
// minCnt = 5
// }
// if (!tableCnt || tableCnt < minCnt) {
// tableCnt = minCnt
// }
// var row_height_ = 40;
// var tbody_height_ = 0;
// var tbody_cnt_ = 0;
// if (table_el.getElementsByClassName('el-table__row')[0] && table_el.getElementsByClassName('el-table__row')[0].offsetHeight) {
// row_height_ = table_el.getElementsByClassName('el-table__row')[0].offsetHeight + 0.5;
// if(table_el.getElementsByClassName('el-table__row')[0].parentElement && table_el.getElementsByClassName('el-table__row')[0].parentElement.offsetHeight) {
// tbody_height_ = table_el.getElementsByClassName('el-table__row')[0].parentElement.offsetHeight;
// tbody_cnt_ = table_el.getElementsByClassName('el-table__row')[0].parentElement.childElementCount;
// }
// }
// let row_height = row_height_;
// if (tbody_cnt_ > 0 && tbody_height_ > tableHeight_ && (tableHeight_ < (row_height * minCnt))) {
// let header_height = table_el.getElementsByClassName('el-table__header-wrapper')[0].offsetHeight;
// let body_width = table_el.getElementsByClassName('el-table__body')[0].offsetWidth;
// let body_wrapper_width = table_el.getElementsByClassName('el-table__body-wrapper')[0].offsetWidth;
// tableHeight_ = header_height +tbody_height_ + row_height/4.5;
// if ((body_width - body_wrapper_width) > 5 ){
// tableHeight_ += 20;
// }
// }
// else if (tableHeight_ < (row_height * minCnt)) {
// let header_height = table_el.getElementsByClassName('el-table__header-wrapper')[0].offsetHeight;
// let body_width = table_el.getElementsByClassName('el-table__body')[0].offsetWidth;
// let body_wrapper_width = table_el.getElementsByClassName('el-table__body-wrapper')[0].offsetWidth;
// tableHeight_ = header_height + (row_height * tableCnt) + row_height/4.5;
// if ((body_width - body_wrapper_width) > 5 ){
// tableHeight_ += 20;
// }
// }
return tableHeight_;
};
//弹窗表格高度计算 By 页面
function setpopuppageHeight(table_el, array_el, tableCnt, minCnt) {
var tableHeight_ = 0;
let clientHeight = document.documentElement.clientHeight;
let title_height = document.getElementsByClassName('topbar').length ? document.getElementsByClassName('topbar')[0].offsetHeight + document.getElementsByClassName('topbar')[0].offsetTop : 0;
let tabs_height = document.getElementsByClassName('el-tabs__header').length ? document.getElementsByClassName('el-tabs__header')[0].offsetHeight + 2 : 0;
let footer_height = document.getElementsByClassName('el-dialog__footer').length ? document.getElementsByClassName('el-dialog__footer')[0].offsetHeight : 0;
let h_table_select = document.getElementsByClassName('h_table_select').length ? document.getElementsByClassName('h_table_select')[0].offsetHeight : 0;
let h_table_title = document.getElementsByClassName('h_table_title').length ? document.getElementsByClassName('h_table_title')[0].offsetHeight : 0;
let header_height = document.getElementsByClassName('el-dialog__header').length ? document.getElementsByClassName('el-dialog__header')[0].offsetHeight : 0;
let filter_height = document.getElementsByClassName('h_form_filter').length ? document.getElementsByClassName('h_form_filter')[0].offsetHeight : 0;
// let topbar_height = document.getElementsByClassName('topbar').length ? document.getElementsByClassName('topbar')[0].offsetHeight : 0;
let pagination_height = 0;
if (table_el.getElementsByClassName('z_table_pagination').length) {
pagination_height = table_el.getElementsByClassName('z_table_pagination')[0].offsetHeight;
}
tableHeight_ = clientHeight - title_height - tabs_height - pagination_height - footer_height - h_table_select - h_table_title - header_height - filter_height - 10;
return tableHeight_;
};
//****************************
//日期
function createDate () {
var aDate = new Date();
var date_ = dateFormat(aDate,"yyyy-MM-dd");
return date_;
}
//时间
function createDatetime () {
var aDate = new Date();
var date_ = dateFormat(aDate,"yyyy-MM-dd hh:mm:ss");
return date_;
}
//年
function createYear () {
var aDate = new Date();
var date_ = dateFormat(aDate,"yyyy") * 1;
var month_ = dateFormat(aDate,"MM") * 1;
var year = "";
if (month_ > 9 ) {
year = date_ + 1
}
else {
year = date_
}
return year;
}
//季度
function createQuarter () {
var aDate = new Date();
var date_ = dateFormat(aDate,"MM") * 1;
var quarter = "";
if (date_ < 4) {
quarter = 2
}
else if (date_ < 7) {
quarter = 3
}
else if (date_ < 10) {
quarter = 4
}
else {
quarter = 1
}
return quarter;
}
//月份
function createMonth () {
var aDate = new Date();
var date_ = dateFormat(aDate,"MM") * 1;
return date_;
}
//根据分辨率和基准分辨率设置缩放
function bodyScale(el) {
var win_ratio = window.devicePixelRatio;
var screen_width = window.screen.width; //document.documentElement.clientWidth;//获取当前分辨率下的可是区域宽度
var screen_height = window.screen.height; //document.documentElement.clientHeight;//获取当前分辨率下的可是区域宽度
var scale_w = screen_width / win_ratio / screen_draft[0]; // 分母——设计稿的分辨率
var scale_h = screen_height / win_ratio / screen_draft[1]; // 分母——设计稿的分辨率
var win_width = document.documentElement.clientWidth;//获取当前分辨率下的可是区域宽度
var win_height = document.documentElement.clientHeight;//获取当前分辨率下的可是区域宽度
var win_w = win_width / win_ratio / wh_draft[0]; // 分母——设计稿的尺寸
var win_h = win_height / win_ratio / wh_draft[1]; // 分母——设计稿的尺寸
if (scale_w > 1 && scale_h > 1) {
el.style.transform = "scale(" + scale_w + "," + scale_h + ")";//放大缩小相应倍数
}
else {
el.style.width = win_width - 2 + "px";
el.style.height = win_height - 2 + "px";
}
//el.style.transform = "scale(" + scale_w * win_w + "," + scale_h * win_h + ")";//放大缩小相应倍数
//document.getElementById('sys_iframe').style.transform = "scale(" + scale_w + "," + scale_h + ")";//放大缩小相应倍数
}
//滚屏效果
const cubic = value => Math.pow(value, 3);
const easeInOutCubic = value => value < 0.5
? cubic(value * 2) / 2
: 1 - cubic((1 - value) * 2) / 2;
',
' ',
' |