| | |
| | | <div class="logo"> |
| | | <div class="title">{{ title }}</div> |
| | | <div class="list"> |
| | | <div class="item active"> |
| | | <div>服务中心</div> |
| | | <div class="linellae"></div> |
| | | </div> |
| | | <div class="item" @click="getHeaderNav('0')">安防中心</div> |
| | | <div class="item" @click="getHeaderNav('1')">消控中心</div> |
| | | <div class="item" @click="getHeaderNav('2')">能管中心</div> |
| | | <div class="item" @click="getHeaderNav('3')">驾驶舱</div> |
| | | <div :class="index==currentIndex?'item active':'item'" v-for="(item,index) in topMenuList.list" :key="item.id" @click="getHeaderNav(item,index)" :index="index">{{item.label}} |
| | | <div v-if="index==currentIndex" class="linellae"></div> |
| | | </div> |
| | | </div> |
| | | <!-- <div class="title-en">Diagnosis of Intelligent Manufacturing Integrated Service Platfrom</div> --> |
| | | </div> |
| | | <div class="user"> |
| | | <el-dropdown v-if="isLogined" trigger="click"> |
| | |
| | | </div> |
| | | </div> |
| | | <!-- 修改密码 --> |
| | | <template v-if="editPsd"> |
| | | <GlobalAlertWindow title="修改密码" :visible.sync="visible.changePwd" |
| | | :showClose="!userInfo.needChangePwd || userInfo.needChangePwd == '0'" |
| | | :showCancel="!userInfo.needChangePwd || userInfo.needChangePwd == '0'" @confirm="confirmChangePwd" |
| | | @close="visible.changePwd = false"> |
| | | <el-form :model="changePwdData.form" ref="changePwdDataForm" :rules="changePwdData.rules"> |
| | | <el-form-item label="原始密码" prop="oldPwd" required> |
| | | <el-input v-model="changePwdData.form.oldPwd" type="password" placeholder="请输入原始密码" maxlength="30" |
| | | show-password></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="新密码" prop="newPwd" required> |
| | | <el-input v-model="changePwdData.form.newPwd" type="password" placeholder="请输入新密码,密码需包含字母、数字及特殊字符中的至少两种" |
| | | maxlength="20" show-password></el-input> |
| | | </el-form-item> |
| | | <!-- <div style="font-size: 12px;color:#999999">密码需包含字母、数字及特殊字符中的至少两种</div> --> |
| | | <el-form-item label="确认新密码" prop="confirmPwd" required> |
| | | <el-input v-model="changePwdData.form.confirmPwd" type="password" placeholder="请再次输入新密码" maxlength="20" |
| | | show-password></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </GlobalAlertWindow> |
| | | </template> |
| | | |
| | | <GlobalAlertWindow title="修改密码" :visible.sync="visible.changePwd" |
| | | :showClose="userInfo && (!userInfo.needChangePwd || userInfo.needChangePwd == '0')" |
| | | :showCancel="userInfo && (!userInfo.needChangePwd || userInfo.needChangePwd == '0')" @confirm="confirmChangePwd" |
| | | @close="visible.changePwd = false"> |
| | | <el-form :model="changePwdData.form" ref="changePwdDataForm" :rules="changePwdData.rules"> |
| | | <el-form-item label="原始密码" prop="oldPwd" required> |
| | | <el-input v-model="changePwdData.form.oldPwd" type="password" placeholder="请输入原始密码" maxlength="30" |
| | | show-password></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="新密码" prop="newPwd" required> |
| | | <el-input v-model="changePwdData.form.newPwd" type="password" placeholder="请输入新密码,密码需包含字母、数字及特殊字符中的至少两种" |
| | | maxlength="20" show-password></el-input> |
| | | </el-form-item> |
| | | <!-- <div style="font-size: 12px;color:#999999">密码需包含字母、数字及特殊字符中的至少两种</div> --> |
| | | <el-form-item label="确认新密码" prop="confirmPwd" required> |
| | | <el-input v-model="changePwdData.form.confirmPwd" type="password" placeholder="请再次输入新密码" maxlength="20" |
| | | show-password></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </GlobalAlertWindow> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | default: true |
| | | } |
| | | }, |
| | | data() { |
| | | data () { |
| | | return { |
| | | title: process.env.VUE_APP_TITLE, |
| | | headerNavData: {}, |
| | | editPsd: false, |
| | | currentIndex: 0, |
| | | visible: { |
| | | // 修改密码 |
| | | changePwd: false |
| | |
| | | ], |
| | | newPwd: [ |
| | | { required: true, message: '请输入密码', trigger: 'blur' }, |
| | | { validator: this.validatePassword, trigger: 'blur' }, |
| | | { validator: this.validatePassword, trigger: 'blur' } |
| | | ], |
| | | confirmPwd: [ |
| | | { required: true, message: '请再次输入新密码' } |
| | |
| | | } |
| | | }, |
| | | computed: { |
| | | ...mapState(['menuData', 'userInfo']), |
| | | ...mapState(['menuData', 'userInfo', 'topMenuList']) |
| | | // title () { |
| | | // return this.$route.meta.title |
| | | // } |
| | | }, |
| | | created() { |
| | | created () { |
| | | |
| | | }, |
| | | mounted() { |
| | | // console.log('userInfo',this.userInfo); |
| | | if (!this.userInfo.needChangePwd || this.userInfo.needChangePwd == '0') { |
| | | mounted () { |
| | | // needChangePwd 0 : 默认密码需要修改,1 不需要 |
| | | if (this.userInfo && (!this.userInfo.needChangePwd || this.userInfo.needChangePwd == '0')) { |
| | | this.visible.changePwd = true |
| | | } |
| | | }, |
| | | filters: { |
| | | // 展示名称 |
| | | displayName(userInfo) { |
| | | displayName (userInfo) { |
| | | if (userInfo == null) { |
| | | return '' |
| | | } |
| | |
| | | } |
| | | }, |
| | | methods: { |
| | | ...mapMutations(['setUserInfo', 'switchCollapseMenu', 'clearUserInfo']), |
| | | ...mapMutations(['setUserInfo', 'switchCollapseMenu', 'clearUserInfo', 'setTopMenuCurrent']), |
| | | // 修改密码 |
| | | changePwd() { |
| | | this.$set(this.userInfo, 'needChangePwd', this.$store.state.userInfo.needChangePwd) |
| | | this.editPsd = true |
| | | changePwd () { |
| | | this.visible.changePwd = true |
| | | this.$nextTick(() => { |
| | | this.$refs.changePwdDataForm.resetFields() |
| | | }) |
| | | }, |
| | | validatePassword(rule, value, callback) { |
| | | validatePassword (rule, value, callback) { |
| | | if (!value) { |
| | | callback(new Error('请输入密码')) |
| | | } else { |
| | |
| | | } |
| | | } |
| | | }, |
| | | getHeaderNav(type) { |
| | | getHeaderNav (item,index) { |
| | | this.currentIndex = index |
| | | if(item.linkType === 0){ |
| | | this.setTopMenuCurrent(item) |
| | | }else{ |
| | | if (item.url && item.url === 'goHKAF' && item.params != null) { |
| | | this.getHKAFHeaderNav(item.params) |
| | | } else if (item.url && item.url.indexOf('http') === 0) { |
| | | window.open(item.url, '_blank') |
| | | } |
| | | } |
| | | }, |
| | | getHKAFHeaderNav (type) { |
| | | getAppHeaderNav(type).then(res => { |
| | | window.open(res, "_blank") |
| | | window.open(res, '_blank') |
| | | }) |
| | | }, |
| | | handleTest () { |
| | | const myWindow = window.open('https://10.50.250.253/portal/ui/index?componentId=dfe&componentMenuId=process_apply') |
| | | setTimeout(() => { |
| | | const params = { |
| | | componentId: 'dfe', |
| | | componentMenuId: 'process_apply', |
| | | callback: { |
| | | method: 'dealTlncMsg', |
| | | argument: { |
| | | msgId: '98c256b9-aaff-11ef-8347-fa163ee2c57c', |
| | | moduleId: 'dfeFlowTodoModuleId', |
| | | msgTitle: '请及时处理13856591439发起的请假申请', |
| | | msgStatus: '0', |
| | | msgCreateTime: '今天 15:33', |
| | | msgCreateTimeIso: '2024-11-25T15:33:42.000+08:00', |
| | | serverTime: 1732531014591, |
| | | menuCode: 'process_apply', |
| | | msgStatusStr: '待处理', |
| | | comId: 'dfe', |
| | | userId: '13856591439', |
| | | extendNoShow: '{"processInstanceId":"98a57fe0-aaff-11ef-8347-fa163ee2c57c","processId":"process_dabcfdd39f1b6f46d36a9f4ff6ce1080","param":{"sourceType":"todo","modelCode":"tb_leave_dfe_for_dfe_runtime","processNodeId":"UserTask_dde7d83377343a2d5fa1f60c23b023ef","taskId":"98c256b9-aaff-11ef-8347-fa163ee2c57c"},"process.param.appId":"32ca8770-6f85-11ec-b5a3-991864da52a6","appId":"32ca8770-6f85-11ec-b5a3-991864da52a6","name":"请假申请","taskId":"98c256b9-aaff-11ef-8347-fa163ee2c57c","taskNodeId":"UserTask_dde7d83377343a2d5fa1f60c23b023ef","url":"/dfe-form/process/tlnc/apply"}', |
| | | targetComId: 'dfe', |
| | | moduleName: '流程待办', |
| | | tid: '99cad778-aaff-11ef-9dbf-ff08ba71965c', |
| | | msgEndTime: null, |
| | | msgEndTimeIso: '', |
| | | picUrl: '', |
| | | extendJson: '{"key1":"请及时处理陈鸿飞发起的请假申请"}', |
| | | extendParam: null, |
| | | extendCascade: null, |
| | | createUser: '13856591439', |
| | | webCascadeUrl: null, |
| | | h5CascadeUrl: null, |
| | | cascadeTodoOpenType: null, |
| | | cascadeSourceConfigId: null, |
| | | h5Url: '/h5/pages/form-page/form-page?returnPath=-1&appId=32ca8770-6f85-11ec-b5a3-991864da52a6&taskId=98c256b9-aaff-11ef-8347-fa163ee2c57c&processNodeId=UserTask_dde7d83377343a2d5fa1f60c23b023ef&modelCode=tb_leave_dfe_for_dfe_runtime&type=flowHandle&component=form-apply&_sn=true', |
| | | segmentId: 'dfe-form', |
| | | lastUsers: '陈鸿飞', |
| | | currentUsers: '陈鸿飞', |
| | | todoTypeCode: 'dfe@@tlnc_placeholder_tlnc@@dfeFlowTodoModuleId', |
| | | currentUserIds: '13856591439', |
| | | lastUserIds: '13856591439', |
| | | msgDesc: null, |
| | | widgetUrl: null, |
| | | detailType: null, |
| | | widgetWidth: null, |
| | | widgetHeight: null, |
| | | userIdList: null, |
| | | statusName: null, |
| | | arriveTime: null, |
| | | stayTime: null, |
| | | todoType: null, |
| | | cascadePort: null, |
| | | openMode: null |
| | | } |
| | | }, |
| | | msgType: 'tlnc' |
| | | } |
| | | const argus = JSON.stringify(params) |
| | | myWindow.postMessage('{"method":"goToApp","argument":' + argus + '}', '*') |
| | | }, 8000) |
| | | }, |
| | | // 确定修改密码 |
| | | confirmChangePwd() { |
| | | confirmChangePwd () { |
| | | if (this.isWorking.changePwd) { |
| | | return |
| | | } |
| | |
| | | }) |
| | | .then(() => { |
| | | this.$tip.apiSuccess('修改成功') |
| | | this.$store.commit('setUserInfo', { needChangePwd: 1 }) |
| | | this.visible.changePwd = false |
| | | }) |
| | | .catch(e => { |
| | |
| | | }) |
| | | }, |
| | | // 退出登录 |
| | | logout() { |
| | | logout () { |
| | | logout() |
| | | .then(() => { |
| | | this.clearUserInfo() |
| | |
| | | |
| | | .list { |
| | | flex: 1; |
| | | display: flex; |
| | | align-items: center; |
| | | margin-left: 60px; |
| | | |
| | | .item { |
| | | margin-right: 40px; |
| | | font-size: 16px; |
| | | font-weight: 400; |
| | | margin-top: 10px; |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | justify-content: flex-start; |
| | | height: 40px; |
| | | cursor: pointer; |
| | | .item { |
| | | margin-right: 40px; |
| | | font-size: 16px; |
| | | font-weight: 400; |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | justify-content: flex-start; |
| | | height: 40px; |
| | | cursor: pointer; |
| | | |
| | | .linellae { |
| | | width: 64px; |
| | | height: 2px; |
| | | background: #FFFFFF; |
| | | .linellae { |
| | | width: 64px; |
| | | height: 2px; |
| | | background: #FFFFFF; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .active { |
| | | font-weight: 500; |
| | | } |
| | | .active { |
| | | font-weight: 500; |
| | | } |
| | | |
| | | } |
| | | |
| | | .header { |
| | |
| | | align-items: center; |
| | | |
| | | .title { |
| | | width: 240px; |
| | | font-size: 18px; |
| | | width: 320px; |
| | | } |
| | | |
| | | // display: inline; |
| | |
| | | } |
| | | |
| | | .user { |
| | | width: 212px; |
| | | width: 152px; |
| | | box-sizing: border-box; |
| | | height: 56px; |
| | | padding-right: 25px; |