|
@@ -7,12 +7,12 @@
|
|
|
<el-form-item label="任务列表">
|
|
|
</el-form-item>
|
|
|
</div> -->
|
|
|
- <el-form-item label="任务列表">
|
|
|
+ <el-form-item :label="$t('tasklist')">
|
|
|
<div style="margin-left: 8px">
|
|
|
<!-- <el-input style="float:left;" v-model="keyword" class="input-with-select" placeholder="请输入项目名称关键字" clearable="true"> -->
|
|
|
- <el-select v-model="searchField" style="width:120px;" size="small" slot="prepend" placeholder="请选择">
|
|
|
- <el-option label="进行中" value="0" @click.native="hiddens()"></el-option>
|
|
|
- <el-option label="已完成" value="1" @click.native="hiddens()"></el-option>
|
|
|
+ <el-select v-model="searchField" style="width:120px;" size="small" slot="prepend" :placeholder="$t('defaultText.pleaseChoose')">
|
|
|
+ <el-option :label="$t('ongoing')" value="0" @click.native="hiddens()"></el-option>
|
|
|
+ <el-option :label="$t('state.completed')" value="1" @click.native="hiddens()"></el-option>
|
|
|
</el-select>
|
|
|
<!-- <el-button slot="append" @click="searchList" icon="el-icon-search"></el-button> -->
|
|
|
<!-- </el-input> -->
|
|
@@ -26,9 +26,9 @@
|
|
|
</div>
|
|
|
</el-form-item> -->
|
|
|
|
|
|
- <el-form-item label="所属部门" v-if="user.timeType.projectWithDept">
|
|
|
+ <el-form-item :label="$t('subordinatedepartments')" v-if="user.timeType.projectWithDept">
|
|
|
<!-- <span style="margin-left:5px;margin-right:5px;color:#606266;">部门</span> -->
|
|
|
- <el-cascader v-model="deptId" :options="departmentList" size="small" placeholder="请选择部门"
|
|
|
+ <el-cascader v-model="deptId" :options="departmentList" size="small" :placeholder="$t('qing-xuan-ze-bu-men')"
|
|
|
:props="{ checkStrictly: true, expandTrigger: 'hover' }" :show-all-levels="false" clearable filterable @change="hiddens"
|
|
|
></el-cascader>
|
|
|
</el-form-item>
|
|
@@ -41,16 +41,16 @@
|
|
|
<el-form-item label="类型">
|
|
|
</el-form-item>
|
|
|
</div> -->
|
|
|
- <el-form-item label="类型">
|
|
|
+ <el-form-item :label="$t('types')">
|
|
|
<div style="margin-left: 8px">
|
|
|
<!-- <el-input style="float:left;" v-model="keyword" class="input-with-select" placeholder="请输入项目名称关键字" clearable="true"> -->
|
|
|
- <el-select v-model="typeField" style="width:120px;" size="small" slot="prepend" placeholder="请选择" clearable @change="hiddens()">
|
|
|
+ <el-select v-model="typeField" style="width:120px;" size="small" slot="prepend" :placeholder="$t('defaultText.pleaseChoose')" clearable @change="hiddens()">
|
|
|
<!-- <el-option label="任务" value="0" @click.native="hiddens()"></el-option>
|
|
|
<el-option label="里程碑" value="1" @click.native="hiddens()"></el-option>
|
|
|
<el-option label="风险" value="2" @click.native="hiddens()"></el-option> -->
|
|
|
- <el-option label="任务" value="0"></el-option>
|
|
|
- <el-option label="里程碑" value="1"></el-option>
|
|
|
- <el-option label="风险" value="2"></el-option>
|
|
|
+ <el-option :label="$t('other.task')" value="0"></el-option>
|
|
|
+ <el-option :label="$t('other.milestone')" value="1"></el-option>
|
|
|
+ <el-option :label="$t('risk')" value="2"></el-option>
|
|
|
</el-select>
|
|
|
<!-- <el-button slot="append" @click="searchList" icon="el-icon-search"></el-button> -->
|
|
|
<!-- </el-input> -->
|
|
@@ -58,9 +58,9 @@
|
|
|
</el-form-item>
|
|
|
<el-form-item >
|
|
|
<div style="margin-left: 80px">
|
|
|
- <el-select v-model="dateType" style="width:120px;" size="small" slot="prepend" placeholder="请选择">
|
|
|
- <el-option label="开始时间" :value="0" @click.native="hiddens(1)"></el-option>
|
|
|
- <el-option label="截止时间" :value="1" @click.native="hiddens(1)"></el-option>
|
|
|
+ <el-select v-model="dateType" style="width:120px;" size="small" slot="prepend" :placeholder="$t('defaultText.pleaseChoose')">
|
|
|
+ <el-option :label="$t('starttimes')" :value="0" @click.native="hiddens(1)"></el-option>
|
|
|
+ <el-option :label="$t('deadline')" :value="1" @click.native="hiddens(1)"></el-option>
|
|
|
</el-select>
|
|
|
</div>
|
|
|
</el-form-item>
|
|
@@ -71,8 +71,8 @@
|
|
|
type="daterange"
|
|
|
size="small"
|
|
|
range-separator="-"
|
|
|
- start-placeholder="区间"
|
|
|
- end-placeholder="区间"
|
|
|
+ :start-placeholder="$t('interval')"
|
|
|
+ :end-placeholder="$t('interval')"
|
|
|
value-format="yyyy-MM-dd"
|
|
|
clearable
|
|
|
@change="hiddens()">
|
|
@@ -84,9 +84,9 @@
|
|
|
<div style="display: flex;width: 100%;">
|
|
|
<div class="classification">
|
|
|
<div>
|
|
|
- <p :class="idx == 0 ? 'on' : ''" @click="switchs(0)" v-if="permissions.projectView || permissions.projectManagement">全部任务</p>
|
|
|
- <p :class="idx == 1 ? 'on' : ''" @click="switchs(1)">我执行的</p>
|
|
|
- <p :class="idx == 2 ? 'on' : ''" @click="switchs(2)">我创建的</p>
|
|
|
+ <p :class="idx == 0 ? 'on' : ''" @click="switchs(0)" v-if="permissions.projectView || permissions.projectManagement">{{ $t('alltaskss') }}</p>
|
|
|
+ <p :class="idx == 1 ? 'on' : ''" @click="switchs(1)">{{ $t('perform') }}</p>
|
|
|
+ <p :class="idx == 2 ? 'on' : ''" @click="switchs(2)">{{ $t('created') }}</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div style="max-width: 94%;min-width: 90%">
|
|
@@ -97,9 +97,9 @@
|
|
|
{{scope.$index+1+(page-1)*size}}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="stagesName" label="任务阶段" sortable width="180" @mouseover="mouseOver">
|
|
|
+ <el-table-column prop="stagesName" :label="$t('taskstage')" sortable width="180" @mouseover="mouseOver">
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="name" label="任务名称" sortable width="330">
|
|
|
+ <el-table-column prop="name" :label="$t('nameofthetask')" sortable width="330">
|
|
|
<template slot-scope="scope">
|
|
|
<div v-if="scope.row.name.length > 20">
|
|
|
<el-popover trigger="hover" placement="top" width="330" v-if="scope.row.name">
|
|
@@ -119,28 +119,28 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<!-- <el-table-column prop="projectCategorySub" label="项目分组" sortable width="300" v-if="user.companyId == '428'"></el-table-column> -->
|
|
|
- <el-table-column prop="departmentName" label="所属部门" sortable width="300" v-if="user.timeType.projectWithDept"></el-table-column>
|
|
|
- <el-table-column prop="projectName" label="项目名称" sortable width="260" show-overflow-tooltip>
|
|
|
+ <el-table-column prop="departmentName" :label="$t('subordinatedepartments')" sortable width="300" v-if="user.timeType.projectWithDept"></el-table-column>
|
|
|
+ <el-table-column prop="projectName" :label="$t('headerTop.projectName')" sortable width="260" show-overflow-tooltip>
|
|
|
<template slot-scope="scope">
|
|
|
<el-link type="primary" :href="'#/projectInside/'+scope.row.projectId">{{scope.row.projectName}}</el-link>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="executorName" label="执行人" sortable width="130">
|
|
|
+ <el-table-column prop="executorName" :label="$t('zhi-hang-ren')" sortable width="130">
|
|
|
<template slot-scope="scope">
|
|
|
<!-- <el-link type="primary" @click="showUser(scope.row.executorId)">{{scope.row.executorName}}</el-link> -->
|
|
|
<span>{{scope.row.executorName}}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
|
|
|
- <el-table-column prop="startDate" label="开始时间" sortable width="180"></el-table-column>
|
|
|
- <el-table-column prop="endDate" label="截止时间" width="260" fixed="right" sortable>
|
|
|
+ <el-table-column prop="startDate" :label="$t('starttimes')" sortable width="180"></el-table-column>
|
|
|
+ <el-table-column prop="endDate" :label="$t('deadline')" width="260" fixed="right" sortable>
|
|
|
<template slot-scope="scope">
|
|
|
<div style="display: flex;justify-content: space-between;padding-right: 40px">
|
|
|
<span style="display: inline-block;margin-right: 55px">
|
|
|
<span :class="judgedate(scope.row.endDate) && searchField == '0' && scope.row.taskStatus == 0 ? 'redwarningspan autodatespan' : 'autodatespan'">{{scope.row.endDate}}</span>
|
|
|
</span>
|
|
|
- <el-button v-if="searchField == 0" size="small" type="primary" @click="completes(scope.row.id, 0)">完成</el-button>
|
|
|
- <el-button v-if="searchField == 1" size="small" type="warning" @click="completes(scope.row.id, 1)">重启</el-button>
|
|
|
+ <el-button v-if="searchField == 0" size="small" type="primary" @click="completes(scope.row.id, 0)">{{ $t('wan-cheng') }}</el-button>
|
|
|
+ <el-button v-if="searchField == 1" size="small" type="warning" @click="completes(scope.row.id, 1)">{{ $t('zhong-qi') }}</el-button>
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -161,93 +161,52 @@
|
|
|
</el-col>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <!--新增界面-->
|
|
|
- <!-- <el-dialog :title="title" v-if="addFormVisible" :visible.sync="addFormVisible" :close-on-click-modal="false" customClass="customWidth" width="600px">
|
|
|
- <el-form ref="form1" :model="addForm" :rules="rules" label-width="100px">
|
|
|
- <el-form-item label="任务名称" >
|
|
|
- <el-input v-model="addForm.code" :disabled="user.role==0" placeholder="请输入项目编号" clearable></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="项目名称" prop="name">
|
|
|
- <el-input v-model="addForm.name" :disabled="user.role==0" placeholder="请输入项目名称" clearable></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="全部参与者">
|
|
|
- <el-select v-model="addForm.userId" multiple filterable placeholder="请选择参与者" style="width:100%;" @change="changeParticipator">
|
|
|
- <el-option v-for="item in users" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="主要负责人" >
|
|
|
- <el-select v-model="addForm.inchargerId" :disabled="addForm.userId.length==0 || user.role==0" filterable placeholder="请选择负责人" style="width:100%;" @change="changeIncharger">
|
|
|
- <el-option v-for="item in participator" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
-
|
|
|
- </el-form>
|
|
|
- <div slot="footer" class="dialog-footer">
|
|
|
- <el-button @click.native="addFormVisible = false">取消</el-button>
|
|
|
- <el-button type="primary" @click="submitInsert" :loading="addLoading">提交</el-button>
|
|
|
- </div>
|
|
|
- </el-dialog> -->
|
|
|
-
|
|
|
<!--用户详细信息弹出框-->
|
|
|
- <el-dialog title="查看详情" v-if="userDetailVisible" :visible.sync="userDetailVisible" :close-on-click-modal="false" customClass="customWidth" width="400px">
|
|
|
- <div class="line"><span>姓名</span><span>{{userDetail.name}}</span></div>
|
|
|
- <div class="line"><span>工号</span><span>{{userDetail.jobNumber}}</span></div>
|
|
|
- <div class="line"><span>手机号码</span><span>{{userDetail.phone}}</span></div>
|
|
|
- <div class="line"><span>部门</span><span>{{userDetail.departmentName}}</span></div>
|
|
|
- <div class="line"><span>成本</span><span>{{userDetail.cost}}元/小时</span></div>
|
|
|
+ <el-dialog :title="$t('Checkthedetails')" v-if="userDetailVisible" :visible.sync="userDetailVisible" :close-on-click-modal="false" customClass="customWidth" width="400px">
|
|
|
+ <div class="line"><span>{{ $t('lable.name') }}</span><span>{{userDetail.name}}</span></div>
|
|
|
+ <div class="line"><span>{{ $t('Worknumber') }}</span><span>{{userDetail.jobNumber}}</span></div>
|
|
|
+ <div class="line"><span>{{ $t('lable.phone') }}</span><span>{{userDetail.phone}}</span></div>
|
|
|
+ <div class="line"><span>{{ $t('lable.department') }}</span><span>{{userDetail.departmentName}}</span></div>
|
|
|
+ <div class="line"><span>{{ $t('costof') }}</span><span>{{userDetail.cost}}{{ $t('Yuananhour') }}</span></div>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
- <el-button type="primary" @click="userDetailVisible = false" >确定</el-button>
|
|
|
+ <el-button type="primary" @click="userDetailVisible = false" >{{ $t('btn.determine') }}</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
<!-- 子项目列表 -->
|
|
|
- <el-dialog title="子项目列表" show-header="false" v-if="subProjectVisible" :visible.sync="subProjectVisible" :close-on-click-modal="false" customClass="customWidth" width="500px">
|
|
|
+ <el-dialog :title="$t('listofsubitems')" show-header="false" v-if="subProjectVisible" :visible.sync="subProjectVisible" :close-on-click-modal="false" customClass="customWidth" width="500px">
|
|
|
<el-table :data="subProjectList" highlight-current-row height="400" style="width: 100%;">
|
|
|
- <el-table-column type="index" width="60" label="序号">
|
|
|
+ <el-table-column type="index" width="60" :label="$t('headerTop.serialNumber')">
|
|
|
<template slot-scope="scope" >
|
|
|
{{scope.$index+1+(page-1)*size}}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="name" label="名称" ></el-table-column>
|
|
|
- <el-table-column label="操作" width="150">
|
|
|
+ <el-table-column prop="name" :label="$t('names')" ></el-table-column>
|
|
|
+ <el-table-column :label="$t('operation')" width="150">
|
|
|
<template slot-scope="scope" >
|
|
|
- <el-button size="small" type="primary" @click="addNewSubProject(scope.row)">编辑</el-button>
|
|
|
- <el-button size="small" type="danger" @click="deleteSubPro(scope.row)">删除</el-button>
|
|
|
+ <el-button size="small" type="primary" @click="addNewSubProject(scope.row)">{{ $t('bian-ji') }}</el-button>
|
|
|
+ <el-button size="small" type="danger" @click="deleteSubPro(scope.row)">{{ $t('btn.delete') }}</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
|
|
|
</el-table>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
- <el-button type="primary" @click="subProjectVisible = false" >关闭</el-button>
|
|
|
- <el-button type="primary" @click="addNewSubProject()" >新增子项目</el-button>
|
|
|
+ <el-button type="primary" @click="subProjectVisible = false" >{{ $t('Shutdown') }}</el-button>
|
|
|
+ <el-button type="primary" @click="addNewSubProject()" >{{ $t('addsubitems') }}</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
|
|
|
-
|
|
|
- <!-- 新增子项目弹出框 -->
|
|
|
- <!-- <el-dialog title="新增/修改子项目" v-if="addSubProject" :visible.sync="addSubProject" :close-on-click-modal="false" customClass="customWidth" width="500px">
|
|
|
- <el-form ref="form2" :model="addForm" :rules="rules" label-width="100px">
|
|
|
- <el-form-item label="项目名称" prop="name">
|
|
|
- <el-input v-model="addForm.name" placeholder="请输入项目名称" clearable></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
- <div slot="footer" class="dialog-footer">
|
|
|
- <el-button @click.native="addSubProject = false">取消</el-button>
|
|
|
- <el-button type="primary" @click="submitInsertSubProject" :loading="addLoading">提交456</el-button>
|
|
|
- </div>
|
|
|
- </el-dialog> -->
|
|
|
-
|
|
|
<!-- 任务详情信息弹出框 -->
|
|
|
<el-dialog :class="addForm.id==null?'':'jm'" :title="title" v-if="addFormVisible" :visible.sync="addFormVisible"
|
|
|
:close-on-click-modal="false" customClass="customWidth" width="800px">
|
|
|
<!-- <div style="width: 200%;height:80%;position: absolute;right:-100%;top:0;background:#000;opacity: 0;" @click="sss"></div> -->
|
|
|
<el-form ref="form1" :model="addForm" :rules="taskRules" label-width="100px">
|
|
|
<!--子任务需要选择任务列表 -->
|
|
|
- <el-form-item label="任务列表" prop="stages" v-if="addForm.parentTid != null">
|
|
|
+ <el-form-item :label="$t('tasklist')" prop="stages" v-if="addForm.parentTid != null">
|
|
|
<el-select v-model="addForm.stagesId" style="width:100%;" >
|
|
|
<el-option v-for="item in stageList" :key="item.id" :label="item.stagesName" :value="item.id"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="类型">
|
|
|
+ <el-form-item :label="$t('types')">
|
|
|
<el-select v-model="addForm.taskType" style="width:100%;" :disabled="(this.addForm.id != null && user.id != this.addForm.createrId && currentProject.inchargerId != user.id) && !permissions.projectManagement">
|
|
|
<el-option v-for="item in taskTypeList" :key="item.id" :label="item.name" :value="item.id">
|
|
|
<i :class="item.icon" ></i>
|
|
@@ -255,40 +214,40 @@
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="任务内容" prop="name">
|
|
|
- <el-input v-model="addForm.name" :maxlength="40" :disabled="(this.addForm.id != null && user.id != this.addForm.createrId && currentProject.inchargerId != user.id) && !permissions.projectManagement" placeholder="请输入任务内容" clearable></el-input>
|
|
|
+ <el-form-item :label="$t('taskdefinition')" prop="name">
|
|
|
+ <el-input v-model="addForm.name" :maxlength="40" :disabled="(this.addForm.id != null && user.id != this.addForm.createrId && currentProject.inchargerId != user.id) && !permissions.projectManagement" :placeholder="$t('enterthetaskcontent')" clearable></el-input>
|
|
|
</el-form-item>
|
|
|
|
|
|
- <el-form-item :label="addForm.taskType == 1 ? '截至时间' : '开始时间'" :prop="addForm.taskType == 1 ? 'endDate' : 'startDate'">
|
|
|
+ <el-form-item :label="addForm.taskType == 1 ? $t('deadline') : $t('starttimes')" :prop="addForm.taskType == 1 ? 'endDate' : 'startDate'">
|
|
|
<el-date-picker v-model="addForm.startDate" type="date" style="width:40%;" value-format="yyyy-MM-dd"
|
|
|
- placeholder="请选择日期" :disabled="(this.addForm.id != null && user.id != this.addForm.createrId && currentProject.inchargerId != user.id) && !permissions.projectManagement" v-if="addForm.taskType != 1"></el-date-picker>
|
|
|
- <span style="margin-left:30px;margin-right:10px;" v-if="addForm.taskType != 1">截止时间</span>
|
|
|
+ :placeholder="$t('pleaseselectadate')" :disabled="(this.addForm.id != null && user.id != this.addForm.createrId && currentProject.inchargerId != user.id) && !permissions.projectManagement" v-if="addForm.taskType != 1"></el-date-picker>
|
|
|
+ <span style="margin-left:30px;margin-right:10px;" v-if="addForm.taskType != 1">{{ $t('deadline') }}</span>
|
|
|
<el-date-picker v-model="addForm.endDate" type="date" value-format="yyyy-MM-dd"
|
|
|
- placeholder="请选择日期" :disabled="(this.addForm.id != null && user.id != this.addForm.createrId && currentProject.inchargerId != user.id) && !permissions.projectManagement"></el-date-picker>
|
|
|
+ :placeholder="$t('pleaseselectadate')" :disabled="(this.addForm.id != null && user.id != this.addForm.createrId && currentProject.inchargerId != user.id) && !permissions.projectManagement"></el-date-picker>
|
|
|
</el-form-item>
|
|
|
<div style="border: 1px solid #ddd;margin:5px 0;padding:5px 0;">
|
|
|
- <el-form-item :label="'执行人'+(index+1)" v-for="(executorItem, index) in addForm.executorListFront" :key="index">
|
|
|
- <el-select v-model="executorItem.executorId" :disabled="(addForm.id != null && user.id != addForm.createrId && currentProject.inchargerId != user.id) && !permissions.projectManagement" size="small" filterable clearable placeholder="请选择执行人" style="width:40%;" @change="$forceUpdate()">
|
|
|
+ <el-form-item :label="$t('zhi-hang-ren')+(index+1)" v-for="(executorItem, index) in addForm.executorListFront" :key="index">
|
|
|
+ <el-select v-model="executorItem.executorId" :disabled="(addForm.id != null && user.id != addForm.createrId && currentProject.inchargerId != user.id) && !permissions.projectManagement" size="small" filterable clearable :placeholder="$t('pleaseselectanexecutor')" style="width:40%;" @change="$forceUpdate()">
|
|
|
<el-option v-for="item in users" :key="item.id" :label="item.name" :value="item.id">
|
|
|
<span style="float: left">{{ item.name }}</span>
|
|
|
<span style="float: right; color: #8492a6; font-size: 13px;margin-left: 20px" v-if="item.jobNumber">{{ item.jobNumber }}</span>
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
- <span style="margin-left:30px;margin-right:10px;">计划工时</span>
|
|
|
- <el-input-number size="small" :disabled="(addForm.id != null && user.id != addForm.createrId && currentProject.inchargerId != user.id) && !permissions.projectManagement" v-model="executorItem.planHours" style="width:30%;" :min="1" :max="100" placeholder="请输入计划工作时长,单位小时" ></el-input-number ><span style="margin-left:10px;">小时</span>
|
|
|
+ <span style="margin-left:30px;margin-right:10px;">{{ $t('plantime') }}</span>
|
|
|
+ <el-input-number size="small" :disabled="(addForm.id != null && user.id != addForm.createrId && currentProject.inchargerId != user.id) && !permissions.projectManagement" v-model="executorItem.planHours" style="width:30%;" :min="1" :max="100" :placeholder="$t('pleaseentertheplannedworking')" ></el-input-number ><span style="margin-left:10px;">{{ $t('time.hour') }}</span>
|
|
|
<!--移除执行人 -->
|
|
|
<i class="el-icon-delete" v-if="index>0 && (addForm.id == null|| user.id == addForm.createrId || currentProject.inchargerId == user.id|| permissions.projectManagement)" style="margin-left:5px" @click="removeExecutorLine(index)"></i>
|
|
|
</el-form-item>
|
|
|
- <el-link type="primary" v-if="(addForm.executorListFront == null || addForm.executorListFront.length<10)&& (addForm.id == null|| user.id == addForm.createrId || currentProject.inchargerId == user.id || permissions.projectManagement)" style="margin-left:35px;" @click="addExecutorLine">添加执行人</el-link>
|
|
|
+ <el-link type="primary" v-if="(addForm.executorListFront == null || addForm.executorListFront.length<10)&& (addForm.id == null|| user.id == addForm.createrId || currentProject.inchargerId == user.id || permissions.projectManagement)" style="margin-left:35px;" @click="addExecutorLine">{{ $t('addinganexecutor') }}</el-link>
|
|
|
</div>
|
|
|
|
|
|
- <el-form-item label="优先级">
|
|
|
+ <el-form-item :label="$t('priority')">
|
|
|
<el-select v-model="addForm.taskLevel" style="width:100%;" >
|
|
|
<el-option v-for="item in importanceList" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<!-- 富文本 -->
|
|
|
- <el-form-item label="详细描述" style="height: 200px">
|
|
|
+ <el-form-item :label="$t('detaileddescription')" style="height: 200px">
|
|
|
<!-- <Editor id="tinymce" v-model="tinymceHtml" :init="editorInit"></Editor> -->
|
|
|
<!-- <el-input type="textarea" v-model="addForm.taskDesc" :rows="3"></el-input> -->
|
|
|
<!-- <quill-edito v-model="addForm.taskDesc"></quill-edito> -->
|
|
@@ -298,28 +257,28 @@
|
|
|
<div v-if="addForm.id != null">
|
|
|
<el-divider ></el-divider>
|
|
|
<!-- 任务进展 -->
|
|
|
- <p ><i class="iconfont firerock-icontree" style="color:#20A0ff;margin-left:10px;">任务进展</i>
|
|
|
- <span ref="addPro" style="display: block; float:right;"><el-link @click="addprogress">添加任务进展</el-link></span>
|
|
|
+ <p ><i class="iconfont firerock-icontree" style="color:#20A0ff;margin-left:10px;">{{ $t('taskprogress') }}</i>
|
|
|
+ <span ref="addPro" style="display: block; float:right;"><el-link @click="addprogress">{{ $t('addtaskprogress') }}</el-link></span>
|
|
|
</p>
|
|
|
<!-- 任务进展展示 -->
|
|
|
<div style="display: none;" ref="proBox" class="progress">
|
|
|
<!-- <el-form :model="> -->
|
|
|
<el-radio-group v-model="radio">
|
|
|
- <el-radio :label="0" class="rala1">状态正常</el-radio>
|
|
|
- <el-radio :label="1" class="rala2">存在风险</el-radio>
|
|
|
- <el-radio :label="2" class="rala3">进展逾期</el-radio>
|
|
|
+ <el-radio :label="0" class="rala1">{{ $t('normals') }}</el-radio>
|
|
|
+ <el-radio :label="1" class="rala2">{{ $t('atrisk') }}</el-radio>
|
|
|
+ <el-radio :label="2" class="rala3">{{ $t('withinthetimelimit') }}</el-radio>
|
|
|
</el-radio-group>
|
|
|
|
|
|
<el-input
|
|
|
type="textarea"
|
|
|
border="0"
|
|
|
:autosize="{ minRows: 2, maxRows: 6}"
|
|
|
- placeholder="请输入详细进展描述"
|
|
|
+ :placeholder="$t('detailedprogressdescription')"
|
|
|
v-model.trim="text2"
|
|
|
style="margin:10px 0 0 0">
|
|
|
</el-input>
|
|
|
|
|
|
- <h4 style="font-weight: normal;">提醒谁查看:{{checkLists.length}}</h4>
|
|
|
+ <h4 style="font-weight: normal;">{{ $t('whotoremindtocheck') +':'}}{{checkLists.length}}</h4>
|
|
|
|
|
|
<i class="el-icon-circle-plus pron_i" style="font-size: 28px;color: #409EFF;" @click="addI(0)"></i>
|
|
|
|
|
@@ -331,8 +290,8 @@
|
|
|
<div class="ssp" @click="sss"></div>
|
|
|
<!-- </el-form> -->
|
|
|
<div class="pro_btn">
|
|
|
- <el-button size="mini" @click="shutPro">取消</el-button>
|
|
|
- <el-button size="mini" type="primary" @click="addTaskProgress">发布</el-button>
|
|
|
+ <el-button size="mini" @click="shutPro">{{ $t('btn.cancel') }}</el-button>
|
|
|
+ <el-button size="mini" type="primary" @click="addTaskProgress">{{ $t('fa-bu') }}</el-button>
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
@@ -342,33 +301,33 @@
|
|
|
<i class="el-icon-success" style="color: #43d14f;" v-if="recentProgressInfo.status == 0"></i>
|
|
|
<i class="el-icon-success" style="color: #fd7624;" v-else-if="recentProgressInfo.status == 1"></i>
|
|
|
<i class="el-icon-success" style="color: #fd4d47;" v-else></i>
|
|
|
- <span v-if="recentProgressInfo.status == 0">状态正常</span>
|
|
|
- <span v-else-if="recentProgressInfo.status == 1">状态正常</span>
|
|
|
- <span v-else>进展逾期</span>
|
|
|
+ <span v-if="recentProgressInfo.status == 0">{{ $t('normals') }}</span>
|
|
|
+ <span v-else-if="recentProgressInfo.status == 1">{{ $t('normals') }}</span>
|
|
|
+ <span v-else>{{ $t('withinthetimelimit') }}</span>
|
|
|
|
|
|
<el-dropdown trigger="click" style="float:right;cursor:pointer; float: right;">
|
|
|
<i class="el-icon-more" ></i>
|
|
|
<el-dropdown-menu slot="dropdown">
|
|
|
|
|
|
<el-dropdown-item divided>
|
|
|
- <span @click="deleteTaskProgress(recentProgressInfo.id)"><i class="el-icon-delete"></i>删除列表</span></el-dropdown-item>
|
|
|
+ <span @click="deleteTaskProgress(recentProgressInfo.id)"><i class="el-icon-delete"></i>{{ $t('deleteList ') }}</span></el-dropdown-item>
|
|
|
</el-dropdown-menu>
|
|
|
</el-dropdown>
|
|
|
- <div class="elCard_qu">{{recentProgressInfo.creatorName}}更新于{{recentProgressInfo.indate | relativeTime}}</div>
|
|
|
+ <div class="elCard_qu">{{recentProgressInfo.creatorName}}{{ $t('geng-xin-yu') }}{{recentProgressInfo.indate | relativeTime}}</div>
|
|
|
<p style="padding-left: 20px;">{{recentProgressInfo.content}}</p>
|
|
|
- <div class="examine"><el-button type="text" @click="innerVisibless = true" style="color: #8F87A3;">查看历史记录</el-button></div>
|
|
|
+ <div class="examine"><el-button type="text" @click="innerVisibless = true" style="color: #8F87A3;">{{ $t('viewingHistory') }}</el-button></div>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
<!-- 任务列表没有数据的时候展示 -->
|
|
|
<div class="nones" v-if="ProgressList.length <= 0">
|
|
|
- 暂无数据
|
|
|
+ {{ $t('nodata') }}
|
|
|
</div>
|
|
|
|
|
|
<!-- 任务进展完整状态 -->
|
|
|
- <el-dialog title="提示" :visible.sync="innerVisibless" append-to-body width="500px">
|
|
|
+ <el-dialog :title="$t('other.prompts')" :visible.sync="innerVisibless" append-to-body width="500px">
|
|
|
<div class="integrity">
|
|
|
- <h3 style="font-weight: normal;display: inline-block;margin: 0 0 20px 0;">任务进展:{{ProgressList.length}}</h3>
|
|
|
+ <h3 style="font-weight: normal;display: inline-block;margin: 0 0 20px 0;">{{ $t('taskprogress') }}:{{ProgressList.length}}</h3>
|
|
|
<!-- <span class="write"><i class="el-icon-circle-plus"></i>填写进展</span> -->
|
|
|
<el-divider></el-divider>
|
|
|
|
|
@@ -383,9 +342,9 @@
|
|
|
<span v-if="activity.status == 1" style="color: #FD7624" class="icon"></span>
|
|
|
<span v-if="activity.status == 2" style="color: red" class="icon"></span>
|
|
|
<div>
|
|
|
- <span v-if="activity.status == 0" style="color: #43D14F">状态正常</span>
|
|
|
- <span v-if="activity.status == 1" style="color: #FD7624">存在风险</span>
|
|
|
- <span v-if="activity.status == 2" style="color: red">进展逾期</span>
|
|
|
+ <span v-if="activity.status == 0" style="color: #43D14F">{{ $t('normals') }}</span>
|
|
|
+ <span v-if="activity.status == 1" style="color: #FD7624">{{ $t('atrisk') }}</span>
|
|
|
+ <span v-if="activity.status == 2" style="color: red">{{ $t('withinthetimelimit') }}</span>
|
|
|
<span style="display: inline-block; float: right; color: #8C8C8C">{{activity.indate | relativeTime}}</span>
|
|
|
</div>
|
|
|
<p style="color: #8C8C8C">{{activity.content}}</p>
|
|
@@ -397,55 +356,19 @@
|
|
|
<!-- -->
|
|
|
</div>
|
|
|
<span slot="footer" class="dialog-footer">
|
|
|
- <el-button type="primary" @click="innerVisibless = false">关闭</el-button>
|
|
|
+ <el-button type="primary" @click="innerVisibless = false">{{ $t('Shutdown') }}</el-button>
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
-
|
|
|
- <!-- 子任务 -->
|
|
|
- <!-- <p ><i class="iconfont firerock-icontree" style="color:#20A0ff;margin-left:10px;">子任务</i>
|
|
|
- <el-link style="float:right;" @click="addSubTask">添加子任务</el-link>
|
|
|
- </p> -->
|
|
|
- <!--子任务列表 -->
|
|
|
- <!-- <el-table :data="addForm.subTaskList"
|
|
|
- :header-cell-style="{'font-weight':'normal'}"
|
|
|
- highlight-current-row v-loading="listLoading" style="width: 100%;margin-top:10px;" @row-click="taskLineClick">
|
|
|
- <el-table-column prop="taskStatus" label="完成" width="50" >
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-checkbox :disabled="scope.row.taskStatus==2" :checked="scope.row.taskStatus==1?true:false" size="large" class="cb"
|
|
|
- @click.stop.native=""
|
|
|
- @change="finishTask(scope.row)"
|
|
|
- ></el-checkbox>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="name" label="标题" >
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-tooltip class="item" effect="dark" :content="scope.row.name" placement="top">
|
|
|
- <span style="overflow: hidden;text-overflow:ellipsis;white-space: nowrap;" > {{scope.row.name}}</span>
|
|
|
- </el-tooltip>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="executorName" label="执行人" width="100" >
|
|
|
- <template slot-scope="scope">
|
|
|
- {{scope.row.executorName == null?"待分配":scope.row.executorName}}
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="endDate" label="截止时间" width="100" >
|
|
|
- <template slot-scope="scope">
|
|
|
- <p v-if="scope.row.endDate >= times">{{scope.row.endDate}}</p>
|
|
|
- <p v-else style="background: #e62412; color: #fff;text-align: center; border-radius: 3px;">{{scope.row.endDate}}</p>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table> -->
|
|
|
</div>
|
|
|
</el-form>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
- <el-button v-if="user.id == addForm.createrId || currentProject.inchargerId == user.id || currentProject.creatorId == user.id || permissions.projectManagement" @click.native="deleteTask" style="float:left;">删除</el-button>
|
|
|
- <el-button @click.native="addFormVisible = false">取消</el-button>
|
|
|
- <el-button type="primary" @click="submitInsert" :loading="addLoading">提交</el-button>
|
|
|
+ <el-button v-if="user.id == addForm.createrId || currentProject.inchargerId == user.id || currentProject.creatorId == user.id || permissions.projectManagement" @click.native="deleteTask" style="float:left;">{{ $t('btn.delete') }}</el-button>
|
|
|
+ <el-button @click.native="addFormVisible = false">{{ $t('btn.cancel') }}</el-button>
|
|
|
+ <el-button type="primary" @click="submitInsert" :loading="addLoading">{{ $t('btn.submit') }}</el-button>
|
|
|
</div>
|
|
|
<div slot="title" v-if="addForm.parentTid != null" >
|
|
|
<!-- <el-link @click="backToParentTask"><i class="el-icon-arrow-left single_line">返回父级任务</i> | {{addForm.parentTname}}</el-link> -->
|
|
|
- <el-page-header @back="backToParentTask" title="返回父任务" :content="addForm.parentTname"></el-page-header>
|
|
|
+ <el-page-header @back="backToParentTask" :title="$t('parenttask')" :content="addForm.parentTname"></el-page-header>
|
|
|
</div>
|
|
|
<!-- 评论 -->
|
|
|
<div class="remark" v-show="addForm.id != null">
|
|
@@ -453,7 +376,7 @@
|
|
|
<!-- <span v-for="(pl, i) in critic" :key="i"> -->
|
|
|
<!-- <div class="player" v-if="pl"> -->
|
|
|
<div class="player">
|
|
|
- <p @click="chan">参与人</p>
|
|
|
+ <p @click="chan">{{ $t('participantin') }}</p>
|
|
|
<span v-for="(pl, i) in critic" :key="i">
|
|
|
<div class="bj" style="width: 14%">
|
|
|
<span style="background: #778899">{{pl.length > 2 ? pl.substring(pl.length - 2, pl.length) : pl}}</span>
|
|
@@ -463,14 +386,14 @@
|
|
|
</div>
|
|
|
<!-- </span> -->
|
|
|
<div class="subject">
|
|
|
- <div class="sub-all">所有动态</div>
|
|
|
+ <div class="sub-all">{{ $t('alldynamic') }}</div>
|
|
|
<div class="sub-details" ref="main">
|
|
|
<ul class="infinite-list" v-infinite-scroll="load" style="overflow:auto" ref="contRoll">
|
|
|
<div style="width: 100%" v-if="commentList.length <= 0">
|
|
|
<img src="../../assets/image/xiao.png" alt="">
|
|
|
</div>
|
|
|
<li v-for="i in count" class="infinite-list-item counli" :key="i">
|
|
|
- <p><i class="el-icon-s-fold"></i> <em>屈经理完成了依赖任务</em><span>4月20日</span></p>
|
|
|
+ <p><i class="el-icon-s-fold"></i> <em>{{ $t('managerQucompletedthedependencytask') }}</em><span>{{ $t('onApril20') }}</span></p>
|
|
|
</li>
|
|
|
<li class="carts" v-for="item in commentList" :key="item.id">
|
|
|
<!-- <el-image style="width: 30px; height: 30px" :src="url" :fit="fit"></el-image> -->
|
|
@@ -493,13 +416,13 @@
|
|
|
<div class="issue_fixation">
|
|
|
<div class="inputDeep"><el-input
|
|
|
type="textarea"
|
|
|
- placeholder="请输入内容"
|
|
|
+ :placeholder="$t('pleaseentercontent')"
|
|
|
:autosize="{ minRows: 6, maxRows: 6}"
|
|
|
v-model.trim="textarea2"
|
|
|
class="inputDeeps"
|
|
|
>
|
|
|
</el-input></div>
|
|
|
- <el-button class="issue-button" type="primary" @click="release()">发布</el-button>
|
|
|
+ <el-button class="issue-button" type="primary" @click="release()">{{ $t('fa-bu') }}</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
</span>
|
|
@@ -725,7 +648,7 @@ import { error } from 'dingtalk-jsapi';
|
|
|
userId: [],
|
|
|
},
|
|
|
rules: {
|
|
|
- name: [{ required: true, message: "请输入项目名称", trigger: "blur" }],
|
|
|
+ name: [{ required: true, message: this.$t('Pleaseenteraprojectname'), trigger: "blur" }],
|
|
|
},
|
|
|
idx: 1,
|
|
|
taskDetails: false,
|
|
@@ -733,13 +656,13 @@ import { error } from 'dingtalk-jsapi';
|
|
|
name: '',
|
|
|
},
|
|
|
rules: {
|
|
|
- name: [{ required: true, message: "请输入分组名称", trigger: "blur" }],
|
|
|
+ name: [{ required: true, message: this.$t('pleaseenteragroupname'), trigger: "blur" }],
|
|
|
},
|
|
|
rules2: {
|
|
|
- stagesName: [{ required: true, message: "请输入任务列表名称", trigger: "blur" }],
|
|
|
+ stagesName: [{ required: true, message: this.$t('pleaseenteratasklistname'), trigger: "blur" }],
|
|
|
},
|
|
|
taskRules : {
|
|
|
- name: [{ required: true, message: "请输入任务内容", trigger: "blur" }],
|
|
|
+ name: [{ required: true, message: this.$t('enterthetaskcontent'), trigger: "blur" }],
|
|
|
},
|
|
|
sleectId: null,
|
|
|
sleectProjectId: null,
|
|
@@ -752,7 +675,7 @@ import { error } from 'dingtalk-jsapi';
|
|
|
radio: 0,
|
|
|
critic: [], // 评论头像的数组
|
|
|
editorOption: { // 富文本框里面的默认值
|
|
|
- placeholder: '请输入文本...',
|
|
|
+ placeholder: this.$t('pleaseentethetext'),
|
|
|
modules: {
|
|
|
toolbar:[
|
|
|
['bold', 'italic', 'underline', 'strike'], //加粗,斜体,下划线,删除线
|
|
@@ -783,28 +706,28 @@ import { error } from 'dingtalk-jsapi';
|
|
|
text2: '',
|
|
|
innerVisibless: false, // 任务展示弹出层
|
|
|
activities: [{
|
|
|
- content: '状态正常',
|
|
|
- timestamp: '7小时前',
|
|
|
+ content: this.$t('normals'),
|
|
|
+ timestamp: this.$t('hoursago'),
|
|
|
size: 'large',
|
|
|
type: 'primary',
|
|
|
icon: 'el-icon-circle-check',
|
|
|
color: '#409EFF'
|
|
|
}, {
|
|
|
- content: '进展逾期',
|
|
|
- timestamp: '八小时前',
|
|
|
+ content: this.$t('withinthetimelimit'),
|
|
|
+ timestamp: this.$t('hoursago8'),
|
|
|
color: '#F87872'
|
|
|
}],
|
|
|
ProgressList: [],
|
|
|
checkboxGrounp: [], // 选中人的数据
|
|
|
checkLists: [], // 选中人数据的ID
|
|
|
taskIid: null,
|
|
|
- viewList: [{id:1,name:"全部任务"},{id:2,name:"进行中的任务"},{id:3,name:"已完成的任务"},{id:4,name:"待安排任务"},
|
|
|
- {id:5,name:"我创建的任务"},{id:6,name:"我执行的任务"},{id:7,name:"今天的任务"},{id:8,name:"已超期的任务"}],
|
|
|
- importanceList:[{id:0,name:"一般"},{id:1,name:"重要"},{id:2,name:"紧急"},],
|
|
|
- taskTypeList:[{id:0,name:"任务", icon:"iconfont firerock-iconrenwu"},{id:1,name:"里程碑",icon:"iconfont firerock-iconicon-"},{id:2,name:"风险",icon:"iconfont firerock-iconfengxian"}],
|
|
|
+ viewList: [{id:1,name:this.$t('alltaskss')},{id:2,name:this.$t('taskinprogress')},{id:3,name:this.$t('missionscompleted')},{id:4,name:this.$t('taskscheduled')},
|
|
|
+ {id:5,name:this.$t('createdthetask')},{id:6,name:this.$t('missionIwason')},{id:7,name:this.$t('todaytask')},{id:8,name:this.$t('taskthatisoverdue')}],
|
|
|
+ importanceList:[{id:0,name:this.$t('yi-ban')},{id:1,name:this.$t('zhong-yao')},{id:2,name:this.$t('jin-ji')},],
|
|
|
+ taskTypeList:[{id:0,name:this.$t('other.task'), icon:"iconfont firerock-iconrenwu"},{id:1,name:this.$t('other.milestone'),icon:"iconfont firerock-iconicon-"},{id:2,name:this.$t('risk'),icon:"iconfont firerock-iconfengxian"}],
|
|
|
taskTypeColor:['#20A0FF','#8613ad','#bf0404'],
|
|
|
taskTypeIcon:['iconfont firerock-iconrenwu','iconfont firerock-iconicon-','iconfont firerock-iconfengxian'],
|
|
|
- taskStatusList:['进行中','已完成','已撤销'],
|
|
|
+ taskStatusList:[this.$t('ongoing'),this.$t('state.completed'),this.$t('state.undone')],
|
|
|
//优先级
|
|
|
taskLevelColor:['#262626','#E6A23C','#F56C6C'],
|
|
|
stageList: '',
|
|
@@ -826,9 +749,9 @@ import { error } from 'dingtalk-jsapi';
|
|
|
},
|
|
|
|
|
|
deleteSubPro(subProject) {
|
|
|
- this.$confirm("确定要删除子项目" + subProject.name + "吗?","删除子项目", {
|
|
|
- confirmButtonText: "确定",
|
|
|
- cancelButtonText: "取消",
|
|
|
+ this.$confirm(this.$t('makesuretodeletethesubproject') + subProject.name + this.$t('ma'),this.$t('deletesubproject'), {
|
|
|
+ confirmButtonText: this.$t('btn.determine'),
|
|
|
+ cancelButtonText: this.$t('btn.cancel'),
|
|
|
type: "warning"
|
|
|
})
|
|
|
.then(() => {
|
|
@@ -840,7 +763,7 @@ import { error } from 'dingtalk-jsapi';
|
|
|
this.listLoading = false;
|
|
|
if (res.code == "ok") {
|
|
|
this.$message({
|
|
|
- message: "删除成功",
|
|
|
+ message: this.$t('message.successfullyDeleted'),
|
|
|
type: "success"
|
|
|
});
|
|
|
this.subProject(this.currentProject);
|
|
@@ -1044,7 +967,7 @@ import { error } from 'dingtalk-jsapi';
|
|
|
//显示新增界面
|
|
|
handleAdd(i, item) {
|
|
|
if(i == -1) {
|
|
|
- this.title = "新增任务";
|
|
|
+ this.title = this.$t('addWork');
|
|
|
this.addForm = {
|
|
|
name: '',
|
|
|
userId: [],
|
|
@@ -1052,7 +975,7 @@ import { error } from 'dingtalk-jsapi';
|
|
|
inchargerId:null,
|
|
|
}
|
|
|
} else {
|
|
|
- this.title = "修改项目";
|
|
|
+ this.title = this.$t('modifytheproject');
|
|
|
var list = item.participator , arr = [];
|
|
|
for(var j in list) {
|
|
|
arr.push(list[j].id)
|
|
@@ -1078,7 +1001,7 @@ import { error } from 'dingtalk-jsapi';
|
|
|
res => {
|
|
|
if (res.code == "ok") {
|
|
|
this.$message({
|
|
|
- message: "操作成功",
|
|
|
+ message: this.$t('operationissuccessful'),
|
|
|
type: "success"
|
|
|
});
|
|
|
this.subProject(this.currentProject);
|
|
@@ -1154,9 +1077,9 @@ import { error } from 'dingtalk-jsapi';
|
|
|
|
|
|
// 删除
|
|
|
deletePro(i, item) {
|
|
|
- this.$confirm("确定要项目" + item.projectName + "吗?","删除项目", {
|
|
|
- confirmButtonText: "确定",
|
|
|
- cancelButtonText: "取消",
|
|
|
+ this.$confirm(this.$t('identifytheproject') + item.projectName + this.$t('ma'),this.$t('deletetheproject'), {
|
|
|
+ confirmButtonText: this.$t('btn.determine'),
|
|
|
+ cancelButtonText: this.$t('btn.cancel'),
|
|
|
type: "warning"
|
|
|
})
|
|
|
.then(() => {
|
|
@@ -1168,7 +1091,7 @@ import { error } from 'dingtalk-jsapi';
|
|
|
this.listLoading = false;
|
|
|
if (res.code == "ok") {
|
|
|
this.$message({
|
|
|
- message: "删除成功",
|
|
|
+ message: this.$t('message.successfullyDeleted'),
|
|
|
type: "success"
|
|
|
});
|
|
|
this.getList();
|
|
@@ -1220,7 +1143,7 @@ import { error } from 'dingtalk-jsapi';
|
|
|
res => {
|
|
|
if (res.code == "ok") {
|
|
|
this.$message({
|
|
|
- message: "操作成功",
|
|
|
+ message: this.$t('operationissuccessful'),
|
|
|
type: "success"
|
|
|
});
|
|
|
this.getList();
|
|
@@ -1245,7 +1168,7 @@ import { error } from 'dingtalk-jsapi';
|
|
|
// console.log(task)
|
|
|
this.addFormVisible = true;
|
|
|
// this.addLoading = false;
|
|
|
- this.title = "编辑任务";
|
|
|
+ this.title = this.$t('editingtasks');
|
|
|
this.getTaskDetail(task.id);
|
|
|
this.getTaskProgressList(task.id); // 获取任务进展列表
|
|
|
this.getUsers(); // 获取名单数据
|
|
@@ -1408,7 +1331,7 @@ import { error } from 'dingtalk-jsapi';
|
|
|
this.shutPro()
|
|
|
this.getTaskProgressList(this.taskIid)
|
|
|
this.$message({
|
|
|
- message: '发布成功',
|
|
|
+ message: this.$t('releasesuccess'),
|
|
|
type: "success"
|
|
|
});
|
|
|
this.checkboxGrounp = [],
|
|
@@ -1431,7 +1354,7 @@ import { error } from 'dingtalk-jsapi';
|
|
|
if (res.code == "ok") {
|
|
|
this.getTaskProgressList(this.taskIid)
|
|
|
this.$message({
|
|
|
- message: '删除成功',
|
|
|
+ message: this.$t('message.successfullyDeleted'),
|
|
|
type: "success"
|
|
|
});
|
|
|
} else {
|
|
@@ -1511,7 +1434,7 @@ import { error } from 'dingtalk-jsapi';
|
|
|
this.addFormVisible = true;
|
|
|
this.addForm = {projectId: stage.projectId, groupId: stage.groupId, stagesId: stage.id, taskLevel:0, planHours: 8, taskType: 0};
|
|
|
this.addLoading = false;
|
|
|
- this.title="创建任务";
|
|
|
+ this.title=this.$t('createtask ');
|
|
|
this.commentList = [];
|
|
|
},
|
|
|
addStage() {
|
|
@@ -1539,7 +1462,7 @@ import { error } from 'dingtalk-jsapi';
|
|
|
this.textContent = false
|
|
|
this.$message({
|
|
|
showClose: true,
|
|
|
- message: '图片超过了2MB,请重新上传',
|
|
|
+ message: this.$t('imageexceeds2MBpleaseuploaditagain'),
|
|
|
type: 'warning'
|
|
|
});
|
|
|
}
|
|
@@ -1550,7 +1473,7 @@ import { error } from 'dingtalk-jsapi';
|
|
|
},
|
|
|
// 点击发布
|
|
|
release() {
|
|
|
- if(this.textarea2.length <= 0) return this.$message({message: "请输入内容", type: "error"})
|
|
|
+ if(this.textarea2.length <= 0) return this.$message({message: this.$t('pleaseentercontent'), type: "error"})
|
|
|
this.http.post('/task-comment/add', {taskId: this.taskId, userId: this.user.id, content: this.textarea2},
|
|
|
res => {
|
|
|
if(res.code == "ok"){
|
|
@@ -1581,7 +1504,7 @@ import { error } from 'dingtalk-jsapi';
|
|
|
submitInsert() {
|
|
|
if (this.textContent !== true) return this.$message({
|
|
|
showClose: true,
|
|
|
- message: '图片太大,请重新上传',
|
|
|
+ message: this.$t('pictureistoolargepleaseuploaditagain'),
|
|
|
type: 'warning'
|
|
|
});
|
|
|
//检查是有重名的执行人
|
|
@@ -1597,7 +1520,7 @@ import { error } from 'dingtalk-jsapi';
|
|
|
if (findSameUser) {
|
|
|
return this.$message({
|
|
|
showClose: true,
|
|
|
- message: '执行人存在重复',
|
|
|
+ message: this.$t('executorhasduplication'),
|
|
|
type: 'error'
|
|
|
});
|
|
|
}
|
|
@@ -1613,7 +1536,7 @@ import { error } from 'dingtalk-jsapi';
|
|
|
res => {
|
|
|
if (res.code == "ok") {
|
|
|
this.$message({
|
|
|
- message: "提交成功",
|
|
|
+ message: this.$t('message.submittedSuccessfully'),
|
|
|
type: "success"
|
|
|
});
|
|
|
|
|
@@ -1672,11 +1595,11 @@ import { error } from 'dingtalk-jsapi';
|
|
|
deleteTask() {
|
|
|
var warning='';
|
|
|
if (this.addForm.subTaskList.length > 0) {
|
|
|
- warning='您确定要删除当前任务及其子任务吗?';
|
|
|
+ warning=this.$t('currenttaskanditssubtasks');
|
|
|
} else {
|
|
|
- warning='您确定要删除当前任务吗?';
|
|
|
+ warning=this.$t('wanttodeletethecurrent task');
|
|
|
}
|
|
|
- this.$confirm(warning, "提示", {
|
|
|
+ this.$confirm(warning, this.$t('other.prompts'), {
|
|
|
//type: 'warning'
|
|
|
}).then(() => {
|
|
|
this.http.post('/task/delete',{id: this.addForm.id},
|