瀏覽代碼

创建项目修改

duy 1 年之前
父節點
當前提交
e128383696
共有 1 個文件被更改,包括 104 次插入37 次删除
  1. 104 37
      src/views/project/admin/create.vue

+ 104 - 37
src/views/project/admin/create.vue

@@ -3,7 +3,7 @@
         <template #header>
             <div class="flex-1 text-center text-[24px] font-bold">项目信息填写</div>
         </template>
-        <el-form :model="baseForm" label-width="auto" :rules="baseFormRules" size="large" label-position="left">
+        <el-form ref="formRef" :model="baseForm" label-width="auto" :rules="baseFormRules" size="large" label-position="left">
             <el-row :gutter="20">
                 <el-col :span="12">
                     <el-form-item label="项目名称:" prop="name">
@@ -37,9 +37,9 @@
                     </el-form-item>
                 </el-col>
                 <el-col :span="6">
-                    <el-form-item label="总投资:" prop="allInvest">
+                    <el-form-item label="总投资:" prop="allInvestMoney">
                         <el-input
-                            v-model="yearForm.allInvest" placeholder="请输入" clearable
+                            v-model="baseForm.allInvestMoney" placeholder="请输入" clearable
                             :formatter="formatInput"
                         >
                             <template #append>亿元</template>
@@ -49,7 +49,7 @@
                 <el-col :span="6">
                     <el-form-item label="十四五计划投资:" prop="fourteenFiveInvest">
                         <el-input
-                            v-model="yearForm.fourteenFiveInvest" placeholder="请输入" clearable
+                            v-model="baseForm.fourteenFiveInvest" placeholder="请输入" clearable
                             :formatter="formatInput"
                         >
                             <template #append>亿元</template>
@@ -105,7 +105,7 @@
                     <el-option v-for="(item, index) in yearOptions" :key="item.value" :label="item.label" :value="item.value" />
                 </el-select>
             </template>
-            <el-form :model="yearOptions[selectIndex].yearForm" label-width="auto" :rules="yearFormRules" class="mt-3" label-position="left" size="large">
+            <el-form :model="yearOptions[selectIndex].yearForm" label-width="auto" class="mt-3" label-position="left" size="large">
                 <el-form-item label="全年计划投资:" prop="yearlyInvest" class="w-100">
                     <el-input
                         v-model="yearOptions[selectIndex].yearForm.yearlyInvest" placeholder="请输入" clearable
@@ -146,7 +146,7 @@
                     <el-input v-model="yearOptions[selectIndex].yearForm.yearlyTarget" placeholder="请输入" clearable type="textarea" />
                 </el-form-item>
             </el-form>
-            <el-form :model="yearOptions[selectIndex]?.yearForm" label-width="auto" :rules="yearFormRules" class="mt-3" label-position="left">
+            <el-form :model="yearOptions[selectIndex]?.yearForm" label-width="auto" class="mt-3" label-position="left">
                 <div class="hc-form-item-title">各季度工作计划:</div>
                 <el-form-item label="一季度:" prop="onePlan">
                     <el-input v-model="yearOptions[selectIndex].yearForm.onePlan" placeholder="请输入" clearable type="textarea" />
@@ -171,10 +171,9 @@
 </template>
 
 <script setup>
-import { computed, onMounted, ref, watch } from 'vue'
+import { onMounted, ref, watch } from 'vue'
 import { isNullES } from 'js-fast-way'
-import { getDictionary } from '~api/dictbiz'
-import { arrIndex, formValidate, getArrValue, getObjValue, isArrItem } from 'js-fast-way'
+import { arrIndex, formValidate, getArrValue, getObjValue } from 'js-fast-way'
 import mainApi from '~api/project/project'
 import { getDictionaryData } from '~src/utils/tools'
 
@@ -197,22 +196,15 @@ watch(() => props.form, (data) => {
 
 //渲染完成
 onMounted(async () => {
-    console.log(formInfo.value, '11111')
+  
    await getProStation()
    await getProType()
    getDataApi()
 })
 const getDataApi = async () => {
-
     const form = getObjValue(formInfo.value)
     if (!isNullES(form.id)) {
         getProDetail(form.id)
-        // baseForm.value = {
-        //     ...form,
-        //     id: form.id,
-          
-        // }
-     
     }
 }
 const getProDetail = async (id)=>{
@@ -221,13 +213,28 @@ const getProDetail = async (id)=>{
  
     if (!error && code === 200) {
         baseForm.value = getObjValue(data)
+        let list = getArrValue(baseForm.value?.list)
+        if (list.length > 0) {
+            selectYear.value = list[0].planYear
+        }
         baseForm.value.startYear = data.startYear.toString()
         baseForm.value.endYear = data.endYear.toString()
+        yearOptions.value = []
+        list.forEach((ele)=>{
+            yearOptions.value.push({
+                value:ele.planYear,
+                label:ele.planYear,
+                yearForm:ele,
+            })
+        
+        })
+    
+        
     } else {
         baseForm.value = {}
     }
 }
-const baseForm = ref({ })
+const baseForm = ref({ buildScaleUnit:'1' })
 const baseFormRules = {
     name: {
         required: true,
@@ -264,7 +271,7 @@ const getProType = async () => {
   const startYearRef = ref(null)
 //开始年
 const startYearChange = (val) => {
-    baseForm.value.startYear = val
+    baseForm.value.startYear = val.toString()
     endYearRef.value?.focus()
     endYearRef.value?.handleOpen()
     startYearRef.value?.handleClose()
@@ -275,7 +282,7 @@ const endYearChange = (val) => {
     if (isNullES(val)) {
         baseForm.value.startYear = ''
     }
-    baseForm.value.endYear = val
+    baseForm.value.endYear = val.toString()
 
 }
 //失去焦点
@@ -296,6 +303,16 @@ const endYearBlur = () => {
             label:year,
             yearForm:{
                 planYear:year,
+                oneInvest:'',
+                twoInvest:'',
+                threeInvest:'',
+                fourInvest:'',
+                yearlyTarget:'',
+                onePlan:'',
+                twoPlan:'',
+                threePlan:'',
+                fourPlan:'',
+               
             },
         },
     )
@@ -305,14 +322,28 @@ const endYearBlur = () => {
 }
 //选择年份
 const selectIndex = ref(0)
-const yearOptions = ref([{ yearForm:{} }])
+const yearOptions = ref([{
+     yearForm:{
+        yearlyInvest:'',
+        oneInvest:'',
+        twoInvest:'',
+        threeInvest:'',
+        fourInvest:'',
+        yearlyTarget:'',
+        onePlan:'',
+        twoPlan:'',
+        threePlan:'',
+        fourPlan:'',
+        planYear:'',
+     }, 
+    }])
 const selectYear = ref('')
 const changeYear = (val)=>{
     selectIndex.value = arrIndex(yearOptions.value, 'value', val)
     console.log( selectIndex.value, '111111')
 }
-const yearForm = ref({ key1:'', key2: '', key3:'', key4:'', key5:'', key6:'', key7:'', key8:'', key9:'', key10:'' })
-const yearFormRules = {}
+
+
 const formatInput = (value)=>{
   // 如果输入为空,则直接返回空字符串
   if (!value) {
@@ -331,12 +362,12 @@ const formatInput = (value)=>{
 
 //监听
 watch(() => [
-yearForm.value.key2,
-yearForm.value.key3,
-yearForm.value.key4,
-yearForm.value.key5,
+yearOptions.value[selectIndex.value].yearForm.oneInvest,
+yearOptions.value[selectIndex.value].yearForm.twoInvest,
+yearOptions.value[selectIndex.value].yearForm.threeInvest,
+yearOptions.value[selectIndex.value].yearForm.fourInvest,
 ], ([key2, key3, key4, key5]) => {
-    yearForm.value.key1 = Number(key2) + Number(key3) + Number(key4) + Number(key5)
+    yearOptions.value[selectIndex.value].yearForm.yearlyInvest = Number(key2) + Number(key3) + Number(key4) + Number(key5)
 },
 )
 
@@ -348,9 +379,11 @@ const cancelClick = () => {
 }
 
 //创建
+const formRef = ref(null)
 const creatLoading = ref(false)
 const createClick = async () => {
     const form = formInfo.value
+    console.log(form)
     // if (isNullES(form.id)) cancelClick()
     console.log(baseForm.value, 'baseForm.value')
     console.log(yearOptions.value, '111111')
@@ -359,6 +392,8 @@ const createClick = async () => {
         let yearForm = ele.yearForm
         list.push(yearForm)
     })
+    const isValidate = await formValidate(formRef.value)
+    if (!isValidate) return false
     creatLoading.value = true
         //发起请求
         const { error, code, msg } = await mainApi.add({
@@ -369,10 +404,24 @@ const createClick = async () => {
     creatLoading.value = false
     if (!error && code === 200) {
         window?.$message?.success(msg)
-        if (!isNullES(form.id)) {
+        console.log(form.id, 'form.id')
+        if (isNullES(form.id)) {
             baseForm.value = {}
-            yearOptions.value = [{}]
-            cancelClick()
+            yearOptions.value = [{
+                yearForm:{
+                yearlyInvest:'',
+                oneInvest:'',
+                twoInvest:'',
+                threeInvest:'',
+                fourInvest:'',
+                yearlyTarget:'',
+                onePlan:'',
+                twoPlan:'',
+                threePlan:'',
+                fourPlan:'',
+            },
+            }]
+            // cancelClick()
         }
     } else {
         window.$message.error(msg ?? '操作失败')
@@ -382,12 +431,30 @@ const createClick = async () => {
 }
 
 //保存
-const saveClick = () => {
-    // const form = formInfo.value
-    // if (isNullES(form.id)) cancelClick()
-    console.log('保存')
-    console.log(baseForm.value, 'baseForm.value')
-console.log(yearOptions.value, '111111')
+const saveClick = async () => {
+    let list = []
+    yearOptions.value.forEach((ele)=>{
+        let yearForm = ele.yearForm
+        list.push(yearForm)
+    })
+    const isValidate = await formValidate(formRef.value)
+    if (!isValidate) return false
+    creatLoading.value = true
+        //发起请求
+        const { error, code, msg } = await mainApi.update({
+            ...baseForm.value,
+            list,
+    })
+    //判断状态
+    creatLoading.value = false
+    if (!error && code === 200) {
+        window?.$message?.success(msg)
+     
+    } else {
+        window.$message.error(msg ?? '操作失败')
+    }
+
+    console.log('创建')
 }
 </script>