zhuzeyu 11 月之前
父節點
當前提交
e524f9029d

+ 20 - 0
src/api/business/personalSeal.js

@@ -0,0 +1,20 @@
+import request from '@/utils/request'
+
+const baseUrl = import.meta.env.VITE_APP_BASE_API
+// 查询人员信息列表
+export function listPersonalSeal() {
+  return request({
+    url: baseUrl + '/business/personalSeal/listByid',
+    method: 'get',
+
+  })
+}
+
+
+export function listPublicSeal() {
+    return request({
+      url: baseUrl + '/business/publicSeal/list',
+      method: 'get',
+  
+    })
+  }

+ 1 - 1
src/router/index.js

@@ -204,7 +204,7 @@ export const dynamicRoutes = [
     children: [
       {
         // 假设您要传递的三个参数
-        path: 'drawingDetail/:productId/:productProcessId/:processDetailId',
+        path: 'drawingDetail/:productId/:productVersion/:processCode',
         component: () => import('@/views/business/drawing/drawingDetail'),
         name: 'drawingDetails',
         meta: {

+ 80 - 62
src/views/business/drawing/drawingDetail.vue

@@ -19,8 +19,8 @@
 
                 </el-form-item>
                 <el-form-item class="section-title" label="工艺版本:">
-                    <el-select-v2 v-model="currentTechnological.id" :options="technologicalProcessList" placeholder="请选择版本"
-                        @change="handelTechnological" style="width: 200px" />
+                    <el-select-v2 v-model="currentTechnological.productVersion" :options="technologicalProcessList"
+                        placeholder="请选择版本" @change="handelTechnological" style="width: 200px" />
                 </el-form-item>
                 <el-form-item class="section-title" label="当前工序:">
                     <el-select-v2 v-model="technologicalDetailId" clearable :options="technologicalProcessDetailsList"
@@ -44,7 +44,7 @@
                     <!-- 列表区 -->
                     <div class="el-table-container">
                         <el-table ref="equipmentTable" v-loading="loading" row-key="id"
-                            @current-change="handleSelectionChange" :data="drawingList" height="600px">
+                            @row-click="handleSelectionChange" :data="drawingList" height="600px">
                             <!-- <el-table-column type="selection" width="40" align="center" /> -->
                             <el-table-column type="index" label="行号" width="50" align="center" />
 
@@ -114,7 +114,7 @@
                     style="margin-right: 0px">
                     <el-form-item class="section-title" label="预览" />
                     <el-form-item style="float: inline-end;margin-top: 8px;">
-                        <el-button link type="primary" v-hasPermi="['business:product:remove']"
+                        <el-button :disabled="!drawingUrl" link type="primary" v-hasPermi="['business:product:remove']"
                             @click="openDrawing">全屏预览</el-button>
                     </el-form-item>
                 </el-form>
@@ -201,7 +201,8 @@ const drawingList = ref([])
 const headers = { Authorization: getToken() }
 const productId = ref(null)
 const technologicalprocessDetailId = ref(null)
-const technologicalprocessId = ref(null)
+const processCode = ref(null)
+const productVersion = ref(null)
 /** 查询对象 */
 const data = reactive({
     queryparams: {
@@ -238,10 +239,10 @@ function getList() {
 
 
     productId.value = route.params.productId
-    technologicalprocessId.value = route.params.productProcessId
-    if (route.params.processDetailId) {
-        console.log(route.params.processDetailId)
-        technologicalprocessDetailId.value = route.params.processDetailId
+    productVersion.value = route.params.productVersion
+    if (route.params.processCode) {
+        console.log(route.params.processCode)
+        processCode.value = route.params.processCode
     }
     //查询产品
     getById(productId.value).then(resMsg => {
@@ -255,15 +256,17 @@ function getList() {
         if (res.code == 200) {
             technologicalProcessList.value = res.data
             //版本下拉框默认值
-            currentTechnological.value.id = technologicalprocessId.value
-            if (technologicalprocessDetailId.value !== undefined && technologicalprocessDetailId.value !== null && technologicalprocessDetailId.value !== 'undefined') {
-                technologicalDetailId.value = technologicalprocessDetailId.value
-                currentTechnologicalDetail.value.id = technologicalprocessDetailId.value
-            }
+            currentTechnological.value.productVersion = productVersion.value
+
             //查询工艺工序
-            getTechnologicalProcessDetails({ technologicalProcessId: currentTechnological.value.id }).then(response => {
+            getTechnologicalProcessDetails({ technologyVersion: currentTechnological.value.productVersion, productId: productId.value }).then(response => {
                 if (response.code == 200) {
                     technologicalProcessDetailsList.value = response.data
+                    if (processCode.value !== undefined && processCode.value !== null && processCode.value !== 'undefined') {
+                        technologicalDetailId.value = response.data.find(detail => detail.code == processCode.value).value;
+                        currentTechnologicalDetail.value.id = response.data.find(detail => detail.code === processCode.value).value;
+                    }
+                    console.log(123123)
                     getDrawing()
                 }
             })
@@ -271,10 +274,10 @@ function getList() {
     })
 
 }
-function handleDetailsFormChange() {
-    console.log(form.value.technologicalProcessDetailId)
-    console.log(technologicalDetailId.value, 123123)
+function handleDetailsFormChange(row) {
     technologicalDetailId.value = form.value.technologicalProcessDetailId
+    var matchingDetail = technologicalProcessDetailsList.value.find(detail => detail.value === technologicalDetailId.value);
+    processCode.value = matchingDetail.code
 }
 
 function openDrawing() {
@@ -285,11 +288,11 @@ function openDrawing() {
 }
 
 function handleSelectionChange(row) {
+    loading.value = true
+    console.log(row)
     currentDrawing.value = row
-    console.log(hostUrl)
-    console.log(document.location)
     drawingUrl.value = fileUrl + encodeURIComponent(Base64.encode(document.location.origin + webHost + row.url))
-
+    loading.value = false
 }
 
 /**文件数量超出的回调 */
@@ -310,22 +313,29 @@ function beforeUpload(file) {
 }
 function handelUpload() {
     open.value = true
+    form.value.productId = productId.value
+    form.value.productVersion = currentTechnological.value.productVersion
+    form.value.processCode = processCode.value
     form.value.technologicalProcessDetailId = currentTechnologicalDetail.value.id
-    console.log(currentTechnologicalDetail.value.id)
-    console.log(technologicalDetailId.value)
 }
 /**获取图纸列表 */
 function getDrawing() {
-    console.log(currentTechnological.value.id)
-    queryparams.value.technologicalProcessId = currentTechnological.value.id
-    if (currentTechnologicalDetail.value.id !== undefined && currentTechnologicalDetail.value.id !== 'undefined') {
-        queryparams.value.technologicalProcessDetailId = currentTechnologicalDetail.value.id
-
-    }
-
+    
+    queryparams.value.productId = productId.value
+    queryparams.value.productVersion = currentTechnological.value.productVersion
+    queryparams.value.processCode = processCode.value
+    // if (currentTechnologicalDetail.value.id !== undefined && currentTechnologicalDetail.value.id !== 'undefined') {
+    //     queryparams.value.technologicalProcessDetailId = currentTechnologicalDetail.value.id
+
+    // }
+    console.log(queryparams.value,7784)
     getNormalDrawing(queryparams.value).then(res => {
         if (res.code == 200) {
             drawingList.value = res.rows
+            if(drawingList.value.length>0){
+                handleSelectionChange(drawingList.value[0])
+
+            }
             console.log(res.rows)
             total.value = res.total
         }
@@ -337,36 +347,36 @@ function handleSuccess(row) {
 
     var fileDrawing = {}
     fileDrawing.drawingName = row.originalFilename
-    fileDrawing.technologicalProcessDetailId = currentTechnologicalDetail.value.id
-
-    getListByName(fileDrawing).then(res => {
-        // debugger;
-        if (res.code == 200) {
-            console.log(res, "数据库查询")
-            repeatingDrawings.value = res.data
-            if (repeatingDrawings.value.length == 0) {
-
-                coverName.value = row.originalFilename
-                formLoading.value = false
-            } else {
-                //判断重名文件状态是否已发行需要替换
-                if (repeatingDrawings.value[0].status == 2) {
-                    proxy.$modal.msgWarning("待审核中已有相同文件");
-                    var item = {}
-                    item = repeatingDrawings.value[0]
-                    item.parentId = currentDrawing.value.id
-                    item.id = null
-                    item.url = replaceForm.value.url
-                    item.drawingName = fileDrawing.drawingName
-                    item.technologicalProcessDetailId = fileDrawing.technologicalProcessDetailId
-                    handleReplace(item)
+    fileDrawing.productId = productId.value
+    fileDrawing.processCode = processCode.value
+        getListByName(fileDrawing).then(res => {
+            // debugger;
+            if (res.code == 200) {
+                console.log(res, "数据库查询")
+                repeatingDrawings.value = res.data
+                if (repeatingDrawings.value.length == 0) {
+
+                    coverName.value = row.originalFilename
+                    formLoading.value = false
                 } else {
-                    proxy.$modal.msgError("已有相同文件,请修改后重新上传");
-                    open.value = false
+                    //判断重名文件状态是否已发行需要替换
+                    if (repeatingDrawings.value[0].status == 2) {
+                        proxy.$modal.msgWarning("待审核中已有相同文件");
+                        var item = {}
+                        item = repeatingDrawings.value[0]
+                        item.parentId = currentDrawing.value.id
+                        item.id = null
+                        item.url = replaceForm.value.url
+                        item.drawingName = fileDrawing.drawingName
+                        item.technologicalProcessDetailId = fileDrawing.technologicalProcessDetailId
+                        handleReplace(item)
+                    } else {
+                        proxy.$modal.msgError("已有相同文件,请修改后重新上传");
+                        open.value = false
+                    }
                 }
             }
-        }
-    })
+        })
 }
 
 
@@ -426,12 +436,14 @@ function submitForm() {
 }
 /**保存方法 */
 function saveDrawingDetail() {
-    if (currentTechnologicalDetail.value.id !== undefined && currentTechnologicalDetail.value.id !== null && currentTechnologicalDetail.value.id !== 'undefined') {
-        form.value.technologicalProcessDetailId = currentTechnologicalDetail.value.id
-    }
+    // if (currentTechnologicalDetail.value.id !== undefined && currentTechnologicalDetail.value.id !== null && currentTechnologicalDetail.value.id !== 'undefined') {
+    //     form.value.technologicalProcessDetailId = currentTechnologicalDetail.value.id
+    // }
 
     form.value.drawingName = coverName.value
-
+    form.value.processCode = processCode.value
+    form.value.productId = productId.value
+    form.value.productVersion = productVersion.value
     var itemList = []
     itemList.push(form.value)
     saveDrawing(itemList).then(res => {
@@ -450,7 +462,9 @@ function handlePreview(row) {
     saveDrawing(drawing).then(res => {
         if (res.code == 200) {
             proxy.$modal.msgSuccess("审核通过");
+            console.log(111111111)
             reset()
+            console.log(2222)
             getList();
         }
     })
@@ -484,8 +498,12 @@ function handelTechnological(row) {
     getDrawing()
 }
 /**工序选择change事件 */
-function handleDetailsChange(row) {
+function handleDetailsChange() {
+    
+    var matchingDetail = technologicalProcessDetailsList.value.find(detail => detail.value === technologicalDetailId.value);
     currentTechnologicalDetail.value.id = technologicalDetailId.value == undefined ? null : technologicalDetailId.value
+    processCode.value =matchingDetail.code
+    console.log(technologicalProcessDetailsList.value,currentTechnologicalDetail.value,7979)
     getDrawing()
 }
 /**NG电子图纸 */

+ 10 - 5
src/views/business/electronicDrawings/index.vue

@@ -119,6 +119,7 @@
 					</el-table-column>
 					<el-table-column label="工序编码" align="center" prop="processCode" />
 					<el-table-column label="工序简称" align="center" prop="processAlias" />
+					<el-table-column label="图纸个数" align="center" prop="drawingNum"/>
 					<el-table-column label="操作" width="140px" align="center">
 						<template #default="scope">
 							<el-button link type="primary" v-hasPermi="['business:product:remove']"
@@ -202,7 +203,9 @@ function handleProduct(row) {
 			
 			if(technologicalProcessList.value.length>0){
 				currentProduct.value.technologicalprocessId = technologicalProcessList.value[0].value
+				currentProduct.value.productVersion = technologicalProcessList.value[0].label
 				currentTechnological.value.id = technologicalProcessList.value[0].value
+				currentTechnological.value.productVersion = technologicalProcessList.value[0].label
 				handelDetails()
 			}
 		}
@@ -213,6 +216,7 @@ function handleProduct(row) {
 function handelTechnological() {
 	if (currentTechnological.value.id) {
 		currentProduct.value.technologicalprocessId = currentTechnological.value.id
+		currentProduct.value.productVersion = currentTechnological.value.productVersion
 		handelDetails()
 	}
 }
@@ -228,16 +232,17 @@ function handelDetails() {
 }
 
 function handelDrawing(row) {
-	console.log(currentProduct)
+	console.log(currentProduct.value,1123)
 	if(row){
-		currentProduct.value.technologicalprocessDetailId = row.id
+		currentProduct.value.processCode = row.processCode
 		router.push({
-  path: `/drawing/drawingDetail/${currentProduct.value.id}/${currentProduct.value.technologicalprocessId}/${row.id}`});
+  path: `/drawing/drawingDetail/${currentProduct.value.id}/${currentProduct.value.productVersion}/${row.processCode}`});
 
 	}else{
-		currentProduct.value.technologicalprocessDetailId =null
+		console.log(currentProduct.value,1123)
+		currentProduct.value.processCode =null
 		router.push({
-  path: `/drawing/drawingDetail/${currentProduct.value.id}/${currentProduct.value.technologicalprocessId}`});
+  path: `/drawing/drawingDetail/${currentProduct.value.id}/${currentProduct.value.productVersion}`});
 	}
 
 

+ 38 - 15
src/views/business/product/drawingForm.vue

@@ -17,7 +17,8 @@
             <el-button type="success" icon="Plus" v-hasPermi="['business:drawing:add']">上传图纸
             </el-button>
           </el-upload>
-          <el-button type="primary" icon="Search"  v-hasPermi="['business:drawing:record']"  @click="handleRecords" style="margin-left: 10px;">操作历史
+          <el-button type="primary" icon="Search" v-hasPermi="['business:drawing:record']" @click="handleRecords"
+            style="margin-left: 10px;">操作历史
           </el-button>
         </el-form-item>
       </el-form>
@@ -29,19 +30,22 @@
           <el-table-column label="图纸" prop="drawingName" align="center" />
           <el-table-column fixed="right" label="操作" align="center" width="140px">
             <template #default="scope">
-              <el-button link type="primary" v-hasPermi="['business:drawing:preview']" @click="handlePreview(scope.row)">预览
+              <el-button link type="primary" v-hasPermi="['business:drawing:preview']"
+                @click="handlePreview(scope.row)">预览
               </el-button>
-              <el-button link type="success" plain v-hasPermi="['business:drawing:download']" @click="handleDownload(scope.row)">下载</el-button>
+              <el-button link type="success" plain v-hasPermi="['business:drawing:download']"
+                @click="handleDownload(scope.row)">下载</el-button>
 
-              <el-button link type="danger" v-hasPermi="['business:drawing:remove']" @click="handleDelete(scope.row.id)">删除
+              <el-button link type="danger" v-hasPermi="['business:drawing:remove']"
+                @click="handleDelete(scope.row.id)">删除
               </el-button>
             </template>
           </el-table-column>
         </el-table>
       </div>
       <!-- 分页 -->
-      <pagination v-show="total > 0" :total="total" v-model:page="queryparams.pageNum" v-model:limit="queryparams.pageSize"
-        @pagination="getList" />
+      <pagination v-show="total > 0" :total="total" v-model:page="queryparams.pageNum"
+        v-model:limit="queryparams.pageSize" @pagination="getList" />
     </div>
 
     <el-dialog v-model="dialogVisible" width="1500px">
@@ -102,7 +106,7 @@ const loading = ref(false);
 const visible = ref(false);
 /** 查询对象 */
 const data = reactive({
-  queryparams:{
+  queryparams: {
     pageNum: 1,
     pageSize: 10,
     technologicalProcessDetailId: null
@@ -119,20 +123,27 @@ const data = reactive({
     code: [{ required: true, message: "资源组编码不能为空", trigger: "blur" }],
   },
 });
-const { form, rules,queryparams } = toRefs(data);
+const { form, rules, queryparams } = toRefs(data);
 
 /***********************  方法区  ****************************/
 /** 打开抽屉 */
 function open(row) {
 
   processDetail.value = row
-  queryparams.value.technologicalProcessDetailId = row.id
-  form.value.technologicalProcessDetailId = row.id
+  queryparams.value.productId = row.productId
+  queryparams.value.processCode = row.processCode
+  queryparams.value.productVersion = row.technologyVersion
+
+
+  form.value.productId = row.productId
+  form.value.processCode = row.processCode
+  form.value.productVersion = row.technologyVersion
+
   getList()
   visible.value = true;
 };
 /**查询列表 */
-function getList(){
+function getList() {
   loading.value = true;
   listDrawing(queryparams.value).then(res => {
     form.value.drawingList = res.rows
@@ -145,7 +156,12 @@ function getList(){
  * 打开操作页面
  */
 function handleRecords() {
-  proxy.$refs.redcordsForm.open(processDetail.value);
+  var item = {}
+
+  item.productId = processDetail.value.productId
+  item.processCode = processDetail.value.processCode
+  item.productVersion = processDetail.value.technologyVersion
+  proxy.$refs.redcordsForm.open(item);
 }
 
 /**
@@ -181,6 +197,10 @@ function handleDownload(row) {
 
       var recordsItem = {}
       recordsItem.technologicalProcessDetailId = row.technologicalProcessDetailId;
+
+      recordsItem.productId = row.productId
+      recordsItem.processCode = row.processCode
+      recordsItem.productVersion = row.technologyVersion
       recordsItem.technologicalProcessDetailDrawingId = row.id
       recordsItem.userId = useUserStore().user.userId
       recordsItem.type = "下载"
@@ -222,7 +242,10 @@ function handleSuccess(row) {
   console.log(row.fileName, "上传成功")
   var fileDrawing = {}
   fileDrawing.drawingName = row.originalFilename
-  fileDrawing.technologicalProcessDetailId = processDetail.value.id
+  fileDrawing.productId = processDetail.value.productId
+  fileDrawing.processCode = processDetail.value.processCode
+  fileDrawing.productVersion = processDetail.value.technologyVersion
+
   drawingByName(fileDrawing).then(res => {
     // debugger;
     if (res.code == 200) {
@@ -277,9 +300,9 @@ function saveDrawing() {
 function handlePreview(row) {
   //0617预览不需要内嵌,新开一个标签页
   // hostUrl+webHost+row.url 必须时文件全路径 不能转
-  window.open(fileUrl + encodeURIComponent(Base64.encode(document.location.origin  + webHost + row.url)))
+  window.open(fileUrl + encodeURIComponent(Base64.encode(document.location.origin + webHost + row.url)))
   // window.open(fileUrl+ encodeURIComponent(Base64.encode(document.location.host +webHost+row.url)))
-  console.log('全路径:'+hostUrl+webHost+row.url)
+  console.log('全路径:' + document.location.origin + webHost + row.url)
 }
 // 取消按钮
 function cancel() {

+ 6 - 5
src/views/business/product/recordsDialog.vue

@@ -10,22 +10,22 @@
         <el-table-column label="操作图纸名称" prop="drawingName" align="center" />
         <el-table-column label="产品描述"  align="center" >
           <template #default="scope" >
-            <span>{{ scope.row.processDetail.productDescription }}</span>
+            <span>{{ scope.row.productDescription }}</span>
           </template>
         </el-table-column>
         <el-table-column label="工艺版本" prop="type" align="center" >
           <template #default="scope" >
-            <span>{{ scope.row.processDetail.technologyVersion }}</span>
+            <span>{{ scope.row.productVersion }}</span>
           </template>
         </el-table-column>
         <el-table-column label="工序编码" prop="type" align="center"  >
           <template #default="scope" >
-            <span>{{ scope.row.processDetail.processCode }}</span>
+            <span>{{ scope.row.processCode }}</span>
           </template>
         </el-table-column>
         <el-table-column label="工序简称" prop="type" align="center"  >
           <template #default="scope" >
-            <span>{{ scope.row.processDetail.processAlias }}</span>
+            <span>{{ scope.row.processAlias }}</span>
           </template>
         </el-table-column>
         <el-table-column label="操作时间" prop="createTime" align="center" />
@@ -69,7 +69,8 @@ function open(row) {
   visible.value = true
   if (row) {
     console.log(row)
-    queryParams.value.technologicalProcessDetailId = row.id
+    queryParams.value.productId = row.productId
+    queryParams.value.productVersion = row.productVersion
     getList()
 
   }

+ 172 - 0
src/views/business/publicSeal/index.vue

@@ -0,0 +1,172 @@
+<template>
+    <div class="page-container row-container">
+
+        <section class="list-part-container" style="flex: 2">
+            <!-- 搜索区域 -->
+            <el-form class="list-search-container" :model="queryParams" ref="queryRef" :inline="true">
+                <el-form-item class="section-title" label="公共章管理" />
+
+            </el-form>
+            <!-- 列表区域 -->
+            <div class="el-table-container">
+                <div class="el-table-inner-container">
+                    <el-table ref="equipmentTable" v-loading="loading" row-key="id" @row-click="handleRow" :data="sealList" height="100%">
+                        <el-table-column label="行号" type="index" width="80" align="center" />
+                        <el-table-column label="名称" prop="code" align="center" />
+                        <el-table-column label="印章" prop="url" align="center">
+                            <template #default="scope">
+                                <span>
+                                    <el-image :initial-index="1" style="width: 60px; height: 60px;margin-right:8px"
+                                        :src="webUrl + webHost + scope.row.url" :preview-src-list="scope.row.pictureList"
+                                        :preview-teleported="true" />
+                                </span>
+                            </template>
+                        </el-table-column>
+
+                        <el-table-column label="操作" width="150" align="center">
+                            <template #append>
+                                <el-upload :action="webHost + '/common/upload'" :headers="headers"
+                                    :on-success="handleSuccess" :on-exceed="handleExceed" :before-upload="beforeUpload"
+                                    :show-file-list="false">
+                                    <el-button type="success" icon="Plus" v-hasPermi="['business:drawing:add']">替换
+                                    </el-button>
+                                </el-upload>
+                            </template>
+                        </el-table-column>
+                    </el-table>
+                </div>
+            </div>
+            <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum"
+                v-model:limit="queryParams.pageSize" @pagination="getList" />
+        </section>
+        <!-- 设备档案管理表单 -->
+    </div>
+</template>
+  
+<script setup name="Equipment">
+import { listPublicSeal } from '@/api/business/personalSeal'
+const { proxy } = getCurrentInstance();
+const webHost = import.meta.env.VITE_APP_BASE_API
+/**字典数组 */
+/** 设备档案管理 */
+const selections = ref([]);
+const equipmentTable = ref(null);
+const total = ref(0);
+const sealItem = ref({})
+const sealList = ref([]);
+const loading = ref(false);
+const webUrl = ref("")
+/** 设备档案 查询对象 */
+const queryParams = ref({
+    pageNum: 1,
+    pageSize: 10,
+});
+const form = ref({})
+const formLoading = ref(false)
+
+/****************************************************  生命周期函数区  ****************************************************/
+onMounted(() => {
+    getList();
+});
+/****************************************************  方法区  ****************************************************/
+
+
+
+
+/****************************** 设备档案 事件处理区 ******************************/
+
+
+/** 获取设备档案列表 */
+const getList = () => {
+    listPublicSeal(queryParams.value).then(res => {
+        if (res.code == 200) {
+            webUrl.value = document.location.origin
+            processImageUrl(res.rows);
+            console.log(res.rows, 11)
+            sealList.value = res.rows;
+            if(sealList.value.length>0){
+                handleRow(sealList.value[0])
+            }
+            total.value = res.total;
+        }
+    })
+
+};
+
+function processImageUrl(data) {
+    console.log('processImageUrl')
+    for (var i = 0; i < data.length; i++) {
+        var item = data[i]
+        var urlList = previewImageUrl(item.url)
+        item.pictureList = urlList
+    }
+}
+function previewImageUrl(url) {
+    var urlList = []
+    if (url) {
+
+        var itemUrl = document.location.origin + webHost + url
+        console.log(itemUrl)
+        urlList.push(itemUrl)
+    }
+    return urlList
+}
+
+function handleRow(row){
+    sealItem.value = row
+}
+/**上传成功回调 */
+function handleSuccess(row) {
+  form.value.url = row.fileName
+
+ 
+ 
+}
+/** 文件上传前的 回调事件 */
+function beforeUpload(file) {
+  formLoading.value = true
+  const allowedTypes = ['application/pdf'];
+  const isAllowed = allowedTypes.includes(file.type);
+  if (!isAllowed) {
+    proxy.$modal.msgError('只能上传 PDF 格式的文件!')
+    return false
+  }
+
+}
+
+/**文件数量超出的回调 */
+function handleExceed(files) {
+  form.value.url = files[0].url
+}
+//刷新设备档案管理
+function handleRefreshDetail() {
+    getList();
+}
+/**
+ * 列表checkbox列选择 事件
+ */
+function handleSelectionChange(selection) {
+    selections.value = selection;
+}
+
+</script>
+<style scoped>
+:deep(.el-tree-node__label) {
+    font-size: 14px !important;
+    display: inline-block;
+    width: 100%;
+}
+
+:deep(.el-tree-node__content) {
+    height: 40px;
+    border-bottom: 1px solid #ebeef5;
+    padding: 8px 0;
+    line-height: 23px;
+}
+
+.move-handle {
+    cursor: move;
+    background-color: #eee;
+}
+</style>
+  

+ 27 - 5
src/views/system/user/profile/index.vue

@@ -44,6 +44,10 @@
                   <el-button icon="Upload">上传个人章</el-button>
                 </el-upload>
               </li>
+              <li class="list-group-item">
+                <el-image style="width: 120px; height: 120px;margin-right:8px;display: flex;justify-content: center;"
+                  :src="imageUrl" :preview-src-list="imageList" :initial-index="1" :preview-teleported="true" />
+              </li>
 
               <!-- <li class="list-group-item" v-if="state.user.userId == 1">
                 <el-upload  :action="webHost + '/common/upload'" :headers="headers" :limit="1" :on-success="handleSealSuccess"
@@ -81,13 +85,17 @@ import userAvatar from './userAvatar'
 import userInfo from './userInfo'
 import resetPwd from './resetPwd'
 import { getUserProfile } from '@/api/system/user'
-import { addPersonalSeal,addPublicSeal} from "@/api/business/drawing";
+import { listPersonalSeal } from '@/api/business/personalSeal'
+import { addPersonalSeal, addPublicSeal } from "@/api/business/drawing";
 import { getToken } from '@/utils/auth'
 import { ref } from "vue";
 const { proxy } = getCurrentInstance();
 const webHost = import.meta.env.VITE_APP_BASE_API
 const headers = { Authorization: getToken() }
 const formLoading = ref(false)
+const imageUrl = ref("")
+const pictureList = ref([])
+const imageList = ref([])
 const activeTab = ref('userinfo')
 const sealForm = ref({})
 const form = ref({})
@@ -103,13 +111,27 @@ function getUser() {
     state.roleGroup = response.roleGroup
     state.postGroup = response.postGroup
   })
+
+  listPersonalSeal().then(res => {
+    if (res.code == 200) {
+      pictureList.value = res.data
+      console.log(res.data,454)
+      if (pictureList.value) {
+     
+        imageUrl.value = document.location.origin + webHost + res.data.url
+        imageList.value.push(imageUrl.value)
+        console.log(imageUrl.value,775)
+      }
+
+    }
+  })
 }
 /**上传成功回调 */
 function handleSuccess(row) {
   form.value.url = row.fileName
   var fileDrawing = {}
-  addPersonalSeal(form.value).then(res=>{
-    if(res.code == 200){
+  addPersonalSeal(form.value).then(res => {
+    if (res.code == 200) {
       proxy.$modal.msgSuccess("上传成功");
     }
   })
@@ -127,8 +149,8 @@ function handleExceed(files) {
 function handleSealSuccess(row) {
   sealForm.value.url = row.fileName
   var fileDrawing = {}
-  addPublicSeal(sealForm.value).then(res=>{
-    if(res.code == 200){
+  addPublicSeal(sealForm.value).then(res => {
+    if (res.code == 200) {
       proxy.$modal.msgSuccess("上传成功");
     }
   })