JXDS18FUJT vor 2 Jahren
Ursprung
Commit
b1a865e00f

+ 3 - 2
package.json

@@ -47,19 +47,20 @@
     "echarts": "4.2.1",
     "element-ui": "2.13.2",
     "file-saver": "2.0.1",
-    "js-beautify": "1.10.2",
     "fuse.js": "3.4.4",
+    "js-beautify": "1.10.2",
     "js-cookie": "2.2.0",
     "jsencrypt": "3.0.0-rc.1",
     "normalize.css": "7.0.0",
     "nprogress": "0.2.0",
     "path-to-regexp": "2.4.0",
+    "quill": "1.3.7",
     "screenfull": "4.2.0",
     "sortablejs": "1.8.4",
     "vue": "2.6.10",
     "vue-count-to": "1.0.13",
-    "quill": "1.3.7",
     "vue-cropper": "0.4.9",
+    "vue-gallery": "^2.0.1",
     "vue-router": "3.0.2",
     "vue-splitpane": "1.0.4",
     "vuedraggable": "2.20.0",

+ 33 - 0
src/api/price/gallery.js

@@ -0,0 +1,33 @@
+import request from '@/utils/request'
+
+// 查询文件列表
+export function getFileList(query) {
+  return request({
+    url: '/file/info/list',
+    method: 'get',
+    params: query
+  })
+}
+//删除文件
+export function delFile(fileIds){
+    return request({
+        url: `/file/info/${fileIds}`,
+        method: 'DELETE'
+      })
+}
+//上传文件
+export function uploadFile(data){
+    return request({
+        url:"/file/info",
+        data:data,
+        method: 'post'
+    })
+}
+//获取文件详细信息
+export function getFileInfo(fileId){
+    return request({
+        url:`/file/info/${fileId}`,
+        method:'get',
+
+    })
+}

+ 60 - 0
src/api/price/manage.js

@@ -0,0 +1,60 @@
+import request from '@/utils/request'
+
+// 查询报价列表
+export function listInfo(query) {
+  return request({
+    url: '/price/info/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询报价详细
+export function getInfo(id) {
+  return request({
+    url: '/price/info/' + id,
+    method: 'get'
+  })
+}
+
+// 新增报价
+export function addInfo(data) {
+  return request({
+    url: '/price/info',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改报价
+export function updateInfo(data) {
+  return request({
+    url: '/price/info',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除报价
+export function delInfo(id) {
+  return request({
+    url: '/price/info/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出报价
+export function exportInfo(query) {
+  return request({
+    url: '/price/info/export',
+    method: 'get',
+    params: query
+  })
+}
+//查询字段所有枚举值
+export function getFieldName(name){
+  return request({
+    url: `/price/info/field/${name}`,
+    method: 'get'
+  })
+}

+ 0 - 0
src/api/price/info.js → src/api/price/query.js


+ 4 - 4
src/layout/components/Sidebar/Logo.vue

@@ -2,11 +2,11 @@
   <div class="sidebar-logo-container" :class="{'collapse':collapse}">
     <transition name="sidebarLogoFade">
       <router-link v-if="collapse" key="collapse" class="sidebar-logo-link" to="/">
-        <img v-if="logo" :src="logo" class="sidebar-logo">
-        <h1 v-else class="sidebar-title">{{ title }} </h1>
+        <!-- <img v-if="logo" :src="logo" class="sidebar-logo"> -->
+        <h1 class="sidebar-title">{{ title }} </h1>
       </router-link>
       <router-link v-else key="expand" class="sidebar-logo-link" to="/">
-        <img v-if="logo" :src="logo" class="sidebar-logo">
+        <!-- <img v-if="logo" :src="logo" class="sidebar-logo"> -->
         <h1 class="sidebar-title">{{ title }} </h1>
       </router-link>
     </transition>
@@ -26,7 +26,7 @@ export default {
   },
   data() {
     return {
-      title: '若依管理系统',
+      title: '报价信息管理系统',
       logo: logoImg
     }
   }

+ 1 - 1
src/settings.js

@@ -1,5 +1,5 @@
 module.exports = {
-  title: '若依管理系统',
+  title: '科迈新能源报价信息管理系统',
 
   /**
    * 是否系统布局配置

+ 1 - 1
src/views/login.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="login">
     <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
-      <h3 class="title">若依后台管理系统</h3>
+      <h3 class="title">科迈新能源报价信息管理系统</h3>
       <el-form-item prop="username">
         <el-input v-model="loginForm.username" type="text" auto-complete="off" placeholder="账号">
           <svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />

+ 270 - 0
src/views/price/gallery/index.vue

@@ -0,0 +1,270 @@
+
+<template>
+    <div class="app-container">
+        <el-row :gutter="10" class="mb8">
+            <el-col :span="1.5">
+                <el-upload :show-file-list="false" class="upload-demo" with-credentials :headers="{
+                    'Authorization': 'Bearer ' + token
+                }" action="http://xxgl.zzxcx.net/xxgl-admin/file/info" :data="{
+    priceId: priceId
+
+}" :on-preview="handlePreview" :on-success="handleSuccess" :on-remove="handleRemove" :before-remove="beforeRemove"
+                    multiple :on-exceed="handleExceed" :file-list="fileList">
+                    <el-button size="small" type="primary">点击上传</el-button>
+
+                </el-upload>
+            </el-col>
+            <el-col :span="1.5">
+                <el-button type="danger" icon="el-icon-delete" size="mini" :disabled="multiple"
+                    @click="handleDelete">删除</el-button>
+            </el-col>
+
+            <right-toolbar :showSearch.sync="showSearch" @queryTable="getFileList"></right-toolbar>
+        </el-row>
+        <el-table @selection-change="handleSelectionChange" :data="tableData" style="width: 100%">
+            <el-table-column type="selection" width="55">
+            </el-table-column>
+            <!-- <el-table-column prop="fileId" label="文件id"> -->
+            <!-- </el-table-column> -->
+            <el-table-column align="left" prop="fileUrl" label="文件缩略图">
+                <template slot-scope="scope">
+                    <div style="width:250px">
+
+                        <el-image v-if="getFileType(scope.row) == 'image'" :src="scope.row.fileUrl"
+                            :preview-src-list="[scope.row.fileUrl]"></el-image>
+                        <video preload="metadata" style="object-fit:fill;width: 100%;"
+                            v-else-if="getFileType(scope.row) == 'video'" controls :src="scope.row.fileUrl"></video>
+                        <span v-else>不支持预览的文件格式</span>
+                    </div>
+
+                </template>
+
+            </el-table-column>
+            <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+                <template slot-scope="scope">
+
+                    <el-button size="mini" type="text" icon="el-icon-download"
+                        @click="handleDownload(scope.row)">下载</el-button>
+
+                    <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
+                        v-hasPermi="['price:info:remove']">删除</el-button>
+                </template>
+            </el-table-column>
+
+        </el-table>
+    </div>
+</template>
+   
+<script>
+import VueGallery from 'vue-gallery';
+import { getFileList, delFile, uploadFile, getFileInfo } from '@/api/price/gallery'
+import { getToken } from '@/utils/auth'
+export default {
+    data: function () {
+        return {
+            //文件列表
+            fileList: [],
+            token: getToken(),
+            priceId: 0,
+            // 选中数组
+            ids: [],
+            // 非单个禁用
+            single: true,
+            // 非多个禁用
+            multiple: true,
+            tableData: [{
+                date: '2016-05-02',
+                name: '王小虎',
+                address: '上海市普陀区金沙江路 1518 弄'
+            }, {
+                date: '2016-05-04',
+                name: '王小虎',
+                address: '上海市普陀区金沙江路 1517 弄'
+            }, {
+                date: '2016-05-01',
+                name: '王小虎',
+                address: '上海市普陀区金沙江路 1519 弄'
+            }, {
+                date: '2016-05-03',
+                name: '王小虎',
+                address: '上海市普陀区金沙江路 1516 弄'
+            }],
+            images: [
+                {
+                    title: 'Fruits',
+                    type: 'video/mp4',
+                    href: 'http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4',
+                    preload: 'auto'
+                }
+            ],
+            index: null
+        };
+    },
+    methods: {
+        //判断文件的类型
+        getFileType(row) {
+            let suffix = row.filePath.substring(row.filePath.lastIndexOf(".") + 1);
+            let type = ''
+            switch (suffix) {
+                case 'mp4':
+                case 'WebM':
+                case 'Ogg':
+                    type = 'video'
+                    break;
+                case 'png':
+                case 'jpg':
+                case 'webp':
+                    type = 'image'
+                    break
+                case 'pdf':
+                    type = 'pdf'
+                    break
+                default:
+                    type = 'other'
+
+            }
+            return type
+
+
+        },
+
+        // 下载图片的操作
+        handleDownload(row) {
+            let type = this.getFileType(row)
+            let url = row.fileUrl
+            let path = row.filePath
+            let reg = /\.\w+$/;
+            let fileName = path.replace(reg, '');
+
+            switch (type) {
+                case 'image':
+                    let image = new Image()  //创建图片对象
+                    image.setAttribute('crossOrigin', 'anonymous') //设置允许跨域
+                    image.src = url //赋值src
+                    image.onload = () => {
+                        //等待图片加载完成创建canvas
+                        let canvas = document.createElement('canvas')
+                        //将图片绘制到canvas画布上
+                        canvas.width = image.width
+                        canvas.height = image.height
+                        let ctx = canvas.getContext('2d')
+                        ctx.drawImage(image, 0, 0, image.width, image.height)
+                        //此处同样是利用canvas自带API将画布数据导出为bolb流格式
+                        canvas.toBlob((blob) => {
+                            let url = URL.createObjectURL(blob)
+                            const a = document.createElement("a");
+                            console.log(this)
+                            a.download = fileName;
+                            // 直接将canvas导出的bolb:URL 格式赋值为a标签的href属性 同样进行点击触发下载
+                            a.href = url;
+                            document.body.appendChild(a);
+                            a.click();
+                            document.removeChild(a);
+                            canvas = null
+                            // 释放URL对象
+                            URL.revokeObjectURL(url)
+                        })
+                    }
+
+                    break;
+                default:
+                    var xhr = new XMLHttpRequest();
+                    xhr.open('get', url, true); // 也可以使用POST方式,根据接口
+                    // 						xhr.setRequestHeader("dis_k",`cb9a62d3796e276f8707318b3c48ed3d`);
+                    // xhr.setRequestHeader("dis_t",`1617786336`);
+                    xhr.responseType = "blob"; // 返回类型blob
+                    xhr.onload = function () {
+                        if (this.status === 200) {
+                            var blob = this.response;
+                            var reader = new FileReader();
+
+                            reader.readAsDataURL(blob); // 转换为base64,可以直接放入a表情href
+                            reader.onload = function (e) {
+                                var a = document.createElement('a');
+                                a.download = fileName; //下载文件名
+                                a.href = e.target.result;
+                                a.click();
+                                window.URL.revokeObjectURL(e.target.result)
+                            };
+                        }
+                    };
+                    xhr.send();
+
+                    break;
+
+            }
+
+        },
+        /** 删除按钮操作 */
+        handleDelete(row) {
+            const ids = row.fileId || this.ids;
+            this.$confirm('是否确认删除这' + (this.ids.length || 1) + '数据项?', "警告", {
+                confirmButtonText: "确定",
+                cancelButtonText: "取消",
+                type: "warning"
+            }).then(function () {
+                console.log(ids)
+                return delFile(ids.toString());
+            }).then(() => {
+                this.getFileList(this.priceId);
+                this.msgSuccess("删除成功");
+            })
+        },
+        // 多选框选中数据
+        handleSelectionChange(selection) {
+            this.ids = selection.map(item => item.fileId)
+            this.single = selection.length !== 1
+            this.multiple = !selection.length
+        },
+        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} 个文件`);
+        },
+        beforeRemove(file, fileList) {
+            return this.$confirm(`确定移除 ${file.name}?`);
+        },
+        getFileList() {
+            getFileList({
+                priceId: this.$route.query.id
+            }).then(response => {
+                this.tableData = response.rows
+
+            });
+
+        },
+        handleSuccess() {
+            this.msgSuccess("上传成功");
+            this.getFileList()
+
+        }
+    },
+    created() {
+        this.priceId = this.$route.query.id
+        this.getFileList()
+
+    },
+    components: {
+        'gallery': VueGallery
+    },
+}
+</script> 
+   
+<style scoped>
+.app-container {
+    padding: 20px;
+}
+
+.image {
+    float: left;
+    background-size: cover;
+    background-repeat: no-repeat;
+    background-position: center center;
+    border: 1px solid #ebebeb;
+    margin: 5px;
+}
+</style>

+ 445 - 0
src/views/price/manage/index.vue

@@ -0,0 +1,445 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="品牌" prop="brand">
+        <el-select v-model="queryParams.brand" placeholder="请输入品牌" clearable size="small"
+          @keyup.enter.native="handleQuery">
+          <el-option v-for="(item, index) in searchOption[0]" :value="item" :key="index">{{ item }}</el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item label="机组功率(kw)" prop="unitPowerKw">
+        <el-select v-model="queryParams.unitPowerKw" placeholder="请输入机组功率(kw)" clearable size="small"
+          @keyup.enter.native="handleQuery">
+          <el-option v-for="(item, index) in searchOption[1]" :value="item" :key="index">{{ item }}</el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="机组功率(kva)" prop="unitPowerKva">
+        <el-select v-model="queryParams.unitPowerKva" placeholder="请输入机组功率(kva)" clearable size="small"
+          @keyup.enter.native="handleQuery">
+          <el-option v-for="(item, index) in searchOption[2]" :value="item" :key="index">{{ item }}</el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item>
+        <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd"
+          v-hasPermi="['price:info:add']">新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="success" icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
+          v-hasPermi="['price:info:edit']">修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="danger" icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
+          v-hasPermi="['price:info:remove']">删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="warning" icon="el-icon-top" size="mini" @click="handleExport"
+          v-hasPermi="['price:info:export']">导出</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-upload :show-file-list="false" class="upload-demo" with-credentials :headers="{
+          'Authorization': 'Bearer ' + token
+        }" action="http://xxgl.zzxcx.net/xxgl-admin/price/info/import" :on-success="handleSuccess" multiple
+         
+          accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel"
+          :file-list="fileList">
+          <el-button type="warning" icon="el-icon-bottom" size="mini" 
+            v-hasPermi="['price:info:export']">导入</el-button>
+
+        </el-upload>
+
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="infoList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="主键" align="center" prop="id" />
+      <el-table-column label="品牌" align="center" prop="brand" />
+      <el-table-column label="机组型号" align="center" prop="unitModel" />
+      <el-table-column label="机组功率(kw)" align="center" prop="unitPowerKw" />
+      <el-table-column label="机组功率(kva)" align="center" prop="unitPowerKva" />
+      <el-table-column label="频率(Hz)" align="center" prop="rate" />
+      <el-table-column label="柴油机型号" align="center" prop="dieselEngineModel" />
+      <el-table-column label="转速" align="center" prop="speed" />
+      <el-table-column label="动力价格" align="center" prop="powerPrice" />
+      <el-table-column label="发电机型号" align="center" prop="generatorModel" />
+      <el-table-column label="发电机价格" align="center" prop="generatorPrice" />
+      <el-table-column label="静音机壳价格" align="center" prop="mutePrice" />
+      <el-table-column label="开架价格" align="center" prop="openPrice" />
+      <el-table-column label="ATS型号" align="center" prop="atsModel" />
+      <el-table-column label="ATS价格" align="center" prop="atsPrice" />
+      <el-table-column label="电瓶型号" align="center" prop="batteryModel" />
+      <el-table-column label="电瓶价格" align="center" prop="batteryPrice" />
+      <el-table-column label="控制器铭贝" align="center" prop="controllerMinbei" />
+      <el-table-column label="控制器价格" align="center" prop="controllerPrice" />
+      <el-table-column label="合计含税成本(静音)" align="center" prop="totalCostMute" />
+      <el-table-column label="合计含税成本(开架)" align="center" prop="totalCostOpen" />
+      <el-table-column label="静音尺寸" align="center" prop="muteLong" />
+      <el-table-column label="静音尺寸" align="center" prop="muteWidth" />
+      <el-table-column label="静音尺寸" align="center" prop="muteHigh" />
+      <el-table-column label="开架尺寸" align="center" prop="openLong" />
+      <el-table-column label="开架尺寸" align="center" prop="openWidth" />
+      <el-table-column label="开架尺寸" align="center" prop="openHigh" />
+      <el-table-column label="CKD尺寸" align="center" prop="ckdLong" />
+      <el-table-column label="CKD尺寸" align="center" prop="ckdWidth" />
+      <el-table-column label="CKD尺寸" align="center" prop="ckdHigh" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
+            v-hasPermi="['price:info:edit']">修改</el-button>
+
+          <el-button @click="() => {
+            $router.push('/gallery?id=' + scope.row.id)
+          
+          }" size="mini" type="text" icon="el-icon-picture-outline" v-hasPermi="['price:info:edit']">图片</el-button>
+
+
+
+
+          <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
+            v-hasPermi="['price:info:remove']">删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
+      @pagination="getList" />
+
+    <!-- 添加或修改报价对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="品牌" prop="brand">
+          <el-input v-model="form.brand" placeholder="请输入品牌" />
+        </el-form-item>
+        <el-form-item label="机组型号" prop="unitModel">
+          <el-input v-model="form.unitModel" placeholder="请输入机组型号" />
+        </el-form-item>
+        <el-form-item label="机组功率(kw)" prop="unitPowerKw">
+          <el-input v-model="form.unitPowerKw" placeholder="请输入机组功率(kw)" />
+        </el-form-item>
+        <el-form-item label="机组功率(kva)" prop="unitPowerKva">
+          <el-input v-model="form.unitPowerKva" placeholder="请输入机组功率(kva)" />
+        </el-form-item>
+        <el-form-item label="频率(Hz)" prop="rate">
+          <el-input v-model="form.rate" placeholder="请输入频率(Hz)" />
+        </el-form-item>
+        <el-form-item label="柴油机型号" prop="dieselEngineModel">
+          <el-input v-model="form.dieselEngineModel" placeholder="请输入柴油机型号" />
+        </el-form-item>
+        <el-form-item label="转速" prop="speed">
+          <el-input v-model="form.speed" placeholder="请输入转速" />
+        </el-form-item>
+        <el-form-item label="动力价格" prop="powerPrice">
+          <el-input v-model="form.powerPrice" placeholder="请输入动力价格" />
+        </el-form-item>
+        <el-form-item label="发电机型号" prop="generatorModel">
+          <el-input v-model="form.generatorModel" placeholder="请输入发电机型号" />
+        </el-form-item>
+        <el-form-item label="发电机价格" prop="generatorPrice">
+          <el-input v-model="form.generatorPrice" placeholder="请输入发电机价格" />
+        </el-form-item>
+        <el-form-item label="静音机壳价格" prop="mutePrice">
+          <el-input v-model="form.mutePrice" placeholder="请输入静音机壳价格" />
+        </el-form-item>
+        <el-form-item label="开架价格" prop="openPrice">
+          <el-input v-model="form.openPrice" placeholder="请输入开架价格" />
+        </el-form-item>
+        <el-form-item label="ATS型号" prop="atsModel">
+          <el-input v-model="form.atsModel" placeholder="请输入ATS型号" />
+        </el-form-item>
+        <el-form-item label="ATS价格" prop="atsPrice">
+          <el-input v-model="form.atsPrice" placeholder="请输入ATS价格" />
+        </el-form-item>
+        <el-form-item label="电瓶型号" prop="batteryModel">
+          <el-input v-model="form.batteryModel" placeholder="请输入电瓶型号" />
+        </el-form-item>
+        <el-form-item label="电瓶价格" prop="batteryPrice">
+          <el-input v-model="form.batteryPrice" placeholder="请输入电瓶价格" />
+        </el-form-item>
+        <el-form-item label="控制器铭贝" prop="controllerMinbei">
+          <el-input v-model="form.controllerMinbei" placeholder="请输入控制器铭贝" />
+        </el-form-item>
+        <el-form-item label="控制器价格" prop="controllerPrice">
+          <el-input v-model="form.controllerPrice" placeholder="请输入控制器价格" />
+        </el-form-item>
+        <el-form-item label="合计含税成本(静音)" prop="totalCostMute">
+          <el-input v-model="form.totalCostMute" placeholder="请输入合计含税成本(静音)" />
+        </el-form-item>
+        <el-form-item label="合计含税成本(开架)" prop="totalCostOpen">
+          <el-input v-model="form.totalCostOpen" placeholder="请输入合计含税成本(开架)" />
+        </el-form-item>
+        <el-form-item label="静音尺寸" prop="muteLong">
+          <el-input v-model="form.muteLong" placeholder="请输入静音尺寸" />
+        </el-form-item>
+        <el-form-item label="静音尺寸" prop="muteWidth">
+          <el-input v-model="form.muteWidth" placeholder="请输入静音尺寸" />
+        </el-form-item>
+        <el-form-item label="静音尺寸" prop="muteHigh">
+          <el-input v-model="form.muteHigh" placeholder="请输入静音尺寸" />
+        </el-form-item>
+        <el-form-item label="开架尺寸" prop="openLong">
+          <el-input v-model="form.openLong" placeholder="请输入开架尺寸" />
+        </el-form-item>
+        <el-form-item label="开架尺寸" prop="openWidth">
+          <el-input v-model="form.openWidth" placeholder="请输入开架尺寸" />
+        </el-form-item>
+        <el-form-item label="开架尺寸" prop="openHigh">
+          <el-input v-model="form.openHigh" placeholder="请输入开架尺寸" />
+        </el-form-item>
+        <el-form-item label="CKD尺寸" prop="ckdLong">
+          <el-input v-model="form.ckdLong" placeholder="请输入CKD尺寸" />
+        </el-form-item>
+        <el-form-item label="CKD尺寸" prop="ckdWidth">
+          <el-input v-model="form.ckdWidth" placeholder="请输入CKD尺寸" />
+        </el-form-item>
+        <el-form-item label="CKD尺寸" prop="ckdHigh">
+          <el-input v-model="form.ckdHigh" placeholder="请输入CKD尺寸" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listInfo, getInfo, delInfo, addInfo, updateInfo, exportInfo, getFieldName } from "@/api/price/manage";
+import { getToken } from '@/utils/auth'
+export default {
+  name: "Info",
+  data() {
+    return {
+      token: getToken(),
+      fileList: [],
+      //搜索下拉选项
+      searchOption: [[], [], []],
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 报价表格数据
+      infoList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        brand: null,
+        unitModel: null,
+        unitPowerKw: null,
+        unitPowerKva: null,
+        rate: null,
+        dieselEngineModel: null,
+        speed: null,
+        powerPrice: null,
+        generatorModel: null,
+        generatorPrice: null,
+        mutePrice: null,
+        openPrice: null,
+        atsModel: null,
+        atsPrice: null,
+        batteryModel: null,
+        batteryPrice: null,
+        controllerMinbei: null,
+        controllerPrice: null,
+        totalCostMute: null,
+        totalCostOpen: null,
+        muteLong: null,
+        muteWidth: null,
+        muteHigh: null,
+        openLong: null,
+        openWidth: null,
+        openHigh: null,
+        ckdLong: null,
+        ckdWidth: null,
+        ckdHigh: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+    this.getSearchOption()
+  },
+  methods: {
+    handleSuccess() {
+      this.msgSuccess("上传成功");
+      this.getList()
+    },
+    push(url) {
+      this.router.push(url)
+    },
+    getSearchOption() {
+      getFieldName('brand').then(response => {
+        this.$set(this.searchOption, 0, response.data);
+
+      })
+      getFieldName('unit_power_kw').then(response => {
+        this.$set(this.searchOption, 1, response.data);
+
+      })
+      getFieldName('unit_power_kva').then(response => {
+        this.$set(this.searchOption, 2, response.data);
+
+      })
+
+    },
+    /** 查询报价列表 */
+    getList() {
+      this.loading = true;
+      listInfo(this.queryParams).then(response => {
+        this.infoList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        brand: null,
+        unitModel: null,
+        unitPowerKw: null,
+        unitPowerKva: null,
+        rate: null,
+        dieselEngineModel: null,
+        speed: null,
+        powerPrice: null,
+        generatorModel: null,
+        generatorPrice: null,
+        mutePrice: null,
+        openPrice: null,
+        atsModel: null,
+        atsPrice: null,
+        batteryModel: null,
+        batteryPrice: null,
+        controllerMinbei: null,
+        controllerPrice: null,
+        totalCostMute: null,
+        totalCostOpen: null,
+        muteLong: null,
+        muteWidth: null,
+        muteHigh: null,
+        openLong: null,
+        openWidth: null,
+        openHigh: null,
+        ckdLong: null,
+        ckdWidth: null,
+        ckdHigh: null,
+        createTime: null,
+        updateTime: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length !== 1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加报价";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getInfo(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改报价";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateInfo(this.form).then(response => {
+              this.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addInfo(this.form).then(response => {
+              this.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$confirm('是否确认删除这' + this.ids.length + '数据项?', "警告", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(function () {
+        return delInfo(ids);
+      }).then(() => {
+        this.getList();
+        this.msgSuccess("删除成功");
+      })
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有报价数据项?', "警告", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(function () {
+        return exportInfo(queryParams);
+      }).then(response => {
+        this.download(response.data);
+      })
+    }
+  }
+};
+</script>

+ 427 - 0
src/views/price/query/index.vue

@@ -0,0 +1,427 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="品牌" prop="brand">
+        <el-select v-model="queryParams.brand" placeholder="请输入品牌" clearable size="small"
+          @keyup.enter.native="handleQuery">
+          <el-option v-for="(item, index) in searchOption[0]" :value="item" :key="index">{{ item }}</el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item label="机组功率(kw)" prop="unitPowerKw">
+        <el-select v-model="queryParams.unitPowerKw" placeholder="请输入机组功率(kw)" clearable size="small"
+          @keyup.enter.native="handleQuery">
+          <el-option v-for="(item, index) in searchOption[1]" :value="item" :key="index">{{ item }}</el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="机组功率(kva)" prop="unitPowerKva">
+        <el-select v-model="queryParams.unitPowerKva" placeholder="请输入机组功率(kva)" clearable size="small"
+          @keyup.enter.native="handleQuery">
+          <el-option v-for="(item, index) in searchOption[2]" :value="item" :key="index">{{ item }}</el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item>
+        <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <!-- <el-col :span="1.5">
+        <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd"
+          v-hasPermi="['price:info:add']">新增</el-button>
+      </el-col> -->
+      <!-- <el-col :span="1.5">
+        <el-button type="success" icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
+          v-hasPermi="['price:info:edit']">修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="danger" icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
+          v-hasPermi="['price:info:remove']">删除</el-button>
+      </el-col> -->
+      <el-col :span="1.5">
+        <el-button type="warning" icon="el-icon-download" size="mini" @click="handleExport"
+          v-hasPermi="['price:info:export']">导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="infoList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="主键" align="center" prop="id" />
+      <el-table-column label="品牌" align="center" prop="brand" />
+      <el-table-column label="机组型号" align="center" prop="unitModel" />
+      <el-table-column label="机组功率(kw)" align="center" prop="unitPowerKw" />
+      <el-table-column label="机组功率(kva)" align="center" prop="unitPowerKva" />
+      <el-table-column label="频率(Hz)" align="center" prop="rate" />
+      <el-table-column label="柴油机型号" align="center" prop="dieselEngineModel" />
+      <el-table-column label="转速" align="center" prop="speed" />
+      <!-- <el-table-column label="动力价格" align="center" prop="powerPrice" /> -->
+      <el-table-column label="发电机型号" align="center" prop="generatorModel" />
+      <!-- <el-table-column label="发电机价格" align="center" prop="generatorPrice" /> -->
+      <!-- <el-table-column label="静音机壳价格" align="center" prop="mutePrice" /> -->
+      <!-- <el-table-column label="开架价格" align="center" prop="openPrice" /> -->
+      <el-table-column label="ATS型号" align="center" prop="atsModel" />
+      <!-- <el-table-column label="ATS价格" align="center" prop="atsPrice" /> -->
+      <el-table-column label="电瓶型号" align="center" prop="batteryModel" />
+      <!-- <el-table-column label="电瓶价格" align="center" prop="batteryPrice" /> -->
+      <el-table-column label="控制器铭贝" align="center" prop="controllerMinbei" />
+      <!-- <el-table-column label="控制器价格" align="center" prop="controllerPrice" /> -->
+      <el-table-column label="合计含税成本(静音)" align="center" prop="totalCostMute" />
+      <el-table-column label="合计含税成本(开架)" align="center" prop="totalCostOpen" />
+      <el-table-column label="静音尺寸" align="center" prop="muteLong" />
+      <el-table-column label="静音尺寸" align="center" prop="muteWidth" />
+      <el-table-column label="静音尺寸" align="center" prop="muteHigh" />
+      <el-table-column label="开架尺寸" align="center" prop="openLong" />
+      <el-table-column label="开架尺寸" align="center" prop="openWidth" />
+      <el-table-column label="开架尺寸" align="center" prop="openHigh" />
+      <el-table-column label="CKD尺寸" align="center" prop="ckdLong" />
+      <el-table-column label="CKD尺寸" align="center" prop="ckdWidth" />
+      <el-table-column label="CKD尺寸" align="center" prop="ckdHigh" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <!-- <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
+            v-hasPermi="['price:info:edit']">修改</el-button> -->
+         
+            <el-button @click="()=>{
+              $router.push('/gallery?id='+scope.row.id)
+
+            }" size="mini" type="text" icon="el-icon-picture-outline"
+              v-hasPermi="['price:info:edit']">图片</el-button>
+      
+
+<!-- 
+
+          <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
+            v-hasPermi="['price:info:remove']">删除</el-button> -->
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
+      @pagination="getList" />
+
+    <!-- 添加或修改报价对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="品牌" prop="brand">
+          <el-input v-model="form.brand" placeholder="请输入品牌" />
+        </el-form-item>
+        <el-form-item label="机组型号" prop="unitModel">
+          <el-input v-model="form.unitModel" placeholder="请输入机组型号" />
+        </el-form-item>
+        <el-form-item label="机组功率(kw)" prop="unitPowerKw">
+          <el-input v-model="form.unitPowerKw" placeholder="请输入机组功率(kw)" />
+        </el-form-item>
+        <el-form-item label="机组功率(kva)" prop="unitPowerKva">
+          <el-input v-model="form.unitPowerKva" placeholder="请输入机组功率(kva)" />
+        </el-form-item>
+        <el-form-item label="频率(Hz)" prop="rate">
+          <el-input v-model="form.rate" placeholder="请输入频率(Hz)" />
+        </el-form-item>
+        <el-form-item label="柴油机型号" prop="dieselEngineModel">
+          <el-input v-model="form.dieselEngineModel" placeholder="请输入柴油机型号" />
+        </el-form-item>
+        <el-form-item label="转速" prop="speed">
+          <el-input v-model="form.speed" placeholder="请输入转速" />
+        </el-form-item>
+        <el-form-item label="动力价格" prop="powerPrice">
+          <el-input v-model="form.powerPrice" placeholder="请输入动力价格" />
+        </el-form-item>
+        <el-form-item label="发电机型号" prop="generatorModel">
+          <el-input v-model="form.generatorModel" placeholder="请输入发电机型号" />
+        </el-form-item>
+        <el-form-item label="发电机价格" prop="generatorPrice">
+          <el-input v-model="form.generatorPrice" placeholder="请输入发电机价格" />
+        </el-form-item>
+        <el-form-item label="静音机壳价格" prop="mutePrice">
+          <el-input v-model="form.mutePrice" placeholder="请输入静音机壳价格" />
+        </el-form-item>
+        <el-form-item label="开架价格" prop="openPrice">
+          <el-input v-model="form.openPrice" placeholder="请输入开架价格" />
+        </el-form-item>
+        <el-form-item label="ATS型号" prop="atsModel">
+          <el-input v-model="form.atsModel" placeholder="请输入ATS型号" />
+        </el-form-item>
+        <el-form-item label="ATS价格" prop="atsPrice">
+          <el-input v-model="form.atsPrice" placeholder="请输入ATS价格" />
+        </el-form-item>
+        <el-form-item label="电瓶型号" prop="batteryModel">
+          <el-input v-model="form.batteryModel" placeholder="请输入电瓶型号" />
+        </el-form-item>
+        <el-form-item label="电瓶价格" prop="batteryPrice">
+          <el-input v-model="form.batteryPrice" placeholder="请输入电瓶价格" />
+        </el-form-item>
+        <el-form-item label="控制器铭贝" prop="controllerMinbei">
+          <el-input v-model="form.controllerMinbei" placeholder="请输入控制器铭贝" />
+        </el-form-item>
+        <el-form-item label="控制器价格" prop="controllerPrice">
+          <el-input v-model="form.controllerPrice" placeholder="请输入控制器价格" />
+        </el-form-item>
+        <el-form-item label="合计含税成本(静音)" prop="totalCostMute">
+          <el-input v-model="form.totalCostMute" placeholder="请输入合计含税成本(静音)" />
+        </el-form-item>
+        <el-form-item label="合计含税成本(开架)" prop="totalCostOpen">
+          <el-input v-model="form.totalCostOpen" placeholder="请输入合计含税成本(开架)" />
+        </el-form-item>
+        <el-form-item label="静音尺寸" prop="muteLong">
+          <el-input v-model="form.muteLong" placeholder="请输入静音尺寸" />
+        </el-form-item>
+        <el-form-item label="静音尺寸" prop="muteWidth">
+          <el-input v-model="form.muteWidth" placeholder="请输入静音尺寸" />
+        </el-form-item>
+        <el-form-item label="静音尺寸" prop="muteHigh">
+          <el-input v-model="form.muteHigh" placeholder="请输入静音尺寸" />
+        </el-form-item>
+        <el-form-item label="开架尺寸" prop="openLong">
+          <el-input v-model="form.openLong" placeholder="请输入开架尺寸" />
+        </el-form-item>
+        <el-form-item label="开架尺寸" prop="openWidth">
+          <el-input v-model="form.openWidth" placeholder="请输入开架尺寸" />
+        </el-form-item>
+        <el-form-item label="开架尺寸" prop="openHigh">
+          <el-input v-model="form.openHigh" placeholder="请输入开架尺寸" />
+        </el-form-item>
+        <el-form-item label="CKD尺寸" prop="ckdLong">
+          <el-input v-model="form.ckdLong" placeholder="请输入CKD尺寸" />
+        </el-form-item>
+        <el-form-item label="CKD尺寸" prop="ckdWidth">
+          <el-input v-model="form.ckdWidth" placeholder="请输入CKD尺寸" />
+        </el-form-item>
+        <el-form-item label="CKD尺寸" prop="ckdHigh">
+          <el-input v-model="form.ckdHigh" placeholder="请输入CKD尺寸" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listInfo, getInfo, delInfo, addInfo, updateInfo, exportInfo, getFieldName } from "@/api/price/manage";
+
+export default {
+  name: "Info",
+  data() {
+    return {
+      //搜索下拉选项
+      searchOption: [[], [], []],
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 报价表格数据
+      infoList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        brand: null,
+        unitModel: null,
+        unitPowerKw: null,
+        unitPowerKva: null,
+        rate: null,
+        dieselEngineModel: null,
+        speed: null,
+        powerPrice: null,
+        generatorModel: null,
+        generatorPrice: null,
+        mutePrice: null,
+        openPrice: null,
+        atsModel: null,
+        atsPrice: null,
+        batteryModel: null,
+        batteryPrice: null,
+        controllerMinbei: null,
+        controllerPrice: null,
+        totalCostMute: null,
+        totalCostOpen: null,
+        muteLong: null,
+        muteWidth: null,
+        muteHigh: null,
+        openLong: null,
+        openWidth: null,
+        openHigh: null,
+        ckdLong: null,
+        ckdWidth: null,
+        ckdHigh: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+    this.getSearchOption()
+  },
+  methods: {
+    push(url){
+      this.router.push(url)
+    },
+    getSearchOption() {
+      getFieldName('brand').then(response => {
+        this.$set(this.searchOption, 0, response.data);
+
+      })
+      getFieldName('unit_power_kw').then(response => {
+        this.$set(this.searchOption, 1, response.data);
+
+      })
+      getFieldName('unit_power_kva').then(response => {
+        this.$set(this.searchOption, 2, response.data);
+
+      })
+
+    },
+    /** 查询报价列表 */
+    getList() {
+      this.loading = true;
+      listInfo(this.queryParams).then(response => {
+        this.infoList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        brand: null,
+        unitModel: null,
+        unitPowerKw: null,
+        unitPowerKva: null,
+        rate: null,
+        dieselEngineModel: null,
+        speed: null,
+        powerPrice: null,
+        generatorModel: null,
+        generatorPrice: null,
+        mutePrice: null,
+        openPrice: null,
+        atsModel: null,
+        atsPrice: null,
+        batteryModel: null,
+        batteryPrice: null,
+        controllerMinbei: null,
+        controllerPrice: null,
+        totalCostMute: null,
+        totalCostOpen: null,
+        muteLong: null,
+        muteWidth: null,
+        muteHigh: null,
+        openLong: null,
+        openWidth: null,
+        openHigh: null,
+        ckdLong: null,
+        ckdWidth: null,
+        ckdHigh: null,
+        createTime: null,
+        updateTime: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length !== 1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加报价";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getInfo(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改报价";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateInfo(this.form).then(response => {
+              this.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addInfo(this.form).then(response => {
+              this.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$confirm('是否确认删除这' + this.ids.length + '数据项?', "警告", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(function () {
+        return delInfo(ids);
+      }).then(() => {
+        this.getList();
+        this.msgSuccess("删除成功");
+      })
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有报价数据项?', "警告", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(function () {
+        return exportInfo(queryParams);
+      }).then(response => {
+        this.download(response.data);
+      })
+    }
+  }
+};
+</script>

+ 5 - 238
src/views/tool/price/manage.vue

@@ -2,7 +2,7 @@
     <div class="app-container">
       <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
         <el-form-item label="品牌" prop="brand">
-          <el-input
+          <el-select
             v-model="queryParams.brand"
             placeholder="请输入品牌"
             clearable
@@ -10,17 +10,9 @@
             @keyup.enter.native="handleQuery"
           />
         </el-form-item>
-        <el-form-item label="机组型号" prop="unitModel">
-          <el-input
-            v-model="queryParams.unitModel"
-            placeholder="请输入机组型号"
-            clearable
-            size="small"
-            @keyup.enter.native="handleQuery"
-          />
-        </el-form-item>
+
         <el-form-item label="机组功率(kw)" prop="unitPowerKw">
-          <el-input
+          <el-select
             v-model="queryParams.unitPowerKw"
             placeholder="请输入机组功率(kw)"
             clearable
@@ -29,7 +21,7 @@
           />
         </el-form-item>
         <el-form-item label="机组功率(kva)" prop="unitPowerKva">
-          <el-input
+          <el-select
             v-model="queryParams.unitPowerKva"
             placeholder="请输入机组功率(kva)"
             clearable
@@ -37,231 +29,6 @@
             @keyup.enter.native="handleQuery"
           />
         </el-form-item>
-        <el-form-item label="频率(Hz)" prop="rate">
-          <el-input
-            v-model="queryParams.rate"
-            placeholder="请输入频率(Hz)"
-            clearable
-            size="small"
-            @keyup.enter.native="handleQuery"
-          />
-        </el-form-item>
-        <el-form-item label="柴油机型号" prop="dieselEngineModel">
-          <el-input
-            v-model="queryParams.dieselEngineModel"
-            placeholder="请输入柴油机型号"
-            clearable
-            size="small"
-            @keyup.enter.native="handleQuery"
-          />
-        </el-form-item>
-        <el-form-item label="转速" prop="speed">
-          <el-input
-            v-model="queryParams.speed"
-            placeholder="请输入转速"
-            clearable
-            size="small"
-            @keyup.enter.native="handleQuery"
-          />
-        </el-form-item>
-        <el-form-item label="动力价格" prop="powerPrice">
-          <el-input
-            v-model="queryParams.powerPrice"
-            placeholder="请输入动力价格"
-            clearable
-            size="small"
-            @keyup.enter.native="handleQuery"
-          />
-        </el-form-item>
-        <el-form-item label="发电机型号" prop="generatorModel">
-          <el-input
-            v-model="queryParams.generatorModel"
-            placeholder="请输入发电机型号"
-            clearable
-            size="small"
-            @keyup.enter.native="handleQuery"
-          />
-        </el-form-item>
-        <el-form-item label="发电机价格" prop="generatorPrice">
-          <el-input
-            v-model="queryParams.generatorPrice"
-            placeholder="请输入发电机价格"
-            clearable
-            size="small"
-            @keyup.enter.native="handleQuery"
-          />
-        </el-form-item>
-        <el-form-item label="静音机壳价格" prop="mutePrice">
-          <el-input
-            v-model="queryParams.mutePrice"
-            placeholder="请输入静音机壳价格"
-            clearable
-            size="small"
-            @keyup.enter.native="handleQuery"
-          />
-        </el-form-item>
-        <el-form-item label="开架价格" prop="openPrice">
-          <el-input
-            v-model="queryParams.openPrice"
-            placeholder="请输入开架价格"
-            clearable
-            size="small"
-            @keyup.enter.native="handleQuery"
-          />
-        </el-form-item>
-        <el-form-item label="ATS型号" prop="atsModel">
-          <el-input
-            v-model="queryParams.atsModel"
-            placeholder="请输入ATS型号"
-            clearable
-            size="small"
-            @keyup.enter.native="handleQuery"
-          />
-        </el-form-item>
-        <el-form-item label="ATS价格" prop="atsPrice">
-          <el-input
-            v-model="queryParams.atsPrice"
-            placeholder="请输入ATS价格"
-            clearable
-            size="small"
-            @keyup.enter.native="handleQuery"
-          />
-        </el-form-item>
-        <el-form-item label="电瓶型号" prop="batteryModel">
-          <el-input
-            v-model="queryParams.batteryModel"
-            placeholder="请输入电瓶型号"
-            clearable
-            size="small"
-            @keyup.enter.native="handleQuery"
-          />
-        </el-form-item>
-        <el-form-item label="电瓶价格" prop="batteryPrice">
-          <el-input
-            v-model="queryParams.batteryPrice"
-            placeholder="请输入电瓶价格"
-            clearable
-            size="small"
-            @keyup.enter.native="handleQuery"
-          />
-        </el-form-item>
-        <el-form-item label="控制器铭贝" prop="controllerMinbei">
-          <el-input
-            v-model="queryParams.controllerMinbei"
-            placeholder="请输入控制器铭贝"
-            clearable
-            size="small"
-            @keyup.enter.native="handleQuery"
-          />
-        </el-form-item>
-        <el-form-item label="控制器价格" prop="controllerPrice">
-          <el-input
-            v-model="queryParams.controllerPrice"
-            placeholder="请输入控制器价格"
-            clearable
-            size="small"
-            @keyup.enter.native="handleQuery"
-          />
-        </el-form-item>
-        <el-form-item label="合计含税成本(静音)" prop="totalCostMute">
-          <el-input
-            v-model="queryParams.totalCostMute"
-            placeholder="请输入合计含税成本(静音)"
-            clearable
-            size="small"
-            @keyup.enter.native="handleQuery"
-          />
-        </el-form-item>
-        <el-form-item label="合计含税成本(开架)" prop="totalCostOpen">
-          <el-input
-            v-model="queryParams.totalCostOpen"
-            placeholder="请输入合计含税成本(开架)"
-            clearable
-            size="small"
-            @keyup.enter.native="handleQuery"
-          />
-        </el-form-item>
-        <el-form-item label="静音尺寸" prop="muteLong">
-          <el-input
-            v-model="queryParams.muteLong"
-            placeholder="请输入静音尺寸"
-            clearable
-            size="small"
-            @keyup.enter.native="handleQuery"
-          />
-        </el-form-item>
-        <el-form-item label="静音尺寸" prop="muteWidth">
-          <el-input
-            v-model="queryParams.muteWidth"
-            placeholder="请输入静音尺寸"
-            clearable
-            size="small"
-            @keyup.enter.native="handleQuery"
-          />
-        </el-form-item>
-        <el-form-item label="静音尺寸" prop="muteHigh">
-          <el-input
-            v-model="queryParams.muteHigh"
-            placeholder="请输入静音尺寸"
-            clearable
-            size="small"
-            @keyup.enter.native="handleQuery"
-          />
-        </el-form-item>
-        <el-form-item label="开架尺寸" prop="openLong">
-          <el-input
-            v-model="queryParams.openLong"
-            placeholder="请输入开架尺寸"
-            clearable
-            size="small"
-            @keyup.enter.native="handleQuery"
-          />
-        </el-form-item>
-        <el-form-item label="开架尺寸" prop="openWidth">
-          <el-input
-            v-model="queryParams.openWidth"
-            placeholder="请输入开架尺寸"
-            clearable
-            size="small"
-            @keyup.enter.native="handleQuery"
-          />
-        </el-form-item>
-        <el-form-item label="开架尺寸" prop="openHigh">
-          <el-input
-            v-model="queryParams.openHigh"
-            placeholder="请输入开架尺寸"
-            clearable
-            size="small"
-            @keyup.enter.native="handleQuery"
-          />
-        </el-form-item>
-        <el-form-item label="CKD尺寸" prop="ckdLong">
-          <el-input
-            v-model="queryParams.ckdLong"
-            placeholder="请输入CKD尺寸"
-            clearable
-            size="small"
-            @keyup.enter.native="handleQuery"
-          />
-        </el-form-item>
-        <el-form-item label="CKD尺寸" prop="ckdWidth">
-          <el-input
-            v-model="queryParams.ckdWidth"
-            placeholder="请输入CKD尺寸"
-            clearable
-            size="small"
-            @keyup.enter.native="handleQuery"
-          />
-        </el-form-item>
-        <el-form-item label="CKD尺寸" prop="ckdHigh">
-          <el-input
-            v-model="queryParams.ckdHigh"
-            placeholder="请输入CKD尺寸"
-            clearable
-            size="small"
-            @keyup.enter.native="handleQuery"
-          />
-        </el-form-item>
         <el-form-item>
           <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
           <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@@ -470,7 +237,7 @@
   </template>
   
   <script>
-  import { listInfo, getInfo, delInfo, addInfo, updateInfo, exportInfo } from "@/api/price/info";
+  import { listInfo, getInfo, delInfo, addInfo, updateInfo, exportInfo } from "@/api/price/manage";
   
   export default {
     name: "Info",

+ 1 - 1
src/views/tool/price/query.vue

@@ -470,7 +470,7 @@
   </template>
   
   <script>
-  import { listInfo, getInfo, delInfo, addInfo, updateInfo, exportInfo } from "@/api/price/info";
+  import { listInfo, getInfo, delInfo, addInfo, updateInfo, exportInfo } from "@/api/price/query";
   
   export default {
     name: "Info",

+ 1 - 1
vue.config.js

@@ -6,7 +6,7 @@ function resolve(dir) {
   return path.join(__dirname, dir)
 }
 
-const name = defaultSettings.title || '若依管理系统' // 标题
+const name = defaultSettings.title || '科迈新能源报价信息管理系统' // 标题
 
 const port = process.env.port || process.env.npm_config_port || 80 // 端口