Commit f2f06cea by 周田

feat:增加命令字段

parent 029443a2
......@@ -42,13 +42,14 @@
<protocol-table
v-if="fieldInfos !== undefined"
:cmd-name="cmd.cmd_name"
:version="currentVersion"
:cmd-type="cmd.cmd_type"
:message="fieldInfos[cmd.cmd_name]" />
</el-collapse-item>
</el-collapse>
<el-dialog v-model="addCmdDialog" title="新增指令">
<el-form v-model="addCmdData">
<el-form :model="addCmdData">
<el-form-item prop="cmd_name" label="指令名称" :label-width="formLabelWidth">
<el-input v-model="addCmdData.cmd_name" autocomplete="off" />
</el-form-item>
......
......@@ -147,7 +147,7 @@
import { reactive, ref } from 'vue'
import { ElMessage, ElMessageBox, FormRules, ElForm } from "element-plus";
import { AddProtocolCMd, DeleteProtocolCmd, EditProtocolCmd } from "@/dao/device";
import { AddProtocolCmd, DeleteProtocolCmd, EditProtocolCmd } from "@/dao/device";
import type { CmdInfo } from './types';
const flag = ref(false)
......@@ -157,6 +157,7 @@ const more = ref(false)
type propsType = {
cmdName: string,
cmdType: string,
version: string,
message: CmdInfo[]
}
const props = defineProps<propsType>()
......@@ -239,7 +240,6 @@ const addField = () => {
fields.value.operabo_out = 0
dialogVisible.value = true;
}
function editField(data: CmdInfo) {
......@@ -259,7 +259,10 @@ function Delete(id: number) {
}
function Add(params: any) {
AddProtocolCMd(params)
params['version'] = props.version
console.log(params);
AddProtocolCmd(params)
}
function confirm(type: string, data: CmdInfo) {
......@@ -287,6 +290,7 @@ function confirm(type: string, data: CmdInfo) {
tableData.value.splice(data['fieldindex'] - 1, 1)
} else if (type === 'add') {
Add(fields.value)
tableData.value.push(fields.value)
}
})
.catch(() => {
......
......@@ -34,8 +34,8 @@ export function DeleteProtocolCmd(id: number) {
)
}
export function AddProtocolCMd(params: any) {
return axios.post('/api/all_dev_cmd_define/', params).then(
export function AddProtocolCmd(params: any) {
return axios.post('/api/protocol_version_manage/cmd_fields_manager/', params).then(
function (response) {
return response.data
}
......
......@@ -4,7 +4,9 @@ from rest_framework.routers import DefaultRouter
from . import views
router = DefaultRouter()
router.register(r'current_versions', views.CurrentDevVersionViewSet)
router.register('current_versions', views.CurrentDevVersionViewSet)
router.register('protocol_version_manage/cmd_fields_manager',
views.AllDevCmdDefineAndVersionViewSet)
urlpatterns = [
re_path(r'^protocol_version_manage/init/$', views.init),
......
......@@ -8,10 +8,11 @@ from rest_framework.decorators import api_view, parser_classes
from rest_framework.parsers import MultiPartParser
from rest_framework.response import Response
from rest_framework import status
from rest_framework.viewsets import GenericViewSet
from rest_framework.viewsets import GenericViewSet, ModelViewSet
from rest_framework.mixins import ListModelMixin
from drf_yasg.utils import swagger_auto_schema
from drf_yasg import openapi
from device_data_op.models import TableAllDevCmdDefine, TableDevCmdNamePoll
from .models import (AllDevCmdDefineAndVersion, AllProtocolDefinAndVersion,
AllProtocolVersion, CurrentDevVersion)
from .serializers import (AllDevCmdDefineAndVersionSerializer, AllProtocolDefinAndVersionSerializer,
......@@ -296,3 +297,15 @@ def add_protocol_cmd(request):
if obj is not None:
return Response(status=status.HTTP_200_OK)
return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR)
class AllDevCmdDefineAndVersionViewSet(ModelViewSet):
queryset = AllDevCmdDefineAndVersion.objects.all()
serializer_class = AllDevCmdDefineAndVersionSerializer
def perform_create(self, serializer):
serializer.validated_data['version'] = json.dumps([serializer.validated_data['version']])
super().perform_create(serializer)
serializer.validated_data.pop('version')
TableAllDevCmdDefine.objects.create(**serializer.validated_data)
No preview for this file type
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment