修改工程管理

This commit is contained in:
cool 2024-04-02 17:01:40 +08:00
parent 4bbcd5a931
commit a7e4107f3a
1 changed files with 73 additions and 14 deletions

View File

@ -59,20 +59,25 @@
</template>
</el-table-column>
<el-table-column key="org" label="建管单位" align="center" prop="org" />
<el-table-column key="proName" label="工程名称" prop="proName" align="center" />
<el-table-column key="proName" label="工程名称" prop="proName" align="center" :show-overflow-tooltip="true" />
<el-table-column key="bidCode" label="标段编码" prop="bidCode" align="center" />
<el-table-column key="signCode" label="单项编码" prop="signCode" align="center" />
<el-table-column key="proCode" label="工程编码" prop="proCode" align="center" />
<el-table-column key="signCode" label="单项编码" prop="signCode" align="center" />
<el-table-column key="proType" label="工程类型" align="center" prop="proType" />
<el-table-column prop="proScale" label="规模" align="center" />
<el-table-column prop="jlUnit" label="监理单位" align="center" />
<el-table-column prop="sgUnit" label="施工单位" align="center" />
<el-table-column prop="jlUnit" label="监理单位" align="center" :show-overflow-tooltip="true" />
<el-table-column prop="sgUnit" label="施工单位" align="center" :show-overflow-tooltip="true" />
<el-table-column prop="manager" label="项目经理" align="center" />
<el-table-column prop="planStartTime" label="计划开始时间" align="center" />
<el-table-column prop="startTime" label="实际开始时间" align="center" />
<el-table-column prop="planEndTime" label="计划结束时间" align="center" />
<el-table-column prop="endTime" label="实际结束时间" align="center" />
<el-table-column prop="proCost" label="项目总成本" align="center" />
<el-table-column prop="bidType" label="标段类型" align="center" />
<el-table-column prop="sgManage" label="施工项目经理" align="center" />
<el-table-column prop="jlManage" label="监理工程师" align="center" />
<el-table-column prop="subType" label="变电站类型" align="center" />
<el-table-column prop="tcDate" label="投产时间" align="center" />
<el-table-column prop="proFileNum" label="平面图" align="center">
<template slot-scope="{ row, $index }">
<el-button type="text" size="mini" @click="handleViewImage(row, $index, '2')">{{ row.proFileNum }}</el-button>
@ -99,7 +104,7 @@
</el-table-column>
<el-table-column prop="proBrief" label="工程简介" align="center" :show-overflow-tooltip="true" />
<el-table-column prop="status" label="状态" align="center" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="160" fixed="right">
<el-table-column label="操作" align="center" class-name="fixed-width" width="250" fixed="right">
<template slot-scope="{ row, $index }">
<el-button v-if="row.status !== '完工'" v-waves type="text" size="mini" @click="handleUpdate(row, $index)">编辑</el-button>
<el-button v-waves type="text" size="mini" @click="handleProcess(row, $index)">工序计划</el-button>
@ -139,11 +144,11 @@
<el-form-item label="标段编码:" prop="bidCode">
<el-input v-model="temp.bidCode" placeholder="标段编码" :maxlength="50" :disabled="textMap[dialogStatus] === 'update'" />
</el-form-item>
<el-form-item label="单项编码:" prop="signCode">
<el-input v-model="temp.signCode" placeholder="单项编码" :maxlength="50" />
</el-form-item>
<el-form-item label="工程编码:" prop="proCode">
<el-input v-model="temp.proCode" placeholder="工程编码" :maxlength="50" />
<ProjectNoSelect :current-id.sync="temp.proCode" @change="handleProChange" />
</el-form-item>
<el-form-item label="单项编码:" prop="signCode">
<SingleProSelect ref="singleProSelectRef" :current-id.sync="temp.signCode" :pro-no="temp.proCode" />
</el-form-item>
<el-form-item label="工程类型:" prop="proType">
<el-select v-model="temp.proType" placeholder="请选择" style="width: 100%">
@ -259,7 +264,38 @@
</el-upload>
</el-form-item>
<el-form-item label="工程简介:" prop="proBrief">
<el-input v-model="temp.proBrief" type="textarea" :rows="2" placeholder="工程简介" :maxlength="11" />
<el-input v-model="temp.proBrief" type="textarea" :rows="2" placeholder="工程简介" :maxlength="200" />
</el-form-item>
<el-form-item label="标段类型:" prop="bidType">
<el-select v-model="temp.bidType" placeholder="请选择" style="width: 100%">
<el-option :key="0" :value="0" label="设计" />
<el-option :key="1" :value="1" label="监理" />
<el-option :key="2" :value="2" label="施工" />
<el-option :key="3" :value="3" label="监理加施工" />
</el-select>
</el-form-item>
<el-form-item label="施工项目经理:" prop="sgManage">
<el-input v-model="temp.sgManage" :rows="2" placeholder="施工项目经理" :maxlength="50" />
</el-form-item>
<el-form-item label="监理工程师:" prop="jlManage">
<el-input v-model="temp.jlManage" :rows="2" placeholder="监理工程师" :maxlength="50" />
</el-form-item>
<el-form-item label="变电站类型:" prop="subType">
<el-select v-model="temp.subType" placeholder="请选择" style="width: 100%">
<el-option :key="1" :value="1" label="土建" />
<el-option :key="2" :value="2" label="电气" />
<el-option :key="3" :value="3" label="变电" />
</el-select>
</el-form-item>
<el-form-item label="投产时间:" prop="tcDate">
<el-date-picker
v-model="temp.tcDate"
style="width: 100%"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择日期"
/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -329,6 +365,8 @@ import { downloadFile } from '@/utils/download'
import ProjectStatusSelect from '@/views/basic/project/components/ProjectStatusSelect.vue'
import GtTable from '@/views/basic/project/components/GtTable.vue'
import CostTable from '@/views/basic/project/components/CostTable.vue'
import ProjectNoSelect from '@/views/basic/single/components/ProjectNoSelect.vue'
import SingleProSelect from '@/views/basic/single/components/SingleProSelect.vue'
const defaultTmp = {
org: '',
@ -348,7 +386,12 @@ const defaultTmp = {
proCost: '',
proFileNum: '',
proImgFileNum: '',
proBrief: ''
proBrief: '',
bidType: '',
sgManage: '',
jlManage: '',
subType: '',
tcDate: ''
}
const defaultCompleteTmp = {
@ -359,7 +402,9 @@ const defaultCompleteTmp = {
}
export default {
components: { CostTable, GtTable, ProjectStatusSelect, Pagination, BuildSelect, ProcessTable },
components: {
SingleProSelect,
ProjectNoSelect, CostTable, GtTable, ProjectStatusSelect, Pagination, BuildSelect, ProcessTable },
directives: { waves },
data() {
return {
@ -414,8 +459,10 @@ export default {
// imageList: [{ required: true, message: '', trigger: 'blur' }],
// imageList2: [{ required: true, message: '', trigger: 'change' }],
imageList2: [{ type: 'array', required: true, validator: this.validateImageNum, trigger: 'change' }],
signCode: [{ required: true, message: '不能为空', trigger: 'blur' }],
proCode: [{ required: true, message: '不能为空', trigger: 'blur' }],
signCode: [{ required: true, message: '请选择', trigger: 'change' }],
proCode: [{ required: true, message: '请选择', trigger: 'change' }],
bidType: [{ required: true, message: '请选择', trigger: 'change' }],
subType: [{ required: true, message: '请选择', trigger: 'change' }],
bidCode: [{ required: true, message: '不能为空', trigger: 'blur' }]
},
completeRules: {
@ -700,6 +747,18 @@ export default {
})
this.$refs[refName].showViewer = true
})
},
handleProChange(val) {
const singleProSelectRef = this.$refs.singleProSelectRef
this.$nextTick(() => {
singleProSelectRef.getList(() => {
const list = singleProSelectRef.options
console.log(list)
if (this.temp.signCode && !list.find(item => item.value === this.temp.signCode)) {
this.temp.signCode = ''
}
})
})
}
}
}