ZaiZai hai 1 ano
pai
achega
c74e7cb354

+ 1 - 3
src/api/modules/project/project.js

@@ -42,9 +42,7 @@ export default {
         return HcApi({
             url: '/api/blade-manager/projectInfo/remove',
             method: 'post',
-            params: {
-                ids,
-            },
+            params: { ids },
         }, false)
     },
     async getProjectDeatilWbsId(id, ReferenceWbsTemplateId, ReferenceWbsTemplateType) {

+ 34 - 5
src/views/project/modules/list/info-dialog.vue

@@ -12,7 +12,7 @@
                 <div class="right">
                     <el-button hc-btn type="warning">编辑项目</el-button>
                     <el-button hc-btn type="primary">创建合同段</el-button>
-                    <el-button hc-btn type="danger">删除项目</el-button>
+                    <el-button hc-btn type="danger" @click="delProject">删除项目</el-button>
                 </div>
             </el-header>
             <el-container>
@@ -26,8 +26,9 @@
                     </hc-body>
                 </el-aside>
                 <el-main>
-                    <hc-body scrollbar padding="0px">
-                        <hc-card-item v-for="item in contractList" :key="item.id" class="hc-contract-list-card">
+                    <hc-body :scrollbar="contractList.length > 0" padding="0px">
+                        <hc-no-data v-if="contractList.length <= 0" />
+                        <hc-card-item v-for="item in contractList" v-else :key="item.id" class="hc-contract-list-card">
                             <div class="contract-type">
                                 <div v-if="item.contractType === 1" class="name bg-1">施工</div>
                                 <div v-if="item.contractType === 2" class="name bg-2">监理</div>
@@ -40,7 +41,7 @@
                                     <div class="action">
                                         <el-link type="warning">编辑合同段信息</el-link>
                                         <el-link v-if="item.contractType === 1" type="success">分配WBS</el-link>
-                                        <el-link type="danger">删除</el-link>
+                                        <el-link type="danger" @click="delContract(item)">删除</el-link>
                                     </div>
                                 </div>
                             </div>
@@ -53,6 +54,7 @@
 </template>
 
 <script setup>
+import { delMessage } from 'hc-vue3-ui'
 import { ref, watch } from 'vue'
 import { getArrValue, getObjValue, isNullES } from 'js-fast-way'
 import mainApi from '~api/project/project'
@@ -99,7 +101,7 @@ const getProjectInfo = async () => {
 //获取合同段信息
 const contractList = ref([])
 const getContractList = async (id) => {
-    if (isNullES(projectId.value)) return
+    if (isNullES(id)) return
     const { data } = await contractApi.getList(id)
     contractList.value = getArrValue(data)
 }
@@ -110,6 +112,33 @@ const dialogClose = () => {
     projectInfo.value = {}
     isShow.value = false
 }
+
+//删除项目
+const delProject = () => {
+    if (isNullES(projectId.value)) return
+    delMessage(async () => {
+        const { error, code, msg } = await mainApi.del(projectId.value)
+        if (!error && code === 200) {
+            window.$message.success('删除成功')
+            getContractList(projectId.value).then()
+        } else {
+            window.$message.error(msg ?? '删除失败')
+        }
+    })
+}
+
+//删除合同段
+const delContract = (item) => {
+    delMessage(async () => {
+        const { error, code, msg } = await contractApi.del(item.id)
+        if (!error && code === 200) {
+            window.$message.success('删除成功')
+            getContractList(projectId.value).then()
+        } else {
+            window.$message.error(msg ?? '删除失败')
+        }
+    })
+}
 </script>
 
 <style lang="scss">