瀏覽代碼

详情关联页签中添加筛选条件

lizhenhao 2 年之前
父節點
當前提交
406749551a

+ 4 - 4
src/api/cw/projectRecords/ProjectRecordsService.js

@@ -51,18 +51,18 @@ export default class ProjectRecordsService {
       responseType: 'blob'
     })
   }
-  getByClientId (id) {
+  getByClientId (id, projectForm) {
     return request({
       url: '/cwProjectRecords/getByClientId',
       method: 'get',
-      params: {clientId: id}
+      params: {clientId: id, ...projectForm}
     })
   }
-  getByContractId (id) {
+  getByContractId (id, projectForm) {
     return request({
       url: '/cwProjectRecords/getByContractId',
       method: 'get',
-      params: {contractId: id}
+      params: {contractId: id, ...projectForm}
     })
   }
 }

+ 2 - 2
src/api/cw/workContract/ContractInfoService.js

@@ -57,11 +57,11 @@ export default class ContractInfoService {
       data: param
     })
   }
-  getByClientId (id) {
+  getByClientId (id, contractForm) {
     return request({
       url: '/contract/registration/getByClientId',
       method: 'get',
-      params: {clientId: id}
+      params: {contractId: id, ...contractForm}
     })
   }
 }

+ 71 - 8
src/views/modules/cw/workClientInfo/WorkClientForm.vue

@@ -697,8 +697,22 @@
             <UpLoadComponent ref="uploadComponent"></UpLoadComponent>
           </el-tab-pane>
           <el-tab-pane label="关联项目" name="projects">
+            <el-form size="small" :inline="true" class="query-form" style="margin-bottom: 0;padding-top: 2px;padding-left: 0" ref="projectForm" :model="projectForm" @keyup.enter.native="searchProject()" @submit.native.prevent>
+              <!-- 搜索框-->
+              <el-form-item label="项目名称" prop="projectName">
+                <el-input size="small" v-model="projectForm.projectName" placeholder="请输入项目名称" clearable></el-input>
+              </el-form-item>
+              <el-form-item label="项目编号" prop="projectNumber">
+                <el-input size="small" v-model="projectForm.projectNumber" placeholder="请输入项目编号" clearable></el-input>
+              </el-form-item>
+
+              <el-form-item>
+                <el-button type="primary" @click="searchProject()" size="small" icon="el-icon-search">查询</el-button>
+                <el-button @click="refreshProjectForm()" size="small" icon="el-icon-refresh-right">重置</el-button>
+              </el-form-item>
+            </el-form>
             <vxe-table
-              max-height="500"
+              max-height="400"
               border="inner"
               auto-resize
               resizable
@@ -728,6 +742,20 @@
             </vxe-table>
           </el-tab-pane>
           <el-tab-pane label="关联合同" name="contract">
+            <el-form size="small" :inline="true" class="query-form" style="margin-bottom: 0;padding-top: 2px;padding-left: 0" ref="contractForm" :model="contractForm" @keyup.enter.native="searchContract()" @submit.native.prevent>
+              <!-- 搜索框-->
+              <el-form-item label="合同名称" prop="contractName">
+                <el-input size="small" v-model="contractForm.contractName" placeholder="请输入合同名称" clearable></el-input>
+              </el-form-item>
+              <el-form-item label="合同编号" prop="contractNo">
+                <el-input size="small" v-model="contractForm.contractNo" placeholder="请输入合同编号" clearable></el-input>
+              </el-form-item>
+
+              <el-form-item>
+                <el-button type="primary" @click="searchContract()" size="small" icon="el-icon-search">查询</el-button>
+                <el-button @click="refreshContractForm()" size="small" icon="el-icon-refresh-right">重置</el-button>
+              </el-form-item>
+            </el-form>
             <vxe-table
               max-height="500"
               border="inner"
@@ -767,13 +795,12 @@
       <el-button size="small" @click="close()" icon="el-icon-circle-close">关闭</el-button>
       <el-button size="small" v-if="method === 'edit'" type="primary" icon="el-icon-circle-check" @click="doSubmit('save')">确定</el-button>
     </span>
-
+    </el-dialog>
     <WorkClientListForm ref="workClientListForm" @getWorkClient="getWorkClient"></WorkClientListForm>
     <ManageLevelTypeListForm ref="manageLevelTypeListForm" @getManageLevelType="getManageLevelType"></ManageLevelTypeListForm>
     <OrganizationTypeListForm ref="organizationTypeListForm" @getOrganizationType="getOrganizationType"></OrganizationTypeListForm>
-      <ProjectRecordsForm ref="projectRecordsForm" @refreshList=""></ProjectRecordsForm>
-      <ContractNameForm ref="contractNameForm"></ContractNameForm>
-    </el-dialog>
+    <ProjectRecordsForm ref="projectRecordsForm" @refreshList=""></ProjectRecordsForm>
+    <ContractNameForm ref="contractNameForm"></ContractNameForm>
   </div>
 </template>
 
@@ -937,7 +964,15 @@
           ]
         },
         projectList: [],
-        contractList: []
+        contractList: [],
+        projectForm: {
+          projectName: '',
+          projectNumber: ''
+        },
+        contractForm: {
+          contractName: '',
+          contractNo: ''
+        }
       }
     },
     workClientService: null,
@@ -1125,9 +1160,9 @@
                 item.disabledTaxpayerIdentificationNo = false
               }
             })
-            this.projectRecordsService.getByClientId(this.inputForm.id).then(({data}) => {
+            this.projectRecordsService.getByClientId(this.inputForm.id, this.projectForm).then(({data}) => {
               this.projectList = data
-              this.contractInfoService.getByClientId(this.inputForm.id).then(({data}) => {
+              this.contractInfoService.getByClientId(this.inputForm.id, this.contractForm).then(({data}) => {
                 this.contractList = data
                 this.loading = false
               })
@@ -1621,11 +1656,39 @@
           }
         }
       },
+      // 打开项目详情组件
       viewProject (id) {
         this.$refs.projectRecordsForm.init('view', id)
       },
+      // 打开合同详情组件
       viewContract (id) {
         this.$refs.contractNameForm.init('view', id)
+      },
+      searchProject () {
+        this.loading = true
+        this.projectRecordsService.getByClientId(this.inputForm.id, this.projectForm).then(({data}) => {
+          this.projectList = data
+          this.loading = false
+        }).catch(() => {
+          this.loading = false
+        })
+      },
+      refreshProjectForm () {
+        this.$refs.projectForm.resetFields()
+        this.searchProject()
+      },
+      searchContract () {
+        this.loading = true
+        this.contractInfoService.getByClientId(this.inputForm.id, this.contractForm).then(({data}) => {
+          this.contractList = data
+          this.loading = false
+        }).catch(() => {
+          this.loading = false
+        })
+      },
+      refreshContractForm () {
+        this.$refs.contractForm.resetFields()
+        this.searchContract()
       }
     }
   }

+ 39 - 8
src/views/modules/cw/workContract/ContractNameForm.vue

@@ -303,6 +303,20 @@
           </el-tabs>
         </el-tab-pane>
         <el-tab-pane label="关联项目" name="project">
+          <el-form size="small" :inline="true" class="query-form" style="margin-bottom: 0;padding-top: 2px;padding-left: 0" ref="projectForm" :model="projectForm" @keyup.enter.native="searchProject()" @submit.native.prevent>
+            <!-- 搜索框-->
+            <el-form-item label="项目名称" prop="projectName">
+              <el-input size="small" v-model="projectForm.projectName" placeholder="请输入项目名称" clearable></el-input>
+            </el-form-item>
+            <el-form-item label="项目编号" prop="projectNumber">
+              <el-input size="small" v-model="projectForm.projectNumber" placeholder="请输入项目编号" clearable></el-input>
+            </el-form-item>
+
+            <el-form-item>
+              <el-button type="primary" @click="searchProject()" size="small" icon="el-icon-search">查询</el-button>
+              <el-button @click="refreshProjectForm()" size="small" icon="el-icon-refresh-right">重置</el-button>
+            </el-form-item>
+          </el-form>
           <vxe-table
             max-height="500"
             border="inner"
@@ -334,6 +348,7 @@
           </vxe-table>
         </el-tab-pane>
       </el-tabs>
+
       <span slot="footer" class="dialog-footer">
       <el-button size="small" @click="close()" icon="el-icon-circle-close">关闭</el-button>
       <el-button size="small" v-if="method === 'edit'" type="primary" icon="el-icon-circle-check" @click="doSubmit('save')">确定</el-button>
@@ -346,10 +361,9 @@
       zIndex="9999"/>
     <WorkClientChooseForm ref="workClientChooseForm" @getWorkClientChoose="getWorkClientChoose"></WorkClientChooseForm>
       <WorkClientChooseRadio ref="workClientChooseRadio" @getWorkClientRadioChoose="getWorkClientChoose2"></WorkClientChooseRadio>
-
+      <WorkClientForm ref="workClientForm"></WorkClientForm>
+      <ProjectRecordsForm ref="projectRecordsForm"></ProjectRecordsForm>
     </el-dialog>
-    <WorkClientForm ref="workClientForm"></WorkClientForm>
-    <ProjectRecordsForm ref="projectRecordsForm" @refreshList=""></ProjectRecordsForm>
   </div>
 </template>
 
@@ -361,7 +375,7 @@
   import WorkClientChooseForm from '../workClientInfo/WorkClientChooseForm'
   import WorkClientChooseRadio from '../workClientInfo/WorkClientChooseRadio'
   import SelectTree from '@/components/treeSelect/treeSelect.vue'
-  import WorkClientForm from '../workClientInfo/WorkClientForm'
+  // import WorkClientForm from '../workClientInfo/WorkClientForm'
   import OSSSerive, {
     httpRequest,
     toHref,
@@ -371,7 +385,7 @@
   } from '@/api/sys/OSSService'
   import moment from 'moment'
   import ElImageViewer from 'element-ui/packages/image/src/image-viewer'
-  import ProjectRecordsForm from '../projectRecords/ProjectRecordsForm'
+  // import ProjectRecordsForm from '../projectRecords/ProjectRecordsForm'
   export default {
     data () {
       return {
@@ -467,7 +481,11 @@
         promi: null,
         keyWatch: '',
         tableKeyClient: '1',
-        projectList: []
+        projectList: [],
+        projectForm: {
+          projectName: '',
+          projectNumber: ''
+        }
       }
     },
     props: {
@@ -490,8 +508,8 @@
       WorkClientChooseForm,
       SelectTree,
       WorkClientChooseRadio,
-      WorkClientForm,
-      ProjectRecordsForm
+      WorkClientForm: () => import('../workClientInfo/WorkClientForm'),
+      ProjectRecordsForm: () => import('../projectRecords/ProjectRecordsForm')
     },
     ossService: null,
     // workContractService: null,
@@ -945,6 +963,19 @@
       viewProject (id) {
         this.$refs.projectRecordsForm.init('view', id)
       },
+      searchProject () {
+        this.loading = true
+        this.projectRecordsService.getByContractId(this.inputForm.id, this.projectForm).then(({data}) => {
+          this.projectList = data
+          this.loading = false
+        }).catch(() => {
+          this.loading = false
+        })
+      },
+      refreshProjectForm () {
+        this.$refs.projectForm.resetFields()
+        this.searchProject()
+      }
     }
   }
 </script>