'123'
This commit is contained in:
parent
362cd0fdfb
commit
8b30cc54e1
|
@ -47,8 +47,21 @@ public class QuotHj extends BaseEntity
|
|||
private String quotProject;//项目
|
||||
|
||||
/** 技术协助信息 */
|
||||
private String quotJsxzConfirmId;//技术协助-技术确认单id
|
||||
private String quotJsxzGroupValues;//技术协助-分组
|
||||
|
||||
private String quotJsqrTlApprovalStatus;//技术协助-特缆协助状态
|
||||
private String quotJsqrTlRemark;//技术协助-特缆协助说明
|
||||
|
||||
private String quotJsqrDyApprovalStatus;//技术协助-低压协助状态
|
||||
private String quotJsqrDyRemark;//技术协助-低压协助说明
|
||||
|
||||
private String quotJsqrZyApprovalStatus;//技术协助-中压协助状态
|
||||
private String quotJsqrZyRemark;//技术协助-中压协助说明
|
||||
|
||||
private String quotJsqrQtApprovalStatus;//技术协助-其他协助状态
|
||||
private String quotJsqrQtRemark;//技术协助-其他协助说明
|
||||
|
||||
public void setQuotHjId(String quotHjId)
|
||||
{
|
||||
this.quotHjId = quotHjId;
|
||||
|
@ -114,6 +127,33 @@ public class QuotHj extends BaseEntity
|
|||
public String getQuotProject() { return quotProject; }
|
||||
public void setQuotProject(String quotProject) { this.quotProject = quotProject; }
|
||||
|
||||
public String getQuotJsxzConfirmId() { return quotJsxzConfirmId; }
|
||||
public void setQuotJsxzConfirmId(String quotJsxzConfirmId) { this.quotJsxzConfirmId = quotJsxzConfirmId; }
|
||||
|
||||
public String getQuotJsxzGroupValues() { return quotJsxzGroupValues; }
|
||||
public void setQuotJsxzGroupValues(String quotJsxzGroupValues) { this.quotJsxzGroupValues = quotJsxzGroupValues; }
|
||||
|
||||
public String getQuotJsqrTlApprovalStatus() { return quotJsqrTlApprovalStatus; }
|
||||
public void setQuotJsqrTlApprovalStatus(String quotJsqrTlApprovalStatus) { this.quotJsqrTlApprovalStatus = quotJsqrTlApprovalStatus; }
|
||||
|
||||
public String getQuotJsqrTlRemark() { return quotJsqrTlRemark; }
|
||||
public void setQuotJsqrTlRemark(String quotJsqrTlRemark) { this.quotJsqrTlRemark = quotJsqrTlRemark; }
|
||||
|
||||
public String getQuotJsqrDyApprovalStatus() { return quotJsqrDyApprovalStatus; }
|
||||
public void setQuotJsqrDyApprovalStatus(String quotJsqrDyApprovalStatus) { this.quotJsqrDyApprovalStatus = quotJsqrDyApprovalStatus; }
|
||||
|
||||
public String getQuotJsqrDyRemark() { return quotJsqrDyRemark; }
|
||||
public void setQuotJsqrDyRemark(String quotJsqrDyRemark) { this.quotJsqrDyRemark = quotJsqrDyRemark; }
|
||||
|
||||
public String getQuotJsqrZyApprovalStatus() { return quotJsqrZyApprovalStatus; }
|
||||
public void setQuotJsqrZyApprovalStatus(String quotJsqrZyApprovalStatus) { this.quotJsqrZyApprovalStatus = quotJsqrZyApprovalStatus; }
|
||||
|
||||
public String getQuotJsqrZyRemark() { return quotJsqrZyRemark; }
|
||||
public void setQuotJsqrZyRemark(String quotJsqrZyRemark) { this.quotJsqrZyRemark = quotJsqrZyRemark; }
|
||||
|
||||
public String getQuotJsqrQtApprovalStatus() { return quotJsqrQtApprovalStatus; }
|
||||
public void setQuotJsqrQtApprovalStatus(String quotJsqrQtApprovalStatus) { this.quotJsqrQtApprovalStatus = quotJsqrQtApprovalStatus; }
|
||||
|
||||
public String getQuotJsqrQtRemark() { return quotJsqrQtRemark; }
|
||||
public void setQuotJsqrQtRemark(String quotJsqrQtRemark) { this.quotJsqrQtRemark = quotJsqrQtRemark; }
|
||||
}
|
||||
|
|
|
@ -23,23 +23,37 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<result property="quotCustomerName" column="quot_customer_name" />
|
||||
<result property="quotProject" column="quot_project" />
|
||||
|
||||
<result property="quotJsxzConfirmId" column="quot_jsxz_confirm_id" />
|
||||
<result property="quotJsxzGroupValues" column="quot_jsxz_group_values" />
|
||||
|
||||
<result property="quotJsqrTlApprovalStatus" column="quot_jsqr_tl_approval_status" />
|
||||
<result property="quotJsqrTlRemark" column="quot_jsqr_tl_remark" />
|
||||
<result property="quotJsqrDyApprovalStatus" column="quot_jsqr_dy_approval_status" />
|
||||
<result property="quotJsqrDyRemark" column="quot_jsqr_dy_remark" />
|
||||
<result property="quotJsqrZyApprovalStatus" column="quot_jsqr_zy_approval_status" />
|
||||
<result property="quotJsqrZyRemark" column="quot_jsqr_zy_remark" />
|
||||
<result property="quotJsqrQtApprovalStatus" column="quot_jsqr_qt_approval_status" />
|
||||
<result property="quotJsqrQtRemark" column="quot_jsqr_qt_remark" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="quotHjJoins">
|
||||
left join sys_user u on u.user_name=a.create_by
|
||||
left join sys_dept d on u.dept_id = d.dept_id
|
||||
left join quot q on q.quot_hj_id = a.quot_hj_id
|
||||
left join quot_jsqr j on j.quot_jsqr_id = q.quot_jsxz_confirm_id
|
||||
</sql>
|
||||
|
||||
<sql id="selectQuotHjVo">
|
||||
select a.quot_hj_id, a.quot_hj_code, a.quot_hj_pricing_type, a.quot_hj_pricing_date, a.quot_hj_remark,
|
||||
a.create_by, a.create_time, a.update_by, a.update_time,
|
||||
u.nick_name create_name,
|
||||
q.quot_hj_approval_status,
|
||||
q.quot_id,q.quot_code,q.quot_salesman_name,
|
||||
q.quot_hj_approval_status,q.quot_id,q.quot_code,q.quot_salesman_name,
|
||||
q.quot_customer_name,q.quot_project,
|
||||
q.quot_jsxz_group_values
|
||||
q.quot_jsxz_confirm_id,q.quot_jsxz_group_values,
|
||||
j.quot_jsqr_tl_approval_status,j.quot_jsqr_tl_remark,
|
||||
j.quot_jsqr_dy_approval_status,j.quot_jsqr_dy_remark,
|
||||
j.quot_jsqr_zy_approval_status,j.quot_jsqr_zy_remark,
|
||||
j.quot_jsqr_qt_approval_status,j.quot_jsqr_qt_remark
|
||||
from quot_hj a
|
||||
<include refid="quotHjJoins"/>
|
||||
</sql>
|
||||
|
|
|
@ -110,10 +110,8 @@ export default {
|
|||
if (!hasSetBodyHight) {
|
||||
const footerHeight = dragDom.querySelector('.el-dialog__footer') && dragDom.querySelector('.el-dialog__footer').offsetHeight
|
||||
dragDom.querySelector('.el-dialog__body').style.height =
|
||||
'calc(90% - ' + (dialogHeaderEl.offsetHeight + footerHeight) + 'px)'
|
||||
/* dragDom.querySelector('.el-dialog__body').style.height =
|
||||
window.innerHeight*0.9
|
||||
- (dialogHeaderEl.offsetHeight + footerHeight) + 'px'*/
|
||||
'calc(100% - ' + (dialogHeaderEl.offsetHeight + footerHeight) + 'px)'
|
||||
|
||||
hasSetBodyHight = true
|
||||
}
|
||||
}
|
||||
|
@ -124,44 +122,5 @@ export default {
|
|||
maxMin.onclick = setMaxMin;
|
||||
//双击头部效果
|
||||
dialogHeaderEl.ondblclick = setMaxMin;
|
||||
//拉伸
|
||||
let resizeEl = document.createElement("div");
|
||||
dragDom.appendChild(resizeEl);
|
||||
//在弹窗右下角加上一个10-10px的控制块
|
||||
resizeEl.style.cursor = 'se-resize';
|
||||
resizeEl.style.position = 'absolute';
|
||||
resizeEl.style.height = '10px';
|
||||
resizeEl.style.width = '10px';
|
||||
resizeEl.style.right = '0px';
|
||||
resizeEl.style.bottom = '0px';
|
||||
resizeEl.style.zIndex = '99';
|
||||
//鼠标拉伸弹窗
|
||||
resizeEl.onmousedown = (e) => {
|
||||
// 记录初始x位置
|
||||
const clientX = e.clientX;
|
||||
// 鼠标按下,计算当前元素距离可视区的距离
|
||||
const disX = e.clientX - resizeEl.offsetLeft;
|
||||
const disY = e.clientY - resizeEl.offsetTop;
|
||||
document.onmousemove = function (e) {
|
||||
e.preventDefault(); // 移动时禁用默认事件
|
||||
// 通过事件委托,计算移动的距离
|
||||
const x = e.clientX - disX + (e.clientX - clientX);//这里 由于elementUI的dialog控制居中的,所以水平拉伸效果是双倍
|
||||
const y = e.clientY - disY;
|
||||
//比较是否小于最小宽高
|
||||
dragDom.style.width = x > minWidth ? `${x}px` : minWidth + 'px';
|
||||
dragDom.style.height = y > minHeight ? `${y}px` : minHeight + 'px';
|
||||
if (!hasSetBodyHight) {
|
||||
const footerHeight = dragDom.querySelector('.el-dialog__footer') && dragDom.querySelector('.el-dialog__footer').offsetHeight
|
||||
dragDom.querySelector('.el-dialog__body').style.height = 'calc(90% - ' + (dialogHeaderEl.offsetHeight + footerHeight) + 'px)'
|
||||
hasSetBodyHight = true
|
||||
}
|
||||
};
|
||||
//拉伸结束
|
||||
document.onmouseup = function (e) {
|
||||
document.onmousemove = null;
|
||||
document.onmouseup = null;
|
||||
el.dispatchEvent(resizeEvent);
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
|
||||
<el-dialog :title="title" :visible.sync="open" width="1000px" v-el-drag-dialog append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="150px">
|
||||
<el-row :gutter="8">
|
||||
<el-col :span="12">
|
||||
|
@ -133,7 +133,7 @@
|
|||
|
||||
|
||||
<div v-if="showTl">
|
||||
<el-divider content-position="center">特缆协助</el-divider>
|
||||
<el-divider content-position="center">技术协助-特缆协助</el-divider>
|
||||
<el-row :gutter="8">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="特缆协助状态" prop="quotJsqrTlApprovalStatus">
|
||||
|
@ -162,7 +162,7 @@
|
|||
</el-row>
|
||||
</div>
|
||||
<div v-if="showDy">
|
||||
<el-divider content-position="center">低压协助</el-divider>
|
||||
<el-divider content-position="center">技术协助-低压协助</el-divider>
|
||||
<el-row :gutter="8">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="低压协助状态" prop="quotJsqrDyApprovalStatus">
|
||||
|
@ -191,7 +191,7 @@
|
|||
</el-row>
|
||||
</div>
|
||||
<div v-if="showZy">
|
||||
<el-divider content-position="center">中压协助</el-divider>
|
||||
<el-divider content-position="center">技术协助-中压协助</el-divider>
|
||||
<el-row :gutter="8">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="中压协助状态" prop="quotJsqrZyApprovalStatus">
|
||||
|
@ -220,7 +220,7 @@
|
|||
</el-row>
|
||||
</div>
|
||||
<div v-if="showQt">
|
||||
<el-divider content-position="center">其他协助</el-divider>
|
||||
<el-divider content-position="center">技术协助-其他协助</el-divider>
|
||||
<el-row :gutter="8">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="其他协助状态" prop="quotJsqrQtApprovalStatus">
|
||||
|
@ -256,6 +256,27 @@
|
|||
<span v-hasPermi="['priceVerification:priceVerification:reject']" style="margin-left: 10px"><el-button type="danger" plain @click="rejectHj">驳回</el-button></span>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 特缆、中压、低压、其他协助反馈附件对话框 -->
|
||||
<el-dialog custom-class="fkfjDialog" :title="addFileTitle" :visible.sync="addFileOpen" width="800px" append-to-body>
|
||||
<el-table class="down" :data="quotJsqrFileList" border stripe style="width: 100%;margin-top: 20px;" height="200px">
|
||||
<el-table-column prop="fileName" label="文件名称" ></el-table-column>
|
||||
<el-table-column prop="fileSize" label="文件大小" width="150px">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.fileSize / 1024 / 1024 < 1">{{(scope.row.fileSize / 1024).toFixed(2) + 'KB'}}</span>
|
||||
<span v-else>{{(scope.row.fileSize / 1024 / 1024).toFixed(2) + 'MB'}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="fileTime" label="上传时间" width="200px"></el-table-column>
|
||||
<el-table-column width="150px" label="操作">
|
||||
<template slot-scope="scope">
|
||||
<el-button :key="Math.random()" size="small" type="text">
|
||||
<a @click="downloadFile(scope.row.fileUrl)">下载</a>
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-dialog>
|
||||
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
@ -265,14 +286,27 @@
|
|||
width: 100% !important;
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
/* 特缆、中压、低压、其他协助反馈附件对话框设置 */
|
||||
.fkfjDialog .el-dialog__body{
|
||||
height: 280px;
|
||||
max-height: 300px; /* 设置最大高度,根据需要调整 */
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
import { getPriceVerification, commitHj, rejectHj } from "@/api/priceVerification/priceVerification";
|
||||
import { getToken } from "@/utils/auth";
|
||||
import { quotFileList, quotFileDelete} from "@/api/quot/quot";
|
||||
|
||||
/** 弹窗放大、拖拽 */
|
||||
import elDragDialog from "@/directive/dialog/dragDialog";
|
||||
|
||||
export default {
|
||||
name: "hjInfo",
|
||||
dicts: ['quot_pricing_type','quot_hj_approval_status'],
|
||||
directives: {
|
||||
elDragDialog,
|
||||
},
|
||||
dicts: ['quot_pricing_type','quot_jsxz_approval_status','quot_hj_approval_status'],
|
||||
data() {
|
||||
return {
|
||||
// 弹窗标题 关闭/打开
|
||||
|
@ -292,6 +326,19 @@ export default {
|
|||
form: {},
|
||||
// 表单校验
|
||||
rules: {},
|
||||
|
||||
// 技术协助反馈附件显示弹窗
|
||||
addFileOpen: false,
|
||||
// 技术协助反馈附件显示弹窗标题
|
||||
addFileTitle: "",
|
||||
// 技术协助反馈附件显示弹窗 上传按钮设置 删除设置
|
||||
uploadDis: false,
|
||||
// 技术协助附件表格数据
|
||||
quotJsqrFileList: [],
|
||||
quotJsqrTlFileNum: 0,
|
||||
quotJsqrDyFileNum: 0,
|
||||
quotJsqrZyFileNum: 0,
|
||||
quotJsqrQtFileNum: 0,
|
||||
//技术协助-特缆、低压、中压、其他 隐藏控制
|
||||
showTl: false,
|
||||
showDy: false,
|
||||
|
@ -340,9 +387,7 @@ export default {
|
|||
this.getQuotXjFileList();
|
||||
this.getQuotHjFileList();
|
||||
|
||||
console.log( response.data)
|
||||
const quotJsxzGroup = this.form.quotJsxzGroupValues;
|
||||
alert(quotJsxzGroup)
|
||||
if(quotJsxzGroup) {
|
||||
if (quotJsxzGroup.indexOf("TL") !== -1) {
|
||||
this.showTl = true;
|
||||
|
@ -363,6 +408,49 @@ export default {
|
|||
}
|
||||
});
|
||||
},
|
||||
|
||||
//特缆、低压、中压、其他 反馈附件上传窗口
|
||||
handleAddFile(group){
|
||||
this.addFileOpen = true;
|
||||
this.quotJsqrFileList = [];
|
||||
if("quotJsqrTl"==group){
|
||||
this.addFileTitle = '特缆反馈附件'
|
||||
this.fileType = 'quotJsqrTlFkFile';
|
||||
this.uploadDis = (this.form.quotJsqrTlOperateState == 0 ? true : false);
|
||||
}else if('quotJsqrDy'==group){
|
||||
this.addFileTitle = '低压反馈附件'
|
||||
this.fileType = 'quotJsqrDyFkFile';
|
||||
this.uploadDis = (this.form.quotJsqrDyOperateState == 0 ? true : false);
|
||||
}else if('quotJsqrZy'==group){
|
||||
this.addFileTitle = '中压反馈附件'
|
||||
this.fileType = 'quotJsqrZyFkFile';
|
||||
this.uploadDis = (this.form.quotJsqrZyOperateState == 0 ? true : false);
|
||||
}else if('quotJsqrQt'==group){
|
||||
this.addFileTitle = '其他反馈附件'
|
||||
this.fileType = 'quotJsqrQtFkFile';
|
||||
this.uploadDis = (this.form.quotJsqrQtOperateState == 0 ? true : false);
|
||||
}
|
||||
// 获取反馈附件
|
||||
this.getQuotJsqrFileList(this.fileType);
|
||||
},
|
||||
|
||||
//获取报价单-技术确认-反馈附件
|
||||
getQuotJsqrFileList(fileType){
|
||||
const param = {relationId:this.form.quotJsxzConfirmId,fileType:fileType}
|
||||
quotFileList(param).then(response => {
|
||||
this.quotJsqrFileList = response.rows;
|
||||
if('quotJsqrTlFkFile' == fileType){
|
||||
this.quotJsqrTlFileNum = response.rows.length;
|
||||
}else if('quotJsqrDyFkFile' == fileType){
|
||||
this.quotJsqrDyFileNum = response.rows.length;
|
||||
}else if('quotJsqrZyFkFile' == fileType){
|
||||
this.quotJsqrZyFileNum = response.rows.length;
|
||||
}else if('quotJsqrQtFkFile' == fileType){
|
||||
this.quotJsqrQtFileNum = response.rows.length;
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
/** 提交报价按钮 */
|
||||
commitHj() {
|
||||
var quotHjFileNum = this.quotHjFileList.length;
|
||||
|
|
|
@ -850,11 +850,11 @@ export default {
|
|||
//是否打开客户选择组件,默认不打开
|
||||
customerOpen:false,
|
||||
|
||||
// 反馈附件显示弹窗
|
||||
// 技术协助反馈附件显示弹窗
|
||||
addFileOpen: false,
|
||||
// 反馈附件显示弹窗标题
|
||||
// 技术协助反馈附件显示弹窗标题
|
||||
addFileTitle: "",
|
||||
// 反馈附件显示弹窗 上传按钮设置 删除设置
|
||||
// 技术协助反馈附件显示弹窗 上传按钮设置 删除设置
|
||||
uploadDis: false,
|
||||
// 技术协助附件表格数据
|
||||
quotJsqrFileList: [],
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
|
||||
<el-dialog :title="title" :visible.sync="open" width="1000px" v-el-drag-dialog append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="150px">
|
||||
<el-row :gutter="8">
|
||||
<el-col :span="12">
|
||||
|
@ -690,8 +690,14 @@
|
|||
import { getToken } from "@/utils/auth";
|
||||
import { quotFileList,quotFileDelete } from "@/api/quot/quot";
|
||||
|
||||
/** 弹窗放大、拖拽 */
|
||||
import elDragDialog from "@/directive/dialog/dragDialog";
|
||||
|
||||
export default {
|
||||
name: "jsxzInfo",
|
||||
directives: {
|
||||
elDragDialog,
|
||||
},
|
||||
dicts: ['quot_jsxz_approval_status','quot_jsxz_chapter','quot_jsxz_standard','quot_jsxz_group','quot_jsxz_group_status'],
|
||||
data() {
|
||||
return {
|
||||
|
|
Loading…
Reference in New Issue