Jelajahi Sumber

新增参数名称接口调用

duy 7 bulan lalu
induk
melakukan
c78b215d5c

+ 26 - 0
src/api/paramter/parmter.js

@@ -0,0 +1,26 @@
+import request from '@/router/axios';
+//分页查询参数库
+export const queryParameterList = (params) => {
+    return request({
+        url: '/api/blade-manager/parameter/list',
+        method: 'get',
+        params
+    })
+}
+// 新增或修改参数库
+export const submitParameter = (data) => {
+    return request({
+        url: '/api/blade-manager/parameter/submit',
+        method: 'post',
+        data
+    });
+}
+
+//删除参数库 
+export const remove = (params) => {
+    return request({
+        url: '/api/blade-manager/parameter/remove',
+        method: 'get',
+        params
+    })
+}

+ 4 - 4
src/views/manager/projectinfo/tree.vue

@@ -4485,11 +4485,11 @@ export default {
       saveOrUpdateNameRule(
       [nameRuleDtos]
       ).then((res) => {
-       if(res.data.code==200){
-          this.$message.success('保存成功')
-          this.getFileTableData()
+        if(res.data.code==200){
+                this.$message.success(res.data.msg)
+                this.getFileTableData()
         }else{
-          this.$message.error('保存失败')
+          this.$message.error(res.data.msg)
         }
       });
     },

+ 59 - 16
src/views/manager/wbsinfo/addParamDialog.vue

@@ -1,19 +1,27 @@
 <template>
     <el-dialog title="添加参数" :visible.sync="visible" width="30%" append-to-body @close="closeDialog">
       <el-form :model="parameter" label-width="120px" :rules="rules" ref="form" label-position="left">
-        <el-form-item label="参数名称" prop="name">
-          <el-input v-model="parameter.name"></el-input>
+        <el-form-item label="参数名称" prop="paramName">
+          <el-input v-model="parameter.paramName"></el-input>
         </el-form-item>
-        <el-form-item label="参数类型" prop="type">
-          <el-select v-model="parameter.type" placeholder="请选择参数类型" style="width: 100%;">
-            <el-option label="字符串" value="string"></el-option>
-            <el-option label="数字" value="number"></el-option>
-            <el-option label="布尔值" value="boolean"></el-option>
+        <el-form-item label="参数类型" prop="paramType">
+          <el-select
+            v-model="parameter.paramType"
+            multiple
+            placeholder="请选择"
+
+          >
+          <el-option
+              v-for="item in paramTypeList"
+              :key="item.id"
+              :label="item.dictValue"
+              :value="item.dictKey"
+            ></el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="是否区分项目" prop="isProjectSpecific">
-          <el-radio v-model="parameter.isProjectSpecific" :label="true">是</el-radio>
-          <el-radio v-model="parameter.isProjectSpecific" :label="false">否</el-radio>
+        <el-form-item label="是否区分项目" prop="type">
+          <el-radio v-model="parameter.type" :label="1">是</el-radio>
+          <el-radio v-model="parameter.type" :label="2">否</el-radio>
         </el-form-item>
         <el-form-item label="备注">
           <el-input type="textarea" v-model="parameter.remark"></el-input>
@@ -27,6 +35,8 @@
   </template>
   
   <script>
+  import { getDictionary } from "@/api/system/dict";
+  import { submitParameter, remove } from "../../../api/paramter/parmter.js";
   export default {
     props: {
       visible: {
@@ -37,29 +47,62 @@
     data() {
       return {
         parameter: {
-          name: '',
-          type: '',
-          isProjectSpecific: false,
+          paramName: '',
+          paramType: '',
+          type: false,
           remark: ''
         },
+        paramTypeList:[],
         rules: {
-          name: [
+          paramName: [
             { required: true, message: '请输入参数名称', trigger: 'blur' }
           ],
-          type: [
+          paramType: [
             { required: true, message: '请选择参数类型', trigger: 'change' }
+          ],
+          type: [
+            { required: true, message: '请选择是否区分项目', trigger: 'change' }
           ]
         }
       };
     },
+    created() {
+      console.log(1111111111111);
+      
+      this.getParamTypeList();
+    },
     methods: {
+      getParamTypeList() {
+            let code = "parameter_type";
+            getDictionary({
+                code,
+            }).then((res) => {
+                    this.paramTypeList = res.data.data;
+            });
+      },
       closeDialog() {
         this.$emit('update:visible', false);
       },
       submitForm() {
         this.$refs.form.validate((valid) => {
           if (valid) {
-            this.$emit('add-parameter', this.parameter);
+            
+          submitParameter(
+            {
+              ...this.parameter,
+              paramType:this.parameter.paramType.join('/'),
+              
+             
+             
+            }
+            ).then((res) => {
+            if(res.data.code==200){
+                this.$message.success(res.data.msg)
+                this.$emit('add-parameter', this.parameter);
+              }else{
+                this.$message.error(res.data.msg)
+              }
+            });
             this.closeDialog();
           } else {
             return false;

+ 56 - 51
src/views/manager/wbsinfo/parameter.vue

@@ -5,27 +5,34 @@
     </div>
 
     <div class="pd-t-20">
-        <el-row :gutter="20" style="height: calc(100vh - 290px)">
-            <el-col v-if="projectPageList && projectPageList.length > 0" :span="6" v-for="(item, index) in projectPageList" :key="item.id">
-            <el-card @click.native="handleSetParameterName(item)" class="box-card h-100p flex bg-color clickable">
-                <div class="card-content">
-                <h3>{{ item.title }}</h3>
-                <p class="text-bold">{{ item.description }}</p>
-                <p class="small-text">元泰自动获股单位工程的名称,并回显到表格中</p>
-               
-                </div>
-                <!-- <div class="delete-icon-container">
-                <i
-                    class="el-icon-delete-solid delete-icon"
-                    @click.stop="delSetParameterName(item)"
-                ></i>
-                </div> -->
-            </el-card>
-            </el-col>
-            <el-col v-else :span="24">
-            <p>暂无参数信息</p>
+        <el-row :gutter="20" style="height: calc(100vh - 290px)" v-if="projectPageList.length > 0">
+            <el-col  :span="6" v-for="(item, index) in projectPageList" :key="item.id">
+                <el-card @click.native="handleSetParameterName(item)" class="box-card h-100p flex bg-color clickable">
+                    <div class="card-content">
+                    <h3>{{ item.paramName }}</h3>
+                    <p class="text-bold">{{ item.paramType }}</p>
+                    <p class="small-text">{{ item.remarks }}</p>
+                
+                    </div>
+                </el-card>
             </el-col>
+           
         </el-row>
+        <div :span="24"  class="empty-data">
+            <p>暂无参数信息</p>
+        </div>
+        <div>
+        <el-pagination
+        v-if="projectPageList.length > 0"
+          layout="prev, pager, next"
+          class="text-align-c"
+          @current-change="handleCurrentChange"
+          :current-page.sync="page.currentPage"
+          :total="page.total"
+          :page-size="page.pageSize"
+        >
+        </el-pagination>
+      </div>
       </div>
       <!-- 新增弹窗 -->
          <paramDetail ref="paramDetailRef" :params="parameterRow"></paramDetail>
@@ -36,6 +43,8 @@
 <script>
 import paramDetail from './paramDetail.vue';
 import addParamDialog from './addParamDialog.vue';
+import { queryParameterList } from "../../../api/paramter/parmter.js";
+
 export default{
     components:{
         paramDetail,
@@ -43,38 +52,12 @@ export default{
     },
     data(){
         return{
-            projectPageList:[
-                {
-                    id:1,
-                    title:'项目1',
-                    description:'子单位工程名称'
-                },
-                {
-                    id:2,
-                    title:'项目2',
-                    description:'子单位工程名称'
-                },
-                {
-                    id:3,
-                    title:'项目3',
-                    description:'子单位工程名称'
-                },
-                {
-                    id:4,
-                    title:'项目4',
-                    description:'子单位工程名称'
-                },
-                {
-                    id:4,
-                    title:'项目4',
-                     description:'子单位工程名称'
-                },
-                {
-                    id:4,
-                    title:'项目4',
-                     description:'子单位工程名称'
-                }
-            ],
+            page:{
+                currentPage: 1,
+                pageSize: 12,
+                total: 0
+            },
+            projectPageList:[],
             dialogVisible:false,
             parameter: {
                 name: '',
@@ -97,7 +80,23 @@ export default{
 
         }
     },
+    created(){
+        this.getProjectPageList()
+    },
     methods:{
+  
+        getProjectPageList () {
+            queryParameterList({
+                current: this.page.currentPage,
+                size: this.page.pageSize
+            }).then((res) => {
+                this.projectPageList = res.data.data.records;
+                this.page.total = res.data.data.total;
+            })
+         },
+        handleCurrentChange(){
+
+        },
         delSetParameterName(item){
             console.log(item)
         },
@@ -149,4 +148,10 @@ export default{
   color: red;
   cursor: pointer;
 }
+.empty-data {
+    align-items: center;
+    display: flex;
+    justify-content: center;
+    height: calc(-290px + 100vh);
+}
 </style>