'123'
This commit is contained in:
parent
f2aee0c152
commit
f38e49bb48
|
@ -291,6 +291,7 @@ public class RedBookController extends BaseController
|
|||
@PostMapping("/updateSelectedResultData")
|
||||
public AjaxResult updateSelectedResultData(@RequestBody List<OAQuotProduct> params)
|
||||
{
|
||||
|
||||
List<OAQuotProduct> oaQuotProducts = redBookService.queryRedBPriceByParams(params);
|
||||
logger.info("根据选择的调价日期 匹配数据结果: {}", oaQuotProducts);
|
||||
return success(oaQuotProducts);
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.ruoyi.web.controller.redBook;
|
||||
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.redBook.domain.OAQuot;
|
||||
import com.ruoyi.redBook.domain.OAQuotProduct;
|
||||
import jxl.HeaderFooter;
|
||||
|
@ -80,7 +81,17 @@ public class excelUtil {
|
|||
wff_merge = new WritableCellFormat(wf_merge);
|
||||
wff_merge.setAlignment(Alignment.LEFT);
|
||||
wsheet.setRowView(i,380);
|
||||
String[] bjs = {"询价单位:"+quot.getQuotCustomer(),"业务联系人:"+quot.getQuotLxr(),"项目名称:"+quot.getQuotProject(),"联 系 电 话:"+quot.getQuotLxrdh(),"询价日期:","编 制:","报价日期:","审 核:"};
|
||||
|
||||
String QuotCustomer = quot.getQuotCustomer();
|
||||
QuotCustomer = StringUtils.isEmpty(QuotCustomer)?"":QuotCustomer;
|
||||
String QuotProject = quot.getQuotProject();
|
||||
QuotProject = StringUtils.isEmpty(QuotProject)?"":QuotProject;
|
||||
String QuotLxr = quot.getQuotLxr();
|
||||
QuotLxr = StringUtils.isEmpty(QuotLxr)?"":QuotLxr;
|
||||
String QuotLxrdh = quot.getQuotLxrdh();
|
||||
QuotLxrdh = StringUtils.isEmpty(QuotLxrdh)?"":QuotLxrdh;
|
||||
|
||||
String[] bjs = {"询价单位:"+QuotCustomer,"业务联系人:"+QuotLxr,"项目名称:"+QuotProject,"联 系 电 话:"+QuotLxrdh,"询价日期:","编 制:","报价日期:","审 核:"};
|
||||
int k=0;
|
||||
while(k<bjs.length){
|
||||
wsheet.mergeCells(0,i,3,i);
|
||||
|
@ -189,15 +200,15 @@ public class excelUtil {
|
|||
|
||||
if(list.size()<=2000)
|
||||
{
|
||||
wsheet.mergeCells(1,i,6,i);
|
||||
wsheet.mergeCells(0,i,6,i);
|
||||
wsheet.setRowView(i,400);
|
||||
wf_merge = new WritableFont(WritableFont.ARIAL,11,WritableFont.NO_BOLD,false);
|
||||
wff_merge = new WritableCellFormat(wf_merge);
|
||||
wff_merge.setAlignment(Alignment.LEFT);
|
||||
wff_merge.setBorder(Border.ALL, BorderLineStyle.THIN);
|
||||
label = new Label(0, i, "",wff_merge);
|
||||
wsheet.addCell(label);
|
||||
label = new Label(1, i, " 合计(元):",wff_merge);
|
||||
/*label = new Label(0, i, "",wff_merge);
|
||||
wsheet.addCell(label);*/
|
||||
label = new Label(0, i, " 合计(元):",wff_merge);
|
||||
wsheet.addCell(label);
|
||||
label = new Label(7, i, " "+totalmoney,wff_merge);
|
||||
wsheet.addCell(label);
|
||||
|
@ -245,13 +256,13 @@ public class excelUtil {
|
|||
// label = new Label(1, i, "4、产品交货总数和单根交货长度允许有±1%公差,如有不符对方要求,需重制作报价单。",wff_merge);
|
||||
wsheet.addCell(label);*/
|
||||
|
||||
wsheet.mergeCells(0,i-4,0,i);
|
||||
wsheet.mergeCells(0,i-3,0,i);
|
||||
wf_merge = new WritableFont(WritableFont.ARIAL,11,WritableFont.NO_BOLD,false);
|
||||
wff_merge = new WritableCellFormat(wf_merge);
|
||||
wff_merge.setAlignment(Alignment.CENTRE);
|
||||
wff_merge.setVerticalAlignment(VerticalAlignment.CENTRE);
|
||||
wff_merge.setBorder(Border.ALL, BorderLineStyle.THIN);
|
||||
label = new Label(0, i-4, "备注",wff_merge);
|
||||
label = new Label(0, i-3, "备注",wff_merge);
|
||||
wsheet.addCell(label);
|
||||
|
||||
// 获取当前类加载器
|
||||
|
|
|
@ -3,6 +3,7 @@ package com.ruoyi.redBook.domain;
|
|||
import java.math.BigDecimal;
|
||||
|
||||
public class OAQuotProduct {
|
||||
private Integer index;//序号
|
||||
private String uid_0;//版本uid
|
||||
private String name_0;//产品型号
|
||||
private String name_1;//型号
|
||||
|
@ -19,6 +20,10 @@ public class OAQuotProduct {
|
|||
private BigDecimal per;//一次折扣
|
||||
private BigDecimal per2;//二次折扣
|
||||
|
||||
public Integer getIndex() { return index; }
|
||||
|
||||
public void setIndex(Integer index) { this.index = index; }
|
||||
|
||||
public String getUid_0() { return uid_0; }
|
||||
|
||||
public void setUid_0(String uid_0) { this.uid_0 = uid_0; }
|
||||
|
|
|
@ -128,9 +128,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
</update>
|
||||
|
||||
<insert id="batchOAQuotProduct">
|
||||
insert into OAQuotProduct(quot_product_id, name_0, name_1, spec, voltage,stu,price,setPrice,count,allPrice,per,per2,quot_id) values
|
||||
insert into OAQuotProduct(quot_product_id, name_0, name_1, spec, voltage,stu,price,setPrice,count,allPrice,per,per2,quot_id,number) values
|
||||
<foreach item="item" index="index" collection="list" separator=",">
|
||||
( #{item.quot_product_id}, #{item.name_0}, #{item.name_1}, #{item.spec}, #{item.voltage}, #{item.stu},cast(#{item.price,jdbcType=DECIMAL} as decimal(18,2)),cast(#{item.setPrice,jdbcType=DECIMAL} as decimal(18,2)), cast(#{item.count,jdbcType=DECIMAL} as decimal(18,3)), cast(#{item.allPrice,jdbcType=DECIMAL} as decimal(18,2)),cast(#{item.per,jdbcType=DECIMAL} as decimal(18,2)),cast(#{item.per2,jdbcType=DECIMAL} as decimal(18,2)), #{item.quot_id})
|
||||
( #{item.quot_product_id}, #{item.name_0}, #{item.name_1}, #{item.spec}, #{item.voltage}, #{item.stu},cast(#{item.price,jdbcType=DECIMAL} as decimal(18,2)),cast(#{item.setPrice,jdbcType=DECIMAL} as decimal(18,2)), cast(#{item.count,jdbcType=DECIMAL} as decimal(18,3)), cast(#{item.allPrice,jdbcType=DECIMAL} as decimal(18,2)),cast(#{item.per,jdbcType=DECIMAL} as decimal(18,2)),cast(#{item.per2,jdbcType=DECIMAL} as decimal(18,2)), #{item.quot_id}, #{item.index})
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
|
@ -223,7 +223,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
b.per,b.per2,b.price,b.setPrice,b.count,b.allPrice,b.quot_id
|
||||
from OAQuot a
|
||||
left join OAQuotProduct b on b.quot_id = a.quot_id
|
||||
where a.quot_id = #{quotId}
|
||||
where a.quot_id = #{quotId} order by b.number
|
||||
</select>
|
||||
|
||||
<delete id="deleteQuotsByQuotId" parameterType="java.lang.String">
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
<el-button style="float: right;" size="mini" type="primary" icon="el-icon-search" @click="handleSearchClick">搜索</el-button>
|
||||
</el-col>
|
||||
<el-col :span="14">
|
||||
<el-button size="mini" icon="el-icon-refresh" @click="handleRefreshClick">刷新</el-button>
|
||||
<el-button style="float: right;margin-left: 5px;" size="mini" type="success" icon="el-icon-document" @click="handleMadeQuotClick" :disabled="selectedResultData.length==0">生成报价单</el-button>
|
||||
<el-button style="float: right;" size="mini" type="warning" icon="el-icon-folder" @click="handleSaveClick" :disabled="selectedResultData.length==0">保存</el-button>
|
||||
</el-col>
|
||||
|
@ -73,29 +74,29 @@
|
|||
<el-card id="scroll" class="box-card scrollable" :style="{'overflow': 'auto','max-height': scrollableHeight,'height': scrollableHeight}">
|
||||
<el-row :gutter="8">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="询价单位" prop="quotCustomer">
|
||||
<el-form-item label="询价单位" prop="quotCustomer" style="margin-bottom: 10px;">
|
||||
<el-input v-model="form.quotCustomer" placeholder="请输入询价单位" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="项目名称" prop="quotProject">
|
||||
<el-form-item label="项目名称" prop="quotProject" style="margin-bottom: 10px;">
|
||||
<el-input v-model="form.quotProject" placeholder="请输入项目名称"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="8">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="联系人" prop="quotLxr">
|
||||
<el-form-item label="联系人" prop="quotLxr" style="margin-bottom: 10px;">
|
||||
<el-input v-model="form.quotLxr" placeholder="请输入联系人" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="联系电话" prop="quotLxrdh">
|
||||
<el-form-item label="联系电话" prop="quotLxrdh" style="margin-bottom: 10px;">
|
||||
<el-input v-model="form.quotLxrdh" placeholder="请输入联系电话"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="总价">
|
||||
<el-form-item label="总价" style="margin-bottom: 10px;">
|
||||
<el-input class="totalPrice-input" v-model="sumSelectedResultData"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
@ -105,9 +106,9 @@
|
|||
<el-form-item label="总金额" prop="totalPrice" v-if="false">
|
||||
<el-input v-model="form.totalPrice"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="设置折扣率" label-width="100px">
|
||||
<el-input style="width:65px" v-model="perc" size="small" @blur="changeData"></el-input>
|
||||
<el-input style="width:65px;margin-left: 5px" v-model="perc2" size="small" @blur="changeData"></el-input>
|
||||
<el-form-item label="设置折扣率" label-width="100px" style="margin-bottom: 10px;">
|
||||
<el-input style="width:65px" v-model="perc" size="small" @blur="changeData" @keyup.enter.native="changeData"></el-input>
|
||||
<el-input style="width:65px;margin-left: 5px" v-model="perc2" size="small" @blur="changeData" @keyup.enter.native="changeData"></el-input>
|
||||
<!--总价:<span style="color:red;font-size: 15px">{{sumSelectedResultData}} 元</span>-->
|
||||
<el-select v-model="form.rbDateUid" style="width: 235px;float: right" :disabled="selectedResultData.length==0">
|
||||
<el-option
|
||||
|
@ -134,21 +135,28 @@
|
|||
<el-table-column label="规格" align="center" prop="spec" width="180" v-if="false"/>
|
||||
<el-table-column label="电压" align="center" prop="voltage" width="100"/>
|
||||
<el-table-column label="红本价(元)" align="center" prop="price" width="120"/>
|
||||
<el-table-column label="单位" align="center" prop="stu" width="50"/>
|
||||
<el-table-column label="单位" align="center" prop="stu" width="90">
|
||||
<template slot-scope="scope">
|
||||
<el-select v-model="scope.row.stu" @change="selectTypeChange(scope.row)">
|
||||
<el-option label="KM" value="KM"/>
|
||||
<el-option label="M" value="M"/>
|
||||
</el-select>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="一次折扣" align="center" prop="per" width="80">
|
||||
<template slot-scope="scope">
|
||||
<el-input v-model="scope.row.per" @blur="changeRowData"/>
|
||||
<el-input v-model="scope.row.per" @blur="changeRowData" @keyup.enter.native="changeRowData"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="二次折扣" align="center" prop="per2" width="80">
|
||||
<template slot-scope="scope">
|
||||
<el-input v-model="scope.row.per2" @blur="changeRowData"/>
|
||||
<el-input v-model="scope.row.per2" @blur="changeRowData" @keyup.enter.native="changeRowData"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="单价" align="center" prop="setPrice" width="120"/>
|
||||
<el-table-column label="数量调整" align="center" prop="count" width="100">
|
||||
<template slot-scope="scope">
|
||||
<el-input v-model="scope.row.count" @blur="changeRowData"/>
|
||||
<el-input v-model="scope.row.count" @blur="changeRowData" @keyup.enter.native="changeRowData"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="总价" align="center" prop="allPrice" width="120"/>
|
||||
|
@ -187,14 +195,14 @@
|
|||
overflow: hidden;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 2;
|
||||
-webkit-line-clamp: 1;
|
||||
/* 控制显示的行数 */
|
||||
}
|
||||
|
||||
/*总价输入框设置*/
|
||||
.totalPrice-input .el-input__inner {
|
||||
color: red;
|
||||
}
|
||||
|
||||
</style>
|
||||
<script>
|
||||
import {toDecimal, productList,versionList,productRemarkList,productXinghList,judgeparent,productZlList,productYsxhListCheck,productYsxhList,productJmListCheck,productJmList,searchData,handleSearchData,saveQuot, madeQuot,updateSelectedResultData} from "@/api/redBook/redBook";
|
||||
|
@ -284,7 +292,7 @@
|
|||
/*设置内容高度*/
|
||||
this.scrollableHeight = (window.innerHeight - 160) + 'px';
|
||||
/*设置已选择结果表格高度*/
|
||||
this.tableHeight = (window.innerHeight - 380) + 'px';
|
||||
this.tableHeight = (window.innerHeight - 340) + 'px';
|
||||
},
|
||||
methods: {
|
||||
//备注内容设置 展开 || 收起文本
|
||||
|
@ -297,6 +305,7 @@
|
|||
},
|
||||
//目录选择
|
||||
selModelTag(item) {
|
||||
this.expandedIndex = -1;
|
||||
this.showRemarkList = false,
|
||||
this.remarkList = [],
|
||||
|
||||
|
@ -501,7 +510,7 @@
|
|||
const per2 = this.perc2;
|
||||
const count = '1';
|
||||
const setPrice = toDecimal(price * (per?per:1) * (per2?per2:1));
|
||||
const allPrice = toDecimal(count * setPrice);
|
||||
const allPrice = toDecimal(count * price * (per?per:1) * (per2?per2:1));
|
||||
|
||||
const rowDate = {
|
||||
uid_0: uid_0,
|
||||
|
@ -621,7 +630,19 @@
|
|||
});
|
||||
})
|
||||
},
|
||||
// 刷新
|
||||
handleRefreshClick() {
|
||||
this.form.quotCustomer = '';
|
||||
this.form.quotProject = '';
|
||||
this.form.quotLxr = '';
|
||||
this.form.quotLxrdh = '';
|
||||
|
||||
this.perc = '0.8';
|
||||
this.perc2 = '';
|
||||
this.form.rbDateUid = this.versionList[0].value
|
||||
this.selectedResultData = [];
|
||||
//this.resetForm("form");
|
||||
},
|
||||
// 报价单保存修改
|
||||
handleSaveClick() {
|
||||
const allPrice = this.selectedResultData.reduce((sum, row) => sum + parseFloat(row.allPrice), 0);
|
||||
|
@ -650,8 +671,7 @@
|
|||
elink.click();
|
||||
URL.revokeObjectURL(elink.href); // 释放URL 对象
|
||||
document.body.removeChild(elink);
|
||||
}
|
||||
else {
|
||||
}else {
|
||||
// IE10+下载
|
||||
navigator.msSaveBlob(blob, fileName);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue