Browse Source

feat 分页组件修改

sys5923812@126.com 1 month ago
parent
commit
5d69b64fc8

+ 7 - 0
src/api/xjc-integratedmachine/plan/careeplan.js

@@ -15,3 +15,10 @@ export function doSaveCareerplan(data) {
     })
 }
 
+export function finishCareerplan(data) {
+    return request({
+        url: '/integratedmachine/careerplan/finishCareerplan',
+        method: 'post',
+        data : data
+    })
+}

+ 9 - 0
src/api/xjc-integratedmachine/plan/estimate.js

@@ -0,0 +1,9 @@
+import request from '@/utils/request'
+
+export function doEstimateSave(data) {
+    return request({
+        url: '/integratedmachine/we/careerplan/doEstimateSave',
+        method: 'post',
+        data : data
+    })
+}

+ 225 - 53
src/views/xjc-integratedmachine/plan/develop_career_plan1.vue

@@ -153,34 +153,37 @@
             </div>
             <div v-show="tabs[10]">
                 综合多方面因素,我科目选择:
-                <el-input v-model="form.selectstrategy" placeholder="例如:物理+化学+政治"
-                ></el-input>
-            </div>
-
-            <div v-show="tabs[11]">
-                高一目标:
-                <el-input v-model="form.goalgrade1"
-                          type="textarea"
-                          placeholder="例如:快速适应高中学习和生活,踏踏实实打好基础。根据自己的实际情况,从职业理想出发,我的选科组合定为物理+化学+政治。">
-                </el-input>
-                高二目标:
+                <el-input v-model="form.selectstrategy" placeholder="例如:物理+化学+政治"></el-input>
 
-                <el-input v-model="form.goalgrade2"
-                          type="textarea"
-                          placeholder="例如:寻求更好的学习方法,力争进入班级前5,年级前100,顺利通过会考,尽全力取得更好的成绩;参加心理、生涯等社团活动,开展研究性学习,学习心理健康知识和技能,提高自己的心理素质和抗压能力。">
-                </el-input>
-
-                高三目标:
-                <el-input v-model="form.goalgrade3"
-                          type="textarea"
-                          placeholder="例如:全力冲刺高考,争取考入目标院校和专业;利用在社团活动中积累的经验和技能,协助心理老师在班级开展心理减压、情绪调节等活动,在此过程中总结经验、反思不足,锻炼自己的专业素养和实践能力,为未来的专业选择和职业发展做好准备。">
-                </el-input>
             </div>
 
+
             <div v-show="tabs[11]">
                 <el-input v-model="form.goalshortterm" type="textarea"
                           placeholder="例如:本科阶段认真学习专业知识,为以后读研和工作打下扎实的基础;积极参加社会实践;顺利毕业并获得学士学位。计划读研,方向为应用心理学,研究生阶段完成专业课程和选修课程学习;积极参加课题研究,争取发表高质量论文;顺利毕业并获得硕士学位。">
                 </el-input>
+
+                <div>
+                    高一目标:
+                    <el-input v-model="form.goalgrade1"
+                              type="textarea"
+                              placeholder="例如:快速适应高中学习和生活,踏踏实实打好基础。根据自己的实际情况,从职业理想出发,我的选科组合定为物理+化学+政治。">
+                    </el-input>
+                    高二目标:
+
+                    <el-input v-model="form.goalgrade2"
+                              type="textarea"
+                              placeholder="例如:寻求更好的学习方法,力争进入班级前5,年级前100,顺利通过会考,尽全力取得更好的成绩;参加心理、生涯等社团活动,开展研究性学习,学习心理健康知识和技能,提高自己的心理素质和抗压能力。">
+                    </el-input>
+
+                    高三目标:
+                    <el-input v-model="form.goalgrade3"
+                              type="textarea"
+                              placeholder="例如:全力冲刺高考,争取考入目标院校和专业;利用在社团活动中积累的经验和技能,协助心理老师在班级开展心理减压、情绪调节等活动,在此过程中总结经验、反思不足,锻炼自己的专业素养和实践能力,为未来的专业选择和职业发展做好准备。">
+                    </el-input>
+                </div>
+
+
             </div>
 
             <div v-show="tabs[12]">
@@ -213,10 +216,132 @@
 
                           placeholder="例如:请老师一起分析自己目前的科目学习情况及提升方法,尽快制定详细的学习计划,包括每天的学习时间、内容、方法和目标,以及每周的总结和反思等,坚持执行和检查。">
                 </el-input>
+                <el-button @click="finish" v-show="form.status == 0 || form.status == 1 || form.status == undefined">制定完成</el-button>
             </div>
         </div>
 
-        <el-button @click="save">保存</el-button>
+
+        <el-button @click="save" v-show="(form.status == 0 || form.status == undefined) && !tabs[16]">保存</el-button>
+
+
+        <el-dialog v-model="openNotice" width="500px" append-to-body>
+            建议:....
+            <el-button @click="closeNotice">关闭</el-button>
+        </el-dialog>
+
+        <el-dialog v-model="openEstimate" width="900px" append-to-body>
+            <table border="1" style="width:800px">
+                <tr>
+                    <td>评估时间</td>
+                    <td>评估内容</td>
+                    <td>达成度</td>
+                    <td>保持/改进</td>
+                </tr>
+                <tr>
+                    <td rowspan="6">
+                        2025/07/02
+                    </td>
+                    <td>品格发展目标</td>
+                    <td>
+                        <el-select v-model="pgForm.v11">
+                            <el-option v-for="(item,index) in achievement_rate" :label="item.label" :value="item.value">
+                            </el-option>
+                        </el-select>
+                    </td>
+                    <td>
+                        <el-select v-model="pgForm.v12">
+                            <el-option v-for="(item,index) in maintain_improvement" :label="item.label"
+                                       :value="item.value">
+                            </el-option>
+                        </el-select>
+                    </td>
+                </tr>
+                <tr>
+                    <td>学业发展目标</td>
+                    <td>
+                        <el-select v-model="pgForm.v21">
+                            <el-option v-for="(item,index) in achievement_rate" :label="item.label" :value="item.value">
+                            </el-option>
+                        </el-select>
+                    </td>
+                    <td>
+                        <el-select v-model="pgForm.v22">
+                            <el-option v-for="(item,index) in maintain_improvement" :label="item.label"
+                                       :value="item.value">
+                            </el-option>
+                        </el-select>
+                    </td>
+                </tr>
+                <tr>
+                    <td>身心健康目标</td>
+                    <td>
+                        <el-select v-model="pgForm.v31">
+                            <el-option v-for="(item,index) in achievement_rate" :label="item.label" :value="item.value">
+                            </el-option>
+                        </el-select>
+                    </td>
+                    <td>
+                        <el-select v-model="pgForm.v32">
+                            <el-option v-for="(item,index) in maintain_improvement" :label="item.label"
+                                       :value="item.value">
+                            </el-option>
+                        </el-select>
+                    </td>
+                </tr>
+                <tr>
+                    <td>艺术素养目标</td>
+                    <td>
+                        <el-select v-model="pgForm.v41">
+                            <el-option v-for="(item,index) in achievement_rate" :label="item.label" :value="item.value">
+                            </el-option>
+                        </el-select>
+                    </td>
+                    <td>
+                        <el-select v-model="pgForm.v42">
+                            <el-option v-for="(item,index) in maintain_improvement" :label="item.label"
+                                       :value="item.value">
+                            </el-option>
+                        </el-select>
+                    </td>
+                </tr>
+                <tr>
+                    <td>生涯发展目标</td>
+                    <td>
+                        <el-select v-model="pgForm.v51">
+                            <el-option v-for="(item,index) in achievement_rate" :label="item.label" :value="item.value">
+                            </el-option>
+                        </el-select>
+                    </td>
+                    <td>
+                        <el-select v-model="pgForm.v52">
+                            <el-option v-for="(item,index) in maintain_improvement" :label="item.label"
+                                       :value="item.value">
+                            </el-option>
+                        </el-select>
+                    </td>
+                </tr>
+                <tr>
+                    <td>事件创新目标</td>
+                    <td>
+                        <el-select v-model="pgForm.v61">
+                            <el-option v-for="(item,index) in achievement_rate" :label="item.label" :value="item.value">
+                            </el-option>
+                        </el-select>
+                    </td>
+                    <td>
+                        <el-select v-model="pgForm.v62">
+                            <el-option v-for="(item,index) in maintain_improvement" :label="item.label"
+                                       :value="item.value">
+                            </el-option>
+                        </el-select>
+                    </td>
+                </tr>
+            </table>
+
+
+            <el-button @click="saveEstimate">保存评估</el-button>
+            <el-button @click="editEstimate">修改规划书</el-button>
+        </el-dialog>
 
 
     </div>
@@ -225,12 +350,18 @@
 </template>
 
 <script setup>
-    import {careerplan, doSaveCareerplan} from '@/api/xjc-integratedmachine/plan/careeplan.js'
+    import {careerplan, doSaveCareerplan, finishCareerplan} from '@/api/xjc-integratedmachine/plan/careeplan.js'
 
+    import {doEstimateSave} from '@/api/xjc-integratedmachine/plan/estimate.js'
+
+    const {proxy} = getCurrentInstance()
+    const {achievement_rate, maintain_improvement} = proxy.useDict('achievement_rate', 'maintain_improvement')
     const form = ref({})
 
     const tabs = ref([
-        false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false,
+        false, false, false, false, false, false,
+        false, false, false, false, false, false,
+        false, false, false, false, false
     ])
 
     function showTab(index) {
@@ -245,48 +376,89 @@
 
     const content = ref({})
 
-    function init() {
+    function list() {
         careerplan({id: null}).then(resp => {
             form.value = resp
             if (form.value.careerplan != null) {
-                form.careergoals = form.value.careerplan.careergoals
-                form.careeranalysis = form.value.careerplan.careeranalysis
-                form.majoranalysis = form.value.careerplan.majoranalysis
-                form.unianalysis = form.value.careerplan.unianalysis
-                form.careergoal1 = form.value.careerplan.careergoal1
-                form.careergoal2 = form.value.careerplan.careergoal2
-                form.careergoal3 = form.value.careerplan.careergoal3
-                form.majorgoal1 = form.value.careerplan.majorgoal1
-                form.majorgoal2 = form.value.careerplan.majorgoal2
-                form.majorgoal3 = form.value.careerplan.majorgoal3
-                form.unigoal1 = form.value.careerplan.unigoal1
-                form.unigoal2 = form.value.careerplan.unigoal2
-                form.unigoal3 = form.value.careerplan.unigoal3
-                form.mustselect1 = form.value.careerplan.mustselect1
-                form.mustselect2 = form.value.careerplan.mustselect2
-                form.mustselect3 = form.value.careerplan.mustselect3
-                form.selectstrategy = form.value.careerplan.selectstrategy
-                form.goalgrade1 = form.value.careerplan.goalgrade1
-                form.goalgrade2 = form.value.careerplan.goalgrade2
-                form.goalgrade3 = form.value.careerplan.goalgrade3
-                form.goalmidterm = form.value.careerplan.goalmidterm
-                form.goallongterm = form.value.careerplan.goallongterm
-                form.abstale = form.value.careerplan.abstale
-                form.strategy = form.value.careerplan.strategy
-                form.immediatestrategy = form.value.careerplan.immediatestrategy
+                form.value.id = form.value.careerplan.id
+                form.value.selfinterest = form.value.careerplan.selfinterest
+                form.value.selfability = form.value.careerplan.selfability
+                form.value.selfvalue = form.value.careerplan.selfvalue
+                form.value.careergoals = form.value.careerplan.careergoals
+                form.value.careeranalysis = form.value.careerplan.careeranalysis
+                form.value.majoranalysis = form.value.careerplan.majoranalysis
+                form.value.unianalysis = form.value.careerplan.unianalysis
+                form.value.careergoal1 = form.value.careerplan.careergoal1
+                form.value.careergoal2 = form.value.careerplan.careergoal2
+                form.value.careergoal3 = form.value.careerplan.careergoal3
+                form.value.majorgoal1 = form.value.careerplan.majorgoal1
+                form.value.majorgoal2 = form.value.careerplan.majorgoal2
+                form.value.majorgoal3 = form.value.careerplan.majorgoal3
+                form.value.unigoal1 = form.value.careerplan.unigoal1
+                form.value.unigoal2 = form.value.careerplan.unigoal2
+                form.value.unigoal3 = form.value.careerplan.unigoal3
+                form.value.mustselect1 = form.value.careerplan.mustselect1
+                form.value.mustselect2 = form.value.careerplan.mustselect2
+                form.value.mustselect3 = form.value.careerplan.mustselect3
+                form.value.selectstrategy = form.value.careerplan.selectstrategy
+                form.value.goalgrade1 = form.value.careerplan.goalgrade1
+                form.value.goalgrade2 = form.value.careerplan.goalgrade2
+                form.value.goalgrade3 = form.value.careerplan.goalgrade3
+                form.value.goalmidterm = form.value.careerplan.goalmidterm
+                form.value.goallongterm = form.value.careerplan.goallongterm
+                form.value.abstale = form.value.careerplan.abstale
+                form.value.strategy = form.value.careerplan.strategy
+                form.value.immediatestrategy = form.value.careerplan.immediatestrategy
+                form.value.status = form.value.careerplan.status
+                pgForm.value.careerplanId = form.value.careerplan.id
             }
-            console.log("$$$$", resp)
         })
     }
 
     function save() {
+        form.value.status = 0
         doSaveCareerplan(form.value).then(resp => {
-            console.log("%%%%", resp)
+            list()
         })
     }
 
+    let openNotice = ref(false)
+    let openEstimate = ref(false)
+
+    function finish() {
+        form.value.status = 1
+        doSaveCareerplan(form.value).then(resp => {
+            list()
+        })
+        openNotice.value = true
+    }
+
+    function closeNotice() {
+        openNotice.value = false
+        openEstimate.value = true
+
+    }
+
+    //---------------------------------
+    const pgForm = ref({})
+
+    function saveEstimate() {
+        doEstimateSave(pgForm.value).then(resp => {
+            console.log("###", resp)
+        })
+    }
+
+    function editEstimate() {
+        finishCareerplan(form.value).then(resp => {
+            list()
+            showTab(0)
+            openEstimate.value = false
+        })
+    }
+
+
     onMounted(() => {
-        init()
+        list()
         showTab(0)
     })
 </script>

+ 2 - 2
vite.config.js

@@ -46,8 +46,8 @@ export default defineConfig(({ mode, command }) => {
       proxy: {
         // https://cn.vitejs.dev/config/#server-proxy
         '/dev-api': {
-          // target: 'http://localhost:8080',
-          target: 'http://192.168.1.13:8080',//临时11
+          target: 'http://localhost:8080',
+          // target: 'http://192.168.1.13:8080',//临时11
           changeOrigin: true,
           rewrite: (p) => p.replace(/^\/dev-api/, '')
         }