tangjunhao 3 сар өмнө
parent
commit
d452660f4b

+ 23 - 11
src/router/index.js

@@ -90,18 +90,30 @@ const router = createRouter({
     ]
 })
 //修改动态网页标题 beforeEach 导航钩子,路由改变前触发
-router.beforeEach((to,from,next) =>{
-    //window.document.title = to.meta.title;
-    let token = getToken2();
-    if(!token && to.name !== 'login'){
-      next({ name: 'login' });
-    }
-    window.document.title = to.name;
+router.beforeEach((to, from, next) => {
+  const token = getToken2(); // 获取 token
+  
+  // 定义不需要登录的白名单路由
+  const whiteList = ['login', 'register'];
+  
+  // 如果用户有 token,直接放行
+  if (token) {
+    document.title = to.name || '默认标题'; // 设置页面标题
     next();
-  })
-  router.afterEach((to,from,next) =>{
-    window.scrollTo(0,0);
-  })
+  } 
+  // 如果没有 token,并且目标页面不在白名单里,跳转到登录页
+  else if (!whiteList.includes(to.name)) {
+    next({ name: 'login' });
+  }
+  else {
+    document.title = to.name || '默认标题';
+    next();
+  }
+});
+// afterEach 不需要 next 参数
+router.afterEach(() => {
+  window.scrollTo(0, 0); // 页面滚动到顶部
+});
 export default router;
 
 

+ 2 - 1
src/style/index.css

@@ -826,7 +826,8 @@ width: 150px;
   padding-right: 10px;
 }
 .dlheight{
-  height: 400px;
+  /* height: 400px; */
+  max-height: 400px;
   overflow-y: auto;
 
 }

+ 3 - 2
src/views/login/index.vue

@@ -18,6 +18,7 @@
             :model="loginForm"
             :rules="loginRules"
             ref="loginFormRef"
+            hide-required-asterisk
             @keyup.enter="handleLogin"
           >
             <el-form-item prop="username" label="邮箱:" style="margin-bottom: 20px;">
@@ -103,11 +104,11 @@ const isverify = ref(false)
 // 表单验证规则
 const loginRules = reactive({
   username: [
-    { required: true, message: '请输入用户名', trigger: 'blur' },
+    { required: true, message: '', trigger: 'blur' },
     { min: 3, max: 18, message: '长度在 3 到 18 个字符', trigger: 'blur' }
   ],
   password: [
-    { required: true, message: '请输入密码', trigger: 'blur' },
+    { required: true, message: '', trigger: 'blur' },
     { min: 6, max: 18, message: '长度在 6 到 18 个字符', trigger: 'blur' }
   ]
 })

+ 38 - 5
src/views/login/register.vue

@@ -58,7 +58,7 @@
           </el-form>
 
           <div class="register-footer">
-            <div class="register-prompt">已有账号?点击</div>
+            <div class="login-prompt">已有账号?点击</div>
             <el-link type="primary" @click="goToLogin">登录</el-link>
           </div>
 
@@ -141,6 +141,10 @@ const handleRegister = () => {
     
   })
 }
+
+const goToLogin = () => {
+  router.push({ path: '/login' })
+}
 </script>
 
 <style lang="scss" scoped>
@@ -189,22 +193,51 @@ const handleRegister = () => {
   }
 }
 
+.register-card {
+  // 设置label文字大小
+  :deep(.el-form-item__label) {
+    font-size: 18px;
+    line-height: 42px; /* 保持垂直居中 */
+    color: #333; /* 可选:设置label颜色 */
+  }
+  
+  // 设置输入框文字大小
+  :deep(.el-input__inner) {
+    font-size: 18px;
+    height: 42px; /* 可选:调整输入框高度 */
+    line-height: 42px; /* 保持垂直居中 */
+  }
+
+  :deep(.el-input__wrapper) {
+    background-color: transparent;
+    border: 1px solid #B3B3B3;
+  }
+  
+  // 设置placeholder文字大小
+  :deep(.el-input__inner::placeholder) {
+    font-size: 14px;
+  }
+}
+
 .register-header {
   text-align: start;
   width: 75%;
 
   h2 {
     margin: 0;
-    font-size: 24px;
-    font-weight: 500;
+    font-size: 28px;
+    font-weight: bold;
     color: #2D2D2D;
     margin: 10px 0;
+    font-style: normal;
+    text-transform: none;
+    letter-spacing: 1px;
   }
 }
 
 .login-logo {
   width: 70px;
-  margin-bottom: 10px;
+  margin-bottom: 18px;
 }
 
 .register-btn {
@@ -221,7 +254,7 @@ const handleRegister = () => {
   margin-top: 10px;
 }
 
-.register-prompt {
+.login-prompt {
   margin-right: 5px;
   font-size: 13px;
 }

+ 3 - 0
src/views/openpage.vue

@@ -68,6 +68,9 @@ const activeIndex=computed(()=>{
 const gohome = () => {
   let objlist = JSON.parse(sessionStorage.getItem("objlist"));
   // console.log("objlist的值:",objlist);
+  if(!objlist){
+    return
+  }
   router.push({path:"/home",query:{id:'2',pid:objlist.pid}});
 }
 

+ 20 - 8
src/views/titlecomponent/Doptimize.vue

@@ -13,6 +13,16 @@
                     </el-option>
                   </el-select>
                 </el-form-item>
+                <el-form-item label="优化进程数:"  :label-width="formLabelWidth200">
+                  <el-input v-model="youhua.myid_number" :step="100" :min="0" :max="1000" controls-position="right" />
+                </el-form-item>
+                <el-form-item label="高级设置:"  :label-width="formLabelWidth200">
+                  <el-radio-group v-model="set">
+                    <el-radio label="1">开</el-radio>
+                    <el-radio label="0">关</el-radio>
+                  </el-radio-group>
+                </el-form-item>
+                <el-form v-show="set === '1'">
                 <el-form-item label="试验设计方法:"  :label-width="formLabelWidth200">
                 <!-- <el-input v-model="youhua.ndoe" :step="100" :min="0" :max="1000" controls-position="right" /> -->
                 <el-select v-model="youhua.ndoe" :suffix-icon="CaretBottom" placeholder="请选择">
@@ -35,11 +45,9 @@
                 <el-input type="text" style="margin-right: 10px;" v-model="youhua.nsmax">
                   <template  #prefix><span style="margin-right: 8px;">最大</span></template>
                 </el-input>
-              </div>
-              </el-form-item>
-              <el-form-item label="优化进程数:"  :label-width="formLabelWidth200">
-                <el-input v-model="youhua.proscount" :step="100" :min="0" :max="1000" controls-position="right" />
-              </el-form-item>
+                  </div>
+                </el-form-item>
+              
               <!-- <el-form-item label="屏幕输出等级:"  :label-width="formLabelWidth200">
                 <el-input v-model="youhua.iout" :step="100" :min="0" :max="1000" controls-position="right" />
                 </el-form-item> -->
@@ -63,7 +71,7 @@
                 </el-input>
               </div>
               </el-form-item> -->
-              <el-form-item label="最优解收敛性容差:"  :label-width="formLabelWidth200">
+                <el-form-item label="最优解收敛性容差:"  :label-width="formLabelWidth200">
                 <el-input v-model="youhua.xtol" :step="100" :min="0" :max="1000" controls-position="right" />
                 </el-form-item>
                 <el-form-item label="真实函数约束容差:"  :label-width="formLabelWidth200">
@@ -144,6 +152,7 @@
                 <el-form-item label="变异概率:"  :label-width="formLabelWidth200">
                 <el-input v-model="youhua.pm" :step="100" :min="0" :max="1000" controls-position="right" />
                 </el-form-item>
+                </el-form>
             </div>
                 </div>
   </template>
@@ -155,10 +164,11 @@ import { request } from "@/utils/request";
 import emitter from "@/utils/emitter"
 let formLabelWidth3=ref(100)
 let formLabelWidth200=ref(180)
+let set = ref('0')
 let youhua = ref({
   algorithm: 'SurroOpt',
   iout: 19,
-  proscount:'1',
+  myid_number:1,
   irestart: '0',
   ndoe: '0',
   ns: 10,
@@ -312,7 +322,7 @@ const getDoptimize = (id,nowid) => {
     }
   })
   .catch((err) => {
-    ElMessage.error(err.returnMsg)
+    ElMessage.error("初始化失败")
   })
 }
 
@@ -320,6 +330,7 @@ const getDoptimizeAssign = (data) => {
   pid.value = data.pid
   suid.value = data.suid;
   youhua.value.algorithm = data.algorithm;
+  youhua.value.myid_number = data.myid_number;
   youhua.value.iout = data.iout;
   youhua.value.irestart = data.irestart;
   youhua.value.ndoe = data.ndoe;
@@ -362,6 +373,7 @@ const getaddDsave = (id,nowid) => {
     suid: suid.value,
     nsurro:nsurro.value,
     nkriging:n_kriging.value,
+    myid_number: youhua.value.myid_number,
     algorithm: youhua.value.algorithm,
     iout: youhua.value.iout,
     irestart: youhua.value.irestart,

+ 12 - 12
src/views/vuetree/Sidebar.vue

@@ -73,18 +73,18 @@ const datatree = ref([
       //     img:'mob.png',
       //     name:'optimizer'
       //   },
-        {
-          id:'3-02',
-          label: '参数化',
-          img:'csh.png',
-          name:'参数化'
-        },
-        {
-          id:'3-03',
-          label: '气动分析',
-          img:'aero.png',
-          name:'气动分析'
-        },
+        // {
+        //   id:'3-02',
+        //   label: '参数化',
+        //   img:'csh.png',
+        //   name:'参数化'
+        // },
+        // {
+        //   id:'3-03',
+        //   label: '气动分析',
+        //   img:'aero.png',
+        //   name:'气动分析'
+        // },
         {
           id:'3-0',
           label: 'CST',

+ 5 - 4
src/views/vuetree/index.vue

@@ -170,6 +170,7 @@
           :steamtype-options="steamtypeoptions"
           :is-indeterminate="isIndeterminate"
           :is-youhua="false"
+          :is-code="true"
           @check-flag-change="handlecheckFlagchange"
         />
       </div>
@@ -588,16 +589,16 @@ function onEdgeClick(e) {
 let dataflowshow=ref(false);
 
 let youhuaFFDtable = ref([
-  { name:'FFD参数(sample)', steamflag:1 }
+  { code:'FFD参数(sample)', name:'FFD参数(sample)', steamflag:1 }
 ])
 
 let youhuaCSTtable = ref([
-  { name:"上表面CST参数(upper)", steamflag:1 },
-  { name:'下表面CST参数(lower)', steamflag:1 }
+  { code:'上表面CST参数(upper)', name:"上表面CST参数(upper)", steamflag:1 },
+  { code:'下表面CST参数(lower)', name:'下表面CST参数(lower)', steamflag:1 }
 ])
 
 let youhuaTACStable = ref([
-  { name:'TACS参数', steamflag:1 }
+  { code:'TACS参数', name:'TACS参数', steamflag:1 }
 ])
 
 let steamtypeoptions = ref([

+ 6 - 1
src/views/vuetree/linetablecard.vue

@@ -20,7 +20,8 @@
             />
           </template>
         </el-table-column>
-        <el-table-column prop="code" show-overflow-tooltip />
+        <el-table-column v-if="isCode" prop="code" show-overflow-tooltip />
+        <el-table-column v-if="!isCode" prop="name" show-overflow-tooltip />
         <el-table-column v-if="isYouhua" prop="steamtype">
           <template #default="{ row }">
             <el-select v-model="row.steamtype">
@@ -61,6 +62,10 @@ const props = defineProps({
   isYouhua: {
     type: Boolean,
     default: true
+  },
+  isCode: {
+    type: Boolean,
+    default: false
   }
 })