|
@@ -170,6 +170,7 @@
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
|
|
|
+ <!-- 添加评论对话框 -->
|
|
|
<el-dialog title="添加评论" :visible.sync="open" width="680px" class="feed-dialog" append-to-body @close="cancel">
|
|
|
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="100px">
|
|
|
<el-form-item label="任务名称">
|
|
@@ -203,11 +204,43 @@
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
|
|
|
+ <!-- 任务详情对话框 -->
|
|
|
<el-dialog :title="detailForm.id+'、'+detailForm.taskName" :visible.sync="openDetail" width="900px"
|
|
|
class="feed-dialog" :close-on-click-modal="true" append-to-body>
|
|
|
<task-detail :detailForm="detailForm"></task-detail>
|
|
|
</el-dialog>
|
|
|
|
|
|
+ <!-- 审核任务对话框 -->
|
|
|
+ <el-dialog :title="detailForm.id+'、'+detailForm.taskName" :visible.sync="auditOpen" width="900px" class="add-dialog"
|
|
|
+ append-to-body @close="auditCancel">
|
|
|
+ <task-detail :detail-form="detailForm"></task-detail>
|
|
|
+ <el-form ref="auditForm" :model="auditForm" :rules="auditRules" size="mini" label-width="100px">
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="审核意见" prop="auditResult">
|
|
|
+ <el-radio-group v-model="auditForm.auditResult">
|
|
|
+ <el-radio label="1">确认完成</el-radio>
|
|
|
+ <el-radio label="0">驳回</el-radio>
|
|
|
+ <el-radio label="9">评论</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item v-if="auditForm.auditResult==='0'" label="进度(%)" prop="value">
|
|
|
+ <el-input-number v-model="auditForm.value" :min="1" :max="99"></el-input-number>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-form-item label="审核备注" prop="auditOpinion">
|
|
|
+ <el-input v-model="auditForm.auditOpinion" type="textarea"/>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
+ <el-button type="primary" size="mini" @click="submitAudit">确 定</el-button>
|
|
|
+ <el-button size="mini" @click="auditCancel">取 消</el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -219,7 +252,7 @@ import {
|
|
|
getFeedbackList,
|
|
|
confirmComment,
|
|
|
listProjectView,
|
|
|
- childrenTask
|
|
|
+ childrenTask, auditTask
|
|
|
} from "@/api/task/task";
|
|
|
import {getProjectList, getProjectTree} from "@/api/task/project";
|
|
|
import DateUtil from "@/utils/date"
|
|
@@ -230,6 +263,7 @@ import RichTextEditor from "@/components/RichTextEditor"
|
|
|
import {getDeptUserTree} from "@/api/system/user";
|
|
|
import task from "@/views/mixins/task";
|
|
|
import elTableInfiniteScroll from 'el-table-infinite-scroll'
|
|
|
+import {mapGetters} from "vuex";
|
|
|
|
|
|
export default {
|
|
|
components: {TaskDetail, FileUpload, DeptUserTree, RichTextEditor},
|
|
@@ -238,6 +272,9 @@ export default {
|
|
|
'el-table-infinite-scroll': elTableInfiniteScroll
|
|
|
},
|
|
|
mixins: [task],
|
|
|
+ computed: {
|
|
|
+ ...mapGetters(['userId'])
|
|
|
+ },
|
|
|
data() {
|
|
|
return {
|
|
|
queryParams: {
|
|
@@ -266,6 +303,16 @@ export default {
|
|
|
},
|
|
|
openDetail: false,
|
|
|
detailForm: {},
|
|
|
+ auditOpen: false,
|
|
|
+ auditForm: {},
|
|
|
+ auditRules: {
|
|
|
+ auditResult: [
|
|
|
+ {required: true, message: "审核意见不能为空", trigger: "change"}
|
|
|
+ ],
|
|
|
+ value: [
|
|
|
+ {required: true, message: "进度不能为空", trigger: "blur"}
|
|
|
+ ]
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
watch: {
|
|
@@ -390,10 +437,23 @@ export default {
|
|
|
if (column.property != "taskName") {
|
|
|
return
|
|
|
}
|
|
|
- getTask(row.id).then(res => {
|
|
|
- this.detailForm = res.data
|
|
|
- this.openDetail = true
|
|
|
- })
|
|
|
+ if (row.status === '6' && row.auditUserId === this.userId) {
|
|
|
+ getTask(row.id).then(res => {
|
|
|
+ this.detailForm = res.data;
|
|
|
+ this.auditForm = {
|
|
|
+ taskId: row.id,
|
|
|
+ auditResult: undefined,
|
|
|
+ value: undefined,
|
|
|
+ auditOpinion: undefined
|
|
|
+ }
|
|
|
+ this.auditOpen = true;
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ getTask(row.id).then(res => {
|
|
|
+ this.detailForm = res.data
|
|
|
+ this.openDetail = true
|
|
|
+ })
|
|
|
+ }
|
|
|
},
|
|
|
feedbackTypeChange(val) {
|
|
|
if (val === '2') {
|
|
@@ -484,7 +544,44 @@ export default {
|
|
|
childrenTask(params).then(res => {
|
|
|
resolve(res.data)
|
|
|
})
|
|
|
- }
|
|
|
+ },
|
|
|
+ /** 审核任务提交按钮 */
|
|
|
+ submitAudit() {
|
|
|
+ this.$refs["auditForm"].validate(valid => {
|
|
|
+ if (valid) {
|
|
|
+ if (this.auditForm.auditResult != '9') {
|
|
|
+ auditTask(this.auditForm).then(res => {
|
|
|
+ this.$message.success("操作成功");
|
|
|
+ this.getList()
|
|
|
+ this.auditCancel()
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ let data = {
|
|
|
+ taskId: this.auditForm.taskId,
|
|
|
+ feedbackDate: DateUtil.day(),
|
|
|
+ feedbackType: '4',
|
|
|
+ description: this.auditForm.auditOpinion
|
|
|
+ }
|
|
|
+ addTaskFeedback(data).then(res => {
|
|
|
+ this.$message.success("评论成功");
|
|
|
+ this.auditCancel()
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 审核取消按钮
|
|
|
+ auditCancel() {
|
|
|
+ this.detailForm = {};
|
|
|
+ this.auditForm = {
|
|
|
+ taskId: undefined,
|
|
|
+ auditResult: undefined,
|
|
|
+ value: undefined,
|
|
|
+ auditOpinion: undefined
|
|
|
+ }
|
|
|
+ this.resetForm("auditForm");
|
|
|
+ this.auditOpen = false;
|
|
|
+ },
|
|
|
}
|
|
|
}
|
|
|
</script>
|