|
@@ -7,31 +7,66 @@
|
|
|
</n-breadcrumb>
|
|
|
<n-button type="primary" @click="handleClick">生成报告</n-button>
|
|
|
</n-space>
|
|
|
- <n-scrollbar style="max-height: 650px">
|
|
|
- <div class="w-1/3 mx-auto">
|
|
|
- <n-form
|
|
|
- ref="formRef"
|
|
|
- :rules="rules"
|
|
|
- label-placement="left"
|
|
|
- label-width="auto"
|
|
|
+ <n-scrollbar style="max-height: 700px">
|
|
|
+ <n-form
|
|
|
+ ref="formRef"
|
|
|
+ :rules="rules"
|
|
|
+ label-placement="left"
|
|
|
+ label-width="auto"
|
|
|
+ style="width: 40%; margin: 0 auto"
|
|
|
+ >
|
|
|
+ <template
|
|
|
+ v-for="item of templateDataList"
|
|
|
+ :key="item.T_VerifyTemplateMap_id"
|
|
|
>
|
|
|
- <template
|
|
|
- v-for="item of templateDataList"
|
|
|
- :key="item.T_VerifyTemplateMap_id"
|
|
|
+ <n-form-item
|
|
|
+ :label="item.T_name"
|
|
|
+ :path="item.T_field"
|
|
|
+ v-if="item.T_label === 1"
|
|
|
>
|
|
|
- <n-form-item
|
|
|
- required
|
|
|
- :label="item.T_name"
|
|
|
- :path="item.T_field"
|
|
|
- v-if="item.T_label === 3"
|
|
|
- >
|
|
|
+ <n-input v-model:value="item.T_value" />
|
|
|
+ <n-popover trigger="hover">
|
|
|
+ <template #trigger>
|
|
|
+ <n-icon size="20" class="ml-3">
|
|
|
+ <QuestionCircleOutlined />
|
|
|
+ </n-icon>
|
|
|
+ </template>
|
|
|
+ <n-image width="200" :src="item.T_text" />
|
|
|
+ </n-popover>
|
|
|
+ </n-form-item>
|
|
|
+ <n-form-item
|
|
|
+ :label="item.T_name"
|
|
|
+ :path="item.T_field"
|
|
|
+ v-else-if="item.T_label === 2"
|
|
|
+ >
|
|
|
+ <n-input-number
|
|
|
+ class="w-full"
|
|
|
+ :min="1"
|
|
|
+ v-model:value="item.T_value"
|
|
|
+ />
|
|
|
+ <n-popover trigger="hover">
|
|
|
+ <template #trigger>
|
|
|
+ <n-icon size="20" class="ml-3">
|
|
|
+ <QuestionCircleOutlined />
|
|
|
+ </n-icon>
|
|
|
+ </template>
|
|
|
+ <n-image width="200" :src="item.T_text" />
|
|
|
+ </n-popover>
|
|
|
+ </n-form-item>
|
|
|
+ <n-form-item
|
|
|
+ :label="item.T_name"
|
|
|
+ :path="item.T_field"
|
|
|
+ v-else-if="item.T_label === 3"
|
|
|
+ >
|
|
|
+ <div class="w-full">
|
|
|
<n-popselect
|
|
|
multiple
|
|
|
:options="options"
|
|
|
:render-label="renderLabel"
|
|
|
v-model:value="item.T_value"
|
|
|
+ class="w-full"
|
|
|
>
|
|
|
- <n-button>
|
|
|
+ <n-button block>
|
|
|
{{
|
|
|
Array.isArray(item.T_value) && item.T_value.length
|
|
|
? item.T_value.join(" | ")
|
|
@@ -39,122 +74,108 @@
|
|
|
}}
|
|
|
</n-button>
|
|
|
</n-popselect>
|
|
|
- <n-popover trigger="hover">
|
|
|
- <template #trigger>
|
|
|
- <n-icon size="20" class="ml-3">
|
|
|
- <QuestionCircleOutlined />
|
|
|
- </n-icon>
|
|
|
- </template>
|
|
|
- <n-image width="200" :src="item.T_text" />
|
|
|
- </n-popover>
|
|
|
- </n-form-item>
|
|
|
- <n-form-item
|
|
|
- required
|
|
|
- :label="item.T_name"
|
|
|
- :path="item.T_field"
|
|
|
- v-else-if="item.T_label === 4"
|
|
|
- >
|
|
|
- <n-select :options="options" />
|
|
|
- <n-popover trigger="hover">
|
|
|
- <template #trigger>
|
|
|
- <n-icon size="20" class="ml-3">
|
|
|
- <QuestionCircleOutlined />
|
|
|
- </n-icon>
|
|
|
- </template>
|
|
|
- <n-image width="200" :src="item.T_text" />
|
|
|
- </n-popover>
|
|
|
- </n-form-item>
|
|
|
- <n-divider v-else-if="item.T_label === 5" />
|
|
|
- <n-form-item
|
|
|
- required
|
|
|
- :label="item.T_name"
|
|
|
- :path="item.T_field"
|
|
|
- v-else-if="item.T_label === 7"
|
|
|
- >
|
|
|
- <n-date-picker
|
|
|
- value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
- type="datetime"
|
|
|
- clearable
|
|
|
- />
|
|
|
- <n-popover trigger="hover">
|
|
|
- <template #trigger>
|
|
|
- <n-icon size="20" class="ml-3">
|
|
|
- <QuestionCircleOutlined />
|
|
|
- </n-icon>
|
|
|
- </template>
|
|
|
- <n-image width="200" :src="item.T_text" />
|
|
|
- </n-popover>
|
|
|
- </n-form-item>
|
|
|
- <n-form-item
|
|
|
- required
|
|
|
- :label="item.T_name"
|
|
|
- :path="item.T_field"
|
|
|
- v-else-if="item.T_label === 9"
|
|
|
- >
|
|
|
- <n-date-picker
|
|
|
- value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
- type="datetimerange"
|
|
|
- clearable
|
|
|
- />
|
|
|
- <n-popover trigger="hover">
|
|
|
- <template #trigger>
|
|
|
- <n-icon size="20" class="ml-3">
|
|
|
- <QuestionCircleOutlined />
|
|
|
- </n-icon>
|
|
|
- </template>
|
|
|
- <n-image width="200" :src="item.T_text" />
|
|
|
- </n-popover>
|
|
|
- </n-form-item>
|
|
|
- <n-form-item
|
|
|
- required
|
|
|
- :label="item.T_name"
|
|
|
- :path="item.T_field"
|
|
|
- v-else-if="item.T_label === 10"
|
|
|
- >
|
|
|
- <n-upload :default-upload="false" list-type="image-card" :max="1">
|
|
|
- 点击上传
|
|
|
- </n-upload>
|
|
|
- <n-popover trigger="hover">
|
|
|
- <template #trigger>
|
|
|
- <n-icon size="20" class="ml-3">
|
|
|
- <QuestionCircleOutlined />
|
|
|
- </n-icon>
|
|
|
- </template>
|
|
|
- <n-image width="200" :src="item.T_text" />
|
|
|
- </n-popover>
|
|
|
- </n-form-item>
|
|
|
- <n-form-item
|
|
|
- required
|
|
|
- :label="item.T_name"
|
|
|
- :path="item.T_field"
|
|
|
- v-else-if="item.T_label === 11"
|
|
|
- >
|
|
|
- <n-upload :default-upload="false" list-type="image-card" :max="1">
|
|
|
- 点击上传
|
|
|
- </n-upload>
|
|
|
- <n-popover trigger="hover">
|
|
|
- <template #trigger>
|
|
|
- <n-icon size="20" class="ml-3">
|
|
|
- <QuestionCircleOutlined />
|
|
|
- </n-icon>
|
|
|
- </template>
|
|
|
- <n-image width="200" :src="item.T_text" />
|
|
|
- </n-popover>
|
|
|
- </n-form-item>
|
|
|
- <n-form-item :label="item.T_name" :path="item.T_field" v-else>
|
|
|
- <n-input v-model:value="item.T_value" />
|
|
|
- <n-popover trigger="hover">
|
|
|
- <template #trigger>
|
|
|
- <n-icon size="20" class="ml-3">
|
|
|
- <QuestionCircleOutlined />
|
|
|
- </n-icon>
|
|
|
- </template>
|
|
|
- <n-image width="200" :src="item.T_text" />
|
|
|
- </n-popover>
|
|
|
- </n-form-item>
|
|
|
- </template>
|
|
|
- </n-form>
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
+ <n-popover trigger="hover">
|
|
|
+ <template #trigger>
|
|
|
+ <n-icon size="20" class="ml-3">
|
|
|
+ <QuestionCircleOutlined />
|
|
|
+ </n-icon>
|
|
|
+ </template>
|
|
|
+ <n-image width="200" :src="item.T_text" />
|
|
|
+ </n-popover>
|
|
|
+ </n-form-item>
|
|
|
+ <n-form-item
|
|
|
+ :label="item.T_name"
|
|
|
+ :path="item.T_field"
|
|
|
+ v-else-if="item.T_label === 4"
|
|
|
+ >
|
|
|
+ <n-select :options="options" />
|
|
|
+ <n-popover trigger="hover">
|
|
|
+ <template #trigger>
|
|
|
+ <n-icon size="20" class="ml-3">
|
|
|
+ <QuestionCircleOutlined />
|
|
|
+ </n-icon>
|
|
|
+ </template>
|
|
|
+ <n-image width="200" :src="item.T_text" />
|
|
|
+ </n-popover>
|
|
|
+ </n-form-item>
|
|
|
+ <n-divider v-else-if="item.T_label === 5" />
|
|
|
+ <n-form-item
|
|
|
+ :label="item.T_name"
|
|
|
+ :path="item.T_field"
|
|
|
+ v-else-if="item.T_label === 7"
|
|
|
+ >
|
|
|
+ <n-date-picker
|
|
|
+ value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
+ type="datetime"
|
|
|
+ clearable
|
|
|
+ class="w-full"
|
|
|
+ />
|
|
|
+ <n-popover trigger="hover">
|
|
|
+ <template #trigger>
|
|
|
+ <n-icon size="20" class="ml-3">
|
|
|
+ <QuestionCircleOutlined />
|
|
|
+ </n-icon>
|
|
|
+ </template>
|
|
|
+ <n-image width="200" :src="item.T_text" />
|
|
|
+ </n-popover>
|
|
|
+ </n-form-item>
|
|
|
+ <n-form-item
|
|
|
+ :label="item.T_name"
|
|
|
+ :path="item.T_field"
|
|
|
+ v-else-if="item.T_label === 9"
|
|
|
+ >
|
|
|
+ <n-date-picker
|
|
|
+ value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
+ type="datetimerange"
|
|
|
+ clearable
|
|
|
+ class="w-full"
|
|
|
+ />
|
|
|
+ <n-popover trigger="hover">
|
|
|
+ <template #trigger>
|
|
|
+ <n-icon size="20" class="ml-3">
|
|
|
+ <QuestionCircleOutlined />
|
|
|
+ </n-icon>
|
|
|
+ </template>
|
|
|
+ <n-image width="200" :src="item.T_text" />
|
|
|
+ </n-popover>
|
|
|
+ </n-form-item>
|
|
|
+ <n-form-item
|
|
|
+ :label="item.T_name"
|
|
|
+ :path="item.T_field"
|
|
|
+ v-else-if="item.T_label === 10"
|
|
|
+ >
|
|
|
+ <n-upload :default-upload="false" list-type="image-card" :max="1">
|
|
|
+ 点击上传
|
|
|
+ </n-upload>
|
|
|
+ <n-popover trigger="hover">
|
|
|
+ <template #trigger>
|
|
|
+ <n-icon size="20" class="ml-3">
|
|
|
+ <QuestionCircleOutlined />
|
|
|
+ </n-icon>
|
|
|
+ </template>
|
|
|
+ <n-image width="200" :src="item.T_text" />
|
|
|
+ </n-popover>
|
|
|
+ </n-form-item>
|
|
|
+ <n-form-item
|
|
|
+ :label="item.T_name"
|
|
|
+ :path="item.T_field"
|
|
|
+ v-else-if="item.T_label === 11"
|
|
|
+ >
|
|
|
+ <n-upload :default-upload="false" list-type="image-card" :max="1">
|
|
|
+ 点击上传
|
|
|
+ </n-upload>
|
|
|
+ <n-popover trigger="hover">
|
|
|
+ <template #trigger>
|
|
|
+ <n-icon size="20" class="ml-3">
|
|
|
+ <QuestionCircleOutlined />
|
|
|
+ </n-icon>
|
|
|
+ </template>
|
|
|
+ <n-image width="200" :src="item.T_text" />
|
|
|
+ </n-popover>
|
|
|
+ </n-form-item>
|
|
|
+ </template>
|
|
|
+ </n-form>
|
|
|
</n-scrollbar>
|
|
|
</n-space>
|
|
|
<n-modal
|
|
@@ -172,7 +193,7 @@
|
|
|
|
|
|
<script setup>
|
|
|
import { h } from "vue";
|
|
|
-import { getVerifyTemplateMapData } from "@/api";
|
|
|
+import { getTaskDataClassData, getVerifyTemplateMapData } from "@/api";
|
|
|
import { QuestionCircleOutlined } from "@vicons/antd";
|
|
|
import { NThing } from "naive-ui";
|
|
|
|
|
@@ -195,6 +216,9 @@ const props = defineProps({
|
|
|
// 模板标签数据列表
|
|
|
const templateDataList = ref([]);
|
|
|
|
|
|
+// 设备列表
|
|
|
+const TaskDataClassList = ref([]);
|
|
|
+
|
|
|
// 配置选项内容
|
|
|
const options = [
|
|
|
{
|
|
@@ -247,6 +271,15 @@ const getVerifyTemplateMapDataList = async () => {
|
|
|
templateDataList.value = res.Data;
|
|
|
};
|
|
|
|
|
|
+// 获取设备列表
|
|
|
+const getTaskDataClassList = async () => {
|
|
|
+ const { data: res } = await getTaskDataClassData({
|
|
|
+ T_task_id: props.taskId,
|
|
|
+ });
|
|
|
+ TaskDataClassList.value = res.Data ? res.Data : [];
|
|
|
+};
|
|
|
+
|
|
|
+getTaskDataClassList();
|
|
|
getVerifyTemplateMapDataList();
|
|
|
</script>
|
|
|
|