123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484 |
- // 存储当前用户的权限
- let permsSet = JSON.parse(sessionStorage.getItem("permsSet"));
- //jqGrid的配置信息
- if ($.jgrid) {
- $.jgrid.defaults.width = 1000;
- $.jgrid.defaults.responsive = true;
- $.jgrid.defaults.styleUI = 'Bootstrap';
- }
- $.ajaxSetup({
- dataType: "json",
- cache: false
- });
- //iframe自适应
- $(window).on('resize', function () {
- var $content = $('#mainApp');
- $content.height($(this).height());
- $content.find('iframe').each(function () {
- $(this).height($content.height() - 150);
- });
- var $rrapp = $('#rrapp').parent();
- $rrapp.height($(this).height());
- $(this).height($content.height());
- }).resize();
- //重写alert
- window.alert = function (msg, callback) {
- // parent.layer.alert 弹出在iframe外的页面。
- layer.alert(msg, function (index) {
- layer.close(index);
- if (typeof(callback) === "function") {
- callback("ok");
- }
- });
- };
- //重写confirm式样框
- window.confirm = function (msg, callback) {
- layer.confirm(msg, {
- skin: 'layui-layer-molv', btn: ['确定', '取消']
- },
- function () {//确定事件
- if (typeof(callback) === "function") {
- callback("ok");
- }
- });
- };
- /**
- *
- * @param options
- */
- window.openWindow = function (options) {
- let globalParams = {
- skin: 'layui-layer-molv',//皮肤
- title: '标题',//标题
- type: 1,//打开窗口的类型 1:html里的div内容 2:iframe方式,页面的路径
- closeBtn: 1, //关闭按钮的形状 0、1
- anim: -1,
- isOutAnim: false,
- shadeClose: false,
- area: ['90%', '90%'],
- content: '',
- btn: false, //按钮
- top: false //窗口弹出是否在iframe上层
- };
- globalParams = $.extend(globalParams, options);
- if (globalParams.top) {
- parent.layer.open(globalParams);
- } else {
- layer.open(globalParams);
- }
- };
- //获取选中的数据
- function getSelectedRowData() {
- var id = getSelectedRow();
- return $("#jqGrid").jqGrid('getRowData', id);
- }
- //选择一条记录
- function getSelectedRow() {
- var grid = $("#jqGrid");
- var rowKey = grid.getGridParam("selrow");
- if (!rowKey) {
- iview.Message.error("请选择一条记录");
- return;
- }
- var selectedIDs = grid.getGridParam("selarrrow");
- if (selectedIDs.length > 1) {
- iview.Message.error("只能选择一条记录");
- return;
- }
- return selectedIDs[0];
- };
- //选择多条记录
- function getSelectedRows() {
- var grid = $("#jqGrid");
- var rowKey = grid.getGridParam("selrow");
- if (!rowKey) {
- iview.Message.error("请选择一条记录");
- return;
- }
- return grid.getGridParam("selarrrow");
- };
- /**
- * 预览图片
- * @param url
- */
- function eyeImage(url) {
- if (!url) {
- iview.Message.error('请先上传图片');
- return;
- }
- layer.photos({
- photos: {
- "title": "预览", //相册标题
- "start": 0, //初始显示的图片序号,默认0
- "data": [ //相册包含的图片,数组格式
- {
- "src": url //原图地址
- }
- ]
- }, anim: 5 //0-6的选择,指定弹出图片动画类型,默认随机
- });
- };
- function eyeVideo(url) {
- if (!url) {
- iview.Message.error('请先上传视频');
- return;
- }
- var loadstr='<video width="100%" height="100%" controls="controls" autobuffer="autobuffer" ' +
- 'autoplay="autoplay" loop="loop" style="position:fixed!important;top:0;left:0;"><source src="'+url+'" type="video/mp4"></source></video>';
- layer.open({
- type:1,
- title: "预览",
- area: ['730px', '460px'],
- shade: 0,
- closeBtn: 1,
- content: loadstr,
- });
- };
- /**
- * 预览图片
- * @param data
- */
- function eyeImages(data) {
- layer.photos({
- photos: {
- "title": "预览", //相册标题
- "start": 0, //初始显示的图片序号,默认0
- "data": data
- }, anim: 5 //0-6的选择,指定弹出图片动画类型,默认随机
- });
- };
- /**
- * 重置验证
- * @param vue vue对象
- * @param name
- */
- function handleResetForm(vue, name) {
- vue.$refs[name].resetFields();
- };
- /**
- * 表单验证
- * @param vue vue对象
- * @param name 验证规则
- * @param callback 验证通过回调函数
- */
- function handleSubmitValidate(vue, name, callback) {
- vue.$refs[name].validate(function (valid) {
- if (valid) {
- callback();
- } else {
- iview.Message.error('请填写完整信息!');
- return false;
- }
- })
- };
- /**
- * 翻译日期
- * @param date
- * @param fmt
- * @returns {*}
- */
- function transDate(date, fmt) {
- if (!fmt) {
- fmt = 'yyyy-MM-dd';
- }
- if (date) {
- if (typeof date == 'number') {
- return new Date(date).dateFormat(fmt);
- }
- if (date instanceof Date) {
- return date.dateFormat(fmt);
- } else {
- try {
- return new Date(date.replace('-', '/').replace('-', '/')).dateFormat(fmt);
- } catch (e) {
- return '-';
- }
- }
- } else {
- return '-';
- }
- };
- /**
- * 翻译图片
- * @param url
- * @returns {*}
- */
- function transImg(url) {
- if (url) {
- return '<img width="50px" height="50px" src="' + url + '">';
- } else {
- return '-';
- }
- };
- function transImgBy100(url) {
- if (url) {
- return '<img width="100px" height="100px" src="' + url + '">';
- } else {
- return '-';
- }
- };
- function transImg30(url) {
- if (url) {
- return '<img width="40px" height="40px" src="' + url + '">';
- } else {
- return '-';
- }
- };
- /**
- * 翻译性别
- * @param gender
- * @returns {*}
- */
- function transGender(gender) {
- if (gender == 1) {
- return '男';
- }
- if (gender == 2) {
- return '女';
- }
- return '未知';
- };
- function transIsNot(value) {
- if (value == 1) {
- return '<span class="label label-success">是</span>';
- }
- return '<span class="label label-danger">否</span>';
- };
- function transStatus(value) {
- if (value == 1) {
- return '<span class="label label-success">有效</span>';
- }
- return '<span class="label label-danger">无效</span>';
- };
- function toUrl(href) {
- window.location.href = href;
- }
- function dialogLoading(flag) {
- if (flag) {
- top.layer.load(0, {
- shade: [0.5, '#fff'],
- time: 10000,
- content: '处理中...'
- });
- } else {
- top.layer.closeAll('loading');
- }
- }
- /**
- * 用JS获取地址栏参数的方法
- * 使用示例 location.href = http://localhost:8080/index.html?id=123
- * getQueryString('id') --> 123;
- * @param name
- * @returns {null}
- * @constructor
- */
- function getQueryString(name) {
- var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
- var r = window.location.search.substr(1).match(reg);
- if (r != null) {
- return unescape(r[2]);
- }
- return null;
- }
- /**
- * 主要功能:导出功能公共方法
- *
- * @param formId 表单ID,带'#'号,如'#formId'
- * @param url 请求后台地址
- * @param extraObj 往后台请求额外参数,对象格式,如:{'aaa': 111}
- */
- function exportFile(formId, url, extraObj) {
- var form = $('<form>'); //定义一个form表单
- form.attr('style', 'display: none');
- form.attr('target', '');
- form.attr('method', 'post');
- form.attr('action', url);
- var json = getJson(formId);
- if (typeof extraObj != 'undefined') {
- json = $.extend(json, extraObj);
- }
- $('body').append(form);//将表单放置在web中
- for (var i in json) {
- var input = $('<input>');
- input.attr('type', 'hidden');
- input.attr('name', i);
- input.attr('value', json[i]);
- form.append(input);
- }
- form.submit();//表单提交
- }
- /**
- * 将form转化为json
- * @param form 传入 form表单的dom $("#baseFm")
- * @returns {___anonymous49_50} 序列化的键值对 {key:value,key2:value2,....}
- */
- function getJson(form) {
- var o = {};
- var $form = $(form).find('input,textarea,select');
- $.each($form, function (i, item) {
- var $this = $(item);
- if ($this.attr("type") == 'radio') {
- o[$this.attr("name")] = $("input[name='" + $this.attr("name") + "']:checked").val();
- return true;
- }
- o[$this.attr("name")] = $this.val();
- })
- return o;
- }
- /**
- *
- Ajax.request({
- url: '', //访问路径
- dataType: 'json', //访问类型 'json','html'等
- params: getJson(form),
- resultMsg: true, false, //是否需要提示信息
- type: 'GET',//,'get','post'
- beforeSubmit: function (data) {},//提交前处理
- successCallback: function (data) {} //提交后处理
- });
- */
- Ajax = function () {
- //var opt = { type:'GET',dataType:'json',resultMsg:true };
- function request(opt) {
- //添加遮罩层
- dialogLoading(true);
- if (typeof opt.cache == 'undefined') {
- opt.cache = false;
- }
- if (typeof opt == 'undefined') {
- return;
- }
- //opt = $.extend(opt, p);
- if (typeof(opt.type) == 'undefined') {
- opt.type = 'GET'
- }
- if (typeof(opt.async) == 'undefined') {
- opt.async = false;
- }
- if (typeof(opt.dataType) == 'undefined') {
- opt.dataType = 'json'
- }
- if (typeof(opt.contentType) == 'undefined') {
- opt.contentType = 'application/x-www-form-urlencoded;chartset=UTF-8'
- }
- if (typeof(opt.params) == 'undefined' || opt.params == null) {
- opt.params = {};
- }
- opt.params.date = new Date();
- if (typeof(opt.beforeSubmit) != 'undefined') {
- var flag = opt.beforeSubmit(opt);
- if (!flag) {
- return;
- }
- }
- if (typeof(opt.resultMsg) == 'undefined') {
- opt.resultMsg = true;
- }
- $.ajax({
- async: opt.async,
- url: opt.url,
- dataType: opt.dataType,
- contentType: opt.contentType,
- data: opt.params,
- crossDomain: opt.crossDomain || false,
- type: opt.type,
- cache: opt.cache,
- success: function (data) {
- if (typeof data == 'string' && data.indexOf("exception") > 0 || typeof data.code != 'undefined' && data.code != '0') {
- var result = {code: null};
- if (typeof data == 'string') {
- result = eval('(' + data + ')')
- } else if (typeof data == 'object') {
- result = data;
- }
- if (opt.resultMsg && result.msg) {
- layer.alert(result.msg, {icon: 5});
- }
- return;
- }
- if (opt.resultMsg && data.msg) {
- layer.alert(data.msg, {icon: 6}, function () {
- if (typeof(opt.successCallback) != 'undefined') {
- opt.successCallback(data);
- }
- });
- return;
- }
- if (typeof(opt.successCallback) != 'undefined') {
- opt.successCallback(data);
- }
- //关闭遮罩
- dialogLoading(false);
- },
- error: function () {
- layer.alert("此页面发生未知异常,请联系管理员", {icon: 5});
- //关闭遮罩
- dialogLoading(false);
- }
- });
- }
- return {
- /**
- * Ajax调用request
- */
- request: request
- };
- }();
- /**
- * 判断用户是否用权限
- * @param perm
- * @returns {boolean}
- */
- function hasPermission(perm) {
- if (null == permsSet || permsSet.length < 1) {
- return false;
- }
- for (let i = 0; i < permsSet.length; i++) {
- if (permsSet[i] == perm) {
- return true;
- }
- }
- return false;
- }
|