|
@@ -1,1190 +1,1190 @@
|
|
|
-<template>
|
|
|
- <div class="app-container">
|
|
|
- <el-form
|
|
|
- :rules="queryRules"
|
|
|
- :model="queryParams"
|
|
|
- ref="queryForm"
|
|
|
- :inline="true"
|
|
|
- v-show="showSearch"
|
|
|
- label-width="68px"
|
|
|
- >
|
|
|
- <el-row>
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item
|
|
|
- label-width="auto"
|
|
|
- label="机组功率(kw)区间"
|
|
|
- prop="unitPowerKwMin"
|
|
|
- >
|
|
|
- <el-input
|
|
|
- v-model.number="queryParams.unitPowerKwMin"
|
|
|
- placeholder="请选择机组功率(kw)"
|
|
|
- clearable
|
|
|
- size="small"
|
|
|
- @keyup.enter.native="handleQuery"
|
|
|
- >
|
|
|
- </el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label-width="auto" label="到" prop="unitPowerKwMax">
|
|
|
- <el-input
|
|
|
- v-model.number="queryParams.unitPowerKwMax"
|
|
|
- placeholder="请选择机组功率(kw)"
|
|
|
- clearable
|
|
|
- size="small"
|
|
|
- @keyup.enter.native="handleQuery"
|
|
|
- >
|
|
|
- </el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item
|
|
|
- label-width="auto"
|
|
|
- label="机组功率(kva)区间"
|
|
|
- prop="unitPowerKvaMin"
|
|
|
- >
|
|
|
- <el-input
|
|
|
- v-model.number="queryParams.unitPowerKvaMin"
|
|
|
- placeholder="请选择机组功率(kva)"
|
|
|
- clearable
|
|
|
- size="small"
|
|
|
- @keyup.enter.native="handleQuery"
|
|
|
- >
|
|
|
- </el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label-width="auto" label="到" prop="unitPowerKvaMax">
|
|
|
- <el-input
|
|
|
- v-model.number="queryParams.unitPowerKvaMax"
|
|
|
- placeholder="请选择机组功率(kva)"
|
|
|
- clearable
|
|
|
- size="small"
|
|
|
- @keyup.enter.native="handleQuery"
|
|
|
- >
|
|
|
- </el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
-
|
|
|
- <!-- <el-col :span="12">
|
|
|
- </el-col> -->
|
|
|
- <!-- <el-col :span="24">
|
|
|
-
|
|
|
-
|
|
|
- </el-col> -->
|
|
|
- <el-col :span="24">
|
|
|
- <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]"
|
|
|
- :key="index"
|
|
|
- :value="item"
|
|
|
- :label="item"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
-
|
|
|
- <el-form-item label-width="auto" label="配件" prop="accessory">
|
|
|
- <el-select v-model="computedQuery.accessory">
|
|
|
- <el-option key="1" value="mutePrice" label="静音机壳"></el-option>
|
|
|
- <el-option key="2" value="openPrice" label="开架"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label-width="auto" label="AST" prop="unitPowerKvaMax">
|
|
|
- <el-select v-model="computedQuery.isHaveAst">
|
|
|
- <el-option key="1" :value="true" label="有"></el-option>
|
|
|
- <el-option key="2" :value="false" label="无"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="控制器" prop="controllerPrice">
|
|
|
- <el-select
|
|
|
- v-model="computedQuery.controllerPrice"
|
|
|
- placeholder="请选择控制器"
|
|
|
- clearable
|
|
|
- size="small"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- @click.native="
|
|
|
- () => {
|
|
|
- computedQuery.controllerModel = item.controllerModel;
|
|
|
- }
|
|
|
- "
|
|
|
- v-for="(item, index) in controllerList"
|
|
|
- :label="item.controllerModel"
|
|
|
- :value="item.controllerPrice"
|
|
|
- :key="index"
|
|
|
- ></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-col>
|
|
|
- </el-row>
|
|
|
- </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
|
|
|
- v-hasPermi="['price:info:import']"
|
|
|
- :show-file-list="false"
|
|
|
- class="upload-demo"
|
|
|
- with-credentials
|
|
|
- :headers="{
|
|
|
- Authorization: 'Bearer ' + token,
|
|
|
- }"
|
|
|
- :action="uploadUrl+'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:import']"
|
|
|
- >导入</el-button
|
|
|
- >
|
|
|
- </el-upload>
|
|
|
- </el-col>
|
|
|
- <right-toolbar
|
|
|
- :showSearch.sync="showSearch"
|
|
|
- @queryTable="getList"
|
|
|
- ></right-toolbar>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <el-table
|
|
|
- fit
|
|
|
- size="mini"
|
|
|
- :row-style="{ height: '25px' }"
|
|
|
- v-loading="loading"
|
|
|
- :data="infoList"
|
|
|
- @selection-change="handleSelectionChange"
|
|
|
- >
|
|
|
- <el-table-column type="selection" width="40" align="center" />
|
|
|
-
|
|
|
- <el-table-column
|
|
|
- fixed
|
|
|
- :width="tableColumnWidthSmall"
|
|
|
- label="机组型号"
|
|
|
- align="center"
|
|
|
- prop="unitModel"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- fixed
|
|
|
- :width="tableColumnWidthMini"
|
|
|
- label="机组功率(kw)"
|
|
|
- align="center"
|
|
|
- prop="unitPowerKw"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- fixed
|
|
|
- :width="tableColumnWidthMini"
|
|
|
- label="机组功率备用(kw)"
|
|
|
- align="center"
|
|
|
- prop="unitPowerKwSpare"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- fixed
|
|
|
- :width="tableColumnWidthMini"
|
|
|
- label="机组功率(kva)"
|
|
|
- align="center"
|
|
|
- prop="unitPowerKva"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- fixed
|
|
|
- :width="tableColumnWidthMini"
|
|
|
- label="机组功率备用(kva)"
|
|
|
- align="center"
|
|
|
- prop="unitPowerKvaSpare"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- :width="tableColumnWidthMini"
|
|
|
- label="频率(Hz)"
|
|
|
- align="center"
|
|
|
- prop="rate"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- :width="tableColumnWidthSmall"
|
|
|
- label="柴油机型号"
|
|
|
- align="center"
|
|
|
- prop="dieselEngineModel"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- :width="'100px'"
|
|
|
- label="品牌"
|
|
|
- align="center"
|
|
|
- prop="brand"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- :width="tableColumnWidthMini"
|
|
|
- label="转速"
|
|
|
- align="center"
|
|
|
- prop="speed"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- :width="tableColumnWidthMini"
|
|
|
- v-hasPermi="['price:info:list:powerPrice']"
|
|
|
- v-if="checkPermissions(['price:info:list:powerPrice'])"
|
|
|
- label="动力价格"
|
|
|
- align="center"
|
|
|
- prop="powerPrice"
|
|
|
- />
|
|
|
-
|
|
|
- <el-table-column
|
|
|
- :width="tableColumnWidthSmall"
|
|
|
- label="发电机型号(仿斯坦福)"
|
|
|
- align="center"
|
|
|
- prop="generatorModelFstf"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- :width="tableColumnWidthMini"
|
|
|
- label="发电机价格(仿斯坦福)"
|
|
|
- v-if="checkPermissions(['price:info:list:generatorPrice'])"
|
|
|
- v-hasPermi="['price:info:list:generatorPrice']"
|
|
|
- align="center"
|
|
|
- prop="generatorPriceFstf"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- :width="tableColumnWidthSmall"
|
|
|
- label="发电机型号(利来森马)"
|
|
|
- align="center"
|
|
|
- prop="generatorModelLlsm"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- :width="tableColumnWidthMini"
|
|
|
- label="发电机价格(利来森马)"
|
|
|
- v-if="checkPermissions(['price:info:list:generatorPrice'])"
|
|
|
- v-hasPermi="['price:info:list:generatorPrice']"
|
|
|
- align="center"
|
|
|
- prop="generatorPriceLlsm"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- :width="tableColumnWidthSmall"
|
|
|
- label="发电机型号(美迪奥)"
|
|
|
- align="center"
|
|
|
- prop="generatorModelMda"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- :width="tableColumnWidthMini"
|
|
|
- label="发电机价格(美迪奥)"
|
|
|
- v-if="checkPermissions(['price:info:list:generatorPrice'])"
|
|
|
- v-hasPermi="['price:info:list:generatorPrice']"
|
|
|
- align="center"
|
|
|
- prop="generatorPriceMda"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- :width="tableColumnWidthSmall"
|
|
|
- label="发电机型号(马拉松)"
|
|
|
- align="center"
|
|
|
- prop="generatorModelMls"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- :width="tableColumnWidthMini"
|
|
|
- label="发电机价格(马拉松)"
|
|
|
- v-if="checkPermissions(['price:info:list:generatorPrice'])"
|
|
|
- v-hasPermi="['price:info:list:generatorPrice']"
|
|
|
- align="center"
|
|
|
- prop="generatorPriceMls"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- :width="tableColumnWidthSmall"
|
|
|
- label="发电机型号(斯坦福)"
|
|
|
- align="center"
|
|
|
- prop="generatorModelStf"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- :width="tableColumnWidthMini"
|
|
|
- label="发电机价格(斯坦福)"
|
|
|
- v-if="checkPermissions(['price:info:list:generatorPrice'])"
|
|
|
- v-hasPermi="['price:info:list:generatorPrice']"
|
|
|
- align="center"
|
|
|
- prop="generatorPriceStf"
|
|
|
- />
|
|
|
-
|
|
|
- <el-table-column
|
|
|
- :width="tableColumnWidthMini"
|
|
|
- v-if="
|
|
|
- computedQuery.accessory == 'mutePrice' &&
|
|
|
- checkPermissions(['price:info:list:mutePrice'])
|
|
|
- "
|
|
|
- label="静音机壳价格"
|
|
|
- align="center"
|
|
|
- v-hasPermi="['price:info:list:mutePrice']"
|
|
|
- prop="mutePrice"
|
|
|
- />
|
|
|
-
|
|
|
- <el-table-column
|
|
|
- :width="tableColumnWidthMini"
|
|
|
- v-if="
|
|
|
- computedQuery.accessory == 'openPrice' &&
|
|
|
- checkPermissions(['price:info:list:openPrice'])
|
|
|
- "
|
|
|
- label="开架价格"
|
|
|
- align="center"
|
|
|
- v-hasPermi="['price:info:list:openPrice']"
|
|
|
- prop="openPrice"
|
|
|
- />
|
|
|
-
|
|
|
- <el-table-column
|
|
|
- :width="tableColumnWidthMini"
|
|
|
- v-if="computedQuery.isHaveAst"
|
|
|
- label="ATS型号"
|
|
|
- align="center"
|
|
|
- prop="atsModel"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- :width="tableColumnWidthMini"
|
|
|
- v-if="
|
|
|
- computedQuery.isHaveAst &&
|
|
|
- checkPermissions(['price:info:list:astPrice'])
|
|
|
- "
|
|
|
- v-hasPermi="['price:info:list:astPrice']"
|
|
|
- label="ATS价格"
|
|
|
- align="center"
|
|
|
- prop="atsPrice"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- :width="tableColumnWidthMini"
|
|
|
- label="电瓶型号"
|
|
|
- align="center"
|
|
|
- prop="batteryModel"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- :width="tableColumnWidthMini"
|
|
|
- label="电瓶价格"
|
|
|
- v-hasPermi="['price:info:list:batteryPrice']"
|
|
|
- v-if="checkPermissions(['price:info:list:batteryPrice'])"
|
|
|
- align="center"
|
|
|
- prop="batteryPrice"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- :width="tableColumnWidthMini"
|
|
|
- label="控制器型号"
|
|
|
- align="center"
|
|
|
- prop="controllerModel"
|
|
|
- >
|
|
|
- <template>
|
|
|
- {{ computedQuery.controllerModel }}
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- :width="tableColumnWidthMini"
|
|
|
- v-hasPermi="['price:info:list:controllerPrice']"
|
|
|
- v-if="checkPermissions(['price:info:list:controllerPrice'])"
|
|
|
- label="控制器价格"
|
|
|
- align="center"
|
|
|
- prop="controllerPrice"
|
|
|
- >
|
|
|
- <template>
|
|
|
- {{ computedQuery.controllerPrice }}
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
-
|
|
|
- <el-table-column
|
|
|
- class-name="bg-lightpink"
|
|
|
- :width="tableColumnWidthMini"
|
|
|
- label="合计含税成本(仿斯坦福)"
|
|
|
- align="center"
|
|
|
- prop="totalCostMuteFstf"
|
|
|
- >
|
|
|
- <template slot-scope="scope">
|
|
|
- <span v-if="scope.row.generatorPriceFstf">
|
|
|
- {{ computedTotalPrice(scope.row, scope.row.generatorPriceFstf) }}
|
|
|
- </span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- class-name="bg-lightblue"
|
|
|
- :width="tableColumnWidthMini"
|
|
|
- label="合计含税成本(利来森马)"
|
|
|
- align="center"
|
|
|
- prop="totalCostMuteLlsm"
|
|
|
- >
|
|
|
- <template slot-scope="scope">
|
|
|
- <span v-if="scope.row.generatorPriceLlsm"> {{ computedTotalPrice(scope.row, scope.row.generatorPriceLlsm) }}</span>
|
|
|
-
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- class-name="bg-lightcyan"
|
|
|
- :width="tableColumnWidthMini"
|
|
|
- label="合计含税成本(美迪奥)"
|
|
|
- align="center"
|
|
|
- prop="totalCostMuteMda"
|
|
|
- >
|
|
|
- <template slot-scope="scope">
|
|
|
- <span v-if="scope.row.generatorPriceMda"> {{ computedTotalPrice(scope.row, scope.row.generatorPriceMda) }}</span>
|
|
|
-
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- class-name="bg-lightskyblue"
|
|
|
- :width="tableColumnWidthMini"
|
|
|
- label="合计含税成本(马拉松)"
|
|
|
- align="center"
|
|
|
- prop="totalCostMuteMls"
|
|
|
- >
|
|
|
- <template slot-scope="scope">
|
|
|
- <span v-if="scope.row.generatorPriceMls">{{ computedTotalPrice(scope.row, scope.row.generatorPriceMls) }}</span>
|
|
|
-
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- class-name="bg-lightgoldenrodyellow"
|
|
|
- :width="tableColumnWidthMini"
|
|
|
- label="合计含税成本(斯坦福)"
|
|
|
- align="center"
|
|
|
- prop="totalCostMuteStf"
|
|
|
- >
|
|
|
- <template slot-scope="scope">
|
|
|
- <span v-if="scope.row.generatorPriceStf">{{ computedTotalPrice(scope.row, scope.row.generatorPriceStf) }}</span>
|
|
|
-
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- width="100px"
|
|
|
- v-if="computedQuery.accessory == 'openPrice'"
|
|
|
- label="开架尺寸(长/宽/高/重量)"
|
|
|
- align="center"
|
|
|
- prop="openParms"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- :width="'100px'"
|
|
|
- v-if="computedQuery.accessory == 'mutePrice'"
|
|
|
- label="静音尺寸(长/宽/高/重量)"
|
|
|
- align="center"
|
|
|
- prop="muteParms"
|
|
|
- />
|
|
|
-
|
|
|
- <!-- <el-table-column :width="tableColumnWidthMini" label="静音尺寸" align="center" prop="muteLong" />
|
|
|
- <el-table-column :width="tableColumnWidthMini" label="静音尺寸" align="center" prop="muteWidth" />
|
|
|
- <el-table-column :width="tableColumnWidthMini" label="静音尺寸" align="center" prop="muteHigh" />
|
|
|
- <el-table-column :width="tableColumnWidthMini" label="开架尺寸" align="center" prop="openLong" />
|
|
|
- <el-table-column :width="tableColumnWidthMini" label="开架尺寸" align="center" prop="openWidth" />
|
|
|
- <el-table-column :width="tableColumnWidthMini" label="开架尺寸" align="center" prop="openHigh" />
|
|
|
- <el-table-column :width="tableColumnWidthMini" label="CKD尺寸" align="center" prop="ckdLong" />
|
|
|
- <el-table-column :width="tableColumnWidthMini" label="CKD尺寸" align="center" prop="ckdWidth" />
|
|
|
- <el-table-column :width="tableColumnWidthMini" label="CKD尺寸" align="center" prop="ckdHigh" /> -->
|
|
|
- <el-table-column
|
|
|
- :width="tableColumnWidthMini"
|
|
|
- width="180px"
|
|
|
- label="操作"
|
|
|
- align="center"
|
|
|
- class-name="small-padding fixed-width"
|
|
|
- >
|
|
|
- <template slot-scope="scope">
|
|
|
- <div style="display: inline-flex">
|
|
|
- <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 + '&type=1');
|
|
|
- }
|
|
|
- "
|
|
|
- size="mini"
|
|
|
- type="text"
|
|
|
- icon="el-icon-picture-outline"
|
|
|
- >图片</el-button
|
|
|
- >
|
|
|
-
|
|
|
- <el-button
|
|
|
- size="mini"
|
|
|
- type="text"
|
|
|
- icon="el-icon-delete"
|
|
|
- @click="handleDelete(scope.row)"
|
|
|
- v-hasPermi="['price:info:remove']"
|
|
|
- >删除</el-button
|
|
|
- >
|
|
|
- </div>
|
|
|
- </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-select
|
|
|
- v-model="form.brand"
|
|
|
- placeholder="请选择品牌"
|
|
|
- clearable
|
|
|
- size="small"
|
|
|
- @keyup.enter.native="handleQuery"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="(item, index) in searchOption[0]"
|
|
|
- :value="item"
|
|
|
- :key="index"
|
|
|
- :label="item"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- </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="brand">
|
|
|
- <el-input v-model="form.brand" placeholder="请输入动力品牌" />
|
|
|
- </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="generatorModelFstf">
|
|
|
- <el-input
|
|
|
- v-model="form.generatorModelFstf"
|
|
|
- placeholder="请输入发电机型号(仿斯坦福)"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="发电机价格(仿斯坦福)" prop="generatorPriceFstf">
|
|
|
- <el-input
|
|
|
- v-model="form.generatorPriceFstf"
|
|
|
- placeholder="请输入发电机价格(仿斯坦福)"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="发电机型号(斯坦福)" prop="generatorModelStf">
|
|
|
- <el-input
|
|
|
- v-model="form.generatorModelStf"
|
|
|
- placeholder="请输入发电机型号(斯坦福)"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="发电机价格(斯坦福)" prop="generatorPriceStf">
|
|
|
- <el-input
|
|
|
- v-model="form.generatorPriceStf"
|
|
|
- placeholder="请输入发电机价格(斯坦福)"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="发电机型号(利来森马)" prop="generatorModelLlsm">
|
|
|
- <el-input
|
|
|
- v-model="form.generatorModelLlsm"
|
|
|
- placeholder="请输入发电机型号(利来森马)"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="发电机价格(利来森马)" prop="generatorPriceLlsm">
|
|
|
- <el-input
|
|
|
- v-model="form.generatorPriceLlsm"
|
|
|
- placeholder="请输入发电机价格(利来森马)"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="发电机型号(马拉松)" prop="generatorModelMls">
|
|
|
- <el-input
|
|
|
- v-model="form.generatorModelMls"
|
|
|
- placeholder="请输入发电机型号(马拉松)"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="发电机价格(马拉松)" prop="generatorPriceMls">
|
|
|
- <el-input
|
|
|
- v-model="form.generatorPriceMls"
|
|
|
- placeholder="请输入发电机价格(马拉松)"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="发电机型号(美迪奥)" prop="generatorModelMda">
|
|
|
- <el-input
|
|
|
- v-model="form.generatorModelMda"
|
|
|
- placeholder="请输入发电机型号(美迪奥)"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="发电机价格(美迪奥)" prop="generatorPriceMda">
|
|
|
- <el-input
|
|
|
- v-model="form.generatorPriceMda"
|
|
|
- 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="totalCostMuteFstf"
|
|
|
- >
|
|
|
- <el-input
|
|
|
- v-model="form.totalCostMuteFstf"
|
|
|
- placeholder="请输入合计含税成本(静音配仿斯坦福)"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item
|
|
|
- label="合计含税成本(开架配仿斯坦福)"
|
|
|
- prop="totalCostOpenFstf"
|
|
|
- >
|
|
|
- <el-input
|
|
|
- v-model="form.totalCostOpenFstf"
|
|
|
- placeholder="请输入合计含税成本(开架配仿斯坦福)"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item
|
|
|
- label="合计含税成本(静音配斯坦福)"
|
|
|
- prop="totalCostMuteStf"
|
|
|
- >
|
|
|
- <el-input
|
|
|
- v-model="form.totalCostMuteStf"
|
|
|
- placeholder="请输入合计含税成本(静音配斯坦福)"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item
|
|
|
- label="合计含税成本(开架配斯坦福)"
|
|
|
- prop="totalCostOpenStf"
|
|
|
- >
|
|
|
- <el-input
|
|
|
- v-model="form.totalCostOpenStf"
|
|
|
- placeholder="请输入合计含税成本(开架配斯坦福)"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item
|
|
|
- label="合计含税成本(静音配利来森马)"
|
|
|
- prop="totalCostMuteLlsm"
|
|
|
- >
|
|
|
- <el-input
|
|
|
- v-model="form.totalCostMuteLlsm"
|
|
|
- placeholder="请输入合计含税成本(静音配利来森马)"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item
|
|
|
- label="合计含税成本(开架配利来森马)"
|
|
|
- prop="totalCostOpenLlsm"
|
|
|
- >
|
|
|
- <el-input
|
|
|
- v-model="form.totalCostOpenLlsm"
|
|
|
- placeholder="请输入合计含税成本(开架配利来森马)"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item
|
|
|
- label="合计含税成本(静音配马拉松)"
|
|
|
- prop="totalCostMuteMls"
|
|
|
- >
|
|
|
- <el-input
|
|
|
- v-model="form.totalCostMuteMls"
|
|
|
- placeholder="请输入合计含税成本(静音配马拉松)"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item
|
|
|
- label="合计含税成本(开架配马拉松)"
|
|
|
- prop="totalCostOpenMls"
|
|
|
- >
|
|
|
- <el-input
|
|
|
- v-model="form.totalCostOpenMls"
|
|
|
- placeholder="请输入合计含税成本(开架配马拉松)"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item
|
|
|
- label="合计含税成本(静音配美迪奥)"
|
|
|
- prop="totalCostMuteMda"
|
|
|
- >
|
|
|
- <el-input
|
|
|
- v-model="form.totalCostMuteMda"
|
|
|
- placeholder="请输入合计含税成本(静音配美迪奥)"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item
|
|
|
- label="合计含税成本(开架配美迪奥)"
|
|
|
- prop="totalCostOpenMda"
|
|
|
- >
|
|
|
- <el-input
|
|
|
- v-model="form.totalCostOpenMda"
|
|
|
- placeholder="请输入合计含税成本(开架配美迪奥)"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="静音尺寸" prop="muteParms">
|
|
|
- <el-input v-model="form.muteParms" placeholder="请输入静音尺寸" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="静音尺寸" prop="openParms">
|
|
|
- <el-input v-model="form.openParms" placeholder="请输入静音尺寸" />
|
|
|
- </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/managehz50";
|
|
|
- import { listInfo as controllerListInfo } from "@/api/price/controller";
|
|
|
- import { getToken } from "@/utils/auth";
|
|
|
- import { mapGetters } from "vuex";
|
|
|
- let computedQuery = {
|
|
|
- accessory: "mutePrice",
|
|
|
- isHaveAst: true,
|
|
|
- controllerPrice: null,
|
|
|
- controllerModel: null,
|
|
|
- };
|
|
|
- const controllerPriceValidator = (rule, value, callBack) => {
|
|
|
- console.log(computedQuery.controllerPrice && computedQuery.controllerModel);
|
|
|
- if (computedQuery.controllerPrice && computedQuery.controllerModel) {
|
|
|
- callBack();
|
|
|
- } else {
|
|
|
- callBack(new Error("必须选择一个控制器"));
|
|
|
- }
|
|
|
- };
|
|
|
- export default {
|
|
|
- name: "Info",
|
|
|
- data() {
|
|
|
- return {
|
|
|
- controllerModel: "",
|
|
|
- controllerPrice: 0,
|
|
|
- token: getToken(), uploadUrl:process.env.VUE_APP_BASE_API,
|
|
|
- fileList: [],
|
|
|
- //搜索下拉选项
|
|
|
- searchOption: [[], [], [], []],
|
|
|
- // 遮罩层
|
|
|
- loading: false,
|
|
|
- // 选中数组
|
|
|
- ids: [],
|
|
|
- // 非单个禁用
|
|
|
- single: true,
|
|
|
- // 非多个禁用
|
|
|
- multiple: true,
|
|
|
- // 显示搜索条件
|
|
|
- showSearch: true,
|
|
|
- // 总条数
|
|
|
- total: 0,
|
|
|
- // 报价表格数据
|
|
|
- infoList: [],
|
|
|
- // 控制器列表
|
|
|
- controllerList: [],
|
|
|
- // 弹出层标题
|
|
|
- title: "",
|
|
|
- // 是否显示弹出层
|
|
|
- open: false,
|
|
|
- //查询参数规则
|
|
|
- queryRules: {
|
|
|
- controllerPrice: [
|
|
|
- {
|
|
|
- validator: controllerPriceValidator,
|
|
|
- trigger: "change",
|
|
|
- type: "number",
|
|
|
- },
|
|
|
- ],
|
|
|
- unitPowerKwMin: [
|
|
|
- {
|
|
|
- required: false,
|
|
|
- message: "请输入数字",
|
|
|
- trigger: "change",
|
|
|
- type: "number",
|
|
|
- },
|
|
|
- ],
|
|
|
- unitPowerKwMax: [
|
|
|
- {
|
|
|
- required: false,
|
|
|
- message: "请输入数字",
|
|
|
- trigger: "change",
|
|
|
- type: "number",
|
|
|
- },
|
|
|
- ],
|
|
|
- unitPowerKvaMax: [
|
|
|
- {
|
|
|
- required: false,
|
|
|
- message: "请输入数字",
|
|
|
- trigger: "change",
|
|
|
- type: "number",
|
|
|
- },
|
|
|
- ],
|
|
|
- unitPowerKvaMin: [
|
|
|
- {
|
|
|
- required: false,
|
|
|
- message: "请输入数字",
|
|
|
- trigger: "change",
|
|
|
- type: "number",
|
|
|
- },
|
|
|
- ],
|
|
|
- },
|
|
|
- //计算参数
|
|
|
- computedQuery: computedQuery,
|
|
|
- // 查询参数
|
|
|
- queryParams: {
|
|
|
- pageNum: 1,
|
|
|
- pageSize: 10,
|
|
|
- brand: null,
|
|
|
- unitModel: null,
|
|
|
- unitPowerKwMax: null,
|
|
|
- unitPowerKwMin: null,
|
|
|
- controllerPrice: 0,
|
|
|
- controllerModel: "",
|
|
|
-
|
|
|
- unitPowerKvaMax: null,
|
|
|
- unitPowerKvaMin: 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: {},
|
|
|
- };
|
|
|
- },
|
|
|
- computed: {
|
|
|
- ...mapGetters([
|
|
|
- "permissions",
|
|
|
- "roles",
|
|
|
- "tableColumnWidth",
|
|
|
- "tableColumnWidthSamll",
|
|
|
- "tableColumnWidthMini",
|
|
|
- ]),
|
|
|
- },
|
|
|
- created() {
|
|
|
- this.getControllerList();
|
|
|
-
|
|
|
- this.getSearchOption();
|
|
|
- },
|
|
|
- methods: {
|
|
|
- //检查用户是否可以看
|
|
|
- checkPermissions(permissions) {
|
|
|
- let res = false;
|
|
|
- //管理员权限完整
|
|
|
- if (this.roles.includes("admin")) {
|
|
|
- return true;
|
|
|
- } else {
|
|
|
- if (Array.isArray(permissions)) {
|
|
|
- res = permissions.every((item) => {
|
|
|
- return this.permissions.includes(item);
|
|
|
- });
|
|
|
- } else {
|
|
|
- res = this.permissions.includes(permissions);
|
|
|
- }
|
|
|
- return res;
|
|
|
- }
|
|
|
- },
|
|
|
-
|
|
|
- computedTotalPrice(row, alternatorPrice) {
|
|
|
- let totalPrice =
|
|
|
- row.powerPrice +
|
|
|
- alternatorPrice +
|
|
|
- row[computedQuery.accessory] +
|
|
|
- computedQuery.controllerPrice +
|
|
|
- (computedQuery.isHaveAst ? row.atsPrice : 0) +
|
|
|
- row.batteryPrice;
|
|
|
- totalPrice = Math.round(totalPrice);
|
|
|
- return totalPrice;
|
|
|
- },
|
|
|
- getControllerList() {
|
|
|
- controllerListInfo().then((response) => {
|
|
|
- this.controllerList = response.rows;
|
|
|
- this.computedQuery.controllerModel = response.rows[0].controllerModel;
|
|
|
- this.computedQuery.controllerPrice = response.rows[0].controllerPrice;
|
|
|
- });
|
|
|
- },
|
|
|
- handleSuccess() {
|
|
|
- this.msgSuccess("上传成功");
|
|
|
- this.getSearchOption();
|
|
|
- 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);
|
|
|
- });
|
|
|
- // getFieldName('rate').then(response => {
|
|
|
- // this.$set(this.searchOption, 3, 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.$refs["queryForm"].validate((valid) => {
|
|
|
- if (valid) {
|
|
|
- this.controllerModel = this.queryParams.controllerModel || "";
|
|
|
- this.controllerPrice = this.queryParams.controllerPrice || 0;
|
|
|
- this.queryParams.pageNum = 1;
|
|
|
- this.getList();
|
|
|
- } else {
|
|
|
- return false;
|
|
|
- }
|
|
|
- });
|
|
|
- },
|
|
|
- /** 重置按钮操作 */
|
|
|
- resetQuery() {
|
|
|
- this.controllerPrice = 0;
|
|
|
- this.controllerModel = "";
|
|
|
-
|
|
|
- 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>
|
|
|
- <style lang="scss">
|
|
|
- .bg-lightpink {
|
|
|
- background: lightpink;
|
|
|
- }
|
|
|
- .bg-lightblue {
|
|
|
- background: lightblue;
|
|
|
- }
|
|
|
- .bg-lightcyan {
|
|
|
- background: lightcyan;
|
|
|
- }
|
|
|
- .bg-lightskyblue {
|
|
|
- background: lightskyblue;
|
|
|
- }
|
|
|
- .bg-lightgoldenrodyellow {
|
|
|
- background: lightgoldenrodyellow;
|
|
|
- }
|
|
|
- </style>
|
|
|
+<template>
|
|
|
+ <div class="app-container">
|
|
|
+ <el-form
|
|
|
+ :rules="queryRules"
|
|
|
+ :model="queryParams"
|
|
|
+ ref="queryForm"
|
|
|
+ :inline="true"
|
|
|
+ v-show="showSearch"
|
|
|
+ label-width="68px"
|
|
|
+ >
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item
|
|
|
+ label-width="auto"
|
|
|
+ label="机组功率(kw)区间"
|
|
|
+ prop="unitPowerKwMin"
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ v-model.number="queryParams.unitPowerKwMin"
|
|
|
+ placeholder="请选择机组功率(kw)"
|
|
|
+ clearable
|
|
|
+ size="small"
|
|
|
+ @keyup.enter.native="handleQuery"
|
|
|
+ >
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label-width="auto" label="到" prop="unitPowerKwMax">
|
|
|
+ <el-input
|
|
|
+ v-model.number="queryParams.unitPowerKwMax"
|
|
|
+ placeholder="请选择机组功率(kw)"
|
|
|
+ clearable
|
|
|
+ size="small"
|
|
|
+ @keyup.enter.native="handleQuery"
|
|
|
+ >
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ label-width="auto"
|
|
|
+ label="机组功率(kva)区间"
|
|
|
+ prop="unitPowerKvaMin"
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ v-model.number="queryParams.unitPowerKvaMin"
|
|
|
+ placeholder="请选择机组功率(kva)"
|
|
|
+ clearable
|
|
|
+ size="small"
|
|
|
+ @keyup.enter.native="handleQuery"
|
|
|
+ >
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label-width="auto" label="到" prop="unitPowerKvaMax">
|
|
|
+ <el-input
|
|
|
+ v-model.number="queryParams.unitPowerKvaMax"
|
|
|
+ placeholder="请选择机组功率(kva)"
|
|
|
+ clearable
|
|
|
+ size="small"
|
|
|
+ @keyup.enter.native="handleQuery"
|
|
|
+ >
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+
|
|
|
+ <!-- <el-col :span="12">
|
|
|
+ </el-col> -->
|
|
|
+ <!-- <el-col :span="24">
|
|
|
+
|
|
|
+
|
|
|
+ </el-col> -->
|
|
|
+ <el-col :span="24">
|
|
|
+ <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]"
|
|
|
+ :key="index"
|
|
|
+ :value="item"
|
|
|
+ :label="item"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item label-width="auto" label="配件" prop="accessory">
|
|
|
+ <el-select v-model="computedQuery.accessory">
|
|
|
+ <el-option key="1" value="mutePrice" label="静音机壳"></el-option>
|
|
|
+ <el-option key="2" value="openPrice" label="开架"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label-width="auto" label="AST" prop="unitPowerKvaMax">
|
|
|
+ <el-select v-model="computedQuery.isHaveAst">
|
|
|
+ <el-option key="1" :value="true" label="有"></el-option>
|
|
|
+ <el-option key="2" :value="false" label="无"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="控制器" prop="controllerPrice">
|
|
|
+ <el-select
|
|
|
+ v-model="computedQuery.controllerPrice"
|
|
|
+ placeholder="请选择控制器"
|
|
|
+ clearable
|
|
|
+ size="small"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ @click.native="
|
|
|
+ () => {
|
|
|
+ computedQuery.controllerModel = item.controllerModel;
|
|
|
+ }
|
|
|
+ "
|
|
|
+ v-for="(item, index) in controllerList"
|
|
|
+ :label="item.controllerModel"
|
|
|
+ :value="item.controllerPrice"
|
|
|
+ :key="index"
|
|
|
+ ></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-col>
|
|
|
+ </el-row>
|
|
|
+ </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
|
|
|
+ v-hasPermi="['price:info:import']"
|
|
|
+ :show-file-list="false"
|
|
|
+ class="upload-demo"
|
|
|
+ with-credentials
|
|
|
+ :headers="{
|
|
|
+ Authorization: 'Bearer ' + token,
|
|
|
+ }"
|
|
|
+ :action="uploadUrl+'/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:import']"
|
|
|
+ >导入</el-button
|
|
|
+ >
|
|
|
+ </el-upload>
|
|
|
+ </el-col>
|
|
|
+ <right-toolbar
|
|
|
+ :showSearch.sync="showSearch"
|
|
|
+ @queryTable="getList"
|
|
|
+ ></right-toolbar>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ <el-table
|
|
|
+ fit
|
|
|
+ size="mini"
|
|
|
+ :row-style="{ height: '25px' }"
|
|
|
+ v-loading="loading"
|
|
|
+ :data="infoList"
|
|
|
+ @selection-change="handleSelectionChange"
|
|
|
+ >
|
|
|
+ <el-table-column type="selection" width="40" align="center" />
|
|
|
+
|
|
|
+ <el-table-column
|
|
|
+ fixed
|
|
|
+ :width="tableColumnWidthSmall"
|
|
|
+ label="机组型号"
|
|
|
+ align="center"
|
|
|
+ prop="unitModel"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ fixed
|
|
|
+ :width="tableColumnWidthMini"
|
|
|
+ label="机组功率(kw)"
|
|
|
+ align="center"
|
|
|
+ prop="unitPowerKw"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ fixed
|
|
|
+ :width="tableColumnWidthMini"
|
|
|
+ label="机组功率备用(kw)"
|
|
|
+ align="center"
|
|
|
+ prop="unitPowerKwSpare"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ fixed
|
|
|
+ :width="tableColumnWidthMini"
|
|
|
+ label="机组功率(kva)"
|
|
|
+ align="center"
|
|
|
+ prop="unitPowerKva"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ fixed
|
|
|
+ :width="tableColumnWidthMini"
|
|
|
+ label="机组功率备用(kva)"
|
|
|
+ align="center"
|
|
|
+ prop="unitPowerKvaSpare"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ :width="tableColumnWidthMini"
|
|
|
+ label="频率(Hz)"
|
|
|
+ align="center"
|
|
|
+ prop="rate"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ :width="tableColumnWidthSmall"
|
|
|
+ label="柴油机型号"
|
|
|
+ align="center"
|
|
|
+ prop="dieselEngineModel"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ :width="'100px'"
|
|
|
+ label="品牌"
|
|
|
+ align="center"
|
|
|
+ prop="brand"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ :width="tableColumnWidthMini"
|
|
|
+ label="转速"
|
|
|
+ align="center"
|
|
|
+ prop="speed"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ :width="tableColumnWidthMini"
|
|
|
+ v-hasPermi="['price:info:list:powerPrice']"
|
|
|
+ v-if="checkPermissions(['price:info:list:powerPrice'])"
|
|
|
+ label="动力价格"
|
|
|
+ align="center"
|
|
|
+ prop="powerPrice"
|
|
|
+ />
|
|
|
+
|
|
|
+ <el-table-column
|
|
|
+ :width="tableColumnWidthSmall"
|
|
|
+ label="发电机型号(仿斯坦福)"
|
|
|
+ align="center"
|
|
|
+ prop="generatorModelFstf"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ :width="tableColumnWidthMini"
|
|
|
+ label="发电机价格(仿斯坦福)"
|
|
|
+ v-if="checkPermissions(['price:info:list:generatorPrice'])"
|
|
|
+ v-hasPermi="['price:info:list:generatorPrice']"
|
|
|
+ align="center"
|
|
|
+ prop="generatorPriceFstf"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ :width="tableColumnWidthSmall"
|
|
|
+ label="发电机型号(利来森马)"
|
|
|
+ align="center"
|
|
|
+ prop="generatorModelLlsm"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ :width="tableColumnWidthMini"
|
|
|
+ label="发电机价格(利来森马)"
|
|
|
+ v-if="checkPermissions(['price:info:list:generatorPrice'])"
|
|
|
+ v-hasPermi="['price:info:list:generatorPrice']"
|
|
|
+ align="center"
|
|
|
+ prop="generatorPriceLlsm"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ :width="tableColumnWidthSmall"
|
|
|
+ label="发电机型号(美迪奥)"
|
|
|
+ align="center"
|
|
|
+ prop="generatorModelMda"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ :width="tableColumnWidthMini"
|
|
|
+ label="发电机价格(美迪奥)"
|
|
|
+ v-if="checkPermissions(['price:info:list:generatorPrice'])"
|
|
|
+ v-hasPermi="['price:info:list:generatorPrice']"
|
|
|
+ align="center"
|
|
|
+ prop="generatorPriceMda"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ :width="tableColumnWidthSmall"
|
|
|
+ label="发电机型号(马拉松)"
|
|
|
+ align="center"
|
|
|
+ prop="generatorModelMls"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ :width="tableColumnWidthMini"
|
|
|
+ label="发电机价格(马拉松)"
|
|
|
+ v-if="checkPermissions(['price:info:list:generatorPrice'])"
|
|
|
+ v-hasPermi="['price:info:list:generatorPrice']"
|
|
|
+ align="center"
|
|
|
+ prop="generatorPriceMls"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ :width="tableColumnWidthSmall"
|
|
|
+ label="发电机型号(斯坦福)"
|
|
|
+ align="center"
|
|
|
+ prop="generatorModelStf"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ :width="tableColumnWidthMini"
|
|
|
+ label="发电机价格(斯坦福)"
|
|
|
+ v-if="checkPermissions(['price:info:list:generatorPrice'])"
|
|
|
+ v-hasPermi="['price:info:list:generatorPrice']"
|
|
|
+ align="center"
|
|
|
+ prop="generatorPriceStf"
|
|
|
+ />
|
|
|
+
|
|
|
+ <el-table-column
|
|
|
+ :width="tableColumnWidthMini"
|
|
|
+ v-if="
|
|
|
+ computedQuery.accessory == 'mutePrice' &&
|
|
|
+ checkPermissions(['price:info:list:mutePrice'])
|
|
|
+ "
|
|
|
+ label="静音机壳价格"
|
|
|
+ align="center"
|
|
|
+ v-hasPermi="['price:info:list:mutePrice']"
|
|
|
+ prop="mutePrice"
|
|
|
+ />
|
|
|
+
|
|
|
+ <el-table-column
|
|
|
+ :width="tableColumnWidthMini"
|
|
|
+ v-if="
|
|
|
+ computedQuery.accessory == 'openPrice' &&
|
|
|
+ checkPermissions(['price:info:list:openPrice'])
|
|
|
+ "
|
|
|
+ label="开架价格"
|
|
|
+ align="center"
|
|
|
+ v-hasPermi="['price:info:list:openPrice']"
|
|
|
+ prop="openPrice"
|
|
|
+ />
|
|
|
+
|
|
|
+ <el-table-column
|
|
|
+ :width="tableColumnWidthMini"
|
|
|
+ v-if="computedQuery.isHaveAst"
|
|
|
+ label="ATS型号"
|
|
|
+ align="center"
|
|
|
+ prop="atsModel"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ :width="tableColumnWidthMini"
|
|
|
+ v-if="
|
|
|
+ computedQuery.isHaveAst &&
|
|
|
+ checkPermissions(['price:info:list:astPrice'])
|
|
|
+ "
|
|
|
+ v-hasPermi="['price:info:list:astPrice']"
|
|
|
+ label="ATS价格"
|
|
|
+ align="center"
|
|
|
+ prop="atsPrice"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ :width="tableColumnWidthMini"
|
|
|
+ label="电瓶型号"
|
|
|
+ align="center"
|
|
|
+ prop="batteryModel"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ :width="tableColumnWidthMini"
|
|
|
+ label="电瓶价格"
|
|
|
+ v-hasPermi="['price:info:list:batteryPrice']"
|
|
|
+ v-if="checkPermissions(['price:info:list:batteryPrice'])"
|
|
|
+ align="center"
|
|
|
+ prop="batteryPrice"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ :width="tableColumnWidthMini"
|
|
|
+ label="控制器型号"
|
|
|
+ align="center"
|
|
|
+ prop="controllerModel"
|
|
|
+ >
|
|
|
+ <template>
|
|
|
+ {{ computedQuery.controllerModel }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ :width="tableColumnWidthMini"
|
|
|
+ v-hasPermi="['price:info:list:controllerPrice']"
|
|
|
+ v-if="checkPermissions(['price:info:list:controllerPrice'])"
|
|
|
+ label="控制器价格"
|
|
|
+ align="center"
|
|
|
+ prop="controllerPrice"
|
|
|
+ >
|
|
|
+ <template>
|
|
|
+ {{ computedQuery.controllerPrice }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+
|
|
|
+ <el-table-column
|
|
|
+ class-name="bg-lightpink"
|
|
|
+ :width="tableColumnWidthMini"
|
|
|
+ label="合计含税成本(仿斯坦福)"
|
|
|
+ align="center"
|
|
|
+ prop="totalCostMuteFstf"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span v-if="scope.row.generatorPriceFstf">
|
|
|
+ {{ computedTotalPrice(scope.row, scope.row.generatorPriceFstf) }}
|
|
|
+ </span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ class-name="bg-lightblue"
|
|
|
+ :width="tableColumnWidthMini"
|
|
|
+ label="合计含税成本(利来森马)"
|
|
|
+ align="center"
|
|
|
+ prop="totalCostMuteLlsm"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span v-if="scope.row.generatorPriceLlsm"> {{ computedTotalPrice(scope.row, scope.row.generatorPriceLlsm) }}</span>
|
|
|
+
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ class-name="bg-lightcyan"
|
|
|
+ :width="tableColumnWidthMini"
|
|
|
+ label="合计含税成本(美迪奥)"
|
|
|
+ align="center"
|
|
|
+ prop="totalCostMuteMda"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span v-if="scope.row.generatorPriceMda"> {{ computedTotalPrice(scope.row, scope.row.generatorPriceMda) }}</span>
|
|
|
+
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ class-name="bg-lightskyblue"
|
|
|
+ :width="tableColumnWidthMini"
|
|
|
+ label="合计含税成本(马拉松)"
|
|
|
+ align="center"
|
|
|
+ prop="totalCostMuteMls"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span v-if="scope.row.generatorPriceMls">{{ computedTotalPrice(scope.row, scope.row.generatorPriceMls) }}</span>
|
|
|
+
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ class-name="bg-lightgoldenrodyellow"
|
|
|
+ :width="tableColumnWidthMini"
|
|
|
+ label="合计含税成本(斯坦福)"
|
|
|
+ align="center"
|
|
|
+ prop="totalCostMuteStf"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span v-if="scope.row.generatorPriceStf">{{ computedTotalPrice(scope.row, scope.row.generatorPriceStf) }}</span>
|
|
|
+
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ width="100px"
|
|
|
+ v-if="computedQuery.accessory == 'openPrice'"
|
|
|
+ label="开架尺寸(长/宽/高/重量)"
|
|
|
+ align="center"
|
|
|
+ prop="openParms"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ :width="'100px'"
|
|
|
+ v-if="computedQuery.accessory == 'mutePrice'"
|
|
|
+ label="静音尺寸(长/宽/高/重量)"
|
|
|
+ align="center"
|
|
|
+ prop="muteParms"
|
|
|
+ />
|
|
|
+
|
|
|
+ <!-- <el-table-column :width="tableColumnWidthMini" label="静音尺寸" align="center" prop="muteLong" />
|
|
|
+ <el-table-column :width="tableColumnWidthMini" label="静音尺寸" align="center" prop="muteWidth" />
|
|
|
+ <el-table-column :width="tableColumnWidthMini" label="静音尺寸" align="center" prop="muteHigh" />
|
|
|
+ <el-table-column :width="tableColumnWidthMini" label="开架尺寸" align="center" prop="openLong" />
|
|
|
+ <el-table-column :width="tableColumnWidthMini" label="开架尺寸" align="center" prop="openWidth" />
|
|
|
+ <el-table-column :width="tableColumnWidthMini" label="开架尺寸" align="center" prop="openHigh" />
|
|
|
+ <el-table-column :width="tableColumnWidthMini" label="CKD尺寸" align="center" prop="ckdLong" />
|
|
|
+ <el-table-column :width="tableColumnWidthMini" label="CKD尺寸" align="center" prop="ckdWidth" />
|
|
|
+ <el-table-column :width="tableColumnWidthMini" label="CKD尺寸" align="center" prop="ckdHigh" /> -->
|
|
|
+ <el-table-column
|
|
|
+ :width="tableColumnWidthMini"
|
|
|
+ width="180px"
|
|
|
+ label="操作"
|
|
|
+ align="center"
|
|
|
+ class-name="small-padding fixed-width"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div style="display: inline-flex">
|
|
|
+ <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 + '&type=1');
|
|
|
+ }
|
|
|
+ "
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-picture-outline"
|
|
|
+ >图片</el-button
|
|
|
+ >
|
|
|
+
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-delete"
|
|
|
+ @click="handleDelete(scope.row)"
|
|
|
+ v-hasPermi="['price:info:remove']"
|
|
|
+ >删除</el-button
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ </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-select
|
|
|
+ v-model="form.brand"
|
|
|
+ placeholder="请选择品牌"
|
|
|
+ clearable
|
|
|
+ size="small"
|
|
|
+ @keyup.enter.native="handleQuery"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in searchOption[0]"
|
|
|
+ :value="item"
|
|
|
+ :key="index"
|
|
|
+ :label="item"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </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="brand">
|
|
|
+ <el-input v-model="form.brand" placeholder="请输入动力品牌" />
|
|
|
+ </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="generatorModelFstf">
|
|
|
+ <el-input
|
|
|
+ v-model="form.generatorModelFstf"
|
|
|
+ placeholder="请输入发电机型号(仿斯坦福)"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="发电机价格(仿斯坦福)" prop="generatorPriceFstf">
|
|
|
+ <el-input
|
|
|
+ v-model="form.generatorPriceFstf"
|
|
|
+ placeholder="请输入发电机价格(仿斯坦福)"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="发电机型号(斯坦福)" prop="generatorModelStf">
|
|
|
+ <el-input
|
|
|
+ v-model="form.generatorModelStf"
|
|
|
+ placeholder="请输入发电机型号(斯坦福)"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="发电机价格(斯坦福)" prop="generatorPriceStf">
|
|
|
+ <el-input
|
|
|
+ v-model="form.generatorPriceStf"
|
|
|
+ placeholder="请输入发电机价格(斯坦福)"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="发电机型号(利来森马)" prop="generatorModelLlsm">
|
|
|
+ <el-input
|
|
|
+ v-model="form.generatorModelLlsm"
|
|
|
+ placeholder="请输入发电机型号(利来森马)"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="发电机价格(利来森马)" prop="generatorPriceLlsm">
|
|
|
+ <el-input
|
|
|
+ v-model="form.generatorPriceLlsm"
|
|
|
+ placeholder="请输入发电机价格(利来森马)"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="发电机型号(马拉松)" prop="generatorModelMls">
|
|
|
+ <el-input
|
|
|
+ v-model="form.generatorModelMls"
|
|
|
+ placeholder="请输入发电机型号(马拉松)"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="发电机价格(马拉松)" prop="generatorPriceMls">
|
|
|
+ <el-input
|
|
|
+ v-model="form.generatorPriceMls"
|
|
|
+ placeholder="请输入发电机价格(马拉松)"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="发电机型号(美迪奥)" prop="generatorModelMda">
|
|
|
+ <el-input
|
|
|
+ v-model="form.generatorModelMda"
|
|
|
+ placeholder="请输入发电机型号(美迪奥)"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="发电机价格(美迪奥)" prop="generatorPriceMda">
|
|
|
+ <el-input
|
|
|
+ v-model="form.generatorPriceMda"
|
|
|
+ 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="totalCostMuteFstf"
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ v-model="form.totalCostMuteFstf"
|
|
|
+ placeholder="请输入合计含税成本(静音配仿斯坦福)"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ label="合计含税成本(开架配仿斯坦福)"
|
|
|
+ prop="totalCostOpenFstf"
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ v-model="form.totalCostOpenFstf"
|
|
|
+ placeholder="请输入合计含税成本(开架配仿斯坦福)"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ label="合计含税成本(静音配斯坦福)"
|
|
|
+ prop="totalCostMuteStf"
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ v-model="form.totalCostMuteStf"
|
|
|
+ placeholder="请输入合计含税成本(静音配斯坦福)"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ label="合计含税成本(开架配斯坦福)"
|
|
|
+ prop="totalCostOpenStf"
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ v-model="form.totalCostOpenStf"
|
|
|
+ placeholder="请输入合计含税成本(开架配斯坦福)"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ label="合计含税成本(静音配利来森马)"
|
|
|
+ prop="totalCostMuteLlsm"
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ v-model="form.totalCostMuteLlsm"
|
|
|
+ placeholder="请输入合计含税成本(静音配利来森马)"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ label="合计含税成本(开架配利来森马)"
|
|
|
+ prop="totalCostOpenLlsm"
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ v-model="form.totalCostOpenLlsm"
|
|
|
+ placeholder="请输入合计含税成本(开架配利来森马)"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ label="合计含税成本(静音配马拉松)"
|
|
|
+ prop="totalCostMuteMls"
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ v-model="form.totalCostMuteMls"
|
|
|
+ placeholder="请输入合计含税成本(静音配马拉松)"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ label="合计含税成本(开架配马拉松)"
|
|
|
+ prop="totalCostOpenMls"
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ v-model="form.totalCostOpenMls"
|
|
|
+ placeholder="请输入合计含税成本(开架配马拉松)"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ label="合计含税成本(静音配美迪奥)"
|
|
|
+ prop="totalCostMuteMda"
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ v-model="form.totalCostMuteMda"
|
|
|
+ placeholder="请输入合计含税成本(静音配美迪奥)"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ label="合计含税成本(开架配美迪奥)"
|
|
|
+ prop="totalCostOpenMda"
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ v-model="form.totalCostOpenMda"
|
|
|
+ placeholder="请输入合计含税成本(开架配美迪奥)"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="静音尺寸" prop="muteParms">
|
|
|
+ <el-input v-model="form.muteParms" placeholder="请输入静音尺寸" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="静音尺寸" prop="openParms">
|
|
|
+ <el-input v-model="form.openParms" placeholder="请输入静音尺寸" />
|
|
|
+ </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/managehz50";
|
|
|
+ import { listInfo as controllerListInfo } from "@/api/price/controller";
|
|
|
+ import { getToken } from "@/utils/auth";
|
|
|
+ import { mapGetters } from "vuex";
|
|
|
+ let computedQuery = {
|
|
|
+ accessory: "mutePrice",
|
|
|
+ isHaveAst: true,
|
|
|
+ controllerPrice: null,
|
|
|
+ controllerModel: null,
|
|
|
+ };
|
|
|
+ const controllerPriceValidator = (rule, value, callBack) => {
|
|
|
+ console.log(computedQuery.controllerPrice && computedQuery.controllerModel);
|
|
|
+ if (computedQuery.controllerPrice && computedQuery.controllerModel) {
|
|
|
+ callBack();
|
|
|
+ } else {
|
|
|
+ callBack(new Error("必须选择一个控制器"));
|
|
|
+ }
|
|
|
+ };
|
|
|
+ export default {
|
|
|
+ name: "Info",
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ controllerModel: "",
|
|
|
+ controllerPrice: 0,
|
|
|
+ token: getToken(), uploadUrl:process.env.VUE_APP_BASE_API,
|
|
|
+ fileList: [],
|
|
|
+ //搜索下拉选项
|
|
|
+ searchOption: [[], [], [], []],
|
|
|
+ // 遮罩层
|
|
|
+ loading: false,
|
|
|
+ // 选中数组
|
|
|
+ ids: [],
|
|
|
+ // 非单个禁用
|
|
|
+ single: true,
|
|
|
+ // 非多个禁用
|
|
|
+ multiple: true,
|
|
|
+ // 显示搜索条件
|
|
|
+ showSearch: true,
|
|
|
+ // 总条数
|
|
|
+ total: 0,
|
|
|
+ // 报价表格数据
|
|
|
+ infoList: [],
|
|
|
+ // 控制器列表
|
|
|
+ controllerList: [],
|
|
|
+ // 弹出层标题
|
|
|
+ title: "",
|
|
|
+ // 是否显示弹出层
|
|
|
+ open: false,
|
|
|
+ //查询参数规则
|
|
|
+ queryRules: {
|
|
|
+ controllerPrice: [
|
|
|
+ {
|
|
|
+ validator: controllerPriceValidator,
|
|
|
+ trigger: "change",
|
|
|
+ type: "number",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ unitPowerKwMin: [
|
|
|
+ {
|
|
|
+ required: false,
|
|
|
+ message: "请输入数字",
|
|
|
+ trigger: "change",
|
|
|
+ type: "number",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ unitPowerKwMax: [
|
|
|
+ {
|
|
|
+ required: false,
|
|
|
+ message: "请输入数字",
|
|
|
+ trigger: "change",
|
|
|
+ type: "number",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ unitPowerKvaMax: [
|
|
|
+ {
|
|
|
+ required: false,
|
|
|
+ message: "请输入数字",
|
|
|
+ trigger: "change",
|
|
|
+ type: "number",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ unitPowerKvaMin: [
|
|
|
+ {
|
|
|
+ required: false,
|
|
|
+ message: "请输入数字",
|
|
|
+ trigger: "change",
|
|
|
+ type: "number",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ //计算参数
|
|
|
+ computedQuery: computedQuery,
|
|
|
+ // 查询参数
|
|
|
+ queryParams: {
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: 10,
|
|
|
+ brand: null,
|
|
|
+ unitModel: null,
|
|
|
+ unitPowerKwMax: null,
|
|
|
+ unitPowerKwMin: null,
|
|
|
+ controllerPrice: 0,
|
|
|
+ controllerModel: "",
|
|
|
+
|
|
|
+ unitPowerKvaMax: null,
|
|
|
+ unitPowerKvaMin: 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: {},
|
|
|
+ };
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ ...mapGetters([
|
|
|
+ "permissions",
|
|
|
+ "roles",
|
|
|
+ "tableColumnWidth",
|
|
|
+ "tableColumnWidthSamll",
|
|
|
+ "tableColumnWidthMini",
|
|
|
+ ]),
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.getControllerList();
|
|
|
+
|
|
|
+ this.getSearchOption();
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ //检查用户是否可以看
|
|
|
+ checkPermissions(permissions) {
|
|
|
+ let res = false;
|
|
|
+ //管理员权限完整
|
|
|
+ if (this.roles.includes("admin")) {
|
|
|
+ return true;
|
|
|
+ } else {
|
|
|
+ if (Array.isArray(permissions)) {
|
|
|
+ res = permissions.every((item) => {
|
|
|
+ return this.permissions.includes(item);
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ res = this.permissions.includes(permissions);
|
|
|
+ }
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ computedTotalPrice(row, alternatorPrice) {
|
|
|
+ let totalPrice =
|
|
|
+ row.powerPrice +
|
|
|
+ alternatorPrice +
|
|
|
+ row[computedQuery.accessory] +
|
|
|
+ computedQuery.controllerPrice +
|
|
|
+ (computedQuery.isHaveAst ? row.atsPrice : 0) +
|
|
|
+ row.batteryPrice;
|
|
|
+ totalPrice = Math.round(totalPrice);
|
|
|
+ return totalPrice;
|
|
|
+ },
|
|
|
+ getControllerList() {
|
|
|
+ controllerListInfo().then((response) => {
|
|
|
+ this.controllerList = response.rows;
|
|
|
+ this.computedQuery.controllerModel = response.rows[0].controllerModel;
|
|
|
+ this.computedQuery.controllerPrice = response.rows[0].controllerPrice;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ handleSuccess() {
|
|
|
+ this.msgSuccess("上传成功");
|
|
|
+ this.getSearchOption();
|
|
|
+ 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);
|
|
|
+ });
|
|
|
+ // getFieldName('rate').then(response => {
|
|
|
+ // this.$set(this.searchOption, 3, 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.$refs["queryForm"].validate((valid) => {
|
|
|
+ if (valid) {
|
|
|
+ this.controllerModel = this.queryParams.controllerModel || "";
|
|
|
+ this.controllerPrice = this.queryParams.controllerPrice || 0;
|
|
|
+ this.queryParams.pageNum = 1;
|
|
|
+ this.getList();
|
|
|
+ } else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /** 重置按钮操作 */
|
|
|
+ resetQuery() {
|
|
|
+ this.controllerPrice = 0;
|
|
|
+ this.controllerModel = "";
|
|
|
+
|
|
|
+ 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>
|
|
|
+ <style lang="scss">
|
|
|
+ .bg-lightpink {
|
|
|
+ background: lightpink;
|
|
|
+ }
|
|
|
+ .bg-lightblue {
|
|
|
+ background: lightblue;
|
|
|
+ }
|
|
|
+ .bg-lightcyan {
|
|
|
+ background: lightcyan;
|
|
|
+ }
|
|
|
+ .bg-lightskyblue {
|
|
|
+ background: lightskyblue;
|
|
|
+ }
|
|
|
+ .bg-lightgoldenrodyellow {
|
|
|
+ background: lightgoldenrodyellow;
|
|
|
+ }
|
|
|
+ </style>
|