Procházet zdrojové kódy

审批管理相关字典获取

duy před 2 roky
rodič
revize
3ea5f3e7ab

+ 8 - 0
src/api/modules/project/project-list.js

@@ -65,4 +65,12 @@ export default {
             params: form
         }, msg);
     },
+    //获取实施负责人
+    async getImplementUser(form, msg = true) {
+        return httpApi({
+            url: '/api/blade-control/projectInfo/getImplementUser',
+            method: 'get',
+            params: form
+        }, msg);
+    },
 }

+ 1 - 1
src/views/expense/invoice/billing.vue

@@ -159,7 +159,7 @@ const getUserDict=async()=>{
 
     }
 }
-//获取所有员工
+//获取开票内容
 const invoiceContentList=ref([])
 const getInvoiceContentList=async()=>{
     const {error, code, data} = await mainApi.getInvoiceContentList()

+ 2 - 1
src/views/home/components/TaskTable.vue

@@ -158,7 +158,8 @@ const rowNameClick = (row) => {
         name: 'home-task-details', query: {
             id: row.id,
             type: row?.reportTypeName,
-            tabsKey:isTableKey.value
+            tabsKey:isTableKey.value,
+          
         }
     })
 }

+ 52 - 6
src/views/home/task/components/invoice-request.vue

@@ -22,8 +22,7 @@
             <div class="hc-form-item">
                 <el-form-item label="开票人:" prop="invoiceUserId">
                     <el-select block v-model="otherInfo.invoiceUserId">
-                        <el-option label="暂无接口1" value="1" />
-                        <el-option label="暂无接口2" value="2" />
+                        <el-option v-for="item in userList" :label="item.name" :value="item.id"/>
                     </el-select>
                 </el-form-item>
                 <el-form-item label="开户银行:">
@@ -63,8 +62,7 @@
             <div class="hc-form-item">
                 <el-form-item label="开票内容:" prop="invoiceContentType">
                     <el-select block v-model="otherInfo.invoiceContentType">
-                        <el-option label="暂无接口1" value="1" />
-                        <el-option label="暂无接口2" value="2" />
+                        <el-option v-for="item in invoiceContentList" :label="item" :value="item"/>
                     </el-select>
                 </el-form-item>
                 
@@ -79,10 +77,16 @@
 
 <script setup>
 import { ref, watch,onActivated } from 'vue'
-import {getProjectList} from "~api/other";
+import {getProjectList,getuserList,getDictInfo} from "~api/other";
 import {getArrValue} from "js-fast-way";
+import {useAppStore} from "~src/store";
+import mainApi from "~api/expense/invoice";
+const useAppState = useAppStore();
 onActivated(()=>{
-
+    getUserDict()
+    getInvoiceContentList()
+    getInvoiceType()
+    getProjectData()
  })
 //参数
 const props = defineProps({
@@ -100,7 +104,49 @@ watch(() => [
   console.log(otherInfo, 'otherInfo');
 
 })
+//获取所有员工
+const userList=ref([])
+const getUserDict=async()=>{
+    const {error, code, data} = await getuserList({tenantId:useAppState.tenantId})
+    if (!error && code === 200) {
+        userList.value = getArrValue(data)
+
+    } else {
+        userList.value = []
+
+    }
+}
+//获取开票内容
+const invoiceContentList=ref([])
+const getInvoiceContentList=async()=>{
+    const {error, code, data} = await mainApi.getInvoiceContentList()
+    if (!error && code === 200) {
+        invoiceContentList.value = getArrValue(data)
 
+    } else {
+        invoiceContentList.value = []
 
+    }
+}
+//发票类型字典
+const getInvoiceType = async () => {
+    const {error, code, data} = await getDictInfo('invoice_type')
+    //判断状态
+    if (!error && code === 200) {
+        invoiceTypeData.value = getArrValue(data)
+    } else {
+        invoiceTypeData.value = []
+    }
+}
+//项目类型
+const getProjectData = async () => {
+    const {error, code, data} = await getProjectList()
+    //判断状态
+    if (!error && code === 200) {
+        projectType.value = getArrValue(data)
+    } else {
+        projectType.value = []
+    }
+}
 </script>
 <style lang='scss' scoped></style>

+ 17 - 3
src/views/home/task/components/pay-request.vue

@@ -17,8 +17,7 @@
                         <div class="hc-form-item">
                             <el-form-item label="申请人:" prop="afUserId">
                                 <el-select block v-model="otherInfo.afUserId">
-                                    <el-option label="暂无接口1" value="1" />
-                                    <el-option label="暂无接口2" value="2" />
+                                    <el-option v-for="item in userList" :label="item.name" :value="item.id"/>
                                 </el-select>
                             </el-form-item>
                             <el-form-item label="是否为项目提成申请:" prop="isProjectBonus">
@@ -82,10 +81,13 @@
  
  <script setup>
  import {ref, watch,onActivated} from  'vue'
- import {getProjectList} from "~api/other";
+ import {getProjectList,getuserList} from "~api/other";
  import {getArrValue} from "js-fast-way";
+ import {useAppStore} from "~src/store";
+const useAppState = useAppStore();
  onActivated(()=>{
   getProjectData()
+  getUserDict()
  })
  //参数
  const props = defineProps({
@@ -111,6 +113,18 @@ const getProjectData = async () => {
     } else {
         projectData.value = []
     }
+}
+//获取所有员工
+const userList=ref([])
+const getUserDict=async()=>{
+    const {error, code, data} = await getuserList({tenantId:useAppState.tenantId})
+    if (!error && code === 200) {
+        userList.value = getArrValue(data)
+
+    } else {
+        userList.value = []
+
+    }
 }
  </script>
  <style lang='scss' scoped>

+ 15 - 25
src/views/home/task/task-details.vue

@@ -100,7 +100,7 @@
                 <vehicleRequest :other-info="otherInfo"/>
             </div>
             <!-- 开票申请 -->
-            <div class="hc-info-list" v-if="dataType==='票审批'">
+            <div class="hc-info-list" v-if="dataType==='票审批'">
                 <invoiceRequest :other-info="otherInfo"/>
             </div>
               <!-- 开票申请 -->
@@ -134,7 +134,7 @@
             </el-button>
 
             <!--模拟效果-->
-            <div class="w-36 mx-6 inline-block">
+            <!-- <div class="w-36 mx-6 inline-block">
                 <el-select v-model="dataType" block placeholder="选择模拟类型" size="large">
                     <el-option label="任务详情" value="任务审批"/>
                     <el-option label="财务报销" value="报销审批"/>
@@ -144,10 +144,10 @@
                     <el-option label="出差审批" value="出差审批"/>
                     <el-option label="支付申请" value="支付审批"/>
                     <el-option label="用车审批" value="用车审批"/>
-                    <el-option label="开票审批" value="开票审批"/>
+                    <el-option label="发票审批" value="发票审批"/>
                 </el-select>
-            </div>
-            <el-button hc-btn @click="authTypeClick">模拟财务审核</el-button>
+            </div> -->
+            <!-- <el-button hc-btn @click="authTypeClick">模拟财务审核</el-button> -->
         </template>
 
         <HcDialog bgColor="#ffffff" isToBody :loading="groundsLoading" :show="groundsModal" title="请填写驳回理由" widths="600px" @close="closeGroundsClick" @save="saveGroundsClick">
@@ -184,16 +184,16 @@ const useRoutes = useRoute()
 const tabsKey = ref(useRoutes?.query?.tabKey ?? '')
 const dataType = ref(useRoutes?.query?.type ?? '')
 const dataId = ref(useRoutes?.query?.id ?? '')
-const authType = ref(false)
+const authType = ref(false)//是否是财务人员
 
 //缓存页面被激活时
 onActivated(() => {
     tabsKey.value = useRoutes?.query?.tabKey ?? ''
     dataType.value = useRoutes?.query?.type ?? ''
     dataId.value = useRoutes?.query?.id ?? ''
-    console.log(useRoutes.query)
+
     getTaskDatail()
-    getdepartmentListData()
+
 })
 
 const authTypeClick = () => {
@@ -209,29 +209,19 @@ const getTaskDatail=async()=>{
         tableData.value=data['planTaskInfoList']
         taskBasicsInfo.value=data['basicsInfo']
         otherInfo.value=data['otherInfo']
+        let isFinancialPersonnel=data['basicsInfo'].isFinancialPersonnel
+        if(isFinancialPersonnel==1){//1 是财务审核
+            authType.value=true
+        }else{
+            authType.value=false
+        }
     } else {
         taskDetail.value={}
     }
 }
 //部门
 const departMent = ref([])
-const getdepartmentListData = async () => {
-    const {error, code, data} = await getdepartmentList({deptType:2})
-    //判断状态
-    if (!error && code === 200) {
-        departMent.value = getArrValue(data)
-        //判断是否是财务人员
-        departMent.value.forEach((ele)=>{
-            if(ele.id===useAppState.dept_id){
-                authType.value=true
-            }else{
-                authType.value=false
-            }
-        })
-    } else {
-        departMent.value = []
-    }
-}
+
 //任务表格
 const tableColumn = [
     {key: 'projectName', name: '所属项目'},

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

@@ -13,7 +13,7 @@
             </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" :label="item.name" :value="item.key"/>
+                    <el-option v-for="item in projectUser" :label="item.name" :value="item.id"/>
                 </el-select>
             </div>
             <div class="w-36 ml-2 ">
@@ -83,6 +83,7 @@ const router = useRouter()
 onMounted(()=>{
     getProjectType()
     getProjectServerTypeDict()
+    getImplementUser()
 })
 onActivated(()=>{
     getTableData()
@@ -100,8 +101,7 @@ const serverType = ref([])
 
 //实施负责人
 const projectUser = ref([
-    {name: '张三', key: '1'},
-    {name: '李四', key: '2'},
+   
 ])
 
 //年度数据
@@ -195,6 +195,15 @@ const getProjectServerTypeDict=async()=>{
         serverType.value=[]
     }
 }
+//获取实施负责人
+const getImplementUser=async()=>{
+    const {error, code, data} = await projectApi.getImplementUser()
+    if (!error && code === 200) {
+        projectUser.value=getArrValue(data)
+    } else {
+        projectUser.value=[]
+    }
+}
 //查看
 const rowClick = (row) => {
     router.push({