ZhaoJun пре 1 година
родитељ
комит
13c2159282
3 измењених фајлова са 35 додато и 9 уклоњено
  1. 19 8
      src/components/DDComponents/CodeFiled/index.js
  2. 11 1
      src/services/contract.js
  3. 5 0
      src/services/department.js

+ 19 - 8
src/components/DDComponents/CodeFiled/index.js

@@ -2,13 +2,14 @@ import React, { useEffect, useState } from 'react';
 import { Input } from 'antd';
 import { useRequest, useModel } from 'umi';
 import { queryContractCode } from '@/services/contract';
+import { queryDepsV2 } from '@/services/department';
 
 function CodeField(props) {
   const { depId, onChange } = props;
-  const { depList, run } = useModel('depList');
+  const [depList, setDepList] = useState([]);
   const [value, setValue] = useState('');
 
-  // 计算合同编号接口
+  // 每次更新时 计算合同编号接口 并返回
   const { run: runCode } = useRequest(data => queryContractCode(data), {
     manual: true,
     onSuccess: data => {
@@ -16,12 +17,21 @@ function CodeField(props) {
       onChange?.(data?.code);
     },
   });
+
+  const getDepList = async () => {
+    const res = await queryDepsV2().catch(err => console.log(err));
+    console.log(res);
+    if (res && res.code === 200) {
+      setDepList(res.data.list);
+    }
+  };
+  // 初始化时请求部门列表
   useEffect(() => {
-    run();
+    getDepList();
   }, []);
 
   useEffect(() => {
-    if (!depId) return;
+    if (!depId || !depList.length) return;
     const dep_code = getDepItemById(depId)?.Code;
     const compony = depList.find(item => item.Flag == 1);
     let params = {
@@ -35,11 +45,12 @@ function CodeField(props) {
   const getDepItemById = id => {
     const fun = list => {
       for (let i = 0; i < list.length; i++) {
-        let item = list[i];
-        if (item.ID == id) {
+        const item = list[i];
+        if (Number(item.ID) === Number(id)) {
           return item;
-        } else if (item.children?.length > 0) {
-          let res = fun(item.children);
+        }
+        if (item.children?.length > 0) {
+          const res = fun(item.children);
           if (res) return res;
         }
       }

+ 11 - 1
src/services/contract.js

@@ -1,12 +1,22 @@
 import request from '@/utils/request';
 
-//计算合同编号
+// 计算合同编号
 export const queryContractCode = async data => {
   return await request('/api/contract/v1/code', {
     params: data,
   });
 };
 
+// http://localhost:8000/api/supplier/v1/supplier/list
+// http://localhost:8001/api/supplier/v1/supplier/list
+// created_by
+// end_time
+// is_super
+// page
+// page_size
+// project_id
+// start_time
+
 export const querySupplierList = async data => {
   return await request('/api/supplier/v1/supplier/list', {
     method: 'POST',

+ 5 - 0
src/services/department.js

@@ -0,0 +1,5 @@
+import request from '@/utils/request';
+
+export async function queryDepsV2() {
+  return request(`/api/v2/main/deps`);
+}