结算模块修改
This commit is contained in:
parent
4c583e40c0
commit
d78bdc7e3b
File diff suppressed because it is too large
Load Diff
|
|
@ -1,27 +1,11 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="app-container" id="costApplyList">
|
<div class="app-container" id="costApplyList">
|
||||||
<el-form
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
|
||||||
:model="queryParams"
|
label-width="80px">
|
||||||
ref="queryForm"
|
|
||||||
size="small"
|
|
||||||
:inline="true"
|
|
||||||
v-show="showSearch"
|
|
||||||
label-width="80px"
|
|
||||||
>
|
|
||||||
<el-form-item prop="unitIds">
|
<el-form-item prop="unitIds">
|
||||||
<treeselect
|
<treeselect v-model="queryParams.unitId" :options="unitList" :normalizer="normalizer" :show-count="true"
|
||||||
v-model="queryParams.unitId"
|
style="width: 240px" :disable-branch-nodes="true" noChildrenText="没有数据了" noOptionsText="没有数据"
|
||||||
:options="unitList"
|
noResultsText="没有搜索结果" placeholder="请选择结算单位" @select="unitChange" />
|
||||||
:normalizer="normalizer"
|
|
||||||
:show-count="true"
|
|
||||||
style="width: 240px"
|
|
||||||
:disable-branch-nodes="true"
|
|
||||||
noChildrenText="没有数据了"
|
|
||||||
noOptionsText="没有数据"
|
|
||||||
noResultsText="没有搜索结果"
|
|
||||||
placeholder="请选择结算单位"
|
|
||||||
@select="unitChange"
|
|
||||||
/>
|
|
||||||
<!-- <el-cascader v-model="unitIds"
|
<!-- <el-cascader v-model="unitIds"
|
||||||
:show-all-levels="false"
|
:show-all-levels="false"
|
||||||
:options="unitList"
|
:options="unitList"
|
||||||
|
|
@ -34,19 +18,9 @@
|
||||||
></el-cascader> -->
|
></el-cascader> -->
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item prop="projectIds">
|
<el-form-item prop="projectIds">
|
||||||
<treeselect
|
<treeselect v-model="queryParams.projectId" :options="proList" :normalizer="normalizer"
|
||||||
v-model="queryParams.projectId"
|
:show-count="true" style="width: 240px" :disable-branch-nodes="true" noChildrenText="没有数据了"
|
||||||
:options="proList"
|
noOptionsText="没有数据" noResultsText="没有搜索结果" placeholder="请选择结算工程" @select="proChange" />
|
||||||
:normalizer="normalizer"
|
|
||||||
:show-count="true"
|
|
||||||
style="width: 240px"
|
|
||||||
:disable-branch-nodes="true"
|
|
||||||
noChildrenText="没有数据了"
|
|
||||||
noOptionsText="没有数据"
|
|
||||||
noResultsText="没有搜索结果"
|
|
||||||
placeholder="请选择结算工程"
|
|
||||||
@select="proChange"
|
|
||||||
/>
|
|
||||||
<!-- <el-cascader v-model="projectIds"
|
<!-- <el-cascader v-model="projectIds"
|
||||||
:show-all-levels="false"
|
:show-all-levels="false"
|
||||||
:options="proList"
|
:options="proList"
|
||||||
|
|
@ -58,16 +32,12 @@
|
||||||
></el-cascader> -->
|
></el-cascader> -->
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item prop="agreementCode">
|
<el-form-item prop="agreementCode">
|
||||||
<el-input v-model="queryParams.agreementCode" placeholder="请输入协议号" clearable disabled />
|
<el-input v-model="queryParams.agreementCode" placeholder="请输入协议号" clearable />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item prop="sltStatus">
|
<el-form-item prop="sltStatus">
|
||||||
<el-select v-model="queryParams.sltStatus" placeholder="请选择结算状态" clearable filterable>
|
<el-select v-model="queryParams.sltStatus" placeholder="请选择结算状态" clearable filterable>
|
||||||
<el-option
|
<el-option v-for="dict in statusList" :key="dict.id" :label="dict.name"
|
||||||
v-for="dict in statusList"
|
:value="dict.id"></el-option>
|
||||||
:key="dict.id"
|
|
||||||
:label="dict.name"
|
|
||||||
:value="dict.id"
|
|
||||||
></el-option>
|
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
|
|
@ -118,13 +88,8 @@
|
||||||
<el-button size="mini" type="normal" icon="el-icon-search" @click="handleView(scope.row)">
|
<el-button size="mini" type="normal" icon="el-icon-search" @click="handleView(scope.row)">
|
||||||
查看
|
查看
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button size="mini" type="primary" icon="el-icon-edit" @click="handleExame(scope.row)"
|
||||||
size="mini"
|
v-if="scope.row.sltStatus == '1'">
|
||||||
type="primary"
|
|
||||||
icon="el-icon-edit"
|
|
||||||
@click="handleExame(scope.row)"
|
|
||||||
v-if="scope.row.sltStatus == '1'"
|
|
||||||
>
|
|
||||||
审批
|
审批
|
||||||
</el-button>
|
</el-button>
|
||||||
<!-- <el-button size="mini" type="danger" icon="el-icon-delete"
|
<!-- <el-button size="mini" type="danger" icon="el-icon-delete"
|
||||||
|
|
@ -135,13 +100,8 @@
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
||||||
<pagination
|
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
|
||||||
v-show="total > 0"
|
:limit.sync="queryParams.pageSize" @pagination="getList" />
|
||||||
:total="total"
|
|
||||||
:page.sync="queryParams.pageNum"
|
|
||||||
:limit.sync="queryParams.pageSize"
|
|
||||||
@pagination="getList"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<!-- 审批弹窗 -->
|
<!-- 审批弹窗 -->
|
||||||
<el-dialog title="结算审批" :visible.sync="applyVisible" width="650px" append-to-body>
|
<el-dialog title="结算审批" :visible.sync="applyVisible" width="650px" append-to-body>
|
||||||
|
|
@ -151,16 +111,8 @@
|
||||||
<el-radio v-model="aform.status" label="3">不通过</el-radio>
|
<el-radio v-model="aform.status" label="3">不通过</el-radio>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="原因" prop="remark">
|
<el-form-item label="原因" prop="remark">
|
||||||
<el-input
|
<el-input v-model="aform.remark" maxlength="100" placeholder="请输入" show-word-limit size="small"
|
||||||
v-model="aform.remark"
|
style="width: 350px" type="textarea" rows="4"></el-input>
|
||||||
maxlength="100"
|
|
||||||
placeholder="请输入"
|
|
||||||
show-word-limit
|
|
||||||
size="small"
|
|
||||||
style="width: 350px"
|
|
||||||
type="textarea"
|
|
||||||
rows="4"
|
|
||||||
></el-input>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<div slot="footer" class="dialog-footer" style="text-align: center">
|
<div slot="footer" class="dialog-footer" style="text-align: center">
|
||||||
|
|
@ -246,22 +198,36 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="fillIn" style="margin-top: 20px; display: flex; justify-content: space-between">
|
<div class="fillIn" style="margin-top: 20px; display: flex; justify-content: space-between">
|
||||||
<div class="item" style="width: 33%">
|
<div class="item-new" style="width: 33%">
|
||||||
<div>
|
|
||||||
<span>部门负责人:</span>
|
<span>部门负责人:</span>
|
||||||
</div>
|
|
||||||
|
<img :src="initImgPath(agreementContent.auditorSignUrl)"
|
||||||
|
style="width: 40px; height: 90px;margin-left: 20px; max-width: 100%;"
|
||||||
|
:style="{ transform: agreementContent.signType == 0 ? 'rotate(-90deg)' : '' }" alt="" />
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="item" style="width: 33%">
|
<div class="item-new" style="width: 33%">
|
||||||
<div>
|
|
||||||
<span>承租负责人:</span>
|
<span>承租负责人:</span>
|
||||||
</div>
|
<img :src="agreementContent.managerSignUrl"
|
||||||
|
style="width: 40px; height: 90px; max-width: 100%;margin-left: 20px;"
|
||||||
|
:style="{ transform: agreementContent.signType == 0 ? 'rotate(-90deg)' : '' }" alt=""
|
||||||
|
onerror="this.style.display='none'" v-if="agreementContent.managerSignUrl" />
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="item" style="width: 33%">
|
<div class="item-new" style="width: 33%">
|
||||||
<div>
|
|
||||||
<span>核算员:</span>
|
<span>核算员:</span>
|
||||||
</div>
|
|
||||||
|
|
||||||
|
<img :src="initImgPath(agreementContent.sltSignUrl)"
|
||||||
|
style="width: 40px; height: 90px; max-width: 100%; margin-left: 20px;"
|
||||||
|
:style="{ transform: agreementContent.signType == 0 ? 'rotate(-90deg)' : '' }" alt=""
|
||||||
|
onerror="this.style.display='none'" v-if="agreementContent.sltSignUrl" />
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</vue-easy-print>
|
</vue-easy-print>
|
||||||
|
|
@ -348,7 +314,8 @@ export default {
|
||||||
unitId: null,
|
unitId: null,
|
||||||
projectId: null,
|
projectId: null,
|
||||||
agreementId: null,
|
agreementId: null,
|
||||||
agreementCode: null
|
agreementCode: null,
|
||||||
|
enableQuerySltData: true
|
||||||
},
|
},
|
||||||
openPrint: false,
|
openPrint: false,
|
||||||
// 审批弹窗
|
// 审批弹窗
|
||||||
|
|
@ -489,6 +456,7 @@ export default {
|
||||||
//结算审批查看
|
//结算审批查看
|
||||||
handleView(row) {
|
handleView(row) {
|
||||||
let arr = []
|
let arr = []
|
||||||
|
row.enableQuerySltData = true
|
||||||
arr.push(row)
|
arr.push(row)
|
||||||
this.$emit('goDetail', JSON.stringify(arr))
|
this.$emit('goDetail', JSON.stringify(arr))
|
||||||
},
|
},
|
||||||
|
|
@ -526,6 +494,7 @@ export default {
|
||||||
},
|
},
|
||||||
|
|
||||||
async openPrintDialog(row) {
|
async openPrintDialog(row) {
|
||||||
|
row.enableQuerySltData = true
|
||||||
this.openPrint = true
|
this.openPrint = true
|
||||||
try {
|
try {
|
||||||
const res = await getSltInfo([row])
|
const res = await getSltInfo([row])
|
||||||
|
|
@ -1000,6 +969,19 @@ export default {
|
||||||
|
|
||||||
const blob = await Packer.toBlob(doc)
|
const blob = await Packer.toBlob(doc)
|
||||||
saveAs(blob, `机具设备有偿使用费结算协议书-${data.agreementCode}.docx`)
|
saveAs(blob, `机具设备有偿使用费结算协议书-${data.agreementCode}.docx`)
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
// ======================
|
||||||
|
// 初始化签名图片路径
|
||||||
|
initImgPath(path) {
|
||||||
|
if (!path) return
|
||||||
|
// 判断path前四位是否为http 如果是则直接返回 如果不是则是base64
|
||||||
|
if (path.startsWith('http')) {
|
||||||
|
return path; // 是http开头,直接返回
|
||||||
|
} else {
|
||||||
|
return `data:image/png;base64,${path}`; // 不是则拼接base64前缀(假设为png格式,可根据实际调整)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1009,11 +991,13 @@ export default {
|
||||||
width: 80px !important;
|
width: 80px !important;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dialog-footer {
|
.dialog-footer {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tabelColumn {
|
.tabelColumn {
|
||||||
width: 1000px;
|
width: 1000px;
|
||||||
height: 50px;
|
height: 50px;
|
||||||
|
|
@ -1023,16 +1007,23 @@ export default {
|
||||||
// margin-bottom: 1px;
|
// margin-bottom: 1px;
|
||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.columnLabel {
|
.columnLabel {
|
||||||
height: 50px;
|
height: 50px;
|
||||||
line-height: 50px;
|
line-height: 50px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
border-left: none;
|
border-left: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.columnContent {
|
.columnContent {
|
||||||
height: 50px;
|
height: 50px;
|
||||||
line-height: 50px;
|
line-height: 50px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
border-left: 1px solid #9c9c9c;
|
border-left: 1px solid #9c9c9c;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.item-new {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -212,6 +212,7 @@
|
||||||
<div class="item" style="width: 33%">
|
<div class="item" style="width: 33%">
|
||||||
<div>
|
<div>
|
||||||
<span>部门负责人:</span>
|
<span>部门负责人:</span>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -181,6 +181,14 @@
|
||||||
<div class="item" style="width: 33%">
|
<div class="item" style="width: 33%">
|
||||||
<div>
|
<div>
|
||||||
<span>部门负责人:</span>
|
<span>部门负责人:</span>
|
||||||
|
|
||||||
|
<img
|
||||||
|
:src="agreementContent.auditorSignUrl"
|
||||||
|
style="width: 40px; height: 90px; max-width: 100%; vertical-align: middle;"
|
||||||
|
:style="{ transform: agreementContent.signType == 0 ? 'rotate(-90deg)' : '' }"
|
||||||
|
alt=""
|
||||||
|
/>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -193,6 +201,14 @@
|
||||||
<div class="item" style="width: 33%">
|
<div class="item" style="width: 33%">
|
||||||
<div>
|
<div>
|
||||||
<span>核算员:</span>
|
<span>核算员:</span>
|
||||||
|
|
||||||
|
|
||||||
|
<img
|
||||||
|
:src="agreementContent.sltSignUrl"
|
||||||
|
style="width: 40px; height: 90px; max-width: 100%"
|
||||||
|
:style="{ transform: agreementContent.signType == 0 ? 'rotate(-90deg)' : '' }"
|
||||||
|
alt=""
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue