Commit e1e9ebcd by 无尘

add vue-header

parent 4f2c48ed
{
"presets": [
["env", { "modules": false }],
"stage-3"
]
}
root = true
[*]
charset = utf-8
indent_style = space
indent_size = 2
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
.DS_Store
node_modules/
npm-debug.log
yarn-error.log
# Editor directories and files
.idea
*.suo
*.ntvs*
*.njsproj
*.sln
\ No newline at end of file
# vue-gic-header
#
<<<<<<< HEAD
> A Vue.js vue-gic-header Plugin
## Install
- 记得需要切换 公司源
- 换源: npm config set registry http://www.gicdev.com:7001/ 或者使用 nrm 切换
```shell
npm install @gic-test/vue-gic-header -S
```
## how to use
```
// main.js
import vueGicHeader from '@gic-test/vue-gic-header'
Vue.use(vueGicHeader)
// 使用页面
<vue-gic-header :projectName="projectName" :collapseFlag="collapseFlag" @collapseTag="collapseTag" @toRouterView="toRouterView"></vue-gic-header>
data() {
return {
// 可传参数
projectName: '', // 当前项目名
collapseFlag: false, // 折叠参数
// 路由菜单
// 修改由插件请求
}
}
methods: {
// 处理路由跳转
toRouterView(val) {
var that = this;
// 模拟检查数据
console.log(val);
//有两个参数
//{
// name:,
// path:
//}
that.$router.push({
path: val.path
})
},
// 折叠事件
collapseTag(val){
var that = this;
console.log(val);
}
},
```
>注意,需要 增加 el-popover 样式
```
.user-header-pop {
min-width: 95px;
}
.el-popover.user-header-pop {
min-width: 95px;
}
```
Command line instructions
Git global setup
git config --global user.name "无尘"
git config --global user.email "yueheqing@demogic.com"
Create a new repository
git clone http://115.159.76.241/vue-plugins/vue-gic-header.git
cd vue-gic-header
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
Existing folder
cd existing_folder
git init
git remote add origin http://115.159.76.241/vue-plugins/vue-gic-header.git
git add .
git commit -m "Initial commit"
git push -u origin master
Existing Git repository
cd existing_repo
git remote rename origin old-origin
git remote add origin http://115.159.76.241/vue-plugins/vue-gic-header.git
git push -u origin --all
git push -u origin --tags
```
\ No newline at end of file
!function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define("vue-gic-header",[],r):"object"==typeof exports?exports["vue-gic-header"]=r():e["vue-gic-header"]=r()}("undefined"!=typeof self?self:this,function(){return function(e){function r(o){if(t[o])return t[o].exports;var a=t[o]={i:o,l:!1,exports:{}};return e[o].call(a.exports,a,a.exports,r),a.l=!0,a.exports}var t={};return r.m=e,r.c=t,r.d=function(e,t,o){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:o})},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},r.p="./",r(r.s=3)}([function(e,r,t){"use strict";var o=t(13),a=t.n(o);r.a={name:"vue-gic-header",props:["menuRouter","collapseFlag","projectName"],data:function(){return{repProjectName:"gic-web",activeCode:"",pathName:"",showItem:"none",summaryName:"",origin:"",cliqueFlag:"",isCollapse:!1,menuHeadRouter:[],menuHead:[],userInfo:{realName:"",gender:"",clerkCode:"",phoneNumber:"",positionName:""},userFormVisible:!1,formLabelWidth:"100px",userInfoForm:{realName:"",gender:"",clerkCode:"",phoneNumber:"",positionName:""},userFormRules:{realName:[{required:!0,message:"请输入姓名",trigger:"blur"}],gender:[{required:!0,message:"请选择性别",trigger:"change"}],clerkCode:[{required:!0,message:"请输入员工代码",trigger:"blur"}],phoneNumber:[{required:!0,message:"请输入手机号",trigger:"blur"},{pattern:/^1[34578]\d{9}$/,message:"手机号码格式不正确"}],positionName:[{required:!0,message:"请输入职位",trigger:"blur"}]},passFormVisible:!1,passwordForm:{oldPassword:"",newPassword:"",confirmNewPassword:""},passFormRules:{oldPassword:[{required:!0,message:"请输入旧密码",trigger:"blur"}],newPassword:[{required:!0,message:"请输入新密码",trigger:"blur"}],confirmNewPassword:[{required:!0,message:"请输入确认密码",trigger:"blur"}]},baseUrl:"",routePathName:""}},beforeMount:function(){var e=this,r=window.location.origin;console.log("当前host:",r),"-1"!=r.indexOf("localhost")?e.baseUrl="http://gicdev.demogic.com":e.baseUrl=r},methods:{getLeftMenu:function(){var e=this,r={project:e.repProjectName,path:e.routePathName,requestProject:e.repProjectName};e.axios.post(e.baseUrl+"/api-auth/get-current-memu-data",a.a.stringify(r)).then(function(r){var t=r.data;if(0==t.errorCode)return t.result?void(e.activeCode=t.result.level2.menuCode):void console.log("resData.result: ",t.result);e.$message.error({duration:1e3,message:t.message})}).catch(function(r){console.log(r),e.$message.error({duration:1e3,message:r.message})})},showChild:function(){this.showItem="block"},hideChild:function(){this.showItem="none"},setNewData:function(e){var r=this,t=[],o=[];e.forEach(function(e,r){0==e.parentCode?t.push(e):o.push(e)}),t.forEach(function(e,r){e.children=[],o.forEach(function(r,t){r.parentCode==e.menuCode&&e.children.push(r)})}),console.log("处理后的菜单 list:",t,r.isCollapse),r.menuHeadRouter=t},handleCollapse:function(){var e=this;e.isCollapse=1!=e.isCollapse,e.$emit("collapseTag",e.isCollapse)},toUserInfo:function(){var e=this,r=JSON.parse(JSON.stringify(e.userInfo));e.userInfoForm.realName=r.realName,e.userInfoForm.gender=parseInt(r.gender),e.userInfoForm.clerkCode=r.clerkCode,e.userInfoForm.phoneNumber=r.phoneNumber,e.userInfoForm.positionName=r.positionName,e.userFormVisible=!0},modifyUserInfo:function(){var e=this,r={realName:e.userInfoForm.realName,gender:e.userInfoForm.gender,clerkCode:e.userInfoForm.clerkCode,phoneNumber:e.userInfoForm.phoneNumber,positionName:e.userInfoForm.positionName,requestProject:e.repProjectName};e.axios.post(e.baseUrl+"/api-auth/modify-user-info",a.a.stringify(r)).then(function(r){var t=r.data;if(0==t.errorCode)return e.userFormVisible=!1,void e.$message({message:"修改成功",type:"success"});e.$message.error({duration:1e3,message:t.message})}).catch(function(r){console.log(r),e.$message.error({duration:1e3,message:r.message})})},confirmModUserInfo:function(e){var r=this;r.$refs[e].validate(function(e){e&&r.modifyUserInfo()})},cancelModUserInfo:function(){this.userFormVisible=!1},toModifyInfo:function(){var e=this;e.passFormVisible=!0,e.passwordForm.newPassword="",e.passwordForm.oldPassword="",e.passwordForm.confirmNewPassword=""},modifyUserPassword:function(){var e=this,r={oldPassword:e.passwordForm.oldPassword,newPassword:e.passwordForm.newPassword,requestProject:e.repProjectName};return e.passwordForm.oldPassword.trim()&&e.passwordForm.newPassword.trim()&&e.passwordForm.confirmNewPassword.trim()?e.passwordForm.newPassword.trim()!=e.passwordForm.confirmNewPassword.trim()?(e.$message.error({duration:1e3,message:"两次密码输入不一致!"}),!1):void e.axios.post(e.baseUrl+"/api-auth/modify-password",a.a.stringify(r)).then(function(r){var t=r.data;if(0==t.errorCode)return e.passFormVisible=!1,void e.$message({message:"修改成功",type:"success"});e.$message.error({duration:1e3,message:t.message})}).catch(function(r){console.log(r),e.$message.error({duration:1e3,message:r.message})}):(e.$message.error({duration:1e3,message:"请输入密码"}),!1)},confirmModPass:function(e){var r=this;r.$refs[e].validate(function(e){e&&r.modifyUserPassword()})},cancelModPass:function(){this.passFormVisible=!1},userFormClose:function(){this.userFormVisible=!1},passFormClose:function(){this.passFormVisible=!1},toLoginOut:function(){var e=this;e.$confirm("确认退出吗?","提示",{type:"warning"}).then(function(){e.axios.post(e.baseUrl+"/api-auth/do-logout",{}).then(function(r){var t=r.data;if(0==t.errorCode)return e.$message({message:"退出成功",type:"success"}),void(window.location.href=window.location.origin+"/gic-web/#/");e.$message.error({duration:1e3,message:t.message})}).catch(function(r){console.log(r),e.$message.error({duration:1e3,message:r.message})})}).catch(function(){console.log(error),e.$message.error({duration:1e3,message:error.message})})},isClique:function(){var e=this,r={requestProject:e.repProjectName};e.axios.post(e.baseUrl+"/api-auth/is-relevance-clique",a.a.stringify(r)).then(function(r){var t=r.data;if(0==t.errorCode)return void(e.cliqueFlag=t.result);e.$message.error({duration:1e3,message:t.message})}).catch(function(r){console.log(r),e.$message.error({duration:1e3,message:r.message})})},toRouter:function(e,r,t){var o=this;o.showItem="none",o.activeCode=t;var a={path:"/"+e,name:r};o.$emit("toRouterView",a)},getUserInfo:function(){var e=this,r={requestProject:e.repProjectName};e.axios.post(e.baseUrl+"/api-auth/get-login-user-info",a.a.stringify(r)).then(function(r){var t=r.data;if(0==t.errorCode)return e.userInfo.realName=t.result.realName,e.userInfo.gender=t.result.clerkGender,e.userInfo.clerkCode=t.result.clerkCode,e.userInfo.phoneNumber=t.result.loginName,e.userInfo.positionName=t.result.positionName,void(document.title=t.result.enterpriseDTO.brandName||t.result.enterpriseDTO.enterpriseName);e.$message.error({duration:1e3,message:t.message})}).catch(function(r){console.log(r),e.$message.error({duration:1e3,message:r.message})})},getHeaderMenu:function(){var e=this,r={project:e.repProjectName,requestProject:e.repProjectName};e.axios.post(e.baseUrl+"/api-auth/login-clerk-menu",a.a.stringify(r)).then(function(r){var t=r.data;if(0==t.errorCode)return e.menuHeadRouter=t.result,console.log(e.menuHeadRouter),void e.getLeftMenu();e.$message.error({duration:1e3,message:t.message})}).catch(function(r){console.log(r),e.$message.error({duration:1e3,message:r.message})})},getMenu:function(){var e=this,r={requestProject:e.repProjectName};e.axios.post(e.baseUrl+"/api-auth/login-clerk-top-project",a.a.stringify(r)).then(function(r){var t=r.data;if(0==t.errorCode)return e.menuHead=t.result,void console.log(e.menuHead);e.$message.error({duration:1e3,message:t.message})}).catch(function(r){console.log(r),e.$message.error({duration:1e3,message:r.message})})}},watch:{$route:{handler:function(e,r){console.log("获取当前路由:",e);var t=this;t.summaryName=e.path,"-1"!=t.summaryName.indexOf("memberSummary")&&(t.activeCode="")},deep:!0},collapseFlag:function(e,r){this.isCollapse=e},userInfo:function(e,r){this.userInfo=e},projectName:function(e,r){this.repProjectName=e||"gic-web"}},mounted:function(){console.log("传递的参数对象:",this.collapseFlag);var e=this;e.summaryName=e.$route.path,e.routePathName=window.location.hash.split("/")[1],-1!=e.routePathName.indexOf("?")&&(e.routePathName=e.routePathName.split("?")[0]),-1!=e.routePathName.indexOf("/")&&(e.routePathName=e.routePathName.split("/")[0]),console.log("routePathname:",e.routePathName),e.repProjectName=e.projectName||"gic-web",e.pathName=e.repProjectName,e.isCollapse=e.collapseFlag,e.getUserInfo(),e.getHeaderMenu(),e.origin=window.location.origin,console.log("头部pathname:",e.pathName),e.getMenu()}}},function(e,r,t){"use strict";var o=Object.prototype.hasOwnProperty,a=function(){for(var e=[],r=0;r<256;++r)e.push("%"+((r<16?"0":"")+r.toString(16)).toUpperCase());return e}();r.arrayToObject=function(e,r){for(var t=r&&r.plainObjects?Object.create(null):{},o=0;o<e.length;++o)void 0!==e[o]&&(t[o]=e[o]);return t},r.merge=function(e,t,a){if(!t)return e;if("object"!=typeof t){if(Array.isArray(e))e.push(t);else{if("object"!=typeof e)return[e,t];(a.plainObjects||a.allowPrototypes||!o.call(Object.prototype,t))&&(e[t]=!0)}return e}if("object"!=typeof e)return[e].concat(t);var i=e;return Array.isArray(e)&&!Array.isArray(t)&&(i=r.arrayToObject(e,a)),Array.isArray(e)&&Array.isArray(t)?(t.forEach(function(t,i){o.call(e,i)?e[i]&&"object"==typeof e[i]?e[i]=r.merge(e[i],t,a):e.push(t):e[i]=t}),e):Object.keys(t).reduce(function(e,o){var i=t[o];return Object.prototype.hasOwnProperty.call(e,o)?e[o]=r.merge(e[o],i,a):e[o]=i,e},i)},r.decode=function(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch(r){return e}},r.encode=function(e){if(0===e.length)return e;for(var r="string"==typeof e?e:String(e),t="",o=0;o<r.length;++o){var i=r.charCodeAt(o);45===i||46===i||95===i||126===i||i>=48&&i<=57||i>=65&&i<=90||i>=97&&i<=122?t+=r.charAt(o):i<128?t+=a[i]:i<2048?t+=a[192|i>>6]+a[128|63&i]:i<55296||i>=57344?t+=a[224|i>>12]+a[128|i>>6&63]+a[128|63&i]:(o+=1,i=65536+((1023&i)<<10|1023&r.charCodeAt(o)),t+=a[240|i>>18]+a[128|i>>12&63]+a[128|i>>6&63]+a[128|63&i])}return t},r.compact=function(e,t){if("object"!=typeof e||null===e)return e;var o=t||[],a=o.indexOf(e);if(-1!==a)return o[a];if(o.push(e),Array.isArray(e)){for(var i=[],n=0;n<e.length;++n)e[n]&&"object"==typeof e[n]?i.push(r.compact(e[n],o)):void 0!==e[n]&&i.push(e[n]);return i}return Object.keys(e).forEach(function(t){e[t]=r.compact(e[t],o)}),e},r.isRegExp=function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},r.isBuffer=function(e){return null!==e&&void 0!==e&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))}},function(e,r,t){"use strict";var o=String.prototype.replace,a=/%20/g;e.exports={default:"RFC3986",formatters:{RFC1738:function(e){return o.call(e,a,"+")},RFC3986:function(e){return e}},RFC1738:"RFC1738",RFC3986:"RFC3986"}},function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var o=t(4),a={install:function(e,r){e.component(o.a.name,o.a)}};"undefined"!=typeof window&&window.Vue&&window.Vue.use(a),r.default=a},function(e,r,t){"use strict";function o(e){t(5)}var a=t(0),i=t(16),n=t(12),s=o,l=n(a.a,i.a,!1,s,"data-v-3dfbd73e",null);r.a=l.exports},function(e,r,t){var o=t(6);"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);t(10)("94888810",o,!0,{})},function(e,r,t){var o=t(7);r=e.exports=t(8)(!1),r.push([e.i,".navheader[data-v-3dfbd73e]{position:fixed;display:flex;top:0;left:0;width:100%;height:64px;line-height:64px;font-size:14px;background-color:#fff;padding:0;z-index:99;color:#fff}.navheader .fl[data-v-3dfbd73e]{float:left}.navheader .fr[data-v-3dfbd73e]{float:right}.navheader-logo[data-v-3dfbd73e]{flex:0 0 200px;width:200px;height:64px;float:left;text-align:center;background:url("+o(t(9))+') no-repeat 50% #04143a}.navheader-pic[data-v-3dfbd73e]{vertical-align:middle}.navheader-item[data-v-3dfbd73e]{flex:1;box-shadow:5px -1px 10px #ddd}.navheader .itemlink[data-v-3dfbd73e]{float:left;padding:0 20px;display:inline-block;height:62px;cursor:pointer;color:#606266}.navheader .itemlink[data-v-3dfbd73e]:hover{color:#409eff}.navheader .bottom[data-v-3dfbd73e]:hover{border-bottom:2px solid #409eff}.navheader .current-module.bottom[data-v-3dfbd73e]{color:#409eff;border-bottom:2px solid #409eff;font-weight:500}.navheader .moveleft[data-v-3dfbd73e]{margin-left:-136px;transition:all .3s ease;background-position:151px 10px}.navheader .moveright[data-v-3dfbd73e]{margin-left:0;transition:all .2s ease}.navheader .arrowico[data-v-3dfbd73e]{position:absolute;-webkit-transition:all .5s;transition:all .5s;right:0;top:25px}.navheader .arrow-icon-down[data-v-3dfbd73e]{position:relative;-webkit-transition:all .5s;-moz-transition:all .5s;transition:all .5s}.navheader .el-dialog__wrapper .el-dialog[data-v-3dfbd73e]{min-width:425px;width:425px}.navheader .el-dialog__body[data-v-3dfbd73e]{padding:0 20px}.itemlink-gic[data-v-3dfbd73e]{float:left;display:inline-block;height:62px;padding:0 20px;position:relative;color:#606266;cursor:pointer}.itemlink-gic[data-v-3dfbd73e]:hover{color:#409eff}.itemlink-gic:hover .arrow-icon-down[data-v-3dfbd73e]{transform:rotate(180deg)}.itemlink-gic:hover .itempanel[data-v-3dfbd73e]{display:block}.itemlink-gic .curitemlink[data-v-3dfbd73e]{border-bottom:2px solid #409eff}.itemlink-gic .itempanel[data-v-3dfbd73e]{display:none}.itemlink-gic .containers-listlik.current-rout[data-v-3dfbd73e]{color:#409eff}.itemlink-gic .containers-listlik-a[data-v-3dfbd73e]{display:block}.itemlink-gic .gicnavlink[data-v-3dfbd73e]{position:absolute;left:-100px;top:60px;width:966px;min-height:550px;background:#fff;min-width:150px;border-radius:4px;border:1px solid #ebeef5;padding:12px 0 25px 30px;z-index:9999;color:#606266;line-height:1.4;text-align:justify;font-size:14px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box}.itemlink-gic .gicnavarrow[data-v-3dfbd73e]{position:absolute;left:50%;top:50px;transform:translate(-50%);z-index:3}.itemlink-gic .gicnavarrow .arrow[data-v-3dfbd73e]{position:relative;display:block;background-color:#fff;width:6px;height:6px;border:0;border-top:1px solid #ebeef5;border-right:1px solid #ebeef5;transform:translateY(7px) rotate(-45deg);filter:drop-shadow(0 2px 12px rgba(0,0,0,.03))}.itemlink-gic .gicnavarrow .arrow[data-v-3dfbd73e]:after{position:absolute;left:0;top:-2px;width:10px;height:1px;content:"";border-radius:2px;background-color:#fff;transform-origin:left top;transform:rotate(45deg)}.itemlink-gic .containers[data-v-3dfbd73e]{display:flex;flex-wrap:wrap;flex-flow:row wrap;padding:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;margin:0}.itemlink-gic .containers-ul[data-v-3dfbd73e]{line-height:40px}.itemlink-gic .containers-title[data-v-3dfbd73e]{color:#303133;font-size:14px;font-weight:700;padding:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box}.itemlink-gic .containers-listlik[data-v-3dfbd73e]{font-size:12px;color:#606266;line-height:30px}.itemlink-gic .containers-item[data-v-3dfbd73e]{flex:0 0 185px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box}.itemlink-gic .curactive[data-v-3dfbd73e]{color:#fede29}li[data-v-3dfbd73e]{list-style:none}.navuserinfo[data-v-3dfbd73e]{width:140px;text-align:center}.navuserinfo a[data-v-3dfbd73e]{color:#606266}.navuserinfo .navusername[data-v-3dfbd73e]{position:relative;display:inline-block;padding:0 20px;height:48px}.navuserinfo .navusername[data-v-3dfbd73e]:hover{color:#409eff}.navuserinfo .navusername:hover .arrowico[data-v-3dfbd73e]{transform:rotate(180deg)}.navsuerwrap .useritem[data-v-3dfbd73e]{position:relative;line-height:35px;height:35px;margin-bottom:10px;text-align:center;color:#606266}.navsuerwrap .useritem a[data-v-3dfbd73e]{color:#606266}.navsuerwrap .useritem:hover .usertext[data-v-3dfbd73e]{display:block;width:119px;margin-left:-12px;color:#409eff;background-color:#ecf5ff;cursor:pointer}.navsuerwrap .loginout[data-v-3dfbd73e]{border-top:1px solid #eee;box-sizing:border-box;padding:15px 0;margin-bottom:20px}.el-popover.user-header-pop[data-v-3dfbd73e],.el-popover[data-v-3dfbd73e],.user-header-pop[data-v-3dfbd73e]{min-width:95px}.el-dialog__wrapper/deep/.el-dialog[data-v-3dfbd73e]{min-width:425px;width:425px}.el-dialog__wrapper/deep/.el-dialog/deep/.el-dialog__body[data-v-3dfbd73e]{padding:0 20px}.user-form-dialog/deep/.el-dialog[data-v-3dfbd73e]{min-width:425px}.user-form-dialog/deep/.el-dialog__body[data-v-3dfbd73e]{padding:0 20px}.user-form-dialog/deep/.el-input[data-v-3dfbd73e]{width:260px}.pass-form-dialog/deep/.el-dialog[data-v-3dfbd73e]{min-width:425px}.pass-form-dialog/deep/.el-dialog__body[data-v-3dfbd73e]{padding:0 20px}.el-input[data-v-3dfbd73e]{width:260px}@media screen and (max-width:1280px){.navheader[data-v-3dfbd73e]{min-width:1280px}}@media screen and (min-width:1280px) and (max-width:1366px){.navheader[data-v-3dfbd73e]{min-width:1280px}}@media screen and (min-width:1366px) and (max-width:1440px){.navheader[data-v-3dfbd73e]{min-width:1366px}}@media screen and (min-width:1440px) and (max-width:1920px){.navheader[data-v-3dfbd73e]{min-width:1440px}}',""])},function(e,r){e.exports=function(e){return"string"!=typeof e?e:(/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),/["'() \t\n]/.test(e)?'"'+e.replace(/"/g,'\\"').replace(/\n/g,"\\n")+'"':e)}},function(e,r){function t(e,r){var t=e[1]||"",a=e[3];if(!a)return t;if(r&&"function"==typeof btoa){var i=o(a);return[t].concat(a.sources.map(function(e){return"/*# sourceURL="+a.sourceRoot+e+" */"})).concat([i]).join("\n")}return[t].join("\n")}function o(e){return"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(e))))+" */"}e.exports=function(e){var r=[];return r.toString=function(){return this.map(function(r){var o=t(r,e);return r[2]?"@media "+r[2]+"{"+o+"}":o}).join("")},r.i=function(e,t){"string"==typeof e&&(e=[[null,e,""]]);for(var o={},a=0;a<this.length;a++){var i=this[a][0];"number"==typeof i&&(o[i]=!0)}for(a=0;a<e.length;a++){var n=e[a];"number"==typeof n[0]&&o[n[0]]||(t&&!n[2]?n[2]=t:t&&(n[2]="("+n[2]+") and ("+t+")"),r.push(n))}},r}},function(e,r,t){e.exports=t.p+"static/img/logo.png?567d2bcb0ba7ec281f5613c41ce4b7c6"},function(e,r,t){function o(e){for(var r=0;r<e.length;r++){var t=e[r],o=c[t.id];if(o){o.refs++;for(var a=0;a<o.parts.length;a++)o.parts[a](t.parts[a]);for(;a<t.parts.length;a++)o.parts.push(i(t.parts[a]));o.parts.length>t.parts.length&&(o.parts.length=t.parts.length)}else{for(var n=[],a=0;a<t.parts.length;a++)n.push(i(t.parts[a]));c[t.id]={id:t.id,refs:1,parts:n}}}}function a(){var e=document.createElement("style");return e.type="text/css",u.appendChild(e),e}function i(e){var r,t,o=document.querySelector("style["+h+'~="'+e.id+'"]');if(o){if(m)return g;o.parentNode.removeChild(o)}if(v){var i=p++;o=f||(f=a()),r=n.bind(null,o,i,!1),t=n.bind(null,o,i,!0)}else o=a(),r=s.bind(null,o),t=function(){o.parentNode.removeChild(o)};return r(e),function(o){if(o){if(o.css===e.css&&o.media===e.media&&o.sourceMap===e.sourceMap)return;r(e=o)}else t()}}function n(e,r,t,o){var a=t?"":o.css;if(e.styleSheet)e.styleSheet.cssText=w(r,a);else{var i=document.createTextNode(a),n=e.childNodes;n[r]&&e.removeChild(n[r]),n.length?e.insertBefore(i,n[r]):e.appendChild(i)}}function s(e,r){var t=r.css,o=r.media,a=r.sourceMap;if(o&&e.setAttribute("media",o),b.ssrId&&e.setAttribute(h,r.id),a&&(t+="\n/*# sourceURL="+a.sources[0]+" */",t+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+" */"),e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}var l="undefined"!=typeof document;if("undefined"!=typeof DEBUG&&DEBUG&&!l)throw new Error("vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.");var d=t(11),c={},u=l&&(document.head||document.getElementsByTagName("head")[0]),f=null,p=0,m=!1,g=function(){},b=null,h="data-vue-ssr-id",v="undefined"!=typeof navigator&&/msie [6-9]\b/.test(navigator.userAgent.toLowerCase());e.exports=function(e,r,t,a){m=t,b=a||{};var i=d(e,r);return o(i),function(r){for(var t=[],a=0;a<i.length;a++){var n=i[a],s=c[n.id];s.refs--,t.push(s)}r?(i=d(e,r),o(i)):i=[];for(var a=0;a<t.length;a++){var s=t[a];if(0===s.refs){for(var l=0;l<s.parts.length;l++)s.parts[l]();delete c[s.id]}}}};var w=function(){var e=[];return function(r,t){return e[r]=t,e.filter(Boolean).join("\n")}}()},function(e,r){e.exports=function(e,r){for(var t=[],o={},a=0;a<r.length;a++){var i=r[a],n=i[0],s=i[1],l=i[2],d=i[3],c={id:e+":"+a,css:s,media:l,sourceMap:d};o[n]?o[n].parts.push(c):t.push(o[n]={id:n,parts:[c]})}return t}},function(e,r){e.exports=function(e,r,t,o,a,i){var n,s=e=e||{},l=typeof e.default;"object"!==l&&"function"!==l||(n=e,s=e.default);var d="function"==typeof s?s.options:s;r&&(d.render=r.render,d.staticRenderFns=r.staticRenderFns,d._compiled=!0),t&&(d.functional=!0),a&&(d._scopeId=a);var c;if(i?(c=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),o&&o.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(i)},d._ssrRegister=c):o&&(c=o),c){var u=d.functional,f=u?d.render:d.beforeCreate;u?(d._injectStyles=c,d.render=function(e,r){return c.call(r),f(e,r)}):d.beforeCreate=f?[].concat(f,c):[c]}return{esModule:n,exports:s,options:d}}},function(e,r,t){"use strict";var o=t(14),a=t(15),i=t(2);e.exports={formats:i,parse:a,stringify:o}},function(e,r,t){"use strict";var o=t(1),a=t(2),i={brackets:function(e){return e+"[]"},indices:function(e,r){return e+"["+r+"]"},repeat:function(e){return e}},n=Date.prototype.toISOString,s={delimiter:"&",encode:!0,encoder:o.encode,serializeDate:function(e){return n.call(e)},skipNulls:!1,strictNullHandling:!1},l=function e(r,t,a,i,n,s,l,d,c,u,f){var p=r;if("function"==typeof l)p=l(t,p);else if(p instanceof Date)p=u(p);else if(null===p){if(i)return s?s(t):t;p=""}if("string"==typeof p||"number"==typeof p||"boolean"==typeof p||o.isBuffer(p))return s?[f(s(t))+"="+f(s(p))]:[f(t)+"="+f(String(p))];var m=[];if(void 0===p)return m;var g;if(Array.isArray(l))g=l;else{var b=Object.keys(p);g=d?b.sort(d):b}for(var h=0;h<g.length;++h){var v=g[h];n&&null===p[v]||(m=Array.isArray(p)?m.concat(e(p[v],a(t,v),a,i,n,s,l,d,c,u,f)):m.concat(e(p[v],t+(c?"."+v:"["+v+"]"),a,i,n,s,l,d,c,u,f)))}return m};e.exports=function(e,r){var t=e,o=r||{};if(null!==o.encoder&&void 0!==o.encoder&&"function"!=typeof o.encoder)throw new TypeError("Encoder has to be a function.");var n=void 0===o.delimiter?s.delimiter:o.delimiter,d="boolean"==typeof o.strictNullHandling?o.strictNullHandling:s.strictNullHandling,c="boolean"==typeof o.skipNulls?o.skipNulls:s.skipNulls,u="boolean"==typeof o.encode?o.encode:s.encode,f=u?"function"==typeof o.encoder?o.encoder:s.encoder:null,p="function"==typeof o.sort?o.sort:null,m=void 0!==o.allowDots&&o.allowDots,g="function"==typeof o.serializeDate?o.serializeDate:s.serializeDate;if(void 0===o.format)o.format=a.default;else if(!Object.prototype.hasOwnProperty.call(a.formatters,o.format))throw new TypeError("Unknown format option provided.");var b,h,v=a.formatters[o.format];"function"==typeof o.filter?(h=o.filter,t=h("",t)):Array.isArray(o.filter)&&(h=o.filter,b=h);var w=[];if("object"!=typeof t||null===t)return"";var x;x=o.arrayFormat in i?o.arrayFormat:"indices"in o?o.indices?"indices":"repeat":"indices";var y=i[x];b||(b=Object.keys(t)),p&&b.sort(p);for(var N=0;N<b.length;++N){var C=b[N];c&&null===t[C]||(w=w.concat(l(t[C],C,y,d,c,f,h,p,m,g,v)))}return w.join(n)}},function(e,r,t){"use strict";var o=t(1),a=Object.prototype.hasOwnProperty,i={allowDots:!1,allowPrototypes:!1,arrayLimit:20,decoder:o.decode,delimiter:"&",depth:5,parameterLimit:1e3,plainObjects:!1,strictNullHandling:!1},n=function(e,r){for(var t={},o=e.split(r.delimiter,r.parameterLimit===1/0?void 0:r.parameterLimit),i=0;i<o.length;++i){var n,s,l=o[i],d=-1===l.indexOf("]=")?l.indexOf("="):l.indexOf("]=")+1;-1===d?(n=r.decoder(l),s=r.strictNullHandling?null:""):(n=r.decoder(l.slice(0,d)),s=r.decoder(l.slice(d+1))),a.call(t,n)?t[n]=[].concat(t[n]).concat(s):t[n]=s}return t},s=function(e,r,t){if(!e.length)return r;var o,a=e.shift();if("[]"===a)o=[],o=o.concat(s(e,r,t));else{o=t.plainObjects?Object.create(null):{};var i="["===a.charAt(0)&&"]"===a.charAt(a.length-1)?a.slice(1,-1):a,n=parseInt(i,10);!isNaN(n)&&a!==i&&String(n)===i&&n>=0&&t.parseArrays&&n<=t.arrayLimit?(o=[],o[n]=s(e,r,t)):o[i]=s(e,r,t)}return o},l=function(e,r,t){if(e){var o=t.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,i=/(\[[^[\]]*])/,n=/(\[[^[\]]*])/g,l=i.exec(o),d=l?o.slice(0,l.index):o,c=[];if(d){if(!t.plainObjects&&a.call(Object.prototype,d)&&!t.allowPrototypes)return;c.push(d)}for(var u=0;null!==(l=n.exec(o))&&u<t.depth;){if(u+=1,!t.plainObjects&&a.call(Object.prototype,l[1].slice(1,-1))&&!t.allowPrototypes)return;c.push(l[1])}return l&&c.push("["+o.slice(l.index)+"]"),s(c,r,t)}};e.exports=function(e,r){var t=r||{};if(null!==t.decoder&&void 0!==t.decoder&&"function"!=typeof t.decoder)throw new TypeError("Decoder has to be a function.");if(t.delimiter="string"==typeof t.delimiter||o.isRegExp(t.delimiter)?t.delimiter:i.delimiter,t.depth="number"==typeof t.depth?t.depth:i.depth,t.arrayLimit="number"==typeof t.arrayLimit?t.arrayLimit:i.arrayLimit,t.parseArrays=!1!==t.parseArrays,t.decoder="function"==typeof t.decoder?t.decoder:i.decoder,t.allowDots="boolean"==typeof t.allowDots?t.allowDots:i.allowDots,t.plainObjects="boolean"==typeof t.plainObjects?t.plainObjects:i.plainObjects,t.allowPrototypes="boolean"==typeof t.allowPrototypes?t.allowPrototypes:i.allowPrototypes,t.parameterLimit="number"==typeof t.parameterLimit?t.parameterLimit:i.parameterLimit,t.strictNullHandling="boolean"==typeof t.strictNullHandling?t.strictNullHandling:i.strictNullHandling,""===e||null===e||void 0===e)return t.plainObjects?Object.create(null):{};for(var a="string"==typeof e?n(e,t):e,s=t.plainObjects?Object.create(null):{},d=Object.keys(a),c=0;c<d.length;++c){var u=d[c],f=l(u,a[u],t);s=o.merge(s,f,t)}return o.compact(s)}},function(e,r,t){"use strict";var o=function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("div",{staticClass:"navheader"},[t("div",{staticClass:"navheader-logo fl",class:{moveleft:e.isCollapse,moveright:!e.isCollapse}}),e._v(" "),t("div",{staticClass:"navheader-item fl"},[t("a",{staticClass:"itemlink",on:{click:e.handleCollapse}},[t("i",{staticClass:"iconfont",class:{"icon-shouqi":e.isCollapse,"icon-zhankai":!e.isCollapse}})]),e._v(" "),t("a",{class:["itemlink","bottom","menu-all","/memberSummary"==e.summaryName?"current-module":""],attrs:{href:e.origin+"/report/#/memberSummary"}},[e._v("总览")]),e._v(" "),t("div",{class:["itemlink-gic","bottom","gic-web"==e.pathName?"current-module":""],on:{mouseover:e.showChild,mouseout:e.hideChild}},[e._v("GIC商户后台\n "),t("i",{staticClass:"el-icon-arrow-down arrow-icon-down"}),e._v(" "),t("div",{staticClass:"itempanel",style:{display:e.showItem},attrs:{id:"itempanel"}},[t("div",{staticClass:"gicnavlink"},[t("div",{staticClass:"containers"},e._l(e.menuHeadRouter,function(r,o){return t("div",{staticClass:"containers-item"},[t("ul",{staticClass:"containers-ul"},[t("h1",{staticClass:"containers-title"},[e._v(e._s(r.menuName))]),e._v(" "),e._l(r.children,function(r,o){return[r.isRouter?t("li",{class:["containers-listlik",e.activeCode==r.menuCode?"current-rout":""],on:{click:function(t){e.toRouter(r.menuUrl,r.menuName,r.menuCode)}}},[e._v(e._s(r.menuName))]):e._e(),e._v(" "),r.isRouter?e._e():t("a",{staticClass:"containers-listlik containers-listlik-a",attrs:{href:r.menuUrl,target:1==r.target?"_blank":""}},[e._v(e._s(r.menuName))])]})],2)])}))]),e._v(" "),e._m(0)])]),e._v(" "),e._l(e.menuHead,function(r){return[t("a",{class:["itemlink","bottom","menu-mall",e.pathName==r.project?"current-module":""],attrs:{href:e.origin+r.menuUrl,target:1==r.target?"_blank":""}},[e._v(e._s(r.menuName))])]}),e._v(" "),t("div",{staticClass:"navuserinfo fr"},[t("el-popover",{staticStyle:{"min-width":"95px"},attrs:{placement:"bottom",title:"",width:"95",trigger:"hover","popper-class":"user-header-pop"}},[t("ul",{staticClass:"navsuerwrap"},[t("li",{staticClass:"useritem",on:{click:e.toUserInfo}},[t("a",{staticClass:"usertext"},[e._v("账户信息")])]),e._v(" "),t("li",{staticClass:"useritem",on:{click:e.toModifyInfo}},[t("a",{staticClass:"usertext"},[e._v("修改密码")])]),e._v(" "),t("li",{staticClass:"useritem loginout",on:{click:e.toLoginOut}},[t("a",{staticClass:"usertext"},[e._v("退出登录")])])]),e._v(" "),t("a",{staticClass:"navusername",attrs:{slot:"reference"},slot:"reference"},[e._v(e._s(e.userInfo.realName)+"\n "),t("i",{staticClass:"el-icon-arrow-down arrowico"})])])],1)],2),e._v(" "),t("el-dialog",{staticClass:"user-form-dialog",attrs:{title:"账户信息",visible:e.userFormVisible,width:"425px","modal-append-to-body":!1,"before-close":e.userFormClose}},[t("el-form",{ref:"userForm",attrs:{model:e.userInfoForm,"before-close":e.userFormClose,rules:e.userFormRules}},[t("el-form-item",{attrs:{label:"姓名","label-width":e.formLabelWidth,prop:"realName"}},[t("el-input",{model:{value:e.userInfoForm.realName,callback:function(r){e.$set(e.userInfoForm,"realName",r)},expression:"userInfoForm.realName"}})],1),e._v(" "),t("el-form-item",{attrs:{label:"性别","label-width":e.formLabelWidth,prop:"gender"}},[t("el-radio-group",{model:{value:e.userInfoForm.gender,callback:function(r){e.$set(e.userInfoForm,"gender",r)},expression:"userInfoForm.gender"}},[t("el-radio",{attrs:{label:1}},[e._v("男")]),e._v(" "),t("el-radio",{attrs:{label:2}},[e._v("女")])],1)],1),e._v(" "),t("el-form-item",{attrs:{label:"员工代码","label-width":e.formLabelWidth,prop:"clerkCode"}},[t("el-input",{model:{value:e.userInfoForm.clerkCode,callback:function(r){e.$set(e.userInfoForm,"clerkCode",r)},expression:"userInfoForm.clerkCode"}})],1),e._v(" "),t("el-form-item",{attrs:{label:"手机号码","label-width":e.formLabelWidth,prop:"phoneNumber"}},[t("el-input",{attrs:{type:"text",maxlength:11},model:{value:e.userInfoForm.phoneNumber,callback:function(r){e.$set(e.userInfoForm,"phoneNumber",r)},expression:"userInfoForm.phoneNumber"}})],1),e._v(" "),t("el-form-item",{attrs:{label:"职位","label-width":e.formLabelWidth,prop:"positionName"}},[t("el-input",{model:{value:e.userInfoForm.positionName,callback:function(r){e.$set(e.userInfoForm,"positionName",r)},expression:"userInfoForm.positionName"}})],1)],1),e._v(" "),t("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[t("el-button",{on:{click:e.cancelModUserInfo}},[e._v("取 消")]),e._v(" "),t("el-button",{attrs:{type:"primary"},on:{click:function(r){e.confirmModUserInfo("userForm")}}},[e._v("确 定")])],1)],1),e._v(" "),t("el-dialog",{staticClass:"pass-form-dialog",attrs:{title:"修改密码",visible:e.passFormVisible,width:"425px","modal-append-to-body":!1,"before-close":e.passFormClose}},[t("el-form",{ref:"passForm",attrs:{model:e.passwordForm,"before-close":e.passFormClose,rules:e.passFormRules}},[t("el-form-item",{attrs:{label:"旧密码","label-width":e.formLabelWidth,prop:"oldPassword"}},[t("el-input",{attrs:{"auto-complete":"off"},model:{value:e.passwordForm.oldPassword,callback:function(r){e.$set(e.passwordForm,"oldPassword",r)},expression:"passwordForm.oldPassword"}})],1),e._v(" "),t("el-form-item",{attrs:{label:"新密码","label-width":e.formLabelWidth,prop:"newPassword"}},[t("el-input",{model:{value:e.passwordForm.newPassword,callback:function(r){e.$set(e.passwordForm,"newPassword",r)},expression:"passwordForm.newPassword"}})],1),e._v(" "),t("el-form-item",{attrs:{label:"确认密码","label-width":e.formLabelWidth,prop:"confirmNewPassword"}},[t("el-input",{model:{value:e.passwordForm.confirmNewPassword,callback:function(r){e.$set(e.passwordForm,"confirmNewPassword",r)},expression:"passwordForm.confirmNewPassword"}})],1)],1),e._v(" "),t("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[t("el-button",{on:{click:e.cancelModPass}},[e._v("取 消")]),e._v(" "),t("el-button",{attrs:{type:"primary"},on:{click:function(r){e.confirmModPass("passForm")}}},[e._v("确 定")])],1)],1)],1)},a=[function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("div",{staticClass:"gicnavarrow"},[t("span",{staticClass:"arrow"})])}],i={render:o,staticRenderFns:a};r.a=i}])});
//# sourceMappingURL=vue-gic-header.js.map
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
<title>vue-gic-header</title>
</head>
<body>
<div id="app"></div>
<!-- <script src="/dist/build.js"></script> -->
<script src="/dist/vue-gic-header.js"></script>
</body>
</html>
This source diff could not be displayed because it is too large. You can view the blob instead.
{
"name": "@gic-test/vue-gic-header",
"description": "vue-gic-header Plugin",
"author": "fairyly <498745097@qq.com>",
"version": "1.3.28",
"license": "MIT",
"private": false,
"main": "dist/vue-gic-header.js",
"scripts": {
"dev": "cross-env NODE_ENV=development webpack-dev-server --open --hot",
"build": "cross-env NODE_ENV=production webpack --progress --hide-modules"
},
"dependencies": {
"axios": "^0.18.0",
"vue": "^2.5.11"
},
"browserslist": [
"> 1%",
"last 2 versions",
"not ie <= 8"
],
"devDependencies": {
"babel-core": "^6.26.0",
"babel-loader": "^7.1.2",
"babel-preset-env": "^1.6.0",
"babel-preset-stage-3": "^6.24.1",
"cross-env": "^5.0.5",
"css-loader": "^0.28.7",
"file-loader": "^1.1.4",
"less": "^3.0.4",
"less-loader": "^4.1.0",
"node-sass": "^4.5.3",
"sass-loader": "^6.0.6",
"vue-loader": "^13.0.5",
"vue-template-compiler": "^2.4.4",
"webpack": "^3.6.0",
"webpack-dev-server": "^2.9.1"
}
}
<template>
<div id="app">
<vue-gic-header :projectName="projectName" :collapseFlag="collapseFlag" @collapseTag="collapseTag" @toRouterView="toRouterView"></vue-gic-header>
</div>
</template>
<script>
import vueGicHeader from './lib/vue-gic-header'
export default {
name: 'app',
data () {
return {
projectName: '', // 当前项目名
// headerRouterOptions: {
collapseFlag: false, // 折叠参数
// 路由菜单
// 修改由插件请求
// },
}
},
components: {
vueGicHeader
},
methods: {
// 处理路由跳转
toRouterView(val) {
var that = this;
// 模拟检查数据
// //有两个参数
//{
// name:,
// path:
//}
console.log(val);
that.$router.push({
path: val.path
})
},
// 折叠事件
collapseTag(val){
var that = this;
console.log(val);
}
}
}
</script>
<style lang="scss">
* {
margin: 0;
padding: 0;
}
</style>
import axios from 'axios';
import qs from 'qs';
axios.defaults.timeout = 10000;
let base = "http://192.168.1.164:8282/gic/";
const timeout = 10000;
let token = ''//sessionStorage.getItem('user');
/*
*
* 统一 get 请求方法
* @url: 请求的 url
* @params: 请求带的参数
* @header: 带 token
*
*/
export const getRequest = (url, params) => {
return axios({
method: 'get',
url: `${base}${url}`,
data: {},
params: params,
headers: {'content-type': 'application/x-www-form-urlencoded'},// "token": token
});
}
import vueGicHeader from './vue-gic-header.vue' // 导入组件
const vueGic = {
install(Vue, options) {
Vue.component(vueGicHeader.name, vueGicHeader) // vueGicHeader.name 组件的name属性
// 类似通过 this.$xxx 方式调用插件的 其实只是挂载到原型上而已
// Vue.prototype.$xxx // 最终可以在任何地方通过 this.$xxx 调用
// 虽然没有明确规定用$开头 但是大家都默认遵守这个规定
}
}
if (typeof window !== 'undefined' && window.Vue) {
window.Vue.use(vueGic);
}
export default vueGic
// export {
// vueGicHeader
// }
<template>
<div class="navheader">
<!-- logo -->
<div class="navheader-logo fl" :class="{moveleft: isCollapse ,moveright: !isCollapse}"></div>
<div class="navheader-item fl">
<a class="itemlink" @click="handleCollapse">
<i class="iconfont" :class="{'icon-shouqi': isCollapse,'icon-zhankai': !isCollapse}"></i></a>
<a :class="['itemlink', 'bottom','menu-all',summaryName=='/memberSummary'? 'current-module':'']" :href="origin+'/report/#/memberSummary'">总览</a>
<!-- gic 商户后台 -->
<div :class="['itemlink-gic', 'bottom', pathName=='gic-web'? 'current-module':'']" @mouseover="showChild" @mouseout="hideChild">GIC商户后台
<i class="el-icon-arrow-down arrow-icon-down"></i>
<div class="itempanel" id="itempanel" :style="{display: showItem}">
<div class="gicnavlink">
<div class="containers">
<div class="containers-item" v-for="(routerItem,index) in menuHeadRouter">
<ul class="containers-ul">
<h1 class="containers-title">{{routerItem.menuName}}</h1>
<template v-for="(childItem,key) in routerItem.children">
<li :class="['containers-listlik', activeCode == childItem.menuCode? 'current-rout':'']" @click="toRouter(childItem.menuUrl,childItem.menuName,childItem.menuCode)" v-if="childItem.isRouter">{{childItem.menuName}}</li>
<a class="containers-listlik containers-listlik-a" :href="childItem.menuUrl" v-if="!childItem.isRouter" :target="childItem.target == 1?'_blank':''">{{childItem.menuName}}</a>
</template>
</ul>
</div>
</div>
</div>
<div class="gicnavarrow">
<span class="arrow"></span>
</div>
</div>
</div>
<!-- <a :class="['itemlink', 'bottom','menu-mall',pathName=='mall'? 'current-module':'']" :href="origin+'/mall/#/goodsList'">微信商城</a>
<a :class="['itemlink', 'bottom','cloud-platform']" :href="origin">观云台</a> -->
<template v-for="menuitem in menuHead">
<a :class="['itemlink', 'bottom','menu-mall',pathName==menuitem.project? 'current-module':'']" :href="origin+menuitem.menuUrl" :target="menuitem.target == 1?'_blank':''">{{menuitem.menuName}}</a>
</template>
<!-- 最右侧用户信息 -->
<div class="navuserinfo fr">
<el-popover placement="bottom" title="" width="95" trigger="hover" popper-class="user-header-pop" style="min-width: 95px;">
<ul class="navsuerwrap">
<li class="useritem" @click="toUserInfo"><a class="usertext" >账户信息</a></li>
<li class="useritem" @click="toModifyInfo"><a class="usertext" >修改密码</a></li>
<li class="useritem loginout" @click="toLoginOut"><a class="usertext" >退出登录</a></li><!-- href="javascript:void(0)" -->
</ul>
<a class="navusername" slot="reference">{{userInfo.realName}}
<i class="el-icon-arrow-down arrowico"></i>
</a>
</el-popover>
</div>
</div>
<!-- 修改用户信息 -->
<!-- <div class="user-dialog-wrap"> -->
<el-dialog title="账户信息" class="user-form-dialog" :visible="userFormVisible" width="425px" :modal-append-to-body="false" :before-close="userFormClose">
<el-form :model="userInfoForm" :before-close="userFormClose" :rules="userFormRules" ref="userForm">
<el-form-item label="姓名" :label-width="formLabelWidth" prop="realName">
<el-input v-model="userInfoForm.realName"></el-input>
</el-form-item>
<el-form-item label="性别" :label-width="formLabelWidth" prop="gender">
<el-radio-group v-model="userInfoForm.gender">
<el-radio :label="1"></el-radio>
<el-radio :label="2"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="员工代码" :label-width="formLabelWidth" prop="clerkCode">
<el-input v-model="userInfoForm.clerkCode"></el-input>
</el-form-item>
<el-form-item label="手机号码" :label-width="formLabelWidth" prop="phoneNumber">
<el-input v-model="userInfoForm.phoneNumber" type="text" :maxlength="11"></el-input>
</el-form-item>
<el-form-item label="职位" :label-width="formLabelWidth" prop="positionName">
<el-input v-model="userInfoForm.positionName"></el-input>
</el-form-item>
<!-- <el-form-item class="dialog-footer">
<el-button @click="cancelModUserInfo">取 消</el-button>
<el-button type="primary" @click="confirmModUserInfo('userForm')">确 定</el-button>
</el-form-item> -->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancelModUserInfo">取 消</el-button>
<el-button type="primary" @click="confirmModUserInfo('userForm')">确 定</el-button>
</div>
</el-dialog>
<!-- </div> -->
<!-- 修改密码 -->
<!-- <div class="user-dialog-wrap"> -->
<el-dialog title="修改密码" class="pass-form-dialog" :visible="passFormVisible" width="425px" :modal-append-to-body="false" :before-close="passFormClose">
<el-form :model="passwordForm" :before-close="passFormClose" :rules="passFormRules" ref="passForm">
<el-form-item label="旧密码" :label-width="formLabelWidth" prop="oldPassword">
<el-input v-model="passwordForm.oldPassword" auto-complete="off"></el-input>
</el-form-item>
<el-form-item label="新密码" :label-width="formLabelWidth" prop="newPassword">
<el-input v-model="passwordForm.newPassword"></el-input>
</el-form-item>
<el-form-item label="确认密码" :label-width="formLabelWidth" prop="confirmNewPassword">
<el-input v-model="passwordForm.confirmNewPassword"></el-input>
</el-form-item>
<!-- <el-form-item class="dialog-footer">
<el-button @click="cancelModPass">取 消</el-button>
<el-button type="primary" @click="confirmModPass('passForm')">确 定</el-button>
</el-form-item> -->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancelModPass">取 消</el-button>
<el-button type="primary" @click="confirmModPass('passForm')">确 定</el-button>
</div>
</el-dialog>
<!-- </div> -->
</div>
</template>
<script>
// import { getRequest } from './api';
import qs from 'qs';
export default {
name: 'vue-gic-header',
props: ['menuRouter','collapseFlag','projectName'],
data () {
return {
repProjectName: 'gic-web', // 项目名
activeCode: '',
// pathname
pathName: '',
showItem: 'none', // 显示 itempanel
summaryName: '' ,// 当前路由
// origin
origin: '',
// 集团标志
cliqueFlag: '',
isCollapse: false,// 是否收起左侧
menuHeadRouter: [
],
menuHead: [], // 返回的菜单
userInfo: {
realName: '',
gender: '',// 1男2女
clerkCode: '',
phoneNumber: '',
positionName: ''
},
// 用户信息 form
userFormVisible: false,
formLabelWidth: '100px',
userInfoForm: {
realName: '',
gender: '',// 1男2女
clerkCode: '',
phoneNumber: '',
positionName: ''
},
userFormRules: {
realName: [
{ required: true, message: '请输入姓名', trigger: 'blur' },
],
gender: [
{ required: true, message: '请选择性别', trigger: 'change' },
],
clerkCode: [
{ required: true, message: '请输入员工代码', trigger: 'blur' },
],
phoneNumber: [
{ required: true, message: '请输入手机号', trigger: 'blur' },
{pattern: /^1[34578]\d{9}$/, message: '手机号码格式不正确' }
],
positionName: [
{ required: true, message: '请输入职位', trigger: 'blur' },
],
},
// 用户密码 form
passFormVisible: false,
passwordForm: {
oldPassword: '',
newPassword: '',
confirmNewPassword: ''
},
passFormRules: {
oldPassword: [
{ required: true, message: '请输入旧密码', trigger: 'blur' },
],
newPassword: [
{ required: true, message: '请输入新密码', trigger: 'blur' },
],
confirmNewPassword: [
{ required: true, message: '请输入确认密码', trigger: 'blur' },
]
},
// 获取 location origin
baseUrl: '',
routePathName: '', // 当前路由值
}
},
beforeMount() {
var that = this
var host = window.location.origin;
console.log("当前host:",host)
if (host.indexOf('localhost') != '-1') {
that.baseUrl = 'http://gicdev.demogic.com';
}else {
that.baseUrl = host
}
},
methods: {
// 获取当前二级 code
getLeftMenu() {
var that = this
var para = {
project: that.repProjectName,
path: that.routePathName,
requestProject: that.repProjectName
}
that.axios.post(that.baseUrl+'/api-auth/get-current-memu-data',qs.stringify(para))
.then((res) => {
// console.log(res,res.data,res.data.errorCode)
var resData = res.data
if (resData.errorCode == 0) {
if (!resData.result) {
console.log("resData.result: ",resData.result)
return;
}
that.activeCode = resData.result.level2.menuCode
// sessionStorage.setItem('activeHead',resData.result.level2.menuCode)
return;
}
that.$message.error({
duration: 1000,
message: resData.message
})
})
.catch(function (error) {
console.log(error);
// that.toLogin()
that.$message.error({
duration: 1000,
message: error.message
})
});
},
// 显示菜单
showChild() {
var that = this;
that.showItem = 'block';
},
// 隐藏菜单
hideChild() {
var that = this;
that.showItem = 'none';
},
// 设置新数据
setNewData(dataObj) {
var that = this;
// console.log("dataObj:",dataObj);
//折叠参数
// that.isCollapse = dataObj.CollapseFlag;
// 处理成需要的路由
var list = [],lists = [];
// 把父级和子级分离
dataObj.forEach(function(ele,index){
if(ele.parentCode == 0){
list.push(ele)
}else {
lists.push(ele)
}
})
// 把子级添加到父级中
// console.log("list:",list,lists)
list.forEach(function(ele,index){
// if(ele.parentCode == 0){
// ele.children = [];
// }
ele.children = []
// console.log(index)
lists.forEach(function(el,ind) {
if(el.parentCode == ele.menuCode ){
// console.log(index,ind)
ele.children.push(el)
}
})
})
console.log("处理后的菜单 list:",list,that.isCollapse)
that.menuHeadRouter = list;
},
// 处理折叠
handleCollapse() {
var that = this;
that.isCollapse = (that.isCollapse==true? false: true);
that.$emit('collapseTag', that.isCollapse)
},
// 修改账户信息,弹窗显示
toUserInfo() {
var that = this;
var userInfo = JSON.parse(JSON.stringify(that.userInfo))
that.userInfoForm.realName = userInfo.realName;
that.userInfoForm.gender = parseInt(userInfo.gender);
that.userInfoForm.clerkCode = userInfo.clerkCode;
that.userInfoForm.phoneNumber = userInfo.phoneNumber;
that.userInfoForm.positionName = userInfo.positionName;
that.userFormVisible = true;
},
// 点击确定 修改用户信息
modifyUserInfo() {
var that = this;
var para = {
realName: that.userInfoForm.realName,
gender: that.userInfoForm.gender,
clerkCode: that.userInfoForm.clerkCode,
phoneNumber: that.userInfoForm.phoneNumber,
positionName: that.userInfoForm.positionName,
requestProject: that.repProjectName
}
that.axios.post(that.baseUrl+'/api-auth/modify-user-info',qs.stringify(para))
.then((res) => {
// console.log(res,res.data,res.data.errorCode)
var resData = res.data
if (resData.errorCode == 0) {
that.userFormVisible = false;
that.$message({
message: '修改成功',
type: 'success'
})
return;
}
// that.userFormVisible = false;
that.$message.error({
duration: 1000,
message: resData.message
})
})
.catch(function (error) {
console.log(error);
// that.toLogin()
// that.userFormVisible = false;
that.$message.error({
duration: 1000,
message: error.message
})
});
},
// 确认修改
confirmModUserInfo(userForm) {
var that = this
that.$refs[userForm].validate((valid) => {
// console.log("用户信息验证:",valid)
if (!valid) {
return;
}
that.modifyUserInfo()
})
},
// 取消修改
cancelModUserInfo() {
var that = this
that.userFormVisible = false;
},
//修改密码
toModifyInfo() {
var that = this;
that.passFormVisible = true;
that.passwordForm.newPassword = '';
that.passwordForm.oldPassword = '';
that.passwordForm.confirmNewPassword = '';
},
// 修改密码方法
modifyUserPassword() {
var that = this;
var para = {
oldPassword: that.passwordForm.oldPassword,
newPassword: that.passwordForm.newPassword,
requestProject: that.repProjectName
}
if (!that.passwordForm.oldPassword.trim()||!that.passwordForm.newPassword.trim()|| !that.passwordForm.confirmNewPassword.trim()) {
that.$message.error({
duration: 1000,
message: "请输入密码"
})
return false;
}
if (that.passwordForm.newPassword.trim() != that.passwordForm.confirmNewPassword.trim()) {
that.$message.error({
duration: 1000,
message: "两次密码输入不一致!"
})
return false;
}
that.axios.post(that.baseUrl+'/api-auth/modify-password',qs.stringify(para))
.then((res) => {
// console.log(res,res.data,res.data.errorCode)
var resData = res.data
if (resData.errorCode == 0) {
that.passFormVisible = false;
that.$message({
message: '修改成功',
type: 'success'
})
return;
}
that.$message.error({
duration: 1000,
message: resData.message
})
})
.catch(function (error) {
console.log(error);
// that.toLogin()
that.$message.error({
duration: 1000,
message: error.message
})
});
},
// 确认
confirmModPass(passForm){
var that = this;
that.$refs[passForm].validate((valid) => {
// console.log("密码验证:",valid)
if (!valid) {
return;
}
that. modifyUserPassword()
})
},
// 取消
cancelModPass() {
var that = this
that.passFormVisible = false;
},
// 关闭
userFormClose() {
var that = this;
that.userFormVisible = false
},
passFormClose() {
var that = this;
that.passFormVisible = false
},
//退出登录
toLoginOut() {
var that = this;
// var para = {
// requestProject: that.repProjectName
// }
that.$confirm('确认退出吗?', '提示', {
type: 'warning'
}).then(() => {
that.axios.post(that.baseUrl+'/api-auth/do-logout',{})
.then((res) => {
// console.log(res,res.data,res.data.errorCode)
var resData = res.data
if (resData.errorCode == 0) {
// console.log(that.cliqueFlag)
that.$message({
message: '退出成功',
type: 'success'
});
// 跳转登录页,商户.集团判断.// 暂时不判断登录入口,20180629
// if (that.cliqueFlag == true) {
window.location.href = window.location.origin + '/gic-web/#/';
// }
// if (that.cliqueFlag == false) {
// window.location.href = window.location.origin + '/gic-clique';
// }
return;
}
that.$message.error({
duration: 1000,
message: resData.message
})
})
.catch(function (error) {
console.log(error);
that.$message.error({
duration: 1000,
message: error.message
})
});
}).catch(() => {
console.log(error);
that.$message.error({
duration: 1000,
message: error.message
})
});
},
// 判断当前商户是否是集团关联商户
isClique() {
var that = this
var para = {
requestProject: that.repProjectName
}
that.axios.post(that.baseUrl+'/api-auth/is-relevance-clique',qs.stringify(para))
.then((res) => {
// console.log(res,res.data,res.data.errorCode)
var resData = res.data
if (resData.errorCode == 0) {
that.cliqueFlag = resData.result
return ;
}
that.$message.error({
duration: 1000,
message: resData.message
})
})
.catch(function (error) {
console.log(error);
that.$message.error({
duration: 1000,
message: error.message
})
});
},
// 触发父组件路由
toRouter(path,name,code) {
var that = this;
that.showItem = 'none'; // 隐藏菜单
that.activeCode = code; //高亮显示
var obj ={
path: '/'+ path,
name: name
}
that.$emit('toRouterView', obj)
},
//获取用户信息
getUserInfo() {
var that = this;
var para = {
requestProject: that.repProjectName
}
that.axios.post(that.baseUrl + '/api-auth/get-login-user-info',qs.stringify(para))
.then((res) => {
// console.log(res,res.data,res.data.errorCode)
var resData = res.data
if (resData.errorCode == 0) {
that.userInfo.realName = resData.result.realName;
that.userInfo.gender = resData.result.clerkGender;
that.userInfo.clerkCode = resData.result.clerkCode;
that.userInfo.phoneNumber = resData.result.loginName;// 目前手机号是 loginName
that.userInfo.positionName = resData.result.positionName;
// console.log(that.userInfo)
document.title = resData.result.enterpriseDTO.brandName || resData.result.enterpriseDTO.enterpriseName;
return;
}
that.$message.error({
duration: 1000,
message: resData.message
})
})
.catch(function (error) {
console.log(error);
// that.toLogin()
that.$message.error({
duration: 1000,
message: error.message
})
});
},
// 获取菜单
getHeaderMenu() {
var that = this
var para = {
project: that.repProjectName,
requestProject: that.repProjectName
}
that.axios.post(that.baseUrl + '/api-auth/login-clerk-menu',qs.stringify(para))
.then((res) => {
// console.log(res,res.data,res.data.errorCode)
var resData = res.data
if (resData.errorCode == 0) {
that.menuHeadRouter = resData.result;
console.log(that.menuHeadRouter)
// that.setNewData(resData.result)
// 获取左侧菜单
that.getLeftMenu()
return;
}
that.$message.error({
duration: 1000,
message: resData.message
})
})
.catch(function (error) {
console.log(error);
// that.toLogin()
that.$message.error({
duration: 1000,
message: error.message
})
});
},
// 获取头部一行菜单
getMenu() {
var that = this
var para = {
requestProject: that.repProjectName
}
that.axios.post(that.baseUrl + '/api-auth/login-clerk-top-project',qs.stringify(para))
.then((res) => {
// console.log(res,res.data,res.data.errorCode)
var resData = res.data
if (resData.errorCode == 0) {
that.menuHead = resData.result;
console.log(that.menuHead)
// that.setNewData(resData.result)
return;
}
that.$message.error({
duration: 1000,
message: resData.message
})
})
.catch(function (error) {
console.log(error);
// that.toLogin()
that.$message.error({
duration: 1000,
message: error.message
})
});
}
},
watch: {
// '$route'(to, from) {
// this.activeCode = sessionStorage.getItem('activeHead');
// },
$route: {
handler: function(val, oldVal){
console.log("获取当前路由:",val);
var that = this
that.summaryName = val.path
// 总览时,其他菜单选中状态去掉
if (that.summaryName.indexOf('memberSummary') != '-1') {
that.activeCode = ''
}
},
// 深度观察监听
deep: true
},
// menuRouter: function(newData,oldData){
// var that = this;
// that.setNewData(newData)
// },
collapseFlag: function(newData,oldData){
var that = this;
// console.log("新数据:",newData,oldData)
that.isCollapse = newData
},
userInfo: function(newData,oldData){
var that = this;
// console.log("新数据:",newData,oldData)
that.userInfo = newData
},
projectName: function(newData,oldData){
var that = this;
// console.log("新数据:",newData,oldData)
that.repProjectName = newData || 'gic-web';
},
},
/* 接收数据 */
mounted(){
console.log("传递的参数对象:",this.collapseFlag)
var that = this;
that.summaryName = that.$route.path
// 获取模块code
// that.activeCode = sessionStorage.getItem('activeHead')
//获取项目名 pathname (路由的hash)
that.routePathName = window.location.hash.split('/')[1];
if (that.routePathName.indexOf('?')!= -1) {
that.routePathName = that.routePathName.split('?')[0]
}
if (that.routePathName.indexOf('/')!= -1) {
that.routePathName = that.routePathName.split('/')[0]
}
console.log("routePathname:",that.routePathName)
// 项目名
that.repProjectName = that.projectName || 'gic-web';
// 判断项目参数
that.pathName = that.repProjectName;
that.isCollapse = that.collapseFlag
// 获取用户信息
that.getUserInfo();
// 获取菜单
that.getHeaderMenu();
// 判断集团
// that.isClique();
// that.setNewData(that.menuRouter)
that.origin = window.location.origin;
//获取项目名 pathname
// that.pathName = window.location.pathname;
console.log("头部pathname:",that.pathName)
// 获取头部菜单
that.getMenu()
},
}
</script>
<style lang="less" scoped>
@base-color: #353944;
@hover-color: #3c92eb;
@hoverbg-color: #20242d;
@main-color: #409eff;
@navbgcolor: #04143a;
@sidebgcolor: #020b21;
@userinfobgcolor: #ecf5ff;
@contentbgcolor: #f5f7fa;
@bordercolor: #dcdfe6;
@customnavcolor: #04143a;
@btnbgcolor: #f5f7fa;
@iconbgcolor: #e6e9f2;
@elmenuisactive: #409eff;
.flex1(@width,@height) {
flex: 0 0 @width;
width: @width;
height: @height;
}
.navheader /deep/ {
position: fixed;
display: flex;
top: 0;
left: 0;
width: 100%;
/*min-width: 1400px;*/
height: 64px;
line-height: 64px;
font-size: 14px;
background-color: #fff;
padding: 0;
z-index: 99;
color: #fff;
.fl {
float: left;
}
.fr {
float: right;
}
&-logo {
flex: 0 0 200px;
width: 200px;
height: 64px;
float: left;
text-align: center;
background: url("./logo.png") no-repeat center center @navbgcolor;
}
&-pic {
vertical-align: middle;
}
&-item {
flex: 1;
box-shadow: 5px -1px 10px #ddd;
}
.itemlink {
float: left;
padding: 0 20px;
display: inline-block;
height: 62px;
cursor: pointer;
color: #606266;
&:hover {
color: @main-color;
}
}
.bottom:hover {
border-bottom: 2px solid @main-color;
}
/* 总览*/
.current-module.bottom {
color: @main-color;
border-bottom: 2px solid @main-color;
font-weight: 500;
}
/* gic 后台*/
.moveleft {
margin-left: -136px;
transition: all .3s ease;
background-position: 151px 10px;
}
.moveright {
margin-left: 0px;
transition: all .2s ease;
}
.arrowico {
position: absolute;
-webkit-transition: all .5s;
transition: all .5s;
right: 0px;
top: 25px;
}
.arrow-icon-down {
position: relative;
-webkit-transition: all .5s;
-moz-transition: all .5s;
transition: all .5s;
}
.el-dialog__wrapper /deep/{
.el-dialog {
min-width: 425px;
width: 425px;
}
}
.el-dialog__body {
padding: 0 20px;
}
}
/*gic 商户后台*/
.itemlink-gic /deep/ {
float: left;
display: inline-block;
height: 62px;
padding: 0 20px;
position: relative;
color: #606266;
cursor: pointer;
&:hover {
color: @main-color;
}
&:hover .arrow-icon-down {
transform: rotate(180deg);
}
&:hover .itempanel {
display: block;
}
.curitemlink {
border-bottom: 2px solid @main-color;
}
.itempanel {
display: none;
}
.containers-listlik.current-rout {
color: @main-color;
}
.containers-listlik-a {
display: block;
}
.gicnavlink {
position: absolute;
left: -100px;
top: 60px;
width: 966px;
min-height: 550px;
background: #fff;
min-width: 150px;
border-radius: 4px;
border: 1px solid #ebeef5;
padding: 12px 0px 25px 30px;
z-index: 9999;
color: #606266;
line-height: 1.4;
text-align: justify;
font-size: 14px;
box-shadow: 0 2px 12px 0 rgba(0,0,0,.1);
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-o-box-sizing: border-box;
box-sizing: border-box;
}
.gicnavarrow {
position: absolute;
left: 50%;
top: 50px;
transform: translate(-50%);
z-index: 3;
.arrow {
position: relative;
display: block;
background-color: #fff;
width: 6px;
height: 6px;
border: 0;
border-top: 1px solid #ebeef5;
border-right: 1px solid #ebeef5;
transform: translate(0px, 7px) rotate(-45deg);
filter: drop-shadow(0 2px 12px rgba(0,0,0,.03));
&:after {
position: absolute;
left: 0;
top: -2px;
width: 10px;
height: 1px;
content: '';
border-radius: 2px;
background-color: #fff;
transform-origin: left top;
transform: rotate(45deg);
}
}
}
.containers {
display: flex;
flex-wrap: wrap;
flex-flow: row wrap;
padding: 0;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-o-box-sizing: border-box;
box-sizing: border-box;
margin: 0;
&-ul {
line-height: 40px;
}
&-title {
color: #303133;
font-size: 14px;
font-weight: bold;
padding: 0;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-o-box-sizing: border-box;
box-sizing: border-box;
}
&-listlik {
font-size: 12px;
color: #606266;
line-height: 30px;
}
&-item {
flex: 0 0 185px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-o-box-sizing: border-box;
box-sizing: border-box;
}
}
.curactive {
color: #fede29;
}
}
li {
list-style: none;
}
/*用户信息*/
.navuserinfo /deep/ {
width: 140px;
text-align: center;
a {
color: #606266;
}
.navusername {
position: relative;
display: inline-block;
padding: 0 20px;
height: 48px;
&:hover {
color: @main-color;
}
&:hover .arrowico {
transform: rotate(180deg);
}
}
}
.navsuerwrap /deep/ {
.useritem {
position: relative;
line-height: 35px;
height: 35px;
margin-bottom: 10px;
text-align: center;
color: #606266;
a {
color: #606266;
}
&:hover .usertext {
display: block;
width: 119px;
margin-left: -12px;
color: @main-color;
background-color: @userinfobgcolor;
cursor: pointer;
}
}
.loginout {
border-top: 1px solid #eee;
box-sizing: border-box;
padding: 15px 0;
margin-bottom: 20px;
}
}
.el-popover {
min-width: 95px;
}
.user-header-pop {
min-width: 95px;
}
.el-popover.user-header-pop {
min-width: 95px;
}
/*弹窗*/
/*.user-dialog-wrap /deep/ {
position: relative;*/
.el-dialog__wrapper{
/deep/ .el-dialog {
min-width: 425px;
width: 425px;
/deep/ .el-dialog__body {
padding: 0 20px;
}
}
}
.user-form-dialog {
/deep/ .el-dialog {
min-width: 425px;
}
/deep/ .el-dialog__body {
padding: 0 20px;
}
/deep/ .el-input {
width: 260px;
}
}
.pass-form-dialog {
/deep/ .el-dialog {
min-width: 425px;
}
/deep/ .el-dialog__body {
padding: 0 20px;
}
}
.el-input {
width: 260px;
}
/*}*/
/* 当浏览器的可视区域小于1280px */
@media screen and ( max-width: 1280px ) {
.navheader {
min-width: 1280px
}
}
@media screen and (min-width: 1280px) and ( max-width: 1366px ) {
.navheader {
min-width: 1280px
}
}
@media screen and (min-width: 1366px) and ( max-width: 1440px ) {
.navheader {
min-width: 1366px
}
}
@media screen and (min-width: 1440px) and ( max-width: 1920px ) {
.navheader {
min-width: 1440px
}
}
</style>
import Vue from 'vue'
import App from './App.vue'
new Vue({
el: '#app',
render: h => h(App)
})
var path = require('path')
var webpack = require('webpack')
module.exports = {
// entry: './src/main.js',
entry: './src/lib/index.js',
output: {
path: path.resolve(__dirname, './dist'),
publicPath: './',
// filename: 'build.js',
filename: 'vue-gic-header.js',
library: 'vue-gic-header',
libraryTarget: 'umd',
umdNamedDefine: true
},
module: {
rules: [
{
test: /\.css$/,
use: [
'vue-style-loader',
'css-loader'
],
},
{
test: /\.scss$/,
use: [
'vue-style-loader',
'css-loader',
'sass-loader'
],
},
{
test: /\.sass$/,
use: [
'vue-style-loader',
'css-loader',
'sass-loader?indentedSyntax'
],
},
{
test: /\.vue$/,
loader: 'vue-loader',
options: {
loaders: {
// Since sass-loader (weirdly) has SCSS as its default parse mode, we map
// the "scss" and "sass" values for the lang attribute to the right configs here.
// other preprocessors should work out of the box, no loader config like this necessary.
'scss': [
'vue-style-loader',
'css-loader',
'sass-loader'
],
'sass': [
'vue-style-loader',
'css-loader',
'sass-loader?indentedSyntax'
]
}
// other vue-loader options go here
}
},
{
test: /\.js$/,
loader: 'babel-loader',
exclude: /node_modules/
},
{
test: /\.(png|jpg|gif|svg)$/,
loader: 'file-loader',
// options: {
// name: '[name].[ext]?[hash]'
// },
query : {
name : 'static/img/[name].[ext]?[hash]'
}
}
]
},
resolve: {
alias: {
'vue$': 'vue/dist/vue.esm.js'
},
extensions: ['*', '.js', '.vue', '.json']
},
devServer: {
historyApiFallback: true,
noInfo: true,
overlay: true
},
performance: {
hints: false
},
devtool: '#eval-source-map'
}
if (process.env.NODE_ENV === 'production') {
module.exports.devtool = '#source-map'
// http://vue-loader.vuejs.org/en/workflow/production.html
module.exports.plugins = (module.exports.plugins || []).concat([
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: '"production"'
}
}),
new webpack.optimize.UglifyJsPlugin({
sourceMap: true,
compress: {
warnings: false
}
}),
new webpack.LoaderOptionsPlugin({
minimize: true
})
])
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment