Browse Source

优化

master
陈裕财 3 years ago
parent
commit
a54b0e87e4
  1. 67
      src/views/xm/core/xmProduct/XmProductEdit.vue
  2. 9
      src/views/xm/core/xmProduct/XmProductOverviewComplex.vue
  3. 371
      src/views/xm/core/xmProduct/XmProductSetting.vue

67
src/views/xm/core/xmProduct/XmProductEdit.vue

@ -86,8 +86,6 @@
</el-row>
</el-form-item>
<el-tabs v-model="currTabPane" accordion>
<el-tab-pane label="产品描述" name="1">
<el-form-item label="备注" prop="remark">
<el-input
v-model="editForm.remark"
@ -98,71 +96,6 @@
@change="editSomeFields(editForm, 'remark', $event)"
></el-input>
</el-form-item>
</el-tab-pane>
<el-tab-pane label="控制开关" name="2">
<el-form-item label="团队相关:小组crud、加减人、小组组长管理等">
<el-row>
<el-radio-group v-model="qxCode.groupScope" @change="editSomeFields(editForm,'groupScope',$event)">
<el-radio label="0">不限制允许任何人</el-radio>
<el-radio label="1">同机构下的人员</el-radio>
<el-radio label="2">同产品内人员</el-radio>
<el-radio label="3">同产品下同小组内人员</el-radio>
</el-radio-group>
</el-row>
<el-row>
<el-checkbox v-model="qxCode.groupTransmit" :true-label="'1'" :false-label="'0'" @change="editSomeFields(editForm,'groupTransmit',$event)">是否检查用户的上下级关系</el-checkbox>
</el-row>
<!--0-代表不限制,1-同组织2-同项目组默认3-同小组-->
</el-form-item>
<el-form-item label="测试相关:缺陷crud、用例crud、测试计划、测试执行等">
<el-row>
<el-radio-group v-model="qxCode.testScope" @change="editSomeFields(editForm,'testScope',$event)">
<el-radio label="0">不限制允许任何人</el-radio>
<el-radio label="1">同机构下的人员</el-radio>
<el-radio label="2">同产品内人员</el-radio>
<el-radio label="3">同产品下同小组内人员</el-radio>
</el-radio-group>
</el-row>
<el-row>
<el-checkbox v-model="qxCode.testTransmit" :true-label="'1'" :false-label="'0'" @change="editSomeFields(editForm,'testTransmit',$event)">缺陷用例等指派及crud是否检查用户的上下级关系</el-checkbox>
</el-row>
<!--0-代表不限制,1-同组织2-同项目组默认3-同小组-->
</el-form-item>
<el-form-item label="迭代crud、迭代负责人管理">
<el-row>
<el-radio-group v-model="qxCode.iterationScope" @change="editSomeFields(editForm,'iterationScope',$event)">
<el-radio label="0">不限制允许任何人</el-radio>
<el-radio label="1">同机构下的人员</el-radio>
<el-radio label="2">同产品内人员</el-radio>
<el-radio label="3">同产品下同小组内人员</el-radio>
</el-radio-group>
</el-row>
<el-row>
<el-checkbox v-model="qxCode.iterationTransmit" :true-label="'1'" :false-label="'0'" @change="editSomeFields(editForm,'iterationTransmit',$event)">迭代指派及crud是否检查用户的上下级关系</el-checkbox>
</el-row>
<!--0-代表不限制,1-同组织2-同项目组默认3-同小组-->
</el-form-item>
<el-form-item label="需求相关:史诗、特性、故事的crud">
<el-row>
<el-radio-group v-model="qxCode.menuTransmit" @change="editSomeFields(editForm,'menuScope',$event)">
<el-radio label="0">不限制允许任何人</el-radio>
<el-radio label="1">同机构下的人员</el-radio>
<el-radio label="2">同产品内人员</el-radio>
<el-radio label="3">同产品下同小组内人员</el-radio>
</el-radio-group>
</el-row>
<el-row>
<el-checkbox v-model="qxCode.menuTransmit" :true-label="'1'" :false-label="'0'" @change="editSomeFields(editForm,'menuTransmit',$event)">需求指派及crud是否检查用户的上下级关系</el-checkbox>
</el-row>
<!--0-代表不限制,1-同组织2-同项目组默认3-同小组-->
</el-form-item>
</el-tab-pane>
</el-tabs>
</el-form>
<el-row v-if="opType==='add'" style="float:right;">

9
src/views/xm/core/xmProduct/XmProductOverviewComplex.vue

@ -197,6 +197,12 @@
>
<xm-product-overview v-if="showPanelName=='overview' && xmProduct && xmProduct.id" :xm-product="xmProduct"></xm-product-overview>
</el-tab-pane>
<el-tab-pane
label="设置"
name="setting"
>
<xm-product-setting v-if="showPanelName=='setting'" :xm-product="xmProduct"></xm-product-setting>
</el-tab-pane>
<el-tab-pane
label="产品详情"
@ -251,6 +257,7 @@ import util from "@/common/js/util"; // 全局公共库
import { mapGetters } from "vuex";
import XmProductOverview from './XmProductOverview.vue';
import XmProductEdit from './XmProductEdit.vue';
import XmProductSetting from './XmProductSetting.vue';
import XmProductProjectLinkMng from '../xmProductProjectLink/XmProductProjectLinkMng.vue';
import { loadTasksToXmProductState } from '@/api/xm/core/xmProductState';
import { listXmProductWithState } from '@/api/xm/core/xmProduct';
@ -262,7 +269,7 @@ import { initDicts,editXmProductSomeFields } from "@/api/xm/core/xmProduct";
import store from '@/store'
export default {
components: { XmProductOverview, XmProductEdit, XmProductProjectLinkMng,TaskMng,ProcinstMng,},
components: { XmProductOverview, XmProductEdit, XmProductProjectLinkMng,TaskMng,ProcinstMng,XmProductSetting},
computed: {
...mapGetters(["userInfo","xmProduct"]),
calcProductPstatusStep() {

371
src/views/xm/core/xmProduct/XmProductSetting.vue

@ -0,0 +1,371 @@
<template>
<section class="padding border">
<el-row>
<!--新增界面 XmProduct 产品表-->
<el-form
:model="editForm"
label-width="120px"
:rules="editFormRules"
label-position="top"
ref="editForm"
>
<h3>{{ editForm.productName }}</h3>
<el-row class=" label-font-color">
<span >产品代号:</span>
{{ editForm.code }} <el-divider direction="vertical"></el-divider><span
>产品编号:</span
>
{{ editForm.id }}
<el-tooltip
content="产品代号用于签订合同等甲乙方共享的场景;产品编号为内部编号,用于内部流转,编号生成规则:产品代号+四位随机码 "
><i class="el-icon-question"></i
></el-tooltip>
</el-row>
<el-form-item label="管理成员">
<el-row class="padding padding-top">
<el-col :span="8">
<el-form-item prop="admUserid" label-width="0px">
<mdp-select-user-x
label=" 产品总控"
userid-key="admUserid"
username-key="admUsername"
v-model="editForm"
@change="editSomeFields(editForm, 'admUserid', $event)"
></mdp-select-user-x>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="pmUserid" label-width="0px">
<mdp-select-user-x
label=" 产品经理"
userid-key="pmUserid"
username-key="pmUsername"
v-model="editForm"
@change="editSomeFields(editForm, 'pmUserid', $event)"
></mdp-select-user-x>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="assUserid" label-width="0px">
<mdp-select-user-x
label=" 副经理、助理"
userid-key="assUserid"
username-key="assUsername"
v-model="editForm"
@change="editSomeFields(editForm, 'assUserid', $event)"
></mdp-select-user-x>
</el-form-item>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="团队相关:小组crud、加减人、小组组长管理等">
<el-row>
<el-radio-group v-model="qxCode.groupScope" @change="editSomeFields(editForm,'groupScope',$event)">
<el-radio label="0">不限制允许任何人</el-radio>
<el-radio label="1">同机构下的人员</el-radio>
<el-radio label="2">同产品内人员</el-radio>
<el-radio label="3">同产品下同小组内人员</el-radio>
</el-radio-group>
</el-row>
<el-row>
<el-checkbox v-model="qxCode.groupTransmit" :true-label="'1'" :false-label="'0'" @change="editSomeFields(editForm,'groupTransmit',$event)">是否检查用户的上下级关系</el-checkbox>
</el-row>
<!--0-代表不限制,1-同组织2-同项目组默认3-同小组-->
</el-form-item>
<el-form-item label="测试相关:缺陷crud、用例crud、测试计划、测试执行等">
<el-row>
<el-radio-group v-model="qxCode.testScope" @change="editSomeFields(editForm,'testScope',$event)">
<el-radio label="0">不限制允许任何人</el-radio>
<el-radio label="1">同机构下的人员</el-radio>
<el-radio label="2">同产品内人员</el-radio>
<el-radio label="3">同产品下同小组内人员</el-radio>
</el-radio-group>
</el-row>
<el-row>
<el-checkbox v-model="qxCode.testTransmit" :true-label="'1'" :false-label="'0'" @change="editSomeFields(editForm,'testTransmit',$event)">缺陷用例等指派及crud是否检查用户的上下级关系</el-checkbox>
</el-row>
<!--0-代表不限制,1-同组织2-同项目组默认3-同小组-->
</el-form-item>
<el-form-item label="迭代crud、迭代负责人管理">
<el-row>
<el-radio-group v-model="qxCode.iterationScope" @change="editSomeFields(editForm,'iterationScope',$event)">
<el-radio label="0">不限制允许任何人</el-radio>
<el-radio label="1">同机构下的人员</el-radio>
<el-radio label="2">同产品内人员</el-radio>
<el-radio label="3">同产品下同小组内人员</el-radio>
</el-radio-group>
</el-row>
<el-row>
<el-checkbox v-model="qxCode.iterationTransmit" :true-label="'1'" :false-label="'0'" @change="editSomeFields(editForm,'iterationTransmit',$event)">迭代指派及crud是否检查用户的上下级关系</el-checkbox>
</el-row>
<!--0-代表不限制,1-同组织2-同项目组默认3-同小组-->
</el-form-item>
<el-form-item label="需求相关:史诗、特性、故事的crud">
<el-row>
<el-radio-group v-model="qxCode.menuTransmit" @change="editSomeFields(editForm,'menuScope',$event)">
<el-radio label="0">不限制允许任何人</el-radio>
<el-radio label="1">同机构下的人员</el-radio>
<el-radio label="2">同产品内人员</el-radio>
<el-radio label="3">同产品下同小组内人员</el-radio>
</el-radio-group>
</el-row>
<el-row>
<el-checkbox v-model="qxCode.menuTransmit" :true-label="'1'" :false-label="'0'" @change="editSomeFields(editForm,'menuTransmit',$event)">需求指派及crud是否检查用户的上下级关系</el-checkbox>
</el-row>
<!--0-代表不限制,1-同组织2-同项目组默认3-同小组-->
</el-form-item>
</el-form>
</el-row>
</section>
</template>
<script>
import util from "@/common/js/util"; //
import {
initDicts,
addXmProduct,
editXmProductSomeFields,
createProductCode
} from "@/api/xm/core/xmProduct";
import { mapGetters } from "vuex";
import store from '@/store'
export default {
computed: {
...mapGetters(["userInfo", "roles"]),
},
props: ["xmProduct", "visible"],
watch: {
xmProduct: {
handler() {
this.editForm = this.xmProduct;
this.editFormBak = { ...this.editForm };
},
deep: true,
},
visible: function (visible) {
if (visible == true) {
this.initData();
this.initQxCode();
//
}
},
},
data() {
return {
dicts: { xmProductPstatus: [] }, // params=[{categoryId:'0001',itemCode:'sex'}] {'sex':[{optionValue:'1',optionName:'',seqOrder:'1',fp:'',isDefault:'0'},{optionValue:'2',optionName:'',seqOrder:'2',fp:'',isDefault:'0'}]}
load: { list: false, add: false, del: false, edit: false }, //...
editFormRules: {
},
//
editForm: {
id: "",
productName: "",
branchId: "",
remark: "",
version: "",
pmUserid: "",
pmUsername: "",
ctime: "",
deptid: "",
pstatus: "",
startTime: "",
endTime: "",
deptName: "",
admUserid: "",
admUsername: "",
assUserid: "",
assUsername: "",
bizProcInstId: "",
bizFlowState: "",
isTpl: "",
baselineId: "",
baseTime: "",
code: "",
pbudgetWorkload: "",
pbudgetAmount: "",
pmenuBudgetWorkload: "",
pmenuBudgetAmount: "",
budgetCtrl: "",
phaseBudgetCtrl: "",
phaseActCtrl: "",
locked: "",
del: "",
ltime: "",
},
editFormBak: {
id: "",
productName: "",
branchId: "",
remark: "",
version: "",
pmUserid: "",
pmUsername: "",
ctime: "",
deptid: "",
pstatus: "",
startTime: "",
endTime: "",
deptName: "",
admUserid: "",
admUsername: "",
assUserid: "",
assUsername: "",
bizProcInstId: "",
bizFlowState: "",
isTpl: "",
baselineId: "",
baseTime: "",
code: "",
pbudgetWorkload: "",
pbudgetAmount: "",
pmenuBudgetWorkload: "",
pmenuBudgetAmount: "",
budgetCtrl: "",
phaseBudgetCtrl: "",
phaseActCtrl: "",
locked: "",
del: "",
ltime: "",
},
/**
权限码0,1,2,3,4,5,67,8,9逗号分割
共10位,不定长暂时只启用前6个位
第0位代表需求指派及crud权限
0-代表不限制,1-同组织2-同项目组默认3-同小组
第1位代表需求指派及crud时是否检查上下级关系0-默认1
第2位代表测试相关(包括测试用例测试库测试计划测试报告)指派及crud权限同第0位
第3位代表测试相关(包括测试用例测试库测试计划测试报告)指派及crud时是否检查上下级关系同第1位
第4位代表迭代指派及crud时权限同第0位
第5位代表迭代指派及crud时是否检查上下级关系同第1位
*/
qxCode:{
groupScope:'2',
groupTransmit:'1',
testScope:'2',//0-,1-2-3-
testTransmit:'1',//0-1crud
menuScope:'2',//0-,1-2-3-
menuTransmit:'1',//0-1crud
iterationScope:'2',//0-,1-2-3-
iterationTransmit:'1',//0-1crud
},
/**begin 在下面加自定义属性,记得补上面的一个逗号**/
/**end 在上面加自定义属性**/
}; //end return
}, //end data
methods: {
// @cancel="editFormVisible=false"
handleCancel: function () {
this.$refs["editForm"].resetFields();
this.$emit("cancel");
},
editSomeFields(row, fieldName, $event) {
if(this.opType==='add'){
return;
}
let params = {};
params["ids"] = [row].map((i) => i.id);
if (fieldName == "admUserid") {
params["admUserid"] = $event[0].userid;
params["admUsername"] = $event[0].username;
} else if (fieldName == "assUserid") {
params["assUserid"] = $event[0].userid;
params["assUsername"] = $event[0].username;
} else if (fieldName == "pmUserid") {
params["pmUserid"] = $event[0].userid;
params["pmUsername"] = $event[0].username;
} if (fieldName == "groupScope"||fieldName == "groupTransmit"||fieldName == "testScope"||fieldName=="testTransmit"||fieldName == "menuScope"||fieldName=="menuTransmit"||fieldName == "iterationScope"||fieldName=="iterationTransmit") {
params["qxCode"] = [this.qxCode.groupScope,this.qxCode.groupTransmit,this.qxCode.testScope,this.qxCode.testTransmit,this.qxCode.menuScope,this.qxCode.menuTransmit,this.qxCode.iterationScope,this.qxCode.iterationTransmit].join(",")
} else {
params[fieldName] = $event;
}
var func = editXmProductSomeFields;
func(params)
.then((res) => {
let tips = res.data.tips;
if (tips.isOk) {
this.editFormBak = [...this.editForm];
Object.assign(this.editForm, params);
store.dispatch("setXmProduct",this.editForm)
this.$emit("edit-fields", params);
} else {
Object.assign(this.editForm, this.editFormBak);
this.initQxCode()
this.$notify({
position: "bottom-left",
showClose: true,
message: tips.msg,
type: tips.isOk ? "success" : "error",
});
}
})
.catch((e) => Object.assign(this.editForm, this.editFormBak));
},
initData(){
this.editForm=Object.assign(this.editForm,this.xmProduct)
this.editFormBak={...this.editForm}
},
initQxCode(){
var qxCode=this.editForm.qxCode
if(!qxCode){
this.qxCode.groupScope="2"
this.qxCode.groupTransmit="1"
this.qxCode.testScope="2"
this.qxCode.testTransmit="1"
this.qxCode.menuScope="2"
this.qxCode.menuTransmit="1"
this.qxCode.iterationScope="2"
this.qxCode.iterationTransmit="1"
}else{
var qxCodes=qxCode.split(",")
if(qxCodes.length>=8){
this.qxCode.groupScope=qxCodes[0]
this.qxCode.groupTransmit=qxCodes[1]
this.qxCode.testScope=qxCodes[2]
this.qxCode.testTransmit=qxCodes[3]
this.qxCode.menuScope=qxCodes[4]
this.qxCode.menuTransmit=qxCodes[5]
this.qxCode.iterationScope=qxCodes[6]
this.qxCode.iterationTransmit=qxCodes[7]
}else{
this.qxCode.groupScope='2'
this.qxCode.groupTransmit='1'
this.qxCode.testScope="2"
this.qxCode.testTransmit="1"
this.qxCode.menuScope="2"
this.qxCode.menuTransmit="1"
this.qxCode.iterationScope="2"
this.qxCode.iterationTransmit="1"
}
}
},
/**end 在上面加自定义方法**/
}, //end method
components: {
},
mounted() {
initDicts(this);
this.initData();
this.initQxCode();
/**在下面写其它函数***/
}, //end mounted
};
</script>
<style lang="scss" scoped>
</style>
Loading…
Cancel
Save