代码完善

This commit is contained in:
BianLzhaoMin 2025-03-06 16:57:53 +08:00
parent dfe81e5031
commit 8313c16f57
9 changed files with 2861 additions and 2725 deletions

View File

@ -0,0 +1,6 @@
import request from '@/utils/request'
// 工程检修在用预警 -- 列表接口
export const getUseMaintenanceWarningApi = data => {
return request.get('/material/useMaintenanceWarning/list', { params: data })
}

View File

@ -216,7 +216,7 @@ export default {
console.log('row.configValues', row.configValue)
if (row.configValue) {
return row.flowStatus != 2 && row.configValue.includes(this.userId)
return (row.flowStatus == 1 || row.flowStatus == 0) && row.configValue.includes(this.userId)
}
}
}

View File

@ -161,13 +161,12 @@ export default {
//
async onHandleAuditing(type) {
//
const currentAuditing = this.auditingList.filter(e => e.nodeId === this.currentNodeId) //
const currentIndex = this.auditingList.findIndex(e => e.nodeId === this.currentNodeId) //
const currentAuditing = this.auditingList.filter(e => e.configValues.includes(this.userId)) //
const currentIndex = this.auditingList.findIndex(e => e.configValues.includes(this.userId)) //
const { recordId, id, typeId, isAccept } = currentAuditing[0]
// if (isAccept !== 0) {
// if (isAccept != 0) {
// this.$modal.msgError('')
// return
// }
@ -182,6 +181,7 @@ export default {
}
const res = await submitAuditingApi(this.auditingParams)
console.log(res, '提交结果')
if (res.code === 200) {
this.$modal.msgSuccess('审核成功')
@ -190,6 +190,37 @@ export default {
this.$tab.closeOpenPage(obj)
}, 500)
}
// //
// const currentAuditing = this.auditingList.filter(e => e.nodeId === this.currentNodeId) //
// const currentIndex = this.auditingList.findIndex(e => e.nodeId === this.currentNodeId) //
// const { recordId, id, typeId, isAccept } = currentAuditing[0]
// // if (isAccept !== 0) {
// // this.$modal.msgError('')
// // return
// // }
// Object.assign(this.auditingParams, {
// typeId,
// recordId,
// nodeId: id
// })
// this.auditingParams.isAccept = type
// if (currentIndex !== this.auditingList.length - 1) {
// this.auditingParams.nextNodeId = this.auditingList[currentIndex + 1].id
// }
// const res = await submitAuditingApi(this.auditingParams)
// if (res.code === 200) {
// this.$modal.msgSuccess('')
// setTimeout(() => {
// const obj = { path: '/business-examine/receive-apply' }
// this.$tab.closeOpenPage(obj)
// }, 500)
// }
},
//

View File

@ -190,7 +190,7 @@ export default {
//
auditingShow(row) {
if (row.configValue) {
return row.status != 1 && row.configValue.includes(this.userId)
return (row.taskStatus == 1 || row.taskStatus == 0) && row.configValue.includes(this.userId)
}
}
}

View File

@ -22,7 +22,11 @@
<el-row>
<el-col :span="24">
<el-form-item label="减免原因">
<el-input type="textarea" v-model="detailsInfo.remark" :autosize="{ minRows: 2, maxRows: 4 }" />
<el-input
type="textarea"
v-model="detailsInfo.remark"
:autosize="{ minRows: 2, maxRows: 4 }"
/>
</el-form-item>
</el-col>
</el-row>
@ -36,11 +40,31 @@
<el-table-column prop="reduceNum" label="领料数量" align="center" show-overflow-tooltip />
<el-table-column prop="startTime" label="领料日期" align="center" show-overflow-tooltip />
<el-table-column prop="endTime" label="退料日期" align="center" show-overflow-tooltip />
<el-table-column prop="reduceStartTime" label="减免开始时间" align="center" show-overflow-tooltip />
<el-table-column prop="reduceEndTime" label="减免结束时间" align="center" show-overflow-tooltip />
<el-table-column prop="leasePrice" label="租赁单价(元/天)" align="center" show-overflow-tooltip />
<el-table-column
prop="reduceStartTime"
label="减免开始时间"
align="center"
show-overflow-tooltip
/>
<el-table-column
prop="reduceEndTime"
label="减免结束时间"
align="center"
show-overflow-tooltip
/>
<el-table-column
prop="leasePrice"
label="租赁单价(元/天)"
align="center"
show-overflow-tooltip
/>
<el-table-column prop="reduceDays" label="减免天数" align="center" show-overflow-tooltip />
<el-table-column prop="reduceLeaseMoney" label="减免费用(元)" align="center" show-overflow-tooltip />
<el-table-column
prop="reduceLeaseMoney"
label="减免费用(元)"
align="center"
show-overflow-tooltip
/>
</el-table>
<div class="total-amount">
<span>合计:</span>
@ -119,12 +143,6 @@ export default {
data() {
return {
detailsInfo: {},
content: `<span style="color:red">测试996</span>`,
steps: [
{ title: '步骤 1', description: '描述信息 1', color: 'red' },
{ title: '步骤 2', description: '描述信息 2', color: 'blue' },
{ title: '步骤 3', description: '描述信息 3', color: 'green' }
],
active: 1,
detailsList: [],
auditingList: [],
@ -132,22 +150,25 @@ export default {
totalAmount: 0,
auditingParams: {
nodeId: '', // id
nextNodeId: '', // ID
isAccept: '', // 1. 2.
remark: '', //
typeId: '', // typeId
taskId: '' // taskId
taskId: '', // taskId
isAccept: '', // 1. 2.
recordId: '',
nextNodeId: '' // ID
},
pagesType: 1,
userId: ''
userId: '',
currentNodeId: ''
}
},
created() {
//
if (this.$route.query) {
const { id, taskId, type } = this.$route.query
this.pagesType = type
const { id, taskId, type, nodeId } = this.$route.query
this.auditingParams.taskId = taskId
this.pagesType = type
this.currentNodeId = nodeId
this.getLeaseTaskDetailFun(id, taskId)
}
@ -162,10 +183,10 @@ export default {
const { recordId, id, typeId, isAccept } = currentAuditing[0]
if (isAccept != 0) {
this.$modal.msgError('当前已审核,不可重复审核')
return
}
// if (isAccept != 0) {
// this.$modal.msgError('')
// return
// }
Object.assign(this.auditingParams, {
typeId,
recordId,

View File

@ -1,7 +1,14 @@
<template>
<!-- 业务办理审核 减免审核 -->
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" v-show="showSearch" :inline="true" label-width="80px">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
v-show="showSearch"
:inline="true"
label-width="80px"
>
<el-form-item prop="time" label-width="120px">
<el-date-picker
v-model="queryParams.time"
@ -84,10 +91,15 @@
</template> -->
</el-table-column>
<el-table-column label="状态" align="center" prop="status" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span v-if="scope.row.status == '0'">待审核</span>
<template slot-scope="{ row }">
<!-- <span v-if="scope.row.status == '0'">待审核</span> -->
<!-- <span v-if="scope.row.status == '1'">审核中</span> -->
<span v-if="scope.row.status == '1'">已通过</span>
<!-- <span v-if="scope.row.status == '1'">已通过</span> -->
<el-tag v-if="row.status == '1'" size="mini">审核中</el-tag>
<el-tag v-if="row.status == '0'" type="warning" size="mini">待审核</el-tag>
<el-tag v-if="row.status == '2'" type="success" size="mini">已完成</el-tag>
<el-tag v-if="row.status == '3'" type="danger" size="mini">已驳回</el-tag>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="180">
@ -96,7 +108,7 @@
查看
</el-button> -->
<el-button
v-if="scope.row.status != '1'"
v-if="auditingShow(scope.row)"
type="text"
size="mini"
icon="el-icon-edit"
@ -105,7 +117,7 @@
审核
</el-button>
<el-button
v-if="scope.row.status == 1"
v-if="scope.row.status == 2 || scope.row.status == 3"
type="text"
size="mini"
icon="el-icon-search"
@ -186,19 +198,31 @@
>
<!-- 文件格式下载图片格式预览 -->
<div slot="file" slot-scope="{ file }">
<img v-if="isImage(file)" class="el-upload-list__item-thumbnail" :src="file.url" alt="" />
<img
v-if="isImage(file)"
class="el-upload-list__item-thumbnail"
:src="file.url"
alt=""
/>
<div v-else class="picture-card-container">
<img class="picture-card" :src="urlTemp" alt="" />
<p class="file-name">{{ file.name }}</p>
</div>
<span class="el-upload-list__item-actions">
<span v-if="updataIf(file)" class="el-upload-list__item-delete" @click="handleDownload(file)">
<span
v-if="updataIf(file)"
class="el-upload-list__item-delete"
@click="handleDownload(file)"
>
<i class="el-icon-download" />
</span>
<span v-else class="el-upload-list__item-preview" @click="picturePreview(file)">
<i class="el-icon-zoom-in" />
</span>
<span class="el-upload-list__item-delete" @click="handleRemoveElectricianImgList(file)">
<span
class="el-upload-list__item-delete"
@click="handleRemoveElectricianImgList(file)"
>
<i class="el-icon-delete" />
</span>
</span>
@ -262,7 +286,10 @@
>
<el-table-column label="减免数量" align="center" prop="reduceNum" width="120px">
<template v-slot="scope">
<span style="background-color: #f8f8f9; text-align: center" v-if="scope.$index == applyList.length - 1">
<span
style="background-color: #f8f8f9; text-align: center"
v-if="scope.$index == applyList.length - 1"
>
小计
</span>
<span v-else>
@ -431,10 +458,12 @@ export default {
num2: 0,
isView: false,
agreementId: '',
idTemp: null
idTemp: null,
userId: ''
}
},
created() {
this.userId = sessionStorage.getItem('userId')
this.getList()
},
computed: {
@ -585,7 +614,8 @@ export default {
query: {
id: row.id,
taskId: row.taskId,
type
type,
nodeId: row.nodeId
}
}) //
// this.isView = false
@ -768,7 +798,9 @@ export default {
updateNum() {
if (this.dialogAppy.reduceStartTime && this.dialogAppy.reduceEndTime) {
this.num2 = this.applyList.slice(0, -1).filter(item => !item.reduceStartTime || !item.reduceEndTime).length
this.num2 = this.applyList
.slice(0, -1)
.filter(item => !item.reduceStartTime || !item.reduceEndTime).length
this.num1 = this.applyList.filter(item => item.reduceStartTime && item.reduceEndTime).length
}
},
@ -975,7 +1007,8 @@ export default {
endTime.getTime() >= startTime.getTime()
) {
const oneDay = 24 * 60 * 60 * 1000 //
const diffDays = Math.ceil(Math.abs((endTime - startTime) / oneDay)) + (endTime - startTime === 0 ? 1 : 1)
const diffDays =
Math.ceil(Math.abs((endTime - startTime) / oneDay)) + (endTime - startTime === 0 ? 1 : 1)
this.$set(row, 'reduceDays', diffDays)
if (row.reduceNum && row.reduceDays && row.leasePrice) {
this.$set(row, 'reduceLeaseMoney', row.reduceDays * row.leasePrice * row.reduceNum)
@ -992,7 +1025,9 @@ export default {
this.$set(row, 'reduceDays', 0)
this.$set(row, 'reduceLeaseMoney', 0)
}
this.applyList[this.applyList.length - 1].reduceLeaseMoney = this.applyList.slice(0, -1).reduce((total, item) => {
this.applyList[this.applyList.length - 1].reduceLeaseMoney = this.applyList
.slice(0, -1)
.reduce((total, item) => {
return total + Number(item.reduceLeaseMoney)
}, 0)
this.updateNum()
@ -1024,7 +1059,8 @@ export default {
endTime.getTime() >= startTime.getTime()
) {
const oneDay = 24 * 60 * 60 * 1000 //
const diffDays = Math.ceil(Math.abs((endTime - startTime) / oneDay)) + (endTime - startTime === 0 ? 1 : 1)
const diffDays =
Math.ceil(Math.abs((endTime - startTime) / oneDay)) + (endTime - startTime === 0 ? 1 : 1)
// const diffDays = Math.round(Math.abs((endTime - startTime) / oneDay));
this.$set(row, 'reduceDays', diffDays)
if (row.reduceNum && row.reduceDays && row.leasePrice) {
@ -1041,7 +1077,9 @@ export default {
this.$set(row, 'reduceDays', 0)
this.$set(row, 'reduceLeaseMoney', 0)
}
this.applyList[this.applyList.length - 1].reduceLeaseMoney = this.applyList.slice(0, -1).reduce((total, item) => {
this.applyList[this.applyList.length - 1].reduceLeaseMoney = this.applyList
.slice(0, -1)
.reduce((total, item) => {
return total + Number(item.reduceLeaseMoney)
}, 0)
this.updateNum()
@ -1069,18 +1107,24 @@ export default {
if (valid) {
let index = this.applyList
.slice(0, -1)
.findIndex(item => new Date(item.reduceEndTime).getTime() < new Date(item.reduceStartTime).getTime())
.findIndex(
item => new Date(item.reduceEndTime).getTime() < new Date(item.reduceStartTime).getTime()
)
let index2 = this.applyList.slice(0, -1).findIndex(item => item.reduceNum > item.num)
let index3 = this.applyList.slice(0, -1).findIndex(item => item.reduceNum == 0)
let index4 = this.applyList
.slice(0, -1)
.findIndex(
item => isNaN(new Date(item.reduceStartTime).getTime()) || new Date(item.reduceStartTime).getTime() == 0
item =>
isNaN(new Date(item.reduceStartTime).getTime()) ||
new Date(item.reduceStartTime).getTime() == 0
)
let index5 = this.applyList
.slice(0, -1)
.findIndex(
item => isNaN(new Date(item.reduceEndTime).getTime()) || new Date(item.reduceEndTime).getTime() == 0
item =>
isNaN(new Date(item.reduceEndTime).getTime()) ||
new Date(item.reduceEndTime).getTime() == 0
)
if (index3 > -1) {
this.$modal.msgError('减免数量不能为0')
@ -1142,7 +1186,13 @@ export default {
console.log('减免申请')
this.$router.push({ path: '/business/businessHandling/discountApply' })
},
handleExport() {}
handleExport() {},
//
auditingShow(row) {
if (row.configValue) {
return (row.status == 1 || row.status == 0) && row.configValue.includes(this.userId)
}
}
}
}
</script>

File diff suppressed because it is too large Load Diff

View File

@ -4,25 +4,27 @@
<el-form v-show="showSearch" :model="queryParams" ref="queryForm" size="small" inline>
<el-form-item label="时间范围" prop="timeRange">
<el-date-picker
v-model="queryParams.timeRange"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
clearable
value-format="yyyy-MM-dd"
type="daterange"
format="yyyy-MM-dd"
style="width: 240px"
range-separator="至"
value-format="yyyy-MM-dd"
end-placeholder="结束日期"
start-placeholder="开始日期"
v-model="queryParams.timeRange"
/>
</el-form-item>
<el-form-item label="关键字" prop="keyWord">
<el-input
v-model="queryParams.keyWord"
placeholder="请输入关键字"
clearable
style="width: 240px"
placeholder="请输入关键字"
v-model="queryParams.keyWord"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="状态" prop="taskStatus">
<!-- <el-form-item label="状态" prop="taskStatus">
<el-select v-model="queryParams.taskStatus" placeholder="请选择状态" clearable>
<el-option
v-for="item in statusOptions"
@ -31,7 +33,7 @@
:value="item.value"
/>
</el-select>
</el-form-item>
</el-form-item> -->
<!-- 表单按钮 -->
<el-form-item>
@ -42,7 +44,9 @@
<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-chat-dot-round" size="mini" @click="onHandleNotice">
通知
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport">
@ -86,6 +90,7 @@
<script>
import printJS from 'print-js'
import { getLeaseTaskList, deleteLeaseTask, getLeaseTask, getCodePDF } from '@/api/business/index'
import { getUseMaintenanceWarningApi } from '@/api/warning-analysis/engineering-in-use.js'
export default {
data() {
@ -95,21 +100,20 @@ export default {
pageNum: 1,
pageSize: 10,
keyWord: '', //
taskStatus: '', //
timeRange: [] //
},
total: 0, //
//
tableColumns: [
{ label: '下次检修时间', prop: 'createTime' },
{ label: '机具类型', prop: 'createBy' },
{ label: '规格型号', prop: 'leaseUnit' },
{ label: '设备编码', prop: 'leaseProject' },
{ label: '单位名称', prop: 'maTypeNames' },
{ label: '下次检修时间', prop: 'nextCheckTime' },
{ label: '机具类型', prop: 'typeName' },
{ label: '规格型号', prop: 'typeModelName' },
{ label: '设备编码', prop: 'maCode' },
{ label: '单位名称', prop: 'unitName' },
{ label: '工程名称', prop: 'agreementCode' },
{ label: '协议号', prop: 'code' },
{ label: '超期时长', prop: 'leasePerson' }
{ label: '协议号', prop: 'agreementCode' },
{ label: '超期时长', prop: 'overDays' }
],
//
tableList: [],
@ -153,10 +157,10 @@ export default {
startTime: this.queryParams.timeRange[0] || '',
endTime: this.queryParams.timeRange[1] || ''
}
const res = await getLeaseTaskList(params)
const res = await getUseMaintenanceWarningApi(params)
console.log('🚀 ~ 获取列表 ~ res:', res)
this.tableList = res.data.rows
this.total = res.data.total || 0
this.tableList = res.rows
this.total = res.total
} catch (error) {
console.log('🚀 ~ 获取列表 ~ error:', error)
this.tableList = []
@ -202,11 +206,10 @@ export default {
//
handleExport() {
try {
let fileName = `数据_${new Date().getTime()}.xLsx`
let url = ''
let fileName = `工程在用检修预警数据_${new Date().getTime()}.xLsx`
let url = '/material/useMaintenanceWarning/export'
const params = { ...this.queryParams }
console.log('🚀 ~ 导出 ~ params:', params)
// this.derive(url, params, fileName)
this.download(url, params, fileName)
} catch (error) {
console.log('导出数据失败', error)
}
@ -257,6 +260,10 @@ export default {
return time.replace(/-/g, '年').replace(/-/g, '月') + '日'
}
return ''
},
//
onHandleNotice() {
console.log('通知--')
}
}
}

View File

@ -42,8 +42,8 @@ module.exports = {
// target: `http://192.168.2.23:18080`,//洪
// target: `http://192.168.0.234:18080`, //阮
// target: `http://192.168.137.1:18080`,//
// target: `http://192.168.0.15:18080`,// 韩傲宇
target: `http://192.168.0.60:18080`, // 赵福海
target: `http://192.168.0.15:18080`, // 韩傲宇
// target: `http://192.168.0.60:18080`, // 赵福海
changeOrigin: true,
pathRewrite: {
['^' + process.env.VUE_APP_BASE_API]: ''