|
@@ -844,6 +844,9 @@
|
|
|
<el-row >
|
|
|
<el-col :span="22">
|
|
|
<div><span>{{t.name}}</span>
|
|
|
+ <el-link :underline="false" type="primary" style="color:#aaa;margin-left:10px;"
|
|
|
+ @click="setTemplate(t)"><i class="el-icon-setting" v-show="t.isSystem == 0" ></i>
|
|
|
+ </el-link>
|
|
|
<el-link :underline="false" type="primary" style="color:#aaa;margin-left:10px;"
|
|
|
@click="deleteTemplate(t)"><i class="el-icon-delete" v-show="t.isSystem == 0" ></i>
|
|
|
</el-link>
|
|
@@ -866,6 +869,23 @@
|
|
|
</el-tab-pane>
|
|
|
</el-tabs>
|
|
|
</div>
|
|
|
+ <el-dialog title="编辑模板" append-to-body v-if="setTemplateDialog" :visible.sync="setTemplateDialog" width="500px">
|
|
|
+ <el-form label-width="20%">
|
|
|
+ <el-form-item label="模板名称"><el-input v-model="setTemplateData.name" style="width:80%" clearable></el-input></el-form-item>
|
|
|
+ <el-form-item label=""><el-checkbox v-model="setTemplateData.creWithPro">随项目自动创建</el-checkbox></el-form-item>
|
|
|
+ <el-form-item v-for="item,index in setTemplateData.stagesList" :key="item.id" :label="index == 0 ? '任务列表' : ''">
|
|
|
+ <el-input v-model="item.stagesName" style="width:70%" clearable></el-input>
|
|
|
+ <el-link :underline="false" type="primary" style="color:#aaa;" @click="deleteStages(item,index)" v-if="index != 0">
|
|
|
+ <i class="el-icon-delete"></i>
|
|
|
+ </el-link>
|
|
|
+ </el-form-item>
|
|
|
+ <el-link style="margin-left:20%" :underline="false" type="primary" @click="addStages()">新增任务列表</el-link>
|
|
|
+ </el-form>
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
+ <el-button type="primary" @click="setTemplateDialog = false">取消</el-button>
|
|
|
+ <el-button type="primary" @click="setTemplateSave()">{{ $t('save') }}</el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
</el-dialog>
|
|
|
<el-dialog :title="$t('taskgroupleader')" v-if="setInchargerDialog" :visible.sync="setInchargerDialog" :close-on-click-modal="false" customClass="customWidth" width="300px">
|
|
|
<el-form ref="formIncharger" :model="groupForm" :rules="rules" style="margin-top:10px;">
|
|
@@ -906,6 +926,7 @@
|
|
|
<el-checkbox v-model="templateForm.saveTask" :label="$t('other.task')"></el-checkbox>
|
|
|
<el-checkbox v-model="templateForm.saveMileStone" :label="$t('other.milestone')"></el-checkbox>
|
|
|
<el-checkbox v-model="templateForm.saveRisk" :label="$t('risk')"></el-checkbox>
|
|
|
+ <el-checkbox v-model="templateForm.automatically" :label="$t('suixiangmuzidongchuangjian')"></el-checkbox>
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
@@ -919,7 +940,15 @@
|
|
|
<el-form ref="form2" :model="stageForm" :rules="rules2" >
|
|
|
<el-form-item prop="stagesName">
|
|
|
<el-input v-model="stageForm.stagesName" :placeholder="$t('pleaseenteratasklistname')" maxlength="60"
|
|
|
- show-word-limit clearable></el-input>
|
|
|
+ show-word-limit clearable>
|
|
|
+ <template slot="prepend">
|
|
|
+ <div style="width:90px">{{ $t('ren-wu-lie-biao-ming-cheng') }}</div>
|
|
|
+ </template></el-input>
|
|
|
+ <el-input id="stageForm_ysgs" v-model="stageForm.stagesTime" style="margin-top:5px" @keyup.native="restrictNumber('stageForm_ysgs')">
|
|
|
+ <template slot="prepend">
|
|
|
+ <div style="width:90px">{{ $t('yu-suan-gong-shi') }}<span>(h)</span></div>
|
|
|
+ </template>
|
|
|
+ </el-input>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
@@ -1191,7 +1220,9 @@ import delete$ from 'dingtalk-jsapi/api/biz/cspace/delete';
|
|
|
groupResponsibleId: '', // 分组负责人的id
|
|
|
groupDetailsShow: false,
|
|
|
groupDetailData: {},
|
|
|
- groupDetailTil: ''
|
|
|
+ groupDetailTil: '',
|
|
|
+ setTemplateData: {},
|
|
|
+ setTemplateDialog: false
|
|
|
};
|
|
|
|
|
|
},
|
|
@@ -1201,7 +1232,16 @@ import delete$ from 'dingtalk-jsapi/api/biz/cspace/delete';
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
-
|
|
|
+ restrictNumber(targetId) {
|
|
|
+ let inpu = document.getElementById(targetId)
|
|
|
+ inpu.value = inpu.value.replace(/[^\d.]/g, ""); //仅保留数字和"."
|
|
|
+ inpu.value = inpu.value.replace(/\.{2,}/g, "."); //两个连续的"."仅保留第一个"."
|
|
|
+ inpu.value = inpu.value.replace(".", "$#*").replace(/\./g,'').replace('$#*','.');//去除其他"."
|
|
|
+ inpu.value = inpu.value.replace(/^(\d+)\.(\d\d).*$/, '$1.$2');;//限制只能输入两个小数
|
|
|
+ if (inpu.value.indexOf(".") < 0 && inpu.value != "") { //首位是0的话去掉
|
|
|
+ inpu.value = parseFloat(inpu.value);
|
|
|
+ }
|
|
|
+ },
|
|
|
test(item){
|
|
|
// let pro = this.$route
|
|
|
console.log('test',this.projectList);
|
|
@@ -1651,6 +1691,63 @@ import delete$ from 'dingtalk-jsapi/api/biz/cspace/delete';
|
|
|
);
|
|
|
|
|
|
},
|
|
|
+ // 编辑模板
|
|
|
+ setTemplate(t){
|
|
|
+ console.log(t);
|
|
|
+ this.setTemplateData = t
|
|
|
+ this.setTemplateData.needDelete = []
|
|
|
+ this.setTemplateDialog = true
|
|
|
+ },
|
|
|
+ setTemplateSave(){
|
|
|
+ if(this.setTemplateData.name == '' || this.setTemplateData.name == null){
|
|
|
+ this.$message({
|
|
|
+ message: '模板名称不能为空',
|
|
|
+ type: 'error'
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for(let i in this.setTemplateData.stagesList){
|
|
|
+ if(this.setTemplateData.stagesList[i].stagesName == '' || this.setTemplateData.stagesList[i].stagesName == null){
|
|
|
+ this.$message({
|
|
|
+ message: '任务列表名称不能为空',
|
|
|
+ type: 'error'
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.http.post('/task-group/setTemplate',this.setTemplateData,
|
|
|
+ res => {
|
|
|
+ if(res.code == 'ok'){
|
|
|
+ this.$message({
|
|
|
+ message: '修改成功',
|
|
|
+ type: 'success'
|
|
|
+ })
|
|
|
+ this.getGroupTemplate()
|
|
|
+ this.setTemplateDialog = false
|
|
|
+ }else{
|
|
|
+ this.$message({
|
|
|
+ message: res.msg,
|
|
|
+ type: 'error'
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },err => {
|
|
|
+ this.$message({
|
|
|
+ message: err,
|
|
|
+ type: 'error'
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ deleteStages(item,index){
|
|
|
+ this.setTemplateData.needDelete.push(item.id)
|
|
|
+ this.setTemplateData.stagesList.splice(index,1)
|
|
|
+ console.log('deletestages',item.id);
|
|
|
+ },
|
|
|
+ addStages(){
|
|
|
+ this.setTemplateData.stagesList.push({
|
|
|
+ stagesName: '',
|
|
|
+ templateId: this.setTemplateData.id
|
|
|
+ })
|
|
|
+ },
|
|
|
//删除模板
|
|
|
deleteTemplate(t) {
|
|
|
var that = this;
|
|
@@ -2521,7 +2618,7 @@ import delete$ from 'dingtalk-jsapi/api/biz/cspace/delete';
|
|
|
},
|
|
|
addStage() {
|
|
|
this.addStageDialog = true;
|
|
|
- this.stageForm = {groupId: this.selectedGroup.id, projectId: this.curProjectId};
|
|
|
+ this.stageForm = {groupId: this.selectedGroup.id, projectId: this.curProjectId, stagesTime: 0};
|
|
|
},
|
|
|
viewChange(index, indexPath) {
|
|
|
this.groupType = 1;
|