doum
2025-09-25 c5675caab8392bfafd217d06529c2547edaa6aa8
admin/src/components/common/CommonHeader.vue
@@ -4,17 +4,10 @@
      <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="item" @click="handleTest">测试</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">
@@ -69,10 +62,11 @@
      default: true
    }
  },
  data() {
  data () {
    return {
      title: process.env.VUE_APP_TITLE,
      headerNavData: {},
      currentIndex: 0,
      visible: {
        // 修改密码
        changePwd: false
@@ -95,7 +89,7 @@
          ],
          newPwd: [
            { required: true, message: '请输入密码', trigger: 'blur' },
            { validator: this.validatePassword, trigger: 'blur' },
            { validator: this.validatePassword, trigger: 'blur' }
          ],
          confirmPwd: [
            { required: true, message: '请再次输入新密码' }
@@ -105,23 +99,23 @@
    }
  },
  computed: {
    ...mapState(['menuData', 'userInfo']),
    ...mapState(['menuData', 'userInfo', 'topMenuList'])
    // title () {
    //   return this.$route.meta.title
    // }
  },
  created() {
  created () {
  },
  mounted() {
  mounted () {
    // needChangePwd 0 : 默认密码需要修改,1 不需要
    if (userInfo && (!this.userInfo.needChangePwd || this.userInfo.needChangePwd == '0')) {
    if (this.userInfo && (!this.userInfo.needChangePwd || this.userInfo.needChangePwd == '0')) {
      this.visible.changePwd = true
    }
  },
  filters: {
    // 展示名称
    displayName(userInfo) {
    displayName (userInfo) {
      if (userInfo == null) {
        return ''
      }
@@ -132,15 +126,15 @@
    }
  },
  methods: {
    ...mapMutations(['setUserInfo', 'switchCollapseMenu', 'clearUserInfo']),
    ...mapMutations(['setUserInfo', 'switchCollapseMenu', 'clearUserInfo', 'setTopMenuCurrent']),
    // 修改密码
    changePwd() {
    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 {
@@ -160,74 +154,87 @@
        }
      }
    },
    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() {
    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
            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'
        }
        let argus = JSON.stringify(params)
        const argus = JSON.stringify(params)
        myWindow.postMessage('{"method":"goToApp","argument":' + argus + '}', '*')
      }, 3000)
      }, 8000)
    },
    // 确定修改密码
    confirmChangePwd() {
    confirmChangePwd () {
      if (this.isWorking.changePwd) {
        return
      }
@@ -260,7 +267,7 @@
      })
    },
    // 退出登录
    logout() {
    logout () {
      logout()
        .then(() => {
          this.clearUserInfo()
@@ -285,31 +292,32 @@
.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 {
@@ -334,7 +342,8 @@
    align-items: center;
    .title {
      width: 240px;
      font-size: 18px;
      width: 320px;
    }
    // display: inline;
@@ -346,7 +355,7 @@
  }
  .user {
    width: 212px;
    width: 152px;
    box-sizing: border-box;
    height: 56px;
    padding-right: 25px;