From 592c1750b148874737cdfba4b22b6229f9805fe6 Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: 星期三, 02 七月 2025 14:55:27 +0800
Subject: [PATCH] 新增

---
 src/views/build/conpanyFunctionConsult/industryTemplate/components/editDialog.vue |   49 +++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 43 insertions(+), 6 deletions(-)

diff --git a/src/views/build/conpanyFunctionConsult/industryTemplate/components/editDialog.vue b/src/views/build/conpanyFunctionConsult/industryTemplate/components/editDialog.vue
index 79b1e9c..a8c2cd4 100644
--- a/src/views/build/conpanyFunctionConsult/industryTemplate/components/editDialog.vue
+++ b/src/views/build/conpanyFunctionConsult/industryTemplate/components/editDialog.vue
@@ -3,19 +3,33 @@
     <el-dialog
         v-model="dialogVisible"
         :title="state.title"
-        width="700px"
+        width="600px"
         :before-close="handleClose"
         :close-on-press-escape="false"
         :close-on-click-modal="false"
     >
       <el-form :model="state.form" size="default" ref="superRef" :rules="state.formRules" label-width="150px" >
+        <el-form-item v-if="state.isAdmin" label="企业:" prop="companyId">
+          <el-select v-model="state.form.companyId" placeholder="请选择" clearable style="width: 100%">
+            <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="templateName">
           <el-input v-model.trim="state.form.templateName" :disabled="state.title =='查看'" placeholder="模板名称"></el-input>
         </el-form-item>
         <el-form-item label="行业:" prop="industryType">
-          <el-select v-model="state.form.industryType" placeholder="请选择" clearable>
-            <el-option key="1" label="化工" :value="1"></el-option>
-            <el-option key="2" label="安防" :value="2"></el-option>
+          <el-select v-model="state.form.industryType" placeholder="请选择" clearable style="width: 100%">
+            <el-option
+                v-for="item in state.industryList"
+                :key="item.id"
+                :label="item.name"
+                :value="item.id">
+            </el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="模板文件:" prop="filePath">
@@ -45,6 +59,7 @@
 import {addIndustryTemp, updateIndustryTemp, updateInfoPlatforms} from "@/api/staffManage/staff";
 import {getToken} from "@/utils/auth";
 import {delPic} from "@/api/onlineEducation/banner";
+import {getIndustry} from "@/api/system/industry";
 
 const emit = defineEmits(["getList"]);
 const dialogVisible = ref(false)
@@ -63,14 +78,19 @@
     templateName: '',
     industryType: '',
     filePath: '',
+    fileName: '',
     format: '',
     companyId: null
   },
   formRules:{
+    companyId: [{ required: true, message: '请选择企业', trigger: 'blur' }],
     templateName: [{ required: true, message: '请输入模板名称', trigger: 'blur' }],
     industryType: [{ required: true, message: '请选择行业类型', trigger: 'blur' }],
     filePath: [{ required: true, validator: checkFiles, trigger: 'blur' }]
   },
+  isAdmin: false,
+  companyList: [],
+  industryList: [],
   uploadUrl: import.meta.env.VITE_APP_BASE_API + '/system/common/uploadFile',
   header: {
     Authorization: getToken()
@@ -82,9 +102,14 @@
 
 });
 
-const openDialog = async (type, value,companyId) => {
+const openDialog = async (type, value,companyId, isAdmin, companyList) => {
+  state.isAdmin = isAdmin
+  if(isAdmin){
+    state.companyList = companyList
+  }
   state.title = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '查看'
   state.form.companyId = companyId
+  await getIndustryList()
   if(state.title == '编辑'||state.title == '查看'){
     Object.keys(state.form).forEach(key => {
       if (key in value) {
@@ -94,7 +119,7 @@
     if(value.filePath) {
       const obj = {
         url: value.filePath,
-        name: '模板文件'
+        name: value.fileName
       }
       state.fileList = [obj]
     }
@@ -103,6 +128,14 @@
 }
 
 
+const getIndustryList = async () => {
+  const res = await getIndustry()
+  if(res.code == 200){
+    state.industryList = res.data.data
+  }else{
+    ElMessage.warning(res.message)
+  }
+}
 const onSubmit = async () => {
   const valid = await superRef.value.validate();
   if(valid){
@@ -133,6 +166,7 @@
 
 const handleAvatarSuccess = (res, uploadFile) => {
   if(res.code == 200){
+    state.form.fileName = res.data.originName
     state.form.filePath = res.data.path
     state.form.format = '.' + res.data.filename.split('.')[1]
   }else{
@@ -169,6 +203,7 @@
       // })
       state.form.filePath = ''
       state.form.format = ''
+      state.form.fileName = ''
     }else{
       ElMessage({
         type: 'warning',
@@ -186,9 +221,11 @@
     templateName: '',
     industryType: '',
     filePath: '',
+    fileName: '',
     format: '',
     companyId: null
   }
+  state.fileList = []
   superRef.value.clearValidate();
   superRef.value.resetFields()
   dialogVisible.value = false;

--
Gitblit v1.9.2