浏览代码

fix: 新建快捷导航无法删除bug修复

cfort 2 年之前
父节点
当前提交
3ef150e9e3

+ 12 - 13
src/views/system/dashboard/components/util.js

@@ -8,7 +8,7 @@ import { findAllByCurrUserId, saveCalendarInfos, removeCalendarInfos, delNavigat
 import { isEqual } from 'lodash'
 import { isEqual } from 'lodash'
 import Bus from '@/utils/EventBus'
 import Bus from '@/utils/EventBus'
 import newPng from '@/assets/images/homepage/new.png'
 import newPng from '@/assets/images/homepage/new.png'
-import { BASE_API, BUSINESS_BASE_URL, SYSTEM_URL } from '@/api/baseUrl'
+import { BASE_URL } from '@/constant'
 
 
 /**
 /**
  * 创建组件
  * 创建组件
@@ -60,11 +60,12 @@ export function buildComponent (name, column, preview, vm) {
             },
             },
             data () {
             data () {
                 const { first = '', second = '' } = this.$store.getters.level
                 const { first = '', second = '' } = this.$store.getters.level
-                const { userList = [], deptList = [], menus, userInfo } = this.$store.getters
+                const { userId, userList = [], deptList = [], menus, userInfo } = this.$store.getters
                 const t1 = deptList.find(i => i.positionId === first) || {}
                 const t1 = deptList.find(i => i.positionId === first) || {}
                 const t2 = deptList.find(i => i.positionId === second) || {}
                 const t2 = deptList.find(i => i.positionId === second) || {}
                 const locationName = second ? t1.positionName + t2.positionName : t1.positionName
                 const locationName = second ? t1.positionName + t2.positionName : t1.positionName
                 return {
                 return {
+                    userId,
                     userList,
                     userList,
                     deptList,
                     deptList,
                     menus,
                     menus,
@@ -186,15 +187,13 @@ export function buildComponent (name, column, preview, vm) {
                         })
                         })
                     } else if (param.alias === 'quickNavigation') {
                     } else if (param.alias === 'quickNavigation') {
                         getNavigation().then(res => {
                         getNavigation().then(res => {
-                            let arr = res.data || []
-                            arr.forEach((item,i)=>{
-                                if(item.userId==""){
-                                    item.urlAddr = BASE_API().slice(0,-4) + '#' +item.urlAddr
-                                    // console.log(item.urlAddr,'item.urlAddr')
+                            const { data = [] } = res || {}
+                            data.forEach(item => {
+                                if (!item.userId) {
+                                    item.urlAddr = `${BASE_URL}#${item.urlAddr}`
                                 }
                                 }
                             })
                             })
-                            
-                            this.quickNavigationData = arr
+                            this.quickNavigationData = data
                         })
                         })
                     } else {
                     } else {
                         getData(param, params).then(res => {
                         getData(param, params).then(res => {
@@ -391,7 +390,7 @@ export function buildComponent (name, column, preview, vm) {
                         myTesting: 'rygl/kszx/wdks',
                         myTesting: 'rygl/kszx/wdks',
                         myDevices: 'sbgls/mywh',
                         myDevices: 'sbgls/mywh',
                         notice: 'tygl/tzgg',
                         notice: 'tygl/tzgg',
-                        myFacility:'sshjgl/sshjjk/sshjkzzl'
+                        myFacility: 'sshjgl/sshjjk/sshjkzzl'
                     }
                     }
                     if (menuMap[url]) {
                     if (menuMap[url]) {
                         const alias = menuMap[url].split('/')[0]
                         const alias = menuMap[url].split('/')[0]
@@ -475,7 +474,7 @@ export function buildComponent (name, column, preview, vm) {
                             addNavigation({ id: '', ...this.quickNavform }).then(res => {
                             addNavigation({ id: '', ...this.quickNavform }).then(res => {
                                 this.$message.success('添加成功!')
                                 this.$message.success('添加成功!')
                                 const { id } = res.variables || {}
                                 const { id } = res.variables || {}
-                                this.quickNavigationData.unshift({ id, ...this.quickNavform })
+                                this.quickNavigationData.unshift({ id, ...this.quickNavform, userId: this.userId })
                                 this.dialogFormVisible = false
                                 this.dialogFormVisible = false
                             })
                             })
                         } else {
                         } else {
@@ -496,12 +495,12 @@ export function buildComponent (name, column, preview, vm) {
                 },
                 },
                 // 父组件调用该方法给日程添加数据
                 // 父组件调用该方法给日程添加数据
                 async setCalendarEvents (param) {
                 async setCalendarEvents (param) {
-                    const { userId = '', name = '' } = this.$store.getters
+                    const { name = '' } = this.$store.getters
                     const form = param.form
                     const form = param.form
                     const paramObject = {
                     const paramObject = {
                         id: form.id ? form.id : '11111',
                         id: form.id ? form.id : '11111',
                         // diDian: "string", // 地点
                         // diDian: "string", // 地点
-                        userId: userId, // 用户id
+                        userId: this.userId, // 用户id
                         userName: name, // 用户名
                         userName: name, // 用户名
                         title: form.biaoTi, // 标题
                         title: form.biaoTi, // 标题
                         content: form.neiRong, // 内容
                         content: form.neiRong, // 内容

+ 91 - 91
src/views/system/dashboard/templates/pendingMatters.vue

@@ -1,99 +1,99 @@
 <template>
 <template>
-<el-card class="home-card changeShadow">
-    <div slot="header" class="clearfix">
-        <ibps-icon name="list-ul" />
-        <el-badge :value="totalCount" :max="99" class="badge">
-            <span class="title">{{ title }}</span>
-        </el-badge>
-        <ibps-desktop-toolbar
-            ref="toolbar"
-            :actions="[{ key: 'refresh' }, { key: 'more' }, { key: 'collapse' }]"
-            @action-event="handleActionEvent"
-        />
-    </div>
-    <div ref="body" :style="{height: showHeight, width: '100%'}">
-        <el-scrollbar
-            style="height: 100%; width: 100%;"
-            wrap-class="ibps-scrollbar-wrapper"
-        >
-            <!-- <ibps-list-group v-if="data && data.length >0">
-                <ibps-list v-for="(item,i) in data" :key="i" @click.native="handleFlowClick({taskId:item.taskId})">
-                    <div slot="label">{{ item.createTime|dateFormat }}</div>
-                    <el-link type="primary" :underline="false">{{ item.subject|removeHtmlTag }}</el-link>
-                    <el-avatar slot="icon" :src="getPhoto(item.instCreatorPhoto)" icon="el-icon-user-solid" @error="errorAvatarHandler">{{ item.creator }}</el-avatar>
-                    <span slot="extra">
-                        <ibps-icon name="dot-circle-o" style="color:#36c6d3" />
-                        {{ item.status | filterStatus('pending') }}
-                    </span>
-                </ibps-list>
-            </ibps-list-group> -->
-            <ibps-list v-if="data && data.length>0" class="ibps-pr-10">
-                <ibps-list-item
-                    v-for="(item, index) in data"
-                    :key="index"
-                    style="padding: 6px 0;"
-                    @click.native="handleFlowClick({ taskId: item.taskId,flowName:item.name })"
-                >
-                    <ibps-list-item-meta>
-                        <template slot="avatar">
-                            <template v-if="item.remindTimes === 0">
-                                <el-avatar
-                                    :src="getPhoto(item.photo)"
-                                    icon="el-icon-user-solid"
-                                    @error="errorAvatarHandler"
-                                >{{ item.creator }}</el-avatar>
-                            </template>
-                            <template v-else>
-                                <el-badge :value="item.remindTimes" :max="99" class="item">
+    <el-card class="home-card changeShadow">
+        <div slot="header" class="clearfix">
+            <ibps-icon name="list-ul" />
+            <el-badge :value="totalCount" :max="99" class="badge">
+                <span class="title">{{ title }}</span>
+            </el-badge>
+            <ibps-desktop-toolbar
+                ref="toolbar"
+                :actions="[{ key: 'refresh' }, { key: 'more' }, { key: 'collapse' }]"
+                @action-event="handleActionEvent"
+            />
+        </div>
+        <div ref="body" :style="{height: showHeight, width: '100%'}">
+            <el-scrollbar
+                style="height: 100%; width: 100%;"
+                wrap-class="ibps-scrollbar-wrapper"
+            >
+                <!-- <ibps-list-group v-if="data && data.length >0">
+                    <ibps-list v-for="(item,i) in data" :key="i" @click.native="handleFlowClick({taskId:item.taskId})">
+                        <div slot="label">{{ item.createTime|dateFormat }}</div>
+                        <el-link type="primary" :underline="false">{{ item.subject|removeHtmlTag }}</el-link>
+                        <el-avatar slot="icon" :src="getPhoto(item.instCreatorPhoto)" icon="el-icon-user-solid" @error="errorAvatarHandler">{{ item.creator }}</el-avatar>
+                        <span slot="extra">
+                            <ibps-icon name="dot-circle-o" style="color:#36c6d3" />
+                            {{ item.status | filterStatus('pending') }}
+                        </span>
+                    </ibps-list>
+                </ibps-list-group> -->
+                <ibps-list v-if="data && data.length" class="ibps-pr-10">
+                    <ibps-list-item
+                        v-for="(item, index) in data"
+                        :key="index"
+                        style="padding: 6px 0;"
+                        @click.native="handleFlowClick({ taskId: item.taskId, flowName: item.name })"
+                    >
+                        <ibps-list-item-meta>
+                            <template slot="avatar">
+                                <template v-if="item.remindTimes === 0">
                                     <el-avatar
                                     <el-avatar
-                                        :src="getPhoto(item.instCreatorPhoto)"
+                                        :src="getPhoto(item.photo)"
                                         icon="el-icon-user-solid"
                                         icon="el-icon-user-solid"
                                         @error="errorAvatarHandler"
                                         @error="errorAvatarHandler"
                                     >{{ item.creator }}</el-avatar>
                                     >{{ item.creator }}</el-avatar>
-                                </el-badge>
+                                </template>
+                                <template v-else>
+                                    <el-badge :value="item.remindTimes" :max="99" class="item">
+                                        <el-avatar
+                                            :src="getPhoto(item.instCreatorPhoto)"
+                                            icon="el-icon-user-solid"
+                                            @error="errorAvatarHandler"
+                                        >{{ item.creator }}</el-avatar>
+                                    </el-badge>
+                                </template>
                             </template>
                             </template>
-                        </template>
-                        <el-link slot="title" type="primary" :underline="false" style="display: inline-block; width: 100%;">
-                            <div style="display: flex; justify-content: space-between; width: 100%;">
-                                <span style="font-size: 14px; width: 70%;">{{ item.procDefName }}</span>
-                                <div style="font-size:14px">
-                                    <el-tag size="mini" type="success" disable-transitions>{{ item.name.length > 5 ? `待${item.name.slice(0, 4)}...` : `待${item.name}` }}</el-tag>
-                                    <el-tag v-if="item.expired === '即将超时'" size="mini" type="warning">{{ item.expired }}</el-tag>
-                                    <el-tag v-else-if="item.expired === '已超时'" size="mini" type="danger">{{ item.expired }}</el-tag>
+                            <el-link slot="title" type="primary" :underline="false" style="display: inline-block; width: 100%;">
+                                <div style="display: flex; justify-content: space-between; width: 100%;">
+                                    <span style="font-size: 14px; width: 70%;">{{ item.procDefName }}</span>
+                                    <div style="font-size:14px">
+                                        <el-tag size="mini" type="success" disable-transitions>{{ item.name.length > 5 ? `待${item.name.slice(0, 4)}...` : `待${item.name}` }}</el-tag>
+                                        <el-tag v-if="item.expired === '即将超时'" size="mini" type="warning">{{ item.expired }}</el-tag>
+                                        <el-tag v-else-if="item.expired === '已超时'" size="mini" type="danger">{{ item.expired }}</el-tag>
+                                    </div>
+                                    <!-- <el-tag v-else-if="item.state=='danger'" type=''>{{ '已超时' }}</el-tag> -->
                                 </div>
                                 </div>
-                                <!-- <el-tag v-else-if="item.state=='danger'" type=''>{{ '已超时' }}</el-tag> -->
-                            </div>
-                        </el-link>
-                        <template slot="description">
-                            <div style="font-size: 12px;">
-                                {{ getTaskDesc(item.subject) }}
-                            </div>
-                        </template>
-                        <template slot="description">
-                            <div style="display: flex; justify-content: space-between;">
-                                <el-tag
-                                    v-if="getTaskInfo(item.subject, 'deptName')"
-                                    size="mini"
-                                    style="font-size: 12px;"
-                                    type="info"
-                                    disable-transitions
-                                >{{ getTaskInfo(item.subject, 'deptName') }}</el-tag>
-                                <div v-else style="color:#fff;">无</div>
-                                <span style="font-size: 12px;">
-                                    {{ item.createTime | dateFormat }}
-                                </span>
-                            </div>
-                        </template>
-                    </ibps-list-item-meta>
-                </ibps-list-item>
-            </ibps-list>
-            <el-alert
-                v-else
-                :title="$t('common.noData')"
-                :closable="false"
-                type="warning"
-            />
-        </el-scrollbar>
-    </div>
-</el-card>
+                            </el-link>
+                            <template slot="description">
+                                <div style="font-size: 12px;">
+                                    {{ getTaskDesc(item.subject) }}
+                                </div>
+                            </template>
+                            <template slot="description">
+                                <div style="display: flex; justify-content: space-between;">
+                                    <el-tag
+                                        v-if="getTaskInfo(item.subject, 'deptName')"
+                                        size="mini"
+                                        style="font-size: 12px;"
+                                        type="info"
+                                        disable-transitions
+                                    >{{ getTaskInfo(item.subject, 'deptName') }}</el-tag>
+                                    <div v-else style="color:#fff;">无</div>
+                                    <span style="font-size: 12px;">
+                                        {{ item.createTime | dateFormat }}
+                                    </span>
+                                </div>
+                            </template>
+                        </ibps-list-item-meta>
+                    </ibps-list-item>
+                </ibps-list>
+                <el-alert
+                    v-else
+                    :title="$t('common.noData')"
+                    :closable="false"
+                    type="warning"
+                />
+            </el-scrollbar>
+        </div>
+    </el-card>
 </template>
 </template>

+ 1 - 1
src/views/system/dashboard/templates/quickNavigation.vue

@@ -22,7 +22,7 @@
                     <el-tag
                     <el-tag
                         v-for="(tag, i) in quickNavigationData"
                         v-for="(tag, i) in quickNavigationData"
                         :key="i"
                         :key="i"
-                        :closable = "tag.userId==''?false:true"
+                        :closable="!!tag.userId"
                         :disable-transitions="false"
                         :disable-transitions="false"
                         class="draggable"
                         class="draggable"
                         @close="handleNavRemove(tag.id, i)"
                         @close="handleNavRemove(tag.id, i)"