Jelajahi Sumber

集群和私有仓库

shiyu 3 tahun lalu
induk
melakukan
ef987d2037

+ 5 - 1
src/api/algorithmsLibrary.js

@@ -14,6 +14,8 @@ const getProgress = basePart + '/file/getProgress'; // 获取上传进度接口
 
 const selectAlgoPlatformList = basePart + '/algorithm/selectAlgoPlatformList'   //算法平台列表
 
+const testConnection = basePart + '/algorithm/testConnection'
+
 export default {
     selectSharedAlgorithmList,
     selectAlgorithmList,
@@ -25,5 +27,7 @@ export default {
     selectDetailsById,
     getProgress,
 
-    selectAlgoPlatformList
+    selectAlgoPlatformList,
+
+    testConnection
 }

+ 1 - 1
src/views/algorithmsLibrary/algorithmsLibraryList.vue

@@ -60,7 +60,7 @@
             <el-tabs v-model="activeName" type="card" @tab-click="pageControl">
                 <el-tab-pane label="公有" name="1"></el-tab-pane>
                 <el-tab-pane label="私有导入" name="2"></el-tab-pane>
-                <el-tab-pane label="私有仓库" name="3" disabled></el-tab-pane>
+                <el-tab-pane label="私有仓库" name="3"></el-tab-pane>
             </el-tabs>
             <el-button
                 v-bind:class="{ addBtn: true, disabled: activeName === '1' }"

+ 53 - 13
src/views/algorithmsLibrary/gitAlgorithms.vue

@@ -36,33 +36,33 @@
                         >
                         </el-input>
                     </el-form-item>
-                    <el-form-item label="用户名:" prop="add1">
+                    <el-form-item label="用户名:" prop="gitUserName">
                         <el-input
                             placeholder="请输入"
                             maxlength="30"
-                            v-autoTrim="{ obj: form, key: 'add1' }"
-                            v-model="form.add1"
+                            v-autoTrim="{ obj: form, key: 'gitUserName' }"
+                            v-model="form.gitUserName"
                         >
                         </el-input>
                     </el-form-item>
-                    <el-form-item label="密码:" prop="add2">
+                    <el-form-item label="密码:" prop="gitPassword">
                         <el-input
                             placeholder="请输入"
                             maxlength="30"
                             type="password"
-                            v-autoTrim="{ obj: form, key: 'add2' }"
-                            v-model="form.add2"
+                            v-autoTrim="{ obj: form, key: 'gitPassword' }"
+                            v-model="form.gitPassword"
                         >
                         </el-input>
                     </el-form-item>
                     <div class="testLinkPanel">
-                        <el-button type="primary">测试链接</el-button>
+                        <el-button type="primary" @click="testConnection">测试链接</el-button>
                     </div>
                 </el-form>
 
                 <div class="btns">
-                    <el-button type="primary">保存</el-button>
-                    <el-button type="primary">取消</el-button>
+                    <el-button type="primary" @click="save">保存</el-button>
+                    <el-button type="primary" @click="cancel">取消</el-button>
                 </div>
             </el-col>
         </el-row>
@@ -82,8 +82,8 @@ export default {
                 algorithmName: "", // 算法名称
                 description: "", // 算法描述
                 gitUrl: "", // 地址
-                gitToken: "", // 算法名称
-                sf: "", // 算法名称
+                gitUserName: "",  //仓库用户名
+                gitPassword: "",  //仓库密码
                 uploadMode: "2", // 方式
             },
             type: "1",
@@ -91,13 +91,53 @@ export default {
                 algorithmName: [{ required: true, message: "请输入", trigger: "blur" }],
                 description: [{ required: true, message: "请输入", trigger: "blur" }],
                 gitUrl: [{ required: true, message: "请输入", trigger: "blur" }],
-                name: [{ required: true, message: "请输入", trigger: "blur" }],
-                name: [{ required: true, message: "请输入", trigger: "blur" }],
+                gitUserName: [{ required: true, message: "请输入", trigger: "blur" }],
+                gitPassword: [{ required: true, message: "请输入", trigger: "blur" }],
             },
         };
     },
 
     methods: {
+        testConnection(){
+            this.$axios({
+                method: "POST",
+                url: this.$api.algorithmsLibrary.testConnection,
+                data:{
+                    gitUrl: this.form.gitUrl,
+                    gitUserName: this.form.gitUserName,
+                    gitPassword: this.form.gitPassword,
+                }
+            }).then(res=>{
+                if (res.code == 200) {
+                    this.$message.success("测试成功");
+                } else {
+                    this.$message.error(res.message || "测试失败");
+                }
+            })
+        },
+        save(){
+            this.$refs.form.validate((valid) => {
+                if (valid) {
+                    this.$axios({
+                        method: "post",
+                        url: this.$api.algorithmsLibrary.addOrUpdate,
+                        data: {
+                            ...this.form,
+                        },
+                    }).then((res) => {
+                        if (res.code == 200) {
+                            this.$message.success("保存成功");
+                            this.cancel();
+                        } else {
+                            this.$message.error(res.message || "保存失败");
+                        }
+                    });
+                }
+            });
+        },
+        cancel(){
+            this.$router.replace({ path: "/algorithmsLibraryList" });
+        }
         /* typeChange(val) {
             if (val === "1") {
                 this.rules = {

+ 16 - 4
src/views/systemManagement/clusteringDetail.vue

@@ -19,7 +19,7 @@
                     </el-input>
                 </el-form-item>
                 <el-form-item label="独占类型:" prop="userType">
-                    <el-select v-model="form.userType" readOnly>
+                    <el-select v-model="form.userType" disabled>
                         <el-option
                             v-for="item in userTypeList"
                             :label="item.caption"
@@ -107,6 +107,9 @@ export default {
                 {
                     label: "到期时间",
                     prop: "dateSimulationLicense",
+                    formatter:(data)=>{
+                        return data.dateSimulationLicense.slice(0,10)
+                    }
                 },
                 {
                     label: "动力学软件license",
@@ -115,10 +118,16 @@ export default {
                 {
                     label: "到期时间",
                     prop: "dateDynamicLicense",
+                    formatter:(data)=>{
+                        return data.dateDynamicLicense.slice(0,10)
+                    }
                 },
                 {
                     label: "操作时间",
-                    prop: "modifyTime"
+                    prop: "modifyTime",
+                    formatter:(data)=>{
+                        return data.modifyTime.slice(0,10)
+                    }
                 }
             ],
             form: {
@@ -141,13 +150,16 @@ export default {
     created(){
         if(this.$route.query.userId){
             this.form = {...this.$route.query}
+            delete this.form.modifyTime
+        }
+    },
+    async mounted() {
+        if(this.$route.query.userId){
             this.getDataWay.param = {
                 userId: this.$route.query.userId
             }
             this.$refs.table.loadData()
         }
-    },
-    async mounted() {
         await this.$dicsListsInit({
             userTypeList: "useType"
         });

+ 21 - 0
src/views/systemManagement/clusteringManagement.vue

@@ -67,6 +67,13 @@
             :pagination="pagination"
             index
         >
+            <el-table-column label="独占类型" slot="userType" align="center">
+                <template v-slot="scope">
+                    <span>
+                        {{(userTypeList.find(item=>item.code==scope.row.userType)||{}).caption||''}}
+                    </span>
+                </template>
+            </el-table-column>
             <el-table-column label="操作" slot="cgInfos" align="center">
                 <template v-slot="scope">
                     <i
@@ -101,6 +108,7 @@ export default {
             list: [],
             totalSimulation:0,
             totalDynamic:0,
+            userTypeList:[],
             columns: [
                 //表格列
                 {
@@ -110,6 +118,7 @@ export default {
                 {
                     label: "独占类型",
                     prop: "userType",
+                    template:true
                 },
                 {
                     label: "仿真软件license",
@@ -118,6 +127,9 @@ export default {
                 {
                     label: "到期时间",
                     prop: "dateSimulationLicense",
+                    formatter:(data)=>{
+                        return data.dateSimulationLicense.slice(0,10)
+                    }
                 },
                 {
                     label: "动力学软件license",
@@ -126,6 +138,9 @@ export default {
                 {
                     label: "到期时间",
                     prop: "dateDynamicLicense",
+                    formatter:(data)=>{
+                        return data.dateDynamicLicense.slice(0,10)
+                    }
                 },
                 {
                     label: "操作",
@@ -162,6 +177,11 @@ export default {
             }
         })
     },
+    async mounted(){
+        await this.$dicsListsInit({
+            userTypeList: "useType"
+        });
+    },
     methods: {
         doSearch(){
             this.searchParams.modifyTimeStart=this.modifyTimeRange[0]||''
@@ -180,6 +200,7 @@ export default {
             }
             this.modifyTimeRange=[]
             this.dueTimeRange=[]
+            this.refreshList(this.searchParams)
         },
         refreshList(param) {
             param