feat(hrm): 新增拨款申请功能并修复仓储显示问题

- 添加拨款申请相关组件、API及页面逻辑
- 修复仓储模块列表显示边框和内容插槽问题
- 更新版本记录至5.2.3版本
This commit is contained in:
砂糖
2026-04-14 09:33:58 +08:00
parent f91ab6d45f
commit 05ff3391c7
10 changed files with 481 additions and 26 deletions

View File

@@ -115,6 +115,10 @@
{
label: '报销',
value: 'reimburse'
},
{
label: '拨款',
value: 'appropriation'
}
],
bizTypeIndex: 0,
@@ -187,6 +191,9 @@
} else if (task.bizType === 'reimburse') {
const amt = biz.totalAmount != null ? biz.totalAmount : 0;
return `${biz.reimburseType || '报销'} · 金额: ${amt}`;
} else if (task.bizType === 'appropriation') {
const amt = biz.amount != null ? biz.amount : 0;
return `${biz.appropriationType || '拨款'} · 金额: ${amt}`;
}
return '-';
},
@@ -200,7 +207,8 @@
leave: '请假',
travel: '出差',
seal: '用印',
reimburse: '报销'
reimburse: '报销',
appropriation: '拨款'
};
return map[type] || type || '-';
},
@@ -210,7 +218,8 @@
leave: 'primary',
travel: 'success',
seal: 'warning',
reimburse: 'danger'
reimburse: 'danger',
appropriation: 'danger'
};
return map[type] || 'info';
},

View File

@@ -114,6 +114,10 @@
{
label: '报销',
value: 'reimburse'
},
{
label: '拨款',
value: 'appropriation'
}
],
bizTypeIndex: 0,
@@ -168,6 +172,9 @@
} else if (task.bizType === 'reimburse') {
const amt = biz.totalAmount != null ? biz.totalAmount : 0;
return `${biz.reimburseType || '报销'} · 金额: ${amt}`;
} else if (task.bizType === 'appropriation') {
const amt = biz.amount != null ? biz.amount : 0;
return `${biz.appropriationType || '拨款'} · 金额: ${amt}`;
}
return '-';
},
@@ -181,7 +188,8 @@
leave: '请假',
travel: '出差',
seal: '用印',
reimburse: '报销'
reimburse: '报销',
appropriation: '拨款'
};
return map[type] || type || '-';
},
@@ -191,7 +199,8 @@
leave: 'primary',
travel: 'success',
seal: 'warning',
reimburse: 'danger'
reimburse: 'danger',
appropriation: 'danger'
};
return map[type] || 'info';
},

View File

@@ -20,6 +20,7 @@
import HRMReimburseDetail from '@/components/hrm/detailPanels/reimburse.vue'
import HRMSealDetail from '@/components/hrm/detailPanels/seal.vue'
import HRMTravelDetail from '@/components/hrm/detailPanels/travel.vue'
import HRMAppropriationDetail from '@/components/hrm/detailPanels/appropriation.vue'
import {
approveFlowTask,
@@ -34,7 +35,8 @@
HRMLeaveDetail,
HRMReimburseDetail,
HRMSealDetail,
HRMTravelDetail
HRMTravelDetail,
HRMAppropriationDetail
},
data() {
return {
@@ -46,7 +48,8 @@
leave: 'HRMLeaveDetail', // 请假
reimburse: 'HRMReimburseDetail', // 报销
seal: 'HRMSealDetail', // 用章
travel: 'HRMTravelDetail' // 差旅
travel: 'HRMTravelDetail' ,// 差旅
appropriation: 'HRMAppropriationDetail'
}
}
},

View File

@@ -96,17 +96,6 @@
height="700rpx"
>
<view class="popup-container">
<!-- 弹窗标题栏 -->
<!-- <view class="popup-header">
<text class="popup-title">入库单明细</text>
<uni-icon
type="close"
size="24"
class="close-icon"
@click="$refs.popup.close()"
></uni-icon>
</view> -->
<view class="detail-scroll">
<view class="detail-document">
<!-- 明细头部 -->
@@ -116,9 +105,9 @@
</view> -->
<!-- 明细列表 -->
<uni-list v-if="warehouseTaskList.length > 0" border="false">
<uni-list v-if="warehouseTaskList.length > 0" :border="false">
<uni-list-item class="detail-item" v-for="(item, index) in warehouseTaskList" :key="index">
<view class="detail-content">
<view class="detail-content" slot="body">
<view class="detail-title">
<text class="item-num">{{ index + 1 }}.</text>
<text class="item-name">{{ item.warehouseName }}</text>
@@ -277,6 +266,7 @@ export default {
showDetail(item) {
this.currentItem = item;
this.$refs.popup.open();
console.log(item.warehouseList)
this.warehouseTaskList = item.warehouseList || [];
},

View File

@@ -116,9 +116,9 @@
</view> -->
<!-- 明细列表 -->
<uni-list v-if="warehouseTaskList.length > 0" border="false">
<uni-list v-if="warehouseTaskList.length > 0" :border="false">
<uni-list-item class="detail-item" v-for="(item, index) in warehouseTaskList" :key="index">
<view class="detail-content">
<view class="detail-content" slot="body">
<view class="detail-title">
<text class="item-num">{{ index + 1 }}.</text>
<text class="item-name">{{ item.warehouseName }}</text>

View File

@@ -82,10 +82,10 @@
<view class="detail-scroll">
<view class="detail-document">
<!-- 明细列表 -->
<uni-list v-if="warehouseTaskList.length > 0" border="false">
<uni-list v-if="warehouseTaskList.length > 0" :border="false">
<checkbox-group @change="checkboxChange">
<uni-list-item class="detail-item" v-for="(item, index) in warehouseTaskList" :key="index">
<view class="detail-content">
<view class="detail-content" slot="body">
<view class="detail-title">
<view class="">
<text class="item-num">{{ index + 1 }}.</text>