This commit is contained in:
parent
c366149c2f
commit
4b594ea37d
|
|
@ -137,3 +137,12 @@ export function getCostByPidAndNumApi(query) {
|
|||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 设备维修保养记录表
|
||||
export function getMaintenanceRecordsApi(query) {
|
||||
return request({
|
||||
url: '/material/details/getMaintenanceRecords',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
|
@ -20,115 +20,43 @@
|
|||
</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
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
>新增</el-button
|
||||
>
|
||||
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd">新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
|
||||
>导出</el-button
|
||||
>
|
||||
</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="projectLot"
|
||||
border
|
||||
@selection-change="handleSelectionChange"
|
||||
>
|
||||
<el-table v-loading="loading" :data="projectLot" border @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column
|
||||
align="center"
|
||||
label="序号"
|
||||
type="index"
|
||||
:index="
|
||||
indexContinuation(queryParams.pageNum, queryParams.pageSize)
|
||||
"
|
||||
:index="indexContinuation(queryParams.pageNum, queryParams.pageSize)"
|
||||
/>
|
||||
<el-table-column
|
||||
label="标段工程名称"
|
||||
align="center"
|
||||
prop="lotName"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column
|
||||
label="工程类型"
|
||||
align="center"
|
||||
prop="typeName"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column
|
||||
label="费用指标(元)"
|
||||
align="center"
|
||||
show-overflow-tooltip
|
||||
>
|
||||
<el-table-column label="标段工程名称" align="center" prop="lotName" show-overflow-tooltip />
|
||||
<el-table-column label="工程类型" align="center" prop="typeName" show-overflow-tooltip />
|
||||
<el-table-column label="费用指标(元)" align="center" show-overflow-tooltip>
|
||||
<template slot-scope="{ row }">
|
||||
{{ formatCurrency(row.costIndicators || '') }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column
|
||||
label="所属工程项目"
|
||||
align="center"
|
||||
prop="ownPro"
|
||||
show-overflow-tooltip
|
||||
/> -->
|
||||
<el-table-column
|
||||
label="所属上级"
|
||||
align="center"
|
||||
prop="deptName"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column
|
||||
label="联系人"
|
||||
align="center"
|
||||
prop="linkMan"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column
|
||||
label="联系电话"
|
||||
align="center"
|
||||
prop="telphone"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column
|
||||
label="状态"
|
||||
align="center"
|
||||
prop="status"
|
||||
width="140"
|
||||
>
|
||||
<el-table-column label="所属工程" align="center" prop="proName" show-overflow-tooltip />
|
||||
<el-table-column label="所属上级" align="center" prop="deptName" show-overflow-tooltip />
|
||||
<el-table-column label="联系人" align="center" prop="linkMan" show-overflow-tooltip />
|
||||
<el-table-column label="联系电话" align="center" prop="telphone" show-overflow-tooltip />
|
||||
<el-table-column label="状态" align="center" prop="status" width="140">
|
||||
<template slot-scope="scope">
|
||||
<el-switch
|
||||
active-value="0"
|
||||
|
|
@ -140,18 +68,10 @@
|
|||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="140">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
||||
>编辑</el-button
|
||||
>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
|
||||
>删除</el-button
|
||||
>
|
||||
</template>
|
||||
|
|
@ -167,21 +87,9 @@
|
|||
/>
|
||||
|
||||
<!-- 添加或修改参数配置对话框 -->
|
||||
<el-dialog
|
||||
:title="title"
|
||||
:visible.sync="open"
|
||||
width="600px"
|
||||
append-to-body
|
||||
:close-on-click-modal="false"
|
||||
>
|
||||
<el-dialog :title="title" :visible.sync="open" width="600px" append-to-body :close-on-click-modal="false">
|
||||
<!-- 内层对话框 选择地图 -->
|
||||
<el-dialog
|
||||
width="70%"
|
||||
title="选择地图"
|
||||
:visible.sync="innerVisible"
|
||||
v-if="innerVisible"
|
||||
append-to-body
|
||||
>
|
||||
<el-dialog width="70%" title="选择地图" :visible.sync="innerVisible" v-if="innerVisible" append-to-body>
|
||||
<el-row class="search-container">
|
||||
<el-input
|
||||
clearable
|
||||
|
|
@ -189,49 +97,26 @@
|
|||
v-model="searchAddress"
|
||||
@keyup.enter.native="onSearchAddress"
|
||||
/>
|
||||
<el-button
|
||||
type="primary"
|
||||
style="width: 120px"
|
||||
@click="onSearchAddress"
|
||||
>搜索</el-button
|
||||
>
|
||||
<el-button type="primary" style="width: 120px" @click="onSearchAddress">搜索</el-button>
|
||||
</el-row>
|
||||
<div
|
||||
id="map-container"
|
||||
style="height: 550px; background-color: #bfc"
|
||||
>
|
||||
</div>
|
||||
<div id="map-container" style="height: 550px; background-color: #bfc"> </div>
|
||||
</el-dialog>
|
||||
<el-form
|
||||
ref="form"
|
||||
:model="form"
|
||||
:rules="rules"
|
||||
label-width="120px"
|
||||
>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
||||
<el-form-item label="标段工程名称" prop="lotName">
|
||||
<el-input
|
||||
v-model="form.lotName"
|
||||
placeholder="请输入标段工程名称"
|
||||
maxlength="50"
|
||||
/>
|
||||
<el-input v-model="form.lotName" placeholder="请输入标段工程名称" maxlength="50" />
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="所属工程项目" prop="ownPro">
|
||||
<el-select
|
||||
v-model="form.ownPro" filterable
|
||||
placeholder="请选择所属工程项目"
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-form-item label="所属工程" prop="proId">
|
||||
<el-select v-model="form.proId" filterable placeholder="请选择所属工程" style="width: 100%">
|
||||
<el-option
|
||||
v-for="item in ProjectSelect"
|
||||
:key="item.proName"
|
||||
:key="item.proId"
|
||||
:label="item.proName"
|
||||
:value="item.proName"
|
||||
v-if="item.status != '1'"
|
||||
:value="item.proId"
|
||||
v-show="item.status != '1'"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item> -->
|
||||
</el-form-item>
|
||||
<el-form-item label="工程类型" prop="typeId">
|
||||
<!-- <el-input v-model="form.typeId" placeholder="请选择工程类型" /> -->
|
||||
<el-select
|
||||
v-model="form.typeId"
|
||||
filterable
|
||||
|
|
@ -260,17 +145,10 @@
|
|||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="费用指标(元)" prop="costIndicators">
|
||||
<el-input
|
||||
v-model="form.costIndicators"
|
||||
placeholder="请输入费用指标"
|
||||
/>
|
||||
<el-input v-model="form.costIndicators" placeholder="请输入费用指标" />
|
||||
</el-form-item>
|
||||
<el-form-item label="联系人" prop="linkMan">
|
||||
<el-input
|
||||
v-model="form.linkMan"
|
||||
placeholder="请输入联系人"
|
||||
maxlength="20"
|
||||
/>
|
||||
<el-input v-model="form.linkMan" placeholder="请输入联系人" maxlength="20" />
|
||||
</el-form-item>
|
||||
<el-form-item label="联系电话" prop="telphone">
|
||||
<el-input
|
||||
|
|
@ -300,9 +178,7 @@
|
|||
:picker-options="{
|
||||
// 设置当前时间为 开工日期
|
||||
disabledDate: (time) => {
|
||||
const currentDate = new Date(
|
||||
form.startDate || new Date(),
|
||||
)
|
||||
const currentDate = new Date(form.startDate || new Date())
|
||||
currentDate.setDate(currentDate.getDate())
|
||||
return time.getTime() < currentDate.getTime()
|
||||
},
|
||||
|
|
@ -310,9 +186,7 @@
|
|||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="handleProjectAddress"
|
||||
>选择工程地址</el-button
|
||||
>
|
||||
<el-button type="primary" @click="handleProjectAddress">选择工程地址</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item label="经度" prop="longitude">
|
||||
<el-input disabled v-model="form.longitude" />
|
||||
|
|
@ -321,29 +195,13 @@
|
|||
<el-input disabled v-model="form.latitude" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item
|
||||
label="工程地址"
|
||||
prop="detailsAddress"
|
||||
class="address-ipt"
|
||||
>
|
||||
<el-input
|
||||
v-model="form.province"
|
||||
disabled
|
||||
style="width: 40%"
|
||||
/>
|
||||
<el-input
|
||||
v-model="form.detailsAddress"
|
||||
style="width: 60%"
|
||||
/>
|
||||
<el-form-item label="工程地址" prop="detailsAddress" class="address-ipt">
|
||||
<el-input v-model="form.province" disabled style="width: 40%" />
|
||||
<el-input v-model="form.detailsAddress" style="width: 60%" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button
|
||||
type="primary"
|
||||
:loading="isLoading"
|
||||
@click="submitForm"
|
||||
>确 定</el-button
|
||||
>
|
||||
<el-button type="primary" :loading="isLoading" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
|
@ -351,13 +209,7 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
addProjectLot,
|
||||
delProjectLot,
|
||||
ProjectLotList,
|
||||
updateProjectLot,
|
||||
getProjectSelect,
|
||||
} from '@/api/base/base'
|
||||
import { addProjectLot, delProjectLot, ProjectLotList, updateProjectLot, getProjectSelect } from '@/api/base/base'
|
||||
import { unitTypeList } from '@/api/base/base'
|
||||
import { deptTreeSelect } from '@/api/system/user'
|
||||
import Treeselect from '@riophae/vue-treeselect'
|
||||
|
|
@ -423,7 +275,7 @@ export default {
|
|||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
// ownPro: [
|
||||
// proId: [
|
||||
// { required: true, message: "所属工程项目不能为空", trigger: "blur" }
|
||||
// ],
|
||||
// typeId: [
|
||||
|
|
@ -441,26 +293,26 @@ export default {
|
|||
},
|
||||
],
|
||||
costIndicators: [
|
||||
{
|
||||
required: true,
|
||||
message: '费用指标不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
// {
|
||||
// required: true,
|
||||
// message: '费用指标不能为空',
|
||||
// trigger: 'blur',
|
||||
// },
|
||||
{
|
||||
pattern: /^(?:[1-9][0-9]{0,7}|100000000)$/,
|
||||
message: '请输入大于0且不能以0开头并小于一亿的正整数',
|
||||
},
|
||||
],
|
||||
// ownPro: [
|
||||
// proId: [
|
||||
// { required: true, message: "所属工程项目", trigger: "blur" }
|
||||
// ]
|
||||
startDate: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择开工日期',
|
||||
trigger: 'change',
|
||||
},
|
||||
],
|
||||
// startDate: [
|
||||
// {
|
||||
// required: true,
|
||||
// message: '请选择开工日期',
|
||||
// trigger: 'change',
|
||||
// },
|
||||
// ],
|
||||
// completionDate: [
|
||||
// {
|
||||
// required: true,
|
||||
|
|
@ -606,8 +458,7 @@ export default {
|
|||
this.$refs['form'].validate((valid) => {
|
||||
if (valid) {
|
||||
this.isLoading = true
|
||||
this.form.address =
|
||||
this.form.province + this.form.detailsAddress
|
||||
this.form.address = this.form.province + this.form.detailsAddress
|
||||
if (this.form.lotId != undefined) {
|
||||
updateProjectLot(this.form)
|
||||
.then((response) => {
|
||||
|
|
@ -685,7 +536,7 @@ export default {
|
|||
/** 选择工程地址 */
|
||||
handleProjectAddress() {
|
||||
const this_ = this
|
||||
this.searchAddress = '';
|
||||
this.searchAddress = ''
|
||||
this.innerVisible = true
|
||||
|
||||
this.$nextTick(() => {
|
||||
|
|
@ -737,9 +588,7 @@ export default {
|
|||
}),
|
||||
)
|
||||
// 根据坐标得到地址描述
|
||||
myGeo.getLocation(
|
||||
new BMapGL.Point(lng, lat),
|
||||
function (result) {
|
||||
myGeo.getLocation(new BMapGL.Point(lng, lat), function (result) {
|
||||
if (result) {
|
||||
// console.log('result-----', result)
|
||||
let addComp = result.addressComponents
|
||||
|
|
@ -755,8 +604,7 @@ export default {
|
|||
_this.form.longitude = lng
|
||||
_this.form.latitude = lat
|
||||
}
|
||||
},
|
||||
)
|
||||
})
|
||||
} else {
|
||||
this.$message.error('您输入的地址有误,请重新输入')
|
||||
}
|
||||
|
|
|
|||
|
|
@ -813,10 +813,10 @@ export default {
|
|||
this.queryParams.leaseApplyDetails = this.leaseApplyDetails
|
||||
try {
|
||||
this.queryParams.leaseApplyDetails.forEach((item) => {
|
||||
if (item.num == 0) {
|
||||
this.$message.error('机具类型库存量为零无法领料')
|
||||
throw new Error()
|
||||
}
|
||||
// if (item.num == 0) {
|
||||
// this.$message.error('机具类型库存量为零无法领料')
|
||||
// throw new Error()
|
||||
// }
|
||||
if (item.preNum == '') {
|
||||
this.$message.error('请填写预领数量')
|
||||
throw new Error()
|
||||
|
|
|
|||
|
|
@ -214,7 +214,9 @@
|
|||
:value="item.maTypeUserId"
|
||||
/>
|
||||
</el-select>
|
||||
<span v-show="!showSelect" @click="showSelect = true" style="cursor: pointer">{{ maTypeUserName }}</span>
|
||||
<span v-show="!showSelect" @click="showSelect = true" style="cursor: pointer">{{
|
||||
maTypeUserName
|
||||
}}</span>
|
||||
</div>
|
||||
<div class="info" style="margin-top: 10px; display: flex; flex-wrap: wrap">
|
||||
<div class="item" style="width: 50%; flex-shrink: 0; margin-bottom: 5px; font-size: 14px">
|
||||
|
|
@ -241,7 +243,17 @@
|
|||
<el-table-column label="规格型号" align="center" prop="typeModelName" />
|
||||
<el-table-column label="计量单位" align="center" prop="unitName" />
|
||||
<el-table-column label="预领数量" align="center" prop="preNum" />
|
||||
<el-table-column label="备注" align="center" prop="remark" />
|
||||
<el-table-column label="备注" align="center" prop="remark">
|
||||
<template slot-scope="scope">
|
||||
<span>{{
|
||||
scope.row.remark && scope.row.maModel
|
||||
? scope.row.remark + ', 以大代小'
|
||||
: scope.row.maModel
|
||||
? '以大代小'
|
||||
: scope.row.remark
|
||||
}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="出库方式" align="center" prop="manageTypeName" />
|
||||
</el-table>
|
||||
|
||||
|
|
@ -375,7 +387,6 @@ export default {
|
|||
watch: {
|
||||
maTypeUserId: function (newVal, oldVal) {
|
||||
console.log('🚀 ~ newVal:', newVal)
|
||||
|
||||
},
|
||||
},
|
||||
created() {
|
||||
|
|
|
|||
|
|
@ -148,10 +148,10 @@
|
|||
v-if="
|
||||
!isView &&
|
||||
scope.row.manageType == '0' &&
|
||||
scope.row.maxBackNum > 0 &&
|
||||
(userId == scope.row.userId || userId == 1)
|
||||
scope.row.maxBackNum > 0
|
||||
"
|
||||
>
|
||||
<!-- (userId == scope.row.userId || userId == 1) -->
|
||||
编码退料
|
||||
</el-button>
|
||||
<el-button
|
||||
|
|
@ -161,17 +161,17 @@
|
|||
v-if="
|
||||
!isView &&
|
||||
(scope.row.manageType == '1' || scope.row.manageType == '2') &&
|
||||
scope.row.maxBackNum > 0 &&
|
||||
(userId == scope.row.userId || userId == 1)
|
||||
scope.row.maxBackNum > 0
|
||||
"
|
||||
>
|
||||
<!-- (userId == scope.row.userId || userId == 1) -->
|
||||
数量退料
|
||||
</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
icon="el-icon-zoom-in"
|
||||
@click="handleBackup(scope.row)"
|
||||
v-if="!isView && scope.row.inCompletedBackNum > 0 && (userId == scope.row.userId || userId == 1)"
|
||||
v-if="!isView && scope.row.inCompletedBackNum > 0"
|
||||
>
|
||||
撤回
|
||||
</el-button>
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@
|
|||
v-if="settleTableData_03.length > 0"
|
||||
@handelSaveSuccess="handelSaveSuccess"
|
||||
/>
|
||||
<FinishTable
|
||||
<!-- <FinishTable
|
||||
:listType="3"
|
||||
:isRepair="true"
|
||||
:tableTitle="`设备维修清单`"
|
||||
|
|
@ -56,7 +56,7 @@
|
|||
:totalPrice="repairTotalPrice"
|
||||
:tableColumns="repairTableColumns"
|
||||
@onChangeRepairPrice="onChangeRepairPrice"
|
||||
/>
|
||||
/> -->
|
||||
<FinishTable
|
||||
:listType="4"
|
||||
@handleExport="handleExport"
|
||||
|
|
@ -73,13 +73,13 @@
|
|||
:tableTitle="`工机具报废赔偿清单`"
|
||||
:tableColumns="scrapTableColumns"
|
||||
/>
|
||||
<FinishTable
|
||||
<!-- <FinishTable
|
||||
:listType="6"
|
||||
@handleExport="handleExport"
|
||||
:tableTitle="`工机具待报废清单`"
|
||||
:tableData="stayScrapTableData"
|
||||
:tableColumns="stayScrapTableColumns"
|
||||
/>
|
||||
/> -->
|
||||
|
||||
<OtherCost
|
||||
ref="otherCostRef"
|
||||
|
|
|
|||
|
|
@ -11,12 +11,7 @@
|
|||
label-width="80px"
|
||||
>
|
||||
<el-form-item label="结算单位" prop="unitId">
|
||||
<el-select
|
||||
v-model="queryParams.unitId"
|
||||
placeholder="请选择往来单位"
|
||||
clearable
|
||||
filterable
|
||||
>
|
||||
<el-select v-model="queryParams.unitId" placeholder="请选择往来单位" clearable filterable>
|
||||
<el-option
|
||||
v-for="item in unitList"
|
||||
:key="item.unitId"
|
||||
|
|
@ -25,8 +20,8 @@
|
|||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="结算工程" prop="projectId">
|
||||
<el-select
|
||||
<el-form-item label="结算工程" prop="projectIds">
|
||||
<!-- <el-select
|
||||
v-model="queryParams.projectId"
|
||||
placeholder="请选择工程名称"
|
||||
clearable
|
||||
|
|
@ -38,42 +33,24 @@
|
|||
:label="item.projectName"
|
||||
:value="item.projectId"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="结算状态" prop="sltStatus">
|
||||
<el-select
|
||||
v-model="queryParams.sltStatus"
|
||||
placeholder="请选择结算状态"
|
||||
</el-select> -->
|
||||
<el-cascader
|
||||
v-model="queryParams.projectIds"
|
||||
:options="projectList"
|
||||
:props="{ checkStrictly: true, multiple: true, label: 'projectName', value: 'projectId' }"
|
||||
clearable
|
||||
filterable
|
||||
>
|
||||
<el-option
|
||||
v-for="item in statusList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
/>
|
||||
></el-cascader>
|
||||
</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-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="handleBatchExport"
|
||||
<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="handleBatchExport"
|
||||
>批量导出月结明细表</el-button
|
||||
>
|
||||
</el-form-item>
|
||||
|
|
@ -91,49 +68,20 @@
|
|||
align="center"
|
||||
label="序号"
|
||||
type="index"
|
||||
:index="
|
||||
indexContinuation(
|
||||
queryParams.pageNum,
|
||||
queryParams.pageSize,
|
||||
)
|
||||
"
|
||||
/>
|
||||
<el-table-column
|
||||
label="协议编号"
|
||||
align="center"
|
||||
prop="agreementCode"
|
||||
show-overflow-tooltipp
|
||||
:index="indexContinuation(queryParams.pageNum, queryParams.pageSize)"
|
||||
/>
|
||||
<el-table-column label="协议编号" align="center" prop="agreementCode" show-overflow-tooltipp />
|
||||
|
||||
<el-table-column
|
||||
label="结算单位"
|
||||
align="center"
|
||||
prop="unitName"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column
|
||||
label="结算工程"
|
||||
align="center"
|
||||
prop="projectName"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column
|
||||
label="累计结算费用"
|
||||
align="center"
|
||||
prop="cost"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column label="结算单位" align="center" prop="unitName" show-overflow-tooltip />
|
||||
<el-table-column label="结算工程" align="center" prop="projectName" show-overflow-tooltip />
|
||||
<el-table-column label="累计结算费用" align="center" prop="cost" show-overflow-tooltip />
|
||||
<el-table-column label="结算状态" align="center">
|
||||
<template slot-scope="{ row }">
|
||||
<!-- <span v-if="scope.row.sltStatus == '1'">未结算</span>
|
||||
<span v-if="scope.row.sltStatus == '2'">已结算</span>
|
||||
<span v-if="scope.row.sltStatus == '3'">待审核</span> -->
|
||||
<el-tag type="warning" size="mini" v-if="row.isSlt == 0"
|
||||
>结算中</el-tag
|
||||
>
|
||||
<el-tag type="success" size="mini" v-if="row.isSlt == 1"
|
||||
>已结算</el-tag
|
||||
>
|
||||
<el-tag type="warning" size="mini" v-if="row.isSlt == 0">结算中</el-tag>
|
||||
<el-tag type="success" size="mini" v-if="row.isSlt == 1">已结算</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center">
|
||||
|
|
@ -152,9 +100,7 @@
|
|||
style="padding: 5px 10px"
|
||||
@click="handleFinishCostAndDetails(row, row.isSlt)"
|
||||
v-hasPermi="['finis:record:details']"
|
||||
>{{
|
||||
row.isSlt == 1 ? '结算明细' : '完工结算'
|
||||
}}</el-button
|
||||
>{{ row.isSlt == 1 ? '结算明细' : '完工结算' }}</el-button
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
|
@ -184,11 +130,7 @@
|
|||
/>
|
||||
</template>
|
||||
<template v-else>
|
||||
<FinishAndDetails
|
||||
:currRowInfo="currRowInfo"
|
||||
:pageContent="pageContent"
|
||||
@closeCurrPage="closeCurrPage"
|
||||
/>
|
||||
<FinishAndDetails :currRowInfo="currRowInfo" :pageContent="pageContent" @closeCurrPage="closeCurrPage" />
|
||||
</template>
|
||||
</div>
|
||||
</template>
|
||||
|
|
@ -284,11 +226,15 @@ export default {
|
|||
|
||||
/** 查询字典类型列表 */
|
||||
getList() {
|
||||
console.log('🚀 ~ getList ~ :', this.queryParams)
|
||||
this.loading = true
|
||||
getSltAgreementInfo(this.queryParams).then((response) => {
|
||||
this.agreementList = response.rows
|
||||
this.total = response.total
|
||||
this.loading = false
|
||||
}).catch((error) => {
|
||||
console.log('🚀 ~ getList ~ error:', error)
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
|
||||
|
|
@ -381,9 +327,7 @@ export default {
|
|||
handleFinishCostAndDetails(row, isSlt) {
|
||||
this.currRowInfo = row
|
||||
// this.pageContent = '结算明细'
|
||||
isSlt == 1
|
||||
? (this.pageContent = '结算明细')
|
||||
: (this.pageContent = '完工结算')
|
||||
isSlt == 1 ? (this.pageContent = '结算明细') : (this.pageContent = '完工结算')
|
||||
this.isHome = false
|
||||
},
|
||||
/** 关闭月结记录弹框 */
|
||||
|
|
|
|||
|
|
@ -289,14 +289,13 @@
|
|||
<span v-if="scope.row.status == '2'">驳回</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="附件" align="center" prop="fileList" :show-overflow-tooltip="true">
|
||||
<el-table-column label="附件" align="center" prop="fileList">
|
||||
<template slot-scope="scope">
|
||||
<el-upload
|
||||
class="upload-demo"
|
||||
:action="uploadUrl"
|
||||
:headers="headers"
|
||||
accept="image/*,application/pdf,.doc,.docx"
|
||||
multiple
|
||||
:limit="5"
|
||||
:on-preview="handlePreview"
|
||||
:before-remove="beforeRemove"
|
||||
|
|
@ -306,7 +305,9 @@
|
|||
:file-list="scope.row.fileList"
|
||||
:on-success="(res, file, fileList) => handleSuccess(res, file, fileList, scope.row)"
|
||||
>
|
||||
<el-button size="small" type="text">点击上传</el-button>
|
||||
<el-button v-if="type == 'update' && dialogList.length !== 0" size="small" type="text"
|
||||
>点击上传</el-button
|
||||
>
|
||||
</el-upload>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
|
@ -537,7 +538,7 @@
|
|||
<div
|
||||
style="
|
||||
border: 1px solid #000;
|
||||
min-height: 800px;
|
||||
min-height: 820px;
|
||||
line-height: 1.9;
|
||||
font-size: 20px;
|
||||
position: relative;
|
||||
|
|
@ -548,21 +549,21 @@
|
|||
<!-- 第一行 -->
|
||||
<div style="display: flex; border-bottom: 1px solid #000">
|
||||
<div style="text-align: center; border-right: 1px solid #000; width: 25%">设备名称</div>
|
||||
<div style="text-align: center; border-right: 1px solid #000; width: 25%">型号厂家</div>
|
||||
<div style="text-align: center; border-right: 1px solid #000; width: 18%">编号</div>
|
||||
<div style="text-align: center; border-right: 1px solid #000; width: 12%">数量</div>
|
||||
<div style="text-align: center; border-right: 1px solid #000; width: 20%">主修人</div>
|
||||
<div style="text-align: center; width: 20%">验收人</div>
|
||||
<div style="text-align: center; border-right: 1px solid #000; width: 29%">型号/厂家</div>
|
||||
<!-- <div style="text-align: center; border-right: 1px solid #000; width: 18%">编号</div> -->
|
||||
<div style="text-align: center; border-right: 1px solid #000; width: 10%">数量</div>
|
||||
<div style="text-align: center; border-right: 1px solid #000; width: 18%">主修人</div>
|
||||
<div style="text-align: center; width: 18%">验收人</div>
|
||||
</div>
|
||||
<!-- 第二行 -->
|
||||
<div style="display: flex; border-bottom: 1px solid #000">
|
||||
<div style="text-align: center; border-right: 1px solid #000; width: 25%">{{
|
||||
upkeepObj.type
|
||||
}}</div>
|
||||
<div style="text-align: center; border-right: 1px solid #000; width: 29%">{{
|
||||
upkeepObj.typeName
|
||||
}}</div>
|
||||
<div style="text-align: center; border-right: 1px solid #000; width: 25%">{{
|
||||
upkeepObj.itemType
|
||||
}}</div>
|
||||
<div
|
||||
<!-- <div
|
||||
style="
|
||||
text-align: center;
|
||||
border-right: 1px solid #000;
|
||||
|
|
@ -570,31 +571,39 @@
|
|||
white-space: pre-wrap;
|
||||
word-break: break-word;
|
||||
"
|
||||
><span style="margin: 0 5px">{{ upkeepObj.repairNum }}</span></div
|
||||
>
|
||||
<div style="text-align: center; border-right: 1px solid #000; width: 12%">{{
|
||||
upkeepObj.num
|
||||
><span style="margin: 0 5px; font-size: 15px">{{ upkeepObj.maCode }}</span></div
|
||||
> -->
|
||||
<div style="text-align: center; border-right: 1px solid #000; width: 10%">{{
|
||||
upkeepObj.repairedNum
|
||||
}}</div>
|
||||
<div style="text-align: center; border-right: 1px solid #000; width: 20%">{{
|
||||
<div style="text-align: center; border-right: 1px solid #000; width: 18%">{{
|
||||
upkeepObj.createBy
|
||||
}}</div>
|
||||
<div style="text-align: center; width: 20%">{{ upkeepObj.createBy }}</div>
|
||||
<div style="text-align: center; width: 18%">{{ upkeepObj.checkMan }}</div>
|
||||
</div>
|
||||
<!-- 第三行 -->
|
||||
<div style="display: flex; border-bottom: 1px solid #000">
|
||||
<div style="padding-left: 10px; border-right: 1px solid #000; width: 20.85%">设备名称</div>
|
||||
<div style="padding-left: 10px">{{ upkeepObj.unitName }} {{ upkeepObj.projectName }}</div>
|
||||
<div style="padding-left: 10px; border-right: 1px solid #000; width: 25%">使用单位</div>
|
||||
<div style="padding-left: 10px">{{ upkeepObj.unitName }}-{{ upkeepObj.projectName }}</div>
|
||||
</div>
|
||||
<!-- 第四行 -->
|
||||
<div style="width: 100%; min-height: 200px; border-bottom: 1px solid #000; padding-left: 10px"
|
||||
>设备维修前情况:
|
||||
>设备维修前情况: <span>{{ upkeepObj.repairRemark }}</span>
|
||||
</div>
|
||||
<!-- 第五行 -->
|
||||
<div style="width: 100%; min-height: 200px; border-bottom: 1px solid #000; padding-left: 10px"
|
||||
>技术鉴定情况:
|
||||
<span v-for="item in upkeepObj.records" :key="item.repairRemark"
|
||||
>{{ item.repairRemark ? item.repairRemark + ', ' : '' }}
|
||||
</span>
|
||||
</div>
|
||||
<!-- 第六行 -->
|
||||
<div style="width: 100%; min-height: 200px; padding-left: 10px">维修处理情况: </div>
|
||||
<div style="width: 100%; min-height: 200px; padding-left: 10px"
|
||||
>维修处理情况:
|
||||
<span v-for="item in upkeepObj.records" :key="item.repairContent"
|
||||
>{{ item.repairContent ? item.repairContent + ', ' : '' }}
|
||||
</span>
|
||||
</div>
|
||||
<div
|
||||
style="
|
||||
width: 100%;
|
||||
|
|
@ -604,13 +613,11 @@
|
|||
bottom: 20px;
|
||||
left: 0;
|
||||
"
|
||||
>验收情况:
|
||||
>验收情况: {{ upkeepObj.taskStatus }}
|
||||
</div>
|
||||
</div>
|
||||
<div style="text-align: end; font-size: 20px; margin-top: 20px">
|
||||
<span>{{ '2025' }} 年 </span>
|
||||
<span>{{ '3' }} 月 </span>
|
||||
<span>{{ '10' }} 日 </span>
|
||||
<div style="text-align: end; font-size: 20px; margin: 20px 50px 50px 0">
|
||||
<span>{{ getTime(upkeepObj.auditTime) }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</vue-easy-print>
|
||||
|
|
@ -637,6 +644,7 @@ import {
|
|||
getDicSelectApi,
|
||||
listPartTypeApi,
|
||||
getMaTypeSelectApi,
|
||||
getMaintenanceRecordsApi,
|
||||
} from '@/api/repairTest/repair'
|
||||
import selectTree from '../repair/selectTree.vue'
|
||||
import Tree from '@/views/repairTest/repair/tree.vue'
|
||||
|
|
@ -1107,7 +1115,23 @@ export default {
|
|||
openUpkeep(row) {
|
||||
console.log('🚀 ~ openUpkeep ~ row:', row)
|
||||
this.upkeepVisible = true
|
||||
this.upkeepObj = row
|
||||
if (row.taskStatus == 47) {
|
||||
this.upkeepObj.taskStatus = '合格'
|
||||
} else {
|
||||
this.upkeepObj.taskStatus = ''
|
||||
}
|
||||
this.getUpkeepList(row.taskId)
|
||||
},
|
||||
// 获取保养记录表数据
|
||||
async getUpkeepList(taskId) {
|
||||
try {
|
||||
const res = await getMaintenanceRecordsApi({ taskId })
|
||||
console.log('🚀 ~ getUpkeepList ~ res:', res)
|
||||
this.upkeepObj = { ...res.data, ...this.upkeepObj }
|
||||
} catch (error) {
|
||||
console.log('🚀 ~ getUpkeepList ~ error:', error)
|
||||
this.upkeepObj = {}
|
||||
}
|
||||
},
|
||||
handlePreview(file) {
|
||||
console.log('🚀 ~ handlePreview ~ file:', file)
|
||||
|
|
@ -1132,6 +1156,8 @@ export default {
|
|||
return isLtMB
|
||||
},
|
||||
beforeRemove(file, fileList) {
|
||||
if (this.type == 'update') return false
|
||||
|
||||
return this.$confirm(`确定移除 ${file.name} ?`)
|
||||
},
|
||||
handleSuccess(res, file, fileList, row) {
|
||||
|
|
@ -1146,12 +1172,25 @@ export default {
|
|||
}
|
||||
row.fileList.push({
|
||||
typeId: row.typeId,
|
||||
maId: row.maId,
|
||||
fileName: res.data.fileName,
|
||||
fileUrl: res.data.fileUrl,
|
||||
})
|
||||
}
|
||||
console.log('🚀 ~ row.fileList=fileList.map ~ row.fileList:', row.fileList)
|
||||
},
|
||||
// 转换时间格式 2025-02-11 14:52:27 --> 2025 年 2 月 11 日
|
||||
getTime(time) {
|
||||
if (!time) return ''
|
||||
let date = new Date(time)
|
||||
let year = date.getFullYear()
|
||||
let month = date.getMonth() + 1
|
||||
let day = date.getDate()
|
||||
let hour = date.getHours()
|
||||
let minute = date.getMinutes()
|
||||
let second = date.getSeconds()
|
||||
return `${year} 年 ${month} 月 ${day} 日`
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
|
|
|||
Loading…
Reference in New Issue