Browse Source

Merge remote-tracking branch 'origin/master'

ZaiZai 2 years ago
parent
commit
cb77499415

+ 16 - 0
src/api/modules/program/annual.js

@@ -33,4 +33,20 @@ export default {
             params: form
         }, msg);
     },
+    //新增年度经营预算
+    async addAnnualBudget(form, msg = true) {
+        return httpApi({
+            url: '/api/blade-control/annualBudget/addAnnualBudget',
+            method: 'post',
+            data: form
+        }, msg);
+    },
+    //编辑
+    async updateAnnualBudget(form, msg = true) {
+        return httpApi({
+            url: '/api/blade-control/annualBudget/updateAnnualBudget',
+            method: 'post',
+            data: form
+        }, msg);
+    },
 }

+ 64 - 11
src/views/program/annual/form.vue

@@ -76,11 +76,11 @@
                             <el-input v-model="row.predictAnnualReturned"/>
                         </template>
                         <template #action="{row,index}">
-                            <el-button size="small" type="primary">
+                            <el-button size="small" type="primary" @click="addRow">
                                 <HcIcon name="add"/>
                                 <span>新增</span>
                             </el-button>
-                            <el-button size="small" type="danger">
+                            <el-button size="small" type="danger" @click="delRow(index)">
                                 <HcIcon name="delete-bin"/>
                                 <span>删除</span>
                             </el-button>
@@ -136,11 +136,11 @@
                             <el-input v-model="row.december"/>
                         </template>
                         <template #action="{row,index}">
-                            <el-button size="small" type="primary">
+                            <el-button size="small" type="primary" @click="addRow1">
                                 <HcIcon name="add"/>
                                 <span>新增</span>
                             </el-button>
-                            <el-button size="small" type="danger">
+                            <el-button size="small" type="danger"  @click="delRow1">
                                 <HcIcon name="delete-bin"/>
                                 <span>删除</span>
                             </el-button>
@@ -154,7 +154,7 @@
                 <HcIcon name="arrow-go-back"/>
                 <span>取消并返回</span>
             </el-button>
-            <el-button size="large" type="primary" hc-btn @click="saveClick">
+            <el-button size="large" type="primary" hc-btn @click="saveClick" :loading="saveLoaing">
                 <HcIcon name="check-double"/>
                 <span>提交保存</span>
             </el-button>
@@ -178,7 +178,15 @@ const dataType = ref(useRoutes?.query?.type ?? '')
 onActivated(() => {
     setFormTabsStyle()
     windowResize()
-    getDetail()
+    dataId.value = useRoutes?.query?.id ?? ''
+    dataType.value = useRoutes?.query?.type ?? ''
+    if(dataId.value.length>0){
+        getDetail()
+    }else{
+       
+        formModel.value={disburseList:[{}],incomeList:[{}]}
+        betweenTime.value=[]
+    }
     getProjectData()
     getIncomeType()
     getBudgetTypeList()
@@ -273,7 +281,8 @@ const formRules = {}
 const betweenTime = ref([])
 const betweenTimeUpdate = ({arr, query}) => {
     betweenTime.value = arr
-    //formModel.value.betweenTime = query
+    formModel.value.budgetStartTime = arr[0]
+    formModel.value.budgetEndTime = arr[1] 
 }
 
 //监听浏览器窗口变化
@@ -295,12 +304,25 @@ const tableColumn = [
     {key: 'predictSignDate', name: '预计签单时间', width: '220', align: 'center'},
     {key: 'predictContractMoney', name: '预计新签合同额', width: '180', align: 'center'},
     {key: 'predictAnnualReturned', name: '预计本年度回款额', width: '180', align: 'center'},
-    {key: 'action', name: '操作', width: '170', align: 'center', fixed: 'right'},
+    {key: 'action', name: '操作', width: '200', align: 'center', fixed: 'right'},
 ]
 const tableData = ref([
     {id: 1}, {id: 2},
 ])
-
+const addRow=()=>{
+    formModel.value.incomeList.push({})
+}
+const delRow=(index)=>{
+    formModel.value.incomeList.splice(index, 1)
+ 
+}
+const addRow1=()=>{
+    formModel.value.disburseList.push({})
+}
+const delRow1=(index)=>{
+    formModel.value.disburseList.splice(index, 1)
+ 
+}
 const tableColumn1 = [
     {key: 'budgetSubject', name: '预算科目(一级)', minWidth: '180', align: 'center'},
     {key: 'secondSubject', name: '二级科目', minWidth: '180', align: 'center'},
@@ -316,7 +338,7 @@ const tableColumn1 = [
     {key: 'october', name: '10月', width: '100', align: 'center'},
     {key: 'november', name: '11月', width: '100', align: 'center'},
     {key: 'december', name: '12月', width: '100', align: 'center'},
-    {key: 'action', name: '操作', width: '170', align: 'center', fixed: 'right'},
+    {key: 'action', name: '操作', width: '200', align: 'center', fixed: 'right'},
 ]
 const tableData2 = ref([
     {id: 1}, {id: 2},
@@ -328,9 +350,40 @@ const goBackClick = () => {
     router.back()
 }
 
+//新增
+const addAnnualBudget=async(obj)=>{
+    console.log(obj,'新增');
+    saveLoaing.value=true;
+    const {error, code, data,msg} = await annualApi.addAnnualBudget( obj)
+    saveLoaing.value=false;
+    if (!error && code === 200) {
+        window.$message.success(msg)
+    } 
+
+}
+//修改
+const updateAnnualBudget=async(obj)=>{
+    saveLoaing.value=true;
+    const {error, code, data,msg} = await annualApi.updateAnnualBudget( obj)
+    saveLoaing.value=false;
+    if (!error && code === 200) {
+       window.$message.success(msg)
+    } 
+
+}
 //提交保存
+const saveLoaing=ref(false)
 const saveClick = () => {
-
+    if(formModel.value.disburseList[0]={}){
+        formModel.value.disburseList=[]
+    }else if(formModel.value.incomeList[0]={}){
+        formModel.value.incomeList=[]
+    }
+    if(dataType.value=='edit'){
+      updateAnnualBudget(formModel.value)
+    }else{
+        addAnnualBudget(formModel.value)
+    }
 }
 
 //被卸载时

+ 7 - 4
src/views/program/annual/index.vue

@@ -34,7 +34,7 @@
 </template>
 
 <script setup>
-import {ref,onMounted} from "vue";
+import {ref,onMounted,onActivated} from "vue";
 import annualApi from '~api/program/annual.js';
 import {getArrValue} from "js-fast-way"
 import {delMessage} from "~uti/tools";
@@ -42,11 +42,14 @@ import {useRouter, useRoute} from 'vue-router'
 
 const router = useRouter()
 
-onMounted(()=>{
-    getTableData()
+// onMounted(()=>{
+//     getTableData()
   
-})
+// })
+onActivated(()=>{
+    getTableData()
 
+})
 //计划类型
 const planType = ref([
     {name: '临时计划', key: '1'},