提交 a786d9fc authored 作者: 黄志强's avatar 黄志强

修改

上级 3180fede
......@@ -8,6 +8,7 @@
"lint": "vue-cli-service lint"
},
"dependencies": {
"@antv/g6": "^3.4.0",
"axios": "^0.19.2",
"core-js": "^3.6.4",
"element-ui": "^2.13.0",
......
......@@ -29,7 +29,7 @@
</el-col>
<el-col :span="8">
<el-form-item label="任务开始时间" prop="stateTime">
<el-date-picker value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="选择日期" v-model="taskForm.stateTime" style="width: 100%;"></el-date-picker>
<el-date-picker :editable="false" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="选择日期" v-model="taskForm.stateTime" style="width: 100%;"></el-date-picker>
</el-form-item>
<el-form-item label="组员">
<!--prop="crewList"-->
......@@ -48,7 +48,7 @@
</el-col>
<el-col :span="8">
<el-form-item label="预计完成时间" prop="completeTime">
<el-date-picker value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="选择日期" v-model="taskForm.completeTime" style="width: 100%;"></el-date-picker>
<el-date-picker :editable="false" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="选择日期" v-model="taskForm.completeTime" style="width: 100%;"></el-date-picker>
</el-form-item>
<el-form-item label="任务量(天)" prop="workload">
<el-input onkeyup="this.value=this.value.replace(/[^\d.]/g,'')" v-model="taskForm.workload"></el-input>
......@@ -83,7 +83,7 @@
<div style="text-align: center;margin-top: 30px;">
<el-button type="primary" @click="submitForm('taskForm','unpublished')">保存</el-button>
<el-button style="margin-left: 50px;margin-right: 40px;" type="primary" @click="submitForm('taskForm', 'ongoing')">发布</el-button>
<el-button @click="resetForm('taskForm')">重置</el-button>
<!--<el-button @click="resetForm('taskForm')">重置</el-button>-->
</div>
</div>
</template>
......@@ -97,6 +97,34 @@
//import引入的组件需要注入到对象中才能使用
components: { EditorBar },
data () {
let stateTimeVal = (rule, value, callback) => {
if (!value) {
return callback(new Error('任务开始时间不能为空'));
}
if (this.taskForm.completeTime !== '') {
if (new Date(value).getTime() > new Date(this.taskForm.completeTime).getTime()) {
callback(new Error('任务开始时间不能超过预计完成时间'));
} else {
callback();
}
} else {
callback();
}
};
let completeVal = (rule, value, callback) => {
if (!value) {
return callback(new Error('预计完成时间为空'));
}
if (this.taskForm.stateTime !== '') {
if (new Date(value).getTime() < new Date(this.taskForm.stateTime).getTime()) {
callback(new Error('预计完成时间不能小于任务开始时间'));
} else {
callback();
}
} else {
callback();
}
};
//这里存放数据
return {
taskForm: {
......@@ -119,10 +147,12 @@
{ required: true, message: '请输入任务名称', trigger: 'blur' },
],
stateTime: [
{ type: 'string', required: true, message: '请选择任务开始时间', trigger: 'change' }
{ required: true, validator: stateTimeVal, trigger: 'blur' },
// { type: 'string', required: true, message: '请选择任务开始时间', trigger: 'change' }
],
completeTime: [
{ type: 'string', required: true, message: '请选择预计完成时间', trigger: 'change' }
{ required: true, validator: completeVal, trigger: 'blur' }
// { type: 'string', required: true, message: '请选择预计完成时间', trigger: 'change' }
],
executor: [
{ required: true, message: '请选择组长', trigger: 'change' }
......@@ -134,13 +164,8 @@
{ required: true, message: '请输入任务量', trigger: 'blur' },
]
},
leaderOptions: [
{label: '李四', value: '李四'},{label: '王五', value: '王五'},{label: '赵六', value: '赵六'},
],
memberOptions: [
{label: '李四', value: '李四'},{label: '王五', value: '王五'},{label: '赵六', value: '赵六'},
{label: '周七', value: '周七'},{label: '刘八', value: '刘八'},{label: '陈九', value: '陈九'},
],
leaderOptions: [],
memberOptions: [],
content: '',
isClear: false,
fileList: [], // 文件列表
......@@ -160,7 +185,6 @@
console.log(res)
if (res.request.status === 200) {
if (res.data.length === 0 && (JSON.stringify(this.$store.getters.getSuperior.superior) !== '{}' && JSON.stringify(this.$store.getters.getSuperior.superior) !== undefined)) {
console.log(111)
let data = this.$store.getters.getSuperior.superior.crewList;
if (data.findIndex(item => item.id === this.userLoginData.id) > -1) {
this.leaderOptions = data;
......@@ -177,12 +201,10 @@
obj[data[i].id] = true;
}
}
console.log(data2)
this.leaderOptions = data2;
this.memberOptions = data2;
}
} else if (res.data.length > 0 && (JSON.stringify(this.$store.getters.getSuperior.superior) === '{}' || JSON.stringify(this.$store.getters.getSuperior.superior) === undefined)) {
console.log(222)
let data = res.data;
if (data.findIndex(item => item.id === this.userLoginData.id) > -1) {
this.leaderOptions = data;
......@@ -198,12 +220,10 @@
obj[data[i].id] = true;
}
}
console.log(data2)
this.leaderOptions = data2;
this.memberOptions = data2;
}
} else if (res.data.length > 0 && (JSON.stringify(this.$store.getters.getSuperior.superior) !== '{}' && JSON.stringify(this.$store.getters.getSuperior.superior) !== undefined)) {
console.log(333)
let arr1 = res.data;
let arr2 = this.$store.getters.getSuperior.superior.crewList;
arr1.push(...arr2);
......@@ -218,7 +238,6 @@
obj[arr1[i].id] = true;
}
}
console.log(arr3)
this.leaderOptions = arr3;
this.memberOptions = arr3;
} else {
......@@ -233,7 +252,6 @@
obj[arr1[i].id] = true;
}
}
console.log(arr3)
this.leaderOptions = arr3;
this.memberOptions = arr3;
}
......@@ -244,17 +262,6 @@
change(val) {
console.log(val)
},
saveForm(formName) {
alert(this.content);
this.$refs[formName].validate((valid) => {
if (valid) {
alert('submit!');
} else {
console.log('error submit!!');
return false;
}
});
},
submitForm(formName, sta) {
// alert(this.content);
this.$refs[formName].validate((valid) => {
......@@ -461,6 +468,7 @@
},
//生命周期 - 挂载完成(可以访问DOM元素)
mounted () {
this.taskForm.stateTime = this.$common.timeYMDHMSFilter(new Date());
console.log(this.$store.getters.getLoginData.loginData)
if (this.$store.getters.getLoginData.loginData !== undefined) {
this.userLoginData = this.$store.getters.getLoginData.loginData;
......
......@@ -3,45 +3,53 @@
<div class='departmentTask'>
<!--{{taskListData}}-->
<div>
<el-table
:data="taskListData"
@row-click="openDetails"
style="width: 100%">
<el-table-column
prop="title"
label="任务名称"
align="center">
</el-table-column>
<el-table-column
prop="publisher"
label="发布者"
align="center">
<template slot-scope="scope">
<span>{{scope.row.publisher.username}}</span>
</template>
</el-table-column>
<el-table-column
prop="executor"
align="center"
label="执行者">
<template slot-scope="scope">
<span>{{scope.row.executor.username}}</span>
</template>
</el-table-column>
<el-table-column
prop="stateTime"
label="任务开始时间"
align="center">
</el-table-column>
<el-table-column
prop="status"
align="center"
label="任务状态">
<template slot-scope="scope">
<span>{{$common.statusName(scope.row.status)}}</span>
</template>
</el-table-column>
</el-table>
<ul>
<li class="colorLi" v-for="(item, index) in colorList" :key="index">
<span :style="{color: item.color}">{{item.name}}</span>
<span :style="{background: item.color}" class="colorSpan"></span>
</li>
</ul>
</div>
<div id="containerTree">
<!--<el-table-->
<!--:data="taskListData"-->
<!--@row-click="openDetails"-->
<!--style="width: 100%">-->
<!--<el-table-column-->
<!--prop="title"-->
<!--label="任务名称"-->
<!--align="center">-->
<!--</el-table-column>-->
<!--<el-table-column-->
<!--prop="publisher"-->
<!--label="发布者"-->
<!--align="center">-->
<!--<template slot-scope="scope">-->
<!--<span>{{scope.row.publisher.username}}</span>-->
<!--</template>-->
<!--</el-table-column>-->
<!--<el-table-column-->
<!--prop="executor"-->
<!--align="center"-->
<!--label="执行者">-->
<!--<template slot-scope="scope">-->
<!--<span>{{scope.row.executor.username}}</span>-->
<!--</template>-->
<!--</el-table-column>-->
<!--<el-table-column-->
<!--prop="stateTime"-->
<!--label="任务开始时间"-->
<!--align="center">-->
<!--</el-table-column>-->
<!--<el-table-column-->
<!--prop="status"-->
<!--align="center"-->
<!--label="任务状态">-->
<!--<template slot-scope="scope">-->
<!--<span>{{$common.statusName(scope.row.status)}}</span>-->
<!--</template>-->
<!--</el-table-column>-->
<!--</el-table>-->
</div>
</div>
</template>
......@@ -49,7 +57,7 @@
<script>
//这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
//例如:import 《组件名称》 from '《组件路径》';
import G6 from '@antv/g6';
export default {
name: "DepartmentTask",
//import引入的组件需要注入到对象中才能使用
......@@ -58,6 +66,14 @@
//这里存放数据
return {
taskListData: [],
colorList: [
{name: '进行中', color: '#3cc65c'},
{name: '待审核', color: '#ed0044'},
{name: '未发布', color: '#666666'},
{name: '待考评', color: '#e25d03'},
{name: '已完结', color: '#075991'},
{name: '已删除', color: '#ff0000'},
]
};
},
//监听属性 类似于data概念
......@@ -75,10 +91,173 @@
this.$axios.getTaskFindById(val).then((res) => {
console.log(res)
if (res.status === 200) {
this.taskListData = res.data;
// this.taskListData = res.data;
let dataObj = {
wordId: '123',
title: '部门任务',
status: 'none',
children: []
}
let replaceData = JSON.parse(JSON.stringify(res.data.workMppings).replace(/workMppings/g, 'children'));
dataObj.children = replaceData;
console.log(dataObj)
// this.drawTree(dataObj);
// this.drawNew();
this.drawNewTree(dataObj)
}
})
}
},
drawNewTree(val) {
G6.Util.traverseTree(val, function(item) {
item.id = item.wordId;
});
const COLLAPSE_ICON = function COLLAPSE_ICON(x, y, r) {
return [[ 'M', x, y ], [ 'a', r, r, 0, 1, 0, r * 2, 0 ], [ 'a', r, r, 0, 1, 0, -r * 2, 0 ], [ 'M', x + 2, y ], [ 'L', x + 2 * r - 2, y ]];
};
const EXPAND_ICON = function EXPAND_ICON(x, y, r) {
return [[ 'M', x, y ], [ 'a', r, r, 0, 1, 0, r * 2, 0 ], [ 'a', r, r, 0, 1, 0, -r * 2, 0 ], [ 'M', x + 2, y ], [ 'L', x + 2 * r - 2, y ], [ 'M', x + r, y - r + 2 ], [ 'L', x + r, y + r - 2 ]];
};
G6.registerNode('tree-node', {
drawShape: function drawShape(cfg, group) {
let attrs = {}
if (cfg.status === 'unpublished') {
attrs= {
fill: '#666666',
stroke: '#666666'
}
} else if (cfg.status === 'ongoing') {
attrs= {
fill: '#3cc65c',
stroke: '#3cc65c'
}
} else if (cfg.status === 'audit') {
attrs= {
fill: '#ed0044',
stroke: '#ed0044'
}
} else if (cfg.status === 'review') {
attrs= {
fill: '#e25d03',
stroke: '#e25d03'
}
} else if (cfg.status === 'finished') {
attrs= {
fill: '#075991',
stroke: '#075991'
}
} else if (cfg.status === 'delete') {
attrs= {
fill: '#ff0000',
stroke: '#ff0000'
}
} else {
attrs= {
fill: '#999',
stroke: '#ececec'
}
}
const rect = group.addShape('rect', {
// attrs: {
// fill: '#fff',
// stroke: 'red'
// }
attrs: attrs
});
const content = cfg.title; // .replace(/(.{19})/g, '$1\n')
const text = group.addShape('text', {
attrs: {
text: content,
x: 0,
y: 0,
textAlign: 'left',
textBaseline: 'middle',
fill: '#FFF'
}
});
const bbox = text.getBBox();
const hasChildren = cfg.children && cfg.children.length > 0;
if (hasChildren) {
group.addShape('marker', {
attrs: {
x: bbox.maxX + 24,
y: bbox.minX + bbox.height / 2 - 6,
r: 6,
symbol: COLLAPSE_ICON,
stroke: attrs.stroke,
lineWidth: 2
},
className: 'collapse-icon'
});
}
rect.attr({
x: bbox.minX - 4,
y: bbox.minY - 6,
width: bbox.width + (hasChildren ? 26 : 8),
height: bbox.height + 12
});
return rect;
}
}, 'single-shape');
const width = document.getElementById('containerTree').scrollWidth;
const height = document.getElementById('containerTree').scrollHeight;
const graph = new G6.TreeGraph({
container: 'containerTree',
width,
height,
modes: {
default: [{
type: 'collapse-expand',
onChange: function onChange(item, collapsed) {
console.log(item)
const data = item.get('model');
const icon = item.get('group').findByClassName('collapse-icon');
if (collapsed) {
icon.attr('symbol', EXPAND_ICON);
} else {
icon.attr('symbol', COLLAPSE_ICON);
}
data.collapsed = collapsed;
return true;
}
}, 'drag-canvas', 'zoom-canvas' ]
},
defaultNode: {
type: 'tree-node',
anchorPoints: [[ 0, 0.5 ], [ 1, 0.5 ]]
},
defaultEdge: {
type: 'cubic-horizontal',
style: {
stroke: '#A3B1BF'
}
},
layout: {
type: 'compactBox',
direction: 'LR',
getId: function getId(d) {
return d.wordId;
},
getHeight: function getHeight() {
return 16;
},
getWidth: function getWidth() {
return 16;
},
getVGap: function getVGap() {
return 20;
},
getHGap: function getHGap() {
return 300;
}
}
});
graph.data(val);
graph.render();
graph.fitView();
},
},
//生命周期 - 创建完成(可以访问当前this实例)
created () {
......@@ -110,4 +289,27 @@
}
</script>
<style scoped>
.departmentTask{
height: 100%;
}
#containerTree{
width: 100%;
height: 92%;
}
.colorLi{
float: left;
margin-right: 50px;
height: 50px;
line-height: 50px;
font-size: 18px;
}
.colorSpan{
display: inline-block;
margin-left: 10px;
width: 30px;
height: 10px;
border-radius: 4px;
}
</style>
......@@ -58,7 +58,7 @@
//生命周期 - 挂载完成(可以访问DOM元素)
mounted () {
let data = JSON.parse(this.$Base64.decode(localStorage.getItem('login')));
this.firstSocket(data.id);
// this.firstSocket(data.id);
},
beforeCreate () {
}, //生命周期 - 创建之前
......
......@@ -12,9 +12,14 @@
<el-form-item label="发布者:" >
<span>{{taskForm.publisher.username}}</span>
</el-form-item>
<el-form-item label="工作量(天):" prop="workload">
<el-form-item v-if="isPublisher === true && taskForm.status === 'audit'" label="工作量(天):" prop="workload">
<el-input v-if="isPublisher === true && taskForm.status === 'audit'" v-model.number="taskForm.workload"></el-input>
</el-form-item>
<el-form-item v-if="taskForm.status !== 'audit'" label="工作量(天):" prop="workload">
<span v-if="taskForm.status !== 'audit'">{{taskForm.workload}}</span>
<el-input v-if="isPublisher === true && taskForm.status === 'audit'" v-model="taskForm.workload"></el-input>
</el-form-item>
<el-form-item v-if="taskForm.status === 'finished'" label="结束时间:">
<span v-if="taskForm.status === 'finished'">{{taskForm.endTime}}</span>
</el-form-item>
</el-col>
<el-col :span="6">
......@@ -33,9 +38,9 @@
<!--</el-option>-->
<!--</el-select>-->
</el-form-item>
<el-form-item v-if="(taskForm.status === 'audit' && isPublisher === true) || ((isPublisher === true || isExecutor === true) && (taskForm.status === 'review' || taskForm.status === 'finished'))" label="考评数:" prop="workCoefficient">
<el-form-item v-if="(taskForm.status === 'audit' && isPublisher === true) || ((isPublisher === true || isExecutor === true) && (taskForm.status === 'review' || taskForm.status === 'finished'))" label="考评数:" prop="workCoefficient">
<span v-if="taskForm.status === 'review' || taskForm.status === 'finished'">{{taskForm.workCoefficient}}</span>
<el-input v-if="isPublisher === true && taskForm.status === 'audit'" v-model="taskForm.workCoefficient"></el-input>
<el-input v-if="isPublisher === true && taskForm.status === 'audit'" v-model.number="taskForm.workCoefficient"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
......@@ -56,8 +61,8 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item v-if="taskForm.status === 'finished'" label="结束时间:">
<span v-if="taskForm.status === 'finished'">{{taskForm.endTime}}</span>
<el-form-item v-if="taskForm.status === 'audit' || taskForm.status === 'review' || taskForm.status === 'finished' || taskForm.status === 'delete'" label="提交时间:">
<span v-if="taskForm.status === 'audit' || taskForm.status === 'review' || taskForm.status === 'finished' || taskForm.status === 'delete'">{{taskForm.submitTime}}</span>
</el-form-item>
</el-col>
<el-col :span="6">
......@@ -68,6 +73,9 @@
<el-form-item label="任务状态:">
<span>{{$common.statusName(taskForm.status)}}</span>
</el-form-item>
<el-form-item v-if="taskForm.status === 'review' || taskForm.status === 'finished' || taskForm.status === 'delete'" label="审核时间:">
<span v-if="taskForm.status === 'review' || taskForm.status === 'finished' || taskForm.status === 'delete'">{{taskForm.auditTime}}</span>
</el-form-item>
</el-col>
</el-row>
<div style="padding: 10px 35px;">
......@@ -86,15 +94,15 @@
</el-form>
</div>
<div style="text-align: center;height: 10%;margin-top: 20px;">
<el-button v-show="isPublisher === true && (taskForm.status === 'audit' || taskForm.status === 'ongoing')" type="primary" @click="openChangeTaskDialog()">修改</el-button>
<el-button v-show="isPublisher === true && (taskForm.status === 'audit' || taskForm.status === 'ongoing')" type="primary" @click="openChangeTaskDialog('taskForm')">修改</el-button>
<el-button v-show="isExecutor === true && taskForm.status === 'ongoing' && isCanSubmit === true" type="primary" @click="openSubmitTaskDialog()">提交</el-button>
<el-button v-show="isExecutor === true && isCanBreakDown && taskForm.status === 'ongoing'" type="primary" @click="breakDownTask()">分解</el-button>
<el-button v-show="isExecutor === true && taskForm.status === 'audit'" type="primary" @click="openWithdrawTaskDialog()">撤回</el-button>
<el-button v-show="(isPublisher === true || isExecutor === true) && taskForm.status === 'review'" type="primary" @click="openEvaTaskDialog()">考评</el-button>
<el-button v-show="((isPublisher === true && isEditEva === true) || isExecutor === true) && taskForm.status === 'review'" type="primary" @click="openEvaTaskDialog()">考评</el-button>
<el-button v-show="taskForm.status === 'finished'" type="primary" @click="openViewTaskEvaDialog()">查看考评</el-button>
<el-button v-show="isPublisher === true && (taskForm.status === 'audit' || taskForm.status === 'finished')" type="primary" @click="openDeleteTaskDialog('taskForm')">删除</el-button>
<el-button v-show="isPublisher === true && taskForm.status === 'audit'" @click="reviewBtnClick('review')" type="primary" >审核通过</el-button>
<el-button v-show="isPublisher === true && taskForm.status === 'audit'" @click="reviewBtnClick('ongoing')" type="primary" >审核不通过</el-button>
<el-button v-show="isPublisher === true && taskForm.status === 'audit'" @click="reviewBtnClick('review', 'taskForm')" type="primary" >审核通过</el-button>
<el-button v-show="isPublisher === true && taskForm.status === 'audit'" @click="reviewBtnClick('ongoing', 'taskForm')" type="primary" >审核不通过</el-button>
</div>
<div>
......@@ -322,8 +330,27 @@
if (!value) {
return callback(new Error('评分不能为空'));
}
if (value > (parseFloat(this.taskForm.workCoefficient) * 100)) {
callback(new Error(`根据考评系数,不能超过${parseFloat(this.taskForm.workCoefficient) * 100}`));
if (value > this.taskForm.workCoefficient) { // * 100
callback(new Error(`根据考评分数,评分不能超过${this.taskForm.workCoefficient}`)); // * 100
} else if (value < 50) {
callback(new Error('根据考评分数,评分不能低于50'));
} else {
callback();
}
};
let workScore = (rule, value, callback) => {
if (!value) {
return callback(new Error('考评系数不能为空'));
}
if (value < 50) {
callback(new Error('考评系数不能低于50'));
} else {
callback();
}
};
let workLoadScore = (rule, value, callback) => {
if (!value) {
return callback(new Error('工作量不能为空'));
} else {
callback();
}
......@@ -365,6 +392,15 @@
crewList: [
{ type: 'array', required: true, message: '请选择组员', trigger: 'change' },
],
workCoefficient: [
{ validator: workScore, trigger: 'blur' },
{ type: 'number', message: '考评分数必须为数字值'}
],
workload: [
{ validator: workLoadScore, trigger: 'blur' },
// { required: true, message: '工作量不能为空'},
{ type: 'number', message: '工作量必须为数字值'}
]
},
changeTaskTextarea: '',
submitTaskTextarea: '',
......@@ -407,7 +443,7 @@
deleteTextarea: '', // 删除说明
showScore2Tip: false,
showScore1Tip: false,
workScores: 0,
};
},
//监听属性 类似于data概念
......@@ -430,6 +466,17 @@
console.log(res)
if (res.request.status === 200) {
let postData = JSON.parse(JSON.stringify(res.data));
if ((postData.workCoefficient.toString()).indexOf(".") > -1) {
postData.workCoefficient = (Math.round(postData.workCoefficient*100)/100) * 100;
} else {
if ((postData.workCoefficient.toString()).length < 2) {
postData.workCoefficient = (Math.round(postData.workCoefficient*100)/100) * 100;
} else {
postData.workCoefficient = JSON.parse(JSON.stringify(postData.workCoefficient));
}
}
// postData.workCoefficient = (Math.round(postData.workCoefficient*100)/100) * 100;
this.workScores = JSON.parse(JSON.stringify(postData.workCoefficient));
this.taskForm = postData;
let arr = [];
if (res.data.publisher.id === this.userDetail.id) {
......@@ -503,6 +550,16 @@
this.isCanSubmit = res.data.isNotCommit === '1' ? true : false;
}
})
this.$axios.getScore(res.data.id).then((res) => {
console.log(res);
if (res.status === 200) {
if (res.data.score1 !== '') {
this.isEditEva = true;
} else {
this.isEditEva = false;
}
}
})
})
},
openHistory() {
......@@ -520,8 +577,15 @@
closeChangeTaskDialog() {
this.dialogTaskChangeVisible = false;
},
openChangeTaskDialog() {
this.dialogTaskChangeVisible = true;
openChangeTaskDialog(val) {
this.$refs[val].validate((valid) => {
if (valid) {
this.dialogTaskChangeVisible = true;
} else {
console.log('error submit');
return false;
}
});
},
closeSubmitTaskDialog() {
this.dialogTaskSubmitVisible = false;
......@@ -792,21 +856,28 @@
}
})
},
reviewBtnClick(val) {
let obj = {
msg: '',
status: val,
workId: this.taskListData.workId,
userId: this.userDetail.id
}
this.$axios.putTaskStatus(obj).then((res) => {
console.log(res)
this.$message({
message: '审核任务成功!',
type: 'success'
});
this.getDetailsTask(this.taskListData.workId);
})
reviewBtnClick(val, formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
let obj = {
msg: '',
status: val,
workId: this.taskListData.workId,
userId: this.userDetail.id
}
this.$axios.putTaskStatus(obj).then((res) => {
console.log(res)
this.$message({
message: '审核任务成功!',
type: 'success'
});
this.getDetailsTask(this.taskListData.workId);
})
} else {
console.log('error submit!!');
return false;
}
});
},
breakDownTask() {
console.log(this.taskForm)
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论