From ec9f12898d3fa6c57485c9f43af15203bb867639 Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: 星期五, 14 十一月 2025 17:28:09 +0800
Subject: [PATCH] 修改
---
src/views/work/sealManagement/apply/index.vue | 7
src/api/productAndServe/index.js | 34 ++++++
src/views/work/qualityManage/productAndServe/finalInspecte/index.vue | 67 +++++++-----
src/views/work/qualityManage/productAndServe/processInspecte/index.vue | 67 +++++++-----
src/views/work/qualityManage/productAndServe/finalInspecte/components/editDialog.vue | 45 ++++----
src/views/work/qualityManage/productAndServe/processInspecte/components/editDialog.vue | 25 ++--
6 files changed, 151 insertions(+), 94 deletions(-)
diff --git a/src/api/productAndServe/index.js b/src/api/productAndServe/index.js
new file mode 100644
index 0000000..42148e0
--- /dev/null
+++ b/src/api/productAndServe/index.js
@@ -0,0 +1,34 @@
+import request from "@/utils/request";
+
+//采购申请
+export function getInspection(params) {
+ return request({
+ url: '/process/inspection/list',
+ method: 'get',
+ params: params
+ })
+}
+
+export function addInspection(data) {
+ return request({
+ url: '/process/inspection/insert',
+ method: 'post',
+ data: data
+ })
+}
+
+export function editInspection(params) {
+ return request({
+ url: `/process/inspection/update`,
+ method: 'post',
+ data: params
+ })
+}
+
+export function delInspection(data) {
+ return request({
+ url: `/process/inspection/deleted?inspectionId=${data}`,
+ method: 'get'
+ })
+}
+
diff --git a/src/views/work/qualityManage/productAndServe/finalInspecte/components/editDialog.vue b/src/views/work/qualityManage/productAndServe/finalInspecte/components/editDialog.vue
index 7bc6ee3..0c09e07 100644
--- a/src/views/work/qualityManage/productAndServe/finalInspecte/components/editDialog.vue
+++ b/src/views/work/qualityManage/productAndServe/finalInspecte/components/editDialog.vue
@@ -19,25 +19,25 @@
</el-option>
</el-select>
</el-form-item>
-<!-- <el-form-item label="所属部门:" prop="deptId">-->
-<!-- <el-select v-model="state.form.deptId" placeholder="请选择" style="width: 100%" clearable>-->
-<!-- <el-option-->
-<!-- v-for="item in state.deptList"-->
-<!-- :key="item.deptId"-->
-<!-- :label="item.deptName"-->
-<!-- :value="item.deptId">-->
-<!-- </el-option>-->
-<!-- </el-select>-->
-<!-- </el-form-item>-->
+ <!-- <el-form-item label="所属部门:" prop="deptId">-->
+ <!-- <el-select v-model="state.form.deptId" placeholder="请选择" style="width: 100%" clearable>-->
+ <!-- <el-option-->
+ <!-- v-for="item in state.deptList"-->
+ <!-- :key="item.deptId"-->
+ <!-- :label="item.deptName"-->
+ <!-- :value="item.deptId">-->
+ <!-- </el-option>-->
+ <!-- </el-select>-->
+ <!-- </el-form-item>-->
- <el-form-item label="名称:" prop="templateName">
- <el-input v-model.trim="state.form.templateName" :disabled="state.title =='查看'" placeholder="名称"></el-input>
+ <el-form-item label="名称:" prop="fileName">
+ <el-input v-model.trim="state.form.fileName" :disabled="state.title =='查看'" placeholder="名称"></el-input>
</el-form-item>
<el-form-item label="文件:" prop="filePath">
- <el-upload accept=".doc,.docx" :action="state.uploadUrl" :headers="state.header" method="post" :on-success="(res, uploadFile)=>handleAvatarSuccess(res, uploadFile)" :on-exceed="showTip" :limit='state.fileLimit' v-model:file-list="state.fileList" :before-upload="picSize" :on-remove="(file, uploadFiles)=>handleRemove(file, uploadFiles)" >
+ <el-upload accept=".doc,.docx,.pdf,.jpg,.jpeg,.png" :action="state.uploadUrl" :headers="state.header" method="post" :on-success="(res, uploadFile)=>handleAvatarSuccess(res, uploadFile)" :on-exceed="showTip" :limit='state.fileLimit' v-model:file-list="state.fileList" :before-upload="picSize" :on-remove="(file, uploadFiles)=>handleRemove(file, uploadFiles)" >
<el-button type="primary">点击上传</el-button>
<template #tip>
- <div class="el-upload__tip">支持上传.doc、.docx格式文档,尺寸小于5M,最多可上传1份</div>
+ <div class="el-upload__tip">支持上传.doc、.docx、.pdf、.jpg、.jpeg、.png格式,尺寸小于5M,最多可上传1份</div>
</template>
</el-upload>
</el-form-item>
@@ -62,6 +62,7 @@
import {delPic} from "@/api/onlineEducation/banner";
import {saveStandardTemp, updateStandardTemp} from "@/api/standardSys/standardSys";
import {getDept} from "@/api/qualityObjectives/object";
+import {addInspection, editInspection} from "@/api/productAndServe";
const emit = defineEmits(["getList"]);
const dialogVisible = ref(false)
@@ -77,16 +78,16 @@
title: '',
form: {
id: null,
- templateName: '',
+ fileName: '',
filePath: '',
format: '',
companyId: null,
deptId:null,
- templateType: 2
+ type:2
},
formRules:{
companyId: [{ required: true, message: '请选择企业', trigger: 'blur' }],
- templateName: [{ required: true, message: '请输入名称', trigger: 'blur' }],
+ fileName: [{ required: true, message: '请输入名称', trigger: 'blur' }],
filePath: [{ required: true, validator: checkFiles, trigger: 'blur' }],
deptId: [{ required: true, message: '请选择部门', trigger: 'blur' }],
},
@@ -120,7 +121,7 @@
if(value.filePath) {
const obj = {
url: value.filePath,
- name: '文件'
+ name: value.fileName
}
state.fileList = [obj]
}
@@ -148,7 +149,7 @@
if(valid){
if(state.title == '新增'){
const {id,...data} = state.form
- const res = await saveStandardTemp(data)
+ const res = await addInspection(data)
if(res.code == 200){
ElMessage.success(res.message)
emit('getList')
@@ -158,7 +159,7 @@
ElMessage.warning(res.message)
}
}else{
- const res = await updateStandardTemp(state.form)
+ const res = await editInspection(state.form)
if(res.code == 200){
ElMessage.success(res.message)
emit('getList')
@@ -223,12 +224,12 @@
const handleClose = () => {
state.form = {
id: null,
- templateName: '',
+ fileName: '',
filePath: '',
format: '',
companyId: null,
deptId:null,
- templateType: 2
+ type:2
}
state.fileList = []
superRef.value.clearValidate();
diff --git a/src/views/work/qualityManage/productAndServe/finalInspecte/index.vue b/src/views/work/qualityManage/productAndServe/finalInspecte/index.vue
index 6e6e2f8..11b20aa 100644
--- a/src/views/work/qualityManage/productAndServe/finalInspecte/index.vue
+++ b/src/views/work/qualityManage/productAndServe/finalInspecte/index.vue
@@ -29,10 +29,10 @@
<!-- 表格数据 -->
<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" >
@@ -65,6 +65,7 @@
import useUserStore from "@/store/modules/user";
import {getStandardTemp,delStandardTemp} from "@/api/standardSys/standardSys";
import { renderAsync } from "docx-preview";
+import {delInspection, getInspection} from "@/api/productAndServe";
const userStore = useUserStore()
const { proxy } = getCurrentInstance();
const loading = ref(false);
@@ -74,7 +75,7 @@
pageNum: 1,
pageSize: 10,
companyId: null,
- templateType: 10
+ type:2
},
total: 0,
dataList: [],
@@ -107,14 +108,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 +130,35 @@
</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){
+ console.log(res.data,'data')
+ 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 ()=>{
@@ -178,7 +189,7 @@
pageNum: 1,
pageSize: 10,
companyId: null,
- templateType: 10
+ type:2
}
await getCompanyList()
await getList()
@@ -193,7 +204,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()
diff --git a/src/views/work/qualityManage/productAndServe/processInspecte/components/editDialog.vue b/src/views/work/qualityManage/productAndServe/processInspecte/components/editDialog.vue
index 7bc6ee3..7a41fb3 100644
--- a/src/views/work/qualityManage/productAndServe/processInspecte/components/editDialog.vue
+++ b/src/views/work/qualityManage/productAndServe/processInspecte/components/editDialog.vue
@@ -30,14 +30,14 @@
<!-- </el-select>-->
<!-- </el-form-item>-->
- <el-form-item label="名称:" prop="templateName">
- <el-input v-model.trim="state.form.templateName" :disabled="state.title =='查看'" placeholder="名称"></el-input>
+ <el-form-item label="名称:" prop="fileName">
+ <el-input v-model.trim="state.form.fileName" :disabled="state.title =='查看'" placeholder="名称"></el-input>
</el-form-item>
<el-form-item label="文件:" prop="filePath">
- <el-upload accept=".doc,.docx" :action="state.uploadUrl" :headers="state.header" method="post" :on-success="(res, uploadFile)=>handleAvatarSuccess(res, uploadFile)" :on-exceed="showTip" :limit='state.fileLimit' v-model:file-list="state.fileList" :before-upload="picSize" :on-remove="(file, uploadFiles)=>handleRemove(file, uploadFiles)" >
+ <el-upload accept=".doc,.docx,.pdf,.jpg,.jpeg,.png" :action="state.uploadUrl" :headers="state.header" method="post" :on-success="(res, uploadFile)=>handleAvatarSuccess(res, uploadFile)" :on-exceed="showTip" :limit='state.fileLimit' v-model:file-list="state.fileList" :before-upload="picSize" :on-remove="(file, uploadFiles)=>handleRemove(file, uploadFiles)" >
<el-button type="primary">点击上传</el-button>
<template #tip>
- <div class="el-upload__tip">支持上传.doc、.docx格式文档,尺寸小于5M,最多可上传1份</div>
+ <div class="el-upload__tip">支持上传.doc、.docx、.pdf、.jpg、.jpeg、.png格式,尺寸小于5M,最多可上传1份</div>
</template>
</el-upload>
</el-form-item>
@@ -62,6 +62,7 @@
import {delPic} from "@/api/onlineEducation/banner";
import {saveStandardTemp, updateStandardTemp} from "@/api/standardSys/standardSys";
import {getDept} from "@/api/qualityObjectives/object";
+import {addInspection, editInspection} from "@/api/productAndServe";
const emit = defineEmits(["getList"]);
const dialogVisible = ref(false)
@@ -77,16 +78,16 @@
title: '',
form: {
id: null,
- templateName: '',
+ fileName: '',
filePath: '',
format: '',
companyId: null,
deptId:null,
- templateType: 2
+ type: 1
},
formRules:{
companyId: [{ required: true, message: '请选择企业', trigger: 'blur' }],
- templateName: [{ required: true, message: '请输入名称', trigger: 'blur' }],
+ fileName: [{ required: true, message: '请输入名称', trigger: 'blur' }],
filePath: [{ required: true, validator: checkFiles, trigger: 'blur' }],
deptId: [{ required: true, message: '请选择部门', trigger: 'blur' }],
},
@@ -120,7 +121,7 @@
if(value.filePath) {
const obj = {
url: value.filePath,
- name: '文件'
+ name: value.fileName
}
state.fileList = [obj]
}
@@ -148,7 +149,7 @@
if(valid){
if(state.title == '新增'){
const {id,...data} = state.form
- const res = await saveStandardTemp(data)
+ const res = await addInspection(data)
if(res.code == 200){
ElMessage.success(res.message)
emit('getList')
@@ -158,7 +159,7 @@
ElMessage.warning(res.message)
}
}else{
- const res = await updateStandardTemp(state.form)
+ const res = await editInspection(state.form)
if(res.code == 200){
ElMessage.success(res.message)
emit('getList')
@@ -223,12 +224,12 @@
const handleClose = () => {
state.form = {
id: null,
- templateName: '',
+ fileName: '',
filePath: '',
format: '',
companyId: null,
deptId:null,
- templateType: 2
+ type: 1
}
state.fileList = []
superRef.value.clearValidate();
diff --git a/src/views/work/qualityManage/productAndServe/processInspecte/index.vue b/src/views/work/qualityManage/productAndServe/processInspecte/index.vue
index 6e6e2f8..a12509b 100644
--- a/src/views/work/qualityManage/productAndServe/processInspecte/index.vue
+++ b/src/views/work/qualityManage/productAndServe/processInspecte/index.vue
@@ -29,10 +29,10 @@
<!-- 表格数据 -->
<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" >
@@ -65,6 +65,7 @@
import useUserStore from "@/store/modules/user";
import {getStandardTemp,delStandardTemp} from "@/api/standardSys/standardSys";
import { renderAsync } from "docx-preview";
+import {delInspection, getInspection} from "@/api/productAndServe";
const userStore = useUserStore()
const { proxy } = getCurrentInstance();
const loading = ref(false);
@@ -74,7 +75,7 @@
pageNum: 1,
pageSize: 10,
companyId: null,
- templateType: 10
+ type: 1
},
total: 0,
dataList: [],
@@ -107,14 +108,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 +130,35 @@
</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){
+ console.log(res.data,'data')
+ 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 ()=>{
@@ -178,7 +189,7 @@
pageNum: 1,
pageSize: 10,
companyId: null,
- templateType: 10
+ type: 1
}
await getCompanyList()
await getList()
@@ -193,7 +204,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()
diff --git a/src/views/work/sealManagement/apply/index.vue b/src/views/work/sealManagement/apply/index.vue
index 3e70918..e8e6c03 100644
--- a/src/views/work/sealManagement/apply/index.vue
+++ b/src/views/work/sealManagement/apply/index.vue
@@ -47,16 +47,15 @@
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="160" >
<template #default="scope">
- <div v-if="data.tabName === 'apply'">
+ <div v-if="data.tabName === 'apply' || data.tabName === 'all'">
<el-button link type="primary" @click="openDialog('review',scope.row)">查看</el-button>
- <el-button link type="primary" @click="openDialog('edit',scope.row)" v-hasPermi="['sealApply:list:edit']">编辑</el-button>
+ <el-button link type="primary" v-if="scope.row.status == 1" @click="openDialog('edit',scope.row)" v-hasPermi="['sealApply:list:edit']">编辑</el-button>
<el-button link type="danger" @click="handleDelete(scope.row)" v-hasPermi="['sealApply:list:del']">删除</el-button>
</div>
- <div v-else>
+ <div v-if="data.tabName === 'approval'">
<el-button link type="primary" @click="openDialog('review',scope.row)">查看</el-button>
<el-button link type="primary" @click="openApplyDialog(scope.row)" v-hasPermi="['sealApply:list:apply']">审批</el-button>
</div>
-
</template>
</el-table-column>
</el-table>
--
Gitblit v1.9.2