From a70d04ddb0117cef12752422fa33c864144bf8db Mon Sep 17 00:00:00 2001
From: 王恒 <318726284@qq.com>
Date: 星期五, 18 七月 2025 17:02:42 +0800
Subject: [PATCH] '对接导入导出接口'

---
 /dev/null                         |   44 -----------
 src/api/system/manage.ts          |   16 ++--
 src/views/system/manage/index.vue |  162 ++++++++++++++++++++++++++-------------
 3 files changed, 115 insertions(+), 107 deletions(-)

diff --git a/src/api/system/manage.js b/src/api/system/manage.js
deleted file mode 100644
index 274c55a..0000000
--- a/src/api/system/manage.js
+++ /dev/null
@@ -1,44 +0,0 @@
-import request from '@/utils/request'
-
-// 鏌ヨ璁″垝绠$悊鍒楄〃
-export function listManage(query) {
-  return request({
-    url: '/system/manage/list',
-    method: 'get',
-    params: query
-  })
-}
-
-// 鏌ヨ璁″垝绠$悊璇︾粏
-export function getManage(id) {
-  return request({
-    url: '/system/manage/' + id,
-    method: 'get'
-  })
-}
-
-// 鏂板璁″垝绠$悊
-export function addManage(data) {
-  return request({
-    url: '/system/manage',
-    method: 'post',
-    data: data
-  })
-}
-
-// 淇敼璁″垝绠$悊
-export function updateManage(data) {
-  return request({
-    url: '/system/manage',
-    method: 'put',
-    data: data
-  })
-}
-
-// 鍒犻櫎璁″垝绠$悊
-export function delManage(id) {
-  return request({
-    url: '/system/manage/' + id,
-    method: 'delete'
-  })
-}
diff --git a/src/api/system/manage.ts b/src/api/system/manage.ts
index 9450bb0..52fca89 100644
--- a/src/api/system/manage.ts
+++ b/src/api/system/manage.ts
@@ -1,7 +1,7 @@
 import request from "@/utils/request";
 
 // 鏌ヨ璁″垝绠$悊鍒楄〃
-export function listManage(query) {
+export function listManage(query: any) {
   return request({
     url: "/system/manage/list",
     method: "get",
@@ -10,7 +10,7 @@
 }
 
 // 鏌ヨ璁″垝绠$悊璇︾粏
-export function getManage(id) {
+export function getManage(id: any) {
   return request({
     url: "/system/manage/" + id,
     method: "get",
@@ -18,25 +18,25 @@
 }
 
 // 鏂板璁″垝绠$悊
-export function addManage(data) {
+export function addManage(data: any) {
   return request({
-    url: "/system/manage",
+    url: "/system/manage/add",
     method: "post",
     data: data,
   });
 }
 
 // 淇敼璁″垝绠$悊
-export function updateManage(data) {
+export function updateManage(data: any) {
   return request({
-    url: "/system/manage",
-    method: "put",
+    url: "/system/manage/upd",
+    method: "post",
     data: data,
   });
 }
 
 // 鍒犻櫎璁″垝绠$悊
-export function delManage(id) {
+export function delManage(id: any) {
   return request({
     url: "/system/manage/" + id,
     method: "delete",
diff --git a/src/views/system/manage/index.vue b/src/views/system/manage/index.vue
index 118edb2..eed9aa5 100644
--- a/src/views/system/manage/index.vue
+++ b/src/views/system/manage/index.vue
@@ -44,6 +44,9 @@
       :default-expand-all="isExpandAll" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
       @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
+      <el-table-column prop="planNo" label="搴忓彿" width="55">
+        <template #default="scope">{{ scope.$index + 1 }}</template>
+      </el-table-column>
       <el-table-column prop="planNo" label="璁″垝缂栧彿" width="180"></el-table-column>
       <el-table-column prop="planName" label="璁″垝鍚嶇О" width="180"></el-table-column>
       <el-table-column prop="makeOrgName" label="鍒跺畾鏈烘瀯" width="180"></el-table-column>
@@ -58,7 +61,7 @@
       <el-table-column prop="planStatus" label="鐘舵��" width="180"></el-table-column>
       <el-table-column label="鎿嶄綔" align="center" fixed="right" class-name="small-padding fixed-width" width="240">
         <template #default="scope">
-          <el-link type="info" @click="createQrcodeHandler(scope.row)">鏌ョ湅</el-link>
+          <el-link type="info" @click="handleView(scope.row)">鏌ョ湅</el-link>
           <el-divider direction="vertical" />
           <el-link type="primary" @click="handleAdd(scope.row)">缂栬緫</el-link>
           <el-divider direction="vertical" />
@@ -74,32 +77,44 @@
       <el-form ref="deptRef" :model="form" :rules="rules" label-width="140px">
         <el-row :gutter="20">
           <el-col :span="12">
+            <el-form-item label="璁″垝缂栧彿" prop="planNo">
+              <el-input v-model="form.planNo" placeholder="璇疯緭鍏ヨ鍒掑悕绉�" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
             <el-form-item label="璁″垝鍚嶇О" prop="planName">
               <el-input v-model="form.planName" placeholder="璇疯緭鍏ヨ鍒掑悕绉�" />
             </el-form-item>
           </el-col>
+        </el-row>
+        <el-row :gutter="20">
           <el-col :span="12">
             <el-form-item label="鍒跺畾璁″垝鐨勬満鏋�" prop="makeOrgName">
               <el-input v-model="form.makeOrgName" placeholder="璇疯緭鍏ュ埗瀹氳鍒掔殑鏈烘瀯" />
             </el-form-item>
           </el-col>
-        </el-row>
-        <el-row :gutter="20">
           <el-col :span="12">
             <el-form-item label="琚鏌ョ殑瀵硅薄" prop="checkdObject">
               <el-input v-model="form.checkdObject" placeholder="璇疯緭鍏ヨ妫�鏌ョ殑瀵硅薄" />
             </el-form-item>
           </el-col>
+        </el-row>
+        <el-row :gutter="20">
           <el-col :span="12">
             <el-form-item label="缁熶竴绀句細淇$敤浠g爜" prop="unifiedSocialCreditCode">
               <el-input v-model="form.unifiedSocialCreditCode" placeholder="璇疯緭鍏ョ粺涓�绀句細淇$敤浠g爜" />
             </el-form-item>
           </el-col>
+          <el-col :span="12">
+            <el-form-item label="鎵�灞炶涓�" prop="industry">
+              <el-input v-model="form.industry" placeholder="璇疯緭鍏ユ墍灞炶涓�" />
+            </el-form-item>
+          </el-col>
         </el-row>
         <el-row :gutter="20">
           <el-col :span="12">
-            <el-form-item label="琛屼笟" prop="industry">
-              <el-input v-model="form.industry" placeholder="璇疯緭鍏ヨ涓�" />
+            <el-form-item label="妫�鏌ユ柟寮�" prop="executiveSection">
+              <el-input v-model="form.checkdType" placeholder="璇疯緭鍏ユ鏌ユ柟寮�" />
             </el-form-item>
           </el-col>
           <el-col :span="12">
@@ -117,19 +132,24 @@
         </el-row>
         <el-row :gutter="20">
           <el-col :span="12">
+            <el-form-item label="璁″垝鏈堜唤" prop="planMonth">
+              <el-date-picker v-model="form.planMonth" type="month" format="YYYY-MM" value-format="YYYY-MM"
+                placeholder="璇烽�夋嫨璁″垝鏈堜唤" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
             <el-form-item label="璁″垝棰戠巼" prop="planFrequency">
               <el-input v-model="form.planFrequency" placeholder="璇疯緭鍏ヨ鍒掗鐜�" />
             </el-form-item>
           </el-col>
+        </el-row>
+        <el-row :gutter="20">
           <el-col :span="12">
-            <el-form-item label="璁″垝鏈堜唤" prop="planMonth">
-              <el-input v-model="form.planMonth" placeholder="璇疯緭鍏ヨ鍒掓湀浠�" />
+            <el-form-item label="鐘舵��" prop="planStatus">
+              <el-input v-model="form.planStatus" placeholder="璇疯緭鍏ョ姸鎬�" />
             </el-form-item>
           </el-col>
         </el-row>
-        <!-- <el-form-item label="鐘舵��">
-          <el-switch v-model="form.companyStatus" :active-value="0" :inactive-value="1"></el-switch>
-        </el-form-item> -->
       </el-form>
       <template #footer>
         <div class="dialog-footer">
@@ -138,9 +158,6 @@
         </div>
       </template>
     </el-dialog>
-    <exportRecord ref="exportRecordCom" :recordRow="recordRow" @uploadList="getList"></exportRecord>
-    <judgeCom ref="judgeComRef" @upload="getList"></judgeCom>
-    <createQrcode ref="createQrcodeRef"></createQrcode>
 
     <!-- 璁″垝瀵煎叆瀵硅瘽妗� -->
     <el-dialog :title="upload.title" v-model="upload.open" width="400px" append-to-body>
@@ -165,18 +182,61 @@
         </div>
       </template>
     </el-dialog>
+
+    <!-- 璁″垝璇︾粏 -->
+    <el-dialog title="璁″垝璇︽儏" v-model="planOpen" width="700px" append-to-body>
+      <el-form label-width="140px">
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="璁″垝缂栧彿锛�">{{ planDetail.planNo }}</el-form-item>
+            <el-form-item label="璁″垝鍚嶇О锛�">{{ planDetail.planName }}</el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="鍒跺畾璁″垝鐨勬満鏋勶細">{{ planDetail.makeOrgName }}</el-form-item>
+            <el-form-item label="琚鏌ョ殑瀵硅薄锛�">{{ planDetail.checkdObject }}</el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="缁熶竴绀句細淇$敤浠g爜锛�">{{ planDetail.unifiedSocialCreditCode }}</el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="鎵�灞炶涓氾細">{{ planDetail.industry }}</el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="妫�鏌ユ柟寮忥細">{{ planDetail.checkdType }}</el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="鎵ц绉戝锛�">{{ planDetail.executiveSection }}</el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="妫�鏌ュ唴瀹癸細">{{ planDetail.checkdContent }}</el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="璁″垝鏈堜唤锛�">{{ planDetail.planMonth }}</el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="璁″垝棰戠巼锛�">{{ planDetail.planFrequency }}</el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="鐘舵�侊細">{{ planDetail.planStatus }}</el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+      <template #footer>
+        <div class="dialog-footer">
+          <el-button @click="planOpen = false; planDetail = {}">鍏� 闂�</el-button>
+        </div>
+      </template>
+    </el-dialog>
   </div>
 </template>
 
 <script setup name="Dept">
 import { getToken } from "@/utils/auth";
 import { listCompany, addCompany, updStatus, delCompany, updateCompany, getCompany } from "@/api/system/company/company";
-import { listManage } from "@/api/system/manage";
+import { listManage, addManage, getManage, updateManage, delManage } from "@/api/system/manage";
 import { computed } from "vue";
-import { judgeStatus, companyStatus, scopeList } from '@/utils/mapList/index.ts'
 import useSettingsStore from "@/store/modules/settings";
 import { download } from '@/utils/request'; // 涓嬭浇鏂囦欢
-const thcolor = computed(() => useSettingsStore().theme);
 const { proxy } = getCurrentInstance();
 const { sys_normal_disable } = proxy.useDict("sys_normal_disable");
 const deptList = ref([]);
@@ -184,25 +244,10 @@
 const loading = ref(true);
 const showSearch = ref(true);
 const title = ref("");
-const deptOptions = ref([]);
 const isExpandAll = ref(false);
 const refreshTable = ref(true);
-const exporttem = ref()
-const exportRecordCom = ref()
-const judgeComRef = ref()
-const createQrcodeRef = ref()
-const options = reactive({
-  companyStatus: [
-    {
-      label: '姝e父',
-      value: 0
-    },
-    {
-      label: '绂佺敤',
-      value: 1
-    },
-  ],
-})
+const planOpen = ref(false);
+const planDetail = ref({});
 const data = reactive({
   form: {},
   queryParams: {
@@ -214,6 +259,7 @@
     total: 1
   },
   rules: {
+    planNo: [{ required: true, message: "璁″垝缂栧彿涓嶈兘涓虹┖", trigger: "blur" }],
     planName: [{ required: true, message: "璁″垝鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }],
     makeOrgName: [{ required: true, message: "鍒跺畾璁″垝鐨勬満鏋勪笉鑳戒负绌�", trigger: "blur" }],
     checkdObject: [{ required: true, message: "琚鏌ュ璞′笉鑳戒负绌�", trigger: "blur" }],
@@ -223,6 +269,8 @@
     executiveSection: [{ required: true, message: "鎵ц绉戝涓嶈兘涓虹┖", trigger: "blur" }],
     planFrequency: [{ required: true, message: "璁″垝棰戞涓嶈兘涓虹┖", trigger: "blur" }],
     planMonth: [{ required: true, message: "璁″垝鏈堜唤涓嶈兘涓虹┖", trigger: "blur" }],
+    checkdType: [{ required: true, message: "妫�鏌ユ柟寮忎笉鑳戒负绌�", trigger: "blur" }],
+    planStatus: [{ required: true, message: "鐘舵�佷笉鑳戒负绌�", trigger: "blur" }],
   },
 });
 
@@ -243,8 +291,7 @@
 });
 
 const { queryParams, form, rules } = toRefs(data);
-const recordRow = ref([])
-/** 鏌ヨ浼佷笟鍒楄〃 */
+/** 鏌ヨ璁″垝鍒楄〃 */
 function getList() {
   loading.value = true;
   listManage(queryParams.value).then((response) => {
@@ -262,6 +309,7 @@
 /** 琛ㄥ崟閲嶇疆 */
 function reset() {
   form.value = {
+    planNo: '', // 璁″垝缂栧彿
     planName: '', // 璁″垝鍚嶇О
     makeOrgName: '', // 鍒跺畾鏈烘瀯
     checkdObject: '', // 琚鏌ュ璞�
@@ -271,6 +319,8 @@
     executiveSection: '', // 鎵ц绉戝
     planFrequency: '', // 璁″垝棰戞
     planMonth: '', // 璁″垝鏈堜唤
+    checkdType: '', // 妫�鏌ユ柟寮�
+    planStatus: '', // 鐘舵��
   };
   proxy.resetForm("deptRef");
 }
@@ -285,22 +335,28 @@
   handleQuery();
 }
 function getDetails(id) {
-  getCompany(id).then((response) => {
+  getManage(id).then((response) => {
     form.value = response.data;
     open.value = true;
-    // title.value = "鏌ョ湅浼佷笟";
   });
 }
+
+/** 璇︾粏鎸夐挳鎿嶄綔 */
+function handleView(row) {
+  planOpen.value = true;
+  planDetail.value = row
+  planOpen.value = true;
+}
+
 /** 鏂板鎸夐挳鎿嶄綔 */
 function handleAdd(row) {
   if (row) {
-    // form.value = row
     title.value = "缂栬緫璁″垝";
-    getDetails(row.companyId)
+    getDetails(row.id)
   } else {
-    form.value = {
-      companyStatus: 0
-    }
+    // form.value = {
+    //   companyStatus: 0
+    // }
     title.value = "娣诲姞璁″垝";
     open.value = true;
   }
@@ -310,14 +366,14 @@
 function submitForm() {
   proxy.$refs["deptRef"].validate((valid) => {
     if (valid) {
-      if (form.value.companyId != undefined) {
-        updateCompany(form.value).then((response) => {
+      if (form.value.id != undefined) {
+        updateManage(form.value).then((response) => {
           proxy.$modal.msgSuccess("淇敼鎴愬姛");
           open.value = false;
           getList();
         });
       } else {
-        addCompany(form.value).then((response) => {
+        addManage(form.value).then((response) => {
           proxy.$modal.msgSuccess("鏂板鎴愬姛");
           open.value = false;
           getList();
@@ -331,7 +387,7 @@
   proxy.$modal
     .confirm('鏄惁纭鍒犻櫎璇ユ暟鎹�?')
     .then(function () {
-      return delCompany({ delId: row.companyId });
+      return delManage(row.id);
     })
     .then(() => {
       getList();
@@ -353,7 +409,7 @@
 
 /** 涓嬭浇妯℃澘鎿嶄綔 */
 function importTemplate() {
-  proxy.download("system/user/importTemplate", {}, `user_template_${new Date().getTime()}.xlsx`);
+  proxy.download("system/manage/exportTemplate", {}, `plan_template_${new Date().getTime()}.xlsx`);
 }
 
 // 淇敼浼佷笟淇℃伅
@@ -367,18 +423,14 @@
   })
 }
 
-function createQrcodeHandler(row) {
-  createQrcodeRef.value.openDialog(row)
-}
 let valueArr = []
 function downLoadCode() {
-  download('/system/company/downloadQrcode', {
-    companyIds: valueArr.join()
-  }, "浼佷笟鍥剧墖.zip")
+  download('/system/manage/export', {
+    ids: valueArr.join()
+  }, `plan_${new Date().getTime()}.xlsx`)
 }
 function handleSelectionChange(e) {
-  console.log(e)
-  valueArr = e.map(item => item.companyId)
+  valueArr = e.map(item => item.id)
 }
 getList();
 function selectableFun(e) {

--
Gitblit v1.9.1