diff --git a/src/views/xm/core/xmProduct/XmProductEdit.vue b/src/views/xm/core/xmProduct/XmProductEdit.vue index dc1f4d2e..31b146c4 100644 --- a/src/views/xm/core/xmProduct/XmProductEdit.vue +++ b/src/views/xm/core/xmProduct/XmProductEdit.vue @@ -86,16 +86,68 @@ - - - + + + + + + + + + + + + 不限制,任何人可以互相操作 + 同机构下的人员可以操作 + 同一个项目组内可以互相操作 + 同项目组下的同一个小组可以互相操作 + + + + 任务指派及crud是否检查用户的上下级关系 + + + + + + + + 不限制,任何人可以互相操作 + 同机构下的人员可以操作 + 同一个项目组内可以互相操作 + 同项目组下的同一个小组可以互相操作 + + + + 任务指派及crud是否检查用户的上下级关系 + + + + + + + + 不限制,任何人可以互相操作 + 同机构下的人员可以操作 + 同一个项目组内可以互相操作 + 同项目组下的同一个小组可以互相操作 + + + + 任务指派及crud是否检查用户的上下级关系 + + + + + + @@ -114,7 +166,7 @@ import { createProductCode } from "@/api/xm/core/xmProduct"; import { mapGetters } from "vuex"; - +import store from '@/store' export default { computed: { ...mapGetters(["userInfo", "roles"]), @@ -145,7 +197,8 @@ export default { visible: function (visible) { if (visible == true) { - this.initData(); + this.initData(); + this.initQxCode(); //从新打开页面时某些数据需要重新加载,可以在这里添加 } }, @@ -260,6 +313,26 @@ export default { ltime: "", }, userSelectVisible: false, + currTabPane:"1", + /** + 权限码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:{ + menuScope:'2',//0-代表不限制,1-同组织,2-同项目组(默认),3-同小组 + menuTransmit:'0',//0-不控制,1任务指派及crud必须检查用户的上下级关系 + testScope:'2',//0-代表不限制,1-同组织,2-同项目组(默认),3-同小组 + testTransmit:'0',//0-不控制,1任务指派及crud必须检查用户的上下级关系 + iterationScope:'2',//0-代表不限制,1-同组织,2-同项目组(默认),3-同小组 + iterationTransmit:'0',//0-不控制,1任务指派及crud必须检查用户的上下级关系 + }, /**begin 在下面加自定义属性,记得补上面的一个逗号**/ /**end 在上面加自定义属性**/ @@ -319,6 +392,8 @@ export default { } else if (fieldName == "startTime") { params["startTime"] = row.startTime; params["endTime"] = row.endTime; + } else if (fieldName == "menuScope"||fieldName=="menuTransmit"||fieldName == "iterationScope"||fieldName=="iterationTransmit"||fieldName == "testScope"||fieldName=="testTransmit") { + params["qxCode"] = [this.qxCode.menuScope,this.qxCode.menuTransmit,this.qxCode.iterationScope,this.qxCode.iterationTransmit,this.qxCode.testScope,this.qxCode.testTransmit].join(",") } else { params[fieldName] = $event; } @@ -330,6 +405,7 @@ export default { 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); @@ -367,6 +443,35 @@ export default { } this.editFormBak={...this.editForm} }, + + initQxCode(){ + var qxCode=this.editForm.qxCode + if(!qxCode){ + this.qxCode.menuScope="2" + this.qxCode.menuTransmit="1" + this.qxCode.iterationScope="2" + this.qxCode.iterationTransmit="1" + this.qxCode.testScope="2" + this.qxCode.testTransmit="1" + }else{ + var qxCodes=qxCode.split(",") + if(qxCodes.length>=2){ + this.qxCode.menuScope=qxCodes[0] + this.qxCode.menuTransmit=qxCodes[1] + this.qxCode.iterationScope=qxCodes[2] + this.qxCode.iterationTransmit=qxCodes[3] + this.qxCode.testScope=qxCodes[4] + this.qxCode.testTransmit=qxCodes[5] + }else{ + this.qxCode.menuScope="2" + this.qxCode.menuTransmit="1" + this.qxCode.iterationScope="2" + this.qxCode.iterationTransmit="1" + this.qxCode.testScope="2" + this.qxCode.testTransmit="1" + } + } + }, /**end 在上面加自定义方法**/ }, //end method components: { @@ -374,6 +479,7 @@ export default { mounted() { initDicts(this); this.initData(); + this.initQxCode(); /**在下面写其它函数***/ }, //end mounted }; diff --git a/src/views/xm/core/xmProduct/XmProductInfo.vue b/src/views/xm/core/xmProduct/XmProductInfo.vue deleted file mode 100644 index 961c4d7b..00000000 --- a/src/views/xm/core/xmProduct/XmProductInfo.vue +++ /dev/null @@ -1,1045 +0,0 @@ - - - - - diff --git a/src/views/xm/core/xmProject/XmProjectEdit.vue b/src/views/xm/core/xmProject/XmProjectEdit.vue index da07f2a9..9f19747e 100644 --- a/src/views/xm/core/xmProject/XmProjectEdit.vue +++ b/src/views/xm/core/xmProject/XmProjectEdit.vue @@ -265,10 +265,9 @@ import { mapGetters } from 'vuex'; import { getGroups } from '@/api/xm/core/xmGroup'; - import html2canvas from 'html2canvas' - - import UsersSelect from "@/views/mdp/sys/user/UsersSelect"; - + import html2canvas from 'html2canvas' + import UsersSelect from "@/views/mdp/sys/user/UsersSelect"; + import store from '@/store' export default { computed: { ...mapGetters([ @@ -910,6 +909,7 @@ Object.assign(row,params) Object.assign(this.selProject,row) this.$emit('edit-fields',row) + store.dispatch("setProjectInfo",this.selProject) this.editFormBak=Object.assign({},row) }else{ Object.assign(this.editForm,this.editFormBak)