Quellcode durchsuchen

开启暂停部门月度计划

duy vor 2 Jahren
Ursprung
Commit
65d7318d57

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

@@ -65,6 +65,22 @@ export default {
             params: form
         }, msg);
     },
+    //开启计划保存
+    async savePlanInOpen(form, msg = true) {
+        return httpApi({
+            url: '/api/blade-control/departmentPlanLog/savePlanInOpen',
+            method: 'post',
+            data: form
+        }, msg);
+    },
+    //暂停计划保存
+    async savePlanInPause(form, msg = true) {
+        return httpApi({
+            url: '/api/blade-control/departmentPlanLog/savePlanInPause',
+            method: 'post',
+            data: form
+        }, msg);
+    },
 
 
 }

+ 1 - 1
src/views/program/project/form.vue

@@ -229,7 +229,7 @@ const tableColumn = [
     {key: 'planTarget', name: '完成指标', minWidth: '200', align: 'center', isTooltip: true},
     {key: 'key7', name: '计划起止日期', width: '280', align: 'center'},
     {key: 'planDays', name: '预计工作量(小数/整数/天)', width: '160', align: 'center'},
-    {key: 'postType', name: '投入岗位类型(日单价)', width: '160', align: 'center'},
+    {key: 'postTypeValue', name: '投入岗位类型(日单价)', width: '160', align: 'center'},
     {key: 'staffCount', name: '投入人员数量', width: '160', align: 'center'},
     {key: 'returnedValue', name: '关联回款里程碑', minWidth: '200', isTooltip: true},
     {key: 'action', name: '操作', width: '280', align: 'center', fixed: 'right'},

+ 59 - 23
src/views/program/section/form.vue

@@ -27,10 +27,11 @@
 
         <!--开启计划-->
         <HcDialog bgColor="#ffffff" isToBody title="开启计划" widths="40rem" saveText="保存"
-                  :show="openPlanModal" @close="openPlanCloseClick" @save="openPlanSaveClick"
+                  :show="openPlanModal" @close="openPlanCloseClick" @save="openPlanSaveClick" :loading="openPlanSaveLoaing"
         >
-            <HcListItem title="原计划起止日期:" :content=" openPlan.planStartTime+'~'+openPlan.planEndTime"/>
-            <HcListItem title="中途暂停计划起止日期:" :content="openPlan.pausePlanStartTime+'~'+openPlan.pausePlanEndTime"/>
+            <HcListItem title="原计划起止日期:" :content="openPlan.planStartTime+'~'+openPlan.planEndTime"/>
+            <HcListItem title="中途暂停计划起止日期:" :content="openPlan.pausePlanStartTime+'~'+openPlan.pausePlanEndTime" v-if="openPlan?.openPlanStartTime"/>
+            <HcListItem title="中途暂停计划起止日期:" content="" v-else/>
             <HcListItem title="中途开启计划起止日期:" isCenter>
                 <HcDatePicker :dates="betweenTime" @change="betweenTimeUpdate"/>
             </HcListItem>
@@ -41,10 +42,10 @@
                 <span class="text-red text-xl">{{ openPlan?.lastOpenPlanStartEndDays }}</span>
             </HcListItem>
             <HcListItem title="上一次计划截止暂停阶段起止工时(天):" isCenter>
-                <span class="text-red text-xl">6</span>
+                <span class="text-red text-xl">{{ openPlan?.realWorkDays }}</span>
             </HcListItem>
             <HcListItem title="中途暂停之后开启计划起止工时(天):" isCenter>
-                <span class="text-red text-xl">{{ openPlan?.lastOpenPlanStartEndDays }}</span>
+                <span class="text-red text-xl">{{ openPlan?.openPlanStartEndDays }}</span>
             </HcListItem>
             <div class="mt-8">
                 <el-alert type="warning" title="提示:" description="该计划暂停之后开启的工时加上暂停前的工时已经超出原计划工时,是否安排不合理,请从新安排!" :closable="false"/>
@@ -55,19 +56,20 @@
         <HcDialog bgColor="#ffffff" isToBody title="暂停计划" widths="40rem" saveText="保存"
                   :show="pausePlanModal" @close="pausePlanCloseClick" @save="pausePlanSaveClick"
         >
-            <HcListItem title="原计划起止日期:" content="2023-02-23~2023-02-28"/>
+            <HcListItem title="原计划起止日期:"  :content="pausePlan.planStartTime+'~'+pausePlan.planEndTime"/>
             <HcListItem title="中途暂停计划日期:" isCenter>
-                <el-date-picker type="date" class="block" value-format="YYYY-MM-DD"/>
+                <el-date-picker type="date" class="block" value-format="YYYY-MM-DD" v-model="pausePlan.pauseTime"/>
             </HcListItem>
-            <HcListItem title="中途开启计划起止日期:" content="2023-02-23~2023-02-28"/>
+            <HcListItem title="中途开启计划起止日期:" :content="pausePlan?.openPlanStartTime+'~'+pausePlan?.openPlanEndTime" v-if="pausePlan?.openPlanStartTime"/>
+            <HcListItem title="中途开启计划起止日期:" content="" v-else/>
             <HcListItem title="原计划起止工时(天):" isCenter>
-                <span class="text-red text-xl">6</span>
+                <span class="text-red text-xl">{{ pausePlan?.planDays }}</span>
             </HcListItem>
-            <HcListItem title="计划截止暂停阶段起止工时(天):" isCenter>
-                <span class="text-red text-xl">6</span>
+            <HcListItem title="上一次计划截止暂停阶段起止工时(天):" isCenter>
+                <span class="text-red text-xl">{{ pausePlan?.realWorkDays }}</span>
             </HcListItem>
             <HcListItem title="中途暂停之后开启计划起止工时(天):" isCenter>
-                <span class="text-red text-xl">6</span>
+                <span class="text-red text-xl">{{  pausePlan?.openPlanStartEndDays }}</span>
             </HcListItem>
         </HcDialog>
 
@@ -79,6 +81,7 @@
 import {useRouter,useRoute} from 'vue-router'
 import {onActivated, ref,watch} from "vue";
 import sectionApi from '~api/program/section.js';
+import projectApi from '~api/program/project.js';
 import {getArrValue,getObjValue,formValidate, arrIndex} from "js-fast-way"
 import { getuserList} from "~api/other";
 const router = useRouter()
@@ -211,14 +214,26 @@ const getPlanInOpen=async(id)=>{
 const openPlanCloseClick = () => {
     openPlanModal.value = false
 }
-const openPlanSaveClick = () => {
-
+const openPlanSaveLoaing=ref(false)
+const openPlanSaveClick = async() => {
+    openPlanSaveLoaing.value=true
+    const {error, code, data,msg} = await sectionApi.savePlanInOpen( openPlan.value)
+    openPlanSaveLoaing.value=false
+    if (!error && code === 200) {
+        window.$message.success(msg)
+        getDepartmentPlan().then()
+        openPlanModal.value = false
+    } 
 }
 
 //日期时间被选择
 const betweenTime = ref(null)
-const betweenTimeUpdate = ({arr, query}) => {
+const betweenTimeUpdate =async ({arr, query}) => {
     betweenTime.value = arr
+    openPlan.value.openPlanStartTime=arr[0]
+    openPlan.value.openPlanEndTime=arr[1]
+    let day=await getWorkDays(openPlan.value.openPlanStartTime,openPlan.value.openPlanEndTime)
+    openPlan.value.openPlanStartEndDays=day
 }
 
 
@@ -244,10 +259,31 @@ const getPlanInPause=async(id)=>{
 const pausePlanCloseClick = () => {
     pausePlanModal.value = false
 }
-const pausePlanSaveClick = () => {
-
+const pauseSaveLoading=ref(false)
+const pausePlanSaveClick = async() => {
+    console.log(pausePlan.value,'pausePlan');
+    pauseSaveLoading.value=true
+    const {error, code, data,msg} = await sectionApi.savePlanInPause( pausePlan.value)
+    pauseSaveLoading.value=false
+    if (!error && code === 200) {
+        window.$message.success(msg)
+        getDepartmentPlan().then()
+        pausePlanModal.value = false
+    } 
 }
+//获取起止日期
 
+const getWorkDays=async(startDate,endDate)=>{
+        const {error, code, data,msg} = await projectApi.getWorkDays( {
+            startDate,
+            endDate
+        })
+        if (!error && code === 200) {
+            if(data){
+                return data
+            }
+        }
+}
 
 //返回
 const goBackClick = () => {
@@ -256,13 +292,13 @@ const goBackClick = () => {
 const saveLoaing=ref(false)
 //提交保存
 const saveClick = async() => {
-    console.log(tableData.value,'tableData');
     saveLoaing.value=true
-        const {error, code, data,msg} = await sectionApi.updateDepartmentPlan( {departmentPlanList:tableData.value})
-        saveLoaing.value=false
-        if (!error && code === 200) {
-            window.$message.success(msg)
-        } 
+    const {error, code, data,msg} = await sectionApi.updateDepartmentPlan( {departmentPlanList:tableData.value})
+    saveLoaing.value=false
+    if (!error && code === 200) {
+        window.$message.success(msg)
+        getDepartmentPlan().then()
+    } 
 
 }
 </script>