多体系建设信息化条统-前端
祖安之光
2025-11-14 a5827ceecd1bc3de6f48a0cfd47c95d8dd429e2b
修改新增
1 files modified
78 ■■■■ changed files
src/views/menuPage.vue 78 ●●●● patch | view | raw | blame | history
src/views/menuPage.vue
@@ -51,11 +51,11 @@
            </div>
            <div class="process-list" v-if="flowList && flowList.length>0">
              <div class="process-item" v-for="process in flowList" :key="process.id">
                <div class="process-info">
                  <span class="process-name">{{process.title}}</span>
                  <span class="process-status" :class="{processing: process.type == 1,pending: process.type == 2,success: process.type == 3,normal: process.type == 4}">
                    {{process.type == 1? '内审实施计划':process.type == 2? '培训计划':process.type == 3? '项目评审':'年度检定计划'}}
                <div class="process-info" @click="openDetail(process)">
                  <span class="process-status" :class="{processing: process.type == 1,pending: process.type == 2,success: process.type == 3,normal: process.type == 4,seal: process.type == 5}">
                    {{process.type == 1? '内审实施计划':process.type == 2? '培训计划':process.type == 3? '项目评审':process.type == 4?'年度检定计划':process.type == 5?'用章审批(申请)': '用章审批(待审批)'}}
                  </span>
                  <span class="process-name">{{process.title}}</span>
                </div>
              </div>
            </div>
@@ -190,6 +190,7 @@
    </div>
    <user-dialog ref="reviewRef"></user-dialog>
    <edit-dialog ref="dialogRef" @getList=getPlatformList></edit-dialog>
    <sealDialog ref="noticeRef"></sealDialog>
  </div>
</template>
@@ -203,6 +204,7 @@
import useUserStore from '@/store/modules/user'
import userDialog from '@/views/build/conpanyFunctionConsult/staffManage/staffRegister/components/staffDialog.vue'
import editDialog from '@/views/build/conpanyFunctionConsult/infoPlatform/components/editDialog.vue'
import sealDialog from "@/views/work/sealManagement/apply/components/editDialog"
import menu1 from '@/assets/icons/menu1.png'
import menu2 from '@/assets/icons/menu2.png'
import menu3 from '@/assets/icons/menu3.png'
@@ -216,6 +218,7 @@
import {renderAsync} from "docx-preview";
import {getInfoPlatforms} from "@/api/staffManage/staff";
import {getCompany} from "@/api/onlineEducation/company";
import {getSealApply} from "@/api/sealManage/apply";
const router = useRouter()
const route = useRoute();
@@ -228,6 +231,7 @@
const newMemo = ref('')
const calendarRef = ref()
const dialogRef = ref()
const noticeRef = ref();
const userStore = useUserStore()
const state = reactive({
  noticeParams: {
@@ -280,10 +284,40 @@
  })
})
const getSealDetail = async (type,sealId) => {
  let param = {}
  if(type == 5){
    param = {
      pageNum: 1,
      pageSize: 999,
      companyId: state.noticeParams.companyId,
      applyUserId: userStore.id
    }
  }else{
    param = {
      pageNum: 1,
      pageSize: 999,
      companyId: state.noticeParams.companyId,
      nextCheck: userStore.id
    }
  }
  const res = await getSealApply(param);
  if(res.code === 200){
    return res.data.list.find(i=>i.id == sealId)
  }else{
    ElMessage.warning(res.message)
  }
}
const toNoticeMng = ()=>{
  router.push({ path: "/work/noticeMng" });
}
const openDetail = async (value) => {
  if(value.type == '5' || value.type == '6'){
    const data = await getSealDetail(Number(value.type),Number(value.dataId))
    noticeRef.value.openDialog('review', data,state.companyList)
  }
}
function getNoticeList() {
  listNotice(state.noticeParams).then(res => {
    state.noticeList = res.data.list
@@ -323,7 +357,7 @@
const getFlowList = async () => {
  const res = await getIndexTitle({pageNum: 1,pageSize: 99})
  if(res.code == 200){
    state.flowList = Array.isArray(res.data) ? res.data : []
    state.flowList = Array.isArray(res.data.list) ? res.data.list : []
  }else{
    ElMessage.warning(res.message)
  }
@@ -333,7 +367,6 @@
  const res = await getMemoList()
  if(res.code == 200){
    state.memo = res.data ? res.data : {}
    console.log(state.memo,'memo')
  }else{
    ElMessage.warning(res.message)
  }
@@ -804,8 +837,10 @@
// 通知公告模块
.notice-module {
  flex: 1;
  .notice-list {
    flex: 1;
    overflow: hidden;
    overflow-y: auto;
    .notice-item {
@@ -845,24 +880,32 @@
// 流程中心模块
.process-module {
  flex: 1;
  overflow-y: auto;
  .process-list {
    flex: 1;
    overflow-y: auto;
    .process-item {
      margin-bottom: 16px;
      margin-bottom: 8px;
      .process-info {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding-bottom: 8px;
        margin-bottom: 8px;
        box-sizing: border-box;
        border-bottom: 1px dashed #f0f0f0;
        cursor: pointer;
        .process-name {
          color: #333;
          font-size: 14px;
          font-size: 16px;
          flex: 1;
          margin-right: 12px;
          &:hover {
            color: #409eff;
          }
        }
        .process-status {
@@ -870,6 +913,7 @@
          padding: 2px 8px;
          border-radius: 4px;
          flex-shrink: 0;
          margin-right: 10px;
          &.processing {
            background: #e6f7ff;
@@ -882,13 +926,18 @@
          }
          &.success {
            background: #f6ffed;
            background: #edffdb;
            color: #52c41a;
          }
          &.normal {
            background: #ccc;
            color: #333;
            background: #ffebca;
            color: #ff6518;
          }
          &.seal {
            background: #ffe6e6;
            color: #ff1818;
          }
        }
      }
@@ -898,6 +947,7 @@
// 备忘录模块
.memo-module {
  flex: 1;
  .memo-content {
    flex: 1;
    display: flex;