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) {
return request({

View File

@ -89,7 +89,8 @@
v-if="showEditor"
v-model="companydata.remark"
:height="400"
width="90%"/>
width="90%"
/>
</el-form-item>
</el-form>
<div style="text-align:right;">
@ -108,10 +109,22 @@
</el-col>
<el-col :span="12">
<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>
</div>
<el-table
</div> -->
<!-- <el-table
v-loading="listLoading"
:data="tableData2.results"
style="width: 100%;margin-top:10px;"
@ -145,8 +158,8 @@
/>
</template>
</el-table-column>
</el-table>
<el-dialog :visible.sync="dialogVisible2" :title="dialogType2==='edit'?'编辑信息':'新增信息'">
</el-table> -->
<!-- <el-dialog :visible.sync="dialogVisible2" :title="dialogType2==='edit'?'编辑信息':'新增信息'">
<el-form
ref="commonForm2"
:model="childCompy"
@ -178,14 +191,14 @@
<el-button type="danger" @click="dialogVisible2=false">取消</el-button>
<el-button type="primary" @click="confirmchild('commonForm2')">确认</el-button>
</div>
</el-dialog>
<pagination
</el-dialog> -->
<!-- <pagination
v-show="(tableData2.count>0) || 0"
:total="tableData2.count || 0"
:page.sync="listQuery2.page"
:limit.sync="listQuery2.limit"
@pagination="getList2"
/>
/> -->
</el-card>
</el-col>
@ -193,7 +206,8 @@
</div>
</template>
<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 Pagination from '@/components/Pagination'
import Tinymce from '@/components/Tinymce'
@ -231,6 +245,7 @@ export default {
dialogVisible2: false,
childCompy: {},
companydata: {},
detailData: {},
companyOption: [],
}
},
@ -238,6 +253,7 @@ export default {
created() {
this.getList()
this.getList2()
this.getYpdetail()
},
methods: {
checkPermission,
@ -249,6 +265,36 @@ export default {
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() {
this.listLoading = true
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

@ -74,7 +74,13 @@ class Userpz(CommonModel):
def __str__(self):
return self.art_name
class Youpeidetail(CommonModel):
remark = models.TextField('备注', null=True, blank=True)
def __str__(self):
return self.remark
class CompanyInfo(CommonModel):
company_name = models.CharField('父公司名称', max_length=50)

View File

@ -1,5 +1,5 @@
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
@ -55,6 +55,10 @@ class UserpzSerializer(serializers.ModelSerializer):
model = Userpz
fields = '__all__'
class YoupeidetailSerializer(serializers.ModelSerializer):
class Meta:
model = Youpeidetail
fields = '__all__'
class CompanyInfoSerializer(serializers.ModelSerializer):
sum_points = serializers.FloatField(read_only=True)

View File

@ -1,10 +1,11 @@
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
router = routers.DefaultRouter()
router.register('article', ArticleViewSet, basename="article")
router.register('ypdetail', youpeidetailViewSet, basename="ypdetail")
router.register('material', MaterialViewSet, basename="material")
router.register('source', SourceViewSet, basename='source')
router.register('threshold', ThresholdViewSet, basename='threshold')

View File

@ -11,8 +11,8 @@ from openpyxl import load_workbook, Workbook
from django.db import transaction
# Create your views here.
from .models import Article, Material, Source, Threshold, CompanyInfo, ChildrenCompany, Userpz
from .serializers import ArticelSerializer,UserpzSerializer, ArticelListSerializer, MaterialSerializer, SourceSerializer, ThresholdSerializer, PathSerializer, CompanyInfoSerializer, ChildrenCompanySerializer
from .models import Article, Material, Source, Threshold, CompanyInfo, ChildrenCompany, Userpz, Youpeidetail
from .serializers import ArticelSerializer,UserpzSerializer, ArticelListSerializer, MaterialSerializer, SourceSerializer, ThresholdSerializer, PathSerializer, CompanyInfoSerializer, ChildrenCompanySerializer, YoupeidetailSerializer
from utils.custom import CommonPagination
class ArticleViewSet(ModelViewSet):
"""
@ -77,6 +77,19 @@ class UserpzViewSet(ModelViewSet):
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):
"""
子公司增删改查