Commit f2f06cea by 周田

feat:增加命令字段

parent 029443a2
...@@ -42,13 +42,14 @@ ...@@ -42,13 +42,14 @@
<protocol-table <protocol-table
v-if="fieldInfos !== undefined" v-if="fieldInfos !== undefined"
:cmd-name="cmd.cmd_name" :cmd-name="cmd.cmd_name"
:version="currentVersion"
:cmd-type="cmd.cmd_type" :cmd-type="cmd.cmd_type"
:message="fieldInfos[cmd.cmd_name]" /> :message="fieldInfos[cmd.cmd_name]" />
</el-collapse-item> </el-collapse-item>
</el-collapse> </el-collapse>
<el-dialog v-model="addCmdDialog" title="新增指令"> <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-form-item prop="cmd_name" label="指令名称" :label-width="formLabelWidth">
<el-input v-model="addCmdData.cmd_name" autocomplete="off" /> <el-input v-model="addCmdData.cmd_name" autocomplete="off" />
</el-form-item> </el-form-item>
......
...@@ -147,7 +147,7 @@ ...@@ -147,7 +147,7 @@
import { reactive, ref } from 'vue' import { reactive, ref } from 'vue'
import { ElMessage, ElMessageBox, FormRules, ElForm } from "element-plus"; 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'; import type { CmdInfo } from './types';
const flag = ref(false) const flag = ref(false)
...@@ -157,6 +157,7 @@ const more = ref(false) ...@@ -157,6 +157,7 @@ const more = ref(false)
type propsType = { type propsType = {
cmdName: string, cmdName: string,
cmdType: string, cmdType: string,
version: string,
message: CmdInfo[] message: CmdInfo[]
} }
const props = defineProps<propsType>() const props = defineProps<propsType>()
...@@ -239,7 +240,6 @@ const addField = () => { ...@@ -239,7 +240,6 @@ const addField = () => {
fields.value.operabo_out = 0 fields.value.operabo_out = 0
dialogVisible.value = true; dialogVisible.value = true;
} }
function editField(data: CmdInfo) { function editField(data: CmdInfo) {
...@@ -259,7 +259,10 @@ function Delete(id: number) { ...@@ -259,7 +259,10 @@ function Delete(id: number) {
} }
function Add(params: any) { function Add(params: any) {
AddProtocolCMd(params) params['version'] = props.version
console.log(params);
AddProtocolCmd(params)
} }
function confirm(type: string, data: CmdInfo) { function confirm(type: string, data: CmdInfo) {
...@@ -287,6 +290,7 @@ function confirm(type: string, data: CmdInfo) { ...@@ -287,6 +290,7 @@ function confirm(type: string, data: CmdInfo) {
tableData.value.splice(data['fieldindex'] - 1, 1) tableData.value.splice(data['fieldindex'] - 1, 1)
} else if (type === 'add') { } else if (type === 'add') {
Add(fields.value) Add(fields.value)
tableData.value.push(fields.value)
} }
}) })
.catch(() => { .catch(() => {
......
...@@ -34,8 +34,8 @@ export function DeleteProtocolCmd(id: number) { ...@@ -34,8 +34,8 @@ export function DeleteProtocolCmd(id: number) {
) )
} }
export function AddProtocolCMd(params: any) { export function AddProtocolCmd(params: any) {
return axios.post('/api/all_dev_cmd_define/', params).then( return axios.post('/api/protocol_version_manage/cmd_fields_manager/', params).then(
function (response) { function (response) {
return response.data return response.data
} }
......
...@@ -4,7 +4,9 @@ from rest_framework.routers import DefaultRouter ...@@ -4,7 +4,9 @@ from rest_framework.routers import DefaultRouter
from . import views from . import views
router = DefaultRouter() 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 = [ urlpatterns = [
re_path(r'^protocol_version_manage/init/$', views.init), re_path(r'^protocol_version_manage/init/$', views.init),
......
...@@ -8,10 +8,11 @@ from rest_framework.decorators import api_view, parser_classes ...@@ -8,10 +8,11 @@ from rest_framework.decorators import api_view, parser_classes
from rest_framework.parsers import MultiPartParser from rest_framework.parsers import MultiPartParser
from rest_framework.response import Response from rest_framework.response import Response
from rest_framework import status 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 rest_framework.mixins import ListModelMixin
from drf_yasg.utils import swagger_auto_schema from drf_yasg.utils import swagger_auto_schema
from drf_yasg import openapi from drf_yasg import openapi
from device_data_op.models import TableAllDevCmdDefine, TableDevCmdNamePoll
from .models import (AllDevCmdDefineAndVersion, AllProtocolDefinAndVersion, from .models import (AllDevCmdDefineAndVersion, AllProtocolDefinAndVersion,
AllProtocolVersion, CurrentDevVersion) AllProtocolVersion, CurrentDevVersion)
from .serializers import (AllDevCmdDefineAndVersionSerializer, AllProtocolDefinAndVersionSerializer, from .serializers import (AllDevCmdDefineAndVersionSerializer, AllProtocolDefinAndVersionSerializer,
...@@ -296,3 +297,15 @@ def add_protocol_cmd(request): ...@@ -296,3 +297,15 @@ def add_protocol_cmd(request):
if obj is not None: if obj is not None:
return Response(status=status.HTTP_200_OK) return Response(status=status.HTTP_200_OK)
return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR) 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