Browse Source

计算公式和备用功率字段增加

JXDS18FUJT 2 năm trước cách đây
mục cha
commit
e66849f4c8
2 tập tin đã thay đổi với 81 bổ sung57 xóa
  1. 1 1
      src/views/login.vue
  2. 80 56
      src/views/price/manage/index.vue

+ 1 - 1
src/views/login.vue

@@ -129,7 +129,7 @@ export default {
           this.$store
             .dispatch("Login", this.loginForm)
             .then(() => {
-              this.$router.push("/query");
+              this.$router.push("/manage");
             })
             .catch(() => {
               this.loading = false;

+ 80 - 56
src/views/price/manage/index.vue

@@ -29,30 +29,8 @@
 
             </el-input>
           </el-form-item>
-          </el-col>
-          <el-col :span="24">
-          <el-form-item label-width="auto" label="配件" prop="accessory">
-            <el-select v-model="computedQuery.accessory" >
-              <el-option key="1" value="静音机壳"></el-option>
-              <el-option key="2" value="开架"></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 @clear="() => {
-              controllerPrice = 0
-            }" v-model="queryParams.controllerPrice" placeholder="请选择控制器" clearable size="small">
-              <el-option v-for="(item, index) in controllerList" @click.native="() => {
-                queryParams.controllerModel = item.controllerModel
-              }" :label="item.controllerModel" :value="item.controllerPrice" :key="index"></el-option>
-            </el-select>
-          </el-form-item>
         </el-col>
+
         <!-- <el-col :span="12">
 </el-col> -->
         <el-col :span="24">
@@ -70,12 +48,34 @@
               <el-option v-for="(item, index) in searchOption[3]" :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-col>
+        <el-col :span="24">
+          <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-col>
       </el-row>
     </el-form>
 
@@ -117,39 +117,43 @@
 
       <el-table-column width="100px" label="机组型号" align="center" prop="unitModel" />
       <el-table-column label="机组功率(kw)" align="center" prop="unitPowerKw" />
+      <el-table-column label="机组功率备用(kw)" align="center" prop="unitPowerKwSpare" />
       <el-table-column label="机组功率(kva)" align="center" prop="unitPowerKva" />
+      <el-table-column label="机组功率备用(kva)" align="center" prop="unitPowerKvaSpare" />
       <el-table-column label="频率(Hz)" align="center" prop="rate" />
       <el-table-column width="100px" label="柴油机型号" align="center" prop="dieselEngineModel" />
       <el-table-column label="品牌" align="center" prop="brand" />
       <el-table-column label="转速" align="center" prop="speed" />
-      <el-table-column label="动力价格" align="center" prop="powerPrice" />
+      <el-table-column v-hasPermi="['price:info:list:powerPrice']" label="动力价格" align="center" prop="powerPrice" />
 
       <el-table-column label="发电机型号(仿斯坦福)" align="center" prop="generatorModelFstf" />
-      <el-table-column label="发电机价格(仿斯坦福)" align="center" prop="generatorPriceFstf" />
+      <el-table-column label="发电机价格(仿斯坦福)" v-hasPermi="['price:info:list:generatorPrice']" align="center" prop="generatorPriceFstf" />
       <el-table-column label="发电机型号(利来森马)" align="center" prop="generatorModelLlsm" />
-      <el-table-column label="发电机价格(利来森马)" align="center" prop="generatorPriceLlsm" />
+      <el-table-column label="发电机价格(利来森马)" v-hasPermi="['price:info:list:generatorPrice']" align="center" prop="generatorPriceLlsm" />
       <el-table-column label="发电机型号(美迪奥)" align="center" prop="generatorModelMda" />
-      <el-table-column label="发电机价格(美迪奥)" align="center" prop="generatorPriceMda" />
+      <el-table-column label="发电机价格(美迪奥)" v-hasPermi="['price:info:list:generatorPrice']" align="center" prop="generatorPriceMda" />
       <el-table-column label="发电机型号(马拉松)" align="center" prop="generatorModelMls" />
-      <el-table-column label="发电机价格(马拉松)" align="center" prop="generatorPriceMls" />
+      <el-table-column label="发电机价格(马拉松)" v-hasPermi="['price:info:list:generatorPrice']" align="center" prop="generatorPriceMls" />
       <el-table-column label="发电机型号(斯坦福)" align="center" prop="generatorModelStf" />
-      <el-table-column label="发电机价格(斯坦福)" align="center" prop="generatorPriceStf" />
-
-      <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="发电机价格(斯坦福)" v-hasPermi="['price:info:list:generatorPrice']" align="center" prop="generatorPriceStf" />
+
+      <el-table-column v-if="computedQuery.accessory=='mutePrice'" label="静音机壳价格"  align="center" v-hasPermi="['price:info:list:mutePrice']" prop="mutePrice" />
+     
+      <el-table-column v-if="computedQuery.accessory=='openPrice'" label="开架价格" align="center" v-hasPermi="['price:info:list:openPrice']" prop="openPrice" />
+  
+      <el-table-column v-if="computedQuery.isHaveAst" label="ATS型号" align="center" prop="atsModel" />
+      <el-table-column v-if="computedQuery.isHaveAst" v-hasPermi="['price:info:list:astPrice']" label="ATS价格" align="center" prop="atsPrice" />
+      <el-table-column label="电瓶型号" align="center"  prop="batteryModel" />
+      <el-table-column label="电瓶价格" v-hasPermi="['price:info:list:batteryPrice']"  align="center" prop="batteryPrice" />
       <el-table-column label="控制器型号" align="center" prop="controllerModel">
         <template>
-          {{ controllerModel }}
+          {{ computedQuery.controllerModel }}
 
         </template>
       </el-table-column>
-      <el-table-column label="控制器价格" align="center" prop="controllerPrice">
+      <el-table-column v-hasPermi="['price:info:list:controllerPrice']" label="控制器价格" align="center" prop="controllerPrice">
         <template>
-          {{ controllerPrice }}
+          {{ computedQuery.controllerPrice }}
 
         </template>
       </el-table-column>
@@ -157,31 +161,33 @@
 
       <el-table-column label="合计含税成本(仿斯坦福)" align="center" prop="totalCostMuteFstf">
         <template slot-scope="scope">
-          {{ scope.row.totalCostMuteFstf + controllerPrice }}
+          {{ computedTotalPrice(scope.row, scope.row.generatorPriceFstf) }}
         </template>
       </el-table-column>
       <el-table-column label="合计含税成本(利来森马)" align="center" prop="totalCostMuteLlsm">
         <template slot-scope="scope">
-          {{ scope.row.totalCostMuteFstf + controllerPrice }}
+          {{ computedTotalPrice(scope.row, scope.row.generatorPriceLlsm) }}
         </template>
       </el-table-column>
       <el-table-column label="合计含税成本(美迪奥)" align="center" prop="totalCostMuteMda">
         <template slot-scope="scope">
-          {{ scope.row.totalCostMuteFstf + controllerPrice }}
+          {{ computedTotalPrice(scope.row, scope.row.generatorPriceMda) }}
         </template>
       </el-table-column>
       <el-table-column label="合计含税成本(马拉松)" align="center" prop="totalCostMuteMls">
         <template slot-scope="scope">
-          {{ scope.row.totalCostMuteFstf + controllerPrice }}
+          {{ computedTotalPrice(scope.row, scope.row.generatorPriceMls) }}
         </template>
       </el-table-column>
       <el-table-column label="合计含税成本(斯坦福)" align="center" prop="totalCostMuteStf">
         <template slot-scope="scope">
-          {{ scope.row.totalCostMuteFstf + controllerPrice }}
+          {{ computedTotalPrice(scope.row, scope.row.generatorPriceStf) }}
         </template>
       </el-table-column>
+      <el-table-column v-if="computedQuery.accessory=='openPrice'" label="开架尺寸(长/宽/高/重量)" align="center" prop="openParms" />
+      <el-table-column v-if="computedQuery.accessory=='mutePrice'" label="静音尺寸(长/宽/高/重量)" align="center"  prop="muteParms" />
+     
 
-      
 
       <!-- <el-table-column label="静音尺寸" align="center" prop="muteLong" />
       <el-table-column label="静音尺寸" align="center" prop="muteWidth" />
@@ -192,7 +198,7 @@
       <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 width="180px"  label="操作" align="center" class-name="small-padding fixed-width">
+      <el-table-column 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)"
@@ -345,6 +351,23 @@
 import { listInfo, getInfo, delInfo, addInfo, updateInfo, exportInfo, getFieldName } from "@/api/price/manage";
 import { listInfo as controllerListInfo } from "@/api/price/controller";
 import { getToken } from '@/utils/auth'
+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() {
@@ -377,7 +400,7 @@ export default {
       open: false,
       //查询参数规则
       queryRules: {
-        controllerPrice: [{ required: true, message: '请选择控制器', trigger: 'change', type: 'number' }],
+        controllerPrice: [{ validator: controllerPriceValidator, trigger: 'change', type: 'number' }],
         unitPowerKwMin: [
           { required: false, message: '请输入数字', trigger: 'change', type: 'number' }
         ],
@@ -393,11 +416,7 @@ export default {
 
       },
       //计算参数
-      computedQuery: {
-        accessory:"开架",
-        isHaveAst:true
-      
-      },
+      computedQuery: computedQuery,
       // 查询参数
       queryParams: {
 
@@ -452,14 +471,19 @@ export default {
     this.getSearchOption()
   },
   methods: {
-    computedTotalPrice(row){
-      
+    computedTotalPrice(row, alternatorPrice) {
+
+      let totalPrice = row.powerPrice + alternatorPrice + row[computedQuery.accessory] + computedQuery.controllerPrice + (computedQuery.isHaveAst ? row.atsPrice : 0) + row.batteryPrice
+      return totalPrice
+
+
 
     },
     getControllerList() {
       controllerListInfo().then(response => {
         this.controllerList = response.rows;
-
+        this.computedQuery.controllerModel = response.rows[0].controllerModel
+        this.computedQuery.controllerPrice = response.rows[0].controllerPrice
       })
 
     },