Compare commits
3 Commits
82c2a32a17
...
78d5489af9
| Author | SHA1 | Date |
|---|---|---|
|
|
78d5489af9 | |
|
|
e9d8939263 | |
|
|
9d056e4498 |
|
|
@ -71,7 +71,7 @@ export function backApplyDelApi(query) {
|
|||
|
||||
|
||||
|
||||
//审核
|
||||
//审核-同意
|
||||
export function ApiBackApplyAudit(data) {
|
||||
return request({
|
||||
url: '/material/backApply/audit',
|
||||
|
|
@ -79,6 +79,14 @@ export function ApiBackApplyAudit(data) {
|
|||
data: data
|
||||
})
|
||||
}
|
||||
//审核-拒绝R
|
||||
export function ApiBackApplyRefuse(data) {
|
||||
return request({
|
||||
url: '/material/backApply/refuse',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
// 退料审核新增
|
||||
export function submitBackApplyApi(data) {
|
||||
return request({
|
||||
|
|
|
|||
|
|
@ -19,10 +19,42 @@ export function getSltInfo(params){
|
|||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// 费用结算申请提交
|
||||
export function submitFee(params){
|
||||
return request({
|
||||
url: '/material/sltAgreementInfo/submitFee',
|
||||
method: 'post',
|
||||
data: params
|
||||
})
|
||||
}
|
||||
|
||||
// 查询费用结算审核列表
|
||||
export function getSltExam(query) {
|
||||
return request({
|
||||
url: '/material/sltAgreementInfo/getSltExam',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// 查询费用结算审核列表
|
||||
export function getSltExamInfo(query) {
|
||||
return request({
|
||||
url: '/material/sltAgreementInfo/getSltExamInfo',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 费用结算审核-同意拒绝
|
||||
export function settlementReview(query) {
|
||||
return request({
|
||||
url: '/material/sltAgreementInfo/settlementReview',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,53 +1,23 @@
|
|||
<template>
|
||||
<div class="app-container" id="returnApply">
|
||||
<el-form
|
||||
:model="queryParams"
|
||||
ref="queryForm"
|
||||
size="small"
|
||||
:inline="true"
|
||||
v-show="showSearch"
|
||||
label-width="100px"
|
||||
>
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
|
||||
<el-form-item label="关键字" prop="keyWord">
|
||||
<el-input
|
||||
v-model="queryParams.keyWord"
|
||||
placeholder="请输入关键字"
|
||||
clearable
|
||||
style="width: 240px"
|
||||
/>
|
||||
<el-input v-model="queryParams.keyWord" placeholder="请输入关键字" clearable style="width: 240px" />
|
||||
</el-form-item>
|
||||
<el-form-item label="单位名称" prop="unitId">
|
||||
<el-select
|
||||
v-model="queryParams.unitId"
|
||||
<el-select v-model="queryParams.unitId"
|
||||
clearable filterable
|
||||
@change="getAgreementByUnit"
|
||||
style="width: 240px"
|
||||
placeholder="请选择"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in unitList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
>
|
||||
</el-option>
|
||||
<el-option v-for="item in unitList" :key="item.id" :label="item.name" :value="item.id" ></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="工程名称" prop="proId">
|
||||
<el-select
|
||||
v-model="queryParams.proId"
|
||||
clearable filterable
|
||||
@change="getAgreementByProId"
|
||||
style="width: 240px"
|
||||
placeholder="请选择"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in proList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
>
|
||||
</el-option>
|
||||
<el-select v-model="queryParams.proId" clearable filterable @change="getAgreementByProId"
|
||||
style="width: 240px" placeholder="请选择" >
|
||||
<el-option v-for="item in proList" :key="item.id" :label="item.name" :value="item.id" ></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="工机具类型" prop="typeId">
|
||||
|
|
@ -83,37 +53,19 @@
|
|||
style="width: 240px"
|
||||
placeholder="请选择"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in taskStatusList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
>
|
||||
</el-option>
|
||||
<el-option v-for="item in taskStatusList" :key="item.id" :label="item.name" :value="item.id" > </el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="协议号" prop="agreementCode">
|
||||
<el-input
|
||||
v-model="queryParams.agreementCode"
|
||||
placeholder="请选择协议号"
|
||||
clearable
|
||||
style="width: 240px"
|
||||
/>
|
||||
<el-input v-model="queryParams.agreementCode" placeholder="请选择协议号" clearable style="width: 240px" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="el-icon-search"
|
||||
size="mini"
|
||||
@click="handleQuery"
|
||||
>查询</el-button
|
||||
>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
|
||||
>重置</el-button
|
||||
>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">查询</el-button >
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery" >重置</el-button >
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
|
|
@ -145,131 +97,53 @@
|
|||
>
|
||||
</el-col>
|
||||
|
||||
<right-toolbar
|
||||
:showSearch.sync="showSearch"
|
||||
@queryTable="getList"
|
||||
></right-toolbar>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table
|
||||
v-loading="loading"
|
||||
:data="typeList"
|
||||
@selection-change="handleSelectionChange"
|
||||
>
|
||||
<el-table v-loading="loading" :data="typeList" @selection-change="handleSelectionChange" >
|
||||
<!-- <el-table-column type="selection" width="55" align="center" /> -->
|
||||
<el-table-column label="序号" sortable align="center" type="index" />
|
||||
<el-table-column
|
||||
label="退料单号"
|
||||
align="center"
|
||||
prop="code"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="退料单位"
|
||||
align="center"
|
||||
prop="unitName"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="退料工程"
|
||||
align="center"
|
||||
prop="lotName"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="退料机具"
|
||||
align="center"
|
||||
prop="typeName"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="退料人员"
|
||||
align="center"
|
||||
prop="backPerson"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="联系方式"
|
||||
align="center"
|
||||
prop="phone"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="退料申请时间"
|
||||
align="center"
|
||||
prop="backTime"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="协议号"
|
||||
align="center"
|
||||
prop="agreementCode"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="异常退料"
|
||||
align="center"
|
||||
prop="dictName"
|
||||
:show-overflow-tooltip="true"
|
||||
>
|
||||
<el-table-column label="退料单号" align="center" prop="code" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="退料单位" align="center" prop="unitName" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="退料工程" align="center" prop="lotName" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="退料机具" align="center" prop="typeName" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="退料人员" align="center" prop="backPerson" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="联系方式" align="center" prop="phone" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="退料申请时间" align="center" prop="backTime" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="协议号" align="center" prop="agreementCode" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="异常退料" align="center" prop="dictName" :show-overflow-tooltip="true" >
|
||||
<template slot-scope="scope">
|
||||
<div>
|
||||
<!-- 暂时全部未否 -->
|
||||
<div> <!-- 暂时全部未否 -->
|
||||
否
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="退料状态"
|
||||
align="center"
|
||||
:show-overflow-tooltip="true"
|
||||
>
|
||||
<el-table-column label="退料状态" align="center" :show-overflow-tooltip="true" >
|
||||
<template slot-scope="scope">
|
||||
<!-- 状态
|
||||
37-待审核
|
||||
38-已审核 -->
|
||||
<el-button type="text" v-if="scope.row.taskStatus == '37'">
|
||||
待审核
|
||||
</el-button>
|
||||
<el-button
|
||||
type="text"
|
||||
style="color: #67c23a"
|
||||
v-if="scope.row.taskStatus == '38'"
|
||||
>
|
||||
<!-- 状态 37-待审核 38-已审核 -->
|
||||
<el-button type="text" v-if="scope.row.taskStatus == '37'">
|
||||
待审核
|
||||
</el-button>
|
||||
<el-button type="text" style="color: #67c23a" v-if="scope.row.taskStatus == '38'">
|
||||
已审核
|
||||
</el-button>
|
||||
<el-button type="text" v-if="scope.row.taskStatus == '39'">
|
||||
退料核查
|
||||
</el-button>
|
||||
<el-button
|
||||
type="text"
|
||||
style="color: #67c23a"
|
||||
v-if="scope.row.taskStatus == '40'"
|
||||
>
|
||||
退料完成
|
||||
</el-button>
|
||||
</el-button>
|
||||
<el-button type="text" v-if="scope.row.taskStatus == '39'">
|
||||
退料核查
|
||||
</el-button>
|
||||
<el-button type="text" style="color: #67c23a" v-if="scope.row.taskStatus == '40'">
|
||||
退料完成
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="不通过原因"
|
||||
align="center"
|
||||
prop="dictName"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="操作"
|
||||
align="center"
|
||||
class-name="small-padding fixed-width"
|
||||
width="250"
|
||||
>
|
||||
<el-table-column label="不通过原因" align="center" prop="dictName" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="250">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
plain
|
||||
icon="el-icon-zoom-in"
|
||||
@click="handleSee(scope.row, 'see')"
|
||||
>查看</el-button
|
||||
>
|
||||
>查看</el-button>
|
||||
<!-- <el-button
|
||||
size="mini"
|
||||
type="warning"
|
||||
|
|
@ -279,19 +153,23 @@
|
|||
v-hasPermi="['store:labelType:edit']"
|
||||
>编辑</el-button
|
||||
> -->
|
||||
<el-button
|
||||
size="mini"
|
||||
type="info"
|
||||
v-if="scope.row.taskStatus==101"
|
||||
@click="handleUpdate(scope.row)"
|
||||
>驳回提交</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="danger"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
>删除</el-button
|
||||
>
|
||||
>删除</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="info"
|
||||
@click="handlePrint(scope.row)"
|
||||
>退料单</el-button
|
||||
>
|
||||
>退料单</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
|
@ -305,20 +183,8 @@
|
|||
/>
|
||||
|
||||
<!-- 添加或修改参数配置对话框 -->
|
||||
<el-dialog
|
||||
:title="title"
|
||||
:visible.sync="open"
|
||||
width="1000px"
|
||||
append-to-body
|
||||
>
|
||||
<el-form
|
||||
:model="dialogQueryParams"
|
||||
ref="queryForm1"
|
||||
size="small"
|
||||
:inline="true"
|
||||
v-show="showSearch"
|
||||
label-width="100px"
|
||||
>
|
||||
<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
|
||||
<el-form :model="dialogQueryParams" ref="queryForm1" size="small" :inline="true" v-show="showSearch" label-width="100px">
|
||||
<el-row>
|
||||
<el-form-item label="退料单位" prop="unitName">
|
||||
<el-input
|
||||
|
|
@ -390,59 +256,22 @@
|
|||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="el-icon-search"
|
||||
size="mini"
|
||||
@click="handleQuery1"
|
||||
>查询</el-button
|
||||
>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery1"
|
||||
>查询</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery1"
|
||||
>重置</el-button
|
||||
>
|
||||
>重置</el-button>
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
</el-form>
|
||||
|
||||
<el-table
|
||||
v-loading="loading"
|
||||
:data="loadingList"
|
||||
height="500px"
|
||||
@selection-change="handleSelectionChange"
|
||||
>
|
||||
<el-table v-loading="loading" :data="loadingList" height="500px" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="序号" align="center" type="index" />
|
||||
<el-table-column
|
||||
label="类型名称"
|
||||
align="center"
|
||||
prop="typeName"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="规格型号"
|
||||
align="center"
|
||||
prop="typeCode"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="编码"
|
||||
align="center"
|
||||
prop="maCode"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="当前在用量"
|
||||
align="center"
|
||||
prop="useNum"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="退料数量"
|
||||
align="center"
|
||||
prop="num"
|
||||
class-name="small-padding fixed-width"
|
||||
width="200"
|
||||
>
|
||||
<el-table-column label="类型名称" align="center" prop="typeName" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="规格型号" align="center" prop="typeCode" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="编码" align="center" prop="maCode" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="当前在用量" align="center" prop="useNum" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="退料数量" align="center" prop="num" class-name="small-padding fixed-width" width="200">
|
||||
<!-- <template slot-scope="scope">
|
||||
<el-input
|
||||
v-model="scope.row.num"
|
||||
|
|
@ -473,26 +302,12 @@
|
|||
</div>
|
||||
</el-dialog>
|
||||
<!-- 退料单 -->
|
||||
<dialogForm
|
||||
:dialogTitle="title"
|
||||
:isShowFlag.sync="isShowOneFlag"
|
||||
:priKey="priKey"
|
||||
:rowObj="rowObj"
|
||||
></dialogForm>
|
||||
<dialogForm :dialogTitle="title" :isShowFlag.sync="isShowOneFlag" :priKey="priKey" :rowObj="rowObj" ></dialogForm>
|
||||
<!-- 提交 -->
|
||||
<el-dialog
|
||||
v-loading.fullscreen.lock="fullscreenLoading"
|
||||
:title="title"
|
||||
:visible.sync="openOne"
|
||||
append-to-body
|
||||
width="400px"
|
||||
>
|
||||
<el-dialog v-loading.fullscreen.lock="fullscreenLoading" :title="title" :visible.sync="openOne" append-to-body width="400px">
|
||||
<div class="submit_box">
|
||||
<div>
|
||||
<i
|
||||
class="el-icon-circle-check"
|
||||
style="color: #ff9900; font-size: 30px"
|
||||
></i>
|
||||
<i class="el-icon-circle-check" style="color: #ff9900; font-size: 30px" ></i>
|
||||
</div>
|
||||
<div class="submit_box_title">
|
||||
<div>{{ openTextOne }}</div>
|
||||
|
|
@ -504,19 +319,11 @@
|
|||
<el-button type="primary" @click="submitOpenOneForm()">确定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<el-dialog
|
||||
v-loading.fullscreen.lock="fullscreenLoading"
|
||||
:title="title"
|
||||
:visible.sync="openTwo"
|
||||
append-to-body
|
||||
width="400px"
|
||||
>
|
||||
|
||||
<el-dialog v-loading.fullscreen.lock="fullscreenLoading" :title="title" :visible.sync="openTwo" append-to-body width="400px">
|
||||
<div class="submit_box_two">
|
||||
<div>
|
||||
<i
|
||||
class="el-icon-circle-check"
|
||||
style="color: #00c196; font-size: 30px"
|
||||
></i>
|
||||
<i class="el-icon-circle-check" style="color: #00c196; font-size: 30px" ></i>
|
||||
</div>
|
||||
<div class="submit_box_title">{{ openTextThree }}</div>
|
||||
</div>
|
||||
|
|
@ -689,15 +496,14 @@ export default {
|
|||
this.multiple = !selection.length
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row, type) {
|
||||
this.type = type
|
||||
// this.reset();
|
||||
// const dictId = row.dictId || this.ids
|
||||
// getType(dictId).then(response => {
|
||||
// this.form = response.data;
|
||||
// this.open = true;
|
||||
// this.title = "修改";
|
||||
// });
|
||||
handleUpdate(row) {
|
||||
this.$tab.closeOpenPage({
|
||||
path:'/claimAndRefund/return/returnApplyAdd',
|
||||
query:{
|
||||
taskId:row.taskId,
|
||||
isEdit:true
|
||||
}
|
||||
})
|
||||
},
|
||||
// 退料单
|
||||
handleUpdateOrder() {
|
||||
|
|
|
|||
|
|
@ -411,6 +411,7 @@ export default {
|
|||
},
|
||||
companyId: '',
|
||||
createBy: '',
|
||||
isEdit:'true',
|
||||
};
|
||||
},
|
||||
created() {
|
||||
|
|
@ -418,7 +419,8 @@ export default {
|
|||
this.GetProData()
|
||||
this.GetDeviceTypeTreeFn()
|
||||
// this.getList();
|
||||
console.log('this.$route.query.taskId', this.$route.query.taskId)
|
||||
// console.log('this.$route.query.isEdit', this.$route.query.isEdit)
|
||||
this.isEdit = this.$route.query.isEdit;
|
||||
if (this.$route.query.taskId) {
|
||||
this.GetTaskDetail(this.$route.query.taskId)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -230,18 +230,21 @@
|
|||
<!-- 状态
|
||||
37-待审核
|
||||
38-已审核 -->
|
||||
<el-button type="text" v-if="scope.row.taskStatus == '37'">
|
||||
<el-button type="text" v-if="scope.row.applyStatus == '0'">
|
||||
待审核
|
||||
</el-button>
|
||||
<el-button
|
||||
type="text"
|
||||
style="color: #67c23a"
|
||||
v-if="scope.row.taskStatus == '38'"
|
||||
v-if="scope.row.applyStatus == '1'||scope.row.applyStatus == '3'"
|
||||
>
|
||||
已审核
|
||||
退料通过
|
||||
</el-button>
|
||||
<el-button type="text" v-if="scope.row.taskStatus == '39'">
|
||||
<!-- <el-button type="text" v-if="scope.row.taskStatus == '39'">
|
||||
退料核查
|
||||
</el-button> -->
|
||||
<el-button type="text" style="color: red" v-if="scope.row.applyStatus == '2'||scope.row.applyStatus == '4'">
|
||||
退料驳回
|
||||
</el-button>
|
||||
<el-button
|
||||
type="text"
|
||||
|
|
@ -276,9 +279,19 @@
|
|||
size="mini"
|
||||
type="primary"
|
||||
icon="el-icon-edit"
|
||||
v-if="scope.row.taskStatus == '37'"
|
||||
v-if="scope.row.applyStatus == '0'"
|
||||
v-hasPermi="['receive:examine:nbry-jjfgs']"
|
||||
@click="handleUpdate(scope.row, 'update')"
|
||||
>审核</el-button
|
||||
>机具审批</el-button
|
||||
>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="primary"
|
||||
icon="el-icon-edit"
|
||||
v-if="scope.row.applyStatus == '0'"
|
||||
v-hasPermi="['receive:examine:nbry-sbfgs']"
|
||||
@click="handleUpdate(scope.row, 'update')"
|
||||
>调试审批</el-button
|
||||
>
|
||||
<el-button
|
||||
size="mini"
|
||||
|
|
@ -398,7 +411,7 @@
|
|||
</el-row>
|
||||
</el-form>
|
||||
|
||||
<el-table v-loading="loading" :data="loadingList" height="500px">
|
||||
<el-table v-loading="loading" :data="loadingList" height="400px">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="序号" align="center" type="index" />
|
||||
<el-table-column
|
||||
|
|
@ -438,9 +451,11 @@
|
|||
v-if="loadingType == 'update' && loadingList.length > 0"
|
||||
>
|
||||
<el-button type="primary" @click="submitForm">通过</el-button>
|
||||
<el-button type="danger" @click="submitForm2">不通过</el-button>
|
||||
<el-button @click="cancel">取消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<!-- 退料单 -->
|
||||
<dialogForm
|
||||
:dialogTitle="title"
|
||||
|
|
@ -473,6 +488,7 @@
|
|||
<el-button type="primary" @click="submitOpenOneForm()">确定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog
|
||||
v-loading.fullscreen.lock="fullscreenLoading"
|
||||
:title="title"
|
||||
|
|
@ -496,7 +512,7 @@
|
|||
|
||||
<script>
|
||||
import { listType, getType, delType, addType, updateType, refreshCache } from "@/api/system/dict/type";
|
||||
import { getBackAuditList, ApiGetView, ApiBackApplyAudit } from "@/api/claimAndRefund/return.js"
|
||||
import { getBackAuditList, ApiGetView, ApiBackApplyAudit,ApiBackApplyRefuse } from "@/api/claimAndRefund/return.js"
|
||||
import {
|
||||
getInfo, h
|
||||
} from "@/api/login";
|
||||
|
|
@ -505,7 +521,7 @@ import dialogForm from "./dialogForm.vue";
|
|||
// 10:42开始日期startTime,结束日期endTime 机具类型typeId
|
||||
// http://localhost/claimAndRefund/return/returnApply
|
||||
export default {
|
||||
name: "ReturnExamine",
|
||||
// name: "ReturnExamine",
|
||||
dicts: ['sys_normal_disable'],
|
||||
components: { dialogForm, },
|
||||
data() {
|
||||
|
|
@ -712,7 +728,7 @@ export default {
|
|||
this.openTextThree = "提交成功!";
|
||||
this.openTwo = true
|
||||
},
|
||||
/** 提交按钮 */
|
||||
/** 提交按钮 同意 */
|
||||
submitForm() {
|
||||
let params = {
|
||||
ids: this.rowObj.id
|
||||
|
|
@ -723,6 +739,18 @@ export default {
|
|||
this.getList()
|
||||
}
|
||||
}).catch(() => { })
|
||||
},
|
||||
/** 提交按钮 拒绝 */
|
||||
submitForm2() {
|
||||
let params = {
|
||||
ids: this.rowObj.id
|
||||
}
|
||||
ApiBackApplyRefuse(params).then(res => {
|
||||
if (res.code == 200) {
|
||||
this.open = false
|
||||
this.getList()
|
||||
}
|
||||
}).catch(() => { })
|
||||
},
|
||||
handleAdd() {
|
||||
let params = {
|
||||
|
|
@ -768,7 +796,7 @@ export default {
|
|||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
this.download('material/backApply/export', {
|
||||
this.download('material/backApply/exportExamine', {
|
||||
...this.queryParams
|
||||
}, `退料审核单_${new Date().getTime()}.xlsx`)
|
||||
},
|
||||
|
|
|
|||
|
|
@ -15,17 +15,17 @@
|
|||
</el-col>
|
||||
</el-row>
|
||||
<div style="color: rgb(217, 0, 27);font-weight: 700;padding: 20px 0;">
|
||||
结算费用合计:¥230020,租赁费用¥123456,维修费用¥1234,报废费用¥123,丢失费用0
|
||||
结算费用合计:¥{{costAll}},租赁费用¥{{leaseCost}},维修费用¥{{repairCost}},报废费用¥{{scrapCost}},丢失费用{{loseCost}}。
|
||||
</div>
|
||||
|
||||
|
||||
<div>
|
||||
<el-table v-loading="loading" :data="leaseList" @selection-change="handleSelectionChange">
|
||||
<el-table :data="leaseList" @selection-change="handleSelectionChange">
|
||||
<!-- <el-table-column type="selection" width="55" align="center" /> -->
|
||||
<el-table-column label="租赁费用明细" align="center">
|
||||
<el-table-column label="序号" align="center" type="index" width="60"/>
|
||||
<el-table-column label="结算单位名称" align="center" prop="unitName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="结算工程名称" align="center" prop="projectName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="结算单位" align="center" prop="unitName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="结算工程" align="center" prop="projectName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="设备名称" align="center" prop="typeName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="规格型号" align="center" prop="modelName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="计量单位" align="center" prop="nuitName" :show-overflow-tooltip="true" />
|
||||
|
|
@ -38,16 +38,16 @@
|
|||
<el-table-column label="外部租赁费用" align="center" prop="costs" :show-overflow-tooltip="true" />
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div style="width: 100%;text-align: right;padding: 20px 20px;">租赁费用小计:97010.08</div>
|
||||
<div style="width: 100%;text-align: right;padding: 20px 20px;">租赁费用小计:{{leaseCost}}</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<el-table v-loading="loading" :data="repairList" @selection-change="handleSelectionChange">
|
||||
<el-table :data="repairList" @selection-change="handleSelectionChange">
|
||||
<!-- <el-table-column type="selection" width="55" align="center" /> -->
|
||||
<el-table-column label="维修费用明细" align="center">
|
||||
<el-table-column label="序号" align="center" type="index" width="60"/>
|
||||
<el-table-column label="结算单位名称" align="center" prop="unitName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="结算工程名称" align="center" prop="projectName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="结算单位" align="center" prop="unitName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="结算工程" align="center" prop="projectName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="设备名称" align="center" prop="typeName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="规格型号" align="center" prop="modelName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="计量单位" align="center" prop="nuitName" :show-overflow-tooltip="true" />
|
||||
|
|
@ -63,16 +63,16 @@
|
|||
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div style="width: 100%;text-align: right;padding: 20px 20px;">维修费用小计:230</div>
|
||||
<div style="width: 100%;text-align: right;padding: 20px 20px;">维修费用小计:{{repairCost}}</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<el-table v-loading="loading" :data="scrapList" @selection-change="handleSelectionChange">
|
||||
<el-table :data="scrapList" @selection-change="handleSelectionChange">
|
||||
<!-- <el-table-column type="selection" width="55" align="center" /> -->
|
||||
<el-table-column label="报废费用明细" align="center">
|
||||
<el-table-column label="序号" align="center" type="index" width="60"/>
|
||||
<el-table-column label="结算单位名称" align="center" prop="unitName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="结算工程名称" align="center" prop="projectName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="结算单位" align="center" prop="unitName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="结算工程" align="center" prop="projectName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="设备名称" align="center" prop="typeName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="规格型号" align="center" prop="modelName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="计量单位" align="center" prop="nuitName" :show-overflow-tooltip="true" />
|
||||
|
|
@ -86,16 +86,16 @@
|
|||
<el-table-column label="维修费用" align="center" prop="costs" :show-overflow-tooltip="true" />
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div style="width: 100%;text-align: right;padding: 20px 20px;">报废费用小计:230</div>
|
||||
<div style="width: 100%;text-align: right;padding: 20px 20px;">报废费用小计:{{scrapCost}}</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<el-table v-loading="loading" :data="loseList" @selection-change="handleSelectionChange">
|
||||
<el-table :data="loseList" @selection-change="handleSelectionChange">
|
||||
<!-- <el-table-column type="selection" width="55" align="center" /> -->
|
||||
<el-table-column label="丢失费用明细" align="center">
|
||||
<el-table-column label="序号" align="center" type="index" width="60"/>
|
||||
<el-table-column label="结算单位名称" align="center" prop="unitName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="结算工程名称" align="center" prop="projectName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="结算单位" align="center" prop="unitName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="结算工程" align="center" prop="projectName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="设备名称" align="center" prop="typeName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="规格型号" align="center" prop="modelName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="计量单位" align="center" prop="nuitName" :show-overflow-tooltip="true" />
|
||||
|
|
@ -103,29 +103,45 @@
|
|||
<el-table-column label="丢失费用" align="center" prop="costs" :show-overflow-tooltip="true" />
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div style="width: 100%;text-align: right;padding: 20px 20px;">丢失费用小计:230</div>
|
||||
<div style="width: 100%;text-align: right;padding: 20px 20px;">丢失费用小计:{{loseCost}}</div>
|
||||
</div>
|
||||
|
||||
<el-dialog title="费用结算提交" :visible.sync="applyVisible" width="1000px">
|
||||
|
||||
<!-- 审批弹窗 -->
|
||||
<el-dialog title="费用结算提交" align="center" :visible.sync="applyVisible" width="1200px">
|
||||
<div>
|
||||
<el-table v-loading="loading" :data="applyList" @selection-change="handleSelectionChange">
|
||||
<el-table :data="applyList" show-summary sum-text="合计" :summary-method="getSummaries">
|
||||
<!-- <el-table-column type="selection" width="55" align="center" /> -->
|
||||
<el-table-column label="报废费用明细" align="center">
|
||||
<el-table-column label="序号" align="center" type="index" width="60"/>
|
||||
<el-table-column label="结算单位名称" align="center" prop="unitName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="结算工程名称" align="center" prop="contractCode" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="设备名称" align="center" prop="typeName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="规格型号" align="center" prop="modelName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="计量单位" align="center" prop="unitName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="报废数量" align="center" prop="num" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="报废原因" align="center" prop="planStartTime" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="维修费用" align="center" prop="costs" :show-overflow-tooltip="true" />
|
||||
</el-table-column>
|
||||
<el-table-column label="结算单位" align="center" prop="unitName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="结算工程" align="center" prop="projectName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="租赁费用" align="center" prop="leaseCost" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="维修费用" align="center" prop="repairCost" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="报废费用" align="center" prop="scrapCost" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="丢失费用" align="center" prop="loseCost" :show-overflow-tooltip="true" />
|
||||
|
||||
<el-table-column label="增项费用" align="center" prop="addCost" :show-overflow-tooltip="true" width="150">
|
||||
<template slot-scope="scope">
|
||||
<el-input-number v-model="scope.row.addCost" controls-position="right" style="width: 100%;" :min="0" @input="countNum(scope.row)"></el-input-number>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="减免费用" align="center" prop="subCost" :show-overflow-tooltip="true" width="150">
|
||||
<template slot-scope="scope">
|
||||
<el-input-number v-model="scope.row.subCost" controls-position="right" style="width: 100%;" :min="0" @input="countNum(scope.row)"></el-input-number>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="增减原因" align="center" prop="remark" :show-overflow-tooltip="true" width="150">
|
||||
<template slot-scope="scope">
|
||||
<el-input v-model="scope.row.remark" style="width: 100%;"></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="费用小计" align="center" prop="cost" :show-overflow-tooltip="true" width="120"/>
|
||||
|
||||
</el-table>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="applyVisible=false">取 消</el-button>
|
||||
<el-button type="primary">确 定</el-button>
|
||||
<el-button type="primary" @click="submitApply">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
|
|
@ -137,7 +153,7 @@
|
|||
|
||||
<script>
|
||||
import { getAgreementList,getUnitList, getProjectList } from "@/api/claimAndRefund/receive";
|
||||
import { getSltInfo } from "@/api/cost/cost";
|
||||
import { getSltInfo,submitFee } from "@/api/cost/cost";
|
||||
|
||||
export default {
|
||||
name: "Agreement",
|
||||
|
|
@ -145,7 +161,7 @@
|
|||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
loading: false,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
|
|
@ -216,17 +232,22 @@
|
|||
]
|
||||
},
|
||||
leaseList:[],//租赁费用列表
|
||||
leaseCost:0,
|
||||
repairList:[],//维修费用列表
|
||||
repairCost:0,
|
||||
scrapList:[],//报废费用列表
|
||||
scrapCost:0,
|
||||
loseList:[],//丢失费用列表
|
||||
loseCost:0,
|
||||
costAll:0,
|
||||
deptName: undefined,
|
||||
applyVisible:false,
|
||||
applyList:[]
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.rowData = this.$route.query.rowData;
|
||||
console.log(this.rowData)
|
||||
let arr = JSON.parse(this.$route.query.rowData);
|
||||
this.rowData = arr;
|
||||
this.getDataAll();
|
||||
// this.getUnitList();
|
||||
// this.getProjectList();
|
||||
|
|
@ -247,24 +268,106 @@
|
|||
|
||||
/** 查询列表 */
|
||||
getDataAll() {
|
||||
this.loading = true;
|
||||
getSltInfo(this.rowData).then(response => {
|
||||
// this.agreementList = response.rows;
|
||||
this.leaseList = response.data.leaseList;//租赁费用列表
|
||||
this.leaseCost = this.countCost(this.leaseList)
|
||||
|
||||
this.repairList = response.data.repairList;//维修费用列表
|
||||
this.repairCost = this.countCost(this.repairList)
|
||||
|
||||
this.scrapList = response.data.scrapList;//报废费用列表
|
||||
this.scrapCost = this.countCost(this.scrapList)
|
||||
|
||||
this.loseList = response.data.loseList;//丢失费用列表
|
||||
|
||||
this.loading = false;
|
||||
this.loseCost = this.countCost(this.loseList)
|
||||
|
||||
this.applyList = response.data.relations
|
||||
this.applyList.forEach(item=>{
|
||||
item.cost = Number(item.leaseCost)+Number(item.repairCost)+Number(item.scrapCost)+Number(item.loseCost)+Number(item.addCost)-Number(item.subCost);
|
||||
})
|
||||
|
||||
let costSum = Number(this.leaseCost)+Number(this.repairCost)+Number(this.scrapCost)+Number(this.loseCost);
|
||||
this.costAll = costSum.toFixed(2)
|
||||
}
|
||||
);
|
||||
},
|
||||
//
|
||||
//计算金额1
|
||||
countCost(list){
|
||||
let arrCost = 0;
|
||||
list.forEach(item=>{
|
||||
arrCost = arrCost + Number(item.costs)
|
||||
console.log(arrCost)
|
||||
})
|
||||
console.log(arrCost)
|
||||
return arrCost.toFixed(2)
|
||||
},
|
||||
//提交按钮
|
||||
handleAdd() {
|
||||
this.applyVisible = true
|
||||
},
|
||||
//el-table-合计总费用
|
||||
getSummaries(param) {
|
||||
const { columns, data } = param;
|
||||
const sums = [];
|
||||
columns.forEach((column, index) => {
|
||||
if (index === 9) {
|
||||
sums[index] = '最终费用';
|
||||
return;
|
||||
}
|
||||
const values = data.map(item => Number(item[column.property]));
|
||||
// 只对amount这一列进行总计核算。
|
||||
if (column.property === 'cost') {
|
||||
if (!values.every(value => isNaN(value))) {
|
||||
sums[index] = values.reduce((prev, curr) => {
|
||||
const value = Number(curr);
|
||||
if (!isNaN(value)) {
|
||||
return prev + curr;
|
||||
}else {
|
||||
return prev;
|
||||
}
|
||||
}, 0);
|
||||
// sums[index] += ' 元';
|
||||
} else {
|
||||
sums[index] = '---'
|
||||
}
|
||||
}
|
||||
});
|
||||
return sums;
|
||||
|
||||
},
|
||||
|
||||
countNum(row){
|
||||
row.cost = Number(row.leaseCost)+Number(row.repairCost)+Number(row.scrapCost)+Number(row.loseCost)+Number(row.addCost)-Number(row.subCost)
|
||||
},
|
||||
|
||||
//提交按钮
|
||||
submitApply(){
|
||||
let costAll = 0
|
||||
this.applyList.forEach(item=>{
|
||||
costAll=costAll+item.cost
|
||||
})
|
||||
console.log(costAll)
|
||||
let param ={
|
||||
relations:this.applyList,
|
||||
cost:costAll
|
||||
|
||||
}
|
||||
console.log(param)
|
||||
submitFee(param).then(res => {
|
||||
console.log(res)
|
||||
if(res.code==200){
|
||||
this.$tab.closeOpenPage({
|
||||
path:'/cost/cost/costApplyList',
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
})
|
||||
|
||||
|
||||
|
||||
},
|
||||
//返回
|
||||
handleBack(){
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<div class="app-container" id="agreement">
|
||||
<div class="app-container" id="costApplyList">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
|
||||
<el-form-item label="结算单位" prop="unitId">
|
||||
<el-select v-model="queryParams.unitId" placeholder="请选择往来单位" clearable filterable>
|
||||
|
|
@ -38,6 +38,7 @@
|
|||
type="primary"
|
||||
plain
|
||||
size="mini"
|
||||
@click="handleApplyList"
|
||||
>批量结算</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
|
@ -52,7 +53,13 @@
|
|||
<el-table-column label="结算单位" align="center" prop="unitName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="结算工程" align="center" prop="projectName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="合计费用" align="center" prop="cost" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="结算状态" align="center" prop="sltStatus" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="结算状态" align="center" prop="sltStatus" :show-overflow-tooltip="true">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.sltStatus=='1'">待审核</span>
|
||||
<span v-if="scope.row.sltStatus=='2'">审核通过</span>
|
||||
<span v-if="scope.row.sltStatus=='3'">审核驳回</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column label="租赁期限(天)" align="center" prop="leaseDay" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="授权人" align="center" prop="authPerson" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="联系电话 " align="center" prop="phone" :show-overflow-tooltip="true" />
|
||||
|
|
@ -92,7 +99,7 @@ import { getSltAgreementInfo } from "@/api/cost/cost";
|
|||
|
||||
|
||||
export default {
|
||||
name: "Agreement",
|
||||
name: "CostApplyList",
|
||||
dicts: ['sys_normal_disable'],
|
||||
data() {
|
||||
return {
|
||||
|
|
@ -214,17 +221,32 @@ export default {
|
|||
},
|
||||
//结算申请
|
||||
handleApply(row){
|
||||
let arr = [row];
|
||||
console.log(arr)
|
||||
console.log(this.ids)
|
||||
console.log(JSON.stringify(arr))
|
||||
this.$tab.closeOpenPage({
|
||||
path:'/cost/cost/costApplyAdd',
|
||||
query:{
|
||||
rowData:[row]
|
||||
rowData:JSON.stringify(arr)
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
handleApplyList(){
|
||||
if(this.ids.length>0){
|
||||
let arr = this.ids;
|
||||
this.$tab.closeOpenPage({
|
||||
path:'/cost/cost/costApplyAdd',
|
||||
query:{
|
||||
rowData:JSON.stringify(arr)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.agreementId)
|
||||
this.ids = selection.map(item => item)
|
||||
this.single = selection.length!=1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1,281 +1,361 @@
|
|||
<template>
|
||||
<div class="app-container" id="agreement">
|
||||
|
||||
<el-row style="width: 100%;">
|
||||
<el-col :span="18">
|
||||
<el-button type="primary" size="mini" >租赁明细导出</el-button>
|
||||
<el-button type="primary" size="mini" >丢失明细导出</el-button>
|
||||
<el-button type="primary" size="mini" >维修明细导出</el-button>
|
||||
<el-button type="primary" size="mini" >报废明细导出</el-button>
|
||||
<el-button type="warning" size="mini" >全部明细导出</el-button>
|
||||
<el-button type="success" size="mini" >提交</el-button>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-button type="danger" size="mini" style="float: right;" @click="handleBack">返回</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<div style="color: rgb(217, 0, 27);font-weight: 700;padding: 20px 0;">
|
||||
结算费用合计:¥230020,租赁费用¥123456,维修费用¥1234,报废费用¥123,丢失费用0
|
||||
<div class="app-container" id="agreement">
|
||||
|
||||
<el-row style="width: 100%;">
|
||||
<el-col :span="18">
|
||||
<el-button type="primary" size="mini" >租赁明细导出</el-button>
|
||||
<el-button type="primary" size="mini" >丢失明细导出</el-button>
|
||||
<el-button type="primary" size="mini" >维修明细导出</el-button>
|
||||
<el-button type="primary" size="mini" >报废明细导出</el-button>
|
||||
<el-button type="warning" size="mini" >全部明细导出</el-button>
|
||||
<el-button type="success" size="mini" @click="handleExame">审批</el-button>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-button type="danger" size="mini" style="float: right;" @click="handleBack">返回</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<div style="color: rgb(217, 0, 27);font-weight: 700;padding: 20px 0;">
|
||||
结算费用合计:¥{{costAll}}:
|
||||
<div v-for="(item,index) in applyList" :key="index">
|
||||
租赁费用¥{{item.leaseCost}},维修费用¥{{item.repairCost}},报废费用¥{{item.scrapCost}},丢失费用{{item.loseCost}},增加项费用¥{{item.addCost}},减免费用¥{{item.subCost}},增减原因:{{item.remark}}。
|
||||
</div>
|
||||
|
||||
|
||||
<div>
|
||||
<el-table v-loading="loading" :data="agreementList" @selection-change="handleSelectionChange">
|
||||
<!-- <el-table-column type="selection" width="55" align="center" /> -->
|
||||
<el-table-column label="租赁费用明细" align="center">
|
||||
<el-table-column label="序号" align="center" type="index" width="60"/>
|
||||
<el-table-column label="结算单位名称" align="center" prop="agreementCode" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="结算工程名称" align="center" prop="contractCode" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="设备名称" align="center" prop="fileName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="规格型号" align="center" prop="signTime" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="计量单位" align="center" prop="unitName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="租赁单价" align="center" prop="projectName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="租赁数量" align="center" prop="planStartTime" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="租赁日期" align="center" prop="leaseDay" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="归还数量" align="center" prop="authPerson" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="归还日期 " align="center" prop="phone" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="租赁天数" align="center" prop="remark" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="外部租赁费用" align="center" prop="remark" :show-overflow-tooltip="true" />
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
<div style="width: 100%;text-align: right;padding: 20px 20px;">租赁费用小计:97010.08</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<el-table v-loading="loading" :data="agreementList" @selection-change="handleSelectionChange">
|
||||
<!-- <el-table-column type="selection" width="55" align="center" /> -->
|
||||
<el-table-column label="维修费用明细" align="center">
|
||||
<el-table-column label="序号" align="center" type="index" width="60"/>
|
||||
<el-table-column label="结算单位名称" align="center" prop="agreementCode" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="结算工程名称" align="center" prop="contractCode" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="设备名称" align="center" prop="fileName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="规格型号" align="center" prop="signTime" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="计量单位" align="center" prop="unitName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="维修数量" align="center" prop="projectName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="维修费用" align="center" prop="planStartTime" :show-overflow-tooltip="true" />
|
||||
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
<div style="width: 100%;text-align: right;padding: 20px 20px;">维修费用小计:230</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<el-table v-loading="loading" :data="agreementList" @selection-change="handleSelectionChange">
|
||||
<!-- <el-table-column type="selection" width="55" align="center" /> -->
|
||||
<el-table-column label="报废费用明细" align="center">
|
||||
<el-table-column label="序号" align="center" type="index" width="60"/>
|
||||
<el-table-column label="结算单位名称" align="center" prop="agreementCode" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="结算工程名称" align="center" prop="contractCode" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="设备名称" align="center" prop="fileName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="规格型号" align="center" prop="signTime" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="计量单位" align="center" prop="unitName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="报废数量" align="center" prop="projectName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="报废原因" align="center" prop="planStartTime" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="维修费用" align="center" prop="planStartTime" :show-overflow-tooltip="true" />
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
<div style="width: 100%;text-align: right;padding: 20px 20px;">报废费用小计:230</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<el-table v-loading="loading" :data="agreementList" @selection-change="handleSelectionChange">
|
||||
<!-- <el-table-column type="selection" width="55" align="center" /> -->
|
||||
<el-table-column label="丢失费用明细" align="center">
|
||||
<el-table-column label="序号" align="center" type="index" width="60"/>
|
||||
<el-table-column label="结算单位名称" align="center" prop="agreementCode" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="结算工程名称" align="center" prop="contractCode" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="设备名称" align="center" prop="fileName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="规格型号" align="center" prop="signTime" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="计量单位" align="center" prop="unitName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="丢失数量" align="center" prop="projectName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="丢失费用" align="center" prop="planStartTime" :show-overflow-tooltip="true" />
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
<div style="width: 100%;text-align: right;padding: 20px 20px;">丢失费用小计:230</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getAgreementList,getUnitList, getProjectList } from "@/api/claimAndRefund/receive";
|
||||
export default {
|
||||
name: "Agreement",
|
||||
dicts: ['sys_normal_disable'],
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 往来单位数据
|
||||
unitList: [],
|
||||
// 工程数据
|
||||
projectList: [],
|
||||
statusList:[{id:'0',name:'请选择'},{id:'1',name:'已结算'},{id:'2',name:'未结算'},{id:'3',name:'待审核'}], //集合
|
||||
// 表格数据
|
||||
agreementList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 日期范围
|
||||
dateRange: [],
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
keyWord: undefined,
|
||||
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
//图片上传
|
||||
uploadHeader: process.env.VUE_APP_BASE_API,
|
||||
imageUrl:'',
|
||||
imageName:'',
|
||||
fileList:[],
|
||||
field101fileList:[],
|
||||
dialogImageUrl: '',
|
||||
dialogVisible: false,
|
||||
//上传地址
|
||||
// uploadUrl:'http://192.168.0.14:21624/system',//线上服务器地址+system
|
||||
// uploadUrl:'http://112.29.103.165:21626/system',//线上服务器地址+system
|
||||
uploadUrl: process.env.VUE_APP_BASE_API + "/system", // 上传的图片服务器地址
|
||||
// 表单校验
|
||||
rules: {
|
||||
contractCode: [
|
||||
{ required: true, message: "合同编号不能为空", trigger: "blur" }
|
||||
],
|
||||
signTime: [
|
||||
{ required: true, message: "签订日期不能为空", trigger: "blur" }
|
||||
],
|
||||
unitName: [
|
||||
{ required: true, message: "往来单位不能为空", trigger: "blur" }
|
||||
],
|
||||
projectName: [
|
||||
{ required: true, message: "工程名称不能为空", trigger: "blur" }
|
||||
]
|
||||
},
|
||||
peopleOpen:false,
|
||||
noticeOpen:false,
|
||||
nform:{
|
||||
notice:''
|
||||
},
|
||||
nrules: {
|
||||
notice: [
|
||||
{ required: true, message: "通知内容不能为空", trigger: "blur" }
|
||||
]
|
||||
},
|
||||
deptName: undefined,
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
// this.getUnitList();
|
||||
// this.getProjectList();
|
||||
|
||||
},
|
||||
methods: {
|
||||
//获取单位类型 ,getUnitList, getProjectList
|
||||
getUnitList(){
|
||||
getUnitList().then(response => {
|
||||
this.unitList = response.data;
|
||||
})
|
||||
},
|
||||
getProjectList(){
|
||||
getProjectList().then(response => {
|
||||
this.projectList = response.data;
|
||||
})
|
||||
},
|
||||
|
||||
/** 查询字典类型列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
getAgreementList(this.queryParams).then(response => {
|
||||
this.agreementList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
</div>
|
||||
|
||||
|
||||
<div>
|
||||
<el-table :data="leaseList" @selection-change="handleSelectionChange">
|
||||
<!-- <el-table-column type="selection" width="55" align="center" /> -->
|
||||
<el-table-column label="租赁费用明细" align="center">
|
||||
<el-table-column label="序号" align="center" type="index" width="60"/>
|
||||
<el-table-column label="结算单位" align="center" prop="unitName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="结算工程" align="center" prop="projectName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="设备名称" align="center" prop="typeName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="规格型号" align="center" prop="modelName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="计量单位" align="center" prop="nuitName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="租赁单价" align="center" prop="leasePrice" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="租赁数量" align="center" prop="num" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="租赁日期" align="center" prop="startTime" :show-overflow-tooltip="true" />
|
||||
<!-- <el-table-column label="归还数量" align="center" prop="" :show-overflow-tooltip="true" /> -->
|
||||
<el-table-column label="归还日期 " align="center" prop="endTime" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="租赁天数" align="center" prop="leaseDays" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="外部租赁费用" align="center" prop="costs" :show-overflow-tooltip="true" />
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div style="width: 100%;text-align: right;padding: 20px 20px;">租赁费用小计:{{leaseCost}}</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<el-table :data="repairList" @selection-change="handleSelectionChange">
|
||||
<!-- <el-table-column type="selection" width="55" align="center" /> -->
|
||||
<el-table-column label="维修费用明细" align="center">
|
||||
<el-table-column label="序号" align="center" type="index" width="60"/>
|
||||
<el-table-column label="结算单位" align="center" prop="unitName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="结算工程" align="center" prop="projectName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="设备名称" align="center" prop="typeName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="规格型号" align="center" prop="modelName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="计量单位" align="center" prop="nuitName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="计量单位" align="center" prop="nuitName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="维修状态" align="center" prop="repairStatus" :show-overflow-tooltip="true">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.repairStatus==0">未审核</span>
|
||||
<span v-if="scope.row.repairStatus==1">已审核</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="维修数量" align="center" prop="num" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="维修费用" align="center" prop="costs" :show-overflow-tooltip="true" />
|
||||
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div style="width: 100%;text-align: right;padding: 20px 20px;">维修费用小计:{{repairCost}}</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<el-table :data="scrapList" @selection-change="handleSelectionChange">
|
||||
<!-- <el-table-column type="selection" width="55" align="center" /> -->
|
||||
<el-table-column label="报废费用明细" align="center">
|
||||
<el-table-column label="序号" align="center" type="index" width="60"/>
|
||||
<el-table-column label="结算单位" align="center" prop="unitName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="结算工程" align="center" prop="projectName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="设备名称" align="center" prop="typeName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="规格型号" align="center" prop="modelName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="计量单位" align="center" prop="nuitName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="报废数量" align="center" prop="num" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="报废原因" align="center" prop="scrapType" :show-overflow-tooltip="true">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.scrapType==0">自然</span>
|
||||
<span v-if="scope.row.scrapType==1">人为</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="维修费用" align="center" prop="costs" :show-overflow-tooltip="true" />
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div style="width: 100%;text-align: right;padding: 20px 20px;">报废费用小计:{{scrapCost}}</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<el-table :data="loseList" @selection-change="handleSelectionChange">
|
||||
<!-- <el-table-column type="selection" width="55" align="center" /> -->
|
||||
<el-table-column label="丢失费用明细" align="center">
|
||||
<el-table-column label="序号" align="center" type="index" width="60"/>
|
||||
<el-table-column label="结算单位" align="center" prop="unitName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="结算工程" align="center" prop="projectName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="设备名称" align="center" prop="typeName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="规格型号" align="center" prop="modelName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="计量单位" align="center" prop="nuitName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="丢失数量" align="center" prop="num" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="丢失费用" align="center" prop="costs" :show-overflow-tooltip="true" />
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div style="width: 100%;text-align: right;padding: 20px 20px;">丢失费用小计:{{loseCost}}</div>
|
||||
</div>
|
||||
<!-- 审批弹窗 -->
|
||||
<el-dialog title="费用结算审核" :visible.sync="applyVisible" width="650px" append-to-body>
|
||||
<el-form ref="aform" :model="aform" label-width="120px">
|
||||
<el-form-item label="结算审核" prop="status">
|
||||
<el-radio v-model="aform.status" label="1">通过</el-radio>
|
||||
<el-radio v-model="aform.status" label="2">不通过</el-radio>
|
||||
</el-form-item>
|
||||
<el-form-item label="原因" prop="remark">
|
||||
<el-input
|
||||
v-model="aform.remark" maxlength="200"
|
||||
placeholder="请输入" show-word-limit
|
||||
size="small" style="width: 350px"
|
||||
type="textarea"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer" style="text-align: center">
|
||||
<el-button type="primary" @click="submitListForm">确 定</el-button>
|
||||
<el-button @click="applyVisible=false">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getAgreementList,getUnitList, getProjectList } from "@/api/claimAndRefund/receive";
|
||||
import { getSltExamInfo,settlementReview } from "@/api/cost/cost";
|
||||
|
||||
export default {
|
||||
name: "Agreement",
|
||||
dicts: ['sys_normal_disable'],
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: false,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 往来单位数据
|
||||
unitList: [],
|
||||
// 工程数据
|
||||
projectList: [],
|
||||
statusList:[{id:'0',name:'请选择'},{id:'1',name:'已结算'},{id:'2',name:'未结算'},{id:'3',name:'待审核'}], //集合
|
||||
// 表格数据
|
||||
agreementList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 日期范围
|
||||
dateRange: [],
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
keyWord: undefined,
|
||||
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
//图片上传
|
||||
uploadHeader: process.env.VUE_APP_BASE_API,
|
||||
imageUrl:'',
|
||||
imageName:'',
|
||||
fileList:[],
|
||||
field101fileList:[],
|
||||
dialogImageUrl: '',
|
||||
dialogVisible: false,
|
||||
//上传地址
|
||||
// uploadUrl:'http://192.168.0.14:21624/system',//线上服务器地址+system
|
||||
// uploadUrl:'http://112.29.103.165:21626/system',//线上服务器地址+system
|
||||
uploadUrl: process.env.VUE_APP_BASE_API + "/system", // 上传的图片服务器地址
|
||||
// 表单校验
|
||||
rules: {
|
||||
contractCode: [
|
||||
{ required: true, message: "合同编号不能为空", trigger: "blur" }
|
||||
],
|
||||
signTime: [
|
||||
{ required: true, message: "签订日期不能为空", trigger: "blur" }
|
||||
],
|
||||
unitName: [
|
||||
{ required: true, message: "往来单位不能为空", trigger: "blur" }
|
||||
],
|
||||
projectName: [
|
||||
{ required: true, message: "工程名称不能为空", trigger: "blur" }
|
||||
]
|
||||
},
|
||||
peopleOpen:false,
|
||||
noticeOpen:false,
|
||||
nform:{
|
||||
notice:''
|
||||
},
|
||||
nrules: {
|
||||
notice: [
|
||||
{ required: true, message: "通知内容不能为空", trigger: "blur" }
|
||||
]
|
||||
},
|
||||
aform:{status:'1'},
|
||||
Id:'',
|
||||
leaseList:[],//租赁费用列表
|
||||
leaseCost:0,
|
||||
repairList:[],//维修费用列表
|
||||
repairCost:0,
|
||||
scrapList:[],//报废费用列表
|
||||
scrapCost:0,
|
||||
loseList:[],//丢失费用列表
|
||||
loseCost:0,
|
||||
costAll:0,
|
||||
deptName: undefined,
|
||||
applyVisible:false,
|
||||
applyList:[]
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.Id = this.$route.query.Id;
|
||||
this.getDataAll();
|
||||
// this.getUnitList();
|
||||
// this.getProjectList();
|
||||
|
||||
},
|
||||
methods: {
|
||||
//获取单位类型 ,getUnitList, getProjectList
|
||||
getUnitList(){
|
||||
getUnitList().then(response => {
|
||||
this.unitList = response.data;
|
||||
})
|
||||
},
|
||||
getProjectList(){
|
||||
getProjectList().then(response => {
|
||||
this.projectList = response.data;
|
||||
})
|
||||
},
|
||||
|
||||
/** 查询列表 */
|
||||
getDataAll() {
|
||||
let param={
|
||||
id:this.Id
|
||||
}
|
||||
getSltExamInfo(param).then(response => {
|
||||
// this.agreementList = response.rows;
|
||||
this.leaseList = response.data.leaseList;//租赁费用列表
|
||||
this.leaseCost = this.countCost(this.leaseList)
|
||||
|
||||
this.repairList = response.data.repairList;//维修费用列表
|
||||
this.repairCost = this.countCost(this.repairList)
|
||||
|
||||
this.scrapList = response.data.scrapList;//报废费用列表
|
||||
this.scrapCost = this.countCost(this.scrapList)
|
||||
|
||||
this.loseList = response.data.loseList;//丢失费用列表
|
||||
this.loseCost = this.countCost(this.loseList)
|
||||
|
||||
this.applyList = response.data.relations;
|
||||
|
||||
|
||||
|
||||
// this.applyList.forEach(item=>{
|
||||
// item.cost = Number(item.leaseCost)+Number(item.repairCost)+Number(item.scrapCost)+Number(item.loseCost)+Number(item.addCost)-Number(item.subCost);
|
||||
// })
|
||||
|
||||
// let costSum = Number(this.leaseCost)+Number(this.repairCost)+Number(this.scrapCost)+Number(this.loseCost);
|
||||
this.costAll = response.data.cost
|
||||
}
|
||||
);
|
||||
},
|
||||
//计算金额1
|
||||
countCost(list){
|
||||
let arrCost = 0;
|
||||
list.forEach(item=>{
|
||||
arrCost = arrCost + Number(item.costs)
|
||||
// console.log(arrCost)
|
||||
})
|
||||
// console.log(arrCost)
|
||||
return arrCost.toFixed(2)
|
||||
},
|
||||
//提交按钮
|
||||
handleExame() {
|
||||
this.applyVisible = true
|
||||
},
|
||||
|
||||
// countNum(row){
|
||||
// row.cost = Number(row.leaseCost)+Number(row.repairCost)+Number(row.scrapCost)+Number(row.loseCost)+Number(row.addCost)-Number(row.subCost)
|
||||
// },
|
||||
|
||||
//提交按钮
|
||||
submitListForm(){
|
||||
// let costAll = 0
|
||||
// this.applyList.forEach(item=>{
|
||||
// costAll=costAll+item.cost
|
||||
// })
|
||||
// console.log(costAll)
|
||||
let param ={
|
||||
id:this.Id,
|
||||
status:this.aform.status,
|
||||
remark:this.aform.remark,
|
||||
|
||||
}
|
||||
console.log(param)
|
||||
settlementReview(param).then(res => {
|
||||
console.log(res)
|
||||
if(res.code==200){
|
||||
this.$tab.closeOpenPage({
|
||||
path:'/cost/cost/costList',
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
//返回
|
||||
handleBack(){
|
||||
this.$tab.closeOpenPage({
|
||||
path:'/cost/cost/costList',
|
||||
query:{
|
||||
isEdit:true
|
||||
}
|
||||
);
|
||||
},
|
||||
handleBack(){
|
||||
this.$tab.closeOpenPage({
|
||||
path:'/cost/cost/costList',
|
||||
query:{
|
||||
isEdit:true
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.agreementId)
|
||||
this.single = selection.length!=1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
// const agreementId = row.agreementId;
|
||||
// let param = {
|
||||
// agreementId:row.agreementId+''
|
||||
// }
|
||||
// this.$modal.confirm('是否确认删除该数据项?').then(function() {
|
||||
// return removeAgreement(param);
|
||||
// }).then(() => {
|
||||
// this.getList();
|
||||
// this.$modal.msgSuccess("删除成功");
|
||||
// }).catch(() => {});
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
// this.download('material/agreementInfo/export', {
|
||||
// ...this.queryParams
|
||||
// }, `协议_${new Date().getTime()}.xlsx`)
|
||||
},
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
::v-deep.el-table .fixed-width .el-button--mini {
|
||||
width: 80px !important;
|
||||
margin-bottom: 10px;
|
||||
})
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.agreementId)
|
||||
this.single = selection.length!=1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
// this.download('material/agreementInfo/export', {
|
||||
// ...this.queryParams
|
||||
// }, `协议_${new Date().getTime()}.xlsx`)
|
||||
},
|
||||
}
|
||||
</style>
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
::v-deep.el-table .fixed-width .el-button--mini {
|
||||
width: 80px !important;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -1,250 +1,272 @@
|
|||
<template>
|
||||
<div class="app-container" id="agreement">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
|
||||
<el-form-item label="结算单位" prop="unitId">
|
||||
<el-select v-model="queryParams.unitId" placeholder="请选择往来单位" clearable filterable>
|
||||
<el-option
|
||||
v-for="item in unitList"
|
||||
:key="item.unitId"
|
||||
:label="item.unitName"
|
||||
:value="item.unitId"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="结算工程" prop="projectId">
|
||||
<el-select v-model="queryParams.projectId" placeholder="请选择工程名称" clearable filterable>
|
||||
<el-option
|
||||
v-for="item in projectList"
|
||||
:key="item.projectId"
|
||||
:label="item.projectName"
|
||||
:value="item.projectId"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="结算状态" prop="projectId">
|
||||
<el-select v-model="queryParams.projectId" placeholder="请选择结算状态" clearable filterable>
|
||||
<el-option
|
||||
v-for="item in statusList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">查询</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
size="mini"
|
||||
@click="handleExame"
|
||||
>审核</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-table v-loading="loading" :data="agreementList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="序号" align="center" type="index" width="60"/>
|
||||
<el-table-column label="协议编号" align="center" prop="agreementCode" :show-overflow-tooltip="true" />
|
||||
<!-- <el-table-column label="合同编号" align="center" prop="contractCode" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="附件图片" align="center" prop="fileName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="签订日期" align="center" prop="signTime" :show-overflow-tooltip="true" /> -->
|
||||
<el-table-column label="结算单位" align="center" prop="unitName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="结算工程" align="center" prop="projectName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="合计费用" align="center" prop="planStartTime" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="状态" align="center" prop="leaseDay" :show-overflow-tooltip="true" />
|
||||
|
||||
<el-table-column label="操作" align="center" width="300" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="primary"
|
||||
>通过</el-button>
|
||||
<el-button
|
||||
<div class="app-container" id="costApplyList">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
|
||||
<el-form-item label="结算单位" prop="unitId">
|
||||
<el-select v-model="queryParams.unitId" placeholder="请选择往来单位" clearable filterable>
|
||||
<el-option
|
||||
v-for="item in unitList"
|
||||
:key="item.unitId"
|
||||
:label="item.unitName"
|
||||
:value="item.unitId"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="结算工程" prop="projectId">
|
||||
<el-select v-model="queryParams.projectId" placeholder="请选择工程名称" clearable filterable>
|
||||
<el-option
|
||||
v-for="item in projectList"
|
||||
:key="item.projectId"
|
||||
:label="item.projectName"
|
||||
:value="item.projectId"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="结算状态" prop="sltStatus">
|
||||
<el-select v-model="queryParams.sltStatus" placeholder="请选择结算状态" clearable filterable>
|
||||
<el-option
|
||||
v-for="item in statusList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">查询</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
<!-- <el-button
|
||||
type="primary"
|
||||
plain
|
||||
size="mini"
|
||||
@click="handleApplyList"
|
||||
>审核</el-button> -->
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-table v-loading="loading" :data="agreementList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="序号" align="center" type="index" width="60"/>
|
||||
<el-table-column label="结算单编号" align="center" prop="code" :show-overflow-tooltip="true" />
|
||||
|
||||
<el-table-column label="结算单位" align="center" prop="unitName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="结算工程" align="center" prop="projectName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="合计费用" align="center" prop="cost" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="结算状态" align="center" prop="status" :show-overflow-tooltip="true">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.status=='0'">待审核</span>
|
||||
<span v-if="scope.row.status=='1'">审核通过</span>
|
||||
<span v-if="scope.row.status=='2'">审核驳回</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="操作" align="center" width="300" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="danger"
|
||||
>不通过</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getAgreementList,getUnitList, getProjectList } from "@/api/claimAndRefund/receive";
|
||||
export default {
|
||||
name: "Agreement",
|
||||
dicts: ['sys_normal_disable'],
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 往来单位数据
|
||||
unitList: [],
|
||||
// 工程数据
|
||||
projectList: [],
|
||||
statusList:[{id:'0',name:'请选择'},{id:'1',name:'已结算'},{id:'2',name:'未结算'},{id:'3',name:'待审核'}], //集合
|
||||
// 表格数据
|
||||
agreementList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 日期范围
|
||||
dateRange: [],
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
keyWord: undefined,
|
||||
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
//图片上传
|
||||
uploadHeader: process.env.VUE_APP_BASE_API,
|
||||
imageUrl:'',
|
||||
imageName:'',
|
||||
fileList:[],
|
||||
field101fileList:[],
|
||||
dialogImageUrl: '',
|
||||
dialogVisible: false,
|
||||
//上传地址
|
||||
// uploadUrl:'http://192.168.0.14:21624/system',//线上服务器地址+system
|
||||
// uploadUrl:'http://112.29.103.165:21626/system',//线上服务器地址+system
|
||||
uploadUrl: process.env.VUE_APP_BASE_API + "/system", // 上传的图片服务器地址
|
||||
// 表单校验
|
||||
rules: {
|
||||
contractCode: [
|
||||
{ required: true, message: "合同编号不能为空", trigger: "blur" }
|
||||
],
|
||||
signTime: [
|
||||
{ required: true, message: "签订日期不能为空", trigger: "blur" }
|
||||
],
|
||||
unitName: [
|
||||
{ required: true, message: "往来单位不能为空", trigger: "blur" }
|
||||
],
|
||||
projectName: [
|
||||
{ required: true, message: "工程名称不能为空", trigger: "blur" }
|
||||
]
|
||||
},
|
||||
peopleOpen:false,
|
||||
noticeOpen:false,
|
||||
nform:{
|
||||
notice:''
|
||||
},
|
||||
nrules: {
|
||||
notice: [
|
||||
{ required: true, message: "通知内容不能为空", trigger: "blur" }
|
||||
]
|
||||
},
|
||||
deptName: undefined,
|
||||
};
|
||||
type="primary"
|
||||
icon="el-icon-edit"
|
||||
@click="handleExame(scope.row)"
|
||||
>审批</el-button>
|
||||
<!-- <el-button
|
||||
size="mini"
|
||||
type="danger"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
>撤销申请</el-button> -->
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getAgreementList,getUnitList, getProjectList } from "@/api/claimAndRefund/receive";
|
||||
import { getSltExam } from "@/api/cost/cost";
|
||||
|
||||
|
||||
export default {
|
||||
name: "CostApplyList",
|
||||
dicts: ['sys_normal_disable'],
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 往来单位数据
|
||||
unitList: [],
|
||||
// 工程数据
|
||||
projectList: [],
|
||||
statusList:[{id:'',name:'请选择'},{id:'0',name:'待审核'},{id:'1',name:'审核通过'},{id:'2',name:'审核驳回'}], //集合
|
||||
// 表格数据
|
||||
agreementList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 日期范围
|
||||
dateRange: [],
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
keyWord: undefined,
|
||||
sltStatus:''
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
//图片上传
|
||||
uploadHeader: process.env.VUE_APP_BASE_API,
|
||||
imageUrl:'',
|
||||
imageName:'',
|
||||
fileList:[],
|
||||
field101fileList:[],
|
||||
dialogImageUrl: '',
|
||||
dialogVisible: false,
|
||||
//上传地址
|
||||
// uploadUrl:'http://192.168.0.14:21624/system',//线上服务器地址+system
|
||||
// uploadUrl:'http://112.29.103.165:21626/system',//线上服务器地址+system
|
||||
uploadUrl: process.env.VUE_APP_BASE_API + "/system", // 上传的图片服务器地址
|
||||
// 表单校验
|
||||
rules: {
|
||||
contractCode: [
|
||||
{ required: true, message: "合同编号不能为空", trigger: "blur" }
|
||||
],
|
||||
signTime: [
|
||||
{ required: true, message: "签订日期不能为空", trigger: "blur" }
|
||||
],
|
||||
unitName: [
|
||||
{ required: true, message: "往来单位不能为空", trigger: "blur" }
|
||||
],
|
||||
projectName: [
|
||||
{ required: true, message: "工程名称不能为空", trigger: "blur" }
|
||||
]
|
||||
},
|
||||
peopleOpen:false,
|
||||
noticeOpen:false,
|
||||
nform:{
|
||||
notice:''
|
||||
},
|
||||
nrules: {
|
||||
notice: [
|
||||
{ required: true, message: "通知内容不能为空", trigger: "blur" }
|
||||
]
|
||||
},
|
||||
deptName: undefined,
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
this.getUnitList();
|
||||
this.getProjectList();
|
||||
|
||||
},
|
||||
methods: {
|
||||
//获取单位类型 ,getUnitList, getProjectList
|
||||
getUnitList(){
|
||||
getUnitList().then(response => {
|
||||
this.unitList = response.data;
|
||||
})
|
||||
},
|
||||
created() {
|
||||
getProjectList(){
|
||||
getProjectList().then(response => {
|
||||
this.projectList = response.data;
|
||||
})
|
||||
},
|
||||
|
||||
/** 查询字典类型列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
getSltExam(this.queryParams).then(response => {
|
||||
this.agreementList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
}
|
||||
);
|
||||
},
|
||||
|
||||
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
this.getUnitList();
|
||||
this.getProjectList();
|
||||
|
||||
},
|
||||
methods: {
|
||||
//获取单位类型 ,getUnitList, getProjectList
|
||||
getUnitList(){
|
||||
getUnitList().then(response => {
|
||||
this.unitList = response.data;
|
||||
})
|
||||
},
|
||||
getProjectList(){
|
||||
getProjectList().then(response => {
|
||||
this.projectList = response.data;
|
||||
})
|
||||
},
|
||||
|
||||
/** 查询字典类型列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
getAgreementList(this.queryParams).then(response => {
|
||||
this.agreementList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.dateRange = [];
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
//结算审核
|
||||
handleExame(row){
|
||||
this.$tab.closeOpenPage({
|
||||
path:'/cost/cost/costExame',
|
||||
query:{
|
||||
Id:row.id
|
||||
}
|
||||
);
|
||||
},
|
||||
|
||||
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.dateRange = [];
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
//结算申请
|
||||
handleExame(){
|
||||
})
|
||||
},
|
||||
handleApplyList(){
|
||||
if(this.ids.length>0){
|
||||
let arr = this.ids;
|
||||
this.$tab.closeOpenPage({
|
||||
path:'/cost/cost/costExame',
|
||||
path:'/cost/cost/costApplyAdd',
|
||||
query:{
|
||||
isEdit:true
|
||||
rowData:JSON.stringify(arr)
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.agreementId)
|
||||
this.single = selection.length!=1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
// const agreementId = row.agreementId;
|
||||
// let param = {
|
||||
// agreementId:row.agreementId+''
|
||||
// }
|
||||
// this.$modal.confirm('是否确认删除该数据项?').then(function() {
|
||||
// return removeAgreement(param);
|
||||
// }).then(() => {
|
||||
// this.getList();
|
||||
// this.$modal.msgSuccess("删除成功");
|
||||
// }).catch(() => {});
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
// this.download('material/agreementInfo/export', {
|
||||
// ...this.queryParams
|
||||
// }, `协议_${new Date().getTime()}.xlsx`)
|
||||
},
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
::v-deep.el-table .fixed-width .el-button--mini {
|
||||
width: 80px !important;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item)
|
||||
this.single = selection.length!=1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
// const agreementId = row.agreementId;
|
||||
// let param = {
|
||||
// agreementId:row.agreementId+''
|
||||
// }
|
||||
// this.$modal.confirm('是否确认删除该数据项?').then(function() {
|
||||
// return removeAgreement(param);
|
||||
// }).then(() => {
|
||||
// this.getList();
|
||||
// this.$modal.msgSuccess("删除成功");
|
||||
// }).catch(() => {});
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
// this.download('material/agreementInfo/export', {
|
||||
// ...this.queryParams
|
||||
// }, `协议_${new Date().getTime()}.xlsx`)
|
||||
},
|
||||
}
|
||||
</style>
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
::v-deep.el-table .fixed-width .el-button--mini {
|
||||
width: 80px !important;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -40,9 +40,11 @@ module.exports = {
|
|||
// target: `http://192.168.0.14:21624`,//线上环境
|
||||
// target: `http://1.12.248.179:23028`,//线上环境-南网
|
||||
// target: `https://test-cc.zhgkxt.com`,//线上环境-南网
|
||||
// target: `https://z.csgmall.com.cn/gl`,
|
||||
|
||||
// target: `http://10.40.92.14:8080`,//超
|
||||
// target: `http://10.40.92.12:8080`,//韩
|
||||
target: `http://10.40.92.206:8080`,//川
|
||||
// target: `http://10.40.92.4:8080`,//韩
|
||||
target: `http://10.40.92.209:8080`,//川
|
||||
|
||||
changeOrigin: true,
|
||||
pathRewrite: {
|
||||
|
|
|
|||
Loading…
Reference in New Issue