|
@@ -8,8 +8,8 @@
|
|
|
<tableLayout :layout="tablecols" :data="list" :opwidth="200" height="calc(100vh - 550px)" :custom="true" fixedName="operation qty marketprice discountrate price countPrice" >
|
|
|
<template v-slot:customcol="scope">
|
|
|
<div v-if="scope.column.columnname == 'qty'">
|
|
|
- <el-input-number size="mini" v-if="editIndex == scope.column.data.sa_contract_itemsid" v-model="scope.column.data.qty" @change="qtyChange" :min="1" label="描述文字"></el-input-number>
|
|
|
- <el-input-number size="mini" v-else disabled v-model="scope.column.data.qty" @change="qtyChange" :min="1" label="描述文字"></el-input-number>
|
|
|
+ <el-input-number size="mini" v-if="editIndex == scope.column.data.sa_contract_itemsid" v-model="scope.column.data.qty" @change="qtyChange($event,scope.column.data,scope.column.data.index)" :min="1" label="描述文字"></el-input-number>
|
|
|
+ <el-input-number size="mini" v-else disabled v-model="scope.column.data.qty" @change="qtyChange($event,scope.column.data,scope.column.data.index)" :min="1" label="描述文字"></el-input-number>
|
|
|
</div>
|
|
|
<div v-else-if="scope.column.columnname == 'attinfos'">
|
|
|
<previewImage
|
|
@@ -21,16 +21,16 @@
|
|
|
:deletebtn="false"
|
|
|
></previewImage>
|
|
|
</div>
|
|
|
- <div v-else-if="scope.column.columnname == 'discountrate'">
|
|
|
+<!-- <div v-else-if="scope.column.columnname == 'discountrate'">
|
|
|
<el-input size="mini" v-if="editIndex == scope.column.data.sa_contract_itemsid" v-model="form.discountrate" @input="discountrateChange($event,scope.column.data)"></el-input>
|
|
|
<p v-else>{{scope.column.data[scope.column.columnname]}}</p>
|
|
|
- </div>
|
|
|
+ </div>-->
|
|
|
<div v-else-if="scope.column.columnname == 'price'">
|
|
|
- <el-input size="mini" v-if="editIndex == scope.column.data.sa_contract_itemsid" v-model="form.price" @input="priceChange($event,scope.column.data)"></el-input>
|
|
|
+ <el-input size="mini" v-if="editIndex == scope.column.data.sa_contract_itemsid" v-model="form.price" @change="priceChange($event,scope.column.data,scope.column.data.index)"></el-input>
|
|
|
<p v-else>{{scope.column.data[scope.column.columnname]}}</p>
|
|
|
</div>
|
|
|
<div v-else-if="scope.column.columnname == 'countPrice'">
|
|
|
- <p>{{scope.column.data.price * scope.column.data.qty}}</p>
|
|
|
+ <p>{{Math.round((scope.column.data.price * scope.column.data.qty) *100)/100}}</p>
|
|
|
</div>
|
|
|
<div v-else-if="scope.column.columnname == 'brand'">
|
|
|
{{scope.column.data[scope.column.columnname][0] ? scope.column.data[scope.column.columnname][0].brandname : ''}}
|
|
@@ -45,17 +45,22 @@
|
|
|
</template>
|
|
|
</tableLayout>
|
|
|
</div>
|
|
|
- <div style="margin-top:16px;text-align:right">
|
|
|
- <el-pagination
|
|
|
- background
|
|
|
- small
|
|
|
- @size-change="handleSizeChange"
|
|
|
- @current-change="handleCurrentChange"
|
|
|
- :current-page="params.content.pageNumber"
|
|
|
- :page-size="params.content.pageSize"
|
|
|
- layout="total, prev, pager, next, jumper"
|
|
|
- :total="total">
|
|
|
- </el-pagination>
|
|
|
+ <div style="height: 35px;margin-top: 20px">
|
|
|
+ <div style="float: left">合计(元):{{ totalPrice }}</div>
|
|
|
+ <div style="float: right">
|
|
|
+ <el-pagination
|
|
|
+ background
|
|
|
+ small
|
|
|
+ style="text-align: right;"
|
|
|
+ @size-change="handleSizeChange"
|
|
|
+ @current-change="handleCurrentChange"
|
|
|
+ :current-page="params.content.pageNumber"
|
|
|
+ :page-size="params.content.pageSize"
|
|
|
+ layout="total, prev, pager, next, jumper"
|
|
|
+ :total="total">
|
|
|
+ </el-pagination>
|
|
|
+ </div>
|
|
|
+
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -88,7 +93,8 @@ export default {
|
|
|
},
|
|
|
tablecols:[],
|
|
|
total:0,
|
|
|
- editIndex:''
|
|
|
+ editIndex:'',
|
|
|
+ totalPrice:0
|
|
|
};
|
|
|
},
|
|
|
computed:{
|
|
@@ -101,14 +107,21 @@ export default {
|
|
|
},
|
|
|
methods: {
|
|
|
async listData(){
|
|
|
+ this.totalPrice = 0
|
|
|
this.params.content.sa_contractid = this.$route.query.id
|
|
|
const res = await this.$api.requested(this.params)
|
|
|
+ res.data.forEach((e,index)=>{
|
|
|
+ this.totalPrice = this.totalPrice + res.data[index].amount
|
|
|
+ })
|
|
|
+ this.totalPrice = Math.round(this.totalPrice *100)/100
|
|
|
this.list = res.data
|
|
|
this.total = res.total
|
|
|
this.$emit('priceChange')
|
|
|
},
|
|
|
- qtyChange (num) {
|
|
|
- this.form.qty = num
|
|
|
+ qtyChange (num,data,index) {
|
|
|
+ this.form.qty = Math.round(num *100)/100
|
|
|
+ data.qty = this.form.qty
|
|
|
+ this.$set(this.list,index,data)
|
|
|
console.log(num);
|
|
|
|
|
|
},
|
|
@@ -116,13 +129,19 @@ export default {
|
|
|
console.log(num);
|
|
|
|
|
|
},
|
|
|
- discountrateChange (num,data) {
|
|
|
+ /*discountrateChange (num,data) {
|
|
|
this.form.discountrate = num
|
|
|
this.form.price = this.form.discountrate * data.marketprice
|
|
|
- },
|
|
|
- priceChange (num,data) {
|
|
|
- this.form.price = num
|
|
|
- this.form.discountrate = this.form.price / data.marketprice
|
|
|
+ },*/
|
|
|
+ priceChange (num,data,index) {
|
|
|
+ if (num < 1){
|
|
|
+ this.form.price = 1
|
|
|
+ }else {
|
|
|
+ this.form.price = Math.round(num * 100)/100
|
|
|
+ }
|
|
|
+ /* this.form.discountrate = this.form.price / data.marketprice*/
|
|
|
+ data.price = this.form.price
|
|
|
+ this.$set(this.list,index,data)
|
|
|
console.log(this.form.price,data.marketprice);
|
|
|
|
|
|
},
|