From 0190c057e1d818b580ac7977b14b967fea231cd9 Mon Sep 17 00:00:00 2001
From: 祖安之光 <11848914+light-of-zuan@user.noreply.gitee.com>
Date: 星期四, 27 十一月 2025 09:04:18 +0800
Subject: [PATCH] 修改新增
---
src/views/work/qualityManage/productAndServe/finalInspecte/index.vue | 127 +++++++++++++++++++++++++++++++-----------
1 files changed, 93 insertions(+), 34 deletions(-)
diff --git a/src/views/work/qualityManage/productAndServe/finalInspecte/index.vue b/src/views/work/qualityManage/productAndServe/finalInspecte/index.vue
index 6e6e2f8..c569d25 100644
--- a/src/views/work/qualityManage/productAndServe/finalInspecte/index.vue
+++ b/src/views/work/qualityManage/productAndServe/finalInspecte/index.vue
@@ -7,6 +7,7 @@
type="primary"
plain
icon="Plus"
+ v-hasPermi="['finalInspecte:list:add']"
@click="openDialog('add',{})"
>新增</el-button>
</el-form-item>
@@ -20,6 +21,20 @@
</el-option>
</el-select>
</el-form-item>
+ <el-form-item style="margin-left: 15px" label="项目名称:">
+ <el-select v-model="queryParams.itemId"
+ filterable
+ placeholder="请选择"
+ clearable style="width: 100%"
+ >
+ <el-option
+ v-for="item in projectList"
+ :key="item.id"
+ :label="item.itemName"
+ :value="item.id">
+ </el-option>
+ </el-select>
+ </el-form-item>
<el-form-item >
<el-button v-if="isAdmin" type="primary" @click="getList">查询</el-button>
<el-button v-if="isAdmin" type="primary" plain @click="reset">重置</el-button>
@@ -29,17 +44,17 @@
<!-- 表格数据 -->
<el-table v-loading="loading" :data="dataList" :border="true">
<el-table-column label="序号" type="index" align="center" width="80"/>
- <el-table-column label="文件名称" prop="templateName" header-align="center" align="left"/>
+ <el-table-column label="文件名称" prop="fileName" header-align="center" align="left"/>
<el-table-column label="文件" header-align="center" align="left">
<template #default="scope">
- <el-link type="primary" @click="openFile(scope.row.filePath)">{{scope.row.templateName + '模板' + scope.row.format}}</el-link>
+ <el-link type="primary" @click="openFile(scope.row.filePath)">{{scope.row.fileName +'.'+ scope.row.format}}</el-link>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" >
<template #default="scope">
- <el-button link type="primary" @click="downloadFile(scope.row.filePath)">下载</el-button>
- <el-button link type="primary" @click="openDialog('edit',scope.row)">编辑</el-button>
- <el-button link type="danger" @click="handleDelete(scope.row)">删除</el-button>
+ <el-button link type="primary" @click="downloadFile(scope.row.filePath)" v-hasPermi="['finalInspecte:list:edit']">下载</el-button>
+ <el-button link type="primary" @click="openDialog('edit',scope.row)" v-hasPermi="['finalInspecte:list:edit']">编辑</el-button>
+ <el-button link type="danger" @click="handleDelete(scope.row)" v-hasPermi="['finalInspecte:list:del']">删除</el-button>
</template>
</el-table-column>
</el-table>
@@ -65,6 +80,8 @@
import useUserStore from "@/store/modules/user";
import {getStandardTemp,delStandardTemp} from "@/api/standardSys/standardSys";
import { renderAsync } from "docx-preview";
+import {delInspection, getInspection} from "@/api/productAndServe";
+import {getProductSet} from "@/api/selfProblems/productFile";
const userStore = useUserStore()
const { proxy } = getCurrentInstance();
const loading = ref(false);
@@ -74,15 +91,18 @@
pageNum: 1,
pageSize: 10,
companyId: null,
- templateType: 10
+ type:2,
+ itemId: null
},
total: 0,
dataList: [],
companyList: [],
- isAdmin: false
+ isAdmin: false,
+ projectList: [],
+ userId: null,
});
-const { queryParams, total, dataList,companyList, isAdmin } = toRefs(data);
+const { queryParams, total, dataList,companyList, isAdmin, projectList } = toRefs(data);
const userInfo = ref()
onMounted(async ()=>{
if(userStore.roles.includes('admin')){
@@ -92,7 +112,9 @@
data.isAdmin = false
data.queryParams.companyId = userStore.companyId
}
+ data.userId = userStore.id
await getList()
+ await getProjectList()
})
onUnmounted(()=>{
@@ -107,14 +129,14 @@
console.log('取消预览')
});
return
- }
- try {
- // 1. 获取文件
- const response = await fetch(import.meta.env.VITE_APP_BASE_API + '/' + path);
- const arrayBuffer = await response.arrayBuffer();
- // 2. 创建新窗口
- const win = window.open('', '_blank')
- win.document.write(`
+ }else if(ext === 'docx'){
+ try {
+ // 1. 获取文件
+ const response = await fetch(import.meta.env.VITE_APP_BASE_API + '/' + path);
+ const arrayBuffer = await response.arrayBuffer();
+ // 2. 创建新窗口
+ const win = window.open('', '_blank')
+ win.document.write(`
<!DOCTYPE html>
<html>
<head>
@@ -129,25 +151,34 @@
</body>
</html>
`);
- // 3. 渲染 DOCX
- await renderAsync(arrayBuffer, win.document.getElementById('container'));
+ // 3. 渲染 DOCX
+ await renderAsync(arrayBuffer, win.document.getElementById('container'));
- } catch (error) {
- console.error('预览失败:', error);
- alert(`预览失败: ${error.message}`);
+ } catch (error) {
+ console.error('预览失败:', error);
+ alert(`预览失败: ${error.message}`);
+ }
+ }else {
+ window.open(`${import.meta.env.VITE_APP_BASE_API}/${path}`, '_blank');
}
+
}
const getList = async () => {
- // loading.value = true
- // const res = await getStandardTemp(data.queryParams)
- // if(res.code == 200){
- // console.log(res.data,'data')
- // data.dataList = res.data.list || []
- // data.total = res.data.total
- // }else{
- // ElMessage.warning(res.message)
- // }
- // loading.value = false
+ loading.value = true
+ const res = await getInspection(data.queryParams)
+ if(res.code == 200){
+ data.dataList = res.data.list || []
+ data.dataList = data.dataList.map(item => {
+ return {
+ ...item,
+ format: item.filePath ? item.filePath.split('.').pop().toLowerCase():''
+ }
+ })
+ data.total = res.data.total
+ }else{
+ ElMessage.warning(res.message)
+ }
+ loading.value = false
}
const getCompanyList = async ()=>{
@@ -164,12 +195,39 @@
}
}
+const getProjectList = async () => {
+ const param = {
+ companyId: data.queryParams.companyId,
+ userId: data.isAdmin ? null : data.userId
+ }
+ const res = await getProductSet(param);
+ if(res.code === 200){
+ data.projectList = res.data
+ // if(res.data && res.data.length >0 ){
+ // data.queryParams.itemId = res.data[0].id
+ // }
+ }else{
+ ElMessage.warning(res.message)
+ }
+
+}
+
const downloadFile = (path)=>{
window.open(import.meta.env.VITE_APP_BASE_API + '/' + path)
}
const openDialog = (type, value) => {
- dialogRef.value.openDialog(type, value, data.queryParams.companyId, data.isAdmin, data.companyList);
+ if(type === 'add' ){
+ if(!data.queryParams.companyId){
+ ElMessage.warning('请选择单位')
+ return
+ }
+ if(!data.queryParams.itemId){
+ ElMessage.warning('请先选择项目!')
+ return
+ }
+ }
+ dialogRef.value.openDialog(type, value, data.queryParams.companyId, data.isAdmin, data.companyList,data.queryParams.itemId);
}
/** 重置新增的表单以及其他数据 */
@@ -178,7 +236,8 @@
pageNum: 1,
pageSize: 10,
companyId: null,
- templateType: 10
+ type:2,
+ itemId: null
}
await getCompanyList()
await getList()
@@ -193,7 +252,7 @@
type: 'warning',
})
.then( async() => {
- const res = await delStandardTemp({standardizedTemplateId: val.id})
+ const res = await delInspection(val.id)
if(res.code == 200){
ElMessage.success('数据删除成功')
await getList()
--
Gitblit v1.9.2