节能减排增加风险预警
This commit is contained in:
parent
5fd2b135bb
commit
d8495b68f0
|
|
@ -2,36 +2,73 @@ import request from '@/utils/request'
|
|||
|
||||
// 获取节能减排列表
|
||||
export function getEnergySavingListAPI(data) {
|
||||
return request({
|
||||
url: '/background/sj/energy/list',
|
||||
method: 'get',
|
||||
params: data,
|
||||
})
|
||||
return request({
|
||||
url: '/background/sj/energy/list',
|
||||
method: 'get',
|
||||
params: data,
|
||||
})
|
||||
}
|
||||
|
||||
// 新增节能减排
|
||||
export function addEnergySavingAPI(data) {
|
||||
return request({
|
||||
url: '/background/sj/energy/addData',
|
||||
method: 'post',
|
||||
data,
|
||||
})
|
||||
return request({
|
||||
url: '/background/sj/energy/addData',
|
||||
method: 'post',
|
||||
data,
|
||||
})
|
||||
}
|
||||
|
||||
// 编辑节能减排
|
||||
export function editEnergySavingAPI(data) {
|
||||
return request({
|
||||
url: '/background/sj/energy/updateData',
|
||||
method: 'post',
|
||||
data,
|
||||
})
|
||||
return request({
|
||||
url: '/background/sj/energy/updateData',
|
||||
method: 'post',
|
||||
data,
|
||||
})
|
||||
}
|
||||
|
||||
// 删除节能减排
|
||||
export function deleteEnergySavingAPI(data) {
|
||||
return request({
|
||||
url: '/background/sj/energy/delete',
|
||||
method: 'post',
|
||||
data,
|
||||
})
|
||||
return request({
|
||||
url: '/background/sj/energy/delete',
|
||||
method: 'post',
|
||||
data,
|
||||
})
|
||||
}
|
||||
|
||||
// 风险预警相关API
|
||||
// 获取风险预警列表
|
||||
export function getRiskWarningListAPI(data) {
|
||||
return request({
|
||||
url: '/background/sj/energy/getWarnList',
|
||||
method: 'get',
|
||||
params: data,
|
||||
})
|
||||
}
|
||||
|
||||
// 新增风险预警
|
||||
export function addRiskWarningAPI(data) {
|
||||
return request({
|
||||
url: '/background/sj/energy/addWarnData',
|
||||
method: 'post',
|
||||
data,
|
||||
})
|
||||
}
|
||||
|
||||
// 编辑风险预警
|
||||
export function editRiskWarningAPI(data) {
|
||||
return request({
|
||||
url: '/background/sj/energy/updateWarnData',
|
||||
method: 'post',
|
||||
data,
|
||||
})
|
||||
}
|
||||
|
||||
// 删除风险预警
|
||||
export function deleteRiskWarningAPI(data) {
|
||||
return request({
|
||||
url: '/background/sj/energy/deleteWarnData',
|
||||
method: 'post',
|
||||
data,
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,8 +27,17 @@
|
|||
size="mini"
|
||||
type="primary"
|
||||
@click="onHandleAddProject"
|
||||
>新增</el-button
|
||||
>
|
||||
新增
|
||||
</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="warning"
|
||||
icon="el-icon-warning-outline"
|
||||
@click="onHandleRiskWarning"
|
||||
>
|
||||
风险预警
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
|
|
@ -68,7 +77,7 @@
|
|||
width="50%"
|
||||
v-if="addAndEditDialogVisible"
|
||||
:visible.sync="addAndEditDialogVisible"
|
||||
:title="`${addAndEditDialogTitle}工程质量`"
|
||||
:title="`${addAndEditDialogTitle}节能减排`"
|
||||
>
|
||||
<AddAndEditForm
|
||||
ref="addAndEditFormRef"
|
||||
|
|
@ -85,6 +94,175 @@
|
|||
</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<!-- 风险预警弹框 -->
|
||||
<el-dialog
|
||||
append-to-body
|
||||
width="80%"
|
||||
v-if="riskWarningDialogVisible"
|
||||
:visible.sync="riskWarningDialogVisible"
|
||||
title="风险预警"
|
||||
>
|
||||
<el-form inline class="mb10">
|
||||
<el-form-item label="综合查询">
|
||||
<el-input
|
||||
v-model="riskWarningQueryParams.keyWord"
|
||||
placeholder="请输入关键字"
|
||||
clearable
|
||||
style="width: 200px"
|
||||
@keyup.enter.native="onHandleRiskWarningQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="primary"
|
||||
icon="el-icon-search"
|
||||
@click="onHandleRiskWarningQuery"
|
||||
>
|
||||
查询
|
||||
</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="primary"
|
||||
icon="el-icon-plus"
|
||||
@click="onHandleAddRiskWarning"
|
||||
>
|
||||
新增
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-table
|
||||
border
|
||||
:data="riskWarningList"
|
||||
v-loading="riskWarningLoading"
|
||||
>
|
||||
<el-table-column
|
||||
label="序号"
|
||||
type="index"
|
||||
width="60"
|
||||
align="center"
|
||||
/>
|
||||
<el-table-column
|
||||
label="工程名称"
|
||||
prop="proName"
|
||||
align="center"
|
||||
/>
|
||||
<el-table-column
|
||||
label="提醒类型"
|
||||
prop="txType"
|
||||
align="center"
|
||||
/>
|
||||
<el-table-column
|
||||
label="提醒时间"
|
||||
prop="txTime"
|
||||
align="center"
|
||||
/>
|
||||
<el-table-column
|
||||
label="分析提醒内容"
|
||||
prop="content"
|
||||
align="center"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column label="操作" align="center" width="140">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
type="primary"
|
||||
size="mini"
|
||||
style="padding: 6px 6px"
|
||||
@click="onHandleEditRiskWarning(scope.row)"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button
|
||||
type="danger"
|
||||
size="mini"
|
||||
style="padding: 6px 6px"
|
||||
@click="onHandleDeleteRiskWarning(scope.row)"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
:total="riskWarningTotal"
|
||||
:page.sync="riskWarningQueryParams.pageNum"
|
||||
:limit.sync="riskWarningQueryParams.pageSize"
|
||||
@pagination="onRiskWarningPageChange"
|
||||
/>
|
||||
</el-dialog>
|
||||
|
||||
<!-- 风险预警新增/编辑弹框 -->
|
||||
<el-dialog
|
||||
append-to-body
|
||||
width="500px"
|
||||
v-if="riskWarningFormDialogVisible"
|
||||
:visible.sync="riskWarningFormDialogVisible"
|
||||
:title="`${riskWarningFormDialogTitle}风险预警`"
|
||||
>
|
||||
<el-form
|
||||
:model="riskWarningForm"
|
||||
:rules="riskWarningRules"
|
||||
ref="riskWarningFormRef"
|
||||
label-width="100px"
|
||||
>
|
||||
<el-form-item label="工程名称" prop="bidCode">
|
||||
<el-select
|
||||
v-model="riskWarningForm.bidCode"
|
||||
placeholder="请选择工程名称"
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in projectSelectList"
|
||||
:key="item.bidCode"
|
||||
:label="item.proName"
|
||||
:value="item.bidCode"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="提醒类型" prop="txType">
|
||||
<el-input
|
||||
v-model="riskWarningForm.txType"
|
||||
placeholder="请输入提醒类型"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="预警时间" prop="txTime">
|
||||
<el-date-picker
|
||||
v-model="riskWarningForm.txTime"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="请选择预警时间"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="预警内容" prop="content">
|
||||
<el-input
|
||||
v-model="riskWarningForm.content"
|
||||
type="textarea"
|
||||
:rows="4"
|
||||
placeholder="请输入分析预警内容"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="riskWarningFormDialogVisible = false">
|
||||
取消
|
||||
</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
:loading="riskWarningSubmitting"
|
||||
@click="onHandleSubmitRiskWarning"
|
||||
>
|
||||
确定
|
||||
</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
@ -92,12 +270,16 @@
|
|||
import {
|
||||
getEnergySavingListAPI,
|
||||
deleteEnergySavingAPI,
|
||||
} from '@/api/dataAnalysis/energySaving'
|
||||
|
||||
getRiskWarningListAPI,
|
||||
addRiskWarningAPI,
|
||||
editRiskWarningAPI,
|
||||
deleteRiskWarningAPI,
|
||||
} from '@/api/dataManage/energySaving'
|
||||
import { getProjectSelectListAPI } from '@/api/dataManage/common'
|
||||
import AddAndEditForm from './components/addAndEditForm.vue'
|
||||
|
||||
export default {
|
||||
name: 'ProjectQuality',
|
||||
name: 'EnergySaving',
|
||||
components: {
|
||||
AddAndEditForm,
|
||||
},
|
||||
|
|
@ -107,6 +289,7 @@ export default {
|
|||
editRow: {},
|
||||
detailsId: '',
|
||||
projectList: [],
|
||||
projectSelectList: [],
|
||||
addAndEditDialogVisible: false,
|
||||
addAndEditDialogTitle: '',
|
||||
tableColumns: [
|
||||
|
|
@ -129,14 +312,79 @@ export default {
|
|||
type: '',
|
||||
createTime: '',
|
||||
},
|
||||
|
||||
// 风险预警
|
||||
riskWarningDialogVisible: false,
|
||||
riskWarningLoading: false,
|
||||
riskWarningList: [],
|
||||
riskWarningTotal: 0,
|
||||
riskWarningQueryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
keyWord: '',
|
||||
},
|
||||
riskWarningFormDialogVisible: false,
|
||||
riskWarningFormDialogTitle: '新增',
|
||||
riskWarningSubmitting: false,
|
||||
riskWarningEditId: null,
|
||||
riskWarningForm: {
|
||||
bidCode: '',
|
||||
txType: '',
|
||||
txTime: '',
|
||||
content: '',
|
||||
},
|
||||
riskWarningRules: {
|
||||
bidCode: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择工程名称',
|
||||
trigger: 'change',
|
||||
},
|
||||
],
|
||||
txType: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入提醒类型',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
txTime: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择预警时间',
|
||||
trigger: 'change',
|
||||
},
|
||||
],
|
||||
content: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入分析预警内容',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
}
|
||||
},
|
||||
|
||||
created() {
|
||||
this.getProjectList()
|
||||
this.getProjectSelectList()
|
||||
},
|
||||
|
||||
methods: {
|
||||
// 获取工程下拉列表
|
||||
async getProjectSelectList() {
|
||||
try {
|
||||
const res = await getProjectSelectListAPI()
|
||||
if (res.code === 200) {
|
||||
this.projectSelectList = res.data || []
|
||||
} else {
|
||||
this.projectSelectList = res.data || []
|
||||
}
|
||||
} catch (error) {
|
||||
this.projectSelectList = []
|
||||
}
|
||||
},
|
||||
onHandleQuery() {
|
||||
this.getProjectList()
|
||||
},
|
||||
|
|
@ -146,14 +394,14 @@ export default {
|
|||
this.addAndEditDialogVisible = true
|
||||
this.addAndEditDialogTitle = '新增'
|
||||
},
|
||||
// 获取工程质量列表
|
||||
// 获取节能减排列表
|
||||
async getProjectList() {
|
||||
const res = await getEnergySavingListAPI(this.queryParams)
|
||||
this.projectList = res.rows
|
||||
this.total = res.total
|
||||
},
|
||||
|
||||
// 编辑工程质量
|
||||
// 编辑节能减排
|
||||
onHandleEditProject(row) {
|
||||
this.detailsId = row.id
|
||||
this.editRow = row
|
||||
|
|
@ -161,7 +409,7 @@ export default {
|
|||
this.addAndEditDialogTitle = '编辑'
|
||||
},
|
||||
|
||||
// 删除工程质量
|
||||
// 删除节能减排
|
||||
onHandleDeleteProject(row) {
|
||||
this.$confirm('此操作将永久删除该节能减排, 是否继续?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
|
|
@ -180,7 +428,7 @@ export default {
|
|||
.catch(() => {})
|
||||
},
|
||||
|
||||
// 提交工程质量
|
||||
// 提交节能减排
|
||||
async onHandleSubmit() {
|
||||
const res = await this.$refs.addAndEditFormRef.submitForm()
|
||||
if (res) {
|
||||
|
|
@ -191,6 +439,130 @@ export default {
|
|||
this.$message.error('提交失败')
|
||||
}
|
||||
},
|
||||
|
||||
// 打开风险预警弹框
|
||||
onHandleRiskWarning() {
|
||||
this.riskWarningDialogVisible = true
|
||||
this.getRiskWarningList()
|
||||
},
|
||||
|
||||
// 风险预警相关方法
|
||||
// 获取风险预警列表
|
||||
async getRiskWarningList() {
|
||||
this.riskWarningLoading = true
|
||||
try {
|
||||
const res = await getRiskWarningListAPI(
|
||||
this.riskWarningQueryParams,
|
||||
)
|
||||
this.riskWarningList = res.rows || []
|
||||
this.riskWarningTotal = res.total || 0
|
||||
} catch (error) {
|
||||
this.$message.error('获取风险预警列表失败')
|
||||
} finally {
|
||||
this.riskWarningLoading = false
|
||||
}
|
||||
},
|
||||
|
||||
// 查询风险预警
|
||||
onHandleRiskWarningQuery() {
|
||||
this.riskWarningQueryParams.pageNum = 1
|
||||
this.getRiskWarningList()
|
||||
},
|
||||
|
||||
// 分页变化
|
||||
onRiskWarningPageChange() {
|
||||
this.getRiskWarningList()
|
||||
},
|
||||
|
||||
// 新增风险预警
|
||||
onHandleAddRiskWarning() {
|
||||
this.riskWarningFormDialogTitle = '新增'
|
||||
this.riskWarningEditId = null
|
||||
this.riskWarningForm = {
|
||||
bidCode: '',
|
||||
txType: '',
|
||||
txTime: '',
|
||||
content: '',
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
if (this.$refs.riskWarningFormRef) {
|
||||
this.$refs.riskWarningFormRef.clearValidate()
|
||||
}
|
||||
})
|
||||
this.riskWarningFormDialogVisible = true
|
||||
},
|
||||
|
||||
// 编辑风险预警
|
||||
onHandleEditRiskWarning(row) {
|
||||
this.riskWarningFormDialogTitle = '编辑'
|
||||
this.riskWarningEditId = row.id
|
||||
this.riskWarningForm = {
|
||||
bidCode: row.bidCode || '',
|
||||
txType: row.txType || '',
|
||||
txTime: row.txTime || '',
|
||||
content: row.content || '',
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
if (this.$refs.riskWarningFormRef) {
|
||||
this.$refs.riskWarningFormRef.clearValidate()
|
||||
}
|
||||
})
|
||||
this.riskWarningFormDialogVisible = true
|
||||
},
|
||||
|
||||
// 删除风险预警
|
||||
onHandleDeleteRiskWarning(row) {
|
||||
this.$confirm('此操作将永久删除该风险预警记录, 是否继续?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
})
|
||||
.then(async () => {
|
||||
try {
|
||||
const res = await deleteRiskWarningAPI({ id: row.id })
|
||||
if (res.code === 200) {
|
||||
this.$message.success('删除成功')
|
||||
this.getRiskWarningList()
|
||||
} else {
|
||||
this.$message.error(res.msg || '删除失败')
|
||||
}
|
||||
} catch (error) {
|
||||
this.$message.error('删除失败')
|
||||
}
|
||||
})
|
||||
.catch(() => {})
|
||||
},
|
||||
|
||||
// 提交风险预警
|
||||
async onHandleSubmitRiskWarning() {
|
||||
this.$refs.riskWarningFormRef.validate(async (valid) => {
|
||||
if (!valid) return
|
||||
this.riskWarningSubmitting = true
|
||||
try {
|
||||
const params = { ...this.riskWarningForm }
|
||||
if (this.riskWarningEditId) {
|
||||
params.id = this.riskWarningEditId
|
||||
}
|
||||
const API = this.riskWarningEditId
|
||||
? editRiskWarningAPI
|
||||
: addRiskWarningAPI
|
||||
const res = await API(params)
|
||||
if (res.code === 200) {
|
||||
this.$message.success(
|
||||
this.riskWarningEditId ? '编辑成功' : '新增成功',
|
||||
)
|
||||
this.riskWarningFormDialogVisible = false
|
||||
this.getRiskWarningList()
|
||||
} else {
|
||||
this.$message.error(res.msg || '操作失败')
|
||||
}
|
||||
} catch (error) {
|
||||
this.$message.error('操作失败')
|
||||
} finally {
|
||||
this.riskWarningSubmitting = false
|
||||
}
|
||||
})
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -22,8 +22,8 @@
|
|||
placeholder="请选择"
|
||||
v-model="taskQueryParams.isYq"
|
||||
>
|
||||
<el-option label="是" value="是" />
|
||||
<el-option label="否" value="否" />
|
||||
<el-option label="未延期" :value="0" />
|
||||
<el-option label="延期" :value="1" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
|
|
@ -83,7 +83,11 @@
|
|||
label="任务状态"
|
||||
prop="taskStatus"
|
||||
align="center"
|
||||
/>
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ getTaskStatusText(scope.row.taskStatus) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="计划开始时间"
|
||||
prop="planStartTime"
|
||||
|
|
@ -99,7 +103,15 @@
|
|||
prop="endTime"
|
||||
align="center"
|
||||
/>
|
||||
<el-table-column label="是否延期" prop="isYq" align="center" />
|
||||
<el-table-column label="是否延期" prop="isYq" align="center">
|
||||
<template slot-scope="scope">
|
||||
{{
|
||||
scope.row.isYq === 1 || scope.row.isYq === '1'
|
||||
? '延期'
|
||||
: '未延期'
|
||||
}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="延期天数" prop="yaDay" align="center" />
|
||||
<el-table-column label="操作" align="center" width="140">
|
||||
<template slot-scope="scope">
|
||||
|
|
@ -293,9 +305,10 @@
|
|||
placeholder="请选择任务状态"
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-option label="未开始" value="未开始" />
|
||||
<el-option label="进行中" value="进行中" />
|
||||
<el-option label="已完成" value="已完成" />
|
||||
<el-option label="未开始" value="3" />
|
||||
<el-option label="进行中" value="2" />
|
||||
<el-option label="已完成" value="1" />
|
||||
<el-option label="延期" value="4" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="计划开始时间" prop="planStartTime">
|
||||
|
|
@ -327,6 +340,20 @@
|
|||
@change="calculateDelayInfo"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="是否延期">
|
||||
<el-input
|
||||
:value="taskForm.isYq === 1 ? '延期' : '未延期'"
|
||||
disabled
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="延期天数">
|
||||
<el-input
|
||||
:value="taskForm.yaDay || 0"
|
||||
disabled
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<div slot="footer" class="dialog-footer">
|
||||
|
|
@ -441,7 +468,7 @@ export default {
|
|||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
userName: '',
|
||||
isYq: '',
|
||||
isYq: null,
|
||||
},
|
||||
taskDialogVisible: false,
|
||||
taskDialogTitle: '新增',
|
||||
|
|
@ -456,12 +483,11 @@ export default {
|
|||
teamId: '',
|
||||
workContent: '',
|
||||
taskStatus: '',
|
||||
taskStatus: '',
|
||||
planStartTime: '',
|
||||
planEndTime: '',
|
||||
endTime: '',
|
||||
isYq: '', // 是否延期
|
||||
yaDay: '', // 延期天数
|
||||
isYq: 0, // 是否延期 0-未延期 1-延期
|
||||
yaDay: 0, // 延期天数
|
||||
},
|
||||
taskRules: {
|
||||
bidCode: [
|
||||
|
|
@ -606,7 +632,7 @@ export default {
|
|||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
userName: '',
|
||||
isYq: '',
|
||||
isYq: null,
|
||||
}
|
||||
this.getWorkerTaskList()
|
||||
},
|
||||
|
|
@ -630,6 +656,8 @@ export default {
|
|||
planStartTime: '',
|
||||
planEndTime: '',
|
||||
endTime: '',
|
||||
isYq: 0,
|
||||
yaDay: 0,
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
if (this.$refs.taskFormRef) {
|
||||
|
|
@ -643,17 +671,35 @@ export default {
|
|||
onHandleEditTask(row) {
|
||||
this.taskDialogTitle = '编辑'
|
||||
this.taskEditId = row.id
|
||||
// 处理isYq字段:确保是数字类型 0或1
|
||||
let isYq = 0
|
||||
if (
|
||||
row.isYq !== null &&
|
||||
row.isYq !== undefined &&
|
||||
row.isYq !== ''
|
||||
) {
|
||||
isYq = row.isYq === 1 || row.isYq === '1' ? 1 : 0
|
||||
}
|
||||
// 处理taskStatus字段:确保是字符串类型
|
||||
let taskStatus = ''
|
||||
if (
|
||||
row.taskStatus !== null &&
|
||||
row.taskStatus !== undefined &&
|
||||
row.taskStatus !== ''
|
||||
) {
|
||||
taskStatus = String(row.taskStatus)
|
||||
}
|
||||
this.taskForm = {
|
||||
bidCode: row.bidCode || '',
|
||||
userName: row.userName || '',
|
||||
teamId: row.teamId || '',
|
||||
teamName: row.teamName || '',
|
||||
workContent: row.workContent || '',
|
||||
taskStatus: row.taskStatus || '',
|
||||
taskStatus: taskStatus,
|
||||
planStartTime: row.planStartTime || '',
|
||||
planEndTime: row.planEndTime || '',
|
||||
endTime: row.endTime || '',
|
||||
isYq: row.isYq || '否', // 是否延期
|
||||
isYq: isYq, // 是否延期 0-未延期 1-延期
|
||||
yaDay: row.yaDay || 0, // 延期天数
|
||||
}
|
||||
// 如果编辑时需要加载班组列表,确保已加载
|
||||
|
|
@ -664,6 +710,13 @@ export default {
|
|||
if (this.$refs.taskFormRef) {
|
||||
this.$refs.taskFormRef.clearValidate()
|
||||
}
|
||||
// 如果后端没有返回延期信息,则根据时间计算
|
||||
if (
|
||||
(!row.isYq && row.isYq !== 0) ||
|
||||
(!row.yaDay && row.yaDay !== 0)
|
||||
) {
|
||||
this.calculateDelayInfo()
|
||||
}
|
||||
})
|
||||
this.taskDialogVisible = true
|
||||
},
|
||||
|
|
@ -696,7 +749,7 @@ export default {
|
|||
const { planEndTime, endTime } = this.taskForm
|
||||
|
||||
if (!planEndTime) {
|
||||
this.taskForm.isYq = '否'
|
||||
this.taskForm.isYq = 0
|
||||
this.taskForm.yaDay = 0
|
||||
return
|
||||
}
|
||||
|
|
@ -718,12 +771,12 @@ export default {
|
|||
const diffTime = compareDate - planEndDate
|
||||
const diffDays = Math.floor(diffTime / (1000 * 60 * 60 * 24))
|
||||
|
||||
// 判断是否延期
|
||||
// 判断是否延期:0-未延期,1-延期
|
||||
if (diffDays > 0) {
|
||||
this.taskForm.isYq = '是'
|
||||
this.taskForm.isYq = 1
|
||||
this.taskForm.yaDay = diffDays
|
||||
} else {
|
||||
this.taskForm.isYq = '否'
|
||||
this.taskForm.isYq = 0
|
||||
this.taskForm.yaDay = 0
|
||||
}
|
||||
},
|
||||
|
|
@ -739,6 +792,17 @@ export default {
|
|||
this.taskSubmitting = true
|
||||
try {
|
||||
const params = { ...this.taskForm }
|
||||
// 确保isYq是数字类型
|
||||
params.isYq = Number(params.isYq) || 0
|
||||
// 确保yaDay是数字类型
|
||||
params.yaDay = Number(params.yaDay) || 0
|
||||
// 确保taskStatus是字符串类型
|
||||
if (
|
||||
params.taskStatus !== null &&
|
||||
params.taskStatus !== undefined
|
||||
) {
|
||||
params.taskStatus = String(params.taskStatus)
|
||||
}
|
||||
if (this.taskEditId) {
|
||||
params.id = this.taskEditId
|
||||
}
|
||||
|
|
@ -909,6 +973,19 @@ export default {
|
|||
this.taskForm.teamName = ''
|
||||
}
|
||||
},
|
||||
|
||||
// 获取任务状态文本
|
||||
getTaskStatusText(status) {
|
||||
const statusMap = {
|
||||
1: '已完成',
|
||||
2: '进行中',
|
||||
3: '未开始',
|
||||
4: '延期',
|
||||
}
|
||||
// 处理数字类型和字符串类型
|
||||
const statusStr = String(status)
|
||||
return statusMap[statusStr] || status || '-'
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
|
|
|||
Loading…
Reference in New Issue