|
|
@@ -68,6 +68,12 @@
|
|
|
:show-overflow-tooltip="true"
|
|
|
min-width="180"
|
|
|
/>
|
|
|
+ <el-table-column
|
|
|
+ label="工期(天)"
|
|
|
+ align="center"
|
|
|
+ prop="durationDays"
|
|
|
+ width="90"
|
|
|
+ />
|
|
|
<el-table-column
|
|
|
label="施工开始时间"
|
|
|
align="center"
|
|
|
@@ -143,6 +149,23 @@
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="工期" prop="durationDays">
|
|
|
+ <el-input-number
|
|
|
+ v-model="form.durationDays"
|
|
|
+ :min="1"
|
|
|
+ :max="3650"
|
|
|
+ :step="1"
|
|
|
+ placeholder="请输入工期,如:3天"
|
|
|
+ controls-position="right"
|
|
|
+ style="width: 100%"
|
|
|
+ @change="handleDurationChange"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="施工开始时间" prop="workStartTime">
|
|
|
@@ -275,6 +298,9 @@
|
|
|
<el-descriptions-item label="项目名称">
|
|
|
{{ viewForm.workTitle }}
|
|
|
</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="工期(天)">
|
|
|
+ {{ viewForm.durationDays ?? '-' }}
|
|
|
+ </el-descriptions-item>
|
|
|
<el-descriptions-item label="施工开始时间">
|
|
|
{{ viewForm.workStartTime }}
|
|
|
</el-descriptions-item>
|
|
|
@@ -428,6 +454,7 @@ const data = reactive<any>({
|
|
|
workContent: '',
|
|
|
workStartTime: '',
|
|
|
workEndTime: '',
|
|
|
+ durationDays: undefined,
|
|
|
reporterName: '',
|
|
|
contactPhone: '',
|
|
|
photoList: [],
|
|
|
@@ -446,6 +473,21 @@ const data = reactive<any>({
|
|
|
rules: {
|
|
|
workType: [{ required: true, message: '请选择作业类型', trigger: 'change' }],
|
|
|
workTitle: [{ required: true, message: '请输入项目名称', trigger: 'blur' }],
|
|
|
+ durationDays: [
|
|
|
+ { required: true, message: '请输入工期', trigger: 'blur' },
|
|
|
+ {
|
|
|
+ validator: (_rule: any, value: any, callback: any) => {
|
|
|
+ if (value === undefined || value === null || value === '') {
|
|
|
+ callback(new Error('请输入工期'));
|
|
|
+ } else if (Number(value) < 1) {
|
|
|
+ callback(new Error('工期必须大于等于1天'));
|
|
|
+ } else {
|
|
|
+ callback();
|
|
|
+ }
|
|
|
+ },
|
|
|
+ trigger: 'blur'
|
|
|
+ }
|
|
|
+ ],
|
|
|
workStartTime: [{ required: true, message: '请选择施工开始时间', trigger: 'change' }],
|
|
|
workEndTime: [
|
|
|
{ required: true, message: '请选择施工结束时间', trigger: 'change' },
|
|
|
@@ -665,6 +707,7 @@ const reset = () => {
|
|
|
workContent: '',
|
|
|
workStartTime: '',
|
|
|
workEndTime: '',
|
|
|
+ durationDays: undefined,
|
|
|
reporterName: '',
|
|
|
contactPhone: '',
|
|
|
photoList: [],
|