This commit is contained in:
caoqianming 2020-09-15 18:06:03 +08:00
parent a95dcdc77c
commit 464b46b1ff
4 changed files with 68 additions and 71 deletions

View File

@ -39,6 +39,15 @@ export function completeCertapp(id) {
}) })
} }
export function reviewCertapp(data) {
return request({
url: `/project/certapp/review/`,
method: 'put',
data
})
}
export function getCertapp(id) { export function getCertapp(id) {
return request({ return request({
url: `/project/certapp/${id}/`, url: `/project/certapp/${id}/`,

View File

@ -13,7 +13,7 @@
</el-steps> </el-steps>
</el-card> </el-card>
<el-row :gutter="6" style="margin-top:6px"> <el-row :gutter="6" style="margin-top:6px">
<el-col :span="20"> <el-col :xs="24" :md="20">
<el-tabs type="border-card" v-model="activeName"> <el-tabs type="border-card" v-model="activeName">
<el-tab-pane label="申请信息" name="Basic" style="overflow-y:auto;overflow-x:hidden;"> <el-tab-pane label="申请信息" name="Basic" style="overflow-y:auto;overflow-x:hidden;">
<CCCform @handleCommit="save" :certapp="certappdata" v-if="kind=='CCC'&isLoad"></CCCform> <CCCform @handleCommit="save" :certapp="certappdata" v-if="kind=='CCC'&isLoad"></CCCform>
@ -28,7 +28,7 @@
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="资料评审" name="Productunit3" v-if="certapp" lazy> <el-tab-pane label="资料评审" name="Productunit3" v-if="certapp" lazy>
<REVIEW :certapp="certapp"></REVIEW>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="收费信息" name="Productunit4" v-if="certapp" lazy> <el-tab-pane label="收费信息" name="Productunit4" v-if="certapp" lazy>
@ -46,12 +46,12 @@
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
</el-col> </el-col>
<el-col :span="4"> <el-col :xs="24" :md="4">
<el-card> <el-card>
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>业务时间线</span> <span>业务时间线</span>
</div> </div>
<el-timeline > <el-timeline style="margin-top:6px">
<el-timeline-item <el-timeline-item
v-for="(activity, index) in activities" v-for="(activity, index) in activities"
:key="index" :key="index"
@ -76,8 +76,9 @@ import QMSform from "@/views/certapp/qmsform"
import Conclusion from "@/views/audit/conclusion" import Conclusion from "@/views/audit/conclusion"
import Member from "@/views/audit/member" import Member from "@/views/audit/member"
import access from "@/views/accessment/access" import access from "@/views/accessment/access"
import REVIEW from "@/views/certapp/review"
export default { export default {
components: { CCCform, Productunit, QMSform, Conclusion, Member, access, CHARGE}, components: { CCCform, Productunit, QMSform, Conclusion, Member, access, CHARGE, REVIEW},
props: [], props: [],
data() { data() {
return { return {

View File

@ -4,7 +4,6 @@
<el-row :gutter="12"> <el-row :gutter="12">
<el-col> <el-col>
<el-card shadow="always">
<el-table id="evl" <el-table id="evl"
ref="multipleTable" ref="multipleTable"
:data="eltList" :data="eltList"
@ -12,35 +11,31 @@
border border
fit fit
highlight-current-row highlight-current-row
@selection-change='selectRow'
max-height="600"> max-height="600">
<el-table-column type="selection" label="选择" align="center" width="55"></el-table-column>
<el-table-column align="center" label="项目内容" width="750"> <el-table-column align="center" label="项目内容" width="750">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.content }} <span v-if="scope.row.item">{{ scope.row.item.content }}</span>
<span v-else>{{ scope.row.content }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="符合"> <el-table-column label="符合">
<template slot-scope="scope"> <template slot-scope="scope">
<el-radio-group v-model="radio[scope.$index]" @change="changeHandler"> <!-- @change="changeHandler(scope.$index,radio[scope.$index])" -->
<el-radio :label="item.id" :key="item.id" v-for="item in scope.row.options ">{{item.name}}</el-radio> <el-radio-group v-model="radio[scope.$index]" @change="changeHandler(scope.$index,radio[scope.$index])">
<el-radio :label="item" :key="item" v-for="item in review_options ">{{item}}</el-radio>
</el-radio-group> </el-radio-group>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-card>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
<div slot="footer" align="center"> <div slot="footer" align="center" style="margin-top:6px">
<el-button @click="close(false)">取消</el-button> <el-button type="primary" @click="handelConfirm">保存</el-button>
<el-button type="primary" @click="dialogFormAdd">保存</el-button>
</div> </div>
</div> </div>
@ -48,6 +43,7 @@
<script type="text/javascript"> <script type="text/javascript">
import { createEvaluationDetail, updateEvaluationDetail, getEvaluationDetailList } from "@/api/evaluationdetail"; import { createEvaluationDetail, updateEvaluationDetail, getEvaluationDetailList } from "@/api/evaluationdetail";
import { getEvaluationsList } from "@/api/evaluationitem"; import { getEvaluationsList } from "@/api/evaluationitem";
import { reviewCertapp } from "@/api/certapp"
import Treeselect from "@riophae/vue-treeselect"; import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css"; import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import { options } from "runjs"; import { options } from "runjs";
@ -70,24 +66,7 @@ export default {
}, },
radio: [], radio: [],
review_options:[ review_options:[
{ '符合', '不符合', '不适用', '需说明'
id : "1",
name : "符合"
},
{
id : "2",
name : "不符合"
}
,
{
id : "3",
name : "不适用"
}
,
{
id : "4",
name : "需说明"
}
], ],
eltList: [], eltList: [],
@ -113,7 +92,8 @@ export default {
this.eltList = response.data.results this.eltList = response.data.results
for (var i = 0; i < this.eltList.length; i++) { for (var i = 0; i < this.eltList.length; i++) {
this.eltList[i].options = this.review_options; // this.eltList[i].options = this.review_options;
// this.eltList[i].result = '符合'
} }
}); });
@ -122,25 +102,22 @@ export default {
selectRow (val) { selectRow (val) {
this.selectlistRow = val this.selectlistRow = val
}, },
changeHandler(value) { changeHandler(val1, val2) {
this.radioresult = value; console.log(val1,val2)
} this.eltList[val1].result = val2
, console.log(this.eltList)
handleSelectionChange(val) {
this.multipleTable = val; // this.multipleTable 选中的值
console.log(val);
},
dialogFormAdd() {
//for (var i = 0; i < this.multipleTable.length; i++) {
// var halo = this.multipleTable[i];
// console.log(halo);
//}
console.log(this.selectlistRow);
}, },
handelConfirm() { handelConfirm() {
let val = this.selectlistRow console.log(this.eltList)
console.log(this.selectlistRow); let rlist = []
for (var i = 0; i < this.eltList.length; i++) {
rlist.push({id:this.eltList[i].id,result:this.eltList[i].result})
}
reviewCertapp({certapps:[this.certapp], rlist:rlist}).then(res=>{
this.$message.success('成功')
})
// let val = this.selectlistRow
// console.log(this.selectlistRow);
}, },

View File

@ -88,25 +88,7 @@ class CertappViewset(PageOrNot, RbacFilterSet, ModelViewSet):
self.perform_create(serializer) self.perform_create(serializer)
headers = self.get_success_headers(serializer.data) headers = self.get_success_headers(serializer.data)
return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers) return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers)
class EvaluationDetailViewset(CreateUpdateCustomMixin, ModelViewSet):
"""
受理信息
"""
perms_map = {'get': '*', 'post': 'EvaluationDetail_create',
'put': 'EvaluationDetail_update', 'delete': 'EvaluationDetail_delete'}
queryset = EvaluationDetail.objects
serializer_class = EvaluationDetailSerializer
filterset_fields = ['cert_app']
ordering = ['-create_time']
def paginate_queryset(self, queryset):
if ((not self.request.query_params.get('page', None)) and (self.request.query_params.get('cert_app', None))) or (self.paginator is None):
return None
return self.paginator.paginate_queryset(queryset, self.request, view=self)
@action(methods=['put'], detail=True, perms_map={'put':'complete_certapp'}, @action(methods=['put'], detail=True, perms_map={'put':'complete_certapp'},
url_name='complete_certapp') url_name='complete_certapp')
def complete(self, request, pk=None): def complete(self, request, pk=None):
@ -118,6 +100,34 @@ class EvaluationDetailViewset(CreateUpdateCustomMixin, ModelViewSet):
obj.save() obj.save()
return Response(status=status.HTTP_200_OK) return Response(status=status.HTTP_200_OK)
@action(methods=['put'], detail=False, perms_map={'put':'review_certapp'},
url_name='review_certapp')
def review(self, request, pk=None):
"""
完成评审
"""
certapps = request.data['certapps']
rlist = request.data['rlist']
for i in rlist:
instance = EvaluationDetail.objects.create(item=Evaluations.objects.get(id=i['id']), create_by=request.user, result=i['result'] if 'result' in i and i['result'] else None)
instance.cert_app.add(*certapps)
return Response(status=status.HTTP_200_OK)
class EvaluationDetailViewset(CreateUpdateCustomMixin, PageOrNot,ModelViewSet):
"""
受理信息
"""
perms_map = {'get': '*', 'post': 'EvaluationDetail_create',
'put': 'EvaluationDetail_update', 'delete': 'EvaluationDetail_delete'}
queryset = EvaluationDetail.objects
serializer_class = EvaluationDetailSerializer
filterset_fields = ['cert_app']
ordering = ['-create_time']
class UnitViewSet(RbacFilterSet, ModelViewSet): class UnitViewSet(RbacFilterSet, ModelViewSet):
""" """
产品单元 产品单元