feat: 修改前端页面后端字段

This commit is contained in:
zty 2025-04-23 15:58:31 +08:00
parent 1cc387b114
commit 9e8e966fe2
9 changed files with 60 additions and 28 deletions

View File

@ -35,7 +35,7 @@ export function deleteTestRule(id) {
}) })
} }
export function getWorkScopeAll(query) { export function getAll(query) {
return request({ return request({
url: '/examtest/workscope/', url: '/examtest/workscope/',
method: 'get', method: 'get',

View File

@ -108,7 +108,7 @@
type="primary" type="primary"
size="small" size="small"
icon="el-icon-more" icon="el-icon-more"
plain="true"
@click="handleDialogissue(scope)" @click="handleDialogissue(scope)"
/> />
<el-button <el-button
@ -116,14 +116,14 @@
type="primary" type="primary"
size="small" size="small"
icon="el-icon-more" icon="el-icon-more"
plain="true"
@click="handleView(scope)" @click="handleView(scope)"
/> />
<el-button <el-button
v-if="checkPermission(['certificate_update'])" v-if="checkPermission(['certificate_update'])"
type="primary" type="primary"
size="small" size="small"
plain="true"
icon="el-icon-edit" icon="el-icon-edit"
@click="handleEdit(scope)" @click="handleEdit(scope)"
/> />
@ -131,7 +131,6 @@
v-if="checkPermission(['certificate_update'])" v-if="checkPermission(['certificate_update'])"
type="primary" type="primary"
size="small" size="small"
plain="true"
icon="el-icon-delete" icon="el-icon-delete"
@click="handleDelete(scope)" @click="handleDelete(scope)"
/> />
@ -231,7 +230,7 @@
v-for="item in worksOption" v-for="item in worksOption"
:key="item.key" :key="item.key"
:label="item.label" :label="item.label"
:value="item.value" :value="item.name"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -407,6 +406,7 @@ export default {
// //
getWorkScopeAll() { getWorkScopeAll() {
getWorkScopeAll().then((response) => { getWorkScopeAll().then((response) => {
console.log(response.data)
this.worksOption = genTree(response.data) this.worksOption = genTree(response.data)
}) })
}, },

View File

@ -105,6 +105,7 @@
<script> <script>
import { createArt, deleteArt, updateArt, getArtList} from '@/api/cms' import { createArt, deleteArt, updateArt, getArtList} from '@/api/cms'
import { getAll } from '@/api/examtest'
import checkPermission from '@/utils/permission' import checkPermission from '@/utils/permission'
import Pagination from '@/components/Pagination' import Pagination from '@/components/Pagination'
import Tinymce from '@/components/Tinymce' import Tinymce from '@/components/Tinymce'
@ -135,7 +136,7 @@ export default {
sort:0, sort:0,
path:"" path:""
}, },
cateList : ["技能大赛金奖","二级/技师","技能大赛金牌技术能手"], cateList : [],
upHeaders: { Authorization: "JWT " + getToken() }, upHeaders: { Authorization: "JWT " + getToken() },
listQuery: Object.assign({}, listQuery), listQuery: Object.assign({}, listQuery),
listQuery2: Object.assign({}, listQuery2), listQuery2: Object.assign({}, listQuery2),
@ -160,6 +161,14 @@ export default {
}, },
methods: { methods: {
checkPermission, checkPermission,
getWorkScope(){
this.cateList = []
getAll().then((response) => {
const data = response.data || []
console.log(data, 'data')
this.cateList = data.map(item => item.name)
})
},
getList() { getList() {
this.listLoading = true this.listLoading = true
getArtList(this.listQuery).then((response) => { getArtList(this.listQuery).then((response) => {
@ -167,6 +176,7 @@ export default {
this.companyOption = genTree(response.data.results) this.companyOption = genTree(response.data.results)
this.listLoading = false this.listLoading = false
}) })
this.getWorkScope()
}, },
handleImgSuccess(res, file) { handleImgSuccess(res, file) {
this.userinfo.art_photo = res.data.path this.userinfo.art_photo = res.data.path

View File

@ -2,7 +2,7 @@
<div class="app-container"> <div class="app-container">
<el-row :gutter="2"> <el-row :gutter="2">
<el-col :span="12"> <el-col :span="12">
<el-card style=" height:750px"> <el-card style=" height:800px">
<div style="margin-top:10px"> <div style="margin-top:10px">
<el-button type="primary" icon="el-icon-plus" @click="handleAdd">新增</el-button> <el-button type="primary" icon="el-icon-plus" @click="handleAdd">新增</el-button>
</div> </div>
@ -14,7 +14,7 @@
stripe stripe
fit fit
highlight-current-row highlight-current-row
max-height="600" max-height="700"
@row-click="sourceRowClick" @row-click="sourceRowClick"
> >
<el-table-column type="index" width="50" /> <el-table-column type="index" width="50" />
@ -192,7 +192,6 @@
</el-row> </el-row>
</div> </div>
</template> </template>
<script> <script>
import { getCompanyList, createCompany, deleteCompany, updateCompany, getChildcompanyList, createChildcomany, deleteChildcomany, updateChildcomany } from '@/api/cms' import { getCompanyList, createCompany, deleteCompany, updateCompany, getChildcompanyList, createChildcomany, deleteChildcomany, updateChildcomany } from '@/api/cms'
import checkPermission from '@/utils/permission' import checkPermission from '@/utils/permission'
@ -400,4 +399,12 @@ export default {
} }
} }
</script> </script>
<style scoped>
.app-container {
display: flex;
flex-direction: column;
}
</style>

View File

@ -0,0 +1,23 @@
# Generated by Django 3.2.12 on 2025-04-23 02:28
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('cms', '0022_userpz_art_cate'),
]
operations = [
migrations.AlterField(
model_name='companyinfo',
name='remark',
field=models.TextField(blank=True, null=True, verbose_name='备注'),
),
migrations.AlterField(
model_name='userpz',
name='art_remark',
field=models.TextField(blank=True, null=True, verbose_name='备注'),
),
]

View File

@ -69,7 +69,7 @@ class Userpz(CommonModel):
art_name = models.CharField('姓名', max_length=50) art_name = models.CharField('姓名', max_length=50)
art_photo = models.CharField('照片', max_length=100) art_photo = models.CharField('照片', max_length=100)
art_cate = models.CharField('类别', null=True, blank=True, max_length=50) art_cate = models.CharField('类别', null=True, blank=True, max_length=50)
art_remark = models.TextField('备注', null=True, blank=True, max_length=5000) art_remark = models.TextField('备注', null=True, blank=True)
def __str__(self): def __str__(self):
return self.art_name return self.art_name
@ -81,11 +81,15 @@ class CompanyInfo(CommonModel):
co_sponsor_points = models.FloatField('协办大赛积分', null=True, blank=True) co_sponsor_points = models.FloatField('协办大赛积分', null=True, blank=True)
sum_points = models.FloatField('总积分', null=True, blank=True) sum_points = models.FloatField('总积分', null=True, blank=True)
photo = models.CharField('公司图片', null=True, blank=True, max_length=100) photo = models.CharField('公司图片', null=True, blank=True, max_length=100)
remark = models.TextField('备注', null=True, blank=True, max_length=5000) remark = models.TextField('备注', null=True, blank=True)
def __str__(self): def __str__(self):
return self.company_name return self.company_name
def save(self, *args, **kwargs):
self.sum_points = (self.edu_points or 0) + (self.co_sponsor_points or 0)
super(CompanyInfo, self).save(*args, **kwargs)
class ChildrenCompany(CommonModel): class ChildrenCompany(CommonModel):
child_edu_points = models.FloatField('教育积分', null=True, blank=True) child_edu_points = models.FloatField('教育积分', null=True, blank=True)

View File

@ -57,23 +57,11 @@ class UserpzSerializer(serializers.ModelSerializer):
class CompanyInfoSerializer(serializers.ModelSerializer): class CompanyInfoSerializer(serializers.ModelSerializer):
# children_companies = serializers.SerializerMethodField() sum_points = serializers.FloatField(read_only=True)
class Meta: class Meta:
model = CompanyInfo model = CompanyInfo
fields = '__all__' fields = '__all__'
# def get_children_companies(self, obj):
# children = ChildrenCompany.objects.filter(parent_company=obj)
# return ChildrenCompanySerializer(children, many=True).data
def create(self, validated_data):
instance = super().create(validated_data)
instance.sum_points = validated_data["edu_points"] + validated_data["co_sponsor_points"]
instance.save()
return instance
class ChildrenCompanySerializer(serializers.ModelSerializer): class ChildrenCompanySerializer(serializers.ModelSerializer):
parent_company_name = serializers.StringRelatedField(source='parent_company.company_name', read_only=True) parent_company_name = serializers.StringRelatedField(source='parent_company.company_name', read_only=True)
class Meta: class Meta:

View File

@ -59,7 +59,7 @@ class ConpamyInfoViewSet(ModelViewSet):
pagination_class = CommonPagination pagination_class = CommonPagination
filter_backends = [DjangoFilterBackend,SearchFilter, OrderingFilter] filter_backends = [DjangoFilterBackend,SearchFilter, OrderingFilter]
search_fields = ['company_name'] search_fields = ['company_name']
ordering_fields = ['update_time'] ordering_fields = ['update_time', 'sum_points']
ordering = ['-sum_points'] ordering = ['-sum_points']
class UserpzViewSet(ModelViewSet): class UserpzViewSet(ModelViewSet):

View File

@ -38,7 +38,7 @@ class ConsumerSerializer(serializers.ModelSerializer):
company_name = serializers.StringRelatedField(source='company', read_only=True) company_name = serializers.StringRelatedField(source='company', read_only=True)
company_ = CompanySerializer(source='company', read_only=True) company_ = CompanySerializer(source='company', read_only=True)
subjects_name = serializers.StringRelatedField(source='subjects', many=True, read_only=True) subjects_name = serializers.StringRelatedField(source='subjects', many=True, read_only=True)
workscope_name = serializers.StringRelatedField(source='workscope', read_only=True) workscope_name = serializers.CharField(source='workscope.name', read_only=True)
role_name = serializers.StringRelatedField(source='role', read_only=True) role_name = serializers.StringRelatedField(source='role', read_only=True)
create_admin_ = UserListSerializer(source='create_admin', read_only=True) create_admin_ = UserListSerializer(source='create_admin', read_only=True)
create_admin_name = serializers.StringRelatedField(source='create_admin', read_only=True) create_admin_name = serializers.StringRelatedField(source='create_admin', read_only=True)
@ -64,7 +64,7 @@ class ConsumerDetailSerializer(serializers.ModelSerializer):
""" """
company_name = serializers.StringRelatedField(source='company', read_only=True) company_name = serializers.StringRelatedField(source='company', read_only=True)
subjects_name = serializers.StringRelatedField(source='subjects', many=True, read_only=True) subjects_name = serializers.StringRelatedField(source='subjects', many=True, read_only=True)
workscope_name = serializers.StringRelatedField(source='workscope', read_only=True) workscope_name = serializers.CharField(source='workscope.name', read_only=True)
role_name = serializers.StringRelatedField(source='role', read_only=True) role_name = serializers.StringRelatedField(source='role', read_only=True)
perms = serializers.SerializerMethodField(read_only=True) perms = serializers.SerializerMethodField(read_only=True)
class Meta: class Meta: