Browse Source

refactor: update

Hu Cheng 2 years ago
parent
commit
073378e364

+ 16 - 4
src/api/modules/GenerateReport.js

@@ -1,7 +1,11 @@
 import service from "@/utils/axios";
 import service from "@/utils/axios";
 import { localBaseUrl } from "@/constant";
 import { localBaseUrl } from "@/constant";
 
 
-// 验证报告生成 方案
+/**
+ * 验证报告生成 方案
+ * @param data
+ * @returns {Promise<axios.AxiosResponse<any>>}
+ */
 export const generateScheme = (data) => {
 export const generateScheme = (data) => {
   return service.request({
   return service.request({
     method: "POST",
     method: "POST",
@@ -10,7 +14,11 @@ export const generateScheme = (data) => {
   });
   });
 };
 };
 
 
-// 验证报告生成 报告
+/**
+ * 验证报告生成 报告
+ * @param data
+ * @returns {Promise<axios.AxiosResponse<any>>}
+ */
 export const generateReport = (data) => {
 export const generateReport = (data) => {
   return service.request({
   return service.request({
     method: "POST",
     method: "POST",
@@ -19,8 +27,12 @@ export const generateReport = (data) => {
   });
   });
 };
 };
 
 
-// 验证报告生成 获取报告
-export const generateReportKey = (data) => {
+/**
+ * 验证报告生成 获取报告
+ * @param data
+ * @returns {Promise<axios.AxiosResponse<any>>}
+ */
+export const generateKey = (data) => {
   return service.request({
   return service.request({
     method: "POST",
     method: "POST",
     url: `${localBaseUrl}/GenerateReport/Generate_key`,
     url: `${localBaseUrl}/GenerateReport/Generate_key`,

+ 15 - 3
src/api/modules/Task.js

@@ -1,6 +1,10 @@
 import service from "@/utils/axios";
 import service from "@/utils/axios";
 
 
-// 任务(获取)
+/**
+ * 任务(获取)
+ * @param data
+ * @returns {Promise<axios.AxiosResponse<any>>}
+ */
 export const getTask = (data) => {
 export const getTask = (data) => {
   return service.request({
   return service.request({
     method: "POST",
     method: "POST",
@@ -9,7 +13,11 @@ export const getTask = (data) => {
   });
   });
 };
 };
 
 
-// 任务(列表)
+/**
+ * 任务(列表)
+ * @param data
+ * @returns {Promise<axios.AxiosResponse<any>>}
+ */
 export const getTaskList = (data) => {
 export const getTaskList = (data) => {
   return service.request({
   return service.request({
     method: "POST",
     method: "POST",
@@ -18,7 +26,11 @@ export const getTaskList = (data) => {
   });
   });
 };
 };
 
 
-// 任务(编辑)
+/**
+ * 任务(编辑)
+ * @param data
+ * @returns {Promise<axios.AxiosResponse<any>>}
+ */
 export const editTask = (data) => {
 export const editTask = (data) => {
   return service.request({
   return service.request({
     method: "POST",
     method: "POST",

+ 10 - 2
src/api/modules/VerifyTemplateMapData.js

@@ -1,6 +1,10 @@
 import service from "@/utils/axios";
 import service from "@/utils/axios";
 
 
-// 验证模板-模板标签数据(列表)
+/**
+ * 验证模板-模板标签数据(列表)
+ * @param data
+ * @returns {Promise<axios.AxiosResponse<any>>}
+ */
 export const getVerifyTemplateMapDataList = (data) => {
 export const getVerifyTemplateMapDataList = (data) => {
   return service.request({
   return service.request({
     method: "POST",
     method: "POST",
@@ -9,7 +13,11 @@ export const getVerifyTemplateMapDataList = (data) => {
   });
   });
 };
 };
 
 
-// 验证模板-模板标签数据(添加或更新)
+/**
+ * 验证模板-模板标签数据(添加或更新)
+ * @param data
+ * @returns {Promise<axios.AxiosResponse<any>>}
+ */
 export const putVerifyTemplateMapData = (data) => {
 export const putVerifyTemplateMapData = (data) => {
   return service.request({
   return service.request({
     method: "POST",
     method: "POST",

+ 45 - 26
src/views/data/edit/TemplateForm.vue

@@ -1,7 +1,10 @@
 <template>
 <template>
   <n-scrollbar x-scrollable class="pb-3">
   <n-scrollbar x-scrollable class="pb-3">
     <div class="flex items-center gap-x-3 w-[2000px]">
     <div class="flex items-center gap-x-3 w-[2000px]">
-      <template v-for="item of templateList" :key="item.T_VerifyTemplateMap_id">
+      <template
+        v-for="(item, i) of templateList"
+        :key="item.T_VerifyTemplateMap_id"
+      >
         <n-form-item
         <n-form-item
           label-width="auto"
           label-width="auto"
           label-placement="left"
           label-placement="left"
@@ -38,6 +41,8 @@
           v-else-if="item.T_label === 103"
           v-else-if="item.T_label === 103"
         >
         >
           <n-select
           <n-select
+            label-field="T_sn"
+            value-field="T_sn"
             v-model:value="item.T_value"
             v-model:value="item.T_value"
             :options="classList"
             :options="classList"
             style="width: 300px"
             style="width: 300px"
@@ -50,22 +55,26 @@
           :label="item.T_text"
           :label="item.T_text"
           v-else-if="item.T_label === 104"
           v-else-if="item.T_label === 104"
         >
         >
-          <n-popselect
-            scrollable
+          <n-select
+            v-model:value="item.T_value"
             multiple
             multiple
+            label-field="T_sn"
+            value-field="T_sn"
+            max-tag-count="responsive"
             :options="classList"
             :options="classList"
-            v-model:value="item.T_value"
+            style="width: 300px"
           >
           >
-            <div class="overflow-x-auto">
-              <n-button>
-                {{
-                  Array.isArray(item.T_value) && item.T_value.length
-                    ? item.T_value.join(" | ")
-                    : "选择"
-                }}
-              </n-button>
-            </div>
-          </n-popselect>
+            <template #action>
+              <n-space>
+                <n-button class="underline" text @click="handleSelectAll(i)"
+                  >全选</n-button
+                >
+                <n-button class="underline" text @click="handleSelectReverse(i)"
+                  >反选</n-button
+                >
+              </n-space>
+            </template>
+          </n-select>
         </n-form-item>
         </n-form-item>
       </template>
       </template>
       <n-button type="primary" @click="showCreateDialog">生成报告</n-button>
       <n-button type="primary" @click="showCreateDialog">生成报告</n-button>
@@ -93,14 +102,6 @@ const props = defineProps({
 });
 });
 
 
 //
 //
-const classList = computed(() => {
-  return props.classList.map((item) => ({
-    label: item.T_sn,
-    value: item.T_sn,
-  }));
-});
-
-//
 const templateList = ref([]);
 const templateList = ref([]);
 
 
 //
 //
@@ -110,12 +111,30 @@ const queryData = reactive({
   T_VerifyTemplate_id: props.task.T_VerifyTemplate_id,
   T_VerifyTemplate_id: props.task.T_VerifyTemplate_id,
 });
 });
 
 
-//
-let templateData = [];
+/**
+ * 全选
+ * @param i
+ */
+const handleSelectAll = (i) => {
+  if (templateList.value[i].T_value.length !== 0) {
+    return (templateList.value[i].T_value = []);
+  }
+  templateList.value[i].T_value = props.classList.map((item) => item.T_sn);
+};
+
+/**
+ * 反选
+ * @param i
+ */
+const handleSelectReverse = (i) => {
+  const arr = props.classList.map((item) => item.T_sn);
+  templateList.value[i].T_value = arr.filter(
+    (item) => !templateList.value[i].T_value.includes(item)
+  );
+};
 
 
 //
 //
 const showCreateDialog = async () => {
 const showCreateDialog = async () => {
-  templateData = toRaw(templateList.value);
   dialog.info({
   dialog.info({
     title: "提示",
     title: "提示",
     content: "确认生成报告?",
     content: "确认生成报告?",
@@ -130,7 +149,7 @@ const showCreateDialog = async () => {
 // 模板标签数据添加或更新
 // 模板标签数据添加或更新
 const putTemplateData = async () => {
 const putTemplateData = async () => {
   try {
   try {
-    const VerifyTemplateMapData = templateData.map((item) => {
+    const VerifyTemplateMapData = templateList.value.map((item) => {
       if (item.T_label === 102 || item.T_label === 104) {
       if (item.T_label === 102 || item.T_label === 104) {
         return {
         return {
           T_VerifyTemplateMap_id: item.T_VerifyTemplateMap_id,
           T_VerifyTemplateMap_id: item.T_VerifyTemplateMap_id,

+ 53 - 69
src/views/report/create/index.vue

@@ -43,22 +43,14 @@
           </n-popover>
           </n-popover>
         </n-form-item>
         </n-form-item>
         <n-form-item :label="item.T_name" v-else-if="item.T_label === 3">
         <n-form-item :label="item.T_name" v-else-if="item.T_label === 3">
-          <n-popselect
-            placement="top"
+          <n-select
+            v-model:value="item.T_value"
             multiple
             multiple
-            scrollable
+            label-field="T_sn"
+            value-field="T_sn"
+            max-tag-count="responsive"
             :options="classList"
             :options="classList"
-            v-model:value="item.T_value"
           >
           >
-            <div class="overflow-x-auto">
-              <n-button>
-                {{
-                  Array.isArray(item.T_value) && item.T_value.length
-                    ? item.T_value.join(" | ")
-                    : "选择"
-                }}
-              </n-button>
-            </div>
             <template #action>
             <template #action>
               <n-space>
               <n-space>
                 <n-button class="underline" text @click="handleSelectAll(i)"
                 <n-button class="underline" text @click="handleSelectAll(i)"
@@ -69,7 +61,7 @@
                 >
                 >
               </n-space>
               </n-space>
             </template>
             </template>
-          </n-popselect>
+          </n-select>
           <n-popover trigger="hover">
           <n-popover trigger="hover">
             <template #trigger>
             <template #trigger>
               <n-icon size="24" class="ml-3">
               <n-icon size="24" class="ml-3">
@@ -80,7 +72,12 @@
           </n-popover>
           </n-popover>
         </n-form-item>
         </n-form-item>
         <n-form-item :label="item.T_name" v-else-if="item.T_label === 4">
         <n-form-item :label="item.T_name" v-else-if="item.T_label === 4">
-          <n-select v-model:value="item.T_value" :options="classList" />
+          <n-select
+            label-field="T_sn"
+            value-field="T_sn"
+            v-model:value="item.T_value"
+            :options="classList"
+          />
           <n-popover trigger="hover">
           <n-popover trigger="hover">
             <template #trigger>
             <template #trigger>
               <n-icon size="24" class="ml-3">
               <n-icon size="24" class="ml-3">
@@ -126,13 +123,13 @@
           </n-popover>
           </n-popover>
         </n-form-item>
         </n-form-item>
         <n-form-item :label="item.T_name" v-else-if="item.T_label === 10">
         <n-form-item :label="item.T_name" v-else-if="item.T_label === 10">
+          <n-image class="mr-5" width="100" :src="item.T_value" />
           <n-upload
           <n-upload
-            v-model:file-list="item.T_value"
+            @change="(options) => handleChangeByIndex(options, i)"
             :default-upload="false"
             :default-upload="false"
-            list-type="image-card"
             :max="1"
             :max="1"
           >
           >
-            点击上传
+            <n-button>{{ item.T_value ? "重新上传" : "点击上传" }}</n-button>
           </n-upload>
           </n-upload>
           <n-popover trigger="hover">
           <n-popover trigger="hover">
             <template #trigger>
             <template #trigger>
@@ -144,13 +141,13 @@
           </n-popover>
           </n-popover>
         </n-form-item>
         </n-form-item>
         <n-form-item :label="item.T_name" v-else-if="item.T_label === 11">
         <n-form-item :label="item.T_name" v-else-if="item.T_label === 11">
+          <n-image class="mr-5" width="100" :src="item.T_value" />
           <n-upload
           <n-upload
-            v-model:file-list="item.T_value"
+            @change="(options) => handleChangeByIndex(options, i)"
             :default-upload="false"
             :default-upload="false"
-            list-type="image-card"
             :max="1"
             :max="1"
           >
           >
-            点击上传
+            <n-button>{{ item.T_value ? "重新上传" : "点击上传" }}</n-button>
           </n-upload>
           </n-upload>
           <n-popover trigger="hover">
           <n-popover trigger="hover">
             <template #trigger>
             <template #trigger>
@@ -204,7 +201,7 @@ const pdf2 = ref("");
 
 
 // 查询数据
 // 查询数据
 const queryData = reactive({
 const queryData = reactive({
-  T_source: 1,
+  T_source: 2,
   T_task_id: task.T_task_id,
   T_task_id: task.T_task_id,
   T_VerifyTemplate_id: task.T_VerifyTemplate_id,
   T_VerifyTemplate_id: task.T_VerifyTemplate_id,
 });
 });
@@ -220,6 +217,31 @@ const modal = reactive({
   showModal: false,
   showModal: false,
 });
 });
 
 
+const handleChangeByIndex = async ({ file }, i) => {
+  const token = await getFileToken(file.name.split(".")[1]);
+  const observable = qiniu.upload(
+    file.file,
+    file.name,
+    token,
+    {},
+    {
+      useCdnDomain: true,
+    }
+  );
+  observable.subscribe({
+    next: (result) => {
+      // 主要用来展示进度
+      console.warn(result);
+    },
+    error: () => {
+      message.error("上传失败");
+    },
+    complete: (res) => {
+      templateList.value[i].T_value = res.key;
+    },
+  });
+};
+
 //
 //
 const handleChange = async ({ file }) => {
 const handleChange = async ({ file }) => {
   const token = await getFileToken(file.name.split("/")[1]);
   const token = await getFileToken(file.name.split("/")[1]);
@@ -248,12 +270,15 @@ const handleChange = async ({ file }) => {
 
 
 // 全选
 // 全选
 const handleSelectAll = (i) => {
 const handleSelectAll = (i) => {
-  templateList.value[i].T_value = classList.value.map((item) => item.value);
+  if (templateList.value[i].T_value.length !== 0) {
+    return (templateList.value[i].T_value = []);
+  }
+  templateList.value[i].T_value = classList.value.map((item) => item.T_sn);
 };
 };
 
 
 // 反选
 // 反选
 const handleSelectReverse = (i) => {
 const handleSelectReverse = (i) => {
-  const arr = classList.value.map((item) => item.value);
+  const arr = classList.value.map((item) => item.T_sn);
   templateList.value[i].T_value = arr.filter(
   templateList.value[i].T_value = arr.filter(
     (item) => !templateList.value[i].T_value.includes(item)
     (item) => !templateList.value[i].T_value.includes(item)
   );
   );
@@ -281,43 +306,7 @@ const editTaskInfo = async () => {
 };
 };
 
 
 //
 //
-let templateData = ref([]);
-//
 const showCreateDialog = async () => {
 const showCreateDialog = async () => {
-  templateData = toRaw(templateList.value);
-  templateData = templateData.filter((item) => item.T_label !== 5);
-  for (const item of templateData) {
-    if (item.T_label === 10 || item.T_label === 11) {
-      if (item.T_value[0].type) {
-        const token = await getFileToken(item.T_value[0].type.split("/")[1]);
-        const observable = qiniu.upload(
-          item.T_value[0].file,
-          item.T_value[0].name,
-          token,
-          {},
-          {
-            useCdnDomain: true,
-          }
-        );
-        observable.subscribe({
-          next: (result) => {
-            // 主要用来展示进度
-            console.warn(result);
-          },
-          error: () => {
-            message.error("上传失败");
-          },
-          complete: (res) => {
-            item.T_value = res.key;
-          },
-        });
-      } else {
-        item.T_value = Array.isArray(item.T_value)
-          ? item.T_value[0].url
-          : item.T_value;
-      }
-    }
-  }
   dialog.info({
   dialog.info({
     title: "提示",
     title: "提示",
     content: "确认生成报告?",
     content: "确认生成报告?",
@@ -332,7 +321,8 @@ const showCreateDialog = async () => {
 //
 //
 const putTemplateData = async () => {
 const putTemplateData = async () => {
   try {
   try {
-    const VerifyTemplateMapData = templateData.map((item) => {
+    const arr = templateList.value.filter((item) => item.T_label !== 5);
+    const VerifyTemplateMapData = arr.map((item) => {
       if (item.T_label === 3 || item.T_label === 9) {
       if (item.T_label === 3 || item.T_label === 9) {
         return {
         return {
           T_VerifyTemplateMap_id: item.T_VerifyTemplateMap_id,
           T_VerifyTemplateMap_id: item.T_VerifyTemplateMap_id,
@@ -365,9 +355,7 @@ const getClassList = async () => {
     const { data: res } = await getTaskDataClassList({
     const { data: res } = await getTaskDataClassList({
       T_task_id: queryData.T_task_id,
       T_task_id: queryData.T_task_id,
     });
     });
-    classList.value = res.Data
-      ? res.Data.map((item) => ({ label: item.T_sn, value: item.T_sn }))
-      : [];
+    classList.value = res.Data || [];
   } catch (e) {
   } catch (e) {
     console.log(e);
     console.log(e);
   }
   }
@@ -379,11 +367,7 @@ const getTemplateList = async () => {
     const { data: res } = await getVerifyTemplateMapDataList(queryData);
     const { data: res } = await getVerifyTemplateMapDataList(queryData);
     templateList.value = res.Data;
     templateList.value = res.Data;
     templateList.value.forEach((item) => {
     templateList.value.forEach((item) => {
-      if (item.T_label === 10 || item.T_label === 11) {
-        item.T_value = item.T_value
-          ? [{ url: item.T_value, status: "finished" }]
-          : [];
-      } else if (item.T_label === 7) {
+      if (item.T_label === 7) {
         item.T_value = item.T_value ? item.T_value : null;
         item.T_value = item.T_value ? item.T_value : null;
       } else if (item.T_label === 9) {
       } else if (item.T_label === 9) {
         item.T_value = item.T_value ? item.T_value.split("|") : null;
         item.T_value = item.T_value ? item.T_value.split("|") : null;

+ 98 - 81
src/views/scheme/index.vue

@@ -43,22 +43,14 @@
           </n-popover>
           </n-popover>
         </n-form-item>
         </n-form-item>
         <n-form-item :label="item.T_name" v-else-if="item.T_label === 3">
         <n-form-item :label="item.T_name" v-else-if="item.T_label === 3">
-          <n-popselect
-            placement="top"
+          <n-select
+            v-model:value="item.T_value"
             multiple
             multiple
-            scrollable
+            label-field="T_sn"
+            value-field="T_sn"
+            max-tag-count="responsive"
             :options="classList"
             :options="classList"
-            v-model:value="item.T_value"
           >
           >
-            <div class="overflow-x-auto">
-              <n-button>
-                {{
-                  Array.isArray(item.T_value) && item.T_value.length
-                    ? item.T_value.join(" | ")
-                    : "选择"
-                }}
-              </n-button>
-            </div>
             <template #action>
             <template #action>
               <n-space>
               <n-space>
                 <n-button class="underline" text @click="handleSelectAll(i)"
                 <n-button class="underline" text @click="handleSelectAll(i)"
@@ -69,7 +61,7 @@
                 >
                 >
               </n-space>
               </n-space>
             </template>
             </template>
-          </n-popselect>
+          </n-select>
           <n-popover trigger="hover">
           <n-popover trigger="hover">
             <template #trigger>
             <template #trigger>
               <n-icon size="24" class="ml-3">
               <n-icon size="24" class="ml-3">
@@ -80,7 +72,12 @@
           </n-popover>
           </n-popover>
         </n-form-item>
         </n-form-item>
         <n-form-item :label="item.T_name" v-else-if="item.T_label === 4">
         <n-form-item :label="item.T_name" v-else-if="item.T_label === 4">
-          <n-select v-model:value="item.T_value" :options="classList" />
+          <n-select
+            label-field="T_sn"
+            value-field="T_sn"
+            v-model:value="item.T_value"
+            :options="classList"
+          />
           <n-popover trigger="hover">
           <n-popover trigger="hover">
             <template #trigger>
             <template #trigger>
               <n-icon size="24" class="ml-3">
               <n-icon size="24" class="ml-3">
@@ -126,13 +123,13 @@
           </n-popover>
           </n-popover>
         </n-form-item>
         </n-form-item>
         <n-form-item :label="item.T_name" v-else-if="item.T_label === 10">
         <n-form-item :label="item.T_name" v-else-if="item.T_label === 10">
+          <n-image class="mr-5" width="100" :src="item.T_value" />
           <n-upload
           <n-upload
-            v-model:file-list="item.T_value"
+            @change="(options) => handleChangeByIndex(options, i)"
             :default-upload="false"
             :default-upload="false"
-            list-type="image-card"
             :max="1"
             :max="1"
           >
           >
-            点击上传
+            <n-button>{{ item.T_value ? "重新上传" : "点击上传" }}</n-button>
           </n-upload>
           </n-upload>
           <n-popover trigger="hover">
           <n-popover trigger="hover">
             <template #trigger>
             <template #trigger>
@@ -144,13 +141,13 @@
           </n-popover>
           </n-popover>
         </n-form-item>
         </n-form-item>
         <n-form-item :label="item.T_name" v-else-if="item.T_label === 11">
         <n-form-item :label="item.T_name" v-else-if="item.T_label === 11">
+          <n-image class="mr-5" width="100" :src="item.T_value" />
           <n-upload
           <n-upload
-            v-model:file-list="item.T_value"
+            @change="(options) => handleChangeByIndex(options, i)"
             :default-upload="false"
             :default-upload="false"
-            list-type="image-card"
             :max="1"
             :max="1"
           >
           >
-            点击上传
+            <n-button>{{ item.T_value ? "重新上传" : "点击上传" }}</n-button>
           </n-upload>
           </n-upload>
           <n-popover trigger="hover">
           <n-popover trigger="hover">
             <template #trigger>
             <template #trigger>
@@ -221,9 +218,38 @@ const modal = reactive({
   showModal: false,
   showModal: false,
 });
 });
 
 
-//
+const handleChangeByIndex = async ({ file }, i) => {
+  const token = await getFileToken(file.name.split(".")[1]);
+  const observable = qiniu.upload(
+    file.file,
+    file.name,
+    token,
+    {},
+    {
+      useCdnDomain: true,
+    }
+  );
+  observable.subscribe({
+    next: (result) => {
+      // 主要用来展示进度
+      console.warn(result);
+    },
+    error: () => {
+      message.error("上传失败");
+    },
+    complete: (res) => {
+      templateList.value[i].T_value = res.key;
+    },
+  });
+};
+
+/**
+ * 上传文件
+ * @param file
+ * @returns {Promise<void>}
+ */
 const handleChange = async ({ file }) => {
 const handleChange = async ({ file }) => {
-  const token = await getFileToken(file.name.split("/")[1]);
+  const token = await getFileToken(file.name.split(".")[1]);
   const observable = qiniu.upload(
   const observable = qiniu.upload(
     file.file,
     file.file,
     file.name,
     file.name,
@@ -247,20 +273,31 @@ const handleChange = async ({ file }) => {
   });
   });
 };
 };
 
 
-// 全选
+/**
+ * 全选
+ * @param i
+ */
 const handleSelectAll = (i) => {
 const handleSelectAll = (i) => {
-  templateList.value[i].T_value = classList.value.map((item) => item.value);
+  if (templateList.value[i].T_value.length !== 0) {
+    return (templateList.value[i].T_value = []);
+  }
+  templateList.value[i].T_value = classList.value.map((item) => item.T_sn);
 };
 };
 
 
-// 反选
+/**
+ * 反选
+ * @param i
+ */
 const handleSelectReverse = (i) => {
 const handleSelectReverse = (i) => {
-  const arr = classList.value.map((item) => item.value);
+  const arr = classList.value.map((item) => item.T_sn);
   templateList.value[i].T_value = arr.filter(
   templateList.value[i].T_value = arr.filter(
     (item) => !templateList.value[i].T_value.includes(item)
     (item) => !templateList.value[i].T_value.includes(item)
   );
   );
 };
 };
 
 
-//
+/**
+ * 显示上传验证
+ */
 const showUploadModal = () => {
 const showUploadModal = () => {
   modal.title = "上传验证";
   modal.title = "上传验证";
   modal.showModal = true;
   modal.showModal = true;
@@ -281,45 +318,11 @@ const editTaskInfo = async () => {
   }
   }
 };
 };
 
 
-//
-let templateData = ref([]);
-
-//
-const showCreateDialog = async () => {
-  templateData = toRaw(templateList.value);
-  templateData = templateData.filter((item) => item.T_label !== 5);
-  for (const item of templateData) {
-    if (item.T_label === 10 || item.T_label === 11) {
-      if (item.T_value[0].type) {
-        const token = await getFileToken(item.T_value[0].type.split("/")[1]);
-        const observable = qiniu.upload(
-          item.T_value[0].file,
-          item.T_value[0].name,
-          token,
-          {},
-          {
-            useCdnDomain: true,
-          }
-        );
-        observable.subscribe({
-          next: (result) => {
-            // 主要用来展示进度
-            console.warn(result);
-          },
-          error: () => {
-            message.error("上传失败");
-          },
-          complete: (res) => {
-            item.T_value = res.key;
-          },
-        });
-      } else {
-        item.T_value = Array.isArray(item.T_value)
-          ? item.T_value[0].url
-          : item.T_value;
-      }
-    }
-  }
+/**
+ * 显示生成报告
+ * @returns {Promise<void>}
+ */
+const showCreateDialog = () => {
   dialog.info({
   dialog.info({
     title: "提示",
     title: "提示",
     content: "确认生成报告?",
     content: "确认生成报告?",
@@ -332,26 +335,38 @@ const showCreateDialog = async () => {
 };
 };
 
 
 /**
 /**
- *
+ * 生成报告
  * @param T_VerifyTemplateMap_id
  * @param T_VerifyTemplateMap_id
  * @returns {Promise<void>}
  * @returns {Promise<void>}
  */
  */
-const generateSchemeReport = async (T_VerifyTemplateMap_id) => {
+const generateReport = async (T_VerifyTemplateMap_id) => {
   const { data: res } = await generateScheme({
   const { data: res } = await generateScheme({
     T_task_id: task.T_task_id,
     T_task_id: task.T_task_id,
     T_VerifyTemplate_id: task.T_VerifyTemplate_id,
     T_VerifyTemplate_id: task.T_VerifyTemplate_id,
     T_VerifyTemplateMap_id,
     T_VerifyTemplateMap_id,
   });
   });
   console.log(res);
   console.log(res);
+  if (res.Code === 200) {
+    message.success(res.Msg);
+  }
 };
 };
 
 
+// const generateReportKey = async () => {
+//   const { data: res } = await generateKey({});
+//   console.log(res);
+//   if (res.Code === 200) {
+//     message.success(res.Msg);
+//   }
+// };
+
 /**
 /**
  *
  *
  * @returns {Promise<void>}
  * @returns {Promise<void>}
  */
  */
 const putTemplateData = async () => {
 const putTemplateData = async () => {
   try {
   try {
-    const VerifyTemplateMapData = templateData.map((item) => {
+    const arr = templateList.value.filter((item) => item.T_label !== 5);
+    const VerifyTemplateMapData = arr.map((item) => {
       if (item.T_label === 3 || item.T_label === 9) {
       if (item.T_label === 3 || item.T_label === 9) {
         return {
         return {
           T_VerifyTemplateMap_id: item.T_VerifyTemplateMap_id,
           T_VerifyTemplateMap_id: item.T_VerifyTemplateMap_id,
@@ -374,38 +389,40 @@ const putTemplateData = async () => {
     });
     });
     if (res.Code === 200) {
     if (res.Code === 200) {
       message.success(res.Msg);
       message.success(res.Msg);
-      generateSchemeReport();
+      templateList.value.forEach((item) => {
+        generateReport(item.T_VerifyTemplateMap_id);
+      });
     }
     }
   } catch (e) {
   } catch (e) {
     console.log(e);
     console.log(e);
   }
   }
 };
 };
 
 
-// 获取设备列表
+/**
+ * 获取设备列表
+ * @returns {Promise<void>}
+ */
 const getClassList = async () => {
 const getClassList = async () => {
   try {
   try {
     const { data: res } = await getTaskDataClassList({
     const { data: res } = await getTaskDataClassList({
       T_task_id: queryData.T_task_id,
       T_task_id: queryData.T_task_id,
     });
     });
-    classList.value = res.Data
-      ? res.Data.map((item) => ({ label: item.T_sn, value: item.T_sn }))
-      : [];
+    classList.value = res.Data || [];
   } catch (e) {
   } catch (e) {
     console.log(e);
     console.log(e);
   }
   }
 };
 };
 
 
-// 模板标签数据(列表)
+/**
+ * 模板标签数据(列表)
+ * @returns {Promise<void>}
+ */
 const getTemplateList = async () => {
 const getTemplateList = async () => {
   try {
   try {
     const { data: res } = await getVerifyTemplateMapDataList(queryData);
     const { data: res } = await getVerifyTemplateMapDataList(queryData);
     templateList.value = res.Data;
     templateList.value = res.Data;
     templateList.value.forEach((item) => {
     templateList.value.forEach((item) => {
-      if (item.T_label === 10 || item.T_label === 11) {
-        item.T_value = item.T_value
-          ? [{ url: item.T_value, status: "finished" }]
-          : [];
-      } else if (item.T_label === 7) {
+      if (item.T_label === 7) {
         item.T_value = item.T_value ? item.T_value : null;
         item.T_value = item.T_value ? item.T_value : null;
       } else if (item.T_label === 9) {
       } else if (item.T_label === 9) {
         item.T_value = item.T_value ? item.T_value.split("|") : null;
         item.T_value = item.T_value ? item.T_value.split("|") : null;