From 58c0f11fe2f23a1be2dec768f9ac02107301a634 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期五, 19 九月 2025 17:30:36 +0800
Subject: [PATCH] 2025.9.19 数据产品(待完成)

---
 src/views/fysp/data-product/base-data-product/ProdSceneInfo.vue |  105 +++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 86 insertions(+), 19 deletions(-)

diff --git a/src/views/fysp/data-product/base-data-product/ProdSceneInfo.vue b/src/views/fysp/data-product/base-data-product/ProdSceneInfo.vue
index 7412ddf..1bc9117 100644
--- a/src/views/fysp/data-product/base-data-product/ProdSceneInfo.vue
+++ b/src/views/fysp/data-product/base-data-product/ProdSceneInfo.vue
@@ -1,31 +1,98 @@
 <template>
-  <BaseProdProcess :active="active">
-    <template #step1>
-      <ProdQueryOpt :loading="loading" @submit="onSearch"> </ProdQueryOpt>
+  <BaseProdProcess
+    v-model:active="active"
+    @onStep1="onStep1"
+    @onStep2="onStep2"
+    @onStep3="onStep3"
+    :loading="loading"
+  >
+    <template #step2="{ contentHeight }">
+      <el-table
+        id="prod-scene-table"
+        :data="tableData"
+        v-loading="loading"
+        :height="contentHeight + 'px'"
+        table-layout="fixed"
+        :show-overflow-tooltip="true"
+        size="small"
+        border
+      >
+        <el-table-column fixed="left" prop="index" label="缂栧彿" width="50">
+        </el-table-column>
+        <el-table-column
+          fixed="left"
+          prop="name"
+          label="鍚嶇О"
+          :show-overflow-tooltip="true"
+          min-width="200"
+        >
+        </el-table-column>
+        <el-table-column prop="type" label="绫诲瀷" width="50" />
+        <el-table-column prop="status" label="鐘舵��" width="60" />
+        <el-table-column prop="stage" label="闃舵" width="90" />
+        <!-- <el-table-column prop="provincename" label="鐪�" width="90" />
+        <el-table-column prop="cityname" label="甯�" width="90" />
+        <el-table-column prop="districtname" label="鍖哄幙" width="90" /> -->
+        <el-table-column prop="townname" label="琛楅亾" width="110" />
+        <el-table-column prop="location" label="鍦板潃" width="200" />
+        <el-table-column prop="contacts" label="鑱旂郴浜�" width="70" />
+        <el-table-column prop="contactst" label="鐢佃瘽" width="96" />
+        <!-- <el-table-column prop="longitude" label="缁忓害" width="110" />
+        <el-table-column prop="latitude" label="绾害" width="110" /> -->
+        <!-- <el-table-column
+          prop="updatedate"
+          label="鏇存柊鏃堕棿"
+          width="140"
+          :formatter="timeFormat"
+        /> -->
+      </el-table>
     </template>
-    <template #step2></template>
-    <template #step3></template>
   </BaseProdProcess>
 </template>
 <script setup>
-import { ref } from 'vue';
-import BaseProdProcess from '@/views/fysp/data-product/base-data-product/components/BaseProdProcess.vue';
-import ProdQueryOpt from '@/views/fysp/data-product/base-data-product/components/ProdQueryOpt.vue';
+import { ref, inject } from 'vue';
+import dayjs from 'dayjs';
+import BaseProdProcess from '@/views/fysp/data-product/components/BaseProdProcess.vue';
+import dataprodbaseApi from '@/api/fysp/dataprodbaseApi.js';
+import { conversionFromTable } from '@/utils/excel';
+import { useProdStepChange } from '@/views/fysp/data-product/prod-step-change.js';
 
-const active = ref(1);
-const loading = ref(false)
+const { active, changeActive } = useProdStepChange();
+const loading = ref(false);
+const tableData = ref([]);
 
-function changeActive() {
-  active.value++;
-  active.value = active.value > 3 ? 1 : active.value;
+function onStep1(opt) {
+  loading.value = true;
+  dataprodbaseApi
+    .fetchProdSceneInfo(opt)
+    .then((res) => {
+      if (res.success) {
+        tableData.value = res.data.map((item) => ({
+          status: item.status,
+          stage: item.stage,
+          ...item.scene
+        }));
+      }
+      changeActive();
+    })
+    .finally(() => {
+      loading.value = false;
+    });
 }
 
-function onSearch(opt) {
-  console.log(opt);
-  loading.value = true;
-  setTimeout(() => {
-    changeActive()
+function onStep2() {
+  changeActive();
+}
+
+function onStep3(val) {
+  if (val.downloadType == '1') {
+    loading.value = true;
+    conversionFromTable('prod-scene-table', '宸℃煡鍦烘櫙娓呭崟');
     loading.value = false;
-  }, 1000);
+  }
+}
+
+function timeFormat(row, column, cellValue, index) {
+  return dayjs(cellValue).format('YYYY-MM-DD HH:mm:ss');
 }
 </script>

--
Gitblit v1.9.3