|
@@ -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">
|