任务报送批量确认

This commit is contained in:
caoqianming 2021-04-30 13:24:34 +08:00
parent eada0465d9
commit f0ec4691bc
4 changed files with 59 additions and 3 deletions

View File

@ -97,3 +97,10 @@ export function getmytasklist(query) {
params: query params: query
}) })
} }
export function confirmTaskdept(id) {
return request({
url: `/supervision/taskdept/${id}/confirm/`,
method: 'put'
})
}

View File

@ -124,6 +124,25 @@
{{ scope.row.confirm_rate }}% {{ scope.row.confirm_rate }}%
</template> </template>
</el-table-column> </el-table-column>
<el-table-column
align="center"
label="操作"
width="240px"
fixed="right"
>
<template slot-scope="scope">
<el-link
v-if="
scope.row.confirm_rate != 100 &&
checkPermission(['record_confirm'])
"
type="warning"
size="small"
@click="handleConfirmDept(scope)"
>确认</el-link
>
</template>
</el-table-column>
</el-table> </el-table>
</el-card> </el-card>
<el-card style="margin-top: 2px"> <el-card style="margin-top: 2px">
@ -309,7 +328,7 @@
} }
</style> </style>
<script> <script>
import { gettask, inittask, gettaskdeptall, starttask, appendtask } from "@/api/task"; import { gettask, inittask, gettaskdeptall, starttask, appendtask, confirmTaskdept } from "@/api/task";
import { getRecordList, updateRecords } from "@/api/record"; import { getRecordList, updateRecords } from "@/api/record";
import Pagination from "@/components/Pagination"; import Pagination from "@/components/Pagination";
import taskinit from "@/views/supervision/taskinit"; import taskinit from "@/views/supervision/taskinit";
@ -442,6 +461,12 @@ export default {
} }
this.selectRecords = selects; this.selectRecords = selects;
}, },
handleConfirmDept(scope){
confirmTaskdept(scope.row.id).then(res=>{
this.getRecordList()
this.gettaskdeptall()
})
},
handleUp2(){ handleUp2(){
if (this.selectRecords.length) { if (this.selectRecords.length) {
this.$prompt('请输入备注内容', '提示').then(({ value }) => { this.$prompt('请输入备注内容', '提示').then(({ value }) => {

View File

@ -1,12 +1,13 @@
from apps.supervision.serializers import TaskDeptSerializer
from django.urls import path, include from django.urls import path, include
from rest_framework import routers from rest_framework import routers
from .views import ContentViewSet, TaskViewSet,RecordViewSet from .views import ContentViewSet, TaskViewSet,RecordViewSet, TaskDeptViewSet
router = routers.DefaultRouter() router = routers.DefaultRouter()
router.register('content', ContentViewSet, basename="content") router.register('content', ContentViewSet, basename="content")
router.register('task', TaskViewSet, basename="task") router.register('task', TaskViewSet, basename="task")
router.register('record', RecordViewSet, basename="record") router.register('record', RecordViewSet, basename="record")
router.register('taskdept', TaskDeptViewSet, basename="taskdept")
urlpatterns = [ urlpatterns = [
path('', include(router.urls)) path('', include(router.urls))
] ]

View File

@ -331,3 +331,26 @@ class RecordViewSet(PageOrNot, CreateUpdateCustomMixin, ModelViewSet):
return Response('记录状态错误', status=status.HTTP_400_BAD_REQUEST) return Response('记录状态错误', status=status.HTTP_400_BAD_REQUEST)
class TaskDeptViewSet(ModelViewSet):
"""
任务关联部门 操作
"""
perms_map = {'get': '*', 'post': 'task_update',
'put': 'task_update', 'delete': 'task_update'}
queryset = TaskDept.objects.all()
serializer_class = TaskDeptSerializer
filterset_fields = ['task','dept']
ordering = ['dept__sort']
@action(methods=['put'], detail=True, perms_map = {'put':'record_confirm'})
def confirm(self, request, *args, **kwargs):
"""
批量确认
"""
obj = self.get_object()
if obj.up_rate == 100:
Record.objects.filter(task=obj.task, belong_dept=obj.dept).update(state='已确认')
obj.confirm_rate = 100
obj.save()
return Response(status=status.HTTP_200_OK)
return Response('报送未完成', status=status.HTTP_400_BAD_REQUEST)