Просмотр исходного кода

压实度评标参数页面接口调试

duy 2 лет назад
Родитель
Сommit
789279b9d3

+ 59 - 0
src/api/tentative/testpram.js

@@ -0,0 +1,59 @@
+import request from '@/router/axios';
+
+export const getList = (current, size, params) => {
+  return request({
+    url: '/api//blade-manager/trial/param/compaction/page',
+    method: 'get',
+    params: {
+      ...params,
+      current,
+      size
+    }
+  })
+}
+
+export const getDetail = (id) => {
+  return request({
+    url: '/api/blade-manager/trial/param/compaction/detail',
+    method: 'get',
+    params: {
+      id
+    }
+  })
+}
+
+export const remove = (ids) => {
+  return request({
+    url: '/api/blade-manager/trial/param/compaction/remove',
+    method: 'post',
+    params: {
+      ids,
+    }
+  })
+}
+
+export const add = (row) => {
+  return request({
+    url: '/api/blade-manager/trial/param/compaction/submit',
+    method: 'post',
+    data: row
+  })
+}
+
+export const update = (row) => {
+  return request({
+    url: '/api/blade-manager/trial/param/compaction/submit',
+    method: 'post',
+    data: row
+  })
+}
+//导入参数
+// 上传导入模板
+export const importParam = (row) => {
+    return request({
+        // ty  application/json
+        url: '/api/blade-manager/trial/param/compaction/import-excel',
+        method: 'post',
+        data: row
+    })
+}

+ 66 - 19
src/views/tentative/importDialog.vue

@@ -8,27 +8,36 @@
           <el-form-item label="模板上传:">
             <!-- <el-input v-model="formLabelAlign.name"></el-input> -->
             <el-upload
+              :auto-upload="false"
+              ref="file3"
               class="upload-demo"
-              action="https://jsonplaceholder.typicode.com/posts/"
+              action="#"
+              accept=".xls,.xlsx"
               :on-preview="handlePreview"
               :on-remove="handleRemove"
               :before-remove="beforeRemove"
-              multiple
-              :limit="3"
-              :on-exceed="handleExceed"
+              :on-change="uploadImportData"
+                :on-exceed="handleExceed"
+              :limit="1"
+             
               :file-list="fileList">
               <el-button size="small" type="primary">点击上传</el-button>
               <div slot="tip" class="el-upload__tip">只能上传.xls,.xlsx文件</div>
             </el-upload>
           </el-form-item>
-          <el-form-item label="数据覆盖:">
-            <!-- <el-input v-model="formLabelAlign.region"></el-input> -->
+          <el-form-item label="数据覆盖:" label-width="90px"
+           :rules="[
+            { required: true, message: '请选择数据是否覆盖', trigger: 'blur' },
+            ]"
+          >
             <el-switch
-              v-model="formLabelAlign.region"
+              v-model="formLabelAlign.isCovered"
               active-text="是"
               active-color="#13ce66"
               inactive-color="#ff4949"
-               inactive-text="否"
+              inactive-text="否"
+              active-value="1"
+              inactive-value="0"
               >
             </el-switch>
           </el-form-item>
@@ -43,12 +52,13 @@
         </el-form>
         <div slot="footer" class="dialog-footer">
           <el-button @click="importFormVisible = false">取 消</el-button>
-          <el-button type="primary" @click="importFormVisible = false">确 定</el-button>
+          <el-button type="primary" @click="importSubmit ">确 定</el-button>
         </div>
       </el-dialog>
 </template>
 
 <script>
+import {importParam} from "@/api/tentative/testpram";
 export default {
     data(){
         return{
@@ -56,29 +66,42 @@ export default {
             formLabelAlign: {//表格数据
                 name: '',
                 region: '',
-                type: ''
+                type: '',
+                isCovered:1,
             },
              //文件上传
-         fileList: [{name: 'food.jpeg', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}, {name: 'food2.jpeg', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}],
+         fileList: [],
+         formData:{}
+       
         }
     },
+  
+  
     methods:{
         show(){
             this.importFormVisible=true
         },
-        //文件上传
-        handleRemove(file, fileList) {
-            console.log(file, fileList);
-        },
-        handlePreview(file) {
-            console.log(file);
-        },
         handleExceed(files, fileList) {
-            this.$message.warning(`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`);
+            this.$message.warning(`当前限制选择 1个文件,请删除原文件后再选择文件上传`);
         },
         beforeRemove(file, fileList) {
             return this.$confirm(`确定移除 ${ file.name }?`);
         },
+        uploadImportData(file){
+            console.log(this.fileList,'fileList');
+            console.log(file,'file');
+            let formData = new FormData()
+            formData.append('file', file.raw);
+            let pictureList =[]
+            pictureList.push(file.name)
+            this.fileList=pictureList.map(item=>{
+                 return {
+                    name: item,
+                    url: item,
+                    raw:file.raw
+                }
+            }) 
+        },
         downloadExcel () {//下载excel表
         console.log('下载');
         const link = document.createElement('a')
@@ -92,6 +115,30 @@ export default {
         //   URL.revokeObjectURL(objectUrl); // 释放内存
         // })
         },
+        //确定导入
+        importSubmit(){
+             const loading = this.$loading({
+                lock: true,
+                text: 'Loading',
+                spinner: 'el-icon-loading',
+                background: 'rgba(0, 0, 0, 0.7)'
+            });
+             let formData = new FormData()
+            formData.append('file', this.fileList[0].raw);
+            formData.append('isCovered', this.formLabelAlign.isCovered)
+            importParam(formData).then(() => {
+                this.$message({
+                message: '上传文件成功',
+                type: 'success'
+                })
+                loading.close();
+            }).catch(() => {
+                loading.close();
+            });
+
+            this.$refs.file3.clearFiles();
+            this.importFormVisible=false;
+        },
     }
 }
 </script>

+ 57 - 56
src/views/tentative/parameter.vue

@@ -8,7 +8,7 @@
                     :data="tableData" 
                     :option="option" 
                     @row-save="rowSave"  
-                    @row-update="addUpdate"  
+                    @row-update="rowUpdate"  
                     @selection-change="selectionChange"
                     @refresh-change="refreshChange"
                     @current-change="currentChange"
@@ -49,7 +49,8 @@
 
 <script>
 import importDialog from './importDialog.vue';
-import temperature from './temperature.vue'
+import temperature from './temperature.vue';
+import {getList,add, update, remove} from "@/api/tentative/testpram";
 export default {
   components:{
     importDialog,
@@ -63,17 +64,7 @@ export default {
           currentPage:1
         },
         loading:false,
-        tableData: [
-          {
-            id:1,
-            name:'张三',
-            sex:'男'
-          }, {
-            id:2,
-            name:'李四',
-            sex:'女'
-          }
-        ],
+        tableData: [],
         selectionList:[],
         query:{},
 
@@ -91,16 +82,27 @@ export default {
           delBtn:false,
           addBtn:true,
           menu:true,
+          labelWidth:150,
+          indexFixed:false,
+          selectionFixed:false,
+          expandFixed:false,
 
           dialogClickModal: false,
           column:[
              {
-              label:'姓名',
-              prop:'name'
+              label:'N值',
+              prop:'valueN'
             }, {
-              label:'性别',
-              prop:'sex'
+              label:'保证率99%',
+              prop:'assuranceRateNinetyNinePercent'
+            },{
+              label:'保证率95%',
+              prop:'assuranceRateNinetyFivePercent'
+            },{
+              label:'保证率90%',
+              prop:'assuranceRateNinetyPercent'
             }
+
           ]
         },
       };
@@ -115,17 +117,16 @@ export default {
     }
   },
     methods: {
-   
-       onLoad(page, params = {}) {
-         //模拟分页
-        this.page.total = 40
-        // this.loading = true;
-        // // getLazyMenuList(this.parentId, Object.assign(params, this.query)).then(res => {
-        // //   this.data = res.data.data;
-        // //   this.loading = false;
-        // //   this.selectionClear();
-        // // });
-      },
+    onLoad(page, params = {}) {
+      this.loading = true;
+      getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
+        const data = res.data.data;
+        this.page.total = data.total;
+        this.tableData = data.records;
+        this.loading = false;
+        this.selectionClear();
+      });
+    },
       refreshChange() {
         this.onLoad(this.page, this.query);
       },
@@ -140,32 +141,32 @@ export default {
       },
       rowSave (row, done, loading) {
           console.log(row,'row');
-    //   add(row).then(() => {
-    //     this.onLoad(this.page);
-    //     this.$message({
-    //       type: "success",
-    //       message: "操作成功!"
-    //     });
-    //     done();
-    //   }, error => {
-    //     loading();
-    //     window.console.log(error);
-    //   });
-    },
-   addUpdate(form,index,done,loading){
-     console.log(form,'编辑');
-      this.$message.success('模拟网络请求')
-      setTimeout(() => {
-        this.$message.success('关闭按钮等待')
-        loading()
-      }, 1000)
-      setTimeout(() => {
-        this.$message.success(
-          '编辑数据' + JSON.stringify(form) + '数据序号' + index
-        )
-        done()
-      }, 2000)
+        add(row).then(() => {
+          this.onLoad(this.page);
+          this.$message({
+            type: "success",
+            message: "操作成功!"
+          });
+        done();
+      }, error => {
+        loading();
+        window.console.log(error);
+      });
+      },
+     rowUpdate(row, index, done, loading) {
+      update(row).then(() => {
+        this.onLoad(this.page);
+        this.$message({
+          type: "success",
+          message: "操作成功!"
+        });
+        done();
+      }, error => {
+        loading();
+        console.log(error);
+      });
     },
+
       handleDelete () {
       if (this.selectionList.length === 0) {
         this.$message.warning("请选择至少一条数据");
@@ -177,11 +178,11 @@ export default {
         type: "warning"
       })
         .then(() => {
-        //   return delTabInfoAll(this.ids);
-          console.log(this.ids,'this.ids删除');
+          return remove(this.ids);
+      
         })
         .then(() => {
-        //   this.onLoad(this.page);//刷新表格数据
+          this.onLoad(this.page);//刷新表格数据
           this.$message({
             type: "success",
             message: "操作成功!"

+ 3 - 0
src/views/tentative/temperature.vue

@@ -83,6 +83,9 @@ export default {
           delBtn:false,
           addBtn:true,
           menu:true,
+          indexFixed:false,
+          selectionFixed:false,
+          expandFixed:false,
 
           dialogClickModal: false,
           column:[