From 9e4ea4987852902539e91ec438150c1deaa89742 Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: 星期五, 25 七月 2025 17:15:04 +0800
Subject: [PATCH] 修改

---
 src/views/build/conpanyFunctionConsult/digitalFileDep/project/projectSet/index.vue                  |  189 +++++++++++++++++
 src/views/build/conpanyFunctionConsult/digitalFileDep/project/projectSet/components/editDialog.vue  |  202 ++++++++++++++++++
 src/api/selfProblems/productFile.js                                                                 |   41 +++
 src/views/build/conpanyFunctionConsult/digitalFileDep/project/projectFile/components/dataDialog.vue |   49 ++++
 src/views/build/conpanyFunctionConsult/digitalFileDep/project/projectFile/index.vue                 |  121 +++++++++-
 public/fileProjectExample.docx                                                                      |    0 
 6 files changed, 581 insertions(+), 21 deletions(-)

diff --git a/public/fileProjectExample.docx b/public/fileProjectExample.docx
index 3b74f42..2fc8502 100644
--- a/public/fileProjectExample.docx
+++ b/public/fileProjectExample.docx
Binary files differ
diff --git a/src/api/selfProblems/productFile.js b/src/api/selfProblems/productFile.js
index 28cbe39..fb45fa4 100644
--- a/src/api/selfProblems/productFile.js
+++ b/src/api/selfProblems/productFile.js
@@ -41,3 +41,44 @@
     })
 }
 
+//项目
+export function getProductSetPage(params) {
+    return request({
+        url: '/quality-target/item/list',
+        method: 'get',
+        params: params
+    })
+}
+export function getProductSet(params) {
+    return request({
+        url: '/quality-target/item/listAll',
+        method: 'get',
+        params: params
+    })
+}
+
+
+export function addProductSet(data) {
+    return request({
+        url: '/quality-target/item/insert',
+        method: 'post',
+        data: data
+    })
+}
+
+export function editProductSet(params) {
+    return request({
+        url: `/quality-target/item/update`,
+        method: 'post',
+        data: params
+    })
+}
+
+export function delProductSet(data) {
+    return request({
+        url: `/quality-target/item/deleted?itemId=${data}`,
+        method: 'get'
+    })
+}
+
+
diff --git a/src/views/build/conpanyFunctionConsult/digitalFileDep/project/projectFile/components/dataDialog.vue b/src/views/build/conpanyFunctionConsult/digitalFileDep/project/projectFile/components/dataDialog.vue
index c9a3af0..5edbdec 100644
--- a/src/views/build/conpanyFunctionConsult/digitalFileDep/project/projectFile/components/dataDialog.vue
+++ b/src/views/build/conpanyFunctionConsult/digitalFileDep/project/projectFile/components/dataDialog.vue
@@ -9,6 +9,21 @@
         :close-on-click-modal="false"
     >
       <el-form :model="state.form" size="default" ref="superRef" :rules="state.formRules" label-width="150px" >
+        <el-form-item  label="项目名称:" prop="itemId">
+          <el-select v-model="state.form.itemId"
+           filterable
+           placeholder="请选择"
+           clearable style="width: 100%"
+          >
+            <el-option
+                v-for="item in state.projectList"
+                :key="item.id"
+                :label="item.itemName"
+                :value="item.id">
+            </el-option>
+          </el-select>
+
+        </el-form-item>
         <el-form-item label="文件编号:" prop="number">
           <el-input v-model.trim="state.form.number" :disabled="state.title =='查看'" placeholder="文件编号"></el-input>
         </el-form-item>
@@ -46,7 +61,8 @@
 import {getToken} from "@/utils/auth";
 import {delPic} from "@/api/onlineEducation/banner";
 import {addFile, editFile} from "@/api/qualityManage/range";
-import {addProductFile, editProductFile} from "@/api/selfProblems/productFile";
+import {addProductFile, editProductFile, getProductSet} from "@/api/selfProblems/productFile";
+import Cookies from "js-cookie";
 
 const emit = defineEmits(["getList"]);
 const dialogVisible = ref(false)
@@ -61,12 +77,14 @@
     companyId: null,
     catalogueId: null,
     erdact: '',
-    number: ''
+    number: '',
+    itemId: null
   },
   formRules:{
     number: [{ required: true, message: '请输入材料编号', trigger: 'blur' }],
     fileName: [{ required: true, message: '请输入材料名称', trigger: 'blur' }],
     filePath: [{ required: true, message: '请上传文件', trigger: 'blur' }],
+    itemId: [{ required: true, message: '请选择项目', trigger: 'blur' }],
   },
   isAdmin: false,
   companyList: [],
@@ -76,16 +94,21 @@
     Authorization: getToken()
   },
   fileLimit: 1,
-  fileList: []
+  fileList: [],
+  projectList: [],
+  userId: null,
 })
 onMounted(() => {
 
 });
 
-const openDialog = async (type, value,companyId,catalogueId) => {
+const openDialog = async (type, value,companyId,catalogueId,userId) => {
+  const userInfo = JSON.parse(Cookies.get('userInfo'))
+  state.isAdmin = userInfo.userType === 0;
   state.title = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '查看'
   state.form.companyId = companyId
   state.form.catalogueId = catalogueId
+  state.userId = userId
   state.form.type = 2
   if(state.title == '编辑'||state.title == '查看'){
     Object.keys(state.form).forEach(key => {
@@ -100,8 +123,23 @@
       }
       state.fileList = [obj]
     }
+    state.form.itemId = state.form.itemId == 0 ? null : state.form.itemId
   }
+  await getProjectList()
   dialogVisible.value = true
+}
+const getProjectList = async () => {
+  const param = {
+    companyId: state.form.companyId,
+    userId: state.isAdmin ? null : state.userId
+  }
+  const res = await getProductSet(param);
+  if(res.code === 200){
+    state.projectList = res.data
+  }else{
+    ElMessage.warning(res.message)
+  }
+
 }
 
 const onSubmit = async () => {
@@ -192,7 +230,8 @@
     companyId: null,
     catalogueId: null,
     erdact: '',
-    number: ''
+    number: '',
+    itemId: null
   }
   state.fileList = []
   superRef.value.clearValidate();
diff --git a/src/views/build/conpanyFunctionConsult/digitalFileDep/project/projectFile/index.vue b/src/views/build/conpanyFunctionConsult/digitalFileDep/project/projectFile/index.vue
index bc5f160..e0f0bf2 100644
--- a/src/views/build/conpanyFunctionConsult/digitalFileDep/project/projectFile/index.vue
+++ b/src/views/build/conpanyFunctionConsult/digitalFileDep/project/projectFile/index.vue
@@ -22,6 +22,26 @@
             />
           </el-select>
         </el-form-item>
+        <el-form-item style="margin-left: 15px" label="项目名称:">
+          <el-select v-model="data.queryParams.itemId"
+                     filterable
+                     placeholder="请选择"
+                     clearable style="width: 100%"
+                     @change="changePro"
+                    >
+            <el-option
+                v-for="item in data.projectList"
+                :key="item.id"
+                :label="item.itemName"
+                :value="item.id">
+            </el-option>
+          </el-select>
+
+        </el-form-item>
+        <el-form-item style="margin-left: 15px">
+          <el-button  type="primary" @click="query">查询</el-button>
+          <el-button  type="primary" plain @click="reset">重置</el-button>
+        </el-form-item>
         <el-form-item>
           <el-button
               style="margin-left: 15px"
@@ -67,6 +87,7 @@
           <el-table style="margin:15px 0;width: 100%" :data="state.form.dataList" :border="true" >
             <el-table-column type="index" label="序号" width="80" align="center"></el-table-column>
             <el-table-column label="目录" prop="catalogueName" align="center" width="130"  :show-overflow-tooltip="true" />
+            <el-table-column label="项目名称" prop="itemName" align="center" width="130"  :show-overflow-tooltip="true" />
             <el-table-column label="文件编号" prop="number" align="center"  />
             <el-table-column label="文件名称" prop="fileNameSimple" align="center"  />
             <el-table-column label="文件" prop="fileName" align="center" >
@@ -113,7 +134,7 @@
 import axios from "axios";
 import TEditor from "@/components/Tinymce/Tinymce.vue";
 import {renderAsync} from "docx-preview";
-import {delProductFile, getProductFilePage} from "@/api/selfProblems/productFile";
+import {delProductFile, getProductFilePage, getProductSet} from "@/api/selfProblems/productFile";
 import {generateWordDocument} from "@/utils/exportWord";
 
 const { proxy } = getCurrentInstance();
@@ -128,9 +149,12 @@
   queryParams: {
     type: 3,
     companyId: null,
+    itemId: null,
   },
   companyList: [],
+  projectList: [],
   isAdmin: false,
+  userId: null,
   defaultProps: {
     children: 'children',
     label: 'name',
@@ -154,6 +178,8 @@
   const userInfo = JSON.parse(Cookies.get('userInfo'))
   console.log("userInfo",userInfo)
   data.isAdmin = userInfo.userType === 0;
+  data.userId = userInfo.id
+
   if(data.isAdmin){
     await getCompanyList()
     data.queryParams.companyId = data.companyList[0].id
@@ -163,6 +189,7 @@
     data.queryParams.companyId = userInfo.companyId
     state.form.companyId = userInfo.companyId
   }
+  await getProjectList()
   await getList();
   if(data.treeData.length >0){
     // state.form.catalogueId = data.treeData[0].id
@@ -171,7 +198,24 @@
 
   }
 
+
 })
+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 getList = async () => {
   data.treeData = [];
   loading.value = true;
@@ -263,15 +307,23 @@
       state.form.companyId = item.id
     }
   })
-  await getList()
-  if(data.treeData.length >0 ){
-    // state.form.catalogueId = data.treeData[0].id
-    // currentSelectedKey.value = state.form.catalogueId
-    await getFileList()
-  }else {
-    state.form.dataList = []
-  }
+  data.projectList = []
+  data.queryParams.itemId = null
+  await getProjectList()
 
+  // await getList()
+  // if(data.treeData.length >0 ){
+  //   // state.form.catalogueId = data.treeData[0].id
+  //   // currentSelectedKey.value = state.form.catalogueId
+  //   await getFileList()
+  // }else {
+  //   state.form.dataList = []
+  // }
+
+}
+const changePro = () => {
+  state.form.id = ''
+  state.form.catalogueId = null
 }
 
 const handleNodeClick = async (val) => {
@@ -318,11 +370,21 @@
   }
 }
 const openDataDialog = (type, value) => {
+  if(type =='edit'){
+    state.form.catalogueId = value.catalogueId
+  }
   if(!state.form.catalogueId){
     ElMessage.warning('请先选择左侧目录!')
     return
   }
-  dialogRef.value.openDialog(type, value, state.form.companyId,state.form.catalogueId);
+  dialogRef.value.openDialog(type, value, state.form.companyId,state.form.catalogueId,data.userId);
+  nextTick(() => {
+    if(!currentSelectedKey.value){
+      state.form.catalogueId = null
+    }
+  })
+
+
 }
 const openRecordDialog = (type, value) => {
   if(!state.form.catalogueId){
@@ -392,23 +454,47 @@
 }
 const reset = async () => {
   data.queryParams = {
-    companyId: '',
+    companyId: data.isAdmin ? null : data.queryParams.companyId,
     pageNum: 1,
     pageSize: 10,
+    itemId: null,
   }
+  state.form.id = ''
+  state.form.catalogueId = null
   data.companyList = [];
+  data.treeData = []
+  if(data.isAdmin){
+    await  getCompanyList()
+    data.queryParams.companyId = data.companyList[0].id
+    data.queryParams.companyName = data.companyList[0].name
+    state.form.companyId = data.companyList[0].id
+  }
+  await getProjectList();
   await getList();
-  await  getCompanyList()
-  data.queryParams.companyId = data.companyList[0].id
-  data.queryParams.companyName = data.companyList[0].name
-  state.form.companyId = data.companyList[0].id
+  if(data.treeData.length >0 ){
+    await getFileList()
+  }else {
+    state.form.dataList = []
+  }
+
+
+}
+const query = async () => {
+  await getList()
+  if(data.treeData.length >0 ){
+    await getFileList()
+  }else {
+    state.form.dataList = []
+  }
+
 }
 
 const getFileList = async () => {
   const queryParams = {
     companyId: state.form.companyId,
     catalogueId: state.form.catalogueId,
-    type: 2
+    type: 2,
+    itemId: data.queryParams.itemId
   }
   const res = await getProductFilePage(queryParams)
   if (res.code == 200) {
@@ -534,6 +620,8 @@
     }
   })
   const caralogList = idGroupToTree(dataList)
+  const itemList = idGroupToTree(data.projectList)
+
   table.tableList = caralogList.map((item,index) => {
     return {
       ...item,
@@ -565,6 +653,7 @@
     children: items
   }));
 }
+
 </script>
 
 <style scoped lang="scss">
diff --git a/src/views/build/conpanyFunctionConsult/digitalFileDep/project/projectSet/components/editDialog.vue b/src/views/build/conpanyFunctionConsult/digitalFileDep/project/projectSet/components/editDialog.vue
new file mode 100644
index 0000000..b706a2f
--- /dev/null
+++ b/src/views/build/conpanyFunctionConsult/digitalFileDep/project/projectSet/components/editDialog.vue
@@ -0,0 +1,202 @@
+<template>
+  <div class="notice">
+    <el-dialog
+        v-model="dialogVisible"
+        :title="title"
+        width="550px"
+        :before-close="handleClose"
+        :close-on-press-escape="false"
+        :close-on-click-modal="false"
+    >
+      <el-form :model="state.form" size="default" ref="busRef" :rules="state.formRules"  label-width="150px" >
+        <el-form-item label="企业名称:" prop="companyId" v-if="state.isAdmin">
+          <el-select v-model="state.form.companyId" filterable placeholder="请选择"  @change="selectValueCom"   clearable style="width: 100%" :disabled="title == '查看' || title == '编辑' || !state.isAdmin">
+            <el-option
+                v-for="item in state.companyList"
+                :key="item.id"
+                :label="item.name"
+                :value="item.id">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="项目名称:" prop="itemName" >
+          <el-input v-model="state.form.itemName" placeholder="项目名称" :disabled="title === '查看'"/>
+        </el-form-item>
+        <el-form-item label="项目参与人员:"  prop="users" >
+          <el-select
+              clearable
+              multiple
+              collapse-tags
+              collapse-tags-tooltip
+              v-model="state.students"
+              :disabled="state.title =='查看'"
+              filterable
+              style="width: 100%"
+          >
+            <el-option
+                v-for="item in state.peopleList"
+                :key="item.id"
+                :label="item.name"
+                :value="item.id"
+            />
+          </el-select>
+        </el-form-item>
+      </el-form>
+      <template #footer v-if="title !== '查看'">
+        <span class="dialog-footer">
+            <el-button @click="handleClose" size="default">取 消</el-button>
+            <el-button type="primary"   @click="onSubmit" size="default" v-preReClick>确认</el-button>
+        </span>
+      </template>
+    </el-dialog>
+  </div>
+</template>
+<script setup>
+import {nextTick, onMounted, reactive, ref, toRefs} from 'vue'
+import {ElMessage} from "element-plus";
+import Cookies from "js-cookie";
+import {getUser} from "@/api/onlineEducation/user";
+import {addProductSet, editProductSet} from "@/api/selfProblems/productFile";
+
+const dialogVisible = ref(false);
+const title = ref("");
+const busRef = ref();
+const length = ref()
+const emit = defineEmits(["getList"]);
+const state = reactive({
+  form: {
+    id: '',
+    companyId: null,
+    itemName: '',
+    users: []
+  },
+  formRules:{
+    companyId: [{ required: true, message: '请选择企业', trigger: 'blur' }],
+    itemName: [{ required: true, message: '请输入项目名称', trigger: 'blur' }],
+    users: [{ required: true, message: '请选择项目参与人员', trigger: 'blur' }],
+  },
+  isAdmin: false,
+  companyList: [],
+  students: []
+})
+
+onMounted(() => {
+
+})
+const openDialog = async (type, value,companyList) => {
+  const userInfo = JSON.parse(Cookies.get('userInfo'))
+  state.isAdmin = userInfo.userType === 0;
+  if(state.isAdmin){
+    state.companyList = companyList
+  }
+  title.value = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '查看' ;
+  if(type === 'edit' || type === 'review') {
+    state.form = JSON.parse(JSON.stringify(value));
+    state.students = state.form.users.map(i => i.userId)
+  }
+  await  getPeopleList()
+  dialogVisible.value = true;
+}
+
+const onSubmit = async () => {
+  state.form.users = state.students.map(item => {
+    return {
+      userId: item
+    }
+  })
+  const valid = await busRef.value.validate();
+  if(!state.isAdmin){
+    const userInfo = JSON.parse(Cookies.get('userInfo'))
+    state.form.companyId = userInfo.companyId
+  }
+  if(valid){
+    if(title.value === '新增'){
+      const {id, ...data} = JSON.parse(JSON.stringify(state.form))
+      const res = await addProductSet(data)
+      if(res.code === 200){
+        ElMessage({
+          type: 'success',
+          message: '新增成功'
+        });
+      }else{
+        ElMessage.warning(res.message)
+      }
+      emit("getList")
+      busRef.value.clearValidate();
+      reset();
+      dialogVisible.value = false;
+    }else if(title.value === '编辑'){
+      const {...data} = JSON.parse(JSON.stringify(state.form))
+      const res = await editProductSet(data)
+      if(res.code === 200){
+        ElMessage({
+          type: 'success',
+          message: '编辑成功'
+        });
+      }else{
+        ElMessage.warning(res.message)
+      }
+      emit("getList")
+      busRef.value.clearValidate();
+      reset();
+      dialogVisible.value = false;
+    }
+  }
+}
+
+const handleClose = () => {
+  busRef.value.clearValidate();
+  reset();
+  dialogVisible.value = false;
+  emit("getList")
+
+}
+const getPeopleList = async ()=> {
+  if(state.isAdmin && !state.form.companyId && (state.form.companyId == 0 || state.form.companyId == null)){
+    return
+  }
+  const queryParams = {
+    pageNum: 1,
+    pageSize: 9999,
+    companyId: state.form.companyId
+  }
+  const res = await getUser(queryParams)
+  if(res.code == 200){
+    state.peopleList = res.data.list?res.data.list:[]
+  }else{
+    ElMessage.warning(res.message)
+  }
+};
+const selectValueCom = () => {
+  state.students = []
+  state.form.users = []
+  getPeopleList()
+}
+const reset = () => {
+  state.form = {
+    id: '',
+    companyId: null,
+    itemName: '',
+    users: []
+  }
+  state.companyList = []
+  state.students = []
+}
+defineExpose({
+  openDialog
+});
+
+</script>
+
+<style scoped lang="scss">
+.notice{
+  :deep(.el-form .el-form-item__label) {
+    font-size: 15px;
+  }
+  .file {
+    display: flex;
+    flex-direction: column;
+    align-items: flex-start;
+  }
+}
+</style>
diff --git a/src/views/build/conpanyFunctionConsult/digitalFileDep/project/projectSet/index.vue b/src/views/build/conpanyFunctionConsult/digitalFileDep/project/projectSet/index.vue
new file mode 100644
index 0000000..acb66a1
--- /dev/null
+++ b/src/views/build/conpanyFunctionConsult/digitalFileDep/project/projectSet/index.vue
@@ -0,0 +1,189 @@
+<template>
+  <div class="app-container">
+    <div style="display: flex;justify-content: space-between">
+      <el-form :inline="true" style="display: flex;align-items: center;flex-wrap: wrap;" >
+        <el-form-item>
+          <el-button
+              v-if="userTpye == 0 || userTpye == 6"
+              type="primary"
+              plain
+              icon="Plus"
+              @click="openDialog('add',{})"
+          >新增</el-button>
+        </el-form-item>
+        <el-form-item v-if="isAdmin" label="企业:" >
+          <el-select v-model="data.queryParams.companyId" placeholder="请选择" clearable>
+            <el-option
+                v-for="item in companyList"
+                :key="item.id"
+                :label="item.name"
+                :value="item.id">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item v-if="isAdmin">
+          <el-button  type="primary" @click="getList">查询</el-button>
+          <el-button  type="primary" plain @click="reset">重置</el-button>
+        </el-form-item>
+      </el-form>
+    </div>
+    <!-- 表格数据 -->
+    <el-table v-loading="loading" :data="dataList" :border="true">
+      <el-table-column label="序号" type="index" align="center" width="80"/>
+      <el-table-column label="项目名称" prop="itemName" align="center" />
+      <el-table-column label="项目参与人员" align="center" >
+        <template #default="scope">
+          <div style="display: flex;flex-wrap: wrap;align-items: center;justify-content: center">
+            <div v-for="(item,index) in scope.row.users" style="display: flex" >{{item.userName}}<div v-if="scope.row.users && index !=scope.row.users.length -1" style="margin-right: 2px"> , </div></div>
+          </div>
+        </template>
+      </el-table-column>
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" v-if="userTpye == 0 || userTpye == 6">
+        <template #default="scope">
+          <el-button link type="primary" @click="openDialog('edit',scope.row)">编辑</el-button>
+          <el-button link type="danger" @click="handleDelete(scope.row)">删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    <pagination
+        v-show="total > 0"
+        :total="total"
+        v-model:page="queryParams.pageNum"
+        v-model:limit="queryParams.pageSize"
+        @pagination="getList"
+    />
+
+    <edit-dialog ref="dialogRef" @getList=getList></edit-dialog>
+  </div>
+</template>
+
+<script setup>
+import {getCurrentInstance, onMounted, onUnmounted, reactive, ref, toRefs} from "vue";
+import {ElMessage, ElMessageBox} from "element-plus";
+import {delCompany, getCompany} from "@/api/onlineEducation/company";
+import editDialog from './components/editDialog.vue'
+import useUserStore from "@/store/modules/user";
+import {delProductSet, getProductSetPage} from "@/api/selfProblems/productFile";
+import Cookies from "js-cookie";
+const userStore = useUserStore()
+const { proxy } = getCurrentInstance();
+const loading = ref(false);
+const dialogRef = ref();
+
+const data = reactive({
+  queryParams: {
+    pageNum: 1,
+    pageSize: 10,
+    companyId: null,
+    industryType: null,
+    type: '',
+    templateName: ''
+  },
+  total: 0,
+  dataList: [],
+  companyList: [],
+  industryList: [],
+  isAdmin: false,
+  typeList: [],
+  exportDialog: false,
+
+});
+const state = reactive({
+  form: {
+    id: null,
+    filePath: '',
+    companyId: null
+  },
+  formRules:{
+    companyId: [{ required: true, message: '请选择企业', trigger: 'blur' }],
+  },
+  exportFileList: [],
+})
+
+const { queryParams, total, dataList,companyList,industryList, isAdmin } = toRefs(data);
+const userTpye = ref()
+onMounted(async ()=>{
+  const userInfo = JSON.parse(Cookies.get('userInfo'))
+  userTpye.value = userInfo.userType
+  if(userStore.roles.includes('admin')){
+    data.isAdmin = true
+    data.queryParams.companyId = null
+    await getCompanyList()
+  }else{
+    data.isAdmin = false
+    data.queryParams.companyId = userStore.companyId
+  }
+  await getList()
+})
+
+onUnmounted(()=>{
+
+})
+const getList = async () => {
+  loading.value = true
+  const res = await getProductSetPage(data.queryParams)
+  if(res.code == 200){
+    data.dataList = res.data.list
+    data.total = res.data.total
+  }else{
+    ElMessage.warning(res.message)
+  }
+  loading.value = false
+}
+
+const getCompanyList = async ()=>{
+  const queryParams = {
+    pageNum: 1,
+    pageSize: 999
+  }
+  const res = await getCompany(queryParams)
+  if (res.code == 200) {
+    data.companyList = res.data.list?res.data.list:[]
+  } else {
+    ElMessage.warning(res.message)
+  }
+}
+
+const openDialog = (type, value) => {
+  dialogRef.value.openDialog(type, value, data.companyList);
+}
+/** 重置新增的表单以及其他数据  */
+const reset= async()=> {
+  if(data.isAdmin){
+    data.queryParams = {
+      pageNum: 1,
+      pageSize: 10,
+      companyId: null,
+    }
+    await getCompanyList()
+  }else {
+    data.queryParams = {
+      pageNum: 1,
+      pageSize: 10,
+      companyId: data.queryParams.companyId,
+    }
+  }
+  await getList()
+}
+const handleDelete = (val) => {
+  ElMessageBox.confirm(
+      '确定删除此条数据?',
+      '提示',
+      {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning',
+      })
+      .then( async() => {
+        const res = await delProductSet(val.id)
+        if(res.code == 200){
+          ElMessage.success('数据删除成功')
+          await getList()
+        }else{
+          ElMessage.warning(res.message)
+        }
+      })
+}
+
+
+</script>

--
Gitblit v1.9.2