Browse Source

增加类别

duy 2 năm trước cách đây
mục cha
commit
52dcfbca14
2 tập tin đã thay đổi với 64 bổ sung22 xóa
  1. 21 12
      src/views/project/list/index.vue
  2. 43 10
      src/views/project/list/list-info.vue

+ 21 - 12
src/views/project/list/index.vue

@@ -12,8 +12,8 @@
                 </el-select>
             </div>
             <div class="w-36 ml-2">
-                <el-select v-model="searchForm.implementPrincipal" block clearable placeholder="实施负责人" size="large">
-                    <el-option v-for="item in projectUser" :key="item.id" :label="item.name" :value="item.id" />
+                <el-select v-model="searchForm.projectClass" block clearable placeholder="类别筛选" size="large">
+                    <el-option v-for="item in projectClassdata" :key="item.id" :label="item.name" :value="item.id" />
                 </el-select>
             </div>
             <div class="w-36 ml-2 ">
@@ -82,37 +82,45 @@ import { useRouter } from 'vue-router'
 import projectApi from '~api/project/project-list.js'
 import { getArrValue } from 'js-fast-way'
 import { delMessage } from '~uti/tools'
+import { getDictInfo } from '~api/other'
 
 const router = useRouter()
 onMounted(()=>{
+ 
+})
+onActivated(()=>{
     getProjectType()
     getProjectServerTypeDict()
     getImplementUser()
-})
-onActivated(()=>{
+    getProjectClass()
     getTableData()
 })
 //项目类型
 const projectType = ref([
-    // {name: '二级路', key: '二级路'},
-    // {name: '国道', key: '国道'},
-    // {name: '水利水电', key: '水利水电'},
-    // {name: '市政', key: '市政'},
+
 ])
 
 //项目服务类型
 const serverType = ref([])
 
-//实施负责人
-const projectUser = ref([
+//类别
+const projectClassdata = ref([
    
 ])
 
-
+//获取项目类别
+const getProjectClass = async ()=>{
+    const { error, code, data } = await getDictInfo('project_class')
+    if (!error && code === 200) {
+        projectClassdata.value = getArrValue(data)
+    } else {
+        projectClassdata.value = []
+    }
+}
 
 //搜索表单
 const searchForm = ref({
-    projectType: null, contractType: null, projectUser: null, date: null, queryValue: '',
+    projectType: null, contractType: null, projectClass: null, date: null, queryValue: '',
     current: 1, size: 20, total: 0,
 })
 
@@ -149,6 +157,7 @@ const tableLoading = ref(false)
 const tableColumn = [
     { key: 'number', name: '编号', width: '100', align: 'center' },
     { key: 'name', name: '项目名称', minWidth: '260' },
+    { key: 'projectClassValue', name: '类别', width: '120' },
     { key: 'constructUnit', name: '客户单位', width: '200', align: 'center' },
     { key: 'projectTypeValue', name: '项目类型', width: '140', align: 'center' },
     { key: 'projectServerTypeValue', name: '服务类型', width: '140', align: 'center' },

+ 43 - 10
src/views/project/list/list-info.vue

@@ -12,13 +12,18 @@
                                 <el-form-item label="建设单位:" prop="constructUnit">
                                     <el-input v-model="formModel.constructUnit" />
                                 </el-form-item>
+                                <el-form-item label="类别:" prop="projectClass">
+                                    <el-select v-model="formModel.projectClass" block clearable placeholder="请选择">
+                                        <el-option v-for="item in projectClassdata" :key="item.dictValue" :label="item.dictName" :value="item.dictValue" />
+                                    </el-select>
+                                </el-form-item>
                                 <el-form-item label="项目类型:" prop="projectType">
-                                    <el-select v-model="formModel.projectType" block clearable placeholder="项目类型">
+                                    <el-select v-model="formModel.projectType" block clearable placeholder="请选择">
                                         <el-option v-for="item in projectType" :key="item.dictValue" :label="item.dictName" :value="item.dictValue" />
                                     </el-select>
                                 </el-form-item>
                                 <el-form-item label="项目进程:" prop="key3">
-                                    <el-select v-model="formModel.key3" block disabled="disabled" placeholder="项目进程">
+                                    <el-select v-model="formModel.key3" block disabled="disabled" placeholder="请选择">
                                         <el-option v-for="item in projectProcess" :key="item.key" :label="item.dictName" :value="item.key" />
                                     </el-select>
                                 </el-form-item>
@@ -26,7 +31,7 @@
                                     <el-input v-model="formModel.currentProcessName" disabled/>
                                 </el-form-item> -->
                                 <el-form-item label="服务类型:" prop="projectServerType">
-                                    <el-select v-model="formModel.projectServerType" block clearable placeholder="项目服务类型">
+                                    <el-select v-model="formModel.projectServerType" block clearable placeholder="请选择">
                                         <el-option v-for="item in serverType" :key="item.dictValue" :label="item.dictName" :value="item.dictValue" />
                                     </el-select>
                                 </el-form-item>
@@ -50,17 +55,17 @@
                         <div class="project-form-bottom">
                             <HcCardItem title="联系人信息">
                                 <el-form-item label="项目负责人:">
-                                    <el-select v-model="formModel.projectPrincipal" block clearable placeholder="项目负责人" size="large">
+                                    <el-select v-model="formModel.projectPrincipal" block clearable placeholder="请选择" size="large">
                                         <el-option v-for="item in userList" :key="item.id" :label="item.name" :value="item.id" />
                                     </el-select>
                                 </el-form-item>
                                 <el-form-item label="实施负责人:">
-                                    <el-select v-model="formModel.implementPrincipal" block clearable placeholder="实施负责人" size="large">
+                                    <el-select v-model="formModel.implementPrincipal" block clearable placeholder="请选择" size="large">
                                         <el-option v-for="item in userList" :key="item.id" :label="item.name" :value="item.id" />
                                     </el-select>
                                 </el-form-item>
                                 <el-form-item label="维护负责人:">
-                                    <el-select v-model="formModel.maintainPrincipal" block clearable placeholder="维护负责人" size="large">
+                                    <el-select v-model="formModel.maintainPrincipal" block clearable placeholder="请选择" size="large">
                                         <el-option v-for="item in userList" :key="item.id" :label="item.name" :value="item.id" />
                                     </el-select>
                                 </el-form-item>
@@ -121,7 +126,7 @@ import { onActivated, onMounted, ref } from 'vue'
 import { useRoute, useRouter } from 'vue-router'
 import projectApi from '~api/project/project-list.js'
 import { formValidate, getArrValue, getObjValue } from 'js-fast-way'
-import { getuserList } from '~api/other'
+import { getDictInfo, getuserList } from '~api/other'
 import { useAppStore } from '~src/store'
 const useAppState = useAppStore()
 
@@ -134,6 +139,10 @@ const dataId = ref(useRoutes?.query?.id ?? '')
 
 //缓存页面被激活时
 onActivated(() => {
+    getProjectType()
+    getProjectServerTypeDict()
+    getprojectClassType()
+    getProjectClass()
     dataType.value = useRoutes?.query?.type ?? 'view'
     dataId.value = useRoutes?.query?.id ?? ''
     getBaseProcess()
@@ -148,8 +157,7 @@ onActivated(() => {
    
 })
 onMounted(()=>{
-    getProjectType()
-    getProjectServerTypeDict()
+
   
 })
 //获取项目类型
@@ -162,6 +170,15 @@ const getProjectType = async ()=>{
     }
 }
 //获取项目服务类型
+const getprojectClassType = async ()=>{
+    const { error, code, data } = await projectApi.getProjectServerTypeDict()
+    if (!error && code === 200) {
+        projectClassType.value = getArrValue(data)
+    } else {
+        projectClassType.value = []
+    }
+}
+//获取项目类行
 const getProjectServerTypeDict = async ()=>{
     const { error, code, data } = await projectApi.getProjectServerTypeDict()
     if (!error && code === 200) {
@@ -170,6 +187,15 @@ const getProjectServerTypeDict = async ()=>{
         serverType.value = []
     }
 }
+//获取项目类别
+const getProjectClass = async ()=>{
+    const { error, code, data } = await getDictInfo('project_class')
+    if (!error && code === 200) {
+        projectClassdata.value = getArrValue(data)
+    } else {
+        projectClassdata.value = []
+    }
+}
 //获取所有员工
 const userList = ref([])
 //获取部门人员列表
@@ -210,7 +236,9 @@ const getBaseProcess = async ()=>{
 }
 //项目类型
 const projectType = ref([])
-
+//项目类别
+const projectClassdata = ref([])
+const projectClassType = ref([])
 //项目服务类型
 const serverType = ref([])
 
@@ -245,6 +273,11 @@ const formRules = {
         trigger: 'blur',
         message: '请选择项目类型',
     },
+    projectClass:{
+        required: true,
+        trigger: 'blur',
+        message: '请选择类别',
+    },
     constructUnit: {
         required: true,
         trigger: 'blur',