feat: 修改信息收集 质量活动 和质量表彰模块

This commit is contained in:
TianyangZhang 2025-12-17 09:23:24 +08:00
parent 5b8d4c3788
commit 196fa05dc0
6 changed files with 49 additions and 2 deletions

View File

@ -13,7 +13,9 @@
<el-table-column type="index" width="50" /> <el-table-column type="index" width="50" />
<el-table-column label="公司名称" prop="name_company"></el-table-column> <el-table-column label="公司名称" prop="name_company"></el-table-column>
<el-table-column label="姓名" prop="name"></el-table-column> <el-table-column label="姓名" prop="name"></el-table-column>
<el-table-column label="评审类型" prop="review_types"></el-table-column> <el-table-column label="评审类型(CNAS/国家级CMA/省级CMA不包含认证审核员和检查员)" prop="review_types" width="200"
>
</el-table-column>
<el-table-column label="证书有效期" prop="certificate_expiration"></el-table-column> <el-table-column label="证书有效期" prop="certificate_expiration"></el-table-column>
<el-table-column label="联系方式" prop="contact"></el-table-column> <el-table-column label="联系方式" prop="contact"></el-table-column>
<el-table-column label="评审领域" prop="judging_areas"></el-table-column> <el-table-column label="评审领域" prop="judging_areas"></el-table-column>

View File

@ -11,6 +11,7 @@
border fit stripe border fit stripe
highlight-current-row> highlight-current-row>
<el-table-column type="index" width="50" /> <el-table-column type="index" width="50" />
<el-table-column label="公司名称" prop="company"></el-table-column>
<el-table-column label="活动名称" prop="name"></el-table-column> <el-table-column label="活动名称" prop="name"></el-table-column>
<el-table-column label="活动角色" prop="roles"> <el-table-column label="活动角色" prop="roles">
<template slot-scope="scope"> <template slot-scope="scope">
@ -51,6 +52,9 @@
</el-card> </el-card>
<el-dialog :visible.sync="dialogVisible" :title="dialogType === 'edit' ? '编辑' : '新增'"> <el-dialog :visible.sync="dialogVisible" :title="dialogType === 'edit' ? '编辑' : '新增'">
<el-form ref="Form" :model="Content" label-width="80px" label-position="right"> <el-form ref="Form" :model="Content" label-width="80px" label-position="right">
<el-form-item label="公司名称" prop="company">
<el-input v-model="Content.company" placeholder="公司名称"/>
</el-form-item>
<el-form-item label="名称" prop="name"> <el-form-item label="名称" prop="name">
<el-input v-model="Content.name" placeholder="名称"/> <el-input v-model="Content.name" placeholder="名称"/>
</el-form-item> </el-form-item>
@ -200,6 +204,7 @@ import XLSX from 'xlsx';
const defaultContent = { const defaultContent = {
name: "", name: "",
company: "",
roles: "", roles: "",
collaborators: "", collaborators: "",
orgunits: "", orgunits: "",
@ -218,6 +223,7 @@ export default {
return { return {
form: { form: {
name: "", name: "",
company: "",
roles: "", roles: "",
collaborators: "", collaborators: "",
orgunits: "", orgunits: "",

View File

@ -9,6 +9,9 @@
<el-table v-loading="listLoading" :data="tableData.results" :hieght="tableHeight" border fit stripe <el-table v-loading="listLoading" :data="tableData.results" :hieght="tableHeight" border fit stripe
highlight-current-row> highlight-current-row>
<el-table-column type="index" width="50" /> <el-table-column type="index" width="50" />
<el-table-column label="公司名称">
<template slot-scope="scope">{{ scope.row.company }}</template>
</el-table-column>
<el-table-column label="项目名称"> <el-table-column label="项目名称">
<template slot-scope="scope">{{ scope.row.name }}</template> <template slot-scope="scope">{{ scope.row.name }}</template>
</el-table-column> </el-table-column>
@ -51,6 +54,9 @@
</el-card> </el-card>
<el-dialog :visible.sync="dialogVisible" :title="dialogType === 'edit' ? '编辑' : '新增'"> <el-dialog :visible.sync="dialogVisible" :title="dialogType === 'edit' ? '编辑' : '新增'">
<el-form ref="Form" :model="Content" label-width="80px" label-position="right" :rules="rule"> <el-form ref="Form" :model="Content" label-width="80px" label-position="right" :rules="rule">
<el-form-item label="公司名称" prop="company">
<el-input v-model="Content.company" placeholder="项目名称" />
</el-form-item>
<el-form-item label="项目名称" prop="name"> <el-form-item label="项目名称" prop="name">
<el-input v-model="Content.name" placeholder="项目名称" /> <el-input v-model="Content.name" placeholder="项目名称" />
</el-form-item> </el-form-item>
@ -171,6 +177,7 @@ import { upUrl, upHeaders } from "@/api/file";
import { saveAs } from 'file-saver'; import { saveAs } from 'file-saver';
import XLSX from 'xlsx'; import XLSX from 'xlsx';
const defaultContent = { const defaultContent = {
company:"",
name: "", name: "",
commendation_name: "", commendation_name: "",
Awards_level: "", Awards_level: "",
@ -185,6 +192,7 @@ export default {
data(){ data(){
return { return {
form: { form: {
company:"",
name: "", name: "",
commendation_name: "", commendation_name: "",
Awards_level: "", Awards_level: "",

View File

@ -59,7 +59,6 @@ def dectry(p):
def acquire_lock(lock_name, timeout=60): def acquire_lock(lock_name, timeout=60):
identifier = str(uuid.uuid4()) identifier = str(uuid.uuid4())
lock = cache.add(lock_name, identifier, timeout=timeout) lock = cache.add(lock_name, identifier, timeout=timeout)
print(lock, identifier)
return identifier if lock else None return identifier if lock else None
def release_lock(lock_name, identifier): def release_lock(lock_name, identifier):

View File

@ -0,0 +1,30 @@
# Generated by Django 3.2.12 on 2025-12-16 08:20
import datetime
from django.db import migrations, models
from django.utils.timezone import utc
class Migration(migrations.Migration):
dependencies = [
('information', '0064_auto_20240712_1523'),
]
operations = [
migrations.AddField(
model_name='qualityactivities',
name='company',
field=models.CharField(blank=True, max_length=50, null=True, verbose_name='公司名称'),
),
migrations.AddField(
model_name='qualitycommendation',
name='company',
field=models.CharField(blank=True, max_length=50, null=True, verbose_name='公司名称'),
),
migrations.AlterField(
model_name='qualification',
name='change_date',
field=models.DateField(blank=True, default=datetime.datetime(2025, 12, 16, 8, 20, 22, 120810, tzinfo=utc), null=True, verbose_name='变更日期'),
),
]

View File

@ -70,6 +70,7 @@ class AbilityReview(CommonBDModel):
class QualityCommendation(CommonBDModel): class QualityCommendation(CommonBDModel):
company = models.CharField(max_length=50, verbose_name='公司名称', null=True, blank=True)
name = models.CharField(max_length=50, verbose_name='项目名称') name = models.CharField(max_length=50, verbose_name='项目名称')
commendation_name = models.CharField(max_length=50, verbose_name='表彰名称') commendation_name = models.CharField(max_length=50, verbose_name='表彰名称')
Awards_level = models.CharField(max_length=50, verbose_name='获奖等级') Awards_level = models.CharField(max_length=50, verbose_name='获奖等级')
@ -85,6 +86,7 @@ class QualityCommendation(CommonBDModel):
class QualityActivities(CommonBDModel): class QualityActivities(CommonBDModel):
role = ((0,'组织方'),(1,'参与方')) role = ((0,'组织方'),(1,'参与方'))
company = models.CharField(max_length=50, verbose_name='公司名称', null=True, blank=True)
name = models.CharField(max_length=20, verbose_name='活动名称') name = models.CharField(max_length=20, verbose_name='活动名称')
roles = models.PositiveSmallIntegerField(max_length=20, choices=role, verbose_name='参与角色') roles = models.PositiveSmallIntegerField(max_length=20, choices=role, verbose_name='参与角色')
collaborators = models.CharField(max_length=20, verbose_name='合作方') collaborators = models.CharField(max_length=20, verbose_name='合作方')