add
This commit is contained in:
parent
2826bb2660
commit
9863f40bbb
@ -6,7 +6,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8" v-if="flag">
|
<el-col :span="8" v-if="flag">
|
||||||
<el-form-item label="创建人时间" prop="create_time">
|
<el-form-item label="创建时间" prop="create_time">
|
||||||
<el-date-picker class="flex-1 !flex" v-model="formData.create_time" clearable type="datetime"
|
<el-date-picker class="flex-1 !flex" v-model="formData.create_time" clearable type="datetime"
|
||||||
value-format="YYYY-MM-DD HH:mm:ss" placeholder="选择创建时间">
|
value-format="YYYY-MM-DD HH:mm:ss" placeholder="选择创建时间">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
|
103
src/views/apply_with_seal/detail.js
Normal file
103
src/views/apply_with_seal/detail.js
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
const detailConfig = {
|
||||||
|
title: "用章申请",
|
||||||
|
config: [
|
||||||
|
{
|
||||||
|
label: "申请编号",
|
||||||
|
value: "num"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "盖章申请类型",
|
||||||
|
value: "types_text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "文件类型",
|
||||||
|
value: "filetype_text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "骑缝盖章",
|
||||||
|
value: "ridingseam_text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "印章名称",
|
||||||
|
value: "name"
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
label: "盖章次数",
|
||||||
|
value: "frequency"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "限制次数",
|
||||||
|
value: "limit"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "组织",
|
||||||
|
value: "org_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "用印部门",
|
||||||
|
value: "dept_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "关联项目",
|
||||||
|
value: "projectInfo.project_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "项目负责人",
|
||||||
|
value: "project_director"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "盖章内容",
|
||||||
|
value: "content"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "印章是否外借",
|
||||||
|
value: "loan_text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "印章借用日期",
|
||||||
|
value: "borrow"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "结束借用日期",
|
||||||
|
value: "returndate"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "申请人",
|
||||||
|
value: "applicant"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "申请日期",
|
||||||
|
value: "date"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "盖章人",
|
||||||
|
value: "stampman"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "实际借章日期",
|
||||||
|
value: "sjborrow"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "实际借章人",
|
||||||
|
value: "sjreturn"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "实际归还日期",
|
||||||
|
value: "sjreturn"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "实际归还人",
|
||||||
|
value: "returnee"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "附件",
|
||||||
|
value: "annex",
|
||||||
|
column: 1
|
||||||
|
},
|
||||||
|
],
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
export default detailConfig;
|
@ -71,7 +71,7 @@
|
|||||||
<el-table-column label="实际借章人" prop="sjborrower" show-overflow-tooltip />
|
<el-table-column label="实际借章人" prop="sjborrower" show-overflow-tooltip />
|
||||||
<el-table-column label="实际归还日期" prop="sjreturn" show-overflow-tooltip />
|
<el-table-column label="实际归还日期" prop="sjreturn" show-overflow-tooltip />
|
||||||
<el-table-column label="实际归还人" prop="returnee" show-overflow-tooltip />
|
<el-table-column label="实际归还人" prop="returnee" show-overflow-tooltip />
|
||||||
<el-table-column label="操作" width="120" fixed="right">
|
<el-table-column label="操作" width="150" fixed="right" align="center">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button v-perms="['project_process_management.apply_with_seal/edit']" type="primary" link
|
<el-button v-perms="['project_process_management.apply_with_seal/edit']" type="primary" link
|
||||||
@click="handleEdit(row)">
|
@click="handleEdit(row)">
|
||||||
@ -81,8 +81,13 @@
|
|||||||
link @click="handleDelete(row.id)">
|
link @click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button v-perms="['project_process_management.apply_with_seal/detail']" link
|
||||||
|
@click="handleDetail(row)">
|
||||||
|
详情
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
||||||
</el-table>
|
</el-table>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex justify-end mt-4">
|
<div class="flex justify-end mt-4">
|
||||||
@ -90,6 +95,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
||||||
|
<detailPage v-if="showDetail" ref="detailRef" @close="showDetail = false" :detailConfig="detailConfig" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -100,12 +106,13 @@ import { apiApplyWithSealLists, apiApplyWithSealDelete, apiApplyWithSealDetail }
|
|||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
import { apiCostProjectDatas } from "@/api/cost_project";
|
import { apiCostProjectDatas } from "@/api/cost_project";
|
||||||
|
import detailConfig from './detail'
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
|
|
||||||
|
|
||||||
// 查询条件
|
// 查询条件
|
||||||
const queryParams = reactive({
|
const queryParams = reactive({
|
||||||
@ -155,5 +162,15 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (row) => {
|
||||||
|
let res = await apiApplyWithSealDetail({ id: row.id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
getLists()
|
getLists()
|
||||||
</script>
|
</script>
|
||||||
|
36
src/views/consult_accept/detail.js
Normal file
36
src/views/consult_accept/detail.js
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
const detailConfig = {
|
||||||
|
title: "项目咨询--验收管理",
|
||||||
|
config: [
|
||||||
|
{
|
||||||
|
label: "项目名称",
|
||||||
|
value: "project_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "文档名称",
|
||||||
|
value: "title"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "目录",
|
||||||
|
value: "directory_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "子目录",
|
||||||
|
value: "subdirectory_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "备注",
|
||||||
|
value: "remark",
|
||||||
|
column: 1
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
label: "附件",
|
||||||
|
value: "annex",
|
||||||
|
column: 1
|
||||||
|
|
||||||
|
},
|
||||||
|
],
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
export default detailConfig;
|
@ -62,7 +62,7 @@ const showDialog = ref(false)
|
|||||||
|
|
||||||
// 弹窗标题
|
// 弹窗标题
|
||||||
const popupTitle = computed(() => {
|
const popupTitle = computed(() => {
|
||||||
return mode.value == 'edit' ? '编辑项目咨询--需求研究及管理' : '新增项目咨询--需求研究及管理'
|
return mode.value == 'edit' ? '编辑项目咨询--验收管理' : '新增项目咨询--验收管理'
|
||||||
})
|
})
|
||||||
|
|
||||||
// 表单数据
|
// 表单数据
|
||||||
|
@ -38,7 +38,7 @@
|
|||||||
<el-table-column label="文档名称" prop="title" show-overflow-tooltip />
|
<el-table-column label="文档名称" prop="title" show-overflow-tooltip />
|
||||||
<el-table-column label="目录" prop="directory_name" show-overflow-tooltip />
|
<el-table-column label="目录" prop="directory_name" show-overflow-tooltip />
|
||||||
<el-table-column label="子目录" prop="subdirectory_name" show-overflow-tooltip />
|
<el-table-column label="子目录" prop="subdirectory_name" show-overflow-tooltip />
|
||||||
<el-table-column label="操作" width="120" fixed="right">
|
<el-table-column label="操作" align="center" fixed="right">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button v-perms="['consult_build.consult_accept/edit']" type="primary" link
|
<el-button v-perms="['consult_build.consult_accept/edit']" type="primary" link
|
||||||
@click="handleEdit(row)">
|
@click="handleEdit(row)">
|
||||||
@ -48,6 +48,10 @@
|
|||||||
@click="handleDelete(row.id)">
|
@click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button v-perms="['consult_build.consult_accept/detail']" link
|
||||||
|
@click="handleDetail(row)">
|
||||||
|
详情
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -58,6 +62,8 @@
|
|||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup :DirectoryList="DirectoryList" v-if="showEdit" ref="editRef" :dict-data="dictData"
|
<edit-popup :DirectoryList="DirectoryList" v-if="showEdit" ref="editRef" :dict-data="dictData"
|
||||||
@success="getLists" @close="showEdit = false" />
|
@success="getLists" @close="showEdit = false" />
|
||||||
|
<detailPage v-if="showDetail" ref="detailRef" @close="showDetail = false" :detailConfig="detailConfig"
|
||||||
|
width="550px" :column="1" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -69,10 +75,13 @@ import { apiConsultDirectoryLists } from '@/api/consult_directory'
|
|||||||
import { apiConsultProjectSearch } from '@/api/consult_project'
|
import { apiConsultProjectSearch } from '@/api/consult_project'
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
|
import detailConfig from './detail'
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
const DirectoryList = ref([])
|
const DirectoryList = ref([])
|
||||||
|
|
||||||
|
|
||||||
@ -128,6 +137,15 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
await apiConsultAcceptDelete({ id })
|
await apiConsultAcceptDelete({ id })
|
||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (row) => {
|
||||||
|
let res = await apiConsultAcceptDetail({ id: row.id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
getDirectory()
|
getDirectory()
|
||||||
getLists()
|
getLists()
|
||||||
|
36
src/views/consult_contract/detail.js
Normal file
36
src/views/consult_contract/detail.js
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
const detailConfig = {
|
||||||
|
title: "项目咨询--合同管理",
|
||||||
|
config: [
|
||||||
|
{
|
||||||
|
label: "项目名称",
|
||||||
|
value: "project_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "文档名称",
|
||||||
|
value: "title"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "目录",
|
||||||
|
value: "directory_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "子目录",
|
||||||
|
value: "subdirectory_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "备注",
|
||||||
|
value: "remark",
|
||||||
|
column: 1
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
label: "附件",
|
||||||
|
value: "annex",
|
||||||
|
column: 1
|
||||||
|
|
||||||
|
},
|
||||||
|
],
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
export default detailConfig;
|
@ -62,7 +62,7 @@ const showDialog = ref(false)
|
|||||||
|
|
||||||
// 弹窗标题
|
// 弹窗标题
|
||||||
const popupTitle = computed(() => {
|
const popupTitle = computed(() => {
|
||||||
return mode.value == 'edit' ? '编辑项目咨询--需求研究及管理' : '新增项目咨询--需求研究及管理'
|
return mode.value == 'edit' ? '编辑项目咨询--合同管理' : '新增项目咨询--合同管理'
|
||||||
})
|
})
|
||||||
|
|
||||||
// 表单数据
|
// 表单数据
|
||||||
|
@ -38,7 +38,7 @@
|
|||||||
<el-table-column label="文档名称" prop="title" show-overflow-tooltip />
|
<el-table-column label="文档名称" prop="title" show-overflow-tooltip />
|
||||||
<el-table-column label="目录" prop="directory_name" show-overflow-tooltip />
|
<el-table-column label="目录" prop="directory_name" show-overflow-tooltip />
|
||||||
<el-table-column label="子目录" prop="subdirectory_name" show-overflow-tooltip />
|
<el-table-column label="子目录" prop="subdirectory_name" show-overflow-tooltip />
|
||||||
<el-table-column label="操作" width="120" fixed="right">
|
<el-table-column label="操作" fixed="right" align="center">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button v-perms="['consult_strategy.consult_contract/edit']" type="primary" link
|
<el-button v-perms="['consult_strategy.consult_contract/edit']" type="primary" link
|
||||||
@click="handleEdit(row)">
|
@click="handleEdit(row)">
|
||||||
@ -48,6 +48,10 @@
|
|||||||
@click="handleDelete(row.id)">
|
@click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button v-perms="['consult_strategy.consult_contract/detail']" link
|
||||||
|
@click="handleDetail(row)">
|
||||||
|
详情
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -58,6 +62,8 @@
|
|||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup :DirectoryList="DirectoryList" v-if="showEdit" ref="editRef" :dict-data="dictData"
|
<edit-popup :DirectoryList="DirectoryList" v-if="showEdit" ref="editRef" :dict-data="dictData"
|
||||||
@success="getLists" @close="showEdit = false" />
|
@success="getLists" @close="showEdit = false" />
|
||||||
|
<detailPage v-if="showDetail" ref="detailRef" @close="showDetail = false" :detailConfig="detailConfig"
|
||||||
|
width="550px" :column="1" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -69,10 +75,13 @@ import { apiConsultProjectSearch } from '@/api/consult_project'
|
|||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
import { apiConsultDirectoryLists } from '@/api/consult_directory'
|
import { apiConsultDirectoryLists } from '@/api/consult_directory'
|
||||||
|
import detailConfig from './detail'
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
const DirectoryList = ref([])
|
const DirectoryList = ref([])
|
||||||
|
|
||||||
|
|
||||||
@ -129,6 +138,16 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (row) => {
|
||||||
|
let res = await apiConsultContractDetail({ id: row.id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
getLists()
|
getLists()
|
||||||
getDirectory()
|
getDirectory()
|
||||||
</script>
|
</script>
|
||||||
|
36
src/views/consult_control/detail.js
Normal file
36
src/views/consult_control/detail.js
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
const detailConfig = {
|
||||||
|
title: "项目咨询--总控管理",
|
||||||
|
config: [
|
||||||
|
{
|
||||||
|
label: "项目名称",
|
||||||
|
value: "project_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "文档名称",
|
||||||
|
value: "title"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "目录",
|
||||||
|
value: "directory_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "子目录",
|
||||||
|
value: "subdirectory_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "备注",
|
||||||
|
value: "remark",
|
||||||
|
column: 1
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
label: "附件",
|
||||||
|
value: "annex",
|
||||||
|
column: 1
|
||||||
|
|
||||||
|
},
|
||||||
|
],
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
export default detailConfig;
|
@ -62,7 +62,7 @@ const showDialog = ref(false)
|
|||||||
|
|
||||||
// 弹窗标题
|
// 弹窗标题
|
||||||
const popupTitle = computed(() => {
|
const popupTitle = computed(() => {
|
||||||
return mode.value == 'edit' ? '编辑项目咨询--需求研究及管理' : '新增项目咨询--需求研究及管理'
|
return mode.value == 'edit' ? '编辑项目咨询--总控管理' : '新增项目咨询--总控管理'
|
||||||
})
|
})
|
||||||
|
|
||||||
// 表单数据
|
// 表单数据
|
||||||
|
@ -38,7 +38,7 @@
|
|||||||
<el-table-column label="文档名称" prop="title" show-overflow-tooltip />
|
<el-table-column label="文档名称" prop="title" show-overflow-tooltip />
|
||||||
<el-table-column label="目录" prop="directory_name" show-overflow-tooltip />
|
<el-table-column label="目录" prop="directory_name" show-overflow-tooltip />
|
||||||
<el-table-column label="子目录" prop="subdirectory_name" show-overflow-tooltip />
|
<el-table-column label="子目录" prop="subdirectory_name" show-overflow-tooltip />
|
||||||
<el-table-column label="操作" width="120" fixed="right">
|
<el-table-column label="操作" align="center" fixed="right">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button v-perms="['consult_target.consult_control/edit']" type="primary" link
|
<el-button v-perms="['consult_target.consult_control/edit']" type="primary" link
|
||||||
@click="handleEdit(row)">
|
@click="handleEdit(row)">
|
||||||
@ -48,6 +48,10 @@
|
|||||||
@click="handleDelete(row.id)">
|
@click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button v-perms="['consult_target.consult_control/detail']" link
|
||||||
|
@click="handleDetail(row)">
|
||||||
|
详情
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -58,6 +62,8 @@
|
|||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup :DirectoryList="DirectoryList" v-if="showEdit" ref="editRef" :dict-data="dictData"
|
<edit-popup :DirectoryList="DirectoryList" v-if="showEdit" ref="editRef" :dict-data="dictData"
|
||||||
@success="getLists" @close="showEdit = false" />
|
@success="getLists" @close="showEdit = false" />
|
||||||
|
<detailPage v-if="showDetail" ref="detailRef" @close="showDetail = false" :detailConfig="detailConfig"
|
||||||
|
width="550px" :column="1" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -69,10 +75,13 @@ import { apiConsultDirectoryLists } from '@/api/consult_directory'
|
|||||||
import { apiConsultProjectSearch } from '@/api/consult_project'
|
import { apiConsultProjectSearch } from '@/api/consult_project'
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
|
import detailConfig from './detail'
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
const DirectoryList = ref([])
|
const DirectoryList = ref([])
|
||||||
|
|
||||||
|
|
||||||
@ -129,6 +138,15 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
await apiConsultControlDelete({ id })
|
await apiConsultControlDelete({ id })
|
||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (row) => {
|
||||||
|
let res = await apiConsultControlDetail({ id: row.id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
getDirectory()
|
getDirectory()
|
||||||
getLists()
|
getLists()
|
||||||
</script>
|
</script>
|
||||||
|
36
src/views/consult_cost/detail.js
Normal file
36
src/views/consult_cost/detail.js
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
const detailConfig = {
|
||||||
|
title: "项目咨询--造价管理",
|
||||||
|
config: [
|
||||||
|
{
|
||||||
|
label: "项目名称",
|
||||||
|
value: "project_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "文档名称",
|
||||||
|
value: "title"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "目录",
|
||||||
|
value: "directory_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "子目录",
|
||||||
|
value: "subdirectory_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "备注",
|
||||||
|
value: "remark",
|
||||||
|
column: 1
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
label: "附件",
|
||||||
|
value: "annex",
|
||||||
|
column: 1
|
||||||
|
|
||||||
|
},
|
||||||
|
],
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
export default detailConfig;
|
@ -1,147 +1,3 @@
|
|||||||
<!-- <template>
|
|
||||||
<div class="edit-popup">
|
|
||||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit"
|
|
||||||
@close="handleClose">
|
|
||||||
<el-form ref="formRef" :model="formData" label-width="90px" :rules="formRules">
|
|
||||||
<el-form-item label="项目id" prop="project_id">
|
|
||||||
<el-input v-model="formData.project_id" clearable placeholder="请输入项目id" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="文档名称" prop="title">
|
|
||||||
<el-input v-model="formData.title" clearable placeholder="请输入文档名称" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="目录id" prop="directory_id">
|
|
||||||
<el-input v-model="formData.directory_id" clearable placeholder="请输入目录id" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="子目录" prop="subdirectory_id">
|
|
||||||
<el-input v-model="formData.subdirectory_id" clearable placeholder="请输入子目录" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="备注" prop="remark">
|
|
||||||
<el-input v-model="formData.remark" clearable placeholder="请输入备注" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="附件" prop="annex">
|
|
||||||
<el-input v-model="formData.annex" clearable placeholder="请输入附件" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-form>
|
|
||||||
</popup>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script lang="ts" setup name="consultCostEdit">
|
|
||||||
import type { FormInstance } from 'element-plus'
|
|
||||||
import Popup from '@/components/popup/index.vue'
|
|
||||||
import { apiConsultCostAdd, apiConsultCostEdit, apiConsultCostDetail } from '@/api/consult_cost'
|
|
||||||
import { timeFormat } from '@/utils/util'
|
|
||||||
import type { PropType } from 'vue'
|
|
||||||
defineProps({
|
|
||||||
dictData: {
|
|
||||||
type: Object as PropType<Record<string, any[]>>,
|
|
||||||
default: () => ({})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
const emit = defineEmits(['success', 'close'])
|
|
||||||
const formRef = shallowRef<FormInstance>()
|
|
||||||
const popupRef = shallowRef<InstanceType<typeof Popup>>()
|
|
||||||
const mode = ref('add')
|
|
||||||
|
|
||||||
|
|
||||||
// 弹窗标题
|
|
||||||
const popupTitle = computed(() => {
|
|
||||||
return mode.value == 'edit' ? '编辑项目咨询--造价管理' : '新增项目咨询--造价管理'
|
|
||||||
})
|
|
||||||
|
|
||||||
// 表单数据
|
|
||||||
const formData = reactive({
|
|
||||||
id: '',
|
|
||||||
project_id: '',
|
|
||||||
title: '',
|
|
||||||
directory_id: '',
|
|
||||||
subdirectory_id: '',
|
|
||||||
remark: '',
|
|
||||||
annex: '',
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
// 表单验证
|
|
||||||
const formRules = reactive<any>({
|
|
||||||
project_id: [{
|
|
||||||
required: true,
|
|
||||||
message: '请输入项目id',
|
|
||||||
trigger: ['blur']
|
|
||||||
}],
|
|
||||||
title: [{
|
|
||||||
required: true,
|
|
||||||
message: '请输入文档名称',
|
|
||||||
trigger: ['blur']
|
|
||||||
}],
|
|
||||||
directory_id: [{
|
|
||||||
required: true,
|
|
||||||
message: '请输入目录id',
|
|
||||||
trigger: ['blur']
|
|
||||||
}],
|
|
||||||
subdirectory_id: [{
|
|
||||||
required: true,
|
|
||||||
message: '请输入子目录',
|
|
||||||
trigger: ['blur']
|
|
||||||
}],
|
|
||||||
remark: [{
|
|
||||||
required: true,
|
|
||||||
message: '请输入备注',
|
|
||||||
trigger: ['blur']
|
|
||||||
}]
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
// 获取详情
|
|
||||||
const setFormData = async (data: Record<any, any>) => {
|
|
||||||
for (const key in formData) {
|
|
||||||
if (data[key] != null && data[key] != undefined) {
|
|
||||||
//@ts-ignore
|
|
||||||
formData[key] = data[key]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
const getDetail = async (row: Record<string, any>) => {
|
|
||||||
const data = await apiConsultCostDetail({
|
|
||||||
id: row.id
|
|
||||||
})
|
|
||||||
setFormData(data)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// 提交按钮
|
|
||||||
const handleSubmit = async () => {
|
|
||||||
await formRef.value?.validate()
|
|
||||||
const data = { ...formData, }
|
|
||||||
mode.value == 'edit'
|
|
||||||
? await apiConsultCostEdit(data)
|
|
||||||
: await apiConsultCostAdd(data)
|
|
||||||
popupRef.value?.close()
|
|
||||||
emit('success')
|
|
||||||
}
|
|
||||||
|
|
||||||
//打开弹窗
|
|
||||||
const open = (type = 'add') => {
|
|
||||||
mode.value = type
|
|
||||||
popupRef.value?.open()
|
|
||||||
}
|
|
||||||
|
|
||||||
// 关闭回调
|
|
||||||
const handleClose = () => {
|
|
||||||
emit('close')
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
defineExpose({
|
|
||||||
open,
|
|
||||||
setFormData,
|
|
||||||
getDetail
|
|
||||||
})
|
|
||||||
</script> -->
|
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="edit-popup">
|
<div class="edit-popup">
|
||||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit"
|
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit"
|
||||||
@ -206,7 +62,7 @@ const showDialog = ref(false)
|
|||||||
|
|
||||||
// 弹窗标题
|
// 弹窗标题
|
||||||
const popupTitle = computed(() => {
|
const popupTitle = computed(() => {
|
||||||
return mode.value == 'edit' ? '编辑项目咨询--需求研究及管理' : '新增项目咨询--需求研究及管理'
|
return mode.value == 'edit' ? '编辑项目咨询--造价管理' : '新增项目咨询--造价管理'
|
||||||
})
|
})
|
||||||
|
|
||||||
// 表单数据
|
// 表单数据
|
||||||
|
@ -38,7 +38,7 @@
|
|||||||
<el-table-column label="文档名称" prop="title" show-overflow-tooltip />
|
<el-table-column label="文档名称" prop="title" show-overflow-tooltip />
|
||||||
<el-table-column label="目录" prop="directory_name" show-overflow-tooltip />
|
<el-table-column label="目录" prop="directory_name" show-overflow-tooltip />
|
||||||
<el-table-column label="子目录" prop="subdirectory_name" show-overflow-tooltip />
|
<el-table-column label="子目录" prop="subdirectory_name" show-overflow-tooltip />
|
||||||
<el-table-column label="操作" width="120" fixed="right">
|
<el-table-column label="操作" align="center" fixed="right">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button v-perms="['consult_strategy.consult_cost/edit']" type="primary" link
|
<el-button v-perms="['consult_strategy.consult_cost/edit']" type="primary" link
|
||||||
@click="handleEdit(row)">
|
@click="handleEdit(row)">
|
||||||
@ -48,6 +48,10 @@
|
|||||||
@click="handleDelete(row.id)">
|
@click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button v-perms="['consult_strategy.consult_cost/detail']" link
|
||||||
|
@click="handleDetail(row)">
|
||||||
|
详情
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -58,6 +62,8 @@
|
|||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup :DirectoryList="DirectoryList" v-if="showEdit" ref="editRef" :dict-data="dictData"
|
<edit-popup :DirectoryList="DirectoryList" v-if="showEdit" ref="editRef" :dict-data="dictData"
|
||||||
@success="getLists" @close="showEdit = false" />
|
@success="getLists" @close="showEdit = false" />
|
||||||
|
<detailPage v-if="showDetail" ref="detailRef" @close="showDetail = false" :detailConfig="detailConfig"
|
||||||
|
width="550px" :column="1" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -69,10 +75,13 @@ import { apiConsultDirectoryLists } from '@/api/consult_directory'
|
|||||||
import { apiConsultProjectSearch } from '@/api/consult_project'
|
import { apiConsultProjectSearch } from '@/api/consult_project'
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
|
import detailConfig from './detail'
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
const DirectoryList = ref([])
|
const DirectoryList = ref([])
|
||||||
|
|
||||||
|
|
||||||
@ -129,6 +138,15 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
await apiConsultCostDelete({ id })
|
await apiConsultCostDelete({ id })
|
||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (row) => {
|
||||||
|
let res = await apiConsultCostDetail({ id: row.id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
getDirectory()
|
getDirectory()
|
||||||
getLists()
|
getLists()
|
||||||
|
36
src/views/consult_decision/detail.js
Normal file
36
src/views/consult_decision/detail.js
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
const detailConfig = {
|
||||||
|
title: "项目咨询--决策管理",
|
||||||
|
config: [
|
||||||
|
{
|
||||||
|
label: "项目名称",
|
||||||
|
value: "project_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "文档名称",
|
||||||
|
value: "title"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "目录",
|
||||||
|
value: "directory_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "子目录",
|
||||||
|
value: "subdirectory_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "备注",
|
||||||
|
value: "remark",
|
||||||
|
column: 1
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
label: "附件",
|
||||||
|
value: "annex",
|
||||||
|
column: 1
|
||||||
|
|
||||||
|
},
|
||||||
|
],
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
export default detailConfig;
|
@ -38,7 +38,7 @@
|
|||||||
<el-table-column label="文档名称" prop="title" show-overflow-tooltip />
|
<el-table-column label="文档名称" prop="title" show-overflow-tooltip />
|
||||||
<el-table-column label="目录" prop="directory_name" show-overflow-tooltip />
|
<el-table-column label="目录" prop="directory_name" show-overflow-tooltip />
|
||||||
<el-table-column label="子目录" prop="subdirectory_name" show-overflow-tooltip />
|
<el-table-column label="子目录" prop="subdirectory_name" show-overflow-tooltip />
|
||||||
<el-table-column label="操作" width="120" fixed="right">
|
<el-table-column label="操作" align="center" fixed="right">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button v-perms="['consult_target.consult_decision/edit']" type="primary" link
|
<el-button v-perms="['consult_target.consult_decision/edit']" type="primary" link
|
||||||
@click="handleEdit(row)">
|
@click="handleEdit(row)">
|
||||||
@ -48,6 +48,11 @@
|
|||||||
@click="handleDelete(row.id)">
|
@click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button v-perms="['consult_target.consult_decision/detail']" link
|
||||||
|
@click="handleDetail(row)">
|
||||||
|
详情
|
||||||
|
</el-button>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -58,6 +63,9 @@
|
|||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false"
|
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false"
|
||||||
:DirectoryList="DirectoryList" />
|
:DirectoryList="DirectoryList" />
|
||||||
|
<detailPage v-if="showDetail" ref="detailRef" @close="showDetail = false" :detailConfig="detailConfig"
|
||||||
|
width="550px" :column="1" />
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -69,10 +77,14 @@ import { apiConsultDirectoryLists } from '@/api/consult_directory'
|
|||||||
import { apiConsultProjectSearch } from '@/api/consult_project'
|
import { apiConsultProjectSearch } from '@/api/consult_project'
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
|
import detailConfig from './detail'
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
|
|
||||||
const DirectoryList = ref([])
|
const DirectoryList = ref([])
|
||||||
|
|
||||||
|
|
||||||
@ -128,6 +140,17 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
await apiConsultDecisionDelete({ id })
|
await apiConsultDecisionDelete({ id })
|
||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (row) => {
|
||||||
|
let res = await apiConsultDecisionDetail({ id: row.id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
getDirectory()
|
getDirectory()
|
||||||
getLists()
|
getLists()
|
||||||
</script>
|
</script>
|
||||||
|
36
src/views/consult_declare/detail.js
Normal file
36
src/views/consult_declare/detail.js
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
const detailConfig = {
|
||||||
|
title: "项目咨询--报建管理",
|
||||||
|
config: [
|
||||||
|
{
|
||||||
|
label: "项目名称",
|
||||||
|
value: "project_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "文档名称",
|
||||||
|
value: "title"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "目录",
|
||||||
|
value: "directory_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "子目录",
|
||||||
|
value: "subdirectory_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "备注",
|
||||||
|
value: "remark",
|
||||||
|
column: 1
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
label: "附件",
|
||||||
|
value: "annex",
|
||||||
|
column: 1
|
||||||
|
|
||||||
|
},
|
||||||
|
],
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
export default detailConfig;
|
@ -62,7 +62,7 @@ const showDialog = ref(false)
|
|||||||
|
|
||||||
// 弹窗标题
|
// 弹窗标题
|
||||||
const popupTitle = computed(() => {
|
const popupTitle = computed(() => {
|
||||||
return mode.value == 'edit' ? '编辑项目咨询--需求研究及管理' : '新增项目咨询--需求研究及管理'
|
return mode.value == 'edit' ? '编辑项目咨询--报建管理' : '新增项目咨询--报建管理'
|
||||||
})
|
})
|
||||||
|
|
||||||
// 表单数据
|
// 表单数据
|
||||||
|
@ -38,7 +38,7 @@
|
|||||||
<el-table-column label="文档名称" prop="title" show-overflow-tooltip />
|
<el-table-column label="文档名称" prop="title" show-overflow-tooltip />
|
||||||
<el-table-column label="目录" prop="directory_name" show-overflow-tooltip />
|
<el-table-column label="目录" prop="directory_name" show-overflow-tooltip />
|
||||||
<el-table-column label="子目录" prop="subdirectory_name" show-overflow-tooltip />
|
<el-table-column label="子目录" prop="subdirectory_name" show-overflow-tooltip />
|
||||||
<el-table-column label="操作" width="120" fixed="right">
|
<el-table-column label="操作" align="center" fixed="right">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button v-perms="['consult_strategy.consult_declare/edit']" type="primary" link
|
<el-button v-perms="['consult_strategy.consult_declare/edit']" type="primary" link
|
||||||
@click="handleEdit(row)">
|
@click="handleEdit(row)">
|
||||||
@ -48,6 +48,10 @@
|
|||||||
@click="handleDelete(row.id)">
|
@click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button v-perms="['consult_strategy.consult_declare/detail']" link
|
||||||
|
@click="handleDetail(row)">
|
||||||
|
详情
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -58,21 +62,26 @@
|
|||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup :DirectoryList="DirectoryList" v-if="showEdit" ref="editRef" :dict-data="dictData"
|
<edit-popup :DirectoryList="DirectoryList" v-if="showEdit" ref="editRef" :dict-data="dictData"
|
||||||
@success="getLists" @close="showEdit = false" />
|
@success="getLists" @close="showEdit = false" />
|
||||||
|
<detailPage v-if="showDetail" ref="detailRef" @close="showDetail = false" :detailConfig="detailConfig"
|
||||||
|
width="550px" :column="1" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup name="consultDeclareLists">
|
<script lang="ts" setup name="consultDeclareLists">
|
||||||
import { usePaging } from '@/hooks/usePaging'
|
import { usePaging } from '@/hooks/usePaging'
|
||||||
import { useDictData } from '@/hooks/useDictOptions'
|
import { useDictData } from '@/hooks/useDictOptions'
|
||||||
import { apiConsultDeclareLists, apiConsultDeclareDelete } from '@/api/consult_declare'
|
import { apiConsultDeclareLists, apiConsultDeclareDelete, apiConsultDeclareDetail } from '@/api/consult_declare'
|
||||||
import { apiConsultDirectoryLists } from '@/api/consult_directory'
|
import { apiConsultDirectoryLists } from '@/api/consult_directory'
|
||||||
import { apiConsultProjectSearch } from '@/api/consult_project'
|
import { apiConsultProjectSearch } from '@/api/consult_project'
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
|
import detailConfig from './detail'
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
const DirectoryList = ref([])
|
const DirectoryList = ref([])
|
||||||
|
|
||||||
|
|
||||||
@ -127,6 +136,15 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
await apiConsultDeclareDelete({ id })
|
await apiConsultDeclareDelete({ id })
|
||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (row) => {
|
||||||
|
let res = await apiConsultDeclareDetail({ id: row.id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
getDirectory()
|
getDirectory()
|
||||||
|
|
||||||
getLists()
|
getLists()
|
||||||
|
36
src/views/consult_demand/detail.js
Normal file
36
src/views/consult_demand/detail.js
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
const detailConfig = {
|
||||||
|
title: "项目咨询--需求研究及管理",
|
||||||
|
config: [
|
||||||
|
{
|
||||||
|
label: "项目名称",
|
||||||
|
value: "project_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "文档名称",
|
||||||
|
value: "title"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "目录",
|
||||||
|
value: "directory_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "子目录",
|
||||||
|
value: "subdirectory_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "备注",
|
||||||
|
value: "remark",
|
||||||
|
column: 1
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
label: "附件",
|
||||||
|
value: "annex",
|
||||||
|
column: 1
|
||||||
|
|
||||||
|
},
|
||||||
|
],
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
export default detailConfig;
|
@ -38,7 +38,7 @@
|
|||||||
<el-table-column label="文档名称" prop="title" show-overflow-tooltip />
|
<el-table-column label="文档名称" prop="title" show-overflow-tooltip />
|
||||||
<el-table-column label="目录" prop="directory_name" show-overflow-tooltip />
|
<el-table-column label="目录" prop="directory_name" show-overflow-tooltip />
|
||||||
<el-table-column label="子目录" prop="subdirectory_name" show-overflow-tooltip />
|
<el-table-column label="子目录" prop="subdirectory_name" show-overflow-tooltip />
|
||||||
<el-table-column label="操作" width="120" fixed="right">
|
<el-table-column label="操作" fixed="right" align="center">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button v-perms="['consult_target.consult_demand/edit']" type="primary" link
|
<el-button v-perms="['consult_target.consult_demand/edit']" type="primary" link
|
||||||
@click="handleEdit(row)">
|
@click="handleEdit(row)">
|
||||||
@ -48,6 +48,10 @@
|
|||||||
@click="handleDelete(row.id)">
|
@click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button v-perms="['consult_target.consult_demand/detail']" link
|
||||||
|
@click="handleDetail(row)">
|
||||||
|
详情
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -58,6 +62,8 @@
|
|||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false"
|
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false"
|
||||||
:DirectoryList="DirectoryList" />
|
:DirectoryList="DirectoryList" />
|
||||||
|
<detailPage v-if="showDetail" ref="detailRef" @close="showDetail = false" :detailConfig="detailConfig"
|
||||||
|
width="550px" :column="1" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -69,10 +75,13 @@ import { apiConsultDirectoryLists } from '@/api/consult_directory'
|
|||||||
import { apiConsultProjectSearch } from '@/api/consult_project'
|
import { apiConsultProjectSearch } from '@/api/consult_project'
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
|
import detailConfig from './detail'
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
const DirectoryList = ref([])
|
const DirectoryList = ref([])
|
||||||
|
|
||||||
|
|
||||||
@ -128,6 +137,16 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
await apiConsultDemandDelete({ id })
|
await apiConsultDemandDelete({ id })
|
||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (row) => {
|
||||||
|
let res = await apiConsultDemandDetail({ id: row.id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
|
|
||||||
getDirectory()
|
getDirectory()
|
||||||
getLists()
|
getLists()
|
||||||
</script>
|
</script>
|
||||||
|
36
src/views/consult_design/detail.js
Normal file
36
src/views/consult_design/detail.js
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
const detailConfig = {
|
||||||
|
title: "项目咨询--设计管理",
|
||||||
|
config: [
|
||||||
|
{
|
||||||
|
label: "项目名称",
|
||||||
|
value: "project_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "文档名称",
|
||||||
|
value: "title"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "目录",
|
||||||
|
value: "directory_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "子目录",
|
||||||
|
value: "subdirectory_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "备注",
|
||||||
|
value: "remark",
|
||||||
|
column: 1
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
label: "附件",
|
||||||
|
value: "annex",
|
||||||
|
column: 1
|
||||||
|
|
||||||
|
},
|
||||||
|
],
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
export default detailConfig;
|
@ -62,7 +62,7 @@ const showDialog = ref(false)
|
|||||||
|
|
||||||
// 弹窗标题
|
// 弹窗标题
|
||||||
const popupTitle = computed(() => {
|
const popupTitle = computed(() => {
|
||||||
return mode.value == 'edit' ? '编辑项目咨询--需求研究及管理' : '新增项目咨询--需求研究及管理'
|
return mode.value == 'edit' ? '编辑项目咨询--设计管理' : '新增项目咨询--设计管理'
|
||||||
})
|
})
|
||||||
|
|
||||||
// 表单数据
|
// 表单数据
|
||||||
|
@ -38,7 +38,7 @@
|
|||||||
<el-table-column label="文档名称" prop="title" show-overflow-tooltip />
|
<el-table-column label="文档名称" prop="title" show-overflow-tooltip />
|
||||||
<el-table-column label="目录" prop="directory_name" show-overflow-tooltip />
|
<el-table-column label="目录" prop="directory_name" show-overflow-tooltip />
|
||||||
<el-table-column label="子目录" prop="subdirectory_name" show-overflow-tooltip />
|
<el-table-column label="子目录" prop="subdirectory_name" show-overflow-tooltip />
|
||||||
<el-table-column label="操作" width="120" fixed="right">
|
<el-table-column label="操作" align="center" fixed="right">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button v-perms="['consult_strategy.consult_design/edit']" type="primary" link
|
<el-button v-perms="['consult_strategy.consult_design/edit']" type="primary" link
|
||||||
@click="handleEdit(row)">
|
@click="handleEdit(row)">
|
||||||
@ -48,6 +48,10 @@
|
|||||||
@click="handleDelete(row.id)">
|
@click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button v-perms="['consult_strategy.consult_design/detail']" link
|
||||||
|
@click="handleDetail(row)">
|
||||||
|
详情
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -58,6 +62,8 @@
|
|||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup :DirectoryList="DirectoryList" v-if="showEdit" ref="editRef" :dict-data="dictData"
|
<edit-popup :DirectoryList="DirectoryList" v-if="showEdit" ref="editRef" :dict-data="dictData"
|
||||||
@success="getLists" @close="showEdit = false" />
|
@success="getLists" @close="showEdit = false" />
|
||||||
|
<detailPage v-if="showDetail" ref="detailRef" @close="showDetail = false" :detailConfig="detailConfig"
|
||||||
|
width="550px" :column="1" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -69,10 +75,13 @@ import { apiConsultDirectoryLists } from '@/api/consult_directory'
|
|||||||
import { apiConsultProjectSearch } from '@/api/consult_project'
|
import { apiConsultProjectSearch } from '@/api/consult_project'
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
|
import detailConfig from './detail'
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
const DirectoryList = ref([])
|
const DirectoryList = ref([])
|
||||||
|
|
||||||
|
|
||||||
@ -130,6 +139,16 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (row) => {
|
||||||
|
let res = await apiConsultDesignDetail({ id: row.id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
getDirectory()
|
getDirectory()
|
||||||
getLists()
|
getLists()
|
||||||
</script>
|
</script>
|
||||||
|
191
src/views/consult_new_start_project/detail.vue
Normal file
191
src/views/consult_new_start_project/detail.vue
Normal file
@ -0,0 +1,191 @@
|
|||||||
|
<template>
|
||||||
|
<div class="edit-popup">
|
||||||
|
<popup ref="popupRef" :async="true" width="80vw" @close="handleClose">
|
||||||
|
<el-form ref="formRef" :model="formData" label-width="100px">
|
||||||
|
<el-descriptions :column="3" title="项目咨询--新开工项目管理" border>
|
||||||
|
<el-descriptions-item label="项目名称" label-align="left" align="left">
|
||||||
|
{{ formData.project_name }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="工程地点" label-align="left" align="left">
|
||||||
|
{{ formData.address }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="服务范围" label-align="left" align="left">
|
||||||
|
{{ formData.service_scope }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="建筑面积" label-align="left" align="left">
|
||||||
|
{{ formData.area }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="投资(万元)" label-align="left" align="left">
|
||||||
|
{{ formData.invest }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="基础类型" label-align="left" align="left">
|
||||||
|
{{ formData.basic_type }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="工期" label-align="left" align="left">
|
||||||
|
{{ formData.duration }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="结构类型" label-align="left" align="left">
|
||||||
|
{{ formData.structure_type }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="地上层数" label-align="left" align="left">
|
||||||
|
{{ formData.land_floors }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="地下层数" label-align="left" align="left">
|
||||||
|
{{ formData.underground_floors }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="业主单位" label-align="left" align="left">
|
||||||
|
{{ formData.owner_unit }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="业主单位联系人及电话" label-align="left" align="left">
|
||||||
|
{{ formData.owner_unit_contact }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="设计单位" label-align="left" align="left">
|
||||||
|
{{ formData.design_unit }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="设计单位联系人及电话" label-align="left" align="left">
|
||||||
|
{{ formData.design_unit_contact }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="勘察单位" label-align="left" align="left">
|
||||||
|
{{ formData.survey_unit }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="勘察单位" label-align="left" align="left">
|
||||||
|
{{ formData.survey_unit }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
|
||||||
|
<el-descriptions-item label="勘察单位联系人及电话" label-align="left" align="left">
|
||||||
|
{{ formData.survey_unit_contact }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
|
||||||
|
<el-descriptions-item label="施工单位" label-align="left" align="left">
|
||||||
|
{{ formData.build_unit }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="施工单位联系人及电话" label-align="left" align="left">
|
||||||
|
{{ formData.build_unit_contact }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="项目经理" label-align="left" align="left">
|
||||||
|
{{ formData.project_manager }}
|
||||||
|
</el-descriptions-item> <el-descriptions-item label="勘察单位" label-align="left" align="left">
|
||||||
|
{{ formData.survey_unit }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="项目副经理" label-align="left" align="left">
|
||||||
|
{{ formData.deputy_project_manager }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="专业工程师" label-align="left" align="left">
|
||||||
|
{{ formData.engineer }}
|
||||||
|
</el-descriptions-item> <el-descriptions-item label="其他事项情况说明" label-align="left" align="left">
|
||||||
|
{{ formData.content }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="填表人" label-align="left" align="left">
|
||||||
|
{{ formData.create_user }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="填表时间" label-align="left" align="left">
|
||||||
|
{{ formData.create_time }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
</el-descriptions>
|
||||||
|
</el-form>
|
||||||
|
<el-card class="mt-5" v-if="formData.evolve.length">
|
||||||
|
<template #header>
|
||||||
|
项目组工作开展情况
|
||||||
|
</template>
|
||||||
|
<el-table :data="formData.evolve">
|
||||||
|
<el-table-column label="名称" prop="name" show-overflow-tooltip />
|
||||||
|
<el-table-column label="进展状态" prop="progress_status" show-overflow-tooltip />
|
||||||
|
<el-table-column label="项目组跟踪责任人" prop="resp_user" show-overflow-tooltip />
|
||||||
|
</el-table>
|
||||||
|
</el-card>
|
||||||
|
<el-card v-if="formData.preparation.length">
|
||||||
|
<template #header>
|
||||||
|
项目组后勤准备工作
|
||||||
|
</template>
|
||||||
|
<el-table :data="formData.preparation">
|
||||||
|
<el-table-column label="名称" prop="name" show-overflow-tooltip />
|
||||||
|
<el-table-column label="进展状态" prop="progress_status" show-overflow-tooltip />
|
||||||
|
<el-table-column label="项目组跟踪责任人" prop="resp_user" show-overflow-tooltip />
|
||||||
|
</el-table>
|
||||||
|
</el-card>
|
||||||
|
</popup>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" setup name="supervisionInspectionEdit">
|
||||||
|
import Popup from '@/components/popup/index.vue'
|
||||||
|
import { apiconsult_project_evolve, apiconsult_project_preparation, } from '@/api/consult_new_start_project'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const emit = defineEmits(['success', 'close'])
|
||||||
|
const popupRef = shallowRef<InstanceType<typeof Popup>>()
|
||||||
|
const mode = ref('add')
|
||||||
|
|
||||||
|
// 表单数据
|
||||||
|
const formData = reactive({
|
||||||
|
id: '',
|
||||||
|
project_id: '',
|
||||||
|
project_name: '',
|
||||||
|
address: '',
|
||||||
|
service_scope: '',
|
||||||
|
area: '',
|
||||||
|
invest: '',
|
||||||
|
basic_type: '',
|
||||||
|
duration: '',
|
||||||
|
structure_type: '',
|
||||||
|
land_floors: '',
|
||||||
|
underground_floors: '',
|
||||||
|
owner_unit: '',
|
||||||
|
owner_unit_contact: '',
|
||||||
|
design_unit: '',
|
||||||
|
design_unit_contact: '',
|
||||||
|
survey_unit: '',
|
||||||
|
survey_unit_contact: '',
|
||||||
|
build_unit: '',
|
||||||
|
build_unit_contact: '',
|
||||||
|
project_manager: '',
|
||||||
|
deputy_project_manager: '',
|
||||||
|
engineer: '',
|
||||||
|
content: '',
|
||||||
|
create_user: '',
|
||||||
|
create_time: '',
|
||||||
|
"evolve": [
|
||||||
|
|
||||||
|
|
||||||
|
],
|
||||||
|
"preparation": [
|
||||||
|
|
||||||
|
|
||||||
|
]
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
// 获取详情
|
||||||
|
const setFormData = async (data: Record<any, any>) => {
|
||||||
|
for (const key in formData) {
|
||||||
|
if (data[key] != null && data[key] != undefined) {
|
||||||
|
//@ts-ignore
|
||||||
|
formData[key] = data[key]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let res1 = await apiconsult_project_evolve({ new_start_project_id: formData.id })
|
||||||
|
formData.evolve = res1.lists
|
||||||
|
let res2 = await apiconsult_project_preparation({ new_start_project_id: formData.id })
|
||||||
|
formData.preparation = res2.lists
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//打开弹窗
|
||||||
|
const open = (type = 'add') => {
|
||||||
|
mode.value = type
|
||||||
|
popupRef.value?.open()
|
||||||
|
}
|
||||||
|
|
||||||
|
// 关闭回调
|
||||||
|
const handleClose = () => {
|
||||||
|
emit('close')
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
defineExpose({
|
||||||
|
open,
|
||||||
|
setFormData,
|
||||||
|
})
|
||||||
|
</script>
|
@ -123,7 +123,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="填表人间" prop="create_time">
|
<el-form-item label="填表时间" prop="create_time">
|
||||||
<el-date-picker class="flex-1 !flex" v-model="formData.create_time" clearable
|
<el-date-picker class="flex-1 !flex" v-model="formData.create_time" clearable
|
||||||
type="datetime" value-format="YYYY-MM-DD HH:mm:ss" placeholder="选择创建时间">
|
type="datetime" value-format="YYYY-MM-DD HH:mm:ss" placeholder="选择创建时间">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
|
@ -44,7 +44,7 @@
|
|||||||
<el-table-column label="投资(万元)" prop="invest" show-overflow-tooltip />
|
<el-table-column label="投资(万元)" prop="invest" show-overflow-tooltip />
|
||||||
<el-table-column label="基础类型" prop="basic_type" show-overflow-tooltip />
|
<el-table-column label="基础类型" prop="basic_type" show-overflow-tooltip />
|
||||||
<el-table-column label="工期" prop="duration" show-overflow-tooltip />
|
<el-table-column label="工期" prop="duration" show-overflow-tooltip />
|
||||||
<el-table-column label="操作" width="120" fixed="right">
|
<el-table-column label="操作" fixed="right" align="center">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button v-perms="['consult_basic.consult_new_start_project/edit']" type="primary" link
|
<el-button v-perms="['consult_basic.consult_new_start_project/edit']" type="primary" link
|
||||||
@click="handleEdit(row)">
|
@click="handleEdit(row)">
|
||||||
@ -54,6 +54,10 @@
|
|||||||
@click="handleDelete(row.id)">
|
@click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button v-perms="['consult_basic.consult_new_start_project/detail']" link
|
||||||
|
@click="handleDetail(row)">
|
||||||
|
详情
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -63,6 +67,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
||||||
|
<detail-popup v-if="showDetail" ref="detailRef" @success="getLists" @close="showDetail = false" />
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -73,10 +79,13 @@ import { apiConsultNewStartProjectLists, apiConsultNewStartProjectDelete, apiCon
|
|||||||
import { apiConsultProjectSearch } from '@/api/consult_project'
|
import { apiConsultProjectSearch } from '@/api/consult_project'
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
|
import DetailPopup from './detail.vue'
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
|
|
||||||
|
|
||||||
// 查询条件
|
// 查询条件
|
||||||
@ -127,6 +136,14 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
await apiConsultNewStartProjectDelete({ id })
|
await apiConsultNewStartProjectDelete({ id })
|
||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (row) => {
|
||||||
|
let res = await apiConsultNewStartProjectDetail({ id: row.id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
|
|
||||||
getLists()
|
getLists()
|
||||||
</script>
|
</script>
|
||||||
|
36
src/views/consult_procure/detail.js
Normal file
36
src/views/consult_procure/detail.js
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
const detailConfig = {
|
||||||
|
title: "项目咨询--招采管理",
|
||||||
|
config: [
|
||||||
|
{
|
||||||
|
label: "项目名称",
|
||||||
|
value: "project_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "文档名称",
|
||||||
|
value: "title"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "目录",
|
||||||
|
value: "directory_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "子目录",
|
||||||
|
value: "subdirectory_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "备注",
|
||||||
|
value: "remark",
|
||||||
|
column: 1
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
label: "附件",
|
||||||
|
value: "annex",
|
||||||
|
column: 1
|
||||||
|
|
||||||
|
},
|
||||||
|
],
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
export default detailConfig;
|
@ -62,7 +62,7 @@ const showDialog = ref(false)
|
|||||||
|
|
||||||
// 弹窗标题
|
// 弹窗标题
|
||||||
const popupTitle = computed(() => {
|
const popupTitle = computed(() => {
|
||||||
return mode.value == 'edit' ? '编辑项目咨询--需求研究及管理' : '新增项目咨询--需求研究及管理'
|
return mode.value == 'edit' ? '编辑项目咨询--招采管理' : '新增项目咨询--招采管理'
|
||||||
})
|
})
|
||||||
|
|
||||||
// 表单数据
|
// 表单数据
|
||||||
|
@ -38,7 +38,7 @@
|
|||||||
<el-table-column label="文档名称" prop="title" show-overflow-tooltip />
|
<el-table-column label="文档名称" prop="title" show-overflow-tooltip />
|
||||||
<el-table-column label="目录" prop="directory_name" show-overflow-tooltip />
|
<el-table-column label="目录" prop="directory_name" show-overflow-tooltip />
|
||||||
<el-table-column label="子目录" prop="subdirectory_name" show-overflow-tooltip />
|
<el-table-column label="子目录" prop="subdirectory_name" show-overflow-tooltip />
|
||||||
<el-table-column label="操作" width="120" fixed="right">
|
<el-table-column label="操作" align="cneter" fixed="right">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button v-perms="['consult_strategy.consult_procure/edit']" type="primary" link
|
<el-button v-perms="['consult_strategy.consult_procure/edit']" type="primary" link
|
||||||
@click="handleEdit(row)">
|
@click="handleEdit(row)">
|
||||||
@ -48,6 +48,10 @@
|
|||||||
@click="handleDelete(row.id)">
|
@click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button v-perms="['consult_strategy.consult_procure/detail']" link
|
||||||
|
@click="handleDetail(row)">
|
||||||
|
详情
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -58,6 +62,8 @@
|
|||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false"
|
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false"
|
||||||
:DirectoryList="DirectoryList" />
|
:DirectoryList="DirectoryList" />
|
||||||
|
<detailPage v-if="showDetail" ref="detailRef" @close="showDetail = false" :detailConfig="detailConfig"
|
||||||
|
width="550px" :column="1" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -69,10 +75,13 @@ import { apiConsultDirectoryLists } from '@/api/consult_directory'
|
|||||||
import { apiConsultProjectSearch } from '@/api/consult_project'
|
import { apiConsultProjectSearch } from '@/api/consult_project'
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
|
import detailConfig from './detail'
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
const DirectoryList = ref([])
|
const DirectoryList = ref([])
|
||||||
|
|
||||||
|
|
||||||
@ -127,6 +136,16 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
await apiConsultProcureDelete({ id })
|
await apiConsultProcureDelete({ id })
|
||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (row) => {
|
||||||
|
let res = await apiConsultProcureDetail({ id: row.id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
|
|
||||||
getDirectory()
|
getDirectory()
|
||||||
getLists()
|
getLists()
|
||||||
</script>
|
</script>
|
||||||
|
136
src/views/consult_project/detail.js
Normal file
136
src/views/consult_project/detail.js
Normal file
@ -0,0 +1,136 @@
|
|||||||
|
const detailConfig = {
|
||||||
|
title: "项目咨询--基本信息",
|
||||||
|
config: [
|
||||||
|
{
|
||||||
|
label: "项目名称",
|
||||||
|
value: "project_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "项目编号",
|
||||||
|
value: "project_code"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "行业",
|
||||||
|
value: "industry_text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "性质",
|
||||||
|
value: "nature_text"
|
||||||
|
}, {
|
||||||
|
label: "委托单位",
|
||||||
|
value: "company"
|
||||||
|
}, {
|
||||||
|
label: "建设区域",
|
||||||
|
value: "build_area_text"
|
||||||
|
}, {
|
||||||
|
label: "项目地址",
|
||||||
|
value: "address"
|
||||||
|
}, {
|
||||||
|
label: "项目级别",
|
||||||
|
value: "project_level_text"
|
||||||
|
}, {
|
||||||
|
label: "总投资(万元)",
|
||||||
|
value: "total_investment"
|
||||||
|
}, {
|
||||||
|
label: "立项日期",
|
||||||
|
value: "initiation_date"
|
||||||
|
}, {
|
||||||
|
label: "关联合同",
|
||||||
|
value: "contract"
|
||||||
|
}, {
|
||||||
|
label: "合同金额",
|
||||||
|
value: "contract_amount"
|
||||||
|
}, {
|
||||||
|
label: "合同服务内容",
|
||||||
|
value: "contract_content"
|
||||||
|
}, {
|
||||||
|
label: "项目规模及概况",
|
||||||
|
value: "project_overview"
|
||||||
|
}, {
|
||||||
|
label: "咨询范围",
|
||||||
|
value: "consult_content"
|
||||||
|
}, {
|
||||||
|
label: "备注",
|
||||||
|
value: "remark",
|
||||||
|
column: 1
|
||||||
|
}, {
|
||||||
|
label: "咨询开始日期",
|
||||||
|
value: "consult_start_date"
|
||||||
|
}, {
|
||||||
|
label: "咨询结束日期",
|
||||||
|
value: "consult_end_date"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "工程状态",
|
||||||
|
value: "engineering_status_text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "咨询类型",
|
||||||
|
value: "consult_type_text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "联系电话",
|
||||||
|
value: "telephone"
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
label: "委托联系人",
|
||||||
|
value: "consult_user"
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
label: "监管部门",
|
||||||
|
value: "supervision_department"
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
label: "实施部门",
|
||||||
|
value: "implementation_department"
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
label: "项目部",
|
||||||
|
value: "project_department"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "项目负责人员",
|
||||||
|
value: "project_manager"
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
label: "甲方单位",
|
||||||
|
value: "part_a_unit"
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
label: "项目归档",
|
||||||
|
value: "project_archiving_text"
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
label: "归档目录",
|
||||||
|
value: "archiving_directory"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "创建人",
|
||||||
|
value: "create_user"
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
label: "创建时间",
|
||||||
|
value: "create_time"
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
label: "附件",
|
||||||
|
value: "annex",
|
||||||
|
column: 1
|
||||||
|
},
|
||||||
|
],
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
export default detailConfig;
|
@ -44,7 +44,7 @@
|
|||||||
<el-table-column label="监管部门" prop="supervision_department" show-overflow-tooltip />
|
<el-table-column label="监管部门" prop="supervision_department" show-overflow-tooltip />
|
||||||
<el-table-column label="实施部门" prop="implementation_department" show-overflow-tooltip />
|
<el-table-column label="实施部门" prop="implementation_department" show-overflow-tooltip />
|
||||||
<el-table-column label="项目负责人员" prop="project_manager" show-overflow-tooltip />
|
<el-table-column label="项目负责人员" prop="project_manager" show-overflow-tooltip />
|
||||||
<el-table-column label="操作" width="120" fixed="right">
|
<el-table-column label="操作" width="150" fixed="right" align="center">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button v-perms="['consult_basic.consult_project/edit']" type="primary" link
|
<el-button v-perms="['consult_basic.consult_project/edit']" type="primary" link
|
||||||
@click="handleEdit(row)">
|
@click="handleEdit(row)">
|
||||||
@ -54,6 +54,10 @@
|
|||||||
@click="handleDelete(row.id)">
|
@click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button v-perms="['consult_basic.consult_project/detail']" link
|
||||||
|
@click="handleDetail(row)">
|
||||||
|
详情
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -63,6 +67,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
||||||
|
<detailPage v-if="showDetail" ref="detailRef" @close="showDetail = false" :detailConfig="detailConfig" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -70,13 +75,16 @@
|
|||||||
import { usePaging } from '@/hooks/usePaging'
|
import { usePaging } from '@/hooks/usePaging'
|
||||||
import { useDictData } from '@/hooks/useDictOptions'
|
import { useDictData } from '@/hooks/useDictOptions'
|
||||||
import { apiConsultProjectLists, apiConsultProjectDelete, apiConsultProjectDetail } from '@/api/consult_project'
|
import { apiConsultProjectLists, apiConsultProjectDelete, apiConsultProjectDetail } from '@/api/consult_project'
|
||||||
import { timeFormat } from '@/utils/util'
|
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
|
import detailConfig from './detail'
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 查询条件
|
// 查询条件
|
||||||
@ -127,5 +135,15 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (row) => {
|
||||||
|
let res = await apiConsultProjectDetail({ id: row.id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
getLists()
|
getLists()
|
||||||
</script>
|
</script>
|
||||||
|
36
src/views/consult_receive/detail.js
Normal file
36
src/views/consult_receive/detail.js
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
const detailConfig = {
|
||||||
|
title: "项目咨询--接收管理",
|
||||||
|
config: [
|
||||||
|
{
|
||||||
|
label: "项目名称",
|
||||||
|
value: "project_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "文档名称",
|
||||||
|
value: "title"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "目录",
|
||||||
|
value: "directory_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "子目录",
|
||||||
|
value: "subdirectory_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "备注",
|
||||||
|
value: "remark",
|
||||||
|
column: 1
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
label: "附件",
|
||||||
|
value: "annex",
|
||||||
|
column: 1
|
||||||
|
|
||||||
|
},
|
||||||
|
],
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
export default detailConfig;
|
@ -1,147 +1,3 @@
|
|||||||
<!-- <template>
|
|
||||||
<div class="edit-popup">
|
|
||||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit"
|
|
||||||
@close="handleClose">
|
|
||||||
<el-form ref="formRef" :model="formData" label-width="90px" :rules="formRules">
|
|
||||||
<el-form-item label="项目id" prop="project_id">
|
|
||||||
<el-input v-model="formData.project_id" clearable placeholder="请输入项目id" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="文档名称" prop="title">
|
|
||||||
<el-input v-model="formData.title" clearable placeholder="请输入文档名称" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="目录id" prop="directory_id">
|
|
||||||
<el-input v-model="formData.directory_id" clearable placeholder="请输入目录id" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="子目录" prop="subdirectory_id">
|
|
||||||
<el-input v-model="formData.subdirectory_id" clearable placeholder="请输入子目录" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="备注" prop="remark">
|
|
||||||
<el-input v-model="formData.remark" clearable placeholder="请输入备注" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="附件" prop="annex">
|
|
||||||
<el-input v-model="formData.annex" clearable placeholder="请输入附件" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-form>
|
|
||||||
</popup>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script lang="ts" setup name="consultReceiveEdit">
|
|
||||||
import type { FormInstance } from 'element-plus'
|
|
||||||
import Popup from '@/components/popup/index.vue'
|
|
||||||
import { apiConsultReceiveAdd, apiConsultReceiveEdit, apiConsultReceiveDetail } from '@/api/consult_receive'
|
|
||||||
import { timeFormat } from '@/utils/util'
|
|
||||||
import type { PropType } from 'vue'
|
|
||||||
defineProps({
|
|
||||||
dictData: {
|
|
||||||
type: Object as PropType<Record<string, any[]>>,
|
|
||||||
default: () => ({})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
const emit = defineEmits(['success', 'close'])
|
|
||||||
const formRef = shallowRef<FormInstance>()
|
|
||||||
const popupRef = shallowRef<InstanceType<typeof Popup>>()
|
|
||||||
const mode = ref('add')
|
|
||||||
|
|
||||||
|
|
||||||
// 弹窗标题
|
|
||||||
const popupTitle = computed(() => {
|
|
||||||
return mode.value == 'edit' ? '编辑项目咨询--接收管理' : '新增项目咨询--接收管理'
|
|
||||||
})
|
|
||||||
|
|
||||||
// 表单数据
|
|
||||||
const formData = reactive({
|
|
||||||
id: '',
|
|
||||||
project_id: '',
|
|
||||||
title: '',
|
|
||||||
directory_id: '',
|
|
||||||
subdirectory_id: '',
|
|
||||||
remark: '',
|
|
||||||
annex: '',
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
// 表单验证
|
|
||||||
const formRules = reactive<any>({
|
|
||||||
project_id: [{
|
|
||||||
required: true,
|
|
||||||
message: '请输入项目id',
|
|
||||||
trigger: ['blur']
|
|
||||||
}],
|
|
||||||
title: [{
|
|
||||||
required: true,
|
|
||||||
message: '请输入文档名称',
|
|
||||||
trigger: ['blur']
|
|
||||||
}],
|
|
||||||
directory_id: [{
|
|
||||||
required: true,
|
|
||||||
message: '请输入目录id',
|
|
||||||
trigger: ['blur']
|
|
||||||
}],
|
|
||||||
subdirectory_id: [{
|
|
||||||
required: true,
|
|
||||||
message: '请输入子目录',
|
|
||||||
trigger: ['blur']
|
|
||||||
}],
|
|
||||||
remark: [{
|
|
||||||
required: true,
|
|
||||||
message: '请输入备注',
|
|
||||||
trigger: ['blur']
|
|
||||||
}]
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
// 获取详情
|
|
||||||
const setFormData = async (data: Record<any, any>) => {
|
|
||||||
for (const key in formData) {
|
|
||||||
if (data[key] != null && data[key] != undefined) {
|
|
||||||
//@ts-ignore
|
|
||||||
formData[key] = data[key]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
const getDetail = async (row: Record<string, any>) => {
|
|
||||||
const data = await apiConsultReceiveDetail({
|
|
||||||
id: row.id
|
|
||||||
})
|
|
||||||
setFormData(data)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// 提交按钮
|
|
||||||
const handleSubmit = async () => {
|
|
||||||
await formRef.value?.validate()
|
|
||||||
const data = { ...formData, }
|
|
||||||
mode.value == 'edit'
|
|
||||||
? await apiConsultReceiveEdit(data)
|
|
||||||
: await apiConsultReceiveAdd(data)
|
|
||||||
popupRef.value?.close()
|
|
||||||
emit('success')
|
|
||||||
}
|
|
||||||
|
|
||||||
//打开弹窗
|
|
||||||
const open = (type = 'add') => {
|
|
||||||
mode.value = type
|
|
||||||
popupRef.value?.open()
|
|
||||||
}
|
|
||||||
|
|
||||||
// 关闭回调
|
|
||||||
const handleClose = () => {
|
|
||||||
emit('close')
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
defineExpose({
|
|
||||||
open,
|
|
||||||
setFormData,
|
|
||||||
getDetail
|
|
||||||
})
|
|
||||||
</script> -->
|
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="edit-popup">
|
<div class="edit-popup">
|
||||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit"
|
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit"
|
||||||
@ -206,7 +62,7 @@ const showDialog = ref(false)
|
|||||||
|
|
||||||
// 弹窗标题
|
// 弹窗标题
|
||||||
const popupTitle = computed(() => {
|
const popupTitle = computed(() => {
|
||||||
return mode.value == 'edit' ? '编辑项目咨询--需求研究及管理' : '新增项目咨询--需求研究及管理'
|
return mode.value == 'edit' ? '编辑项目咨询--接收管理' : '新增项目咨询--接收管理'
|
||||||
})
|
})
|
||||||
|
|
||||||
// 表单数据
|
// 表单数据
|
||||||
|
@ -48,6 +48,10 @@
|
|||||||
@click="handleDelete(row.id)">
|
@click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button v-perms="['consult_target.consult_receive/detail']" link
|
||||||
|
@click="handleDetail(row)">
|
||||||
|
详情
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -58,21 +62,26 @@
|
|||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup :DirectoryList="DirectoryList" v-if="showEdit" ref="editRef" :dict-data="dictData"
|
<edit-popup :DirectoryList="DirectoryList" v-if="showEdit" ref="editRef" :dict-data="dictData"
|
||||||
@success="getLists" @close="showEdit = false" />
|
@success="getLists" @close="showEdit = false" />
|
||||||
|
<detailPage v-if="showDetail" ref="detailRef" @close="showDetail = false" :detailConfig="detailConfig"
|
||||||
|
width="550px" :column="1" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup name="consultReceiveLists">
|
<script lang="ts" setup name="consultReceiveLists">
|
||||||
import { usePaging } from '@/hooks/usePaging'
|
import { usePaging } from '@/hooks/usePaging'
|
||||||
import { useDictData } from '@/hooks/useDictOptions'
|
import { useDictData } from '@/hooks/useDictOptions'
|
||||||
import { apiConsultReceiveLists, apiConsultReceiveDelete } from '@/api/consult_receive'
|
import { apiConsultReceiveLists, apiConsultReceiveDelete, apiConsultReceiveDetail } from '@/api/consult_receive'
|
||||||
import { apiConsultDirectoryLists } from '@/api/consult_directory'
|
import { apiConsultDirectoryLists } from '@/api/consult_directory'
|
||||||
import { apiConsultProjectSearch } from '@/api/consult_project'
|
import { apiConsultProjectSearch } from '@/api/consult_project'
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
|
import detailConfig from './detail'
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
const DirectoryList = ref([])
|
const DirectoryList = ref([])
|
||||||
|
|
||||||
|
|
||||||
@ -128,6 +137,16 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (row) => {
|
||||||
|
let res = await apiConsultReceiveDetail({ id: row.id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
|
|
||||||
getDirectory()
|
getDirectory()
|
||||||
getLists()
|
getLists()
|
||||||
</script>
|
</script>
|
||||||
|
36
src/views/consult_scene_execute/detail.js
Normal file
36
src/views/consult_scene_execute/detail.js
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
const detailConfig = {
|
||||||
|
title: "项目咨询--现场实施准备",
|
||||||
|
config: [
|
||||||
|
{
|
||||||
|
label: "项目名称",
|
||||||
|
value: "project_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "文档名称",
|
||||||
|
value: "title"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "目录",
|
||||||
|
value: "directory_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "子目录",
|
||||||
|
value: "subdirectory_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "备注",
|
||||||
|
value: "remark",
|
||||||
|
column: 1
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
label: "附件",
|
||||||
|
value: "annex",
|
||||||
|
column: 1
|
||||||
|
|
||||||
|
},
|
||||||
|
],
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
export default detailConfig;
|
@ -62,7 +62,7 @@ const showDialog = ref(false)
|
|||||||
|
|
||||||
// 弹窗标题
|
// 弹窗标题
|
||||||
const popupTitle = computed(() => {
|
const popupTitle = computed(() => {
|
||||||
return mode.value == 'edit' ? '编辑项目咨询--需求研究及管理' : '新增项目咨询--需求研究及管理'
|
return mode.value == 'edit' ? '编辑项目咨询--现场实施准备' : '新增项目咨询--现场实施准备'
|
||||||
})
|
})
|
||||||
|
|
||||||
// 表单数据
|
// 表单数据
|
||||||
|
@ -38,7 +38,7 @@
|
|||||||
<el-table-column label="文档名称" prop="title" show-overflow-tooltip />
|
<el-table-column label="文档名称" prop="title" show-overflow-tooltip />
|
||||||
<el-table-column label="目录" prop="directory_name" show-overflow-tooltip />
|
<el-table-column label="目录" prop="directory_name" show-overflow-tooltip />
|
||||||
<el-table-column label="子目录" prop="subdirectory_name" show-overflow-tooltip />
|
<el-table-column label="子目录" prop="subdirectory_name" show-overflow-tooltip />
|
||||||
<el-table-column label="操作" width="120" fixed="right">
|
<el-table-column label="操作" align='center' fixed="right">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button v-perms="['consult_build.consult_scene_execute/edit']" type="primary" link
|
<el-button v-perms="['consult_build.consult_scene_execute/edit']" type="primary" link
|
||||||
@click="handleEdit(row)">
|
@click="handleEdit(row)">
|
||||||
@ -48,6 +48,10 @@
|
|||||||
@click="handleDelete(row.id)">
|
@click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button v-perms="['consult_build.consult_scene_execute/detail']" link
|
||||||
|
@click="handleDetail(row)">
|
||||||
|
详情
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -58,6 +62,8 @@
|
|||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup :DirectoryList="DirectoryList" v-if="showEdit" ref="editRef" :dict-data="dictData"
|
<edit-popup :DirectoryList="DirectoryList" v-if="showEdit" ref="editRef" :dict-data="dictData"
|
||||||
@success="getLists" @close="showEdit = false" />
|
@success="getLists" @close="showEdit = false" />
|
||||||
|
<detailPage v-if="showDetail" ref="detailRef" @close="showDetail = false" :detailConfig="detailConfig"
|
||||||
|
width="550px" :column="1" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -69,10 +75,13 @@ import { apiConsultDirectoryLists } from '@/api/consult_directory'
|
|||||||
import { apiConsultProjectSearch } from '@/api/consult_project'
|
import { apiConsultProjectSearch } from '@/api/consult_project'
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
|
import detailConfig from './detail'
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
const DirectoryList = ref([])
|
const DirectoryList = ref([])
|
||||||
|
|
||||||
|
|
||||||
@ -130,6 +139,15 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (row) => {
|
||||||
|
let res = await apiConsultSceneExecuteDetail({ id: row.id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
|
|
||||||
getLists()
|
getLists()
|
||||||
getDirectory()
|
getDirectory()
|
||||||
</script>
|
</script>
|
||||||
|
36
src/views/consult_scene_org/detail.js
Normal file
36
src/views/consult_scene_org/detail.js
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
const detailConfig = {
|
||||||
|
title: "项目咨询--现场组织建设",
|
||||||
|
config: [
|
||||||
|
{
|
||||||
|
label: "项目名称",
|
||||||
|
value: "project_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "文档名称",
|
||||||
|
value: "title"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "目录",
|
||||||
|
value: "directory_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "子目录",
|
||||||
|
value: "subdirectory_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "备注",
|
||||||
|
value: "remark",
|
||||||
|
column: 1
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
label: "附件",
|
||||||
|
value: "annex",
|
||||||
|
column: 1
|
||||||
|
|
||||||
|
},
|
||||||
|
],
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
export default detailConfig;
|
@ -62,7 +62,7 @@ const showDialog = ref(false)
|
|||||||
|
|
||||||
// 弹窗标题
|
// 弹窗标题
|
||||||
const popupTitle = computed(() => {
|
const popupTitle = computed(() => {
|
||||||
return mode.value == 'edit' ? '编辑项目咨询--需求研究及管理' : '新增项目咨询--需求研究及管理'
|
return mode.value == 'edit' ? '编辑项目咨询--现场组织建设' : '新增项目咨询--现场组织建设'
|
||||||
})
|
})
|
||||||
|
|
||||||
// 表单数据
|
// 表单数据
|
||||||
|
@ -38,7 +38,7 @@
|
|||||||
<el-table-column label="文档名称" prop="title" show-overflow-tooltip />
|
<el-table-column label="文档名称" prop="title" show-overflow-tooltip />
|
||||||
<el-table-column label="目录" prop="directory_name" show-overflow-tooltip />
|
<el-table-column label="目录" prop="directory_name" show-overflow-tooltip />
|
||||||
<el-table-column label="子目录" prop="subdirectory_name" show-overflow-tooltip />
|
<el-table-column label="子目录" prop="subdirectory_name" show-overflow-tooltip />
|
||||||
<el-table-column label="操作" width="120" fixed="right">
|
<el-table-column label="操作" align="center" fixed="right">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button v-perms="['consult_build.consult_scene_org/edit']" type="primary" link
|
<el-button v-perms="['consult_build.consult_scene_org/edit']" type="primary" link
|
||||||
@click="handleEdit(row)">
|
@click="handleEdit(row)">
|
||||||
@ -48,6 +48,10 @@
|
|||||||
@click="handleDelete(row.id)">
|
@click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button v-perms="['consult_build.consult_scene_org/detail']" link
|
||||||
|
@click="handleDetail(row)">
|
||||||
|
详情
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -58,6 +62,8 @@
|
|||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup :DirectoryList="DirectoryList" v-if="showEdit" ref="editRef" :dict-data="dictData"
|
<edit-popup :DirectoryList="DirectoryList" v-if="showEdit" ref="editRef" :dict-data="dictData"
|
||||||
@success="getLists" @close="showEdit = false" />
|
@success="getLists" @close="showEdit = false" />
|
||||||
|
<detailPage v-if="showDetail" ref="detailRef" @close="showDetail = false" :detailConfig="detailConfig"
|
||||||
|
width="550px" :column="1" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -69,10 +75,13 @@ import { apiConsultDirectoryLists } from '@/api/consult_directory'
|
|||||||
import { apiConsultProjectSearch } from '@/api/consult_project'
|
import { apiConsultProjectSearch } from '@/api/consult_project'
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
|
import detailConfig from './detail'
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
const DirectoryList = ref([])
|
const DirectoryList = ref([])
|
||||||
|
|
||||||
|
|
||||||
@ -130,6 +139,16 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (row) => {
|
||||||
|
let res = await apiConsultSceneOrgDetail({ id: row.id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
getLists()
|
getLists()
|
||||||
getDirectory()
|
getDirectory()
|
||||||
</script>
|
</script>
|
||||||
|
36
src/views/consult_scene_prepare/detail.js
Normal file
36
src/views/consult_scene_prepare/detail.js
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
const detailConfig = {
|
||||||
|
title: "项目咨询--现成准备",
|
||||||
|
config: [
|
||||||
|
{
|
||||||
|
label: "项目名称",
|
||||||
|
value: "project_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "文档名称",
|
||||||
|
value: "title"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "目录",
|
||||||
|
value: "directory_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "子目录",
|
||||||
|
value: "subdirectory_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "备注",
|
||||||
|
value: "remark",
|
||||||
|
column: 1
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
label: "附件",
|
||||||
|
value: "annex",
|
||||||
|
column: 1
|
||||||
|
|
||||||
|
},
|
||||||
|
],
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
export default detailConfig;
|
@ -1,147 +1,3 @@
|
|||||||
<!-- <template>
|
|
||||||
<div class="edit-popup">
|
|
||||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit"
|
|
||||||
@close="handleClose">
|
|
||||||
<el-form ref="formRef" :model="formData" label-width="90px" :rules="formRules">
|
|
||||||
<el-form-item label="项目id" prop="project_id">
|
|
||||||
<el-input v-model="formData.project_id" clearable placeholder="请输入项目id" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="文档名称" prop="title">
|
|
||||||
<el-input v-model="formData.title" clearable placeholder="请输入文档名称" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="目录id" prop="directory_id">
|
|
||||||
<el-input v-model="formData.directory_id" clearable placeholder="请输入目录id" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="子目录" prop="subdirectory_id">
|
|
||||||
<el-input v-model="formData.subdirectory_id" clearable placeholder="请输入子目录" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="备注" prop="remark">
|
|
||||||
<el-input v-model="formData.remark" clearable placeholder="请输入备注" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="附件" prop="annex">
|
|
||||||
<el-input v-model="formData.annex" clearable placeholder="请输入附件" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-form>
|
|
||||||
</popup>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script lang="ts" setup name="consultScenePrepareEdit">
|
|
||||||
import type { FormInstance } from 'element-plus'
|
|
||||||
import Popup from '@/components/popup/index.vue'
|
|
||||||
import { apiConsultScenePrepareAdd, apiConsultScenePrepareEdit, apiConsultScenePrepareDetail } from '@/api/consult_scene_prepare'
|
|
||||||
import { timeFormat } from '@/utils/util'
|
|
||||||
import type { PropType } from 'vue'
|
|
||||||
defineProps({
|
|
||||||
dictData: {
|
|
||||||
type: Object as PropType<Record<string, any[]>>,
|
|
||||||
default: () => ({})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
const emit = defineEmits(['success', 'close'])
|
|
||||||
const formRef = shallowRef<FormInstance>()
|
|
||||||
const popupRef = shallowRef<InstanceType<typeof Popup>>()
|
|
||||||
const mode = ref('add')
|
|
||||||
|
|
||||||
|
|
||||||
// 弹窗标题
|
|
||||||
const popupTitle = computed(() => {
|
|
||||||
return mode.value == 'edit' ? '编辑项目咨询--现场准备' : '新增项目咨询--现场准备'
|
|
||||||
})
|
|
||||||
|
|
||||||
// 表单数据
|
|
||||||
const formData = reactive({
|
|
||||||
id: '',
|
|
||||||
project_id: '',
|
|
||||||
title: '',
|
|
||||||
directory_id: '',
|
|
||||||
subdirectory_id: '',
|
|
||||||
remark: '',
|
|
||||||
annex: '',
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
// 表单验证
|
|
||||||
const formRules = reactive<any>({
|
|
||||||
project_id: [{
|
|
||||||
required: true,
|
|
||||||
message: '请输入项目id',
|
|
||||||
trigger: ['blur']
|
|
||||||
}],
|
|
||||||
title: [{
|
|
||||||
required: true,
|
|
||||||
message: '请输入文档名称',
|
|
||||||
trigger: ['blur']
|
|
||||||
}],
|
|
||||||
directory_id: [{
|
|
||||||
required: true,
|
|
||||||
message: '请输入目录id',
|
|
||||||
trigger: ['blur']
|
|
||||||
}],
|
|
||||||
subdirectory_id: [{
|
|
||||||
required: true,
|
|
||||||
message: '请输入子目录',
|
|
||||||
trigger: ['blur']
|
|
||||||
}],
|
|
||||||
remark: [{
|
|
||||||
required: true,
|
|
||||||
message: '请输入备注',
|
|
||||||
trigger: ['blur']
|
|
||||||
}]
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
// 获取详情
|
|
||||||
const setFormData = async (data: Record<any, any>) => {
|
|
||||||
for (const key in formData) {
|
|
||||||
if (data[key] != null && data[key] != undefined) {
|
|
||||||
//@ts-ignore
|
|
||||||
formData[key] = data[key]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
const getDetail = async (row: Record<string, any>) => {
|
|
||||||
const data = await apiConsultScenePrepareDetail({
|
|
||||||
id: row.id
|
|
||||||
})
|
|
||||||
setFormData(data)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// 提交按钮
|
|
||||||
const handleSubmit = async () => {
|
|
||||||
await formRef.value?.validate()
|
|
||||||
const data = { ...formData, }
|
|
||||||
mode.value == 'edit'
|
|
||||||
? await apiConsultScenePrepareEdit(data)
|
|
||||||
: await apiConsultScenePrepareAdd(data)
|
|
||||||
popupRef.value?.close()
|
|
||||||
emit('success')
|
|
||||||
}
|
|
||||||
|
|
||||||
//打开弹窗
|
|
||||||
const open = (type = 'add') => {
|
|
||||||
mode.value = type
|
|
||||||
popupRef.value?.open()
|
|
||||||
}
|
|
||||||
|
|
||||||
// 关闭回调
|
|
||||||
const handleClose = () => {
|
|
||||||
emit('close')
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
defineExpose({
|
|
||||||
open,
|
|
||||||
setFormData,
|
|
||||||
getDetail
|
|
||||||
})
|
|
||||||
</script> -->
|
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="edit-popup">
|
<div class="edit-popup">
|
||||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit"
|
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit"
|
||||||
@ -207,7 +63,7 @@ const showDialog = ref(false)
|
|||||||
|
|
||||||
// 弹窗标题
|
// 弹窗标题
|
||||||
const popupTitle = computed(() => {
|
const popupTitle = computed(() => {
|
||||||
return mode.value == 'edit' ? '编辑项目咨询--需求研究及管理' : '新增项目咨询--需求研究及管理'
|
return mode.value == 'edit' ? '编辑项目咨询--现成准备' : '新增项目咨询--现成准备'
|
||||||
})
|
})
|
||||||
|
|
||||||
// 表单数据
|
// 表单数据
|
||||||
|
@ -38,7 +38,7 @@
|
|||||||
<el-table-column label="文档名称" prop="title" show-overflow-tooltip />
|
<el-table-column label="文档名称" prop="title" show-overflow-tooltip />
|
||||||
<el-table-column label="目录" prop="directory_name" show-overflow-tooltip />
|
<el-table-column label="目录" prop="directory_name" show-overflow-tooltip />
|
||||||
<el-table-column label="子目录" prop="subdirectory_name" show-overflow-tooltip />
|
<el-table-column label="子目录" prop="subdirectory_name" show-overflow-tooltip />
|
||||||
<el-table-column label="操作" width="120" fixed="right">
|
<el-table-column label="操作" align="center" fixed="right">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button v-perms="['consult_build.consult_scene_prepare/edit']" type="primary" link
|
<el-button v-perms="['consult_build.consult_scene_prepare/edit']" type="primary" link
|
||||||
@click="handleEdit(row)">
|
@click="handleEdit(row)">
|
||||||
@ -48,6 +48,10 @@
|
|||||||
@click="handleDelete(row.id)">
|
@click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button v-perms="['consult_build.consult_scene_prepare/detail']" link
|
||||||
|
@click="handleDetail(row)">
|
||||||
|
详情
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -58,6 +62,8 @@
|
|||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup :DirectoryList="DirectoryList" v-if="showEdit" ref="editRef" :dict-data="dictData"
|
<edit-popup :DirectoryList="DirectoryList" v-if="showEdit" ref="editRef" :dict-data="dictData"
|
||||||
@success="getLists" @close="showEdit = false" />
|
@success="getLists" @close="showEdit = false" />
|
||||||
|
<detailPage v-if="showDetail" ref="detailRef" @close="showDetail = false" :detailConfig="detailConfig"
|
||||||
|
width="550px" :column="1" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -69,10 +75,13 @@ import { apiConsultDirectoryLists } from '@/api/consult_directory'
|
|||||||
import { apiConsultProjectSearch } from '@/api/consult_project'
|
import { apiConsultProjectSearch } from '@/api/consult_project'
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
|
import detailConfig from './detail'
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
const DirectoryList = ref([])
|
const DirectoryList = ref([])
|
||||||
|
|
||||||
|
|
||||||
@ -129,6 +138,15 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (row) => {
|
||||||
|
let res = await apiConsultScenePrepareDetail({ id: row.id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
|
|
||||||
getLists()
|
getLists()
|
||||||
getDirectory()
|
getDirectory()
|
||||||
</script>
|
</script>
|
||||||
|
@ -46,8 +46,7 @@
|
|||||||
<el-table-column label="资料份数" prop="number" show-overflow-tooltip />
|
<el-table-column label="资料份数" prop="number" show-overflow-tooltip />
|
||||||
<el-table-column label="存放位置" prop="position" show-overflow-tooltip />
|
<el-table-column label="存放位置" prop="position" show-overflow-tooltip />
|
||||||
<el-table-column label="说明" prop="tips" show-overflow-tooltip />
|
<el-table-column label="说明" prop="tips" show-overflow-tooltip />
|
||||||
|
<el-table-column label="操作" fixed="right">
|
||||||
<el-table-column label="操作" width="120" fixed="right">
|
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button v-perms="['data_reception/edit']" type="primary" link @click="handleEdit(row)">
|
<el-button v-perms="['data_reception/edit']" type="primary" link @click="handleEdit(row)">
|
||||||
编辑
|
编辑
|
||||||
|
79
src/views/jianli_project_progress_report/detail.js
Normal file
79
src/views/jianli_project_progress_report/detail.js
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
const detailConfig = {
|
||||||
|
title: "项目进度汇报",
|
||||||
|
config: [
|
||||||
|
{
|
||||||
|
label: "单据编号",
|
||||||
|
value: "num"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "项目名称",
|
||||||
|
value: "projectInfo.project_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "项目编号",
|
||||||
|
value: "projectInfo.project_num"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "部门负责人",
|
||||||
|
value: "bm_master"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "委托单位",
|
||||||
|
value: "wt_unit"
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
label: "项目负责人",
|
||||||
|
value: "xm_master"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "实际开始日期",
|
||||||
|
value: "start_date"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "实际结束日期",
|
||||||
|
value: "end_date"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "工期(天)",
|
||||||
|
value: "duration"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "工时",
|
||||||
|
value: "working_hours"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "累计已完成进度",
|
||||||
|
value: "done_progress"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "本阶段完成进度",
|
||||||
|
value: "bjd_progress"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "登记人",
|
||||||
|
value: "djr"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "登记时间",
|
||||||
|
value: "apptime"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "形象进度描述",
|
||||||
|
value: "jdms"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "附件",
|
||||||
|
value: "annex",
|
||||||
|
column: 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "文本输入框",
|
||||||
|
value: "fd_23",
|
||||||
|
column: 1
|
||||||
|
},
|
||||||
|
],
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
export default detailConfig;
|
@ -142,14 +142,6 @@ const showDialog = ref(false)
|
|||||||
const showDialog3 = ref(false)
|
const showDialog3 = ref(false)
|
||||||
const personnel = ref<any>()
|
const personnel = ref<any>()
|
||||||
|
|
||||||
const handleAvatarSuccess_four = (response: any) => {
|
|
||||||
formData.annex ||= []
|
|
||||||
// @ts-ignore
|
|
||||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
|
||||||
};
|
|
||||||
|
|
||||||
// 删除上传的文件
|
|
||||||
const delFileFn = (index: number) => { formData.annex.splice(index, 1) }
|
|
||||||
// 弹窗标题
|
// 弹窗标题
|
||||||
const popupTitle = computed(() => {
|
const popupTitle = computed(() => {
|
||||||
return mode.value == 'edit' ? '编辑项目进度汇报' : '新增项目进度汇报'
|
return mode.value == 'edit' ? '编辑项目进度汇报' : '新增项目进度汇报'
|
||||||
|
@ -52,7 +52,7 @@
|
|||||||
<el-table-column label="登记人" prop="djr" show-overflow-tooltip />
|
<el-table-column label="登记人" prop="djr" show-overflow-tooltip />
|
||||||
<el-table-column label="登记时间" prop="apptime" show-overflow-tooltip />
|
<el-table-column label="登记时间" prop="apptime" show-overflow-tooltip />
|
||||||
<el-table-column label="形象进度描述" prop="jdms" show-overflow-tooltip />
|
<el-table-column label="形象进度描述" prop="jdms" show-overflow-tooltip />
|
||||||
<el-table-column label="操作" width="120" fixed="right">
|
<el-table-column label="操作" width="150" fixed="right" align="center">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button v-perms="['project_process_management.jianli_project_progress_report/edit']"
|
<el-button v-perms="['project_process_management.jianli_project_progress_report/edit']"
|
||||||
type="primary" link @click="handleEdit(row)">
|
type="primary" link @click="handleEdit(row)">
|
||||||
@ -62,6 +62,10 @@
|
|||||||
type="danger" link @click="handleDelete(row.id)">
|
type="danger" link @click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button v-perms="['project_process_management.jianli_project_progress_report/detail']"
|
||||||
|
link @click="handleDetail(row)">
|
||||||
|
详情
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -71,6 +75,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
||||||
|
<detailPage v-if="showDetail" ref="detailRef" @close="showDetail = false" :detailConfig="detailConfig" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -81,10 +86,13 @@ import { apiJianliProjectProgressReportLists, apiJianliProjectProgressReportDele
|
|||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
import { apiCostProjectDatas } from "@/api/cost_project";
|
import { apiCostProjectDatas } from "@/api/cost_project";
|
||||||
|
import detailConfig from './detail'
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
|
|
||||||
|
|
||||||
// 查询条件
|
// 查询条件
|
||||||
@ -135,5 +143,15 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (row) => {
|
||||||
|
let res = await apiJianliProjectProgressReportDetail({ id: row.id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
getLists()
|
getLists()
|
||||||
</script>
|
</script>
|
||||||
|
@ -47,7 +47,7 @@
|
|||||||
<el-table-column label="资质等级" prop="qualification_grade" show-overflow-tooltip />
|
<el-table-column label="资质等级" prop="qualification_grade" show-overflow-tooltip />
|
||||||
<el-table-column label="联系电话" prop="telephone" show-overflow-tooltip />
|
<el-table-column label="联系电话" prop="telephone" show-overflow-tooltip />
|
||||||
<el-table-column label="责任范围" prop="duty" show-overflow-tooltip />
|
<el-table-column label="责任范围" prop="duty" show-overflow-tooltip />
|
||||||
<el-table-column label="操作" width="120" fixed="right">
|
<el-table-column label="操作" fixed="right" align="center">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button v-perms="['manage_basic.manage_company/edit']" type="primary" link
|
<el-button v-perms="['manage_basic.manage_company/edit']" type="primary" link
|
||||||
@click="handleEdit(row)">
|
@click="handleEdit(row)">
|
||||||
|
@ -61,7 +61,7 @@
|
|||||||
<el-table-column label="项目编号" prop="projectInfo.project_num" show-overflow-tooltip />
|
<el-table-column label="项目编号" prop="projectInfo.project_num" show-overflow-tooltip />
|
||||||
<el-table-column label="登记人" prop="djr" show-overflow-tooltip />
|
<el-table-column label="登记人" prop="djr" show-overflow-tooltip />
|
||||||
<el-table-column label="登记日期" prop="djrq" show-overflow-tooltip />
|
<el-table-column label="登记日期" prop="djrq" show-overflow-tooltip />
|
||||||
<el-table-column label="操作" width="120" fixed="right">
|
<el-table-column label="操作" fixed="right">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button v-perms="['project_process_management.project_change_visa/edit']" type="primary"
|
<el-button v-perms="['project_process_management.project_change_visa/edit']" type="primary"
|
||||||
link @click="handleEdit(row)">
|
link @click="handleEdit(row)">
|
||||||
|
138
src/views/project_progress_payment/detail.js
Normal file
138
src/views/project_progress_payment/detail.js
Normal file
@ -0,0 +1,138 @@
|
|||||||
|
const detailConfig = {
|
||||||
|
title: "项目进度款",
|
||||||
|
config: [
|
||||||
|
{
|
||||||
|
label: "单据编号",
|
||||||
|
value: "num"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "项目名称",
|
||||||
|
value: "projectInfo.project_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "项目编号",
|
||||||
|
value: "projectInfo.project_num"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "登记人",
|
||||||
|
value: "djr"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "登记日期",
|
||||||
|
value: "djrq"
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
label: "进度申报造价合计",
|
||||||
|
value: "sbhj"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "进度审核造价合计",
|
||||||
|
value: "shhj"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "累计应付工程款合计",
|
||||||
|
value: "ljhj"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "附件",
|
||||||
|
value: "annex",
|
||||||
|
column: 1
|
||||||
|
},
|
||||||
|
],
|
||||||
|
table: {
|
||||||
|
title: "进度明细",
|
||||||
|
tableConfig: [
|
||||||
|
{
|
||||||
|
label: "所在目录",
|
||||||
|
value: 'directory',
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "单位工程名称",
|
||||||
|
value: 'unit_project_name'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "合同工程款总额",
|
||||||
|
value: 'contract_total_amount',
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
label: "合同付款比例",
|
||||||
|
value: 'dcntract_payment_rate',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "时间",
|
||||||
|
value: 'time',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "形象进度",
|
||||||
|
value: 'image_progress',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "申报造价(土建)",
|
||||||
|
value: 'declared_cost_tj',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "申报造价(安装)",
|
||||||
|
value: 'declared_cost_az',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "申报造价(其他)",
|
||||||
|
value: 'declared_cost_other',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "进度申报造价小计",
|
||||||
|
value: 'jdsbzj_xiaoji',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "审核造价(土建)",
|
||||||
|
value: 'audit_cost_tj',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "审核造价(安装)",
|
||||||
|
value: 'audit_cost_az',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "审核造价(其他)",
|
||||||
|
value: 'audit_cost_other',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "进度审核造价小计",
|
||||||
|
value: 'jdshzj_xiaoji',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "审核造价(其他)",
|
||||||
|
value: 'audit_cost_other',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "审减额(元)",
|
||||||
|
value: 'deduction_amount',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "完成产值比例(%)",
|
||||||
|
value: 'completed_rate',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "累计完成工程款",
|
||||||
|
value: 'ljwc_funds',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "当期应付工程款",
|
||||||
|
value: 'current_payable_funds',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "付款比例",
|
||||||
|
value: 'payment_rate',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "备注",
|
||||||
|
value: 'remark',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
fetchFun: 'project_progress_payment_detail',
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
export default detailConfig;
|
@ -54,7 +54,6 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
<el-form-item label="附件" prop="annex">
|
<el-form-item label="附件" prop="annex">
|
||||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||||
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||||
<dialogTable :config="cost_project" @customEvent="customEvent">
|
<dialogTable :config="cost_project" @customEvent="customEvent">
|
||||||
@ -74,8 +73,7 @@
|
|||||||
<el-button @click="handleDelete(row)">-</el-button>
|
<el-button @click="handleDelete(row)">-</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="所在目录" prop="level" width="200px">
|
<el-table-column label="所在目录" width="200px">
|
||||||
|
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-input v-model="scope.row.directory" />
|
<el-input v-model="scope.row.directory" />
|
||||||
</template>
|
</template>
|
||||||
|
@ -77,7 +77,7 @@
|
|||||||
<el-table-column label="进度申报造价合计" prop="sbhj" show-overflow-tooltip />
|
<el-table-column label="进度申报造价合计" prop="sbhj" show-overflow-tooltip />
|
||||||
<el-table-column label="进度审核造价合计" prop="shhj" show-overflow-tooltip />
|
<el-table-column label="进度审核造价合计" prop="shhj" show-overflow-tooltip />
|
||||||
<el-table-column label="累计应付工程款合计" prop="ljhj" show-overflow-tooltip />
|
<el-table-column label="累计应付工程款合计" prop="ljhj" show-overflow-tooltip />
|
||||||
<el-table-column label="操作" width="120" fixed="right">
|
<el-table-column label="操作" fixed="right" align='center'>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button v-perms="['project_process_management.project_progress_payment/edit']"
|
<el-button v-perms="['project_process_management.project_progress_payment/edit']"
|
||||||
type="primary" link @click="handleEdit(row)">
|
type="primary" link @click="handleEdit(row)">
|
||||||
@ -87,6 +87,10 @@
|
|||||||
type="danger" link @click="handleDelete(row.id)">
|
type="danger" link @click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button v-perms="['project_process_management.project_progress_payment/detail']" link
|
||||||
|
@click="handleDetail(row)">
|
||||||
|
详情
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -96,6 +100,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
||||||
|
<detailPage v-if="showDetail" ref="detailRef" @close="showDetail = false" :detailConfig="detailConfig" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -108,10 +113,13 @@ import feedback from '@/utils/feedback'
|
|||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
import { apiCostProjectDatas } from "@/api/cost_project";
|
import { apiCostProjectDatas } from "@/api/cost_project";
|
||||||
import { useDictOptions } from "@/hooks/useDictOptions"
|
import { useDictOptions } from "@/hooks/useDictOptions"
|
||||||
|
import detailConfig from './detail'
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
const loading = ref(false)
|
const loading = ref(false)
|
||||||
|
|
||||||
const queryCostProject = async (query: string) => {
|
const queryCostProject = async (query: string) => {
|
||||||
@ -179,6 +187,14 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (row) => {
|
||||||
|
let res = await apiProjectProgressPaymentDetail({ id: row.id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
|
|
||||||
getLists()
|
getLists()
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
@ -46,7 +46,7 @@ const detailConfig = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "任务类型",
|
label: "任务类型",
|
||||||
value: 'task_type_text',
|
value: 'task_type_id_text',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "专业类型",
|
label: "专业类型",
|
||||||
|
@ -56,7 +56,7 @@
|
|||||||
<template #empty>
|
<template #empty>
|
||||||
<span class="cursor-pointer">暂无数据,点击添加 <el-button @click="handleAdd">+</el-button></span>
|
<span class="cursor-pointer">暂无数据,点击添加 <el-button @click="handleAdd">+</el-button></span>
|
||||||
</template>
|
</template>
|
||||||
<el-table-column label="序号" v-if="mode == 'add'" width="150px">
|
<el-table-column label="序号" width="150px">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button @click="handleAdd()">+</el-button>
|
<el-button @click="handleAdd()">+</el-button>
|
||||||
<el-button @click="handleDelete(row)">-</el-button>
|
<el-button @click="handleDelete(row)">-</el-button>
|
||||||
@ -66,27 +66,25 @@
|
|||||||
|
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-input v-model="scope.row.task_name" readonly
|
<el-input v-model="scope.row.task_name" readonly
|
||||||
@click="showDialog1 = true, tableIndex = scope.$index" placeholder="点击选择"
|
@click="showDialog1 = true, tableIndex = scope.$index" placeholder="点击选择" />
|
||||||
:disabled="mode != 'add'" />
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="任务次级" prop="level" width="200px">
|
<el-table-column label="任务次级" prop="level" width="200px">
|
||||||
|
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-input v-model="row.level" :disabled="mode != 'add'" />
|
<el-input v-model="row.level" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="工序" prop="process" width="200px">
|
<el-table-column label="工序" prop="process" width="200px">
|
||||||
|
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-input v-model="row.process" :disabled="mode != 'add'" />
|
<el-input v-model="row.process" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="任务类型" prop="task_type_id" width="200px">
|
<el-table-column label="任务类型" prop="task_type_id" width="200px">
|
||||||
|
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-select class="flex-1" v-model="row.task_type_id" clearable placeholder="请选择任务类型"
|
<el-select class="flex-1" v-model="row.task_type_id" clearable placeholder="请选择任务类型">
|
||||||
:disabled="mode != 'add'">
|
|
||||||
<el-option v-for="(item, index) in dictData.task_type" :key="index"
|
<el-option v-for="(item, index) in dictData.task_type" :key="index"
|
||||||
:label="item.name" :value="parseInt(item.value)" />
|
:label="item.name" :value="parseInt(item.value)" />
|
||||||
</el-select>
|
</el-select>
|
||||||
@ -96,7 +94,7 @@
|
|||||||
|
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-select class="flex-1" v-model="row.professional_type" clearable
|
<el-select class="flex-1" v-model="row.professional_type" clearable
|
||||||
placeholder="请选择专业类型" :disabled="mode != 'add'">
|
placeholder="请选择专业类型">
|
||||||
<el-option v-for="(item, index) in dictData.major_type" :key="index"
|
<el-option v-for="(item, index) in dictData.major_type" :key="index"
|
||||||
:label="item.name" :value="item.value" />
|
:label="item.name" :value="item.value" />
|
||||||
</el-select>
|
</el-select>
|
||||||
@ -105,42 +103,41 @@
|
|||||||
<el-table-column label="工程师" prop="engineer" width="200px">
|
<el-table-column label="工程师" prop="engineer" width="200px">
|
||||||
|
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-input v-model="scope.row.engineer" :disabled="mode != 'add'"
|
<el-input v-model="scope.row.engineer" @click="userclick(scope.$index, 'engineer')" />
|
||||||
@click="userclick(scope.$index, 'engineer')" />
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="一级审核人" prop="first_reviewer" width="200px">
|
<el-table-column label="一级审核人" prop="first_reviewer" width="200px">
|
||||||
|
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-input v-model="scope.row.first_reviewer" :disabled="mode != 'add'"
|
<el-input v-model="scope.row.first_reviewer"
|
||||||
@click="userclick(scope.$index, 'first_reviewer')" />
|
@click="userclick(scope.$index, 'first_reviewer')" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="二级审核人" prop="secondary_reviewer" width="200px">
|
<el-table-column label="二级审核人" prop="secondary_reviewer" width="200px">
|
||||||
|
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-input v-model="scope.row.secondary_reviewer" :disabled="mode != 'add'"
|
<el-input v-model="scope.row.secondary_reviewer"
|
||||||
@click="userclick(scope.$index, 'secondary_reviewer')" />
|
@click="userclick(scope.$index, 'secondary_reviewer')" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="三级审核人" prop="third_level_reviewer" width="200px">
|
<el-table-column label="三级审核人" prop="third_level_reviewer" width="200px">
|
||||||
|
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-input v-model="scope.row.third_level_reviewer" :disabled="mode != 'add'"
|
<el-input v-model="scope.row.third_level_reviewer"
|
||||||
@click="userclick(scope.$index, 'third_level_reviewer')" />
|
@click="userclick(scope.$index, 'third_level_reviewer')" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="天数" prop="days" width="200px">
|
<el-table-column label="天数" prop="days" width="200px">
|
||||||
|
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-input v-model="row.days" :disabled="mode != 'add'" />
|
<el-input v-model="row.days" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="开始日期" prop="start_date" width="220px">
|
<el-table-column label="开始日期" prop="start_date" width="220px">
|
||||||
|
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-date-picker v-model="row.start_date" clearable type="date" value-format="YYYY-MM-DD"
|
<el-date-picker v-model="row.start_date" clearable type="date" value-format="YYYY-MM-DD"
|
||||||
:disabled="mode != 'add'" placeholder="请选择日期">
|
placeholder="请选择日期">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@ -148,50 +145,50 @@
|
|||||||
|
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-date-picker v-model="row.end_date" clearable type="date" value-format="YYYY-MM-DD"
|
<el-date-picker v-model="row.end_date" clearable type="date" value-format="YYYY-MM-DD"
|
||||||
:disabled="mode != 'add'" placeholder="请选择日期">
|
placeholder="请选择日期">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="中标金额(元)" prop="bid_winning_amount" width="200px">
|
<el-table-column label="中标金额(元)" prop="bid_winning_amount" width="200px">
|
||||||
|
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-input v-model="row.bid_winning_amount" :disabled="mode != 'add'" />
|
<el-input v-model="row.bid_winning_amount" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="送审造价(元)" prop="cost" width="200px">
|
<el-table-column label="送审造价(元)" prop="cost" width="200px">
|
||||||
|
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-input v-model="row.cost" :disabled="mode != 'add'" />
|
<el-input v-model="row.cost" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="第三方核定金额(元)" prop="approved_amount" width="200px">
|
<el-table-column label="第三方核定金额(元)" prop="approved_amount" width="200px">
|
||||||
|
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-input v-model="row.approved_amount" :disabled="mode != 'add'" />
|
<el-input v-model="row.approved_amount" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="施工单位" prop="construction_unit" width="200px">
|
<el-table-column label="施工单位" prop="construction_unit" width="200px">
|
||||||
|
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-input v-model="row.construction_unit" :disabled="mode != 'add'" />
|
<el-input v-model="row.construction_unit" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="联系人" prop="contact" width="200px">
|
<el-table-column label="联系人" prop="contact" width="200px">
|
||||||
|
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-input v-model="row.contact" :disabled="mode != 'add'" />
|
<el-input v-model="row.contact" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="联系电话" prop="contact_phone" width="200px">
|
<el-table-column label="联系电话" prop="contact_phone" width="200px">
|
||||||
|
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-input v-model="row.contact_phone" :disabled="mode != 'add'" />
|
<el-input v-model="row.contact_phone" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="备注" prop="remark" width="200px">
|
<el-table-column label="备注" prop="remark" width="200px">
|
||||||
|
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-input v-model="row.remark" :disabled="mode != 'add'" />
|
<el-input v-model="row.remark" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -206,6 +203,8 @@
|
|||||||
import type { FormInstance } from 'element-plus'
|
import type { FormInstance } from 'element-plus'
|
||||||
import Popup from '@/components/popup/index.vue'
|
import Popup from '@/components/popup/index.vue'
|
||||||
import { apiTaskAllocationAdd, apiTaskAllocationEdit, } from '@/api/task_allocation'
|
import { apiTaskAllocationAdd, apiTaskAllocationEdit, } from '@/api/task_allocation'
|
||||||
|
import { apiTaskDetailDelete } from '@/api/task_detail'
|
||||||
|
|
||||||
import { cost_project, task_type } from "@/components/dialogTable/dialogTableConfig"
|
import { cost_project, task_type } from "@/components/dialogTable/dialogTableConfig"
|
||||||
import type { PropType } from 'vue'
|
import type { PropType } from 'vue'
|
||||||
import { timeFormat } from '@/utils/util'
|
import { timeFormat } from '@/utils/util'
|
||||||
@ -277,7 +276,8 @@ const handleAdd = () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const handleDelete = (row: any) => {
|
const handleDelete = async (row: any) => {
|
||||||
|
if (row.id) await apiTaskDetailDelete({ id: row.id });
|
||||||
const index = formData.task_detail.indexOf(row);
|
const index = formData.task_detail.indexOf(row);
|
||||||
formData.task_detail.splice(index, 1);
|
formData.task_detail.splice(index, 1);
|
||||||
}
|
}
|
||||||
|
@ -36,7 +36,7 @@
|
|||||||
<el-table-column label="项目编号" prop="projectInfo.project_num" show-overflow-tooltip />
|
<el-table-column label="项目编号" prop="projectInfo.project_num" show-overflow-tooltip />
|
||||||
<el-table-column label="项目负责人" prop="project_director" show-overflow-tooltip />
|
<el-table-column label="项目负责人" prop="project_director" show-overflow-tooltip />
|
||||||
<el-table-column label="登记日期" prop="apptime" show-overflow-tooltip />
|
<el-table-column label="登记日期" prop="apptime" show-overflow-tooltip />
|
||||||
<el-table-column label="操作" width="120" fixed="right">
|
<el-table-column label="操作" fixed="right" align="center">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button v-perms="['task.task_allocation/edit']" type="primary" link
|
<el-button v-perms="['task.task_allocation/edit']" type="primary" link
|
||||||
@click="handleEdit(row)">
|
@click="handleEdit(row)">
|
||||||
|
@ -67,7 +67,7 @@ const detailConfig = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "建筑结构类型",
|
label: "建筑结构类型",
|
||||||
value: "types_text"
|
value: "type_text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "建筑用途",
|
label: "建筑用途",
|
||||||
|
107
src/views/zjzx_invoice/detail.js
Normal file
107
src/views/zjzx_invoice/detail.js
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
const detailConfig = {
|
||||||
|
title: "造价咨询--开票台账",
|
||||||
|
config: [
|
||||||
|
{
|
||||||
|
label: "项目名称",
|
||||||
|
value: "project_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "项目编号",
|
||||||
|
value: "project_num"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "合同名称",
|
||||||
|
value: "contract_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "合同类型",
|
||||||
|
value: "contract_type"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "甲方签约单位",
|
||||||
|
value: "part_a"
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
label: "乙方签约单位",
|
||||||
|
value: "part_b"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "签订金额",
|
||||||
|
value: "sign_money"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "合同签订日期",
|
||||||
|
value: "sign_time"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "累计已开票",
|
||||||
|
value: "total_invoice_amount"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "累计已到账",
|
||||||
|
value: "total_refund_amount"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "开票编号",
|
||||||
|
value: "invoice_code"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "发票类型",
|
||||||
|
value: "invoice_type_text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "开票申请金额",
|
||||||
|
value: "apply_amount"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "开票单位名称",
|
||||||
|
value: "apply_company"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "纳税人识别号",
|
||||||
|
value: "apply_company_number"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "开票单位注册地址",
|
||||||
|
value: "apply_company_address"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "开票单位电话",
|
||||||
|
value: "apply_company_telephone"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "开户银行",
|
||||||
|
value: "apply_company_bank"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "开户账号",
|
||||||
|
value: "apply_company_account"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "开票联系人",
|
||||||
|
value: "apply_contact"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "对应付款方式",
|
||||||
|
value: "pay_type"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "开票内容",
|
||||||
|
value: "invoice_content"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "创建人",
|
||||||
|
value: "create_user"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "创建时间",
|
||||||
|
value: "create_time"
|
||||||
|
},
|
||||||
|
|
||||||
|
],
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
export default detailConfig;
|
@ -51,7 +51,7 @@
|
|||||||
<el-table-column label="是否到账" prop="is_refund" show-overflow-tooltip />
|
<el-table-column label="是否到账" prop="is_refund" show-overflow-tooltip />
|
||||||
<el-table-column label="开票申请金额" prop="apply_amount" show-overflow-tooltip />
|
<el-table-column label="开票申请金额" prop="apply_amount" show-overflow-tooltip />
|
||||||
<el-table-column label="到账金额" prop="refund_amount" show-overflow-tooltip />
|
<el-table-column label="到账金额" prop="refund_amount" show-overflow-tooltip />
|
||||||
<el-table-column label="操作" width="120" fixed="right">
|
<el-table-column label="操作" width="150" fixed="right" align="center">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button v-perms="['zjzx_finance.zjzx_invoice/edit']" type="primary" link
|
<el-button v-perms="['zjzx_finance.zjzx_invoice/edit']" type="primary" link
|
||||||
@click="handleEdit(row)">
|
@click="handleEdit(row)">
|
||||||
@ -61,6 +61,9 @@
|
|||||||
@click="handleDelete(row.id)">
|
@click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button v-perms="['zjzx_finance.zjzx_invoice/detail']" link @click="handleDetail(row)">
|
||||||
|
详情
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -70,6 +73,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
||||||
|
<detailPage v-if="showDetail" ref="detailRef" @close="showDetail = false" :detailConfig="detailConfig" />
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -80,11 +85,13 @@ import { apiZjzxInvoiceLists, apiZjzxInvoiceDelete, apiZjzxInvoiceDetail } from
|
|||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
import { apiCostProjectDatas } from "@/api/cost_project";
|
import { apiCostProjectDatas } from "@/api/cost_project";
|
||||||
|
import detailConfig from './detail'
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
|
|
||||||
// 查询条件
|
// 查询条件
|
||||||
const queryParams = reactive({
|
const queryParams = reactive({
|
||||||
@ -134,5 +141,14 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (row) => {
|
||||||
|
let res = await apiZjzxInvoiceDetail({ id: row.id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
|
|
||||||
getLists()
|
getLists()
|
||||||
</script>
|
</script>
|
||||||
|
79
src/views/zjzx_refund/detail.js
Normal file
79
src/views/zjzx_refund/detail.js
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
const detailConfig = {
|
||||||
|
title: "造价咨询--到账台账",
|
||||||
|
config: [
|
||||||
|
{
|
||||||
|
label: "项目名称",
|
||||||
|
value: "project_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "项目编号",
|
||||||
|
value: "project_num"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "合同名称",
|
||||||
|
value: "contract_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "合同类型",
|
||||||
|
value: "contract_type"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "甲方签约单位",
|
||||||
|
value: "part_a"
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
label: "乙方签约单位",
|
||||||
|
value: "part_b"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "签约金额",
|
||||||
|
value: "sign_money"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "合同签订日期",
|
||||||
|
value: "sign_time"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "开票申请金额",
|
||||||
|
value: "apply_amount"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "累计已开票",
|
||||||
|
value: "total_invoice_amount"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "累计已到账",
|
||||||
|
value: "total_refund_amount"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "开票编号",
|
||||||
|
value: "invoice_code"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "本次到账金额",
|
||||||
|
value: "amount"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "到账日期",
|
||||||
|
value: "date"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "说明",
|
||||||
|
value: "remark"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "创建人",
|
||||||
|
value: "create_user"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "创建时间",
|
||||||
|
value: "create_time"
|
||||||
|
},
|
||||||
|
|
||||||
|
],
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
export default detailConfig;
|
@ -10,8 +10,6 @@
|
|||||||
placeholder="点击选择项目" />
|
placeholder="点击选择项目" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
|
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="项目编号">
|
<el-form-item label="项目编号">
|
||||||
<el-input v-model="formData.project_num" disabled />
|
<el-input v-model="formData.project_num" disabled />
|
||||||
@ -46,7 +44,7 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="签订金额">
|
<el-form-item label="签订时间">
|
||||||
<el-input v-model="formData.sign_time" disabled />
|
<el-input v-model="formData.sign_time" disabled />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
@ -67,13 +65,6 @@
|
|||||||
<el-input v-model="formData.total_refund_amount" disabled />
|
<el-input v-model="formData.total_refund_amount" disabled />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="开票编号" prop="invoice_id">
|
<el-form-item label="开票编号" prop="invoice_id">
|
||||||
<el-input v-model="formData.invoice_code" clearable placeholder="点击选择开票台账"
|
<el-input v-model="formData.invoice_code" clearable placeholder="点击选择开票台账"
|
||||||
|
@ -42,7 +42,7 @@
|
|||||||
<el-table-column label="到账日期" prop="date" show-overflow-tooltip />
|
<el-table-column label="到账日期" prop="date" show-overflow-tooltip />
|
||||||
<el-table-column label="甲方单位" prop="part_a" show-overflow-tooltip />
|
<el-table-column label="甲方单位" prop="part_a" show-overflow-tooltip />
|
||||||
<el-table-column label="乙方单位" prop="part_b" show-overflow-tooltip />
|
<el-table-column label="乙方单位" prop="part_b" show-overflow-tooltip />
|
||||||
<el-table-column label="操作" width="120" fixed="right">
|
<el-table-column label="操作" width="150" fixed="right" align="center">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button v-perms="['zjzx_finance.zjzx_refund/edit']" type="primary" link
|
<el-button v-perms="['zjzx_finance.zjzx_refund/edit']" type="primary" link
|
||||||
@click="handleEdit(row)">
|
@click="handleEdit(row)">
|
||||||
@ -52,6 +52,9 @@
|
|||||||
@click="handleDelete(row.id)">
|
@click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button v-perms="['zjzx_finance.zjzx_refund/detail']" link @click="handleDetail(row)">
|
||||||
|
详情
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -61,6 +64,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
||||||
|
<detailPage v-if="showDetail" ref="detailRef" @close="showDetail = false" :detailConfig="detailConfig" />
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -72,10 +77,13 @@ import { apiZjzxInvoiceDatas } from '@/api/zjzx_invoice'
|
|||||||
import { apiCostProjectDatas } from "@/api/cost_project";
|
import { apiCostProjectDatas } from "@/api/cost_project";
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
|
import detailConfig from './detail'
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
|
|
||||||
|
|
||||||
// 查询条件
|
// 查询条件
|
||||||
@ -125,5 +133,14 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (row) => {
|
||||||
|
let res = await apiZjzxRefundDetail({ id: row.id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
getLists()
|
getLists()
|
||||||
</script>
|
</script>
|
||||||
|
67
src/views/zjzx_settlement/detail.js
Normal file
67
src/views/zjzx_settlement/detail.js
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
const detailConfig = {
|
||||||
|
title: "造价咨询--项目结算",
|
||||||
|
config: [
|
||||||
|
{
|
||||||
|
label: "项目名称",
|
||||||
|
value: "project_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "项目编号",
|
||||||
|
value: "project_num"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "合同名称",
|
||||||
|
value: "contract_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "合同类型",
|
||||||
|
value: "contract_type"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "甲方签约单位",
|
||||||
|
value: "part_a"
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
label: "乙方签约单位",
|
||||||
|
value: "part_b"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "签订金额",
|
||||||
|
value: "sign_money"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "合同签订日期",
|
||||||
|
value: "sign_time"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "累计已开票",
|
||||||
|
value: "total_invoice_amount"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "累计已到账",
|
||||||
|
value: "amount"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "结算日期",
|
||||||
|
value: "date"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "备注",
|
||||||
|
value: "remark",
|
||||||
|
column: 1
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
label: "附件",
|
||||||
|
value: "annex",
|
||||||
|
column: 1
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
],
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
export default detailConfig;
|
@ -40,7 +40,7 @@
|
|||||||
<el-table-column label="结算日期" prop="date" show-overflow-tooltip />
|
<el-table-column label="结算日期" prop="date" show-overflow-tooltip />
|
||||||
<el-table-column label="已开票金额" prop="total_invoice_amount" show-overflow-tooltip />
|
<el-table-column label="已开票金额" prop="total_invoice_amount" show-overflow-tooltip />
|
||||||
<el-table-column label="已回款金额" prop="total_refund_amount" show-overflow-tooltip />
|
<el-table-column label="已回款金额" prop="total_refund_amount" show-overflow-tooltip />
|
||||||
<el-table-column label="操作" width="120" fixed="right">
|
<el-table-column label="操作" width="150" fixed="right" align="center">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button v-perms="['zjzx_finance.zjzx_settlement/edit']" type="primary" link
|
<el-button v-perms="['zjzx_finance.zjzx_settlement/edit']" type="primary" link
|
||||||
@click="handleEdit(row)">
|
@click="handleEdit(row)">
|
||||||
@ -50,6 +50,10 @@
|
|||||||
@click="handleDelete(row.id)">
|
@click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button v-perms="['zjzx_finance.zjzx_settlement/detail']" link
|
||||||
|
@click="handleDetail(row)">
|
||||||
|
详情
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -59,6 +63,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
||||||
|
<detailPage v-if="showDetail" ref="detailRef" @close="showDetail = false" :detailConfig="detailConfig" />
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -69,11 +75,13 @@ import { apiZjzxSettlementLists, apiZjzxSettlementDelete, apiZjzxSettlementDetai
|
|||||||
import { apiCostProjectDatas } from "@/api/cost_project";
|
import { apiCostProjectDatas } from "@/api/cost_project";
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
|
import detailConfig from './detail'
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
|
|
||||||
// 查询条件
|
// 查询条件
|
||||||
const queryParams = reactive({
|
const queryParams = reactive({
|
||||||
@ -121,5 +129,14 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (row) => {
|
||||||
|
let res = await apiZjzxSettlementDetail({ id: row.id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
|
|
||||||
getLists()
|
getLists()
|
||||||
</script>
|
</script>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user