mirror of
https://gitee.com/maimengcloud/xm-ui-web.git
synced 2025-12-30 10:12:26 +00:00
okr
This commit is contained in:
@@ -68,9 +68,10 @@
|
||||
"video.js": "^7.21.5",
|
||||
"vue": "3.4.20",
|
||||
"vue-dompurify-html": "^4.1.4",
|
||||
"vue-i18n": "9.9.1",
|
||||
"vue-i18n": "9.9.1",
|
||||
"vue-router": "^4.3.0",
|
||||
"vue-types": "^5.1.1",
|
||||
"vue3-tree-org": "^4.2.2",
|
||||
"vuedraggable": "^4.1.0",
|
||||
"web-storage-cache": "^1.1.1",
|
||||
"xlsx": "^0.18.5",
|
||||
|
||||
@@ -15,6 +15,7 @@ import MdpFormData from './mdp-expand/FormData.vue'
|
||||
import MdpFormExpand from './mdp-expand/FormExpand.vue'
|
||||
import MdpColumnExpand from './mdp-expand/ColumnExpand.vue'
|
||||
import MdpFuncMenu from './mdp-func-menu/Index.vue'
|
||||
import MdpFocus from './mdp-focus/Index.vue'
|
||||
|
||||
const compLists = {
|
||||
install: function(Vue) {
|
||||
@@ -36,6 +37,7 @@ const compLists = {
|
||||
Vue.component('MdpFormExpand', MdpFormExpand)
|
||||
Vue.component('MdpColumnExpand', MdpColumnExpand)
|
||||
Vue.component('MdpFuncMenu',MdpFuncMenu)
|
||||
Vue.component('MdpFocus',MdpFocus)
|
||||
}
|
||||
}
|
||||
export default compLists
|
||||
104
src/components/mdp-ui-ext/mdp-focus/Index.vue
Normal file
104
src/components/mdp-ui-ext/mdp-focus/Index.vue
Normal file
@@ -0,0 +1,104 @@
|
||||
<template>
|
||||
<el-row v-if="userFocuss.length>0">
|
||||
<el-tag type="success">已关注</el-tag> <el-button @click="handleDel">取消关注</el-button>
|
||||
</el-row>
|
||||
|
||||
<el-row v-if="userFocuss.length<=0">
|
||||
<el-tag type="primary">未关注</el-tag> <el-button @click="saveSubmit">去关注</el-button>
|
||||
</el-row>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
export default {
|
||||
name:'xmMyDoFocus',
|
||||
components: {
|
||||
|
||||
},
|
||||
computed: {
|
||||
|
||||
},
|
||||
props:['pbizId','bizId','focusType','bizName'],
|
||||
|
||||
watch: {
|
||||
bizId(){
|
||||
this.searchUserFocuss()
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
load:{ list: false, edit: false, del: false, add: false },//查询中...
|
||||
dicts:{},//下拉选择框的所有静态数据 params={categoryId:'all',itemCodes:['sex']} 返回结果 {sex: [{id:'1',name:'男'},{id:'2',name:'女'}]}
|
||||
|
||||
userFocuss:[],
|
||||
}//end return
|
||||
},//end data
|
||||
methods: {
|
||||
|
||||
//获取列表 UserFocus 我关注的项目或者任务
|
||||
searchUserFocuss() {
|
||||
let params = {
|
||||
pbizId:this.pbizId,
|
||||
bizId:this.bizId,
|
||||
focusType:this.focusType
|
||||
};
|
||||
|
||||
|
||||
this.load.list = true;
|
||||
this.$mdp.listUserFocus(params).then((res) => {
|
||||
var tips=res.data.tips;
|
||||
if(tips.isOk){
|
||||
this.userFocuss = res.data.data;
|
||||
}else{
|
||||
this.$notify({ position:'bottom-left',showClose:true, message: tips.msg, type: 'error' });
|
||||
}
|
||||
this.load.list = false;
|
||||
}).catch( err => this.load.list = false );
|
||||
},
|
||||
initData: function(){
|
||||
this.searchUserFocuss();
|
||||
},
|
||||
//删除userFocus
|
||||
handleDel: function ( ) {
|
||||
var row=this.userFocuss[0]
|
||||
this.load.del=true;
|
||||
let params = { userid:row.userid, bizId:row.bizId, pbizId:row.pbizId };
|
||||
this.$mdp.delUserFocus(params).then((res) => {
|
||||
this.load.del=false;
|
||||
var tips=res.data.tips;
|
||||
if(tips.isOk){
|
||||
this.searchUserFocuss();
|
||||
}
|
||||
this.$notify({ position:'bottom-left', showClose:true, message: tips.msg, type: tips.isOk?'success':'error' });
|
||||
}).catch( err => this.load.del=false );
|
||||
},
|
||||
//新增、编辑提交UserFocus 我关注的项目或者任务父组件监听@submit="afterEditSubmit"
|
||||
saveSubmit: function () {
|
||||
this.load.edit=true
|
||||
let params = {pbizId:this.pbizId,bizId:this.bizId,focusType:this.focusType,bizName:this.bizName}
|
||||
var func=this.$mdp.addUserFocus
|
||||
func(params).then((res) => {
|
||||
this.load.edit=false
|
||||
var tips=res.data.tips;
|
||||
|
||||
if(tips.isOk){
|
||||
this.searchUserFocuss()
|
||||
this.$emit('submit');// @submit="afterAddSubmit"
|
||||
}
|
||||
this.$notify({ position:'bottom-left',showClose:true, message: tips.msg, type: tips.isOk?'success':'error' });
|
||||
}).catch( err =>this.load.edit=false);
|
||||
},
|
||||
},//end method
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
|
||||
this.initData()
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -17,7 +17,7 @@
|
||||
import util from '@/components/mdp-ui/js/util';//全局公共库
|
||||
import { mapState } from 'pinia'
|
||||
import { useUserStore } from '@/store/modules/user';
|
||||
import VueEditor from '@/components/Tinymce/index';
|
||||
import { Editor as VueEditor } from '@/components/Editor'
|
||||
import {sn} from '@/components/mdp-ui/js/sequence';
|
||||
export default {
|
||||
props:["id","user","projectId","taskId","quoteId","replyId"],
|
||||
|
||||
@@ -7,10 +7,9 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import util from '@/components/mdp-ui/js/util'; //全局公共库
|
||||
import {
|
||||
mapGetters
|
||||
} from 'vuex'
|
||||
import util from '@/components/mdp-ui/js/util'; //全局公共库
|
||||
import { mapState } from 'pinia'
|
||||
import { useUserStore } from '@/store/modules/user'
|
||||
import XmGroupSelect from "./XmGroupSelectForProject.vue"
|
||||
export default {
|
||||
name:"tagDialog",
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
<template>
|
||||
<section class="page-container border padding" >
|
||||
<template>
|
||||
<el-row>
|
||||
<xm-project-select show-style="tag" style="display:inline;" v-if="!selProject&&!xmProduct" :auto-select="true" :link-iteration-id="xmIteration?xmIteration.id:null" :link-product-id="xmProduct?xmProduct.id:null" @selected="onProjectRowClick" @clear="onProjectClearSelect" />
|
||||
|
||||
@@ -19,7 +18,7 @@
|
||||
<el-button type="plain" @click="doSearchImGroupsByProjectId" icon="document">绑定即聊情况</el-button>
|
||||
<el-button @click="groupRoleDescVisible=true" icon="document">角色说明</el-button>
|
||||
<font style="font-size:12px;" color="blue">注意:点击架构图进行操作</font>
|
||||
<template #default><el-link type="warning" v-if="!selProject" icon="search">更多</el-link></template>
|
||||
<template #reference><el-link type="warning" v-if="!selProject" icon="search">更多</el-link></template>
|
||||
</el-popover>
|
||||
</el-row>
|
||||
<el-row ref="table" :style="{overflowX:'auto',height:maxTableHeight+'px'}">
|
||||
@@ -156,8 +155,8 @@
|
||||
</el-row>
|
||||
</el-drawer>
|
||||
<el-drawer append-to-body title="选择员工" v-model="userSelectVisible" size="60%">
|
||||
<users-select :select-userids="filters.ids?filters.ids.map(i=>i.id):[]" @confirm="onUserSelected" ref="usersSelect"></users-select>
|
||||
</el-drawer>
|
||||
<mdp-select-user @change2="onUserSelected"/>
|
||||
</el-drawer>
|
||||
|
||||
<el-drawer v-if="selProject" :title="selProject==null?'操作日志':selProject.name+'团队操作日志'" center v-model="xmRecordVisible" size="50%" :close-on-click-modal="false" append-to-body>
|
||||
<xm-record :obj-type="'group'" :visible="xmRecordVisible" :project-id="selProject.id" :simple="1" />
|
||||
@@ -181,9 +180,7 @@
|
||||
<el-drawer v-model="candidateVisible" size="80%" :close-on-click-modal="false" append-to-body>
|
||||
<xm-task-execuser-select :sel-project="filters.selProject" :visible="candidateVisible" @select="onExecuserSelect" />
|
||||
</el-drawer>
|
||||
</el-row>
|
||||
|
||||
</section>
|
||||
</el-row>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@@ -195,10 +192,11 @@ import { listXmGroup, delXmGroup, batchDelXmGroup,getGroups } from '@/api/xm/cor
|
||||
import XmGroupEdit from './XmGroupEdit.vue';//新增修改界面
|
||||
import { mapState } from 'pinia'
|
||||
import { useUserStore } from '@/store/modules/user'
|
||||
import {VueOkrTree} from 'vue-okr-tree';
|
||||
//如果样式有问题,尝试按以下方法之一引入样式,采用哪种取决于vue-okr-tree.css是存放在根目录还是dist目录下
|
||||
import 'vue-okr-tree/dist/vue-okr-tree.css'
|
||||
//import 'vue-okr-tree/vue-okr-tree.css'
|
||||
|
||||
|
||||
import VueOkrTree from 'vue3-tree-org';
|
||||
import "vue3-tree-org/lib/vue3-tree-org.css";
|
||||
|
||||
import { listImGroup} from '@/api/mdp/im/group/imGroup';
|
||||
import { publishMessage} from '@/api/mdp/im/imPush';
|
||||
|
||||
@@ -209,15 +207,14 @@ import { listXmGroupUser, delXmGroupUser, batchDelXmGroupUser,batchAddXmGroupUse
|
||||
import XmGroupStateMng from '../xmGroupState/XmGroupStateMng.vue';//修改界面
|
||||
import XmGroupUserMng from '../xmGroupUser/XmGroupUserMng.vue';//修改界面
|
||||
|
||||
import XmProjectSelect from '@/views/xm/core/components/XmProjectSelect.vue';
|
||||
import XmProductSelect from '@/views/xm/core/components/XmProductSelect.vue'
|
||||
import XmProjectSelect from '@/views/xm/core/components/XmProjectSelect.vue';
|
||||
import XmTaskExecuserSelect from '../xmTaskExecuser/XmTaskExecuserSelect.vue';
|
||||
|
||||
export default {
|
||||
name:'xmGroupMng',
|
||||
components: {
|
||||
XmGroupEdit,VueOkrTree,XmGroupStateMng,XmGroupUserMng,
|
||||
XmProductSelect,XmProjectSelect,
|
||||
XmProjectSelect,
|
||||
XmTaskExecuserSelect,
|
||||
},
|
||||
props:["visible","selProject" ,"isSelectSingleUser","isSelectMultiUser",'xmProduct','xmIteration','pgClass'],
|
||||
@@ -730,19 +727,8 @@ XmTaskExecuserSelect,
|
||||
this.groupOperSelectVisible=true;
|
||||
},
|
||||
renderContent (h, node) {
|
||||
return (
|
||||
<div class={'diy-wrapper', node.isCurrent ? 'current-select' : ''}>
|
||||
<div class={'diy-con-name',node.data.userid? 'user':''}>{node.data.label}<div ></div></div>
|
||||
<div class="diy-con-content">
|
||||
{node.data.leaderUsername||node.data.assUsername?
|
||||
(<div> 负责人 {node.data.leaderUsername?node.data.leaderUsername:'' } {node.data.assUsername?node.data.assUsername:''}</div>
|
||||
)
|
||||
:
|
||||
(<div ></div>)
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
|
||||
|
||||
},
|
||||
|
||||
//删除xmGroupUser
|
||||
|
||||
@@ -40,7 +40,8 @@
|
||||
import { getGroups } from '@/api/xm/core/xmGroup';
|
||||
import XmProjectSelect from '@/views/xm/core/components/XmProjectSelect.vue';
|
||||
|
||||
import {mapGetters} from 'vuex'
|
||||
import { mapState } from 'pinia'
|
||||
import { useUserStore } from '@/store/modules/user'
|
||||
|
||||
export default {
|
||||
computed: {
|
||||
|
||||
@@ -244,7 +244,7 @@
|
||||
上传附件
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="关注" name="91">
|
||||
<xm-my-do-focus v-if="activateTabPaneName=='91'" :biz-id="editForm.menuId" :pbiz-id="editForm.productId" :biz-name="editForm.menuName" focus-type="4" />
|
||||
<MdpFocus v-if="activateTabPaneName=='91'" :biz-id="editForm.menuId" :pbiz-id="editForm.productId" :biz-name="editForm.menuName" focus-type="4" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="日志" name="9">
|
||||
<xm-record v-if="activateTabPaneName=='9'" :biz-id="editForm.menuId" :obj-type="'menu'" />
|
||||
@@ -299,8 +299,7 @@
|
||||
import { useUserStore } from '@/store/modules/user'
|
||||
|
||||
import XmSubWorkItem from '@/views/xm/core/xmMenuWorkItem/XmSubWorkItem.vue';
|
||||
import XmRecord from '../xmRecord/XmRecord.vue'
|
||||
import XmMyDoFocus from '@/views/myWork/my/components/DoFocus.vue';
|
||||
import XmRecord from '../xmRecord/XmRecord.vue'
|
||||
import ArchiveEdit from '@/views/xm/core/wiki/archive/WikiMenuEdit.vue';
|
||||
import XmTestCaseMng from '@/views/xm/core/xmTestCase/XmTestCaseMng.vue';
|
||||
|
||||
@@ -663,8 +662,7 @@ import CommentArea from '../xmMenuComment/comment-area.vue';
|
||||
},//end method
|
||||
components: {
|
||||
XmSubWorkItem,
|
||||
XmRecord,
|
||||
XmMyDoFocus,
|
||||
XmRecord,
|
||||
ArchiveEdit,
|
||||
XmTestCaseMng,
|
||||
'xm-menu-edit':()=>import("./XmMenuDetail.vue"),
|
||||
|
||||
@@ -20,8 +20,7 @@
|
||||
<el-option value="not-join-curr-iteration" :label="'未加入迭代【'+filters.iteration.iterationName+'】'" v-if="filters.iteration && filters.iteration.id"/>
|
||||
<el-option value="join-curr-iteration" :label="'已加入本迭代【'+filters.iteration.iterationName+'】'" v-if="filters.iteration && filters.iteration.id"/>
|
||||
</el-select>
|
||||
<mdp-select v-model="filters.priority" placeholder="优先级" class="hidden-md-and-down" clearable style="width: 90px;" item-code="priority"/><mdp-select v-model="filters.priority" placeholder="优先级" class="hidden-md-and-down" clearable style="width: 90px;" item-code="priority"/>-model="filters.status" placeholder="需求状态" class="hidden-md-and-down" clearable style="width: 90px;" item-code="menuStatus">
|
||||
</mdp-select>
|
||||
<mdp-select v-model="filters.priority" placeholder="优先级" class="hidden-md-and-down" clearable style="width: 90px;" item-code="priority"/>
|
||||
<el-input v-model="filters.menuName" style="width: 100px;" placeholder="需求名称查询" clearable/>
|
||||
<el-button v-loading="load.list" :disabled="load.list==true" @click="searchXmMenus" icon="search">查询</el-button>
|
||||
|
||||
@@ -167,11 +166,7 @@
|
||||
<el-drawer title="需求谈论" v-model=" menuDetailVisible" size="50%" append-to-body :close-on-click-modal="false">
|
||||
<xm-menu-rich-detail :visible="menuDetailVisible" :reload="false" :xm-menu="editForm" />
|
||||
</el-drawer>
|
||||
|
||||
<el-drawer append-to-body title="标签条件" v-model="tagSelectVisible" size="60%">
|
||||
<tag-mng :tagIds="filters.tags?filters.tags.map(i=>i.tagId):[]" :jump="true" @select-confirm="onTagSelected">
|
||||
</tag-mng>
|
||||
</el-drawer>
|
||||
|
||||
</el-row>
|
||||
</section>
|
||||
</template>
|
||||
@@ -181,8 +176,7 @@
|
||||
import treeTool from '@/components/mdp-ui/js/treeTool';//全局公共库
|
||||
//import Sticky from '@/components/Sticky' // 粘性header组件
|
||||
|
||||
import { listXmMenu } from '@/api/xm/core/xmMenu';
|
||||
import XmProductSelect from '@/views/xm/core/components/XmProductSelect.vue';//新增界面
|
||||
import { listXmMenu } from '@/api/xm/core/xmMenu';
|
||||
import XmMenuRichDetail from './XmMenuRichDetail.vue';
|
||||
|
||||
|
||||
@@ -561,7 +555,7 @@ import XmEpicFeatures from './XmEpicFeaturesSelect.vue';
|
||||
|
||||
},//end methods
|
||||
components: {
|
||||
XmProductSelect,XmMenuRichDetail,XmIterationSelect,
|
||||
XmMenuRichDetail,XmIterationSelect,
|
||||
XmEpicFeatures,
|
||||
|
||||
//在下面添加其它组件
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
|
||||
import { mapState } from 'pinia'
|
||||
import { useUserStore } from '@/store/modules/user';
|
||||
import VueEditor from '@/components/Tinymce/index';
|
||||
import { Editor as VueEditor } from '@/components/Editor'
|
||||
import { editAssess, listXmProject, delXmProject, batchDelXmProject } from '@/api/xm/core/xmProject';
|
||||
|
||||
export default {
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
:title="i.name"
|
||||
:key="index"
|
||||
>
|
||||
<el-row #description>
|
||||
<template #description>
|
||||
<el-row v-if="i.id=='0'"><!--初始-->
|
||||
<span v-if="selProject.status==i.id">
|
||||
|
||||
@@ -82,13 +82,6 @@
|
||||
<el-button class="step-btn" type="warning" plain @click="projectChangeRequire()">变更申请</el-button>
|
||||
<el-popconfirm @confirm="editXmProjectSomeFields(selProject, 'status', '5')" title="将项目状态改为结项中,结项申请中的项目可以发起结项流程?">
|
||||
<template #reference><el-button class="step-btn" type="danger" icon="d-caret" plain>设为结项中 </el-button> </template>
|
||||
=======
|
||||
<template #reference><el-button class="step-btn" type="danger" icon="d-caret" plain>暂停项目</el-button> </template>
|
||||
</el-popconfirm>
|
||||
<el-button class="step-btn" type="warning" plain @click="projectChangeRequire()">变更申请</el-button>
|
||||
<el-popconfirm @confirm="editXmProjectSomeFields(selProject, 'status', '5')" title="将项目状态改为结项中,结项申请中的项目可以发起结项流程?">
|
||||
<template #reference><el-button class="step-btn" type="danger" icon="d-caret" plain>设为结项中</el-button> </template>
|
||||
>>>>>>> ae64607f36d467a8a02025fecd07dbfa0fab8424
|
||||
</el-popconfirm>
|
||||
</span>
|
||||
<span v-if="selProject.status!=i.id">
|
||||
@@ -152,7 +145,7 @@
|
||||
</el-popconfirm>
|
||||
</span>
|
||||
</el-row>
|
||||
</el-row>
|
||||
</template>
|
||||
</el-step>
|
||||
</el-steps>
|
||||
</el-row>
|
||||
@@ -315,31 +308,25 @@
|
||||
|
||||
<script>
|
||||
import util from '@/components/mdp-ui/js/util';//全局公共库
|
||||
import config from "@/api/mdp_pub/mdp_config"; //全局公共库
|
||||
import XmIterationMng from "../xmIteration/XmIterationMng.vue";
|
||||
import XmMenuMng from "../xmMenu/XmMenuBox.vue";
|
||||
import XmIterationStateShow from "../xmIterationState/XmIterationStateShow.vue";
|
||||
import config from "@/api/mdp_pub/mdp_config"; //全局公共库
|
||||
import XmMenuMng from "../xmMenu/XmMenuBox.vue";
|
||||
import { mapState } from 'pinia'
|
||||
import { useUserStore } from '@/store/modules/user'
|
||||
import { useXmStore } from '@/store/modules/xm'
|
||||
import XmProductMng from "../xmProduct/XmProductMng.vue";
|
||||
import { useXmStore } from '@/store/modules/xm'
|
||||
import XmTaskMng from "../xmTask/XmTaskMng.vue";
|
||||
import XmQuestionMng from "../xmQuestion/XmQuestionMng.vue";
|
||||
import XmProjectSelect from "@/views/xm/core/components/XmProjectSelect.vue";
|
||||
import XmProjectForLink from "./XmProjectForLink.vue";
|
||||
import XmProjectSelect from "@/views/xm/core/components/XmProjectSelect.vue";
|
||||
|
||||
import XmProjectOverview from "./XmProjectOverview.vue";
|
||||
|
||||
import XmProductSelect from "@/views/xm/core/components/XmProductSelect.vue";
|
||||
import XmProductProjectForLink from "../xmProduct/XmProductProjectForLink.vue";
|
||||
import XmProjectOverview from "./XmProjectOverview";
|
||||
|
||||
import XmProjectAdd from "./XmProjectEdit"; //新增界面
|
||||
import XmProjectDetail from "./XmProjectDetail"; //新增界面
|
||||
import XmProjectAdd from "./XmProjectEdit.vue"; //新增界面
|
||||
import XmProjectDetail from "./XmProjectDetail.vue"; //新增界面
|
||||
|
||||
import XmProductProjectLinkMng from "../xmProductProjectLink/XmProductProjectLinkMng.vue";
|
||||
import XmPlan from "../xmTask/XmPlan.vue";
|
||||
import xmGroupMng from '../xmGroup/XmGroupMng.vue';
|
||||
|
||||
import XmRpt from '@/views/xm/rpt/index.vue';
|
||||
import XmRpt from '@/views/xm/rpt/index/index.vue';
|
||||
|
||||
|
||||
import {
|
||||
@@ -509,17 +496,11 @@ export default {
|
||||
},
|
||||
}, //end methods
|
||||
components: {
|
||||
//在下面添加其它组件
|
||||
XmIterationMng,
|
||||
XmMenuMng,
|
||||
XmIterationStateShow,
|
||||
XmProductMng,
|
||||
//在下面添加其它组件
|
||||
XmMenuMng,
|
||||
XmTaskMng,
|
||||
XmQuestionMng,
|
||||
XmProductSelect,
|
||||
XmProjectSelect,
|
||||
XmProjectForLink,
|
||||
XmProductProjectForLink,
|
||||
XmQuestionMng,
|
||||
XmProjectSelect,
|
||||
XmProjectAdd,
|
||||
XmProjectDetail,
|
||||
XmProjectOverview,
|
||||
|
||||
@@ -25,8 +25,7 @@
|
||||
</el-row>
|
||||
<template #reference><el-button style="float:right;" icon="video-play" type="text">统计 </el-button> </template>
|
||||
|
||||
<template #reference><el-button style="float:right;" icon="video-play" type="text">统计</el-button> </template>
|
||||
</el-popover>
|
||||
</el-popover>
|
||||
</template>
|
||||
<el-row style="margin-bottom:10px">
|
||||
<el-row >
|
||||
|
||||
@@ -57,9 +57,9 @@
|
||||
<el-row class="padding">
|
||||
<el-col :span="6">
|
||||
<mdp-select-user show-style="x" size="medium" label="责任人" v-model="editForm.handlerUserid" @change="editXmQuestionSomeFields(editForm,'handlerUserid',$event)">
|
||||
<el-row #extOper style="margin-left:20px;">
|
||||
<template #extOpe>
|
||||
指派给 <el-button type="text" @click="sendToAsk"> 提出人</el-button> <el-button type="text" @click="sendToCreater"> 创建人</el-button>
|
||||
</el-row>
|
||||
</template>
|
||||
</mdp-select-user>
|
||||
|
||||
|
||||
@@ -162,7 +162,7 @@
|
||||
<xm-question-handle-mng v-if="activateTabPaneName=='4'" :bug="editForm" :visible="activateTabPaneName=='4'" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="关注" name="91" v-if="opType!='add'">
|
||||
<xm-my-do-focus v-if="activateTabPaneName=='91'" :biz-id="editForm.id" :pbiz-id="editForm.projectId" :biz-name="editForm.name" focus-type="5" />
|
||||
<MdpFocus v-if="activateTabPaneName=='91'" :biz-id="editForm.id" :pbiz-id="editForm.projectId" :biz-name="editForm.name" focus-type="5" />
|
||||
</el-tab-pane>
|
||||
|
||||
|
||||
@@ -199,16 +199,14 @@
|
||||
|
||||
import { addXmQuestion,editXmQuestionSomeFields } from '@/api/xm/core/xmQuestion';
|
||||
import { mapState } from 'pinia'
|
||||
import { useUserStore } from '@/store/modules/user';
|
||||
import AttachmentUpload from '@/views/mdp/arc/archiveAttachment/AttachmentUpload.vue'; //上传组件
|
||||
import { useUserStore } from '@/store/modules/user';
|
||||
import {sn} from '@/components/mdp-ui/js/sequence';
|
||||
import VueEditor from '@/components/Tinymce/index';
|
||||
//import { Editor as VueEditor } from '@/components/Editor'
|
||||
|
||||
import { Editor as VueEditor } from '@/components/Editor'
|
||||
import xmMenuSelect from '../xmMenu/XmMenuSelect.vue';
|
||||
import XmQuestionHandleMng from '../xmQuestionHandle/XmQuestionHandleMng.vue';//修改界面
|
||||
|
||||
|
||||
import XmProjectSelect from '@/views/xm/core/components/XmProjectSelect.vue';
|
||||
import XmMyDoFocus from '@/views/myWork/my/components/DoFocus.vue';
|
||||
|
||||
|
||||
import XmFuncSelect from '../xmFunc/XmFuncSelect.vue'
|
||||
|
||||
@@ -371,8 +369,8 @@ import { useUserStore } from '@/store/modules/user';
|
||||
params.tardgetBugStatus=tardgetBugStatus;
|
||||
|
||||
if(params.description){
|
||||
params.description=params.description.replace(/<p>\n<br/>\n<\/p>/g,"");
|
||||
params.description=params.description.replace(/<p><br/><\/p>/g,"");
|
||||
params.description=params.description.replace(/<p>\n<br\/>\n<\/p>/g,"");
|
||||
params.description=params.description.replace(/<p><br\/><\/p>/g,"");
|
||||
}
|
||||
addXmQuestion(params).then((res) => {
|
||||
this.load.edit=false
|
||||
@@ -670,10 +668,10 @@ import { useUserStore } from '@/store/modules/user';
|
||||
},//end method
|
||||
components: {
|
||||
//在下面添加其它组件 'xm-question-edit':XmQuestionEdit
|
||||
'upload': AttachmentUpload,VueEditor,xmMenuSelect,XmQuestionHandleMng,XmProjectSelect,XmProductSelect,
|
||||
XmMyDoFocus,XmFuncSelect,TestStepConfig,TestStepResult,
|
||||
xmTestPlanCaseMng:()=>import('../xmTestPlanCase/XmTestPlanCaseSelect'),
|
||||
'xm-workload-record':()=>import("../xmWorkload/XmWorkloadRecord"),
|
||||
VueEditor,xmMenuSelect,XmQuestionHandleMng,XmProductSelect,
|
||||
XmFuncSelect,TestStepConfig,TestStepResult,
|
||||
xmTestPlanCaseMng:()=>import('../xmTestPlanCase/XmTestPlanCaseSelect.vue'),
|
||||
'xm-workload-record':()=>import("../xmWorkload/XmWorkloadRecord.vue"),
|
||||
},
|
||||
mounted() {
|
||||
this.initData();
|
||||
|
||||
@@ -225,8 +225,7 @@
|
||||
<xm-menu-select :visible="menuVisible" :is-select-menu="true" :multi="true" :xm-product="filters.product" @menus-selected="onSelectedMenus" />
|
||||
</el-drawer>
|
||||
|
||||
<tag-dialog ref="tagDialog" :tagIds="filters.tags?filters.tags.map(i=>i.tagId):[]" :jump="true" @select-confirm="onTagSelected"></tag-dialog>
|
||||
</section>
|
||||
</section>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@@ -247,8 +246,7 @@ import { useUserStore } from '@/store/modules/user'
|
||||
|
||||
|
||||
import XmProductSelect from '@/views/xm/core/components/XmProductSelect.vue';//修改界面
|
||||
import TagDialog from '@/views/mdp/arc/tag/TagDialog.vue';
|
||||
|
||||
|
||||
export default {
|
||||
computed: {
|
||||
...mapState(useUserStore,[
|
||||
@@ -1080,7 +1078,7 @@ import { useUserStore } from '@/store/modules/user'
|
||||
components: {
|
||||
'xm-question-add':XmQuestionAdd,
|
||||
'xm-question-edit':XmQuestionEdit,
|
||||
XmGroupDialog,XmProjectSelect,xmMenuSelect,XmProductSelect, TagDialog,
|
||||
XmGroupDialog,XmProjectSelect,xmMenuSelect,XmProductSelect,
|
||||
//在下面添加其它组件
|
||||
},
|
||||
mounted() {
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
>
|
||||
</el-row>
|
||||
</el-row>
|
||||
<template #default>
|
||||
<template #reference>
|
||||
<el-button
|
||||
type="primary"
|
||||
circle
|
||||
@@ -219,7 +219,7 @@
|
||||
prop="name"
|
||||
label="计划名称"
|
||||
>
|
||||
<template #header #default="scope">
|
||||
<template #title>
|
||||
<div style="display:flex;">
|
||||
<div style="width:40%;text-align: left;line-height: 32px;">计划名称</div>
|
||||
<div style="line-height: 32px;width:60%;display: flex;justify-content: right;">
|
||||
@@ -405,23 +405,18 @@ import {
|
||||
calcProgress,
|
||||
calcProjectProgress,
|
||||
} from "@/api/xm/core/xmTask";
|
||||
import XmTaskAdd from "./XmTaskAdd"; //新增界面
|
||||
import XmTaskEdit from "./XmTaskEdit"; //修改界面
|
||||
import XmTaskAgileKanban from "./XmTaskAgileKanban"; //敏捷看板
|
||||
import XmTaskAdd from "./XmTaskAdd.vue"; //新增界面
|
||||
import XmTaskEdit from "./XmTaskEdit.vue"; //修改界面
|
||||
import { mapState } from 'pinia'
|
||||
import { useUserStore } from '@/store/modules/user'
|
||||
import { sn } from "@/components/mdp-ui/js/sequence";
|
||||
import xmTaskTemplateMng from '../xmTaskTemplate/XmTaskTemplateMng.vue';
|
||||
|
||||
import XmProjectSelect from '@/views/xm/core/components/XmProjectSelect.vue';
|
||||
import XmProductSelect from '@/views/xm/core/components/XmProductSelect.vue';
|
||||
import XmProjectSelect from '@/views/xm/core/components/XmProjectSelect.vue';
|
||||
|
||||
|
||||
import XmPhaseSelect from "./XmPhaseSelect.vue";
|
||||
import XmPhaseSelect from "./XmPhaseSelect.vue";
|
||||
|
||||
import XmGroupDialog from '@/views/xm/core/xmGroup/XmGroupDialog.vue';//修改界面
|
||||
|
||||
import TagDialog from '@/views/mdp/arc/tag/TagDialog.vue';
|
||||
|
||||
import XmEpicFeaturesSelect from '../xmMenu/XmEpicFeaturesSelect.vue';
|
||||
|
||||
@@ -1195,13 +1190,9 @@ export default {
|
||||
}, //end methods
|
||||
components: {
|
||||
"xm-task-add": XmTaskAdd,
|
||||
"xm-task-edit": XmTaskEdit,
|
||||
XmTaskAgileKanban,
|
||||
"xm-task-edit": XmTaskEdit,
|
||||
xmTaskTemplateMng,
|
||||
XmProjectSelect,
|
||||
XmProductSelect,
|
||||
TagDialog,
|
||||
XmGroupDialog,
|
||||
XmProjectSelect,
|
||||
XmPhaseSelect,
|
||||
XmEpicFeaturesSelect,
|
||||
//在下面添加其它组件
|
||||
|
||||
@@ -503,7 +503,7 @@
|
||||
<to-pay v-else-if=" toPayMarketVisible && activateTabPaneName=='82'" :task-id="editForm.id" :visible="toPayMarketVisible" :biz-type="'2'" @cancel="toPayMarketVisible=false" @pay-success="onTaskPaySuccess" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="关注" name="91">
|
||||
<xm-my-do-focus v-if="activateTabPaneName=='91'" :biz-id="editForm.id" :pbiz-id="editForm.projectId" :biz-name="editForm.name" focus-type="2" />
|
||||
<MdpFocus v-if="activateTabPaneName=='91'" :biz-id="editForm.id" :pbiz-id="editForm.projectId" :biz-name="editForm.name" focus-type="2" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="日志" name="9">
|
||||
<xm-record v-if="activateTabPaneName=='9'" :biz-id="editForm.id" :obj-type="'task'" />
|
||||
@@ -594,8 +594,7 @@ import { useUserStore } from '@/store/modules/user';
|
||||
import XmSubWorkItem from '@/views/xm/core/xmTaskWorkItem/XmSubWorkItem.vue';
|
||||
import xmQuestionMng from '@/views/xm/core/xmQuestion/XmQuestionMng.vue';
|
||||
import XmWorkloadRecord from '../xmWorkload/XmWorkloadRecord.vue'
|
||||
import XmMenuEdit from '../xmMenu/XmMenuEdit.vue';
|
||||
import XmMyDoFocus from '@/views/myWork/my/components/DoFocus.vue';
|
||||
import XmMenuEdit from '../xmMenu/XmMenuEdit.vue';
|
||||
import XmTaskExecuserForTask from '../xmTaskExecuser/XmTaskExecuserForTask.vue';
|
||||
import XmPhaseSelect from "./XmPhaseSelect.vue";
|
||||
import ToPay from "../xmTaskOrder/ToPay.vue";
|
||||
@@ -1137,7 +1136,7 @@ import { useUserStore } from '@/store/modules/user';
|
||||
components: {
|
||||
xmSkillMng,
|
||||
skillMng,xmMenuSelect,XmTaskList,XmExecuserMng,XmMenuRichDetail,XmSubWorkItem,XmWorkloadRecord,XmMenuEdit,
|
||||
XmRecord,xmQuestionMng,XmMyDoFocus,XmTaskExecuserForTask,XmPhaseSelect,ToPay,'xm-task-edit':()=>import("./XmTaskDetail"),
|
||||
XmRecord,xmQuestionMng,XmTaskExecuserForTask,XmPhaseSelect,ToPay,'xm-task-edit':()=>import("./XmTaskDetail"),
|
||||
'xm-workload-record':()=>import("../xmWorkload/XmWorkloadRecord"),TaskMng,ProcinstMng,
|
||||
"v-region":RegionGroup ,
|
||||
//在下面添加其它组件 'xm-task-edit':XmTaskEdit
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
<el-empty description="暂未选择报表,请至少选择一个报表" />
|
||||
</div>
|
||||
<div v-else id="printBody" ref="rptBox">
|
||||
<component style="margin-bottom:80px;" v-for="(item,index) in compCfgList" :key="item.compId" :is="item.compId" :xm-test-plan="xmTestPlan" :xm-product="xmProduct" :xm-project="xmProject" :xm-iteration="xmIteration" :xm-test-casedb="xmTestCasedb" :category="category" :cfg="item.cfg" :ref="item.id" @delete="doDelete(item)" :init-group-by="item.initGroupBy" :show-tool-bar="false" :id="item.id" :rpt-datas="item.rawDatas" :is-rpt-cfg="isRptCfg" :show-params="paramsVisible" />
|
||||
<component style="margin-bottom:80px;" v-for="(item) in compCfgList" :key="item.compId" :is="item.compId" :xm-test-plan="xmTestPlan" :xm-product="xmProduct" :xm-project="xmProject" :xm-iteration="xmIteration" :xm-test-casedb="xmTestCasedb" :category="category" :cfg="item.cfg" :ref="item.id" @delete="doDelete(item)" :init-group-by="item.initGroupBy" :show-tool-bar="false" :id="item.id" :rpt-datas="item.rawDatas" :is-rpt-cfg="isRptCfg" :show-params="paramsVisible" />
|
||||
|
||||
</div>
|
||||
</el-row>
|
||||
@@ -76,7 +76,6 @@
|
||||
|
||||
import util from '@/components/mdp-ui/js/util';//全局公共库
|
||||
import seq from '@/components/mdp-ui/js/sequence';//全局公共库
|
||||
import VueGridLayout from 'vue-grid-layout';
|
||||
import { mapState } from 'pinia'
|
||||
import { useUserStore } from '@/store/modules/user'
|
||||
import CompsSet from '@/views/xm/rpt/index/CompsSet.vue'
|
||||
@@ -89,8 +88,6 @@ import rptComps from './comps.js';//组件库
|
||||
|
||||
export default {
|
||||
components: {
|
||||
GridLayout: VueGridLayout.GridLayout,
|
||||
GridItem: VueGridLayout.GridItem,
|
||||
CompsSet, rptDataSelect,
|
||||
...rptComps
|
||||
|
||||
|
||||
@@ -8,14 +8,13 @@
|
||||
|
||||
<script>
|
||||
|
||||
import compsCard from './CompsCard.vue'
|
||||
import compsSet from './CompsSet.vue'
|
||||
import compsCard from './CompsCard.vue'
|
||||
import { mapState } from 'pinia'
|
||||
import { useUserStore } from '@/store/modules/user'
|
||||
|
||||
export default {
|
||||
props:['xmProduct','xmIteration','xmProject','xmTestCasedb','xmTestPlan','category'],
|
||||
components: {compsSet, compsCard},
|
||||
components: {compsCard},
|
||||
computed: {
|
||||
...mapState(useUserStore,[
|
||||
'userInfo'
|
||||
|
||||
Reference in New Issue
Block a user