diff --git a/src/router/routes_xm.js b/src/router/routes_xm.js
index 8fce1f8e..b7dff47d 100644
--- a/src/router/routes_xm.js
+++ b/src/router/routes_xm.js
@@ -14,9 +14,7 @@ export default {
icon: 'project'
},
// leaf: true,//只有一个节点
- children: [
-
- { path: 'xmProject/XmProjectAdd', component: _import('xm/core/xmProject/XmProjectAdd'), name: 'xmProjectAdd',hidden:true, meta: { title: '项目立项' }},
+ children: [
{ path: 'xmProject/XmProjectAllMng', component: _import('xm/core/xmProject/XmProjectAllMng'), name: 'xmProjectAllMng', meta: { title: '项目总览' }},
{ path: 'xmProject/XmProjectMng', component: _import('xm/core/xmProject/XmProjectMng'), name: 'xmProjectMng', meta: { title: '项目(我的)' }},
{ path: 'xmProjectState/XmProjectStateMng', component: _import('xm/core/xmProjectState/XmProjectStateMng'), name: 'XmProjectStateMng', meta: { title: '项目统计' }},
diff --git a/src/views/xm/core/xmIteration/XmIterationInfo.vue b/src/views/xm/core/xmIteration/XmIterationInfo.vue
index 734fe9f7..8b2be7a0 100644
--- a/src/views/xm/core/xmIteration/XmIterationInfo.vue
+++ b/src/views/xm/core/xmIteration/XmIterationInfo.vue
@@ -50,10 +50,7 @@
-
-
\ No newline at end of file
diff --git a/src/views/xm/core/xmProject/XmProjectEdit.vue b/src/views/xm/core/xmProject/XmProjectEdit.vue
index 68daa395..54bd77c2 100644
--- a/src/views/xm/core/xmProject/XmProjectEdit.vue
+++ b/src/views/xm/core/xmProject/XmProjectEdit.vue
@@ -14,22 +14,59 @@
-
+
+
+
+ 自动生成
+
+
+ 项目代号为合同上的项目代号,甲乙方共享;项目内部编号为 代号-四位随机码
+
+
+
+
+
项目代号为合同上的项目代号,甲乙方共享;项目内部编号为 代号-四位随机码
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ scrum
+ 看板
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -67,7 +104,7 @@
-
+
小时 参考工时{{autoParams.weekday*8}}小时,工作日{{autoParams.weekday}}天
-
-
+
+
+
+
+
人员类型
人数
@@ -134,32 +174,35 @@
合计: {{this.toFixed(autoParams.planTotalCost/10000)}}万元
-
-
-
- 预计收款总额: {{this.toFixed(autoParams.totalReceivables/10000)}}万元
- 合同总金额 : {{this.toFixed(autoParams.contractAmt/10000)}}万元
-
-
- 税率:
- 考核标准毛利率:
- 当前毛利率为:{{toFixed(parseFloat2(autoParams.currentBudgetMarginRate)*100,2)}}%
-
-
+
+
+
+
+
+ 税率: %
+ 考核标准毛利率:%
+ 当前预估毛利率为:{{toFixed(parseFloat2(autoParams.currentBudgetMarginRate),2)}}%
+
+
+ 预计收\付款总额: {{this.toFixed(autoParams.totalReceivables/10000)}}万元
+ 合同总金额 : {{this.toFixed(editForm.contractAmt/10000)}}万元
+
+
提交
- 基本信息修改申请
- 延期申请
- 立项申请
- 结项申请
- 预算变更申请
- 项目暂停申请
- 项目重新启动申请
-
+
+ 基本信息修改申请
+ 延期申请
+ 立项申请
+ 结项申请
+ 预算变更申请
+ 项目暂停申请
+ 项目重新启动申请
+
@@ -175,7 +218,7 @@
import config from "@/common/config"; //全局公共库
import { initSimpleDicts } from '@/api/mdp/meta/item';//下拉框数据查询
- import { editXmProject,getDefOptions } from '@/api/xm/core/xmProject';
+ import { addXmProject,editXmProject,getDefOptions,createProjectCode } from '@/api/xm/core/xmProject';
import { uploadBase64 } from '@/api/mdp/arc/image';
import { mapGetters } from 'vuex';
@@ -297,12 +340,11 @@
}
},
},
- props:['selProject','visible'],
+ props:['selProject','visible','xmProject','opType'/**add、edit */],
watch: {
'visible':function(visible) {
if(visible==true){
- this.editForm=Object.assign({},this.selProject)
- this.dateRanger=[this.editForm.startTime,this.editForm.endTime]
+ this.initData();
}
},
'planTotalAt':{
@@ -324,6 +366,9 @@
editForm:{
handler(newValue, oldValue) {
+ if(this.opType==='add'){
+ return;
+ }
this.$notify.closeAll();
this.changeTips=[];
if(this.selProject.planWorkingHours!=this.editForm.planWorkingHours){
@@ -377,17 +422,20 @@
load:{ list: false, add: false, del: false, edit: false },//查询中...
editFormRules: {
name: [{
- required: true, message: '项目名称不可为空' , trigger: 'blur'
+ required: true, message: '项目名称不可为空' , trigger: 'change'
}],
code: [{
- required: true, message: '项目代号不可为空', trigger: 'blur'
+ required: true, message: '项目代号不可为空', trigger: 'change'
}],
xmType: [{
- required: true, message: '项目类型不可为空', trigger: 'blur'
+ required: true, message: '项目类型不可为空', trigger: 'change'
+ }],
+ xmType: [{
+ required: true, message: '项目类型不可为空', trigger: 'change'
}],
priority: [{
- required: true, message: '优先级不可为空', trigger: 'blur'
+ required: true, message: '优先级不可为空', trigger: 'change'
}],
admUserid: [{
required: true, message: '项目总控不能为空', trigger: 'change'
@@ -435,15 +483,12 @@
this.$emit('cancel');
},
//编辑提交XmProject xm_project父组件监听@submit="afterEditSubmit"
- editSubmit: function () {
- if(!this.roles.some(i=>i.roleid=='projectAdmin')){
- this.$notify({showClose: true, message: "只有项目经理可以修改项目", type: 'error' });
- return;
- }
- if("0" != this.selProject.status){
+ editSubmit: function () {
+ if(this.opType!=='add' && "0" != this.selProject.status){
this.$notify({showClose: true, message: "只有初始状态的项目可以修改,如确实需要修改,请进行项目变更审批", type: 'error' });
return;
}
+ var msg=this.xmProduct&&this.xmProduct.id?'将自动关联产品【'+this.xmProduct.productName+'】':'';
if (
this.dateRanger != null &&
this.dateRanger.length == 2
@@ -456,13 +501,17 @@
}
this.$refs.editForm.validate((valid) => {
if (valid) {
- this.$confirm('确认提交吗?', '提示', {}).then(() => {
+ this.$confirm('确认提交吗?'+msg, '提示', {}).then(() => {
this.load.edit=true
+ var func=editXmProject;
+ if(this.opType==='add'){
+ func=addXmProject;
+ }
let params = Object.assign({}, this.editForm);
params.planIuserWorkload=this.autoParams.planIuserWorkload
params.planOuserWorkload=this.autoParams.planOuserWorkload
params.planWorkload=this.autoParams.planWorkload
- editXmProject(params).then((res) => {
+ func(params).then((res) => {
this.load.edit=false;
var tips=res.data.tips;
if(tips.isOk){
@@ -729,17 +778,50 @@
},
+ createProjectCode(){
+ createProjectCode({}).then(res=>{
+ var tips=res.data.tips;
+ if(tips.isOk){
+ this.editForm.code=res.data.data
+ }
+ this.$notify({showClose: true, message: tips.msg, type: tips.isOk?'success':'error' });
+ })
+ },
+ initData(){
+ this.editForm={...this.selProject}
+ if(this.opType==='add'){
+ this.editForm.pmUserid=this.userInfo.userid
+ this.editForm.pmUsername=this.userInfo.username
+ this.editForm.admUserid=this.userInfo.userid
+ this.editForm.admUsername=this.userInfo.username
+ this.editForm.assUserid=this.userInfo.userid
+ this.editForm.assUsername=this.userInfo.username
+ this.editForm.status="0"
+ this.editForm.wtype=this.editForm.wtype||"2"
+ this.editForm.workType=this.editForm.workType||"1"
+ this.editForm.xmType=this.editForm.xmType||"2"
+ this.editForm.priority=this.editForm.priority||"2"
+ this.editForm.locked=this.editForm.locked||"0"
+ this.editForm.showOut=this.editForm.showOut||"2"
+ this.editForm.isTpl=this.editForm.isTpl||"0"
+ this.editForm.phaseActCtrl=this.editForm.phaseActCtrl||"1";
+ this.editForm.budgetEarly=this.editForm.budgetEarly||"1";
+ this.editForm.earlyAmt=this.editForm.earlyAmt||-10000;
+ this.editForm.budgetCtrl=this.editForm.budgetCtrl||"0";
+ this.editForm.taxRate=this.editForm.taxRate||6
+ this.editForm.budgetMarginRate=this.editForm.budgetMarginRate||13
+ }else{
+ this.dateRanger=[this.editForm.startTime,this.editForm.endTime]
+ }
+ }
/**end 在上面加自定义方法**/
},//end method
components: { html2canvas,UsersSelect,
//在下面添加其它组件 'xm-project-add':XmProjectEdit
},
mounted() {
- this.maxTableHeight=util.calcTableMaxHeight(this.$refs.table.$el)-20;
- this.editForm=Object.assign({},this.selProject);
- this.dateRanger=[this.editForm.startTime,this.editForm.endTime]
-
-
+ this.maxTableHeight=util.calcTableMaxHeight(this.$refs.table.$el)-20;
+ this.initData();
initSimpleDicts('all',['projectType','priority','projectStatus']).then(res=>{
this.dicts=res.data.data;
})
diff --git a/src/views/xm/core/xmProject/XmProjectForLinkComplex.vue b/src/views/xm/core/xmProject/XmProjectForLinkComplex.vue
index 1e5a6721..89c6e837 100644
--- a/src/views/xm/core/xmProject/XmProjectForLinkComplex.vue
+++ b/src/views/xm/core/xmProject/XmProjectForLinkComplex.vue
@@ -17,7 +17,7 @@
v-model="projectAddVisible"
trigger="manual">
-
+
项目
@@ -75,7 +75,7 @@ import XmProductSelect from '@/views/xm/core/components/XmProductSelect.vue'
import XmProductProjectForLink from '../xmProduct/XmProductProjectForLink.vue';
import XmProjectOverview from "./XmProjectOverview";
- import XmProjectAdd from './XmProjectAdd';//新增界面
+ import XmProjectAdd from './XmProjectEdit';//新增界面
import XmProjectDetail from './XmProjectDetail';//新增界面
import XmProductProjectLinkMng from '../xmProductProjectLink/XmProductProjectLinkMng.vue';
diff --git a/src/views/xm/core/xmProject/XmProjectInfo.vue b/src/views/xm/core/xmProject/XmProjectInfo.vue
index 49386094..043822c1 100644
--- a/src/views/xm/core/xmProject/XmProjectInfo.vue
+++ b/src/views/xm/core/xmProject/XmProjectInfo.vue
@@ -161,10 +161,7 @@