上报统一修改为报送

This commit is contained in:
caoqianming 2021-04-07 21:11:29 +08:00
parent ac1d1f5c53
commit a64684fc35
9 changed files with 94 additions and 94 deletions

View File

@ -58,11 +58,11 @@
<div slot="header" class="clearfix">
<span>待办任务提醒</span>
</div>
<div class="litem" @click="goRecord('')" v-if="!checkPermission(['record_confirm']) && checkPermission(['record_up'])">
<div class="litem" @click="goRecord('')" v-if="!checkPermission(['record_confirm']) && checkPermission(['record_up'])">
<el-link class="desc">
您有
<span style="color:red">{{todos.toup}}</span>
条记录待
条记录待
</el-link>
</div>
<div class="litem">
@ -72,7 +72,7 @@
条记录待整改
</el-link>
</div>
<div class="litem" @click="goRecord('')" v-if="checkPermission(['record_confirm'])">
<div class="litem" @click="goRecord('')" v-if="checkPermission(['record_confirm'])">
<el-link class="desc" v-if="todos.toconfirm">
您有
<span style="color:red">{{todos.toconfirm}}</span>

View File

@ -39,7 +39,7 @@
<el-select
v-model="listQuery.belong_dept"
placeholder="报部门"
placeholder="部门"
clearable
@change="handleFilter"
>
@ -54,7 +54,7 @@
v-model="listQuery.date_gt"
type="date"
value-format="yyyy-MM-dd"
placeholder="报时间"
placeholder="时间"
style="width: 140px"
>
</el-date-picker>
@ -65,7 +65,7 @@
value-format="yyyy-MM-dd"
@change="handleFilter"
style="width: 140px"
placeholder="报时间"
placeholder="时间"
>
</el-date-picker>
<el-button type="primary" icon="el-icon-search" @click="handleFilter"
@ -83,7 +83,7 @@
type="primary"
@click="centerDialogVisible = true"
style="margin-left: 4px"
>主动</el-button
>主动</el-button
>
<el-dialog
title="主动报送"
@ -148,16 +148,16 @@
<el-tag type="danger" effect="plain" v-else></el-tag>
</template>
</el-table-column>
<el-table-column label="报情况">
<el-table-column label="情况">
<template slot-scope="scope" v-if="scope.row.up_user_"
>{{ scope.row.up_user_.name }}/{{ scope.row.up_date }}</template
>
</el-table-column>
<el-table-column label="报说明">
<el-table-column label="说明">
<template slot-scope="scope">{{ scope.row.noteb }}</template>
</el-table-column>
<el-table-column
label="报单位"
label="单位"
sortable="custom"
prop="belong_dept__sort"
>
@ -167,7 +167,7 @@
</el-table-column>
<el-table-column label="记录状态">
<template slot-scope="scope">
<el-tag type="danger" v-if="scope.row.state == ''">{{
<el-tag type="danger" v-if="scope.row.state == ''">{{
scope.row.state
}}</el-tag>
<el-tag
@ -180,12 +180,12 @@
<el-tag type="success" v-else-if="scope.row.state == '已确认'">{{
scope.row.state
}}</el-tag>
<el-tag v-else-if="scope.row.state == ''">{{
<el-tag v-else-if="scope.row.state == ''">{{
scope.row.state
}}</el-tag>
</template>
</el-table-column>
<el-table-column label="报文件">
<el-table-column label="文件">
<template slot-scope="scope" v-if="scope.row.files">
<el-link
v-if="scope.row.files.length > 1"
@ -205,7 +205,7 @@
<template slot-scope="scope">
<el-link
v-if="
(scope.row.state == '' || scope.row.state == '待发布') &&
(scope.row.state == '' || scope.row.state == '待发布') &&
checkPermission(['record_update'])
"
type="warning"
@ -215,17 +215,17 @@
>
<el-link
v-if="
(scope.row.state == '' || scope.row.state == '待整改') &&
(scope.row.state == '' || scope.row.state == '待整改') &&
checkPermission(['record_up'])
"
type="primary"
size="small"
@click="handleRecord({ action: 'up', record: scope.row })"
></el-link
></el-link
>
<el-link
v-if="
scope.row.state == '' &&
scope.row.state == '' &&
checkPermission(['record_confirm'])
"
type="success"
@ -235,7 +235,7 @@
>
<el-link
v-if="
scope.row.state == '' &&
scope.row.state == '' &&
checkPermission(['record_reject']) &&
scope.row.belong_dept != $store.state.user.dept
"
@ -322,8 +322,8 @@ export default {
orgData: [],
drawer: false,
stateOptions: [
{ key: "", name: "" },
{ key: "", name: "" },
{ key: "", name: "" },
{ key: "", name: "" },
{ key: "已确认", name: "已确认" },
{ key: "待整改", name: "待整改" },
],
@ -454,7 +454,7 @@ export default {
this.listQuery = {
page: 1,
page_size: 20,
state: "",
state: "",
is_self: true,
};
this.getList();

View File

@ -1,6 +1,6 @@
<template>
<div class="app-container">
<div class="ma">报记录</div>
<div class="ma">记录</div>
<el-form label-width="100px" label-position="left">
<el-form-item label="材料内容">
{{ record.content_name }}
@ -8,9 +8,9 @@
<el-form-item label="材料详情" v-if="record.content_desc">
{{ record.content_desc }}
</el-form-item>
<el-form-item label="报状态">
<el-form-item label="状态">
{{ record.state }}
<el-tag v-if="record.is_self" style="margin-left: 2px" effect="plain">主动</el-tag>
<el-tag v-if="record.is_self" style="margin-left: 2px" effect="plain">主动</el-tag>
</el-form-item>
<el-form-item label="所属任务" v-if="record.task_">
{{ record.task_.name }}/{{ record.task_.end_date }}
@ -25,10 +25,10 @@
<el-form-item label="执行组织">
{{ record.belong_dept_.name }}
</el-form-item>
<el-form-item label="报人" v-if="record.up_user_">
<el-form-item label="" v-if="record.up_user_">
{{ record.up_user_.name }}/{{ record.up_date }}
</el-form-item>
<el-form-item label="报说明">
<el-form-item label="说明">
<span v-if="data.action != 'up'">{{ record.noteb }}</span>
<el-input v-model="record.noteb" placeholder="" type="textarea" v-else >
</el-input>

View File

@ -3,7 +3,7 @@
<el-card style="margin-top: 10px">
<el-row>
<el-button type="primary" @click="centerDialogVisible = true" plain
>主动</el-button
>主动</el-button
>
<el-dialog
title="提示"
@ -27,8 +27,8 @@
<el-row>
<el-col :span="24">
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="" name="toup" lazy> </el-tab-pane>
<el-tab-pane label="" name="uped" lazy> </el-tab-pane>
<el-tab-pane label="" name="toup" lazy> </el-tab-pane>
<el-tab-pane label="" name="uped" lazy> </el-tab-pane>
<el-tab-pane label="待整改" name="tozg" lazy> </el-tab-pane>
<el-tab-pane label="已确认" name="confirmed" lazy> </el-tab-pane>
</el-tabs>
@ -54,7 +54,7 @@
</el-table-column>
<el-table-column label="状态">
<template slot-scope="scope">
<el-tag type="danger" v-if="scope.row.state == ''">{{
<el-tag type="danger" v-if="scope.row.state == ''">{{
scope.row.state
}}</el-tag>
<el-tag type="warning" v-else-if="scope.row.state == '待整改'">{{
@ -63,17 +63,17 @@
<el-tag type="success" v-else-if="scope.row.state == '已确认'">{{
scope.row.state
}}</el-tag>
<el-tag v-else-if="scope.row.state == ''">{{
<el-tag v-else-if="scope.row.state == ''">{{
scope.row.state
}}</el-tag>
</template>
</el-table-column>
<el-table-column label="报情况">
<el-table-column label="情况">
<template slot-scope="scope" v-if="scope.row.up_user_"
>{{ scope.row.up_user_.name }}/{{ scope.row.up_date }}</template
>
</el-table-column>
<el-table-column label="报文件">
<el-table-column label="文件">
<template slot-scope="scope" v-if="scope.row.files">
<el-link v-if="scope.row.files.length>1" @click="handleRecord({action:'view', record:scope.row})">
@ -88,7 +88,7 @@
<template slot-scope="scope">
<el-button
v-if="
scope.row.state == '' &&
scope.row.state == '' &&
checkPermission(['record_update'])
"
type="primary"
@ -98,18 +98,18 @@
>
<el-button
v-if="
(scope.row.state == '' || scope.row.state == '待整改')
(scope.row.state == '' || scope.row.state == '待整改')
&&
checkPermission(['record_up'])
"
type="primary"
size="small"
@click="handleRecord({action:'up', record:scope.row})"
></el-button
></el-button
>
<el-button
v-if="
scope.row.state == '' &&
scope.row.state == '' &&
checkPermission(['record_confirm'])
"
type="primary"
@ -119,7 +119,7 @@
>
<el-button
v-if="
scope.row.state == '' &&
scope.row.state == '' &&
checkPermission(['record_reject'])
"
type="danger"
@ -170,7 +170,7 @@ export default {
centerDialogVisible: false,
dialogVisible: false,
activeName: "toup",
state: "",
state: "",
can_doself: true,
contents: [],
contentOptions: [],
@ -216,11 +216,11 @@ export default {
handleClick(tab, event) {
switch (tab.name) {
case "toup":
this.state = "";
this.state = "";
this.getRecordList();
break;
case "uped":
this.state = "";
this.state = "";
this.getRecordList();
break;
case "tozg":

View File

@ -54,7 +54,7 @@
<el-table-column label="截止日期">
<template slot-scope="scope">{{ scope.row.end_date }}</template>
</el-table-column>
<!-- <el-table-column label="报率/确认率">
<!-- <el-table-column label="率/确认率">
<template slot-scope="scope">{{ scope.row.up_rate }}%/{{scope.row.confirm_rate}}%</template>
</el-table-column> -->
@ -219,7 +219,7 @@ export default {
});
},
handleDelete(scope) {
this.$confirm("确认删除?该操作将删除该任务所有报记录!", "警告", {
this.$confirm("确认删除?该操作将删除该任务所有记录!", "警告", {
confirmButtonText: "确认",
cancelButtonText: "取消",
type: "error",

View File

@ -53,7 +53,7 @@
</el-col>
<!-- <el-col :span="8">
<div style="margin-bottom: 6px">
<span class="term">/确认率</span>
<span class="term">/确认率</span>
<span class="desc">
{{ task.up_rate }}% -- {{ task.confirm_rate }}%</span
>
@ -116,7 +116,7 @@
</template>
</el-table-column>
<el-table-column label="报率">
<el-table-column label="">
<template slot-scope="scope"> {{ scope.row.up_rate }}% </template>
</el-table-column>
<el-table-column label="确认率">
@ -151,7 +151,7 @@
</el-table-column>
<el-table-column label="状态">
<template slot-scope="scope">
<el-tag type="danger" v-if="scope.row.state == ''">{{
<el-tag type="danger" v-if="scope.row.state == ''">{{
scope.row.state
}}</el-tag>
<el-tag
@ -164,7 +164,7 @@
<el-tag type="success" v-else-if="scope.row.state == '已确认'">{{
scope.row.state
}}</el-tag>
<el-tag v-else-if="scope.row.state == ''">{{
<el-tag v-else-if="scope.row.state == ''">{{
scope.row.state
}}</el-tag>
</template>
@ -178,12 +178,12 @@
<el-tag type="danger" effect="plain" v-else></el-tag>
</template>
</el-table-column>
<el-table-column label="报情况">
<el-table-column label="情况">
<template slot-scope="scope" v-if="scope.row.up_user_"
>{{ scope.row.up_user_.name }}/{{ scope.row.up_date }}</template
>
</el-table-column>
<el-table-column label="报说明">
<el-table-column label="说明">
<template slot-scope="scope" >{{ scope.row.noteb}}</template
>
</el-table-column>
@ -212,7 +212,7 @@
<template slot-scope="scope">
<el-link
v-if="
(scope.row.state == '' || scope.row.state == '待发布') &&
(scope.row.state == '' || scope.row.state == '待发布') &&
checkPermission(['record_update'])
"
type="warning"
@ -222,13 +222,13 @@
>
<el-link
v-if="
(scope.row.state == '' || scope.row.state == '待整改') &&
(scope.row.state == '' || scope.row.state == '待整改') &&
checkPermission(['record_up'])
"
type="primary"
size="small"
@click="handleRecord({ action: 'up', record: scope.row })"
></el-link
></el-link
>
<el-link
v-if="
@ -242,7 +242,7 @@
>
<el-link
v-if="
scope.row.state == '' &&
scope.row.state == '' &&
checkPermission(['record_reject'])
"
type="danger"

View File

@ -45,7 +45,7 @@
</el-col>
<el-col :span="8">
<div style="margin-bottom: 6px">
<span class="term">/确认率</span>
<span class="term">/确认率</span>
<span class="desc">
{{ task.up_rate }}% -- {{ task.confirm_rate }}%</span
>
@ -129,7 +129,7 @@
<template slot-scope="scope"
><el-tag
type="danger"
v-if="scope.row.state == ''"
v-if="scope.row.state == ''"
>{{ scope.row.state }}</el-tag
>
<el-tag
@ -142,12 +142,12 @@
v-else-if="scope.row.state == '已确认'"
>{{ scope.row.state }}</el-tag
>
<el-tag v-else-if="scope.row.state == ''">{{
<el-tag v-else-if="scope.row.state == ''">{{
scope.row.state
}}</el-tag></template
>
</el-table-column>
<el-table-column label="报情况">
<el-table-column label="情况">
<template slot-scope="scope" v-if="scope.row.up_user_"
>{{ scope.row.up_user_.name }}/{{
scope.row.up_date
@ -193,7 +193,7 @@
<template slot-scope="scope">
<el-link
v-if="
(scope.row.state == ''||scope.row.state=='待发布' )&&
(scope.row.state == ''||scope.row.state=='待发布' )&&
checkPermission(['record_update'])
"
type="warning"
@ -205,7 +205,7 @@
>
<el-link
v-if="
(scope.row.state == '' ||
(scope.row.state == '' ||
scope.row.state == '待整改') &&
checkPermission(['record_up'])
"
@ -214,11 +214,11 @@
@click="
handleRecord({ action: 'up', record: scope.row })
"
></el-link
></el-link
>
<el-link
v-if="
scope.row.state == '' &&
scope.row.state == '' &&
checkPermission(['record_confirm'])
"
type="success"
@ -230,7 +230,7 @@
>
<el-link
v-if="
scope.row.state == '' &&
scope.row.state == '' &&
checkPermission(['record_reject'])
"
type="danger"
@ -311,7 +311,7 @@
<template slot-scope="scope">
<el-tag
type="danger"
v-if="scope.row.state == ''"
v-if="scope.row.state == ''"
>{{ scope.row.state }}</el-tag
>
<el-tag
@ -324,12 +324,12 @@
v-else-if="scope.row.state == '已确认'"
>{{ scope.row.state }}</el-tag
>
<el-tag v-else-if="scope.row.state == ''">{{
<el-tag v-else-if="scope.row.state == ''">{{
scope.row.state
}}</el-tag>
</template>
</el-table-column>
<el-table-column label="报情况">
<el-table-column label="情况">
<template slot-scope="scope" v-if="scope.row.up_user_"
>{{ scope.row.up_user_.name }}/{{ scope.row.up_date }}</template
>
@ -373,7 +373,7 @@
<template slot-scope="scope">
<el-link
v-if="
(scope.row.state == ''||scope.row.state=='待发布' )&&
(scope.row.state == ''||scope.row.state=='待发布' )&&
checkPermission(['record_update'])
"
type="warning"
@ -385,7 +385,7 @@
>
<el-link
v-if="
(scope.row.state == '' ||
(scope.row.state == '' ||
scope.row.state == '待整改') &&
checkPermission(['record_up'])
"
@ -394,11 +394,11 @@
@click="
handleRecord({ action: 'up', record: scope.row })
"
></el-link
></el-link
>
<el-link
v-if="
scope.row.state == '' &&
scope.row.state == '' &&
checkPermission(['record_confirm'])
"
type="success"
@ -410,7 +410,7 @@
>
<el-link
v-if="
scope.row.state == '' &&
scope.row.state == '' &&
checkPermission(['record_reject'])
"
type="danger"

View File

@ -20,7 +20,7 @@ class Content(CommonAModel):
class Task(CommonBModel):
"""
报任务
任务
"""
state_choices = (
('创建中', '创建中'),
@ -35,14 +35,14 @@ class Task(CommonBModel):
depts = models.ManyToManyField('system.organization', through='supervision.record')
state = models.CharField('任务状态', max_length=50, choices=state_choices, default='创建中')
class Meta:
verbose_name = '报任务'
verbose_name = '任务'
verbose_name_plural = verbose_name
class TaskDept(BaseModel):
task = models.ForeignKey(Task, verbose_name='关联任务', on_delete=models.CASCADE, related_name='taskdept_task')
dept = models.ForeignKey(Organization, verbose_name='关联公司', on_delete=models.CASCADE, related_name='taskdept_dept')
up_rate = models.IntegerField('报率', default=0)
up_rate = models.IntegerField('', default=0)
confirm_rate = models.IntegerField('确认率', default=0)
class Meta:
verbose_name = '任务部门视图'
@ -51,12 +51,12 @@ class TaskDept(BaseModel):
class Record(CommonBModel):
"""
报记录
记录
"""
state_choices = (
('待发布', '待发布'),
('', ''),
('', ''),
('', ''),
('', ''),
('已确认', '已确认'),
('待整改', '待整改')
)
@ -65,16 +65,16 @@ class Record(CommonBModel):
content_desc = models.TextField('材料详情', null=True, blank=True)
task = models.ForeignKey(Task, verbose_name='关联任务', null=True, blank=True, on_delete=models.SET_NULL, related_name='record_task')
is_self = models.BooleanField('是否主动报送', default=False)
up_date = models.DateField('报时间', null=True, blank=True)
up_user = models.ForeignKey(User, verbose_name='报人', null=True, blank=True,on_delete=models.SET_NULL, related_name='record_up_user')
up_date = models.DateField('时间', null=True, blank=True)
up_user = models.ForeignKey(User, verbose_name='', null=True, blank=True,on_delete=models.SET_NULL, related_name='record_up_user')
end_date = models.DateField('截止时间', null=True, blank=True)
state = models.CharField('记录状态', max_length=50, choices=state_choices, default='')
state = models.CharField('记录状态', max_length=50, choices=state_choices, default='')
is_yes = models.BooleanField('是否适用', default=True)
note = models.TextField('报要求', null=True, blank=True)
note = models.TextField('要求', null=True, blank=True)
opinion = models.TextField('修改意见', null=True, blank=True)
noteb = models.TextField('报说明', null=True, blank=True)
noteb = models.TextField('说明', null=True, blank=True)
files = models.ManyToManyField(File, verbose_name="关联文件")
class Meta:
verbose_name = '报记录'
verbose_name = '记录'
verbose_name_plural = verbose_name

View File

@ -115,7 +115,7 @@ class TaskViewSet(CreateUpdateCustomMixin, ModelViewSet):
r.task = obj
r.end_date = obj.end_date
r.create_by = request.user
r.state = ''
r.state = ''
r.save()
obj.save()
return Response(status=status.HTTP_200_OK)
@ -150,7 +150,7 @@ class TaskViewSet(CreateUpdateCustomMixin, ModelViewSet):
if obj.state == '待发布':
obj.state = '执行中'
obj.save()
Record.objects.filter(task=obj).update(state='')
Record.objects.filter(task=obj).update(state='')
return Response(status=status.HTTP_200_OK)
return Response('任务状态错误', status=status.HTTP_400_BAD_REQUEST)
@ -175,7 +175,7 @@ class TaskViewSet(CreateUpdateCustomMixin, ModelViewSet):
def cal_task_rate(task, dept):
"""
计算任务报率, 确认率
计算任务, 确认率
传入任务及公司
"""
objs = Record.objects.filter(task=task).filter(belong_dept=dept)
@ -229,10 +229,10 @@ class RecordViewSet(PageOrNot, CreateUpdateCustomMixin, ModelViewSet):
ret={}
dept = request.user.dept
objs = Record.objects.filter(is_deleted=False, belong_dept=dept)
ret['toup'] = objs.filter(state='').count()
ret['toup'] = objs.filter(state='').count()
ret['tozg'] = objs.filter(state='待整改').count()
if has_permission('record_confirm', request.user):
ret['toconfirm'] = Record.objects.filter(is_deleted=False, state='').count()
ret['toconfirm'] = Record.objects.filter(is_deleted=False, state='').count()
return Response(ret)
def update(self, request, *args, **kwargs):
@ -263,22 +263,22 @@ class RecordViewSet(PageOrNot, CreateUpdateCustomMixin, ModelViewSet):
@action(methods=['put'], detail=True, perms_map = {'put':'record_up'})
def up(self, request, *args, **kwargs):
"""
"""
obj = self.get_object()
if obj.task and obj.task.state == '已关闭':
return Response('该任务已关闭,无法', status=status.HTTP_400_BAD_REQUEST)
if obj.state in ['待整改','']:
return Response('该任务已关闭,无法', status=status.HTTP_400_BAD_REQUEST)
if obj.state in ['待整改','']:
if 'files' in request.data and (not request.data['files']):
if request.data.get('noteb', None) and (not request.data.get('is_yes', True)):
pass
else:
return Response('请上传文件或选择不适用并填写报说明', status=status.HTTP_400_BAD_REQUEST)
return Response('请上传文件或选择不适用并填写说明', status=status.HTTP_400_BAD_REQUEST)
obj.is_yes = request.data.get('is_yes')
obj.files.clear()
obj.files.add(*request.data['files'])
obj.noteb = request.data['noteb']
obj.state = ''
obj.state = ''
obj.up_user = request.user
obj.up_date = timezone.now()
obj.save()
@ -293,7 +293,7 @@ class RecordViewSet(PageOrNot, CreateUpdateCustomMixin, ModelViewSet):
驳回
"""
obj = self.get_object()
if obj.state == '':
if obj.state == '':
if request.data.get('opinion', None):
obj.opinion = request.data['opinion']
obj.state = '待整改'
@ -311,7 +311,7 @@ class RecordViewSet(PageOrNot, CreateUpdateCustomMixin, ModelViewSet):
确认
"""
obj = self.get_object()
if obj.state in ['', '']:
if obj.state in ['', '']:
obj.state = '已确认'
obj.save()
if obj.task: