Browse Source

Merge remote-tracking branch 'origin/master'

ZaiZai 1 year ago
parent
commit
5c5fe1f2ee
1 changed files with 52 additions and 3 deletions
  1. 52 3
      src/views/project/admin/create.vue

+ 52 - 3
src/views/project/admin/create.vue

@@ -38,12 +38,12 @@
                 </el-col>
                 <el-col :span="6">
                     <el-form-item label="开工年:" prop="key5">
-                        <el-date-picker v-model="baseForm.key5" class="block" type="year" placeholder="请选择" />
+                        <el-date-picker ref="startYearRef" v-model="baseForm.key5" class="block" type="year" placeholder="请选择" value-format="YYYY" @change="startYearChange" />
                     </el-form-item>
                 </el-col>
                 <el-col :span="6">
                     <el-form-item label="完工年:" prop="key6">
-                        <el-date-picker v-model="baseForm.key6" class="block" type="year" placeholder="请选择" />
+                        <el-date-picker ref="endYearRef" v-model="baseForm.key6" class="block" type="year" placeholder="请选择" value-format="YYYY" @change="endYearChange" @blur="endYearBlur" />
                     </el-form-item>
                 </el-col>
                 <el-col :span="8">
@@ -207,9 +207,58 @@ const getProType = async () => {
             typeOptions.value = []
         }   
     
+  }
+  const endYearRef = ref(null)
+  const startYearRef = ref(null)
+//开始年
+const startYearChange = (val) => {
+    baseForm.value.key5 = val
+    endYearRef.value?.focus()
+    endYearRef.value?.handleOpen()
+    startYearRef.value?.handleClose()
+}
+
+//结束年
+const endYearChange = (val) => {
+    if (isNullES(val)) {
+        baseForm.value.key5 = ''
     }
+    baseForm.value.key6 = val
+    if (val <= baseForm.value.key5) {
+        window.$message.warning('完工年要大于开工年')
+        baseForm.value.key6 = ''
+        endYearRef.value?.handleOpen()
+    } else {
+        endYearRef.value?.handleClose()
+    }
+}
+//失去焦点
+const endYearBlur = () => {
+    if (isNullES(baseForm.value.key5) || isNullES(baseForm.value.key6)) {
+        baseForm.value.key5 = ''
+        baseForm.value.key6 = ''
+        window.$message.warning('请重新选择完整的范围年份')
+    } else if (baseForm.value.key6 <= baseForm.value.key5) {
+        baseForm.value.key5 = ''
+        baseForm.value.key6 = ''
+        window.$message.warning('完工年要大于开工年')
+    }
+
+  let years = []
+  let startYear = baseForm.value.key5
+  let endYear = baseForm.value.key6
+  for (let year = startYear; year <= endYear; year++) {
+    years.push(
+        {
+            value:year,
+            label:year,
+        },
+    )
+  }
+  yearOptions.value = years
+}
 //选择年份
-const yearOptions = ref([{ value: '2021', label: '2021' }, { value: '2022', label: '2022' }, { value: '2023', label: '2023' }])
+const yearOptions = ref([])
 const selectYear = ref('')
 
 const yearForm = ref({ key1:'', key2: '', key3:'', key4:'', key5:'', key6:'', key7:'', key8:'', key9:'' })