Commit 5c65b3ab authored by 祁正's avatar 祁正

日常报销修改

parent 6a5620cc
...@@ -11,7 +11,7 @@ import request from '@/utils/request' ...@@ -11,7 +11,7 @@ import request from '@/utils/request'
// 日常报销列表 // 日常报销列表
export const listCostManage = (query) => { export const listCostManage = (query) => {
return request({ return request({
url: '/dailyReimbursement/dailyReimbursement/list', url: '/dailyReimbursement/dailyReimbursement/getProjectListByUserId',
method: 'get', method: 'get',
params: query params: query
}) })
......
...@@ -13,8 +13,9 @@ ...@@ -13,8 +13,9 @@
> >
<el-row :gutter="15"> <el-row :gutter="15">
<el-col :span="8"> <el-col :span="8">
<el-form-item label="项目名称" prop="projectId"> <el-form-item label="项目名称" >
<el-select <el-select
disabled
v-model="ruleForm.projectId" v-model="ruleForm.projectId"
placeholder="请选择" placeholder="请选择"
clearable clearable
...@@ -80,7 +81,7 @@ ...@@ -80,7 +81,7 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="报销月份" prop="reimbursement" > <el-form-item label="报销月份">
<el-date-picker <el-date-picker
disabled disabled
format="YYYY-M" format="YYYY-M"
...@@ -188,28 +189,20 @@ ...@@ -188,28 +189,20 @@
</template> </template>
<script setup name="add"> <script setup name="add">
import { addDailyReimburse ,projectList,projectDetailById} from "../../../api/costManage/cost.js"; import {addDailyReimburse, projectDetailById, projectList} from "../../../api/costManage/cost.js";
import { listUser } from "../../../api/system/user.js"; import {listUser} from "../../../api/system/user.js";
import {useRoute, useRouter} from 'vue-router'; import {useRoute, useRouter} from 'vue-router';
const { proxy } = getCurrentInstance(); const { proxy } = getCurrentInstance();
const { cost_daily_type, project_status, project_type } = proxy.useDict('cost_daily_type','project_status', 'project_type'); const { cost_daily_type, project_status, project_type } = proxy.useDict('cost_daily_type','project_status', 'project_type');
const router = useRouter(); const router = useRouter();
const route = useRoute();
const formRef = ref(null); const formRef = ref(null);
const formSize = ref('default') const formSize = ref('default')
const ruleForm = ref({
projectId:'',
reimbursement: '',
timeOfExpense:'',
childList:[{
money: '',
reimbursementType:'',
remark:'',
timeOfExpense:'',
}],
})
const rules = ref({ const rules = ref({
projectId: { projectId: {
...@@ -224,10 +217,26 @@ const rules = ref({ ...@@ -224,10 +217,26 @@ const rules = ref({
trigger: 'blur', trigger: 'blur',
}, },
}) })
let projectId = parseInt(route.query.projectId)
console.log(projectId)
const projectOption = ref([]); const projectOption = ref([]);
const headOptions = ref([]); const headOptions = ref([]);
const managerOptions = ref([]); const managerOptions = ref([]);
const ruleForm = ref({
projectId:projectId,
reimbursement: '',
timeOfExpense:'',
childList:[{
money: '',
reimbursementType:'',
remark:'',
timeOfExpense:'',
}],
})
//获取所有项目 //获取所有项目
const getProjectList = () => { const getProjectList = () => {
projectList().then(res => { projectList().then(res => {
...@@ -257,6 +266,18 @@ const getProjectList = () => { ...@@ -257,6 +266,18 @@ const getProjectList = () => {
}) })
} }
const getDefaultDate = () => {
// todo 有问题待改
// let str = ruleForm.value.reimbursement + "-1"
// const parts = str.split('-');
// const year = parseInt(parts[0]);
// const month = parseInt(parts[1]) - 1;
// console.log("y",year)
// console.log("month",str)
//
// return ref(new Date(str))
}
//根据项目id自动填充项目详情 //根据项目id自动填充项目详情
const getProjectDetail=()=> { const getProjectDetail=()=> {
projectDetailById(ruleForm.value.projectId).then(res => { projectDetailById(ruleForm.value.projectId).then(res => {
...@@ -350,11 +371,14 @@ function deleteRow() { ...@@ -350,11 +371,14 @@ function deleteRow() {
const pickerOptions = ref({ const pickerOptions = ref({
disabledDate: (time) => { disabledDate: (time) => {
const defaultDate = ruleForm.value.reimbursement; const defaultDate = ruleForm.value.reimbursement;
const selectedMonth = new Date(defaultDate).getMonth(); if (!defaultDate) return false;
// console.log("获得的月份",selectedMonth)// 月份从0开始 const [year, month] = defaultDate.split('-');
const selectedYear = new Date(defaultDate).getFullYear(); const selectedYear = parseInt(year);
const selectedMonth = parseInt(month) - 1; // 月份从0开始
const checkYear = time.getFullYear();
const checkMonth = time.getMonth();
return time.getMonth() !== selectedMonth || time.getFullYear() !== selectedYear; return checkYear!== selectedYear || checkMonth!== selectedMonth;
}, },
}); });
...@@ -380,6 +404,7 @@ const getLastMonth = ()=> { ...@@ -380,6 +404,7 @@ const getLastMonth = ()=> {
onMounted(() => { onMounted(() => {
// getDetail() // getDetail()
getProjectList() getProjectList()
getProjectDetail()
let time = getLastMonth() let time = getLastMonth()
console.log(time) console.log(time)
ruleForm.value.reimbursement = getLastMonth() ruleForm.value.reimbursement = getLastMonth()
......
...@@ -120,15 +120,10 @@ ...@@ -120,15 +120,10 @@
</div> </div>
</el-affix> </el-affix>
<div class="contentTable"> <div class="contentTable">
<div style="padding-left: 8px ;margin-bottom: 20px"> <div style="padding-left: 8px ;margin-bottom: 20px;display: flex;width: 100%;align-items: center;justify-content: space-between">
<span class="bold-text" style="border-bottom: 3px solid #0062FF;">日常报销列表</span> <span class="bold-text" style="border-bottom: 3px solid #0062FF;">日常报销列表</span>
<span style="padding-left: 77%"> <span>
<el-button
class="el-button-primary-pain"
plain
icon="Plus"
@click="handleAdd"
>发起报销</el-button>
<el-tooltip content="草稿箱" placement="top"> <el-tooltip content="草稿箱" placement="top">
<el-button <el-button
type="text" type="text"
...@@ -146,6 +141,12 @@ ...@@ -146,6 +141,12 @@
<span>项目名称:{{item.projectName}}({{item.startDate}} - {{item.endDate}})</span> <span>项目名称:{{item.projectName}}({{item.startDate}} - {{item.endDate}})</span>
<span>项目经理:{{item.projectUserName}}</span> <span>项目经理:{{item.projectUserName}}</span>
<span>事业部负责人:{{item.departmentUserName}}</span> <span>事业部负责人:{{item.departmentUserName}}</span>
<el-button
class="el-button-primary-pain"
plain
icon="Plus"
@click="handleAdd(item)"
>发起报销</el-button>
</div> </div>
</template> </template>
<span>费用明细</span> <span>费用明细</span>
...@@ -220,9 +221,9 @@ ...@@ -220,9 +221,9 @@
<!-- </el-steps>--> <!-- </el-steps>-->
</div> </div>
<div class="footer-right"> <div class="footer-right">
<span>已通过金额:{{item.passNumber}}</span> <span>已通过金额:{{item.passNumber || 0}}</span>
<span>未通过金额:{{item.notPassNumber}}</span> <span>未通过金额:{{item.notPassNumber || 0}}</span>
<span>累计金额:{{item.totalMoney}}</span> <span>累计金额:{{item.totalMoney || 0}}</span>
</div> </div>
</div> </div>
</template> </template>
...@@ -281,25 +282,29 @@ const data = reactive({ ...@@ -281,25 +282,29 @@ const data = reactive({
const { queryParams, form} = toRefs(data); const { queryParams, form} = toRefs(data);
/** 查询角色列表 */ /** 查询角色列表 */
function getList() { function getList() {
// console.log("坤坤",costManageList.value)
loading.value = true; loading.value = true;
//获取日常报销列表 //获取日常报销列表
listCostManage(queryParams.value).then((res) => { listCostManage(queryParams.value).then((res) => {
costManageList.value = res.rows costManageList.value = res.data
console.log("123",res.rows) for(let item of costManageList.value){
for(let key in res.rows){ if(!item.tableItemList){
// console.log(data) item.tableItemList = []
res.rows[key].tableItemList.sort((a, b) => {
if(a.status === 1 && b.status !== 1){
return -1;
} }
if(b.status === 1 && a.status !== 1){
return 1;
} }
return new Date(b.registrationTime) - new Date(a.registrationTime)
}) console.log("123",res.data)
} // for(let key in res.data){
total.value = res.total // // console.log(data)
// res.rows[key].tableItemList.sort((a, b) => {
// if(a.status === 1 && b.status !== 1){
// return -1;
// }
// if(b.status === 1 && a.status !== 1){
// return 1;
// }
// return new Date(b.registrationTime) - new Date(a.registrationTime)
// })
// }
loading.value = false loading.value = false
}) })
...@@ -412,8 +417,8 @@ function handleDelete(row) { ...@@ -412,8 +417,8 @@ function handleDelete(row) {
/** 日常报销新增页*/ /** 日常报销新增页*/
function handleAdd() { function handleAdd(row) {
router.push('/costManage/dailyReimburse/add') router.push('/costManage/dailyReimburse/add?projectId='+row.projectId)
} }
/** 日常报销详情页 */ /** 日常报销详情页 */
...@@ -495,20 +500,17 @@ onMounted(() => { ...@@ -495,20 +500,17 @@ onMounted(() => {
<style scoped> <style scoped>
.card-header { .card-header {
display: flex; display: flex;
justify-content: space-around; justify-content: space-between;
align-items: center; align-items: center;
margin-bottom: 7px; margin-bottom: 7px;
} }
.bold-text { .bold-text {
width: 72px;
height: 15px;
font-family: PingFangSC-Medium; font-family: PingFangSC-Medium;
font-weight: 900; font-weight: 900;
font-size: 18px; font-size: 18px;
color: #0D162A; color: #0D162A;
letter-spacing: 0; letter-spacing: 0;
line-height: 15px;
} }
.box-card { .box-card {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment