|
@@ -1,54 +1,24 @@
|
|
|
<template>
|
|
|
<div class="oa-sys-list-view">
|
|
|
<div class="searchBox">
|
|
|
- <div class="form">
|
|
|
- <span class="formSpan">项目名称:</span>
|
|
|
- <el-input v-model="queryParams.xmmc" placeholder="请输入项目名称" style="width: 210px" />
|
|
|
- </div>
|
|
|
<div class="form">
|
|
|
<span class="formSpan">项目编号:</span>
|
|
|
<el-input v-model="queryParams.xmbh" placeholder="请输入项目名称" style="width: 160px" />
|
|
|
</div>
|
|
|
<div class="form">
|
|
|
- <span class="formSpan">行政区:</span>
|
|
|
- <div style="width: 160px">
|
|
|
- <keep-alive>
|
|
|
- <el-tree-select
|
|
|
- v-model="queryParams.xzqdm"
|
|
|
- node-key="id"
|
|
|
- check-strictly
|
|
|
- filterable
|
|
|
- :props="{ label: 'name' }"
|
|
|
- :filter-node-method="filterNodeMethod"
|
|
|
- :data="areaTree"
|
|
|
- />
|
|
|
- </keep-alive>
|
|
|
- </div>
|
|
|
+ <span class="formSpan">项目名称:</span>
|
|
|
+ <el-input v-model="queryParams.xmmc" placeholder="请输入项目名称" style="width: 210px" />
|
|
|
</div>
|
|
|
<div class="form">
|
|
|
- <span class="formSpan">行业:</span>
|
|
|
- <el-select width="160px" v-model="queryParams.hyId" class="m-2" placeholder="请选择行业">
|
|
|
- <el-option
|
|
|
- v-for="item in industryListAll"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value"
|
|
|
- />
|
|
|
- </el-select>
|
|
|
+ <span class="formSpan">项目经理:</span>
|
|
|
+ <UserOrgTree v-model="queryParams['xmjlId']" />
|
|
|
</div>
|
|
|
- <div class="form form-time-range">
|
|
|
- <span class="formSpan">立项时间:</span>
|
|
|
- <el-date-picker
|
|
|
- v-model="lxsjObj"
|
|
|
- type="daterange"
|
|
|
- unlink-panels
|
|
|
- range-separator="To"
|
|
|
- start-placeholder="开始日期"
|
|
|
- end-placeholder="结束日期"
|
|
|
- />
|
|
|
+ <div class="form">
|
|
|
+ <span class="formSpan">责任部门:</span>
|
|
|
+ <DeptTree v-model="queryParams['zrbmId']" />
|
|
|
</div>
|
|
|
<div class="form" style="width: unset">
|
|
|
- <span class="formSpan">合同:</span>
|
|
|
+ <span class="formSpan">合同状态:</span>
|
|
|
<el-radio-group v-model="queryParams.isSign">
|
|
|
<el-radio>全部</el-radio>
|
|
|
<el-radio label="1">已签订</el-radio>
|
|
@@ -100,9 +70,10 @@
|
|
|
height: '50px'
|
|
|
}"
|
|
|
>
|
|
|
- <el-table-column label="序号" width="60">
|
|
|
+ <el-table-column label="序号" width="80">
|
|
|
<template #default="scope">{{ scope.$index + 1 }}</template>
|
|
|
</el-table-column>
|
|
|
+ <el-table-column :show-overflow-tooltip="true" prop="xmbh" label="项目编号" />
|
|
|
<el-table-column :show-overflow-tooltip="true" prop="xmmc" label="项目名称" />
|
|
|
<el-table-column prop="zrbm" label="责任部门" width="200" />
|
|
|
<el-table-column prop="xmjl" label="项目经理" width="120" />
|
|
@@ -143,8 +114,8 @@ import moment from 'moment'
|
|
|
import { useRouter } from 'vue-router'
|
|
|
import request from '@/config/axios'
|
|
|
import { getAssetURL } from '@/utils/auth'
|
|
|
-import { industryListAll } from '@/utils/business'
|
|
|
-import district from '@/components/Area/district.js'
|
|
|
+import UserOrgTree from '@/views/OaSystem/components/UserOrgTree/index.vue'
|
|
|
+import DeptTree from '@/views/OaSystem/components/DeptTree/index.vue'
|
|
|
|
|
|
defineOptions({ name: 'ProjectBook' })
|
|
|
const xmztMap: any = { 0: '立项申请中', 1: '进行中', 2: '已结项', 3: '中止' }
|
|
@@ -202,7 +173,7 @@ const handleCurrentChange = (pageNo: number) => {
|
|
|
const operateClick = (row: any) => {
|
|
|
router.push({
|
|
|
path: '/projectDetail',
|
|
|
- query: { id: row.id }
|
|
|
+ query: { [row.flowStatus === 99 ? 'subId' : 'id']: row.id }
|
|
|
})
|
|
|
}
|
|
|
const tableData = ref<Array<any>>([])
|
|
@@ -232,20 +203,13 @@ const queryProjectListAjax = async (): Promise<void> => {
|
|
|
}
|
|
|
queryProjectListAjax()
|
|
|
|
|
|
-/**
|
|
|
- * 获取行政区tree结构数据
|
|
|
- */
|
|
|
-const areaTree = shallowRef<Array<any>>()
|
|
|
-const filterNodeMethod = (value, data) => {
|
|
|
- return data.name.includes(value)
|
|
|
-}
|
|
|
-const queryAreaTreeAjax = async (): Promise<void> => {
|
|
|
- const urlApi = `/system/area/tree`
|
|
|
- const result = await request.get({ url: urlApi })
|
|
|
- areaTree.value = result
|
|
|
-}
|
|
|
-queryAreaTreeAjax()
|
|
|
onMounted(() => {
|
|
|
tableHeight.value = tableRef.value.clientHeight
|
|
|
})
|
|
|
</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+:deep(.el-radio) {
|
|
|
+ margin-right: 10px;
|
|
|
+}
|
|
|
+</style>
|