费用推送下拉提交

This commit is contained in:
hongchao 2026-01-15 13:50:21 +08:00
parent 09b731b0ea
commit fcb946010b
6 changed files with 153 additions and 35 deletions

View File

@ -105,6 +105,15 @@ export function equipmentTypeTree(query) {
}) })
} }
//获取机具类型树--领用申请
export function equipmentTypeTreeLY(query) {
return request({
url: '/material/ma_type/equipmentTypeLY',
method: 'get',
params: query,
})
}
// 上传报告附件 // 上传报告附件
export function uploadPurchaseFile(data) { export function uploadPurchaseFile(data) {
return request({ return request({

View File

@ -454,7 +454,7 @@
</template> </template>
<script> <script>
import { equipmentTypeTree } from '@/api/purchase/goodsArrived' import { equipmentTypeTree,equipmentTypeTreeLY } from '@/api/purchase/goodsArrived'
import { getLeaseProjectListApi, getListUnite, getAgreement, getProjectList, getDepartNameList } from '@/api/lease/apply' import { getLeaseProjectListApi, getListUnite, getAgreement, getProjectList, getDepartNameList } from '@/api/lease/apply'
import { getImpUnitListApi } from "@/api/materialsStation" import { getImpUnitListApi } from "@/api/materialsStation"
import { import {
@ -1057,7 +1057,7 @@ export default {
}, },
/** 机具类型 */ /** 机具类型 */
equipmentType() { equipmentType() {
equipmentTypeTree().then(response => { equipmentTypeTreeLY().then(response => {
console.log('🚀 ~ equipmentTypeTree ~ response:', response) console.log('🚀 ~ equipmentTypeTree ~ response:', response)
this.equipmentTypeList = response.data this.equipmentTypeList = response.data
// //

View File

@ -1123,7 +1123,7 @@ export default {
.tabelColumn { .tabelColumn {
width: 1000px; width: 1000px;
height: 40px; height: 35px;
display: flex; display: flex;
align-items: center; align-items: center;
border: 1px solid #9c9c9c; border: 1px solid #9c9c9c;
@ -1132,15 +1132,15 @@ export default {
} }
.columnLabel { .columnLabel {
height: 40px; height: 35px;
line-height: 40px; line-height: 35px;
text-align: center; text-align: center;
border-left: none; border-left: none;
} }
.columnContent { .columnContent {
height: 40px; height: 35px;
line-height: 40px; line-height: 35px;
text-align: center; text-align: center;
border-left: 1px solid #9c9c9c; border-left: 1px solid #9c9c9c;
} }

View File

@ -1,7 +1,18 @@
<template> <template>
<!-- 基础页面 --> <!-- 基础页面 -->
<div class="app-container"> <div class="app-container">
<el-form v-show="showSearch" :model="queryParams" ref="queryForm" size="small" inline @submit.native.prevent> <el-form v-show="showSearch" :model="queryParams" ref="queryForm" size="small" inline @submit.native.prevent label-width="80px">
<el-form-item label="分公司" prop="impUnitName">
<el-select
v-model="queryParams.impUnitName"
placeholder="请选择分公司"
clearable
filterable
style="width: 215px"
>
<el-option v-for="item in impUnitOptions" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="选择单位" prop="unitId"> <el-form-item label="选择单位" prop="unitId">
<TreeSelect <TreeSelect
v-model="queryParams.unitId" v-model="queryParams.unitId"
@ -43,7 +54,7 @@
></el-date-picker> ></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="提交状态" prop="status"> <el-form-item label="提交状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable style="width: 240px"> <el-select v-model="queryParams.status" placeholder="请选择状态" clearable style="width: 215px">
<el-option v-for="item in pushList" :key="item.value" :label="item.label" :value="item.value" /> <el-option v-for="item in pushList" :key="item.value" :label="item.label" :value="item.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -157,6 +168,7 @@
<script> <script>
import { getProjectList, getUnitList, getAgreementInfoById } from '@/api/back/index.js' import { getProjectList, getUnitList, getAgreementInfoById } from '@/api/back/index.js'
import { getConsumPushCheckList, getConsumPushCheckListCount, submitPushSafetyConsumeCosts,getConsumeDetailsListApi } from '@/api/costPush/costPush' import { getConsumPushCheckList, getConsumPushCheckListCount, submitPushSafetyConsumeCosts,getConsumeDetailsListApi } from '@/api/costPush/costPush'
import { getImpUnitListApi } from "@/api/materialsStation"
import TreeSelect from '@riophae/vue-treeselect' import TreeSelect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css' import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import ExcelJS from 'exceljs'; import ExcelJS from 'exceljs';
@ -180,10 +192,12 @@ export default {
agreementId: '', agreementId: '',
agreementCode: '', agreementCode: '',
month: new Date().getFullYear() + '-' + String(new Date().getMonth() + 1).padStart(2, '0'), month: new Date().getFullYear() + '-' + String(new Date().getMonth() + 1).padStart(2, '0'),
isSend: null isSend: null,
impUnitName: null,
}, },
unitList: [], // unitList: [], //
proList: [], // proList: [], //
impUnitOptions: [], //
pushList: [ pushList: [
{ label: '未推送', value: '0' }, { label: '未推送', value: '0' },
{ label: '已推送', value: '1' }, { label: '已推送', value: '1' },
@ -223,11 +237,28 @@ export default {
} }
}, },
created() { created() {
this.getImpUnitOptions() //
this.GetUnitData() this.GetUnitData()
this.GetProData() this.GetProData()
this.getList() this.getList()
}, },
methods: { methods: {
/** 获取分公司下拉 */
async getImpUnitOptions() {
try {
const res = await getImpUnitListApi()
this.impUnitOptions = res.data.map(item => ({
label: item.impUnitName,
value: item.impUnitName
}))
if (this.impUnitOptions.length === 1) {
this.queryParams.impUnitName = this.impUnitOptions[0].value
await this.onImpUnitChange(this.queryParams.impUnitName)
}
} catch (e) {
console.error('获取分公司下拉失败:', e)
}
},
// //
handleQuery() { handleQuery() {
this.queryParams.pageNum = 1 this.queryParams.pageNum = 1
@ -252,7 +283,7 @@ export default {
console.log('🚀 ~ 获取列表 ~ res:', res) console.log('🚀 ~ 获取列表 ~ res:', res)
this.tableList = res.rows this.tableList = res.rows
this.total = res.total this.total = res.total
const res2 = await getConsumPushCheckListCount() const res2 = await getConsumPushCheckListCount(params)
this.totalCost = res2.data.leaseMoney this.totalCost = res2.data.leaseMoney
loading.close() loading.close()
} catch (error) { } catch (error) {

View File

@ -1,7 +1,18 @@
<template> <template>
<!-- 基础页面 --> <!-- 基础页面 -->
<div class="app-container"> <div class="app-container">
<el-form v-show="showSearch" :model="queryParams" ref="queryForm" size="small" inline @submit.native.prevent> <el-form v-show="showSearch" :model="queryParams" ref="queryForm" size="small" inline @submit.native.prevent label-width="80px">
<el-form-item label="分公司" prop="impUnitName">
<el-select
v-model="queryParams.impUnitName"
placeholder="请选择分公司"
clearable
filterable
style="width: 215px"
>
<el-option v-for="item in impUnitOptions" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="选择单位" prop="unitId"> <el-form-item label="选择单位" prop="unitId">
<TreeSelect <TreeSelect
v-model="queryParams.unitId" v-model="queryParams.unitId"
@ -43,7 +54,7 @@
></el-date-picker> ></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="提交状态" prop="status"> <el-form-item label="提交状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable style="width: 240px"> <el-select v-model="queryParams.status" placeholder="请选择状态" clearable style="width: 215px">
<el-option v-for="item in pushList" :key="item.value" :label="item.label" :value="item.value" /> <el-option v-for="item in pushList" :key="item.value" :label="item.label" :value="item.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -187,6 +198,7 @@
<script> <script>
import { getProjectList, getUnitList, getAgreementInfoById } from '@/api/back/index.js' import { getProjectList, getUnitList, getAgreementInfoById } from '@/api/back/index.js'
import { getCostPushCheckList, getCostPushCheckListCount, submitPushSafetyCosts,getCostPushLeaseListApi } from '@/api/costPush/costPush' import { getCostPushCheckList, getCostPushCheckListCount, submitPushSafetyCosts,getCostPushLeaseListApi } from '@/api/costPush/costPush'
import { getImpUnitListApi } from "@/api/materialsStation"
import TreeSelect from '@riophae/vue-treeselect' import TreeSelect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css' import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import ExcelJS from 'exceljs'; import ExcelJS from 'exceljs';
@ -210,10 +222,12 @@ export default {
agreementId: '', agreementId: '',
agreementCode: '', agreementCode: '',
month: new Date().getFullYear() + '-' + String(new Date().getMonth() + 1).padStart(2, '0'), month: new Date().getFullYear() + '-' + String(new Date().getMonth() + 1).padStart(2, '0'),
isSend: null isSend: null,
impUnitName: null,
}, },
unitList: [], // unitList: [], //
proList: [], // proList: [], //
impUnitOptions: [], //
pushList: [ pushList: [
{ label: '未推送', value: '0' }, { label: '未推送', value: '0' },
{ label: '已推送', value: '1' }, { label: '已推送', value: '1' },
@ -282,11 +296,30 @@ export default {
} }
}, },
created() { created() {
this.getImpUnitOptions() //
this.GetUnitData() this.GetUnitData()
this.GetProData() this.GetProData()
this.getList() this.getList()
}, },
methods: { methods: {
/** 获取分公司下拉 */
async getImpUnitOptions() {
try {
const res = await getImpUnitListApi()
this.impUnitOptions = res.data.map(item => ({
label: item.impUnitName,
value: item.impUnitName
}))
if (this.impUnitOptions.length === 1) {
this.queryParams.impUnitName = this.impUnitOptions[0].value
await this.onImpUnitChange(this.queryParams.impUnitName)
}
} catch (e) {
console.error('获取分公司下拉失败:', e)
}
},
formatDate(dateStr) { formatDate(dateStr) {
if (!dateStr) return ''; if (!dateStr) return '';
// //

View File

@ -1,25 +1,48 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" v-show="showSearch" :inline="true" label-width="80px"> <el-form :model="queryParams" ref="queryForm" size="small" v-show="showSearch" :inline="true" label-width="80px">
<!-- <el-form-item label="选择单位" prop="unitId">--> <el-form-item label="分公司" prop="impUnitName">
<!-- <treeselect--> <el-select
<!-- v-model="queryParams.unitId"--> v-model="queryParams.impUnitName"
<!-- :options="unitList" :normalizer="normalizer"--> placeholder="请选择分公司"
<!-- :show-count="true" style="width: 215px" :disable-branch-nodes="true"--> clearable
<!-- noChildrenText="没有数据了" noOptionsText="没有数据" noResultsText="没有搜索结果"--> filterable
<!-- placeholder="请选择单位" @select="unitChange"--> style="width: 215px"
<!-- />--> >
<!-- </el-form-item>--> <el-option v-for="item in impUnitOptions" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="选择单位" prop="unitId">
<TreeSelect
v-model="queryParams.unitId"
:options="unitList"
:normalizer="normalizer"
:show-count="true"
style="width: 215px"
:disable-branch-nodes="true"
noChildrenText="没有数据了"
noOptionsText="没有数据"
noResultsText="没有搜索结果"
placeholder="请选择单位"
@select="unitChange"
/>
</el-form-item>
<!-- <el-form-item label="选择工程" prop="projectId">--> <el-form-item label="选择工程" prop="projectId">
<!-- <treeselect--> <TreeSelect
<!-- v-model="queryParams.projectId"--> v-model="queryParams.projectId"
<!-- :options="proList" :normalizer="normalizer"--> :options="proList"
<!-- :show-count="true" style="width: 215px" :disable-branch-nodes="true"--> :normalizer="normalizer"
<!-- noChildrenText="没有数据了" noOptionsText="没有数据" noResultsText="没有搜索结果"--> :show-count="true"
<!-- placeholder="请选择工程" @select="proChange"--> style="width: 215px"
<!-- />--> :disable-branch-nodes="true"
<!-- </el-form-item>--> noChildrenText="没有数据了"
noOptionsText="没有数据"
noResultsText="没有搜索结果"
placeholder="请选择工程"
@select="proChange"
/>
</el-form-item>
<el-form-item label="协议号" prop="agreementCode"> <el-form-item label="协议号" prop="agreementCode">
<el-input v-model="queryParams.agreementCode" placeholder="协议号" clearable/> <el-input v-model="queryParams.agreementCode" placeholder="协议号" clearable/>
@ -439,8 +462,9 @@ import {
getAgreementInfoById, getAgreementInfoById,
} from '@/api/back/index.js' } from '@/api/back/index.js'
import {getPushReviewList,getLeaseListApi,getRepairList,getLoseList,getScrapList,submitPushCosts } from "@/api/costPush/costPush"; import {getPushReviewList,getLeaseListApi,getRepairList,getLoseList,getScrapList,submitPushCosts } from "@/api/costPush/costPush";
import Treeselect from "@riophae/vue-treeselect"; import { getImpUnitListApi } from "@/api/materialsStation"
import "@riophae/vue-treeselect/dist/vue-treeselect.css"; import TreeSelect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import ExcelJS from 'exceljs'; import ExcelJS from 'exceljs';
export default { export default {
name: "PushReview", name: "PushReview",
@ -491,6 +515,7 @@ export default {
isSettlement: null, isSettlement: null,
settlementType: 1, settlementType: 1,
isFilter: null, isFilter: null,
impUnitName:null,
}, },
// //
@ -544,16 +569,36 @@ export default {
originalMonth: null, // originalMonth: null, //
originalMonthTrue: null, originalMonthTrue: null,
impUnitOptions: [], //
}; };
}, },
created() { created() {
this.getMonth(); this.getMonth();
this.getImpUnitOptions() //
this.GetUnitData() this.GetUnitData()
this.GetProData() this.GetProData()
this.getList(); this.getList();
}, },
components: { Treeselect }, components: { TreeSelect },
methods: { methods: {
/** 获取分公司下拉 */
async getImpUnitOptions() {
try {
const res = await getImpUnitListApi()
this.impUnitOptions = res.data.map(item => ({
label: item.impUnitName,
value: item.impUnitName
}))
if (this.impUnitOptions.length === 1) {
this.queryParams.impUnitName = this.impUnitOptions[0].value
await this.onImpUnitChange(this.queryParams.impUnitName)
}
} catch (e) {
console.error('获取分公司下拉失败:', e)
}
},
getMonth() { getMonth() {
// //
var nowDate = new Date(); var nowDate = new Date();