Browse Source

优化

master
陈裕财 4 years ago
parent
commit
8b64408e50
  1. 2
      src/views/xm/core/xmIteration/XmIterationForLinkComplex.vue
  2. 125
      src/views/xm/core/xmMenu/XmMenuAdd.vue
  3. 254
      src/views/xm/core/xmMenu/XmMenuEdit.vue
  4. 48
      src/views/xm/core/xmMenu/XmMenuMng.vue
  5. 6
      src/views/xm/core/xmQuestion/XmQuestionEdit.vue
  6. 14
      src/views/xm/core/xmQuestion/XmQuestionMng.vue

2
src/views/xm/core/xmIteration/XmIterationForLinkComplex.vue

@ -34,7 +34,7 @@
<xm-iteration-menu-mng v-if="showPanel=='iterationMenuMng'" :xm-iteration="xmIteration"></xm-iteration-menu-mng>
</el-tab-pane>
<el-tab-pane label="需求列表" lazy name="menus" v-if="xmIteration&&xmIteration.id">
<xm-menu-mng v-if="xmIteration && showPanel=='menus'" :xm-product="xmProduct" :xm-iteration="xmIteration" :sel-project="selProject" :disabled-mng="false"></xm-menu-mng>
<xm-menu-mng v-if="xmIteration && showPanel=='menus'" :xm-product="xmProduct" :xm-iteration="xmIteration" :sel-project="selProject"></xm-menu-mng>
</el-tab-pane>
<el-tab-pane label="任务列表" lazy name="tasks" v-if="xmIteration&&xmIteration.id">
<xm-task-mng v-if="xmIteration && showPanel=='tasks'" :xm-product="xmProduct" :xm-iteration="xmIteration" :sel-project="selProject"></xm-task-mng>

125
src/views/xm/core/xmMenu/XmMenuAdd.vue

@ -1,37 +1,33 @@
<template>
<section class="page-container padding border">
<section class="padding">
<el-row class="page-main ">
<!--新增界面 XmMenu 项目需求表-->
<el-form :model="addForm" label-width="120px" :rules="addFormRules" ref="addForm">
<el-collapse value="1" accordion>
<el-collapse-item :title="calcMenuLabel.label+'基本信息'" name="1" >
<el-row>
<el-col :span="8">
<el-form :model="addForm" label-width="120px" label-position="left" :rules="addFormRules" ref="addForm">
<el-row gutter="10">
<el-col :span="6">
<el-form-item label="序号名称" prop="seqNo" >
<template slot="label">
<div class="icon" :style="{backgroundColor: calcMenuLabel.color }">
<i :class="calcMenuLabel.icon"></i>
</div>
{{calcMenuLabel.label}}
{{calcMenuLabel.label}}名称
</template>
<el-input v-model="addForm.seqNo" style="width:100%;" placeholder="如1.0 , 1.1 , 1.1.1等" ></el-input>
<el-input v-model="addForm.seqNo" title="序号 如 1.1,1.2.3,1.3.2等" style="width:100%;" placeholder="如1.0 , 1.1 , 1.1.1等" ></el-input>
</el-form-item>
</el-col>
<el-col :span="16">
<el-col :span="18">
<el-form-item label="" prop="menuName" label-width="0px">
<el-input v-model="addForm.menuName" placeholder="名称" ></el-input>
<el-input v-model="addForm.menuName" placeholder="名称" title="名称"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-col :span="8">
<el-form-item label="归属产品" prop="productId">
<font v-if="addForm.productId">{{addForm.productName?addForm.productName:addForm.productId}}</font>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="8">
<el-form-item v-if="!addForm.pmenuId" :label="addForm.dclass==='3'?'归属特性':(addForm.dclass==='2'?'归属史诗':'归属')" prop="pmenuId">
</el-form-item>
@ -45,8 +41,31 @@
</div>
{{addForm.pmenuName?addForm.pmenuName:addForm.pmenuId}}
</el-form-item>
</el-col>
</el-col>
<el-col :span="8">
<el-form-item label="负责人" prop="mmUserid">
<el-tag type="text" v-if="addForm.mmUserid" closable @close="clearMmUser">{{addForm.mmUsername}}</el-tag>
<el-button type="text" @click="mmUserSelectVisible=true">选跟进人</el-button>
</el-form-item>
</el-col>
</el-row>
<el-tabs value="1" >
<el-tab-pane label="基本信息'" name="1" >
<el-row>
<el-col :span="12">
<el-form-item label="提出人" prop="proposerId">
<el-tag type="text" v-if="addForm.proposerId" closable @close="clearProposer">{{addForm.proposerName}}</el-tag>
<el-button type="text" @click="selectProposer">选提出人</el-button>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="提出时间" prop="ctime">
<el-date-picker value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd" v-model="addForm.ctime"></el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
@ -78,63 +97,49 @@
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="提出人" prop="proposerId">
<el-tag type="text" v-if="addForm.proposerId" closable @close="clearProposer">{{addForm.proposerName}}</el-tag>
<el-button type="text" @click="selectProposer">选提出人</el-button>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="跟进人" prop="mmUserid">
<el-tag type="text" v-if="addForm.mmUserid" closable @close="clearMmUser">{{addForm.mmUsername}}</el-tag>
<el-button type="text" @click="mmUserSelectVisible=true">选跟进人</el-button>
</el-form-item>
</el-col>
</el-row>
</el-collapse-item>
<el-collapse-item title="概述" name="4">
</el-tab-pane>
<el-tab-pane label="概述" name="4">
<el-form-item label="需求概述" prop="remark">
<el-input type="textarea" :autosize="{ minRows: 6, maxRows: 20}" v-model="addForm.remark" placeholder="什么人?做什么事?,为什么?如: 作为招聘专员,我需要统计员工半年在职/离职人数,以便我能够制定招聘计划" ></el-input>
</el-form-item>
</el-collapse-item>
<el-collapse-item title="工时" name="2">
</el-tab-pane>
<el-tab-pane label="子工作项" name="6">
<xm-work-item>史诗下面是特性特性下面是用户故事故事下面是工作项任务/bug</xm-work-item>
</el-tab-pane>
<el-tab-pane label="工时" name="2">
<el-form-item label="数据收集方式" prop="calcType">
<el-radio v-model="addForm.calcType" label="3" placeholder="下级往上级汇总" :disabled="addForm.ntype==='0'">下级往上级汇总</el-radio>
<el-radio v-model="addForm.calcType" label="1" placeholder="由任务汇总" :disabled="addForm.ntype==='1'">由任务汇总</el-radio>
<el-radio v-model="addForm.calcType" label="2" placeholder="手工填报" :disabled="addForm.ntype==='1'">手工填报</el-radio>
</el-form-item>
<el-form-item label="当前进度" prop="mactRate" >
<el-progress style="width:80%;" :stroke-width="26" :percentage="addForm.mactRate?addForm.mactRate:0"></el-progress>
<el-form-item label="工时进度" prop="mactRate" >
<el-progress style="width:60%;" :stroke-width="26" :percentage="addForm.mactRate?addForm.mactRate:0"></el-progress>
</el-form-item>
<el-form-item label="预估工期" prop="budgetHours">
<el-input-number :disabled="addForm.calcType!=='2' && addForm.ntype==='1'" style="width:200px;" v-model="addForm.budgetHours" :precision="2" :step="8" :min="0" placeholder="预计工期(小时)"></el-input-number> &nbsp;h
<el-input-number :disabled="addForm.calcType!=='2' " style="width:200px;" v-model="addForm.budgetHours" :precision="2" :step="8" :min="0" placeholder="预计工期(小时)"></el-input-number> &nbsp;h
</el-form-item>
<el-form-item label="预估工时" prop="budgetWorkload">
<el-input-number :disabled="addForm.calcType!=='2' && addForm.ntype==='1'" style="width:200px;" v-model="addForm.budgetWorkload" :precision="2" :step="8" :min="0" placeholder="预计工时(小时)"></el-input-number> &nbsp;h
<el-input-number :disabled="addForm.calcType!=='2' " style="width:200px;" v-model="addForm.budgetWorkload" :precision="2" :step="8" :min="0" placeholder="预计工时(小时)"></el-input-number> &nbsp;h
</el-form-item>
<el-form-item label="实际工时" prop="mactWorkload">
<el-input-number :disabled="addForm.calcType!=='2' && addForm.ntype==='1'" style="width:200px;" v-model="addForm.mactWorkload" :precision="2" :step="8" :min="0" placeholder="实际工时(小时)"></el-input-number> &nbsp;h
<el-input-number :disabled="addForm.calcType!=='2' " style="width:200px;" v-model="addForm.mactWorkload" :precision="2" :step="8" :min="0" placeholder="实际工时(小时)"></el-input-number> &nbsp;h
</el-form-item>
<font color="blue" style="font-size:10px;">控制规则:
<br>下级往上汇总指工时数据按 &nbsp;用户故事->特性->史诗 &nbsp;这样的汇总关系将数据逐级往上汇总
<br>由任务汇总 指用户故事的工时数据由任务汇总
<br>手工填报 指用户故事的工时数据来自手工填报无论是否关联了任务都不从任务汇总
</font>
</el-collapse-item>
<el-collapse-item title="成本" name="3">
</el-tab-pane>
<el-tab-pane label="成本" name="3">
<el-form-item label="预估金额" prop="budgetAmount">
<el-input-number :disabled="addForm.calcType!=='2' && addForm.ntype==='1'" style="width:200px;" v-model="addForm.budgetAmount" :precision="2" :step="100" :min="0" placeholder="预算金额"></el-input-number>
<el-input-number :disabled="addForm.calcType!=='2' " style="width:200px;" v-model="addForm.budgetAmount" :precision="2" :step="100" :min="0" placeholder="预算金额"></el-input-number>
</el-form-item>
<el-form-item label="实际金额" prop="mactAmount">
<el-input-number :disabled="addForm.calcType!=='2' && addForm.ntype==='1'" style="width:200px;" v-model="addForm.mactAmount" :precision="2" :step="100" :min="0" placeholder="实际金额"></el-input-number>
<el-input-number :disabled="addForm.calcType!=='2' " style="width:200px;" v-model="addForm.mactAmount" :precision="2" :step="100" :min="0" placeholder="实际金额"></el-input-number>
</el-form-item>
</el-collapse-item>
<el-collapse-item title="链接" name="5">
</el-tab-pane>
<el-tab-pane label="链接" name="5">
<el-form-item label="需求链接" prop="demandUrl">
<el-input v-model="addForm.demandUrl" placeholder="需求链接" ></el-input>
</el-form-item>
@ -147,8 +152,14 @@
<el-form-item label="操作手册链接" prop="operDocUrl">
<el-input v-model="addForm.operDocUrl" placeholder="操作手册链接" ></el-input>
</el-form-item>
</el-collapse-item>
</el-collapse>
</el-tab-pane>
<el-tab-pane label="wiki" name="7">
关联知识库
</el-tab-pane>
<el-tab-pane label="附件" name="8">
上传附件
</el-tab-pane>
</el-tabs>
</el-form>
<el-drawer title="选择提出人" :visible.sync="proposerSelectVisible" size="60%" append-to-body>
@ -161,7 +172,7 @@
</el-row>
<el-row class="padding">
<el-button @click.native="handleCancel">取消</el-button>
<el-button @click.native="handleCancel">关闭</el-button>
<el-button v-loading="load.add" type="primary" @click.native="addSubmit" :disabled="load.add==true">提交</el-button>
</el-row>
</section>
@ -194,12 +205,7 @@
},
},
props:['xmMenu','visible','parentMenu'],
watch: {
'xmMenu':function( xmMenu ) {
this.addForm = {...xmMenu};
this.addForm.mmUserid=this.userInfo.userid
this.addForm.mmUsername=this.userInfo.username
},
watch: {
'visible':function(visible) {
if(visible==true){
this.addForm={...this.xmMenu}
@ -222,7 +228,7 @@
}
}else{
this.addFOrm.dclass=this.xmMenu.dclass
this.addForm.dclass=this.xmMenu.dclass
}
this.addForm.mmUserid=this.userInfo.userid
@ -369,6 +375,11 @@
}else if(this.parentMenu.dclass==='0'){
this.addForm.dclass='1'
}
if(this.addForm.dclass<3){
this.addForm.calcType="3"
}else{
this.addForm.calcType="1"
}
}
/**在下面写其它函数***/

254
src/views/xm/core/xmMenu/XmMenuEdit.vue

@ -1,43 +1,33 @@
<template>
<section class="page-container border padding">
<section>
<el-row class="page-main ">
<el-tabs>
<el-tab-pane :label="calcMenuLabel.label+'详情'">
<el-form :model="editForm" label-width="120px" :rules="editFormRules" ref="editForm">
<el-row class="padding-bottom">
<el-steps :active="calcMenuCurrStep" finish-status="success" align-center>
<el-step v-for="(item,index) in dicts.menuStatus" @click.native="on_click(item.id)" :title="item.name" :key="index"></el-step>
</el-steps>
</el-row>
<el-collapse value="1" accordion>
<el-collapse-item title="基本信息" name="1" >
<el-row>
<el-col :span="8">
<el-form-item label="calcMenuLabel.label" prop="seqNo" >
<template slot="label">
<div class="icon" :style="{backgroundColor: calcMenuLabel.color }">
<i :class="calcMenuLabel.icon"></i>
</div>
{{calcMenuLabel.label}}
</template>
<el-input v-model="editForm.seqNo" style="display:block;width:100%;" placeholder="如1.0 , 1.1 , 1.1.1等" ></el-input>
</el-form-item>
</el-col>
<el-col :span="16">
<el-form-item label="" prop="menuName" label-width="0px">
<el-input v-model="editForm.menuName" placeholder="名称" >
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="归属产品" prop="productId">
<font v-if="editForm.productId">{{editForm.productName?editForm.productName:editForm.productId}}</font>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item v-if="!editForm.pmenuId" :label="editForm.dclass==='3'?'归属特性':(editForm.dclass==='2'?'归属史诗':'归属')" prop="pmenuId">
<el-form :model="editForm" label-width="120px" label-position="left" :rules="editFormRules" ref="editForm">
<el-row gutter="10">
<el-col :span="6">
<el-form-item label="序号名称" prop="seqNo" >
<template slot="label">
<div class="icon" :style="{backgroundColor: calcMenuLabel.color }">
<i :class="calcMenuLabel.icon"></i>
</div>
{{calcMenuLabel.label}}名称
</template>
<el-input v-model="editForm.seqNo" title="序号 如 1.1,1.2.3,1.3.2等" style="width:100%;" placeholder="如1.0 , 1.1 , 1.1.1等" ></el-input>
</el-form-item>
</el-col>
<el-col :span="18">
<el-form-item label="" prop="menuName" label-width="0px">
<el-input v-model="editForm.menuName" placeholder="名称" title="名称"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="归属产品" prop="productId">
<font v-if="editForm.productId">{{editForm.productName?editForm.productName:editForm.productId}}</font>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item v-if="!editForm.pmenuId" :label="editForm.dclass==='3'?'归属特性':(editForm.dclass==='2'?'归属史诗':'归属')" prop="pmenuId">
</el-form-item>
@ -50,125 +40,126 @@
</div>
{{editForm.pmenuName?editForm.pmenuName:editForm.pmenuId}}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="需求类型" prop="dtype" >
<el-select v-model="editForm.dtype">
<el-option v-for="i in this.dicts.demandType" :label="i.name" :key="i.id" :value="i.id"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="需求来源" prop="source">
<el-select v-model="editForm.source">
<el-option v-for="i in this.dicts.demandSource" :label="i.name" :key="i.id" :value="i.id"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="需求层次" prop="dlvl" >
<el-select v-model="editForm.dlvl">
<el-option v-for="i in this.dicts.demandLvl" :label="i.name" :key="i.id" :value="i.id"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="优先级" prop="priority" >
<el-select v-model="editForm.priority">
<el-option v-for="i in dicts.priority" :label="i.name" :key="i.id" :value="i.id"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="提出人" prop="proposerId">
<el-tag type="text" v-if="editForm.proposerId" closable @close="clearProposer">{{editForm.proposerName}}</el-tag>
<el-button type="text" @click="selectProposer">选提出人</el-button>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="跟进人" prop="mmUserid">
</el-col>
<el-col :span="8">
<el-form-item label="负责人" prop="mmUserid">
<el-tag type="text" v-if="editForm.mmUserid" closable @close="clearMmUser">{{editForm.mmUsername}}</el-tag>
<el-button type="text" @click="mmUserSelectVisible=true">选跟进人</el-button>
</el-form-item>
</el-col>
</el-row>
</el-collapse-item>
<el-collapse-item title="概述" name="4">
</el-row>
<el-tabs value="1" >
<el-tab-pane label="基本信息'" name="1" >
<el-row>
<el-col :span="12">
<el-form-item label="提出人" prop="proposerId">
<el-tag type="text" v-if="editForm.proposerId" closable @close="clearProposer">{{editForm.proposerName}}</el-tag>
<el-button type="text" @click="selectProposer">选提出人</el-button>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="提出时间" prop="ctime">
<el-date-picker value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd" v-model="editForm.ctime"></el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="需求类型" prop="dtype" >
<el-select v-model="editForm.dtype">
<el-option v-for="i in this.dicts.demandType" :label="i.name" :key="i.id" :value="i.id"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="需求来源" prop="source">
<el-select v-model="editForm.source">
<el-option v-for="i in this.dicts.demandSource" :label="i.name" :key="i.id" :value="i.id"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="需求层次" prop="dlvl" >
<el-select v-model="editForm.dlvl">
<el-option v-for="i in this.dicts.demandLvl" :label="i.name" :key="i.id" :value="i.id"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="优先级" prop="priority" >
<el-select v-model="editForm.priority">
<el-option v-for="i in dicts.priority" :label="i.name" :key="i.id" :value="i.id"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-tab-pane>
<el-tab-pane label="概述" name="4">
<el-form-item label="需求概述" prop="remark">
<el-input type="textarea" :autosize="{ minRows: 6, maxRows: 20}" v-model="editForm.remark" placeholder="什么人?做什么事?,为什么?如: 作为招聘专员,我需要统计员工半年在职/离职人数,以便我能够制定招聘计划" ></el-input>
</el-form-item>
</el-collapse-item>
<el-collapse-item title="工时" name="2">
</el-tab-pane>
<el-tab-pane label="子工作项" name="6">
<xm-work-item>史诗下面是特性特性下面是用户故事故事下面是工作项任务/bug</xm-work-item>
</el-tab-pane>
<el-tab-pane label="工时" name="2">
<el-form-item label="数据收集方式" prop="calcType">
<el-radio v-model="editForm.calcType" label="3" placeholder="下级往上级汇总" :disabled="editForm.ntype==='0'">下级往上级汇总</el-radio>
<el-radio v-model="editForm.calcType" label="1" placeholder="由任务汇总" :disabled="editForm.ntype==='1'">由任务汇总</el-radio>
<el-radio v-model="editForm.calcType" label="2" placeholder="手工填报" :disabled="editForm.ntype==='1'">手工填报</el-radio>
</el-form-item>
<el-form-item label="当前进度" prop="mactRate" >
<el-progress style="width:40%;" :stroke-width="26" :percentage="editForm.mactRate?editForm.mactRate:0"></el-progress>
</el-form-item>
<el-form-item label="工时进度" prop="mactRate" >
<el-progress style="width:60%;" :stroke-width="26" :percentage="editForm.mactRate?editForm.mactRate:0"></el-progress>
</el-form-item>
<el-form-item label="预估工期" prop="budgetHours">
<el-input-number :disabled="editForm.calcType!=='2'" style="width:200px;" v-model="editForm.budgetHours" :precision="2" :step="8" :min="0" placeholder="预计工期(小时)"></el-input-number>&nbsp;h
<el-input-number :disabled="editForm.calcType!=='2' " style="width:200px;" v-model="editForm.budgetHours" :precision="2" :step="8" :min="0" placeholder="预计工期(小时)"></el-input-number> &nbsp;h
</el-form-item>
<el-form-item label="预估工时" prop="budgetWorkload">
<el-input-number :disabled="editForm.calcType!=='2'" style="width:200px;" v-model="editForm.budgetWorkload" :precision="2" :step="8" :min="0" placeholder="预计工时(人时)"></el-input-number> &nbsp;h
<el-input-number :disabled="editForm.calcType!=='2' " style="width:200px;" v-model="editForm.budgetWorkload" :precision="2" :step="8" :min="0" placeholder="预计工时(时)"></el-input-number> &nbsp;h
</el-form-item>
<el-form-item label="实际工时" prop="mactWorkload">
<el-input-number :disabled="editForm.calcType!=='2'" style="width:200px;" v-model="editForm.mactWorkload" :precision="2" :step="8" :min="0" placeholder="实际工时(人时)"></el-input-number> &nbsp;h
<el-input-number :disabled="editForm.calcType!=='2' " style="width:200px;" v-model="editForm.mactWorkload" :precision="2" :step="8" :min="0" placeholder="实际工时(时)"></el-input-number> &nbsp;h
</el-form-item>
<font color="blue" style="font-size:10px;">控制规则:
<br>下级往上汇总指工时数据按 &nbsp;用户故事->特性->史诗 &nbsp;这样的汇总关系将数据逐级往上汇总
<br>由任务汇总 指用户故事的工时数据由任务汇总
<br>手工填报 指用户故事的工时数据来自手工填报无论是否关联了任务都不从任务汇总
</font>
</el-collapse-item>
<el-collapse-item title="成本" name="3">
</el-tab-pane>
<el-tab-pane label="成本" name="3">
<el-form-item label="预估金额" prop="budgetAmount">
<el-input-number :disabled="editForm.calcType!=='2' && editForm.ntype==='1'" style="width:200px;" v-model="editForm.budgetAmount" :precision="2" :step="100" :min="0" placeholder="预算金额"></el-input-number>
<el-input-number :disabled="editForm.calcType!=='2' " style="width:200px;" v-model="editForm.budgetAmount" :precision="2" :step="100" :min="0" placeholder="预算金额"></el-input-number>
</el-form-item>
<el-form-item label="实际金额" prop="mactAmount">
<el-input-number :disabled="editForm.calcType!=='2' && editForm.ntype==='1'" style="width:200px;" v-model="editForm.mactAmount" :precision="2" :step="100" :min="0" placeholder="实际金额"></el-input-number>
<el-input-number :disabled="editForm.calcType!=='2' " style="width:200px;" v-model="editForm.mactAmount" :precision="2" :step="100" :min="0" placeholder="实际金额"></el-input-number>
</el-form-item>
</el-collapse-item>
<el-collapse-item title="链接" name="5">
<el-form-item label="需求链接" prop="demandUrl">
<el-input v-model="editForm.demandUrl" placeholder="需求链接" ></el-input>
</el-form-item>
<el-form-item label="代码链接" prop="codeUrl">
<el-input v-model="editForm.codeUrl" placeholder="代码链接" ></el-input>
</el-form-item>
<el-form-item label="设计链接" prop="designUrl">
<el-input v-model="editForm.designUrl" placeholder="设计链接" ></el-input>
</el-form-item>
<el-form-item label="操作手册链接" prop="operDocUrl">
<el-input v-model="editForm.operDocUrl" placeholder="操作手册链接" ></el-input>
</el-form-item>
</el-collapse-item>
</el-collapse>
</el-form>
<el-row class="padding">
<el-button @click.native="handleCancel">取消</el-button>
<el-button v-loading="load.edit" type="primary" @click.native="editSubmit" :disabled="load.edit==true">提交</el-button>
</el-row>
</el-tab-pane>
<el-tab-pane label="概览" lazy>
<xm-menu-overview :xm-menu="xmMenu"></xm-menu-overview>
</el-tab-pane>
<el-tab-pane label="需求评论" lazy>
<xm-menu-exchange-mng :xm-menu="xmMenu"></xm-menu-exchange-mng>
</el-tab-pane>
</el-tabs>
</el-tab-pane>
<el-tab-pane label="链接" name="5">
<el-form-item label="需求链接" prop="demandUrl">
<el-input v-model="editForm.demandUrl" placeholder="需求链接" ></el-input>
</el-form-item>
<el-form-item label="代码链接" prop="codeUrl">
<el-input v-model="editForm.codeUrl" placeholder="代码链接" ></el-input>
</el-form-item>
<el-form-item label="设计链接" prop="designUrl">
<el-input v-model="editForm.designUrl" placeholder="设计链接" ></el-input>
</el-form-item>
<el-form-item label="操作手册链接" prop="operDocUrl">
<el-input v-model="editForm.operDocUrl" placeholder="操作手册链接" ></el-input>
</el-form-item>
</el-tab-pane>
<el-tab-pane label="wiki" name="7">
关联知识库
</el-tab-pane>
<el-tab-pane label="附件" name="8">
上传附件
</el-tab-pane>
</el-tabs>
</el-form>
<el-drawer title="选择提出人" :visible.sync="proposerSelectVisible" size="60%" append-to-body>
<users-select @confirm="onProposerSelected" ref="usersSelect"></users-select>
</el-drawer>
@ -182,6 +173,11 @@
<tag-mng :tagIds="editForm.tagIds?editForm.tagIds.split(','):[]" :jump="true" @select-confirm="onTagSelected">
</tag-mng>
</el-drawer>
<el-row class="padding">
<el-button @click.native="handleCancel">关闭</el-button>
<el-button v-loading="load.edit" type="primary" @click.native="editSubmit" :disabled="load.edit==true">提交</el-button>
</el-row>
</section>
</template>

48
src/views/xm/core/xmMenu/XmMenuMng.vue

@ -169,7 +169,7 @@
<el-button @click="showParentMenu" icon="el-icon-top" title="更换上级"></el-button>
<el-button v-if="disabledMng!=false" type="danger" @click="batchDel" icon="el-icon-delete" title="删除"></el-button>
<el-button class="hidden-md-and-down" v-if=" batchEditVisible==false&&disabledMng!=false " @click="loadTasksToXmMenuState" icon="el-icon-s-marketing" title="汇总进度"></el-button>
<el-button class="hidden-md-and-down" v-if=" disabledMng!=false " @click="loadTasksToXmMenuState" icon="el-icon-s-marketing" title="汇总进度"></el-button>
<xm-table-config ref="tableConfig" style="display:inline;" :table="$refs.table"></xm-table-config>
@ -199,17 +199,7 @@
<el-tooltip v-if="scope.row.dclass==='2'||scope.row.dclass==='1'" :content="scope.row.dclass==='1'?'新建特性':'新建用户故事'">
<el-button @click="showImportFromMenuTemplate(scope.row)" icon="el-icon-upload2" title="批量导入" circle plain size="mini"> </el-button>
</el-tooltip>
<el-tooltip v-if="scope.row.dclass==='3'" content="新建任务">
<el-button icon="el-icon-plus" circle plain size="mini" @click="showTaskList(scope.row,scope.$index)"></el-button>
</el-tooltip>
<el-tooltip v-if="scope.row.dclass==='3'" content="去关联任务">
<el-button icon="el-icon-s-operation" circle plain size="mini" @click="showTaskList(scope.row,scope.$index)"></el-button>
</el-tooltip>
<el-tooltip v-if="scope.row.dclass==='3'" content="查看任务">
<el-button icon="el-icon-search" circle plain size="mini" @click="showTaskListForMenu(scope.row,scope.$index)"></el-button>
</el-tooltip>
</el-tooltip>
</span>
</div>
</template>
@ -349,14 +339,14 @@
</el-row>
<!--编辑 XmMenu xm_project_menu界面-->
<el-drawer title="编辑需求" :visible.sync="editFormVisible" :with-header="false" size="50%" append-to-body :close-on-click-modal="false">
<el-dialog title="编辑需求" :visible.sync="editFormVisible" :with-header="false" width="80%" top="20px" center append-to-body :close-on-click-modal="false">
<xm-menu-edit :xm-menu="editForm" :visible="editFormVisible" @cancel="editFormVisible=false" @submit="afterEditSubmit"></xm-menu-edit>
</el-drawer>
</el-dialog>
<!--新增 XmMenu xm_project_menu界面-->
<el-drawer title="新增需求" :visible.sync="addFormVisible" :with-header="false" size="50%" append-to-body :close-on-click-modal="false">
<el-dialog title="新增需求" :visible.sync="addFormVisible" :with-header="false" width="80%" top="20px" center append-to-body :close-on-click-modal="false">
<xm-menu-add :parent-menu="parentMenu" :xm-menu="addForm" :visible="addFormVisible" @cancel="addFormVisible=false" @submit="afterAddSubmit"></xm-menu-add>
</el-drawer>
</el-dialog>
<el-drawer title="需求模板" :visible.sync="menuTemplateVisible" size="80%" append-to-body :close-on-click-modal="false">
<xm-menu-template-mng :is-select-menu="true" :visible="menuTemplateVisible" @cancel="menuTemplateVisible=false" @selected-menus="onSelectedMenuTemplates"></xm-menu-template-mng>
</el-drawer>
@ -519,7 +509,9 @@
addForm: {
menuId:'',menuName:'',pmenuId:'',productId:'',remark:'',status:'',online:'',demandUrl:'',codeUrl:'',designUrl:'',docUrl:'',helpUrl:'',operDocUrl:'',ntype:'0',childrenCnt:0,sinceVersion:''
},
addFormInit: {
menuId:'',menuName:'',pmenuId:'',productId:'',remark:'',status:'',online:'',demandUrl:'',codeUrl:'',designUrl:'',docUrl:'',helpUrl:'',operDocUrl:'',ntype:'0',childrenCnt:0,sinceVersion:''
},
editFormVisible: false,//
//xmMenu
editForm: {
@ -721,12 +713,20 @@
},
// XmMenu xm_project_menu
showAdd: function (dclass) {
this.addForm={...this.addFormInit}
if(this.filters.product && this.filters.product.id){
this.parentMenu=null;
this.addForm.productId=this.filters.product.id
this.addForm.productName=this.filters.product.productName
this.addForm.dclass=dclass
this.addFormVisible = true;
}else if(this.filters.iteration && this.filters.iteration.id){
this.parentMenu=null;
this.addForm.productId=this.filters.iteration.productId
this.addForm.iterationId=this.filters.iteration.id
this.addForm.iterationName=this.filters.iteration.iterationName
this.addForm.dclass=dclass
this.addFormVisible = true;
}else{
this.$refs.xmProductSelect1.productVisible=true;
this.$notify({showClose: true, message: "请先选择一个产品", type: 'warning'});
@ -735,6 +735,8 @@
//this.addForm=Object.assign({}, this.editForm);
},
showSubAdd:function(row){
this.addForm={...this.addFormInit}
this.editForm=row
this.parentMenu=row
this.expandRowKeysCpd.push(row.pmenuId);
@ -744,6 +746,12 @@
}else{
this.addForm.productName=null;
}
if(this.filters.iteration && this.filters.iteration.id){
this.addForm.productId=this.filters.iteration.productId
this.addForm.iterationId=this.filters.iteration.id
this.addForm.iterationName=this.filters.iteration.iterationName
this.addFormVisible = true;
}
this.addFormVisible=true
},
showProdcutAdd:function(){
@ -753,6 +761,12 @@
this.addFormVisible=false;
this.pageInfo.count=true;
//this.getXmMenus();
if(!row.pmenuId){
this.xmMenus.push(row);
}
if(this.parentMenu){
this.parentMenu.childrenCnt=this.parentMenu.childrenCnt?this.parentMenu.childrenCnt+1:1;
}
treeTool.reloadAllChildren(this.$refs.table,this.maps,[row,{...this.parentMenu}],'pmenuId',this.loadXmMenusLazy)
this.parentMenu=null;

6
src/views/xm/core/xmQuestion/XmQuestionEdit.vue

@ -158,10 +158,10 @@
</el-col>
<font v-else></font>
</el-form-item>
<el-form-item v-if="!flowInfoVisible" label="上次处理意见" prop="lremark">
<el-col v-if="editForm.lremark" :span="24" >
<el-form-item v-if="!flowInfoVisible" label="上次处理意见" prop="remarks">
<el-col v-if="editForm.remarks" :span="24" >
<div class="wf-main-context-box" >
<div class="wf-main-context rich-context" v-html="editForm.lremark"></div>
<div class="wf-main-context rich-context" v-html="editForm.remarks"></div>
</div>
</el-col>
<font v-else></font>

14
src/views/xm/core/xmQuestion/XmQuestionMng.vue

@ -994,14 +994,14 @@
return ""
}
if(row.handlerUsername){
if(row.lremark){
var lremark=row.lremark;
lremark=lremark.replace(/<\w?>/g,"");
lremark=lremark.replace(/<\/\w?>/g,"");
if(lremark.length<=10){
msg='已指派给'+row.handlerUsername+','+lremark
if(row.remarks){
var remarks=row.remarks;
remarks=remarks.replace(/<\w?>/g,"");
remarks=remarks.replace(/<\/\w?>/g,"");
if(remarks.length<=10){
msg='已指派给'+row.handlerUsername+','+remarks
}else{
msg='已指派给'+row.handlerUsername+','+lremark.substr(0,10)+"..."
msg='已指派给'+row.handlerUsername+','+remarks.substr(0,10)+"..."
}
}else{

Loading…
Cancel
Save