From 23a2fff92f73b9759849a8016601a6817d7470b1 Mon Sep 17 00:00:00 2001
From: zhangwei <1504152376@qq.com>
Date: 星期一, 25 八月 2025 17:30:30 +0800
Subject: [PATCH] -

---
 src/views/system/dept/detail.vue |  241 +++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 196 insertions(+), 45 deletions(-)

diff --git a/src/views/system/dept/detail.vue b/src/views/system/dept/detail.vue
index b3b7c3c..2cb6698 100644
--- a/src/views/system/dept/detail.vue
+++ b/src/views/system/dept/detail.vue
@@ -1,45 +1,48 @@
-<script setup lang="ts">
-import { ref, reactive, onMounted, computed, PropType } from "vue";
+<script setup lang="tsx">
+import { ref, reactive, onMounted, computed, PropType, h } from "vue";
 import { useRenderIcon } from "@/components/ReIcon/src/hooks";
 import { useDept } from "./utils/hook";
-import { FormItemProps } from "./utils/types";
-
+import { useDetail } from "./utils/detail";
+import { getTenderOrderDetail } from "@/api/item/index";
+const isLoading = ref(false);
+import { addDialog } from "@/components/ReDialog";
+import pdfPreview from "@/views/system/component/pdfPreview.vue";
+import { deviceDetection } from "@pureadmin/utils";
 interface Emits {
   (e: "backListPage"): void;
 }
 const emit = defineEmits<Emits>();
 const props = defineProps({
-  nowInfo: Object as PropType<FormItemProps>
+  nowID: null
 });
-import Delete from "~icons/ep/delete";
 import EditPen from "~icons/ep/edit-pen";
 import IconParkSolidBack from "~icons/icon-park-solid/back";
 
-const {
-  state,
-  loading,
-  selectedNum,
-  dataList,
-  onSearch,
-  resetForm,
-  openDialog,
-  handleDelete,
-  handleSelectionChange,
-  handleSizeChange,
-  handleCurrentChange,
-  pagination,
-  checkboxAsRadio,
-  onSelectionCancel,
-  onbatchDel
-} = useDept(ref({}));
+const { openDialog } = useDept(ref({}));
+const { openUploadDialog, state, changeDialog } = useDetail();
 defineOptions({
   name: "itemdetail"
 });
-onMounted(() => {
-  console.log(props.nowInfo);
+onMounted(async () => {
+  let res = await getTenderOrderDetail({ id: props.nowID });
+  state.nowInfo = res.result;
 });
 const backListPage = () => {
   emit("backListPage");
+};
+const previewPdf = pdfUrl => {
+  addDialog({
+    title: `棰勮pdf`,
+    props: {},
+    width: "60%",
+    draggable: true,
+    fullscreen: deviceDetection(),
+    fullscreenIcon: true,
+    sureBtnLoading: true,
+    closeOnClickModal: false,
+    contentRenderer: () => h(pdfPreview, { pdfSrc: pdfUrl })
+    // jsx 璇硶 锛堟敞鎰忓湪.vue鏂囦欢鍚敤jsx璇硶锛岄渶瑕佸湪script寮�鍚痩ang="tsx"锛�
+  });
 };
 </script>
 
@@ -48,21 +51,14 @@
     <el-card>
       <template v-slot:header>
         <div class="flex justify-between">
-          <div>{{ nowInfo.projectName }}</div>
+          <div>{{ state.nowInfo.projectName }}</div>
           <div>
             <el-button
               class="reset-margin"
               link
               type="primary"
               :icon="useRenderIcon(EditPen)"
-              @click="openDialog('淇敼', nowInfo)"
-            />
-            <el-button
-              class="reset-margin"
-              link
-              type="primary"
-              :icon="useRenderIcon(Delete)"
-              @click="openDialog('淇敼', nowInfo)"
+              @click="openDialog('淇敼', state.nowInfo)"
             />
             <el-button
               class="reset-margin"
@@ -75,27 +71,182 @@
         </div>
       </template>
       <div>
-        <el-descriptions class="margin-top" :column="3" :size="size" border>
+        <el-descriptions
+          class="margin-top"
+          :column="3"
+          border
+          label-width="120"
+        >
           <el-descriptions-item label="椤圭洰缂栧彿">
-            {{ nowInfo.projectCode }}
+            {{ state.nowInfo.projectCode }}
           </el-descriptions-item>
-          <el-descriptions-item label="琛屼笟鍝佺洰"
-            >18100000000</el-descriptions-item
-          >
+          <el-descriptions-item label="琛屼笟鍝佺洰">
+            {{ state.nowInfo.hangyepinmuName }}
+          </el-descriptions-item>
           <el-descriptions-item label="閲囪喘鏂瑰紡">
-            {{ nowInfo.caigoufangshiName }}
+            {{ state.nowInfo.caigoufangshiName }}
           </el-descriptions-item>
           <el-descriptions-item label="鑱斿悎浣撴姇鏍�">
-            {{ nowInfo.lianhetitoubiao }}
+            {{ state.nowInfo.lianhetitoubiao }}
           </el-descriptions-item>
-          <el-descriptions-item label="Remarks">
-            <el-tag size="small">School</el-tag>
+          <el-descriptions-item label="寮�鏍囨柟寮�">
+            {{ state.nowInfo.kaibiaofangshi }}
           </el-descriptions-item>
-          <el-descriptions-item label="Address" />
         </el-descriptions>
       </div>
     </el-card>
+    <div class="mt-4.5">
+      <el-card>
+        <el-tabs
+          tab-position="left"
+          style="height: calc(100vh - 380px)"
+          class="demo-tabs"
+          type="border-card"
+        >
+          <el-tab-pane label="鍏憡鏂囦欢涓婁紶">
+            <h4>鍏憡鏂囦欢涓婁紶</h4>
+            <el-divider />
+            <el-scrollbar height="calc(100vh - 430px)">
+              <div>
+                <el-form label-width="auto" style="max-width: 1000px">
+                  <el-form-item label="椤圭洰淇℃伅锛�">
+                    <span class="mr-4">
+                      鎶曟爣鎶ュ悕寮�濮嬫椂闂达細{{
+                        state.nowInfo.toubiaoStartDate ?? "鏆傛棤"
+                      }}
+                    </span>
+                    <span class="mr-4">
+                      鎶曟爣鎶ュ悕鎴鏃堕棿锛�
+                      {{ state.nowInfo.toubiaoEndDate ?? "鏆傛棤" }}
+                    </span>
+                    <span class="mr-4">
+                      寮�鏍囨椂闂达細{{ state.nowInfo.kaibiaoDate ?? "鏆傛棤" }}
+                    </span>
+                  </el-form-item>
+                  <el-form-item label="涓婁紶鍏憡锛�">
+                    <el-button
+                      :disabled="!!state.nowInfo.zhaobiaowenjian"
+                      type="primary"
+                      plain
+                      size="small"
+                      @click="openUploadDialog('涓婁紶', state.nowInfo)"
+                    >
+                      涓婁紶鍏憡
+                    </el-button>
+                    <el-button
+                      v-if="state.nowInfo.zhaobiaowenjian"
+                      type="primary"
+                      plain
+                      size="small"
+                      @click="openUploadDialog('涓婁紶鍙樻洿', state.nowInfo)"
+                    >
+                      涓婁紶鍙樻洿鍏憡
+                    </el-button>
+                  </el-form-item>
+                  <el-form-item v-if="state.nowInfo.zhaobiaowenjian" label=" ">
+                    <div class="border-1 w-[100%] rounded-md p-3">
+                      <p>{{ state.nowInfo.projectName }}</p>
+                      <p>涓婁紶鏃堕棿锛�2025-8-12 13:41:00</p>
+                      <el-button
+                        type="primary"
+                        plain
+                        size="small"
+                        @click="previewPdf(state.nowInfo.zhaobiaowenjian)"
+                      >
+                        鐐瑰嚮棰勮
+                      </el-button>
+                      <el-button
+                        v-if="state.nowInfo?.changeOrder"
+                        type="primary"
+                        plain
+                        size="small"
+                        @click="
+                          previewPdf(state.nowInfo.changeOrder.biangengwenjian)
+                        "
+                      >
+                        鐐瑰嚮棰勮鍙樻洿鍏憡
+                      </el-button>
+                      <el-button
+                        type="primary"
+                        plain
+                        size="small"
+                        @click="changeDialog('涓婁紶鍙樻洿', state.nowInfo)"
+                      >
+                        淇敼鏍囬
+                      </el-button>
+                    </div>
+                  </el-form-item>
+                  <!-- <el-form-item label="纾嬪晢鏂囦欢锛�">
+                    <el-button type="primary" plain size="small">
+                      涓婁紶纾嬪晢鏂囦欢
+                    </el-button>
+                  </el-form-item>
+                  <el-form-item label=" ">
+                    <div class="border-1 w-[100%] rounded-md p-3 pl-3">
+                      <p>纾嬪晢鏂囦欢鍚嶇О</p>
+                      <p>鍙戝竷鏃堕棿锛�2025-8-12 13:41:00</p>
+                      <el-button type="primary" plain size="small">
+                        鐐瑰嚮棰勮
+                      </el-button>
+                      <el-button type="primary" plain size="small">
+                        鐐瑰嚮涓嬭浇
+                      </el-button>
+                    </div>
+                  </el-form-item> -->
+                  <!-- <el-form-item label="婢勬竻涓庣瓟鐤戞枃浠讹細">
+                    <el-button type="primary" plain size="small">
+                      鏂囦欢绠$悊
+                    </el-button>
+                  </el-form-item> -->
+                </el-form>
+              </div>
+              <!-- <el-row :gutter="10" align="right">
+              <el-col :span="3">
+                <el-text size="large"> 椤圭洰淇℃伅锛� </el-text>
+              </el-col>
+              <el-col :span="20">
+                <el-button type="primary" plain>涓婁紶鍏憡</el-button>
+                <el-button type="primary" plain>涓婁紶鍙樻洿鍏憡</el-button>
+              </el-col>
+            </el-row>
+            <el-row :gutter="10" align="right">
+              <el-col :span="3">
+                <el-text size="large"> 鍏憡涓婁紶锛� </el-text>
+              </el-col>
+              <el-col :span="20">
+                <el-button type="primary" plain>涓婁紶鍏憡</el-button>
+                <el-button type="primary" plain>涓婁紶鍙樻洿鍏憡</el-button>
+              </el-col>
+            </el-row>
+            <el-row :gutter="10" align="right">
+              <el-col :span="3">
+                <el-text size="large"> 纾嬪晢鏂囦欢锛� </el-text>
+              </el-col>
+              <el-col :span="20">
+                <el-button type="primary" plain>涓婁紶纾嬪晢鏂囦欢</el-button>
+              </el-col>
+            </el-row>
+            <el-row :gutter="10" align="right">
+              <el-col :span="3">
+                <el-text size="large"> 婢勬竻涓庣瓟鐤戞枃浠讹細 </el-text>
+              </el-col>
+              <el-col :span="20">
+                <el-button type="primary" plain>鏂囦欢绠$悊</el-button>
+              </el-col>
+            </el-row> -->
+            </el-scrollbar>
+          </el-tab-pane>
+          <!-- <el-tab-pane label="寮�璇勬爣绠$悊">寮�璇勬爣绠$悊</el-tab-pane> -->
+          <el-tab-pane label="涓爣鍏ず">涓爣鍏ず</el-tab-pane>
+          <el-tab-pane label="椤圭洰瀹岀粨">椤圭洰瀹岀粨</el-tab-pane>
+        </el-tabs>
+      </el-card>
+    </div>
   </div>
 </template>
 
-<style lang="scss" scoped></style>
+<style lang="scss" scoped>
+.el-divider--horizontal {
+  margin: 11px 0;
+}
+</style>

--
Gitblit v1.9.1