فهرست منبع

出差审批修改

duy 2 سال پیش
والد
کامیت
30e7623b8e
2فایلهای تغییر یافته به همراه51 افزوده شده و 19 حذف شده
  1. 32 15
      src/views/attendance/business-trip/info.vue
  2. 19 4
      src/views/home/task/components/trip-info.vue

+ 32 - 15
src/views/attendance/business-trip/info.vue

@@ -91,20 +91,16 @@
                               </el-form-item>
                               <el-form-item label="同行人" prop="fellowTravelerUserIds">
                                 <el-select
-                                        v-model="formModel.fellowTravelerUserIds"
+                                        v-model="fellowTravelerUserIds"
                                         block clearable
                                         placeholder="请选择"
                                         style="width: 100%"
+                                        multiple
                                         >
-                                        <el-option
-                                            v-for="item in partneroptions"
-                                            :key="item.key"
-                                            :label="item.name"
-                                            :value="item.key"
-                                        />
+                                        <el-option v-for="item in partneroptions" :label="item.name" :value="item.id" />
                                         </el-select>
                               </el-form-item>
-                              <el-form-item label="所属项目" prop="projectId" placeholder="请选择同行人">
+                              <el-form-item label="所属项目" prop="projectId" >
                                         <el-select v-model="formModel.projectId" block clearable placeholder="请选择">
                                           <el-option v-for="item in projectType" :label="item.projectName" :value="item.projectId"/>
                                       </el-select>
@@ -169,10 +165,12 @@
 <script setup>
 import {ref, onActivated,watch} from "vue";
 import {useRoute, useRouter} from 'vue-router'
-import {getProjectList, getDictInfo} from "~api/other";
+import {getProjectList, getDictInfo,getuserList} from "~api/other";
 import {arrIndex, deepClone, formValidate, getArrValue} from "js-fast-way";
 import businessApi from '~api/attendance/business-trip.js';
 import {getDiffDay} from "~uti/tools";
+import {useAppStore} from "~src/store";
+const useAppState = useAppStore();
 
 const router = useRouter()
 const useRoutes = useRoute()
@@ -188,6 +186,7 @@ onActivated(() => {
   getTrafficType()
   getProjectData()
   getDetailsData()
+  getUserDict()
 })
 const getDetailsData = async () => {
     if (dataType.value === 'view') {
@@ -210,6 +209,7 @@ const getDetailsData = async () => {
             newDetails1.id = res?.id
          
             newDetails.details = [newDetails1]
+            fellowTravelerUserIds.value=res.fellowTravelerUserIds.split(',')
         } else {
             newDetails = detailsObj
             newDetails.details = [detailsObj1]
@@ -243,6 +243,7 @@ const getDetailsData = async () => {
               
             })
             newDetails.journeyList = newDetailsArr
+            fellowTravelerUserIds.value=res[0].fellowTravelerUserIds.split(',')
             console.log(formModel.value,'formModel.value');
             formModel.value = newDetails
         } else {
@@ -378,11 +379,19 @@ const getProjectData = async () => {
     }
 }
 //同行人
-const partneroptions = ref([
-  {name: '小黄', key: '1'},
-  {name: '香兰', key: '2'},
-  {name: '小黑', key: '3'},
-])
+
+const partneroptions=ref([])
+
+const getUserDict=async()=>{
+    const {error, code, data} = await getuserList({tenantId:useAppState.tenantId})
+    if (!error && code === 200) {
+      partneroptions.value = getArrValue(data)
+
+    } else {
+      partneroptions.value = []
+
+    }
+}
 //合同类型
 const contractType = ref([
   {name: '咨询服务+软件', key: '1'},
@@ -515,7 +524,7 @@ const detailsObj = {
     submitStatus: null,           // 审提交状态 1=暂存 2=提交审批
     journeyList: [detailsObj1],
 }
-
+const fellowTravelerUserIds=ref([])
 //处理表单数据
 const getFormData = (submitStatus = 1) => {
     const res = deepClone(formModel.value)
@@ -559,6 +568,8 @@ const saveClick=async()=>{
             saveLoading.value = false
             return
         }else{
+            form.fellowTravelerUserIds=fellowTravelerUserIds.value.join(',')
+            console.log(form,'form');
             const {error, code, msg} = await businessApi.submit(form)
             //判断状态
             tempLoading.value = false
@@ -576,7 +587,13 @@ const tempLoading = ref(false)
 const tempDraftData = async () => {
     tempLoading.value = true
     const form = getFormData(1)
+    form.forEach((ele)=>{
+        ele.fellowTravelerUserIds=fellowTravelerUserIds.value.join(',')
+    })
+    console.log(form,'form');
     const {error, code, msg} = await businessApi.submit(form)
+   
+  
     //判断状态
     tempLoading.value = false
     if (!error && code === 200) {

+ 19 - 4
src/views/home/task/components/trip-info.vue

@@ -40,8 +40,8 @@
           <el-input v-model="otherInfo.remarks" type="textarea" />
         </el-form-item>
         <el-form-item label="同行人" prop="fellowTravelerUserIds">
-          <el-select v-model="otherInfo.fellowTravelerUserIds" block clearable style="width: 100%">
-            <el-option v-for="item in partneroptions" :key="item.key" :label="item.name" :value="item.key" />
+          <el-select v-model="fellowTravelerUserIds" block clearable style="width: 100%" multiple>
+            <el-option v-for="item in partneroptions" :label="item.name" :value="item.id" />
           </el-select>
         </el-form-item>
         <el-form-item label="所属项目" prop="projectId" >
@@ -62,8 +62,10 @@
 
 <script setup>
 import { ref, watch,onActivated } from 'vue'
-import {getProjectList,getDictInfo} from "~api/other";
+import {getProjectList,getDictInfo,getuserList} from "~api/other";
 import {getArrValue} from "js-fast-way";
+import {useAppStore} from "~src/store";
+const useAppState = useAppStore();
 
 //参数
 const props = defineProps({
@@ -92,13 +94,26 @@ const wayType = ref([
 const cityType=ref([])
 const projectType=ref([])
 const partneroptions=ref([])
+
+const getUserDict=async()=>{
+    const {error, code, data} = await getuserList({tenantId:useAppState.tenantId})
+    if (!error && code === 200) {
+      partneroptions.value = getArrValue(data)
+
+    } else {
+      partneroptions.value = []
+
+    }
+}
+const fellowTravelerUserIds=ref([])
 //监听
 watch(() => [
   props.otherInfo,
 ], ([otherInfo]) => {
-  console.log(otherInfo, 'otherInfo');
+  fellowTravelerUserIds.value=otherInfo.fellowTravelerUserIds.split('')
   getProjectData()
   getTrafficType()
+  getUserDict()
 
 })
 const getProjectData = async () => {