优化领料管理页面列表备注字段报错问题

This commit is contained in:
BianLzhaoMin 2024-05-23 17:17:16 +08:00
parent 53d757ce59
commit d07edc2818
1 changed files with 331 additions and 325 deletions

View File

@ -199,7 +199,9 @@
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.leaseApplyInfoList[0].remark }}</span> <span>{{
scope.row.leaseApplyInfoList[0].remark || ' - '
}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" width="250" align="center"> <el-table-column label="操作" width="250" align="center">
@ -253,7 +255,7 @@
(scope.row.leaseApplyInfoList[0].status == '5' || (scope.row.leaseApplyInfoList[0].status == '5' ||
scope.row.leaseApplyInfoList[0].status == '7' || scope.row.leaseApplyInfoList[0].status == '7' ||
scope.row.leaseApplyInfoList[0].status == '4' || scope.row.leaseApplyInfoList[0].status == '4' ||
scope.row.leaseApplyInfoList[0].status == '2' ) scope.row.leaseApplyInfoList[0].status == '2')
" "
>审批</el-button >审批</el-button
> >
@ -429,345 +431,349 @@
</template> </template>
<script> <script>
import { import {
listType, listType,
getType, getType,
delType, delType,
addType, addType,
updateType, updateType,
refreshCache, refreshCache,
} from '@/api/system/dict/type' } from '@/api/system/dict/type'
import { import {
getLeaseManageListAll, getLeaseManageListAll,
getUnitData, getUnitData,
getProData, getProData,
getLeaseListAll, getLeaseListAll,
} from '@/api/claimAndRefund/receive' } from '@/api/claimAndRefund/receive'
import { getInfo } from '@/api/login' import { getInfo } from '@/api/login'
import vueEasyPrint from 'vue-easy-print' import vueEasyPrint from 'vue-easy-print'
export default { export default {
// name: "ReceiveManage", // name: "ReceiveManage",
data() { data() {
return { return {
// //
loading: true, loading: true,
// //
ids: [], ids: [],
// //
single: true, single: true,
// //
multiple: true, multiple: true,
// //
showSearch: true, showSearch: true,
// //
total: 0, total: 0,
// //
typeList: [], typeList: [],
// //
title: '', title: '',
// //
open: false, open: false,
// //
dateRange: [], dateRange: [],
// //
queryParams: { queryParams: {
time: [], time: [],
unitId: null, unitId: null,
proId: null, proId: null,
keyWord: '', keyWord: '',
types: 2, types: 2,
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
dictName: undefined, dictName: undefined,
dictType: undefined, dictType: undefined,
status: undefined, status: undefined,
}, },
user: {}, user: {},
unitList: [], unitList: [],
proList: [], proList: [],
leaseAuditList: [], leaseAuditList: [],
showJJExamineBtn: false, //- showJJExamineBtn: false, //-
showSBExamineBtn: false, //- showSBExamineBtn: false, //-
// //
form: {}, form: {},
// //
rules: { rules: {
dictName: [ dictName: [
{ {
required: true, required: true,
message: '字典名称不能为空', message: '字典名称不能为空',
trigger: 'blur', trigger: 'blur',
}, },
], ],
dictType: [ dictType: [
{ {
required: true, required: true,
message: '字典类型不能为空', message: '字典类型不能为空',
trigger: 'blur', trigger: 'blur',
}, },
], ],
}, },
peopleOpen: false, peopleOpen: false,
noticeOpen: false, noticeOpen: false,
nform: { nform: {
notice: '', notice: '',
}, },
nrules: { nrules: {
notice: [ notice: [
{ {
required: true, required: true,
message: '通知内容不能为空', message: '通知内容不能为空',
trigger: 'blur', trigger: 'blur',
}, },
], ],
}, },
deptName: undefined, deptName: undefined,
// //
leaseApplyDetails: [], leaseApplyDetails: [],
// //
leaseApplyData: {}, leaseApplyData: {},
}
},
created() {
this.queryParams.keyWord = this.$route.query?.keyWord
this.GetUserInfo()
// this.getList();
this.GetUnitData()
this.GetProData()
},
components: { vueEasyPrint },
methods: {
//
async GetUserInfo() {
const res = await getInfo()
this.user = res.user
// console.log(this.user)
this.getList()
},
/** 查询列表 */
async getList() {
this.loading = true
const params = {
unitId: this.queryParams.unitId,
projectId: this.queryParams.proId,
keyWord: this.queryParams.keyWord,
startTime: this.queryParams.time && this.queryParams.time[0],
endTime: this.queryParams.time && this.queryParams.time[1],
types: this.queryParams.types,
souceBy: 0,
pageSize: this.queryParams.pageSize,
pageNum: this.queryParams.pageNum,
} }
},
created() {
this.queryParams.keyWord = this.$route.query?.keyWord
this.GetUserInfo()
// this.getList();
const res = await getLeaseManageListAll(params)
this.loading = false
console.log('getList ============', res)
this.leaseAuditList = res.data.rows
// this.leaseAuditList.forEach((item,index)=>{
// console.log(item.leaseApplyInfoList)
// if(item.leaseApplyInfoList.length>0){
// // item.showExamineBtn = true;
// if(item.leaseApplyInfoList[0].status=="0"||item.leaseApplyInfoList[0].status=="5"||item.leaseApplyInfoList[0].status=="7"||item.leaseApplyInfoList[0].status=="8"){
// item.showExamineBtn = true;
// }
// }
// })
console.log(this.leaseAuditList)
this.total = res.data.total
},
//
async GetUnitData() {
const params = {
id: this.queryParams.proId,
}
const res = await getUnitData(params)
this.unitList = res.data
},
//
async GetProData() {
const params = {
id: this.queryParams.unitId,
}
const res = await getProData(params)
this.proList = res.data
},
//
cancel() {
this.open = false
this.reset()
},
//
reset() {
this.form = {
dictId: undefined,
dictName: undefined,
dictType: undefined,
status: '0',
remark: undefined,
}
this.resetForm('form')
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1
this.getList()
},
/** 重置按钮操作 */
resetQuery() {
this.queryParams.time = []
this.resetForm('queryForm')
this.queryParams.keyWord = ''
this.GetUnitData() this.GetUnitData()
this.GetProData() this.GetProData()
this.handleQuery()
}, },
handleNotice() { components: { vueEasyPrint },
this.noticeOpen = true methods: {
}, //
/** 新增按钮操作 */ async GetUserInfo() {
handleAdd() { const res = await getInfo()
// this.$tab.closeOpenPage("/claimAndRefund/receive/receiveManageAdd"); this.user = res.user
// this.reset(); // console.log(this.user)
// this.open = true; this.getList()
// this.title = ""; },
}, /** 查询列表 */
handleExamine(row, type) { async getList() {
this.$tab.closeOpenPage({ this.loading = true
path: '/claimAndRefund/receive/receiveExamine', const params = {
query: { unitId: this.queryParams.unitId,
taskId: row.taskId, projectId: this.queryParams.proId,
}, keyWord: this.queryParams.keyWord,
}) startTime:
}, this.queryParams.time && this.queryParams.time[0],
handleView(row) { endTime: this.queryParams.time && this.queryParams.time[1],
this.$tab.closeOpenPage({ types: this.queryParams.types,
path: '/claimAndRefund/receive/receiveExamine?isView=true', souceBy: 0,
query: { pageSize: this.queryParams.pageSize,
taskId: row.taskId, pageNum: this.queryParams.pageNum,
},
})
},
//
async openLld(row) {
this.open = true
const res = await getLeaseListAll({ taskId: row.taskId })
this.leaseApplyDetails = res.rows[0].leaseApplyDetails
this.leaseApplyData = res.rows[0]
console.log('this.leaseApplyData ============', this.leaseApplyData)
},
//
print() {
this.$refs.remarksPrintRef.print()
},
//
handleSelectionChange(selection) {
this.ids = selection.map((item) => item.dictId)
this.single = selection.length != 1
this.multiple = !selection.length
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset()
const dictId = row.dictId || this.ids
getType(dictId).then((response) => {
this.form = response.data
this.open = true
this.title = '验收'
})
},
/** 提交按钮 */
submitForm: function () {
this.$refs['form'].validate((valid) => {
if (valid) {
if (this.form.dictId != undefined) {
updateType(this.form).then((response) => {
this.$modal.msgSuccess('修改成功')
this.open = false
this.getList()
})
} else {
addType(this.form).then((response) => {
this.$modal.msgSuccess('新增成功')
this.open = false
this.getList()
})
}
} }
})
}, const res = await getLeaseManageListAll(params)
/** 删除按钮操作 */ this.loading = false
handleDelete(row) { console.log('getList ============', res)
const dictIds = row.dictId || this.ids this.leaseAuditList = res.data.rows
this.$modal // this.leaseAuditList.forEach((item,index)=>{
.confirm('是否确认删除所选择的数据项?') // console.log(item.leaseApplyInfoList)
.then(function () { // if(item.leaseApplyInfoList.length>0){
return delType(dictIds) // // item.showExamineBtn = true;
// if(item.leaseApplyInfoList[0].status=="0"||item.leaseApplyInfoList[0].status=="5"||item.leaseApplyInfoList[0].status=="7"||item.leaseApplyInfoList[0].status=="8"){
// item.showExamineBtn = true;
// }
// }
// })
console.log(this.leaseAuditList)
this.total = res.data.total
},
//
async GetUnitData() {
const params = {
id: this.queryParams.proId,
}
const res = await getUnitData(params)
this.unitList = res.data
},
//
async GetProData() {
const params = {
id: this.queryParams.unitId,
}
const res = await getProData(params)
this.proList = res.data
},
//
cancel() {
this.open = false
this.reset()
},
//
reset() {
this.form = {
dictId: undefined,
dictName: undefined,
dictType: undefined,
status: '0',
remark: undefined,
}
this.resetForm('form')
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1
this.getList()
},
/** 重置按钮操作 */
resetQuery() {
this.queryParams.time = []
this.resetForm('queryForm')
this.queryParams.keyWord = ''
this.GetUnitData()
this.GetProData()
this.handleQuery()
},
handleNotice() {
this.noticeOpen = true
},
/** 新增按钮操作 */
handleAdd() {
// this.$tab.closeOpenPage("/claimAndRefund/receive/receiveManageAdd");
// this.reset();
// this.open = true;
// this.title = "";
},
handleExamine(row, type) {
this.$tab.closeOpenPage({
path: '/claimAndRefund/receive/receiveExamine',
query: {
taskId: row.taskId,
},
}) })
.then(() => { },
this.getList() handleView(row) {
this.$modal.msgSuccess('删除成功') this.$tab.closeOpenPage({
path: '/claimAndRefund/receive/receiveExamine?isView=true',
query: {
taskId: row.taskId,
},
}) })
.catch(() => {}) },
//
async openLld(row) {
this.open = true
const res = await getLeaseListAll({ taskId: row.taskId })
this.leaseApplyDetails = res.rows[0].leaseApplyDetails
this.leaseApplyData = res.rows[0]
console.log(
'this.leaseApplyData ============',
this.leaseApplyData,
)
},
//
print() {
this.$refs.remarksPrintRef.print()
},
//
handleSelectionChange(selection) {
this.ids = selection.map((item) => item.dictId)
this.single = selection.length != 1
this.multiple = !selection.length
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset()
const dictId = row.dictId || this.ids
getType(dictId).then((response) => {
this.form = response.data
this.open = true
this.title = '验收'
})
},
/** 提交按钮 */
submitForm: function () {
this.$refs['form'].validate((valid) => {
if (valid) {
if (this.form.dictId != undefined) {
updateType(this.form).then((response) => {
this.$modal.msgSuccess('修改成功')
this.open = false
this.getList()
})
} else {
addType(this.form).then((response) => {
this.$modal.msgSuccess('新增成功')
this.open = false
this.getList()
})
}
}
})
},
/** 删除按钮操作 */
handleDelete(row) {
const dictIds = row.dictId || this.ids
this.$modal
.confirm('是否确认删除所选择的数据项?')
.then(function () {
return delType(dictIds)
})
.then(() => {
this.getList()
this.$modal.msgSuccess('删除成功')
})
.catch(() => {})
},
/** 导出按钮操作 */
handleExport() {
this.download(
'base/tm_task/applyExport',
{
...this.queryParams,
},
`领料审批单_${new Date().getTime()}.xlsx`,
)
},
/** 刷新缓存按钮操作 */
handleRefreshCache() {
refreshCache().then(() => {
this.$modal.msgSuccess('刷新成功')
this.$store.dispatch('dict/cleanDict')
})
},
}, },
/** 导出按钮操作 */ }
handleExport() {
this.download(
'base/tm_task/applyExport',
{
...this.queryParams,
},
`领料审批单_${new Date().getTime()}.xlsx`,
)
},
/** 刷新缓存按钮操作 */
handleRefreshCache() {
refreshCache().then(() => {
this.$modal.msgSuccess('刷新成功')
this.$store.dispatch('dict/cleanDict')
})
},
},
}
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.print { .print {
.title { .title {
text-align: center; text-align: center;
font-weight: 600; font-weight: 600;
font-size: 16px; font-size: 16px;
} }
.info { .info {
margin-top: 10px; margin-top: 10px;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
.item { .item {
width: 50%; width: 50%;
flex-shrink: 0; flex-shrink: 0;
margin-bottom: 5px; margin-bottom: 5px;
font-size: 14px; font-size: 14px;
}
}
.fillIn {
margin-top: 15px;
display: flex;
justify-content: space-between;
} }
} }
::v-deep.el-table .fixed-width .el-button--mini {
.fillIn { width: 60px !important;
margin-top: 15px; margin-bottom: 10px;
display: flex;
justify-content: space-between;
} }
}
::v-deep.el-table .fixed-width .el-button--mini {
width: 60px !important;
margin-bottom: 10px;
}
</style> </style>