'123'
This commit is contained in:
parent
fc68bc000e
commit
362cd0fdfb
|
@ -40,11 +40,15 @@ public class QuotHj extends BaseEntity
|
||||||
|
|
||||||
|
|
||||||
/** 报价单信息 */
|
/** 报价单信息 */
|
||||||
|
private String quotId;//报价单id
|
||||||
private String quotCode;//报价单号
|
private String quotCode;//报价单号
|
||||||
private String quotSalesmanName;//业务员
|
private String quotSalesmanName;//业务员
|
||||||
private String quotCustomerName;//客户
|
private String quotCustomerName;//客户
|
||||||
private String quotProject;//项目
|
private String quotProject;//项目
|
||||||
|
|
||||||
|
/** 技术协助信息 */
|
||||||
|
private String quotJsxzGroupValues;//技术协助-分组
|
||||||
|
|
||||||
public void setQuotHjId(String quotHjId)
|
public void setQuotHjId(String quotHjId)
|
||||||
{
|
{
|
||||||
this.quotHjId = quotHjId;
|
this.quotHjId = quotHjId;
|
||||||
|
@ -95,6 +99,9 @@ public class QuotHj extends BaseEntity
|
||||||
public void setCreateName(String createName) { this.createName = createName; }
|
public void setCreateName(String createName) { this.createName = createName; }
|
||||||
|
|
||||||
/** 报价单信息 */
|
/** 报价单信息 */
|
||||||
|
public String getQuotId() { return quotId; }
|
||||||
|
public void setQuotId(String quotId) { this.quotId = quotId; }
|
||||||
|
|
||||||
public String getQuotCode() { return quotCode; }
|
public String getQuotCode() { return quotCode; }
|
||||||
public void setQuotCode(String quotCode) { this.quotCode = quotCode; }
|
public void setQuotCode(String quotCode) { this.quotCode = quotCode; }
|
||||||
|
|
||||||
|
@ -106,4 +113,7 @@ public class QuotHj extends BaseEntity
|
||||||
|
|
||||||
public String getQuotProject() { return quotProject; }
|
public String getQuotProject() { return quotProject; }
|
||||||
public void setQuotProject(String quotProject) { this.quotProject = quotProject; }
|
public void setQuotProject(String quotProject) { this.quotProject = quotProject; }
|
||||||
|
|
||||||
|
public String getQuotJsxzGroupValues() { return quotJsxzGroupValues; }
|
||||||
|
public void setQuotJsxzGroupValues(String quotJsxzGroupValues) { this.quotJsxzGroupValues = quotJsxzGroupValues; }
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,11 +16,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<result property="updateBy" column="update_by" />
|
<result property="updateBy" column="update_by" />
|
||||||
<result property="updateTime" column="update_time" />
|
<result property="updateTime" column="update_time" />
|
||||||
|
|
||||||
|
<result property="quotId" column="quot_id" />
|
||||||
<result property="quotCode" column="quot_code" />
|
<result property="quotCode" column="quot_code" />
|
||||||
<result property="quotHjApprovalStatus" column="quot_hj_approval_status" />
|
<result property="quotHjApprovalStatus" column="quot_hj_approval_status" />
|
||||||
<result property="quotSalesmanName" column="quot_salesman_name" />
|
<result property="quotSalesmanName" column="quot_salesman_name" />
|
||||||
<result property="quotCustomerName" column="quot_customer_name" />
|
<result property="quotCustomerName" column="quot_customer_name" />
|
||||||
<result property="quotProject" column="quot_project" />
|
<result property="quotProject" column="quot_project" />
|
||||||
|
|
||||||
|
<result property="quotJsxzGroupValues" column="quot_jsxz_group_values" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="quotHjJoins">
|
<sql id="quotHjJoins">
|
||||||
|
@ -33,8 +36,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
select a.quot_hj_id, a.quot_hj_code, a.quot_hj_pricing_type, a.quot_hj_pricing_date, a.quot_hj_remark,
|
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,
|
a.create_by, a.create_time, a.update_by, a.update_time,
|
||||||
u.nick_name create_name,
|
u.nick_name create_name,
|
||||||
q.quot_hj_approval_status,q.quot_code,q.quot_salesman_name,
|
q.quot_hj_approval_status,
|
||||||
q.quot_customer_name,q.quot_project
|
q.quot_id,q.quot_code,q.quot_salesman_name,
|
||||||
|
q.quot_customer_name,q.quot_project,
|
||||||
|
q.quot_jsxz_group_values
|
||||||
from quot_hj a
|
from quot_hj a
|
||||||
<include refid="quotHjJoins"/>
|
<include refid="quotHjJoins"/>
|
||||||
</sql>
|
</sql>
|
||||||
|
|
|
@ -0,0 +1,167 @@
|
||||||
|
export default {
|
||||||
|
bind(el, binding, vnode, oldVnode) {
|
||||||
|
let resizeEvent = new CustomEvent('drag-resize',{detail:'尺寸变化',bubbles:false});
|
||||||
|
//初始化不最大化
|
||||||
|
el.fullscreen = false;
|
||||||
|
// 弹框可拉伸最小宽高
|
||||||
|
const minWidth = 1100
|
||||||
|
const minHeight = 570
|
||||||
|
//当前宽高
|
||||||
|
let nowWidth = minWidth;
|
||||||
|
let nowHight = minHeight;
|
||||||
|
//当前顶部高度
|
||||||
|
let nowMarginTop = 0;
|
||||||
|
//获取弹框头部(这部分可双击全屏)
|
||||||
|
const dialogHeaderEl = el.querySelector('.el-dialog__header');
|
||||||
|
let hasSetBodyHight = false;
|
||||||
|
//弹窗
|
||||||
|
const dragDom = el.querySelector('.el-dialog');
|
||||||
|
el.style.overflow='initial'
|
||||||
|
dragDom.className += ' el-drag-dialog';
|
||||||
|
// 给弹窗加上overflow auto;不然缩小时框内的标签可能超出dialog;
|
||||||
|
dragDom.style.overflow = 'auto'
|
||||||
|
//清除选择头部文字效果
|
||||||
|
dialogHeaderEl.onselectstart = new Function("return false");
|
||||||
|
//头部加上可拖动cursor
|
||||||
|
dialogHeaderEl.style.cursor = 'move';
|
||||||
|
|
||||||
|
// 获取原有属性 ie dom元素.currentStyle 火狐谷歌 window.getComputedStyle(dom元素, null);
|
||||||
|
const sty = dragDom.currentStyle || window.getComputedStyle(dragDom, null);
|
||||||
|
|
||||||
|
//头部插入最大化最小化元素
|
||||||
|
let maxMin = document.createElement("button");
|
||||||
|
maxMin.className += ' el-dialog__headerbtn el-dialog__minmax';
|
||||||
|
maxMin.style.right = '40px';
|
||||||
|
maxMin.style.color = '#909399';
|
||||||
|
maxMin.title = el.fullscreen ? '还原' : '最大化';
|
||||||
|
maxMin.innerHTML = '<i class=' + (el.fullscreen ? '"el-icon-crop"' : '"el-icon-full-screen"') + ' onMouseOver="this.style.color=\'#409EFF\'" onMouseOut="this.style.color=\'inherit\'"></i>';
|
||||||
|
dialogHeaderEl.insertBefore(maxMin, dialogHeaderEl.childNodes[1]);
|
||||||
|
let moveDown = (e) => {
|
||||||
|
// 鼠标按下,计算当前元素距离可视区的距离
|
||||||
|
const disX = e.clientX - dialogHeaderEl.offsetLeft;
|
||||||
|
const disY = e.clientY - dialogHeaderEl.offsetTop;
|
||||||
|
|
||||||
|
// 获取到的值带px 正则匹配替换
|
||||||
|
let styL, styT;
|
||||||
|
|
||||||
|
// 注意在ie中 第一次获取到的值为组件自带50% 移动之后赋值为px
|
||||||
|
if (sty.left.includes('%')) {
|
||||||
|
styL = +document.body.clientWidth * (+sty.left.replace(/\%/g, '') / 100);
|
||||||
|
styT = +document.body.clientHeight * (+sty.top.replace(/\%/g, '') / 100);
|
||||||
|
} else {
|
||||||
|
styL = +sty.left.replace(/\px/g, '');
|
||||||
|
styT = +sty.top.replace(/\px/g, '');
|
||||||
|
}
|
||||||
|
;
|
||||||
|
|
||||||
|
document.onmousemove = function (e) {
|
||||||
|
// 通过事件委托,计算移动的距离
|
||||||
|
const l = e.clientX - disX;
|
||||||
|
const t = e.clientY - disY;
|
||||||
|
|
||||||
|
// 移动当前元素
|
||||||
|
dragDom.style.left = `${l + styL}px`;
|
||||||
|
dragDom.style.top = `${t + styT}px`;
|
||||||
|
|
||||||
|
//将此时的位置传出去
|
||||||
|
//binding.value({x:e.pageX,y:e.pageY})
|
||||||
|
};
|
||||||
|
|
||||||
|
document.onmouseup = function (e) {
|
||||||
|
document.onmousemove = null;
|
||||||
|
document.onmouseup = null;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
dialogHeaderEl.onmousedown = moveDown;
|
||||||
|
let bodyHeight = 'auto';
|
||||||
|
|
||||||
|
function setMaxMin() {
|
||||||
|
if (el.fullscreen) {
|
||||||
|
let i = maxMin.querySelector('.el-icon-crop');
|
||||||
|
i.classList.remove('el-icon-crop');
|
||||||
|
i.classList.add('el-icon-full-screen');
|
||||||
|
maxMin.innerHTML = '<i class="el-icon-full-screen"></i>';
|
||||||
|
maxMin.title = '最大化';
|
||||||
|
dragDom.style.height = nowHight + 'px';
|
||||||
|
dragDom.style.width = nowWidth + 'px';
|
||||||
|
dragDom.style.marginTop = window.innerHeight*0.07+'px';
|
||||||
|
el.fullscreen = false;
|
||||||
|
dialogHeaderEl.style.cursor = 'move';
|
||||||
|
dialogHeaderEl.onmousedown = moveDown;
|
||||||
|
//dragDom.querySelector('.el-dialog__body').style.height = bodyHeight;
|
||||||
|
hasSetBodyHight = false;
|
||||||
|
} else {
|
||||||
|
let i = maxMin.querySelector('.el-icon-full-screen');
|
||||||
|
i.classList.remove('el-icon-full-screen');
|
||||||
|
i.classList.add('el-icon-crop');
|
||||||
|
maxMin.title = '还原';
|
||||||
|
bodyHeight = dragDom.querySelector('.el-dialog__body').offsetHeight + 'px';
|
||||||
|
nowHight = dragDom.clientHeight;
|
||||||
|
nowWidth = dragDom.clientWidth;
|
||||||
|
nowMarginTop = dragDom.style.marginTop;
|
||||||
|
dragDom.style.left = 0;
|
||||||
|
dragDom.style.top = 0;
|
||||||
|
dragDom.style.height = window.innerHeight + 'px'
|
||||||
|
dragDom.style.width = "100VW";
|
||||||
|
dragDom.style.marginTop = 0;
|
||||||
|
el.fullscreen = true;
|
||||||
|
dialogHeaderEl.style.cursor = 'initial';
|
||||||
|
dialogHeaderEl.onmousedown = null;
|
||||||
|
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'*/
|
||||||
|
hasSetBodyHight = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
el.dispatchEvent(resizeEvent);
|
||||||
|
}
|
||||||
|
|
||||||
|
//点击放大缩小效果
|
||||||
|
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);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -12,7 +12,7 @@ module.exports = {
|
||||||
/**
|
/**
|
||||||
* 是否显示顶部导航
|
* 是否显示顶部导航
|
||||||
*/
|
*/
|
||||||
topNav: true,
|
topNav: false,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否显示 tagsView
|
* 是否显示 tagsView
|
||||||
|
|
|
@ -8,8 +8,8 @@ const state = {
|
||||||
theme: storageSetting.theme || '#409EFF',
|
theme: storageSetting.theme || '#409EFF',
|
||||||
sideTheme: storageSetting.sideTheme || sideTheme,
|
sideTheme: storageSetting.sideTheme || sideTheme,
|
||||||
showSettings: showSettings,
|
showSettings: showSettings,
|
||||||
//topNav: storageSetting.topNav === undefined ? topNav : storageSetting.topNav,
|
topNav: storageSetting.topNav === undefined ? topNav : storageSetting.topNav,
|
||||||
topNav: storageSetting.topNav === undefined ? topNav : true,
|
//topNav: storageSetting.topNav === undefined ? topNav : true,
|
||||||
tagsView: storageSetting.tagsView === undefined ? tagsView : storageSetting.tagsView,
|
tagsView: storageSetting.tagsView === undefined ? tagsView : storageSetting.tagsView,
|
||||||
fixedHeader: storageSetting.fixedHeader === undefined ? fixedHeader : storageSetting.fixedHeader,
|
fixedHeader: storageSetting.fixedHeader === undefined ? fixedHeader : storageSetting.fixedHeader,
|
||||||
sidebarLogo: storageSetting.sidebarLogo === undefined ? sidebarLogo : storageSetting.sidebarLogo,
|
sidebarLogo: storageSetting.sidebarLogo === undefined ? sidebarLogo : storageSetting.sidebarLogo,
|
||||||
|
|
|
@ -65,6 +65,28 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
<el-row :gutter="8">
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-divider content-position="center">询价附件</el-divider>
|
||||||
|
<el-table class="down" :data="quotXjFileList" border stripe style="width: 100%;" height="150px">
|
||||||
|
<el-table-column prop="fileName" label="文件名称" width="450px"></el-table-column>
|
||||||
|
<el-table-column prop="fileSize" label="文件大小" width="100px">
|
||||||
|
<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="上传时间"></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-col>
|
||||||
|
</el-row>
|
||||||
<el-row :gutter="8">
|
<el-row :gutter="8">
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-divider content-position="center">核价附件</el-divider>
|
<el-divider content-position="center">核价附件</el-divider>
|
||||||
|
@ -108,6 +130,125 @@
|
||||||
</el-table>
|
</el-table>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
|
|
||||||
|
<div v-if="showTl">
|
||||||
|
<el-divider content-position="center">特缆协助</el-divider>
|
||||||
|
<el-row :gutter="8">
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="特缆协助状态" prop="quotJsqrTlApprovalStatus">
|
||||||
|
<el-select v-model="form.quotJsqrTlApprovalStatus" :disabled="true">
|
||||||
|
<el-option
|
||||||
|
v-for="dict in dict.type.quot_jsxz_approval_status"
|
||||||
|
:key="dict.value"
|
||||||
|
:label="dict.label"
|
||||||
|
:value="dict.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="16">
|
||||||
|
<el-form-item label="特缆反馈附件">
|
||||||
|
<el-button size="mini" type="primary" @click="handleAddFile('quotJsqrTl')">上传文件 ({{this.quotJsqrTlFileNum}})</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row :gutter="8">
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="特缆协助说明" prop="quotJsqrTlRemark">
|
||||||
|
<el-input type="textarea" autosize v-model="form.quotJsqrTlRemark" placeholder="技术部填写" :disabled="true"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
<div v-if="showDy">
|
||||||
|
<el-divider content-position="center">低压协助</el-divider>
|
||||||
|
<el-row :gutter="8">
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="低压协助状态" prop="quotJsqrDyApprovalStatus">
|
||||||
|
<el-select v-model="form.quotJsqrDyApprovalStatus" :disabled="true">
|
||||||
|
<el-option
|
||||||
|
v-for="dict in dict.type.quot_jsxz_approval_status"
|
||||||
|
:key="dict.value"
|
||||||
|
:label="dict.label"
|
||||||
|
:value="dict.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="16">
|
||||||
|
<el-form-item label="低压反馈附件">
|
||||||
|
<el-button size="mini" type="primary" @click="handleAddFile('quotJsqrDy')">上传文件 ({{this.quotJsqrDyFileNum}})</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row :gutter="8">
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="低压协助说明" prop="quotJsqrDyRemark">
|
||||||
|
<el-input type="textarea" autosize v-model="form.quotJsqrDyRemark" placeholder="技术部填写" :disabled="true"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
<div v-if="showZy">
|
||||||
|
<el-divider content-position="center">中压协助</el-divider>
|
||||||
|
<el-row :gutter="8">
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="中压协助状态" prop="quotJsqrZyApprovalStatus">
|
||||||
|
<el-select v-model="form.quotJsqrZyApprovalStatus" :disabled="true">
|
||||||
|
<el-option
|
||||||
|
v-for="dict in dict.type.quot_jsxz_approval_status"
|
||||||
|
:key="dict.value"
|
||||||
|
:label="dict.label"
|
||||||
|
:value="dict.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="16">
|
||||||
|
<el-form-item label="中压反馈附件">
|
||||||
|
<el-button size="mini" type="primary" @click="handleAddFile('quotJsqrZy')">上传文件 ({{this.quotJsqrZyFileNum}})</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row :gutter="8">
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="中压协助说明" prop="quotJsqrZyRemark">
|
||||||
|
<el-input type="textarea" autosize v-model="form.quotJsqrZyRemark" placeholder="技术部填写" :disabled="true"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
<div v-if="showQt">
|
||||||
|
<el-divider content-position="center">其他协助</el-divider>
|
||||||
|
<el-row :gutter="8">
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="其他协助状态" prop="quotJsqrQtApprovalStatus">
|
||||||
|
<el-select v-model="form.quotJsqrQtApprovalStatus" :disabled="true">
|
||||||
|
<el-option
|
||||||
|
v-for="dict in dict.type.quot_jsxz_approval_status"
|
||||||
|
:key="dict.value"
|
||||||
|
:label="dict.label"
|
||||||
|
:value="dict.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="16">
|
||||||
|
<el-form-item label="其他反馈附件">
|
||||||
|
<el-button size="mini" type="primary" @click="handleAddFile('quotJsqrQt')">上传文件 ({{this.quotJsqrQtFileNum}})</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row :gutter="8">
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="其他协助说明" prop="quotJsqrQtRemark">
|
||||||
|
<el-input type="textarea" autosize v-model="form.quotJsqrQtRemark" placeholder="技术部填写" :disabled="true"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
|
||||||
</el-form>
|
</el-form>
|
||||||
<div slot="footer" class="dialog-footer" v-if="this.form.quotHjApprovalStatus==1">
|
<div slot="footer" class="dialog-footer" v-if="this.form.quotHjApprovalStatus==1">
|
||||||
<div v-if="this.isSelfProp">
|
<div v-if="this.isSelfProp">
|
||||||
|
@ -139,6 +280,8 @@ export default {
|
||||||
open: false,
|
open: false,
|
||||||
// 是否是自身页面调用
|
// 是否是自身页面调用
|
||||||
isSelfProp: true,
|
isSelfProp: true,
|
||||||
|
// 报价单-询价附件数据
|
||||||
|
quotXjFileList: [],
|
||||||
// 报价单-核价单附件数据
|
// 报价单-核价单附件数据
|
||||||
quotHjFileList: [],
|
quotHjFileList: [],
|
||||||
//报价单-核价单附件上传地址
|
//报价单-核价单附件上传地址
|
||||||
|
@ -148,7 +291,12 @@ export default {
|
||||||
// 表单参数
|
// 表单参数
|
||||||
form: {},
|
form: {},
|
||||||
// 表单校验
|
// 表单校验
|
||||||
rules: {}
|
rules: {},
|
||||||
|
//技术协助-特缆、低压、中压、其他 隐藏控制
|
||||||
|
showTl: false,
|
||||||
|
showDy: false,
|
||||||
|
showZy: false,
|
||||||
|
showQt: false
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
@ -164,8 +312,14 @@ export default {
|
||||||
quotProject: null,
|
quotProject: null,
|
||||||
quotHjRemark: null
|
quotHjRemark: null
|
||||||
};
|
};
|
||||||
|
this.quotXjFileList = [];
|
||||||
this.quotHjFileList = [];
|
this.quotHjFileList = [];
|
||||||
|
|
||||||
|
this.showTl = false;
|
||||||
|
this.showDy = false;
|
||||||
|
this.showZy = false;
|
||||||
|
this.showQt = false;
|
||||||
|
|
||||||
this.resetForm("form");
|
this.resetForm("form");
|
||||||
},
|
},
|
||||||
// 关闭弹窗按钮
|
// 关闭弹窗按钮
|
||||||
|
@ -183,8 +337,30 @@ export default {
|
||||||
this.form = response.data;
|
this.form = response.data;
|
||||||
this.open = true;
|
this.open = true;
|
||||||
this.title = "核价单信息";
|
this.title = "核价单信息";
|
||||||
|
this.getQuotXjFileList();
|
||||||
this.getQuotHjFileList();
|
this.getQuotHjFileList();
|
||||||
|
|
||||||
|
console.log( response.data)
|
||||||
|
const quotJsxzGroup = this.form.quotJsxzGroupValues;
|
||||||
|
alert(quotJsxzGroup)
|
||||||
|
if(quotJsxzGroup) {
|
||||||
|
if (quotJsxzGroup.indexOf("TL") !== -1) {
|
||||||
|
this.showTl = true;
|
||||||
|
this.getQuotJsqrFileList('quotJsqrTlFkFile');
|
||||||
|
}
|
||||||
|
if (quotJsxzGroup.indexOf("DY") !== -1) {
|
||||||
|
this.showDy = true;
|
||||||
|
this.getQuotJsqrFileList('quotJsqrDyFkFile');
|
||||||
|
}
|
||||||
|
if (quotJsxzGroup.indexOf("ZY") !== -1) {
|
||||||
|
this.showZy = true;
|
||||||
|
this.getQuotJsqrFileList('quotJsqrZyFkFile');
|
||||||
|
}
|
||||||
|
if (quotJsxzGroup.indexOf("QT") !== -1) {
|
||||||
|
this.showQt = true;
|
||||||
|
this.getQuotJsqrFileList('quotJsqrQtFkFile');
|
||||||
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
/** 提交报价按钮 */
|
/** 提交报价按钮 */
|
||||||
|
@ -211,6 +387,13 @@ export default {
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
//获取报价单-询价附件列表
|
||||||
|
getQuotXjFileList(){
|
||||||
|
const param = {relationId:this.form.quotId,fileType:'quotXjFile'}
|
||||||
|
quotFileList(param).then(response => {
|
||||||
|
this.quotXjFileList = response.rows;
|
||||||
|
});
|
||||||
|
},
|
||||||
//获取报价单-核价附件列表
|
//获取报价单-核价附件列表
|
||||||
getQuotHjFileList(){
|
getQuotHjFileList(){
|
||||||
const param = {relationId:this.form.quotHjId,fileType:'quotHjFile'}
|
const param = {relationId:this.form.quotHjId,fileType:'quotHjFile'}
|
||||||
|
|
|
@ -143,7 +143,7 @@
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<!-- 添加或修改报价对话框 -->
|
<!-- 添加或修改报价对话框 -->
|
||||||
<el-dialog :visible.sync="open" width="1050px" append-to-body>
|
<el-dialog :visible.sync="open" width="1050px" v-el-drag-dialog append-to-body>
|
||||||
<template slot="title">
|
<template slot="title">
|
||||||
报价单信息<span style="color:red;margin-left:25px">(注:此报价单数据,型号规格电压等如需下单或签订合同引用,请再次自行核对,责任自负)</span>
|
报价单信息<span style="color:red;margin-left:25px">(注:此报价单数据,型号规格电压等如需下单或签订合同引用,请再次自行核对,责任自负)</span>
|
||||||
</template>
|
</template>
|
||||||
|
@ -778,8 +778,15 @@ import jsqrDialog from '@/views/technicalConfirm/technicalConfirm/jsxzInfo.vue';
|
||||||
/** 导入核价单详情组件*/
|
/** 导入核价单详情组件*/
|
||||||
import hjDialog from '@/views/priceVerification/priceVerification/hjInfo.vue';
|
import hjDialog from '@/views/priceVerification/priceVerification/hjInfo.vue';
|
||||||
|
|
||||||
|
/** 弹窗放大、拖拽 */
|
||||||
|
import elDragDialog from "@/directive/dialog/dragDialog";
|
||||||
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "Quot",
|
name: "Quot",
|
||||||
|
directives: {
|
||||||
|
elDragDialog,
|
||||||
|
},
|
||||||
components: {
|
components: {
|
||||||
// 注册组件
|
// 注册组件
|
||||||
'CustomerSelect': CustomerSelect,
|
'CustomerSelect': CustomerSelect,
|
||||||
|
@ -1014,7 +1021,7 @@ export default {
|
||||||
this.open = true;
|
this.open = true;
|
||||||
this.activeName = "quotInfo";
|
this.activeName = "quotInfo";
|
||||||
|
|
||||||
var quotJsxzGroup = this.form.quotJsxzGroupValues;
|
const quotJsxzGroup = this.form.quotJsxzGroupValues;
|
||||||
if(quotJsxzGroup){
|
if(quotJsxzGroup){
|
||||||
if(quotJsxzGroup.indexOf("TL")!==-1){
|
if(quotJsxzGroup.indexOf("TL")!==-1){
|
||||||
this.showTl = true;
|
this.showTl = true;
|
||||||
|
@ -1222,7 +1229,7 @@ export default {
|
||||||
}
|
}
|
||||||
}, 0);
|
}, 0);
|
||||||
} else {
|
} else {
|
||||||
sums[index] = '---'
|
sums[index] = ''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -65,7 +65,7 @@
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
||||||
<!-- 报价详情对话框 -->
|
<!-- 报价详情对话框 -->
|
||||||
<el-dialog :title="title" :visible.sync="open" width="1050px" append-to-body>
|
<el-dialog :title="title" :visible.sync="open" width="1050px" v-el-drag-dialog append-to-body>
|
||||||
<el-form ref="form" :model="form":rules="rules" label-width="100px">
|
<el-form ref="form" :model="form":rules="rules" label-width="100px">
|
||||||
<el-row :gutter="8">
|
<el-row :gutter="8">
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
|
@ -119,7 +119,7 @@
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<el-table v-loading="selectedResultLoading" width="100%;" :row-class-name="selectedResultIndex" :data="selectedResultData" height="350px">
|
<el-table v-loading="selectedResultLoading" width="100%;" :row-class-name="selectedResultIndex" :data="selectedResultData" height="300px">
|
||||||
<el-table-column fixed="left" label="" align="center" prop="index" width="50"/>
|
<el-table-column fixed="left" label="" align="center" prop="index" width="50"/>
|
||||||
<el-table-column label="版本uid" align="center" prop="uid_0" v-if="false"/>
|
<el-table-column label="版本uid" align="center" prop="uid_0" v-if="false"/>
|
||||||
<el-table-column fixed="left" label="产品型号" align="center" prop="name_0" width="180"/>
|
<el-table-column fixed="left" label="产品型号" align="center" prop="name_0" width="180"/>
|
||||||
|
@ -167,12 +167,16 @@
|
||||||
</style>
|
</style>
|
||||||
<script>
|
<script>
|
||||||
import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
|
import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
|
||||||
|
|
||||||
import {toDecimal, versionList,listQuots,getQuotDetail,deleteQuots,updateSelectedResultData,madeQuot,saveQuot,commitQuot } from "@/api/redBook/redBook";
|
import {toDecimal, versionList,listQuots,getQuotDetail,deleteQuots,updateSelectedResultData,madeQuot,saveQuot,commitQuot } from "@/api/redBook/redBook";
|
||||||
|
/** 弹窗放大、拖拽 */
|
||||||
|
import elDragDialog from "@/directive/dialog/dragDialog";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "quots",
|
name: "quots",
|
||||||
dicts:['rb_quot_approval_status'],
|
dicts:['rb_quot_approval_status'],
|
||||||
|
directives: {
|
||||||
|
elDragDialog,
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
// 遮罩层
|
// 遮罩层
|
||||||
|
|
Loading…
Reference in New Issue