| 1 | 1 | <script lang="ts" setup> | 
| 2 | 2 | import { Button, Tag } from 'ant-design-vue'; | 
| 3 |  | -  import { h, onMounted, ref, unref, Ref } from 'vue'; | 
|  | 3 | +  import { h, onMounted, ref, unref } from 'vue'; | 
| 4 | 4 | import { DeviceProfileModel } from '/@/api/device/model/deviceModel'; | 
| 5 | 5 | import { getScriptManageMeList } from '/@/api/scriptmanage/scriptManager'; | 
| 6 | 6 | import { Description, useDescription } from '/@/components/Description'; | 
| 7 | 7 | import { useModal } from '/@/components/Modal'; | 
| 8 |  | -  import { SelectTypes } from 'ant-design-vue/es/select'; | 
| 9 | 8 | import { TCPProtocolTypeEnum, TCPProtocolTypeNameEnum } from '/@/enums/deviceEnum'; | 
|  | 9 | +  import ConvertScriptModal from '/@/views/rule/script/TcpConversionScript/components/ConvertScriptModal.vue'; | 
|  | 10 | +  import { ScriptLanguageEnum } from '/@/enums/scriptEnum'; | 
|  | 11 | +  import { DataActionModeEnum } from '/@/enums/toolEnum'; | 
|  | 12 | +  import JavaScriptTestModal from '/@/views/rule/designer/src/components/JavaScriptFilterModal/JavaScriptTestModal.vue'; | 
| 10 | 13 |  | 
| 11 | 14 | const props = defineProps<{ | 
| 12 | 15 | record: DeviceProfileModel['profileData']['transportConfiguration']; | 
| ... | ... | @@ -14,7 +17,7 @@ | 
| 14 | 17 |  | 
| 15 | 18 | const upScriptIdStr = ref(''); | 
| 16 | 19 |  | 
| 17 |  | -  const selectUpOptions: Ref<SelectTypes['options']> = ref([]); | 
|  | 20 | +  const selectUpOptions: any = ref([]); | 
| 18 | 21 |  | 
| 19 | 22 | onMounted(async () => { | 
| 20 | 23 | selectUpOptions.value = await getAllScriptType('TRANSPORT_TCP_UP'); | 
| ... | ... | @@ -25,7 +28,7 @@ | 
| 25 | 28 |  | 
| 26 | 29 | const getAllScriptType = async (type) => { | 
| 27 | 30 | const rest = await getScriptManageMeList({ scriptType: type }); | 
| 28 |  | -    return rest.map((m) => ({ label: m.name, value: m.id })); | 
|  | 31 | +    return rest.map((m) => ({ ...m, label: m.name, value: m.id })); | 
| 29 | 32 | }; | 
| 30 | 33 |  | 
| 31 | 34 | const findScriptUpName = (scriptId) => { | 
| ... | ... | @@ -73,17 +76,44 @@ | 
| 73 | 76 |  | 
| 74 | 77 | const [registerModal, { openModal }] = useModal(); | 
| 75 | 78 |  | 
|  | 79 | +  const testScriptLanguage = ref<string>(ScriptLanguageEnum.JavaScript); | 
| 76 | 80 | const handleTestUpScript = () => { | 
| 77 |  | -    const modalParams = { | 
| 78 |  | -      record: { id: unref(upScriptIdStr) }, | 
| 79 |  | -    }; | 
| 80 |  | -    openModal(true, modalParams); | 
|  | 81 | +    // const modalParams = { | 
|  | 82 | +    //   record: { id: unref(upScriptIdStr) }, | 
|  | 83 | +    // }; | 
|  | 84 | +    const record = selectUpOptions.value?.find((it) => it.value === unref(upScriptIdStr)); | 
|  | 85 | +    const { scriptLanguage = ScriptLanguageEnum.JavaScript, convertJs, convertTbel } = record; | 
|  | 86 | +    testScriptLanguage.value = scriptLanguage!; | 
|  | 87 | +    openModal(true, { | 
|  | 88 | +      mode: DataActionModeEnum.CREATE, | 
|  | 89 | +      record: scriptLanguage === ScriptLanguageEnum.JavaScript ? convertJs : convertTbel, | 
|  | 90 | +    } as ModalParamsType<string>); | 
|  | 91 | + | 
|  | 92 | +    // openModal(true, modalParams); | 
|  | 93 | +  }; | 
|  | 94 | + | 
|  | 95 | +  const beforeTest = (params: Recordable) => { | 
|  | 96 | +    return { ...params, needMetadataAndMsgType: true }; | 
| 81 | 97 | }; | 
| 82 | 98 | </script> | 
| 83 | 99 |  | 
| 84 | 100 | <template> | 
| 85 | 101 | <section> | 
| 86 | 102 | <Description @register="register" /> | 
| 87 |  | -    <ConverScriptModal @register="registerModal" /> | 
|  | 103 | +    <ConvertScriptModal @register="registerModal" /> | 
|  | 104 | +    <JavaScriptTestModal | 
|  | 105 | +      onlyTest | 
|  | 106 | +      @register="registerModal" | 
|  | 107 | +      :language="testScriptLanguage" | 
|  | 108 | +      :messageValue="{ | 
|  | 109 | +        params: '010304026C00883BF0', | 
|  | 110 | +      }" | 
|  | 111 | +      :javaScriptEditorProps="{ | 
|  | 112 | +        functionName: 'Transform', | 
|  | 113 | +        paramsName: ['msg', 'metadata', 'msgType'], | 
|  | 114 | +        scriptType: 'update', | 
|  | 115 | +      }" | 
|  | 116 | +      :beforeTest="beforeTest" | 
|  | 117 | +    /> | 
| 88 | 118 | </section> | 
| 89 | 119 | </template> | 
... | ... |  |