From facea208b2fc7c8c7a0d176df06305b866c6520f Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: Wed, 17 Jun 2026 08:56:00 +0800
Subject: [PATCH] 中科大支线—申购功能

---
 src/views/hazardousChemicals/subscribeApplyManage/approval/components/editDialog.vue |  105 +++++++++++++++++-----------------------------------
 1 files changed, 35 insertions(+), 70 deletions(-)

diff --git a/src/views/hazardousChemicals/subscribeApplyManage/approval/components/editDialog.vue b/src/views/hazardousChemicals/subscribeApplyManage/approval/components/editDialog.vue
index 83a8e54..dac5306 100644
--- a/src/views/hazardousChemicals/subscribeApplyManage/approval/components/editDialog.vue
+++ b/src/views/hazardousChemicals/subscribeApplyManage/approval/components/editDialog.vue
@@ -9,36 +9,25 @@
         :close-on-click-modal="false"
     >
       <el-form :model="state.form" size="default" ref="busRef" :rules="state.formRules" label-width="150px" >
-        <el-form-item required label= "危化品列表" >
+        <el-form-item  label= "危化品列表" >
           <div style="display: flex;width: 100%;margin-top: 5px">
-            <el-table :data="state.form.hazardousTargets" :border="true">
+            <el-table :data="state.form.subscribeHazmats" :border="true">
               <el-table-column type="index" label="序号" width="80" align="center"></el-table-column>
               <el-table-column label="危化品名称" align="center"  >
                 <template #default="{row,$index}">
-                  <el-form-item :prop="'hazardousTargets.' + '[' + $index + ']' + '.name'" >
-                    <span>{{row.name}}</span>
+                  <el-form-item :prop="'subscribeHazmats.' + '[' + $index + ']' + '.hazmatName'" >
+                    <span>{{row.hazmatName}}</span>
                   </el-form-item>
                 </template>
               </el-table-column>
               <el-table-column label="数量" align="center"  >
                 <template #default="{row,$index}">
-                  <el-form-item :prop="'hazardousTargets.' + '[' + $index + ']' + '.num'">
-                    <span>{{row.num}}</span>
+                  <el-form-item :prop="'subscribeHazmats.' + '[' + $index + ']' + '.hazmatCount'">
+                    <span>{{row.hazmatCount}}</span>
                   </el-form-item>
                 </template>
               </el-table-column>
-              <el-table-column label="操作" align="center" class-name="small-padding fixed-width" v-if="title !== '查看'" >
-                <template #default="scope" >
-                  <el-button link type="danger"  @click="handleDelete(scope.row)" >删除</el-button>
-                </template>
-              </el-table-column>
             </el-table>
-            <el-button
-                v-if="title !== '查看'"
-                style="margin-left: 20px"
-                type="primary"
-                @click="addObject"
-            >新增</el-button>
           </div>
         </el-form-item>
         <el-form-item label="申购文件:">
@@ -46,20 +35,20 @@
             <el-link  type="primary" @click="openFile(state.form.filePath)">{{state.form.fileName}}</el-link>
           </div>
         </el-form-item>
-        <el-form-item label="审批意见:" v-if="title === '审批' && state.form.state == 0" >
+        <el-form-item label="审批意见:" v-if="title === '审批'" prop="status">
           <div style="display: flex;flex-direction: column;width: 70%">
-            <el-radio-group v-model="state.form.regestState">
-              <el-radio :label="0">通过</el-radio>
-              <el-radio :label="1">驳回</el-radio>
+            <el-radio-group v-model="state.form.status">
+              <el-radio :label="1">通过</el-radio>
+              <el-radio :label="2">驳回</el-radio>
             </el-radio-group>
-            <el-input v-if="state.form.regestState == 1" v-model="state.form.regest" type="textarea" :rows="5"></el-input>
+            <el-input v-if="state.form.status == 2" v-model="state.form.opinion" type="textarea" placeholder="请输入审批意见" :rows="5"></el-input>
           </div>
         </el-form-item>
-        <el-form-item label="审批状态:" v-if="title === '查看' && state.form.state != 0">
-          <span>{{state.form.state == 1 ? '审批通过' : '审批驳回' }}</span>
+        <el-form-item label="审批状态:" v-if="title === '查看' && state.form.status != 0" >
+          <span>{{state.form.status == 1 ? '审批通过' : '审批驳回' }}</span>
         </el-form-item>
-        <el-form-item label="审批意见:" v-if="title === '查看' && state.form.state == 2" style="width: 70%">
-          <el-input v-model="state.form.regest" type="textarea" :rows="5"></el-input>
+        <el-form-item label="审批意见:" v-if="title === '查看' && state.form.status == 2" style="width: 70%" >
+          <el-input v-model="state.form.opinion" type="textarea" :rows="5"></el-input>
         </el-form-item>
       </el-form>
       <template #footer v-if="title !=='查看'">
@@ -79,6 +68,7 @@
 import {getUser} from "@/api/hazardousChemicals/user";
 import {getToken} from "@/utils/auth";
 import {renderAsync} from "docx-preview";
+import {auditSubscribe} from "@/api/hazardousChemicals/subscribeApply";
 
 const dialogVisible = ref(false);
 const title = ref("");
@@ -88,46 +78,40 @@
 const state = reactive({
   form: {
     id: '',
-    creditCode: '',
-    name: '',
-    major: '',
-    phone: '',
-    code: '',
-    hazardousTargets:[],
+    opinion: null,
+    status: undefined,
+    subscribeHazmats:[],
   },
   formRules:{
-    creditCode: [{ required: true, message: '请输入企业信用代码', trigger: 'blur' }],
-    major:[{ required: true, message: '请输入负责人', trigger: 'blur' }],
-    type: [{ required: true, message: '请选择企业类型', trigger: 'blur' }],
+    status: [{ required: true, message: '请选择审批意见', trigger: 'blur' }],
   },
-
-  peopleList:[],
-  fileList:[],
-  uploadUrl: import.meta.env.VITE_APP_BASE_API + '/system/common/uploadFile',
-  header: {
-    Authorization: getToken()
-  },
-  fileLimit: 1,
 })
 
 
 const openDialog = async (type, value) => {
-  title.value = type === 'approval' ? '审批' : type ==='edit' ? '申购编辑' : '查看' ;
+  title.value = type === 'approval' ? '审批' : type ==='view' ? '查看' : '' ;
   state.form = JSON.parse(JSON.stringify(value));
   dialogVisible.value = true;
 }
 
 const onSubmit = async () => {
   const valid = await busRef.value.validate();
+  if(!state.form.status){
+    ElMessage.warning('请选择审批意见!')
+    return
+  }
   if(valid){
     if(title.value === '审批'){
-      const {id, ...data} = JSON.parse(JSON.stringify(state.form))
-      data.code = data.code.toUpperCase()
-      const res = await addCompany(data)
+      const {subscribeHazmats, ...data} = JSON.parse(JSON.stringify(state.form))
+      if(data.status == 2 && !data.opinion){
+        ElMessage.warning('请输入审批意见!')
+        return
+      }
+      const res = await auditSubscribe(data)
       if(res.code === 200){
         ElMessage({
           type: 'success',
-          message: '新增成功'
+          message: '审批成功'
         });
       }else{
         ElMessage.warning(res.message)
@@ -149,29 +133,10 @@
 const reset = () => {
   state.form = {
     id: '',
-    creditCode: '',
-    name: '',
-    major: '',
-    phone: '',
-    code: ''
+    opinion:null,
+    status:undefined,
+    subscribeHazmats:[],
   }
-}
-const addObject = () => {
-
-  state.form.hazardousTargets.push({name:'',num:null})
-}
-const handleDelete = (val) => {
-  state.form.hazardousTargets = state.form.hazardousTargets.filter(item=> item != val)
-}
-const selectValue =  (val) => {
-  if(!val){
-    state.form.userId = null
-  }
-  state.peopleList.forEach(item => {
-    if(item.name === val){
-      state.form.userId  = item.id
-    }
-  })
 }
 
 

--
Gitblit v1.9.2