浏览代码

支付申请

duy 2 年之前
父节点
当前提交
f8c6b92564

+ 5 - 5
src/views/expense/paymentRequest/record.vue

@@ -291,11 +291,11 @@ const getFormData = (submitStatus = 1) => {
     //----处理数据----
     //----处理数据----
     return {
     return {
         ...res,
         ...res,
-        cashierUser,
-        ccUserList,
-        finalConfirmationUser,
-        financeUser,
-        responsibleUser,
+        // cashierUser,
+        // ccUserList,
+        // finalConfirmationUser,
+        // financeUser,
+        // responsibleUser,
         submitStatus //提交状态 1=暂存 2=提交审批
         submitStatus //提交状态 1=暂存 2=提交审批
     }
     }
 }
 }

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

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

+ 117 - 0
src/views/home/task/components/pay-request.vue

@@ -0,0 +1,117 @@
+ <!--  -->
+ <template>
+       <div class="record-form-box">
+                <el-scrollbar>
+                    <el-form ref="formRef" :model="otherInfo" label-position="top" size="large" disabled>
+                      <div class="hc-form-item">
+                        <el-form-item label="申请时间:" prop="afDate">
+                            <el-date-picker type="date" class="block" v-model="otherInfo.afDate" format="YYYY-MM-DD" value-format="YYYY-MM-DD"/>
+                        </el-form-item>
+                        <el-form-item label="关联项目:" v-if="otherInfo.isProjectBonus !== 1">
+                            <el-select block v-model="otherInfo.projectId">
+                                <el-option v-for="items in projectData" :label="items.projectName" :value="items.projectId"/>
+                            </el-select>
+                        </el-form-item>
+                      </div>
+                 
+                        <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-select>
+                            </el-form-item>
+                            <el-form-item label="是否为项目提成申请:" prop="isProjectBonus">
+                                <el-select block v-model="otherInfo.isProjectBonus">
+                                    <el-option label="否" :value="0"/>
+                                    <el-option label="是" :value="1"/>
+                                </el-select>
+                            </el-form-item>
+                        </div>
+                        <div class="hc-form-item" v-if="otherInfo.isProjectBonus === 1">
+                            <el-form-item label="关联项目:" prop="projectId">
+                                <el-select block v-model="otherInfo.projectId">
+                                    <el-option v-for="items in projectData" :label="items.projectName" :value="items.projectId"/>
+                                </el-select>
+                            </el-form-item>
+                            <div class="ml-2">
+                                <el-button type="default" style="margin-top: 34px;" @click="budgetModalShow">
+                                    <HcIcon name="add"/>
+                                    <span>关联合同数据</span>
+                                </el-button>
+                            </div>
+                        </div>
+                        <el-form-item label="回款时间:" prop="collectionDate" v-if="otherInfo.isProjectBonus === 1">
+                            <el-input v-model="otherInfo.collectionDate" disabled/>
+                        </el-form-item>
+                        <el-form-item label="回款金额:" prop="collectionMoney" v-if="otherInfo.isProjectBonus === 1">
+                            <el-input v-model="otherInfo.collectionMoney" disabled>
+                                <template #append>元</template>
+                            </el-input>
+                        </el-form-item>
+                        <el-form-item label="申请比例:" prop="afProportion" v-if="otherInfo.isProjectBonus === 1">
+                            <el-input v-model="otherInfo.afProportion">
+                                <template #append>%</template>
+                            </el-input>
+                        </el-form-item>
+                        <el-form-item label="请款金额:" prop="afMoney">
+                            <el-input v-model="otherInfo.afMoney" :disabled="otherInfo.isProjectBonus === 1">
+                                <template #append>元</template>
+                            </el-input>
+                        </el-form-item>
+                        <el-form-item label="收款人:" prop="payeeUserName">
+                            <el-input v-model="otherInfo.payeeUserName"/>
+                        </el-form-item>
+                        <el-form-item label="收款人开户行:" prop="payeeUserBankName">
+                            <el-input v-model="otherInfo.payeeUserBankName"/>
+                        </el-form-item>
+                        <el-form-item label="收款账号:" prop="payeeUserBankId">
+                            <el-input v-model="otherInfo.payeeUserBankId"/>
+                        </el-form-item>
+                        <el-form-item label="请款用途:" prop="payeeUseInfo" v-if="otherInfo.isProjectBonus !== 1">
+                            <el-input type="textarea" v-model="otherInfo.payeeUseInfo" :autosize="{ minRows: 3, maxRows: 5 }"/>
+                        </el-form-item>
+                    
+                        <el-form-item label="备注:">
+                            <el-input type="textarea" v-model="otherInfo.remarks" :autosize="{ minRows: 3, maxRows: 5 }"/>
+                        </el-form-item>
+                    </el-form>
+                </el-scrollbar>
+            </div>
+ </template>
+ 
+ <script setup>
+ import {ref, watch,onActivated} from  'vue'
+ import {getProjectList} from "~api/other";
+ import {getArrValue} from "js-fast-way";
+ onActivated(()=>{
+  getProjectData()
+ })
+ //参数
+ const props = defineProps({
+   otherInfo: {
+         type: Object,
+         default: {}
+     }
+ })
+ //监听
+ watch(() => [
+  props.otherInfo,
+ ], ([otherInfo]) => {
+    console.log(otherInfo,'otherInfo');
+ 
+ })
+ //获取项目数据
+const projectData = ref([])
+const getProjectData = async () => {
+    const {error, code, data} = await getProjectList()
+    //判断状态
+    if (!error && code === 200) {
+        projectData.value = getArrValue(data)
+    } else {
+        projectData.value = []
+    }
+}
+ </script>
+ <style lang='scss' scoped>
+ </style>

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

@@ -1,10 +1,104 @@
 <!--  -->
 <!--  -->
 <template>
 <template>
-  <div >出差详情</div>
+  <div>
+    <el-form ref="formRef" :model="otherInfo" label-width="auto" size="large" disabled>
+      <div class="project-form-top">
+        <el-form-item label="出差事由:" prop="tripDesc">
+          <el-input v-model="otherInfo.tripDesc" />
+        </el-form-item>
+        <el-form-item label="交通工具" prop="trafficType">
+          <el-select v-model="otherInfo.trafficType" block clearable placeholder="请选择">
+            <el-option v-for="item in trafficTypeData" :label="item.dictName" :value="item.dictValue" />
+          </el-select>
+        </el-form-item>
+        <el-form-item label="单程往返" prop="isSingletonType">
+          <el-select v-model="otherInfo.isSingletonType" block clearable placeholder="请选择">
+            <el-option v-for="item in wayType" :label="item.name" :value="item.key" />
+          </el-select>
+        </el-form-item>
+        <el-form-item label="出发城市" prop="startCity">
+          <el-select v-model="otherInfo.startCity" block clearable placeholder="请选择出发城市">
+            <el-option v-for="item in cityType" :label="item.name" :value="item.key" />
+          </el-select>
+        </el-form-item>
+        <el-form-item label="目的城市" prop="endCity">
+          <el-select v-model="otherInfo.endCity" block clearable placeholder="请选择目的城市">
+            <el-option v-for="item in cityType" :label="item.name" :value="item.key" />
+          </el-select>
+        </el-form-item>
+        <el-form-item label="开始时间">
+          <el-date-picker v-model="otherInfo.startDate" type="date" placeholder="请选择开始时间" style="width: 100%;"
+            format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
+        </el-form-item>
+        <el-form-item label="结束时间">
+          <el-date-picker v-model="otherInfo.endDate" type="date" placeholder="请选择结束时间" style="width: 100%;"
+            format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
+        </el-form-item>
+        <el-form-item label="时长" prop="duration">
+          <el-input v-model="otherInfo.duration" disabled  />
+        </el-form-item>
+        <el-form-item label="出差天数:" prop="durationAll">
+          <el-input v-model="otherInfo.durationAll" disabled />
+        </el-form-item>
+        <el-form-item label="出差备注:" prop="remarks">
+          <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 placeholder="请选择" style="width: 100%">
+            <el-option v-for="item in partneroptions" :key="item.key" :label="item.name" :value="item.key" />
+          </el-select>
+        </el-form-item>
+        <el-form-item label="所属项目" prop="projectId" placeholder="请选择同行人">
+          <el-select v-model="otherInfo.projectId" block clearable placeholder="请选择">
+            <el-option v-for="item in projectType" :label="item.projectName" :value="item.projectId" />
+          </el-select>
+        </el-form-item>
+ 
+
+
+
+      </div>
+
+    </el-form>
+
+  </div>
 </template>
 </template>
 
 
 <script setup>
 <script setup>
-import {ref, watch} from  'vue'
+import { ref, watch,onActivated } from 'vue'
+import {getProjectList} from "~api/other";
+import {getArrValue} from "js-fast-way";
+onActivated(()=>{
+  getProjectData()
+ })
+//参数
+const props = defineProps({
+  otherInfo: {
+    type: Object,
+    default: {}
+  }
+})
+const trafficTypeData=ref([])
+const wayType=ref([])
+const cityType=ref([])
+const projectType=ref([])
+const partneroptions=ref([])
+//监听
+watch(() => [
+  props.otherInfo,
+], ([otherInfo]) => {
+  console.log(otherInfo, 'otherInfo');
+
+})
+const getProjectData = async () => {
+    const {error, code, data} = await getProjectList()
+    //判断状态
+    if (!error && code === 200) {
+      projectType.value = getArrValue(data)
+    } else {
+      projectType.value = []
+    }
+}
+
 </script>
 </script>
-<style lang='scss' scoped>
-</style>
+<style lang='scss' scoped></style>

+ 10 - 4
src/views/home/task/task-details.vue

@@ -19,7 +19,7 @@
         </HcCardItem>
         </HcCardItem>
 
 
         <HcCardItem title="操作任务" class="mt-4" v-if="dataType === '任务审批'">
         <HcCardItem title="操作任务" class="mt-4" v-if="dataType === '任务审批'">
-            <el-form ref="formRef" :model="formModel" :rules="formRules" label-width="" :disabled="tabsKey !== 'to-do'">
+            <el-form ref="formRef" :model="formModel" :rules="formRules" label-width="" :disabled="tabsKey !== 1">
                 <el-form-item label="变更类别:" prop="type" size="large">
                 <el-form-item label="变更类别:" prop="type" size="large">
                     <el-radio-group v-model="formModel.type" size="large">
                     <el-radio-group v-model="formModel.type" size="large">
                         <el-radio label="1">已完成</el-radio>
                         <el-radio label="1">已完成</el-radio>
@@ -41,7 +41,7 @@
             </el-form>
             </el-form>
         </HcCardItem>
         </HcCardItem>
 
 
-        <HcCardItem title="数据详情" class="mt-4">
+        <HcCardItem title="数据详情" class="mt-4"  v-if="dataType !== '任务审批'">
              <!-- 报销 -->
              <!-- 报销 -->
             <div class="hc-info-list" v-if="dataType=='报销审批'">
             <div class="hc-info-list" v-if="dataType=='报销审批'">
                 <HcListItem title="报销金额:" :content="otherInfo?.frMoney"/>
                 <HcListItem title="报销金额:" :content="otherInfo?.frMoney"/>
@@ -81,7 +81,11 @@
             </div>
             </div>
              <!-- 出差审批 -->
              <!-- 出差审批 -->
             <div class="hc-info-list" v-if="dataType==='出差审批'">
             <div class="hc-info-list" v-if="dataType==='出差审批'">
-                <tripInfo />
+                <tripInfo :other-info="otherInfo"/>
+            </div>
+             <!-- 支付申请 -->
+            <div class="hc-info-list" v-if="dataType==='支付申请'">
+                <paymentRequest :other-info="otherInfo"/>
             </div>
             </div>
           
           
           
           
@@ -114,12 +118,13 @@
             <!--模拟效果-->
             <!--模拟效果-->
             <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-select v-model="dataType" block placeholder="选择模拟类型" size="large">
-                    <el-option label="任务详情" value="1"/>
+                    <el-option label="任务详情" value="任务审批"/>
                     <el-option label="财务报销" value="报销审批"/>
                     <el-option label="财务报销" value="报销审批"/>
                     <el-option label="采购" value="3"/>
                     <el-option label="采购" value="3"/>
                     <el-option label="外包支付" value="4"/>
                     <el-option label="外包支付" value="4"/>
                     <el-option label="借款审批" value="5"/>
                     <el-option label="借款审批" value="5"/>
                     <el-option label="出差审批" value="出差审批"/>
                     <el-option label="出差审批" value="出差审批"/>
+                    <el-option label="支付申请" value="支付申请"/>
                 </el-select>
                 </el-select>
             </div>
             </div>
             <el-button hc-btn @click="authTypeClick">模拟财务审核</el-button>
             <el-button hc-btn @click="authTypeClick">模拟财务审核</el-button>
@@ -142,6 +147,7 @@ import {useRouter, useRoute} from 'vue-router'
 import taskApi from '~api/home/task.js';
 import taskApi from '~api/home/task.js';
 import {getArrValue,getObjValue} from "js-fast-way"
 import {getArrValue,getObjValue} from "js-fast-way"
 import tripInfo from './components/trip-info.vue'
 import tripInfo from './components/trip-info.vue'
+import paymentRequest from './components/pay-request.vue'
 
 
 //初始变量
 //初始变量
 const router = useRouter()
 const router = useRouter()