feat:dppz youpei 增加详情介绍

This commit is contained in:
zty 2025-05-09 09:54:24 +08:00
parent 824b9f125a
commit 338e2204be
7 changed files with 133 additions and 14 deletions

View File

@ -181,7 +181,29 @@ export function deleteArt(id) {
}) })
} }
// 优培详情
export function createypDetail(data) {
return request({
url: '/cms/ypdetail/',
method: 'post',
data
})
}
export function getYpDetailList(query) {
return request({
url: '/cms/ypdetail/',
method: 'get',
params: query
})
}
export function updateyp(id, data) {
return request({
url: `/cms/ypdetail/${id}/`,
method: 'put',
data
})
}
export function getChildcompanyList(query) { export function getChildcompanyList(query) {
return request({ return request({

View File

@ -89,7 +89,8 @@
v-if="showEditor" v-if="showEditor"
v-model="companydata.remark" v-model="companydata.remark"
:height="400" :height="400"
width="90%"/> width="90%"
/>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div style="text-align:right;"> <div style="text-align:right;">
@ -108,10 +109,22 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-card style="height:750px"> <el-card style="height:750px">
<div style="margin-top:10px"> <el-form
ref="detailForm"
:model="detailData"
label-width="120px"
label-position="right">
<tinymce
v-model="detailData.remark"
:height="500"
width="90%"
/>
</el-form>
<el-button type="primary" @click="saveRemark">保存</el-button>
<!-- <div style="margin-top:10px">
<el-button type="primary" icon="el-icon-plus" @click="handleAdd2">新增</el-button> <el-button type="primary" icon="el-icon-plus" @click="handleAdd2">新增</el-button>
</div> </div> -->
<el-table <!-- <el-table
v-loading="listLoading" v-loading="listLoading"
:data="tableData2.results" :data="tableData2.results"
style="width: 100%;margin-top:10px;" style="width: 100%;margin-top:10px;"
@ -145,8 +158,8 @@
/> />
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table> -->
<el-dialog :visible.sync="dialogVisible2" :title="dialogType2==='edit'?'编辑信息':'新增信息'"> <!-- <el-dialog :visible.sync="dialogVisible2" :title="dialogType2==='edit'?'编辑信息':'新增信息'">
<el-form <el-form
ref="commonForm2" ref="commonForm2"
:model="childCompy" :model="childCompy"
@ -178,14 +191,14 @@
<el-button type="danger" @click="dialogVisible2=false">取消</el-button> <el-button type="danger" @click="dialogVisible2=false">取消</el-button>
<el-button type="primary" @click="confirmchild('commonForm2')">确认</el-button> <el-button type="primary" @click="confirmchild('commonForm2')">确认</el-button>
</div> </div>
</el-dialog> </el-dialog> -->
<pagination <!-- <pagination
v-show="(tableData2.count>0) || 0" v-show="(tableData2.count>0) || 0"
:total="tableData2.count || 0" :total="tableData2.count || 0"
:page.sync="listQuery2.page" :page.sync="listQuery2.page"
:limit.sync="listQuery2.limit" :limit.sync="listQuery2.limit"
@pagination="getList2" @pagination="getList2"
/> /> -->
</el-card> </el-card>
</el-col> </el-col>
@ -193,7 +206,8 @@
</div> </div>
</template> </template>
<script> <script>
import { getCompanyList, createCompany, deleteCompany, updateCompany, getChildcompanyList, createChildcomany, deleteChildcomany, updateChildcomany } from '@/api/cms' import { getCompanyList, createCompany, deleteCompany, updateCompany, updateyp, getYpDetailList, createypDetail,
getChildcompanyList, createChildcomany, deleteChildcomany, updateChildcomany } from '@/api/cms'
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'
@ -231,6 +245,7 @@ export default {
dialogVisible2: false, dialogVisible2: false,
childCompy: {}, childCompy: {},
companydata: {}, companydata: {},
detailData: {},
companyOption: [], companyOption: [],
} }
}, },
@ -238,6 +253,7 @@ export default {
created() { created() {
this.getList() this.getList()
this.getList2() this.getList2()
this.getYpdetail()
}, },
methods: { methods: {
checkPermission, checkPermission,
@ -249,6 +265,36 @@ export default {
this.listLoading = false this.listLoading = false
}) })
}, },
saveRemark(){
//remark_id
console.log('enter saveRemark')
getYpDetailList().then((response) => {
if (response.data.results.length > 0) {
this.detailDataId = response.data.results[0].id
}else{
createypDetail(this.detailData).then(response => {
console.log(response)
this.detailDataId = response.data.results[0].id
}
)
}
updateyp(this.detailDataId, this.detailData).then((response) => {
this.$message.success("备注已保存");
})
})
},
getYpdetail(){
getYpDetailList().then((response) => {
this.detailData = response.data.results[0]
})
},
handleImgSuccess(res, file) {
this.companydata.photo = res.data.path
},
beforeImgUpload(file) {
const isLt2M = file.size / 1024 / 1024 < 0.6;
},
getList2() { getList2() {
this.listLoading = true this.listLoading = true
getChildcompanyList(this.listQuery2).then((response) => { getChildcompanyList(this.listQuery2).then((response) => {

View File

@ -0,0 +1,27 @@
# Generated by Django 3.2.12 on 2025-05-08 08:17
from django.db import migrations, models
import django.utils.timezone
class Migration(migrations.Migration):
dependencies = [
('cms', '0024_userpz_art_honor'),
]
operations = [
migrations.CreateModel(
name='Youpeidetail',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')),
('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')),
('is_delete', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
('remark', models.TextField(blank=True, null=True, verbose_name='备注')),
],
options={
'abstract': False,
},
),
]

View File

@ -76,6 +76,12 @@ class Userpz(CommonModel):
return self.art_name return self.art_name
class Youpeidetail(CommonModel):
remark = models.TextField('备注', null=True, blank=True)
def __str__(self):
return self.remark
class CompanyInfo(CommonModel): class CompanyInfo(CommonModel):
company_name = models.CharField('父公司名称', max_length=50) company_name = models.CharField('父公司名称', max_length=50)
edu_points = models.FloatField('教育积分', null=True, blank=True) edu_points = models.FloatField('教育积分', null=True, blank=True)

View File

@ -1,5 +1,5 @@
from rest_framework import serializers from rest_framework import serializers
from .models import Article, Material, Source, Threshold, CompanyInfo, ChildrenCompany, Userpz from .models import Article, Material, Source, Threshold, CompanyInfo, ChildrenCompany, Userpz, Youpeidetail
from utils.constants import EXCLUDE_FIELDS_BASE from utils.constants import EXCLUDE_FIELDS_BASE
@ -55,6 +55,10 @@ class UserpzSerializer(serializers.ModelSerializer):
model = Userpz model = Userpz
fields = '__all__' fields = '__all__'
class YoupeidetailSerializer(serializers.ModelSerializer):
class Meta:
model = Youpeidetail
fields = '__all__'
class CompanyInfoSerializer(serializers.ModelSerializer): class CompanyInfoSerializer(serializers.ModelSerializer):
sum_points = serializers.FloatField(read_only=True) sum_points = serializers.FloatField(read_only=True)

View File

@ -1,10 +1,11 @@
from django.urls import path,include from django.urls import path,include
from .views import ArticleViewSet, MaterialViewSet, SourceViewSet, ThresholdViewSet, ConpamyInfoViewSet, ChildrenCompanyViewSet, UserpzViewSet from .views import ArticleViewSet, MaterialViewSet, SourceViewSet, ThresholdViewSet, ConpamyInfoViewSet, ChildrenCompanyViewSet, UserpzViewSet, youpeidetailViewSet
from rest_framework import routers from rest_framework import routers
router = routers.DefaultRouter() router = routers.DefaultRouter()
router.register('article', ArticleViewSet, basename="article") router.register('article', ArticleViewSet, basename="article")
router.register('ypdetail', youpeidetailViewSet, basename="ypdetail")
router.register('material', MaterialViewSet, basename="material") router.register('material', MaterialViewSet, basename="material")
router.register('source', SourceViewSet, basename='source') router.register('source', SourceViewSet, basename='source')
router.register('threshold', ThresholdViewSet, basename='threshold') router.register('threshold', ThresholdViewSet, basename='threshold')

View File

@ -11,8 +11,8 @@ from openpyxl import load_workbook, Workbook
from django.db import transaction from django.db import transaction
# Create your views here. # Create your views here.
from .models import Article, Material, Source, Threshold, CompanyInfo, ChildrenCompany, Userpz from .models import Article, Material, Source, Threshold, CompanyInfo, ChildrenCompany, Userpz, Youpeidetail
from .serializers import ArticelSerializer,UserpzSerializer, ArticelListSerializer, MaterialSerializer, SourceSerializer, ThresholdSerializer, PathSerializer, CompanyInfoSerializer, ChildrenCompanySerializer from .serializers import ArticelSerializer,UserpzSerializer, ArticelListSerializer, MaterialSerializer, SourceSerializer, ThresholdSerializer, PathSerializer, CompanyInfoSerializer, ChildrenCompanySerializer, YoupeidetailSerializer
from utils.custom import CommonPagination from utils.custom import CommonPagination
class ArticleViewSet(ModelViewSet): class ArticleViewSet(ModelViewSet):
""" """
@ -77,6 +77,19 @@ class UserpzViewSet(ModelViewSet):
filterset_fields = ['art_cate'] filterset_fields = ['art_cate']
class youpeidetailViewSet(ModelViewSet):
"""
铺装详情增删改查
"""
perms_map = [
{'get': '*'}, {'post': 'article_create'},
{'put': 'article_update'}, {'delete': 'article_delete'}]
queryset = Youpeidetail.objects.filter(is_delete=0).all()
serializer_class = YoupeidetailSerializer
pagination_class = CommonPagination
search_fields = ['name']
ordering_fields = ['update_time']
class ChildrenCompanyViewSet(ModelViewSet): class ChildrenCompanyViewSet(ModelViewSet):
""" """
子公司增删改查 子公司增删改查