This commit is contained in:
xd 2024-04-12 10:48:43 +08:00
parent e7213a99f8
commit 27b333354f
5 changed files with 202 additions and 64 deletions

View File

@ -123,6 +123,7 @@ public class QuotJsqrController extends BaseController
quotJsqr.setQuotJsqrTlOperateUserName(getLoginUser().getUser().getNickName()); quotJsqr.setQuotJsqrTlOperateUserName(getLoginUser().getUser().getNickName());
quotJsqr.setQuotJsqrTlOperateTime(DateUtils.getTime()); quotJsqr.setQuotJsqrTlOperateTime(DateUtils.getTime());
quotJsqr.setQuotJsqrTlOperateState(state); quotJsqr.setQuotJsqrTlOperateState(state);
quotJsqr.setQuotJsqrTlRemark(info.getQuotJsqrTlRemark());
String quotJsqrTlRemark = info.getQuotJsqrTlRemark(); String quotJsqrTlRemark = info.getQuotJsqrTlRemark();
if("3".equals(state)){//驳回 if("3".equals(state)){//驳回
@ -131,7 +132,7 @@ public class QuotJsqrController extends BaseController
} }
quotJsqr.setQuotJsqrTlApprovalStatus("3");//特缆协助状态 设置为 驳回 quotJsqr.setQuotJsqrTlApprovalStatus("3");//特缆协助状态 设置为 驳回
}else if("2".equals(state)){ }else if("2".equals(state)){
if("0".equals(fileNum)&&"".equals(quotJsqrTlRemark)){ if("0".equals(fileNum)&&StringUtils.isEmpty(quotJsqrTlRemark)){
return error("特缆反馈附件 或 特缆协助说明 至少填写一项"); return error("特缆反馈附件 或 特缆协助说明 至少填写一项");
} }
} }
@ -140,8 +141,10 @@ public class QuotJsqrController extends BaseController
quotJsqr.setQuotJsqrTlCheckUserName(getLoginUser().getUser().getNickName()); quotJsqr.setQuotJsqrTlCheckUserName(getLoginUser().getUser().getNickName());
quotJsqr.setQuotJsqrTlCheckTime(DateUtils.getTime()); quotJsqr.setQuotJsqrTlCheckTime(DateUtils.getTime());
quotJsqr.setQuotJsqrTlCheckState(state); quotJsqr.setQuotJsqrTlCheckState(state);
if("3".equals(state)){//驳回 quotJsqr.setQuotJsqrTlCheckRemark(info.getQuotJsqrTlCheckRemark());
String quotJsqrTlCheckRemark = info.getQuotJsqrTlCheckRemark(); String quotJsqrTlCheckRemark = info.getQuotJsqrTlCheckRemark();
if("3".equals(state)){//驳回
if(StringUtils.isEmpty(quotJsqrTlCheckRemark)){ if(StringUtils.isEmpty(quotJsqrTlCheckRemark)){
return error("特缆审核意见不能为空"); return error("特缆审核意见不能为空");
} }
@ -152,8 +155,10 @@ public class QuotJsqrController extends BaseController
quotJsqr.setQuotJsqrTlLeaderUserName(getLoginUser().getUser().getNickName()); quotJsqr.setQuotJsqrTlLeaderUserName(getLoginUser().getUser().getNickName());
quotJsqr.setQuotJsqrTlLeaderTime(DateUtils.getTime()); quotJsqr.setQuotJsqrTlLeaderTime(DateUtils.getTime());
quotJsqr.setQuotJsqrTlLeaderState(state); quotJsqr.setQuotJsqrTlLeaderState(state);
if("3".equals(state)){//驳回 quotJsqr.setQuotJsqrTlLeaderRemark(info.getQuotJsqrTlLeaderRemark());
String quotJsqrTlLeaderRemark = info.getQuotJsqrTlLeaderRemark(); String quotJsqrTlLeaderRemark = info.getQuotJsqrTlLeaderRemark();
if("3".equals(state)){//驳回
if(StringUtils.isEmpty(quotJsqrTlLeaderRemark)){ if(StringUtils.isEmpty(quotJsqrTlLeaderRemark)){
return error("特缆组长确认意见不能为空"); return error("特缆组长确认意见不能为空");
} }
@ -168,6 +173,7 @@ public class QuotJsqrController extends BaseController
quotJsqr.setQuotJsqrDyOperateUserName(getLoginUser().getUser().getNickName()); quotJsqr.setQuotJsqrDyOperateUserName(getLoginUser().getUser().getNickName());
quotJsqr.setQuotJsqrDyOperateTime(DateUtils.getTime()); quotJsqr.setQuotJsqrDyOperateTime(DateUtils.getTime());
quotJsqr.setQuotJsqrDyOperateState(state); quotJsqr.setQuotJsqrDyOperateState(state);
quotJsqr.setQuotJsqrDyRemark(info.getQuotJsqrDyRemark());
String quotJsqrDyRemark = info.getQuotJsqrDyRemark(); String quotJsqrDyRemark = info.getQuotJsqrDyRemark();
if("3".equals(state)){//驳回 if("3".equals(state)){//驳回
@ -176,7 +182,7 @@ public class QuotJsqrController extends BaseController
} }
quotJsqr.setQuotJsqrDyApprovalStatus("3");//低压协助状态 设置为 驳回 quotJsqr.setQuotJsqrDyApprovalStatus("3");//低压协助状态 设置为 驳回
}else if("2".equals(state)){ }else if("2".equals(state)){
if("0".equals(fileNum)&&"".equals(quotJsqrDyRemark)){ if("0".equals(fileNum)&&StringUtils.isEmpty(quotJsqrDyRemark)){
return error("低压反馈附件 或 低压协助说明 至少填写一项"); return error("低压反馈附件 或 低压协助说明 至少填写一项");
} }
} }
@ -185,8 +191,10 @@ public class QuotJsqrController extends BaseController
quotJsqr.setQuotJsqrDyCheckUserName(getLoginUser().getUser().getNickName()); quotJsqr.setQuotJsqrDyCheckUserName(getLoginUser().getUser().getNickName());
quotJsqr.setQuotJsqrDyCheckTime(DateUtils.getTime()); quotJsqr.setQuotJsqrDyCheckTime(DateUtils.getTime());
quotJsqr.setQuotJsqrDyCheckState(state); quotJsqr.setQuotJsqrDyCheckState(state);
if("3".equals(state)){//驳回 quotJsqr.setQuotJsqrDyCheckRemark(info.getQuotJsqrDyCheckRemark());
String quotJsqrDyCheckRemark = info.getQuotJsqrDyCheckRemark(); String quotJsqrDyCheckRemark = info.getQuotJsqrDyCheckRemark();
if("3".equals(state)){//驳回
if(StringUtils.isEmpty(quotJsqrDyCheckRemark)){ if(StringUtils.isEmpty(quotJsqrDyCheckRemark)){
return error("低压审核意见不能为空"); return error("低压审核意见不能为空");
} }
@ -197,8 +205,10 @@ public class QuotJsqrController extends BaseController
quotJsqr.setQuotJsqrDyLeaderUserName(getLoginUser().getUser().getNickName()); quotJsqr.setQuotJsqrDyLeaderUserName(getLoginUser().getUser().getNickName());
quotJsqr.setQuotJsqrDyLeaderTime(DateUtils.getTime()); quotJsqr.setQuotJsqrDyLeaderTime(DateUtils.getTime());
quotJsqr.setQuotJsqrDyLeaderState(state); quotJsqr.setQuotJsqrDyLeaderState(state);
if("3".equals(state)){//驳回 quotJsqr.setQuotJsqrDyLeaderRemark(info.getQuotJsqrDyLeaderRemark());
String quotJsqrDyLeaderRemark = info.getQuotJsqrDyLeaderRemark(); String quotJsqrDyLeaderRemark = info.getQuotJsqrDyLeaderRemark();
if("3".equals(state)){//驳回
if(StringUtils.isEmpty(quotJsqrDyLeaderRemark)){ if(StringUtils.isEmpty(quotJsqrDyLeaderRemark)){
return error("低压组长确认意见不能为空"); return error("低压组长确认意见不能为空");
} }
@ -213,6 +223,7 @@ public class QuotJsqrController extends BaseController
quotJsqr.setQuotJsqrZyOperateUserName(getLoginUser().getUser().getNickName()); quotJsqr.setQuotJsqrZyOperateUserName(getLoginUser().getUser().getNickName());
quotJsqr.setQuotJsqrZyOperateTime(DateUtils.getTime()); quotJsqr.setQuotJsqrZyOperateTime(DateUtils.getTime());
quotJsqr.setQuotJsqrZyOperateState(state); quotJsqr.setQuotJsqrZyOperateState(state);
quotJsqr.setQuotJsqrZyRemark(info.getQuotJsqrZyRemark());
String quotJsqrZyRemark = info.getQuotJsqrZyRemark(); String quotJsqrZyRemark = info.getQuotJsqrZyRemark();
if("3".equals(state)){//驳回 if("3".equals(state)){//驳回
@ -221,7 +232,7 @@ public class QuotJsqrController extends BaseController
} }
quotJsqr.setQuotJsqrZyApprovalStatus("3");//中压协助状态 设置为 驳回 quotJsqr.setQuotJsqrZyApprovalStatus("3");//中压协助状态 设置为 驳回
}else if("2".equals(state)){ }else if("2".equals(state)){
if("0".equals(fileNum)&&"".equals(quotJsqrZyRemark)){ if("0".equals(fileNum)&&StringUtils.isEmpty(quotJsqrZyRemark)){
return error("中压反馈附件 或 低压协助说明 至少填写一项"); return error("中压反馈附件 或 低压协助说明 至少填写一项");
} }
} }
@ -230,8 +241,11 @@ public class QuotJsqrController extends BaseController
quotJsqr.setQuotJsqrZyCheckUserName(getLoginUser().getUser().getNickName()); quotJsqr.setQuotJsqrZyCheckUserName(getLoginUser().getUser().getNickName());
quotJsqr.setQuotJsqrZyCheckTime(DateUtils.getTime()); quotJsqr.setQuotJsqrZyCheckTime(DateUtils.getTime());
quotJsqr.setQuotJsqrZyCheckState(state); quotJsqr.setQuotJsqrZyCheckState(state);
if("3".equals(state)){//驳回 quotJsqr.setQuotJsqrZyCheckRemark(info.getQuotJsqrZyCheckRemark());
String quotJsqrZyCheckRemark = info.getQuotJsqrZyCheckRemark(); String quotJsqrZyCheckRemark = info.getQuotJsqrZyCheckRemark();
if("3".equals(state)){//驳回
if(StringUtils.isEmpty(quotJsqrZyCheckRemark)){ if(StringUtils.isEmpty(quotJsqrZyCheckRemark)){
return error("中压审核意见不能为空"); return error("中压审核意见不能为空");
} }
@ -242,8 +256,10 @@ public class QuotJsqrController extends BaseController
quotJsqr.setQuotJsqrZyLeaderUserName(getLoginUser().getUser().getNickName()); quotJsqr.setQuotJsqrZyLeaderUserName(getLoginUser().getUser().getNickName());
quotJsqr.setQuotJsqrZyLeaderTime(DateUtils.getTime()); quotJsqr.setQuotJsqrZyLeaderTime(DateUtils.getTime());
quotJsqr.setQuotJsqrZyLeaderState(state); quotJsqr.setQuotJsqrZyLeaderState(state);
if("3".equals(state)){//驳回 quotJsqr.setQuotJsqrZyLeaderRemark(info.getQuotJsqrZyLeaderRemark());
String quotJsqrZyLeaderRemark = info.getQuotJsqrZyLeaderRemark(); String quotJsqrZyLeaderRemark = info.getQuotJsqrZyLeaderRemark();
if("3".equals(state)){//驳回
if(StringUtils.isEmpty(quotJsqrZyLeaderRemark)){ if(StringUtils.isEmpty(quotJsqrZyLeaderRemark)){
return error("中压组长确认意见不能为空"); return error("中压组长确认意见不能为空");
} }
@ -258,6 +274,7 @@ public class QuotJsqrController extends BaseController
quotJsqr.setQuotJsqrQtOperateUserName(getLoginUser().getUser().getNickName()); quotJsqr.setQuotJsqrQtOperateUserName(getLoginUser().getUser().getNickName());
quotJsqr.setQuotJsqrQtOperateTime(DateUtils.getTime()); quotJsqr.setQuotJsqrQtOperateTime(DateUtils.getTime());
quotJsqr.setQuotJsqrQtOperateState(state); quotJsqr.setQuotJsqrQtOperateState(state);
quotJsqr.setQuotJsqrQtRemark(info.getQuotJsqrQtRemark());
String quotJsqrQtRemark = info.getQuotJsqrQtRemark(); String quotJsqrQtRemark = info.getQuotJsqrQtRemark();
if("3".equals(state)){//驳回 if("3".equals(state)){//驳回
@ -266,7 +283,7 @@ public class QuotJsqrController extends BaseController
} }
quotJsqr.setQuotJsqrQtApprovalStatus("3");//其他协助状态 设置为 驳回 quotJsqr.setQuotJsqrQtApprovalStatus("3");//其他协助状态 设置为 驳回
}else if("2".equals(state)){ }else if("2".equals(state)){
if("0".equals(fileNum)&&"".equals(quotJsqrQtRemark)){ if("0".equals(fileNum)&&StringUtils.isEmpty(quotJsqrQtRemark)){
return error("其他反馈附件 或 其他协助说明 至少填写一项"); return error("其他反馈附件 或 其他协助说明 至少填写一项");
} }
} }
@ -275,8 +292,10 @@ public class QuotJsqrController extends BaseController
quotJsqr.setQuotJsqrQtCheckUserName(getLoginUser().getUser().getNickName()); quotJsqr.setQuotJsqrQtCheckUserName(getLoginUser().getUser().getNickName());
quotJsqr.setQuotJsqrQtCheckTime(DateUtils.getTime()); quotJsqr.setQuotJsqrQtCheckTime(DateUtils.getTime());
quotJsqr.setQuotJsqrQtCheckState(state); quotJsqr.setQuotJsqrQtCheckState(state);
if("3".equals(state)){//驳回 quotJsqr.setQuotJsqrQtCheckRemark(info.getQuotJsqrQtCheckRemark());
String quotJsqrQtCheckRemark = info.getQuotJsqrQtCheckRemark(); String quotJsqrQtCheckRemark = info.getQuotJsqrQtCheckRemark();
if("3".equals(state)){//驳回
if(StringUtils.isEmpty(quotJsqrQtCheckRemark)){ if(StringUtils.isEmpty(quotJsqrQtCheckRemark)){
return error("其他审核意见不能为空"); return error("其他审核意见不能为空");
} }
@ -287,8 +306,10 @@ public class QuotJsqrController extends BaseController
quotJsqr.setQuotJsqrQtLeaderUserName(getLoginUser().getUser().getNickName()); quotJsqr.setQuotJsqrQtLeaderUserName(getLoginUser().getUser().getNickName());
quotJsqr.setQuotJsqrQtLeaderTime(DateUtils.getTime()); quotJsqr.setQuotJsqrQtLeaderTime(DateUtils.getTime());
quotJsqr.setQuotJsqrQtLeaderState(state); quotJsqr.setQuotJsqrQtLeaderState(state);
if("3".equals(state)){//驳回 quotJsqr.setQuotJsqrQtLeaderRemark(info.getQuotJsqrQtLeaderRemark());
String quotJsqrQtLeaderRemark = info.getQuotJsqrQtLeaderRemark(); String quotJsqrQtLeaderRemark = info.getQuotJsqrQtLeaderRemark();
if("3".equals(state)){//驳回
if(StringUtils.isEmpty(quotJsqrQtLeaderRemark)){ if(StringUtils.isEmpty(quotJsqrQtLeaderRemark)){
return error("其他确认意见不能为空"); return error("其他确认意见不能为空");
} }

View File

@ -538,6 +538,9 @@ public class QuotJsqr extends BaseEntity
/** 报价单信息 */ /** 报价单信息 */
/** 报价单号Id */
private String quotId;
/** 报价单号 */ /** 报价单号 */
private String quotCode; private String quotCode;
@ -566,6 +569,9 @@ public class QuotJsqr extends BaseEntity
/** 技术协助-技术要求 */ /** 技术协助-技术要求 */
private String quotJsxzTechnicalRequirement; private String quotJsxzTechnicalRequirement;
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; }

View File

@ -65,6 +65,7 @@ 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="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" />
@ -98,7 +99,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
a.quot_jsqr_qt_operate_time, a.quot_jsqr_qt_remark, a.quot_jsqr_qt_check_user_name, a.quot_jsqr_qt_check_state, a.quot_jsqr_qt_operate_time, a.quot_jsqr_qt_remark, a.quot_jsqr_qt_check_user_name, a.quot_jsqr_qt_check_state,
a.quot_jsqr_qt_check_time, a.quot_jsqr_qt_check_remark, a.quot_jsqr_qt_leader_user_name, a.quot_jsqr_qt_leader_state, a.quot_jsqr_qt_check_time, a.quot_jsqr_qt_check_remark, a.quot_jsqr_qt_leader_user_name, a.quot_jsqr_qt_leader_state,
a.quot_jsqr_qt_leader_time, a.quot_jsqr_qt_leader_remark, a.create_by, a.create_time, a.update_by, a.update_time, a.quot_jsqr_qt_leader_time, a.quot_jsqr_qt_leader_remark, a.create_by, a.create_time, a.update_by, a.update_time,
u.nick_name create_name,q.quot_code,q.quot_salesman_name,q.quot_customer_name,q.quot_project, u.nick_name create_name,q.quot_id,q.quot_code,q.quot_salesman_name,q.quot_customer_name,q.quot_project,
q.quot_jsxz_approval_status,q.quot_jsxz_group_values,q.quot_jsxz_standard,q.quot_jsxz_chapter,q.quot_jsxz_technical_requirement q.quot_jsxz_approval_status,q.quot_jsxz_group_values,q.quot_jsxz_standard,q.quot_jsxz_chapter,q.quot_jsxz_technical_requirement
from quot_jsqr a from quot_jsqr a
<include refid="quotJsqrJoins"/> <include refid="quotJsqrJoins"/>

View File

@ -103,8 +103,17 @@
<el-table-column label="业务员" align="center" prop="quotSalesmanName" width="150px"/> <el-table-column label="业务员" align="center" prop="quotSalesmanName" width="150px"/>
<el-table-column label="客户名称" align="center" prop="quotCustomerName" width="250px"/> <el-table-column label="客户名称" align="center" prop="quotCustomerName" width="250px"/>
<el-table-column label="项目名称" align="center" prop="quotProject" width="250px"/> <el-table-column label="项目名称" align="center" prop="quotProject" width="250px"/>
<el-table-column label="询价日期" align="center" prop="quotInquiryDate" width="150px"/> <el-table-column label="询价日期" align="center" prop="quotInquiryDate" width="150px">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.quotInquiryDate) }}</span>
</template>
</el-table-column>
<el-table-column label="反馈说明" align="center" prop="quotFeedbackExplanation" width="150px"/> <el-table-column label="反馈说明" align="center" prop="quotFeedbackExplanation" width="150px"/>
<el-table-column label="技术协助状态" align="center" prop="quotJsxzApprovalStatus" width="150px">
<template slot-scope="scope">
<dict-tag :options="dict.type.quot_jsxz_approval_status" :value="scope.row.quotJsxzApprovalStatus"/>
</template>
</el-table-column>
<el-table-column label="创建人" align="center" prop="createName" width="150px"/> <el-table-column label="创建人" align="center" prop="createName" width="150px"/>
<el-table-column label="创建时间" align="center" prop="createTime" width="160"> <el-table-column label="创建时间" align="center" prop="createTime" width="160">
<template slot-scope="scope"> <template slot-scope="scope">
@ -398,8 +407,8 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="16"> <el-col :span="16">
<el-form-item label="特缆反馈附件" prop="quotJsxzTlApprovalStatus"> <el-form-item label="特缆反馈附件">
<el-button size="mini" type="primary" @click="handleAddFile('quotJsqrTl')">上传文件 ({{this.quotJsqrTlFileNum}})</el-button>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -427,8 +436,8 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="16"> <el-col :span="16">
<el-form-item label="低压反馈附件" prop="quotJsxzDyApprovalStatus"> <el-form-item label="低压反馈附件">
<el-button size="mini" type="primary" @click="handleAddFile('quotJsqrDy')">上传文件 ({{this.quotJsqrDyFileNum}})</el-button>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -456,8 +465,8 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="16"> <el-col :span="16">
<el-form-item label="中压反馈附件" prop="quotJsxzZyApprovalStatus"> <el-form-item label="中压反馈附件">
<el-button size="mini" type="primary" @click="handleAddFile('quotJsqrZy')">上传文件 ({{this.quotJsqrZyFileNum}})</el-button>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -485,8 +494,8 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="16"> <el-col :span="16">
<el-form-item label="其他反馈附件" prop="quotJsxzQtApprovalStatus"> <el-form-item label="其他反馈附件">
<el-button size="mini" type="primary" @click="handleAddFile('quotJsqrQt')">上传文件 ({{this.quotJsqrQtFileNum}})</el-button>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -500,18 +509,20 @@
</div> </div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="反馈附件" name="quotFkFile" v-if="checkPermi(['quot:quot:assist','quot:quot:add'])"> <el-tab-pane label="反馈附件" name="quotFkFile" v-if="checkPermi(['quot:quot:assist','quot:quot:add'])">
<div v-hasPermi="['quot:quot:assist']">
<el-upload class="upload-demo" <el-upload class="upload-demo"
ref="upload" ref="upload"
name="quotFile" name="quotFile"
:action="uploadUrl" :action="uploadUrl"
:headers="headers" :headers="headers"
:data="{ relation_id: this.form.quotId,file_type: 'quotFkFile' }" :data="{ relation_id: this.form.quotId,file_type: 'quotXjFile' }"
:on-success="handleAvatarSuccess" :on-success="handleAvatarSuccess"
:show-file-list="false" :show-file-list="false"
:limit="1" :limit="1"
v-if="this.form.quotApprovalStatus == '2'"> v-if="this.form.quotApprovalStatus == '1'">
<el-button slot="trigger" size="small" type="primary">上传文件</el-button> <el-button slot="trigger" size="small" type="primary">上传文件</el-button>
</el-upload> </el-upload>
</div>
<el-table class="down" :data="quotFkFileList" border stripe style="width: 100%;margin-top: 20px;" height="300px"> <el-table class="down" :data="quotFkFileList" border stripe style="width: 100%;margin-top: 20px;" height="300px">
<el-table-column prop="fileName" label="文件名称" width="500px"></el-table-column> <el-table-column prop="fileName" label="文件名称" width="500px"></el-table-column>
<el-table-column prop="fileSize" label="文件大小" width="150px"> <el-table-column prop="fileSize" label="文件大小" width="150px">
@ -532,6 +543,41 @@
</el-table> </el-table>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
<!-- 反馈附件对话框 -->
<el-dialog class="fkfjDialog" :title="addFileTitle" :visible.sync="addFileOpen" width="800px" append-to-body>
<el-upload class="upload-demo"
ref="upload"
name="quotFile"
:action="uploadUrl"
:headers="headers"
:data="{ relation_id: this.form.quotJsxzConfirmId,file_type: fileType }"
:on-success="handleAvatarSuccess"
:show-file-list="false"
:limit="1"
v-if="uploadDis">
<el-button slot="trigger" size="small" type="primary">上传文件</el-button>
</el-upload>
<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>
<el-button :key="Math.random()" size="small" type="text" v-if="uploadDis">
<a @click="deleteFile(scope.row.fileId)">删除</a>
</el-button>
</template>
</el-table-column>
</el-table>
</el-dialog>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<span v-hasPermi="['quot:quot:save']"><el-button @click="saveForm" v-if="this.form.quotApprovalStatus == '0' || this.form.quotApprovalStatus == null"> </el-button></span> <span v-hasPermi="['quot:quot:save']"><el-button @click="saveForm" v-if="this.form.quotApprovalStatus == '0' || this.form.quotApprovalStatus == null"> </el-button></span>
@ -557,6 +603,15 @@
height: 100%; height: 100%;
overflow-y: auto; overflow-y: auto;
} }
.fkfjDialog .el-dialog__body {
padding: 10px 10px;
color: #606266;
font-size: 14px;
word-break: break-all;
overflow-y: auto; /* 自动显示垂直滚动条 */
height: 300px;
max-height: 380px; /* 设置最大高度,根据需要调整 */
}
</style> </style>
<script> <script>
import { listQuot, getQuot, delQuot, addQuot, updateQuot, quotFileList, quotFileDelete, commitQuot, commitJsQuot } from "@/api/quot/quot"; import { listQuot, getQuot, delQuot, addQuot, updateQuot, quotFileList, quotFileDelete, commitQuot, commitJsQuot } from "@/api/quot/quot";
@ -603,6 +658,20 @@ export default {
title: "", title: "",
// //
open: false, open: false,
//
addFileOpen: false,
//
addFileTitle: "",
//
uploadDis: false,
//
quotJsqrFileList: [],
quotJsqrTlFileNum: 0,
quotJsqrDyFileNum: 0,
quotJsqrZyFileNum: 0,
quotJsqrQtFileNum: 0,
//
fileType: null,
// //
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
@ -735,23 +804,24 @@ export default {
this.activeName = "quotInfo"; this.activeName = "quotInfo";
var quotJsxzGroup = this.form.quotJsxzGroupValues; var quotJsxzGroup = this.form.quotJsxzGroupValues;
if(quotJsxzGroup){
if(quotJsxzGroup.indexOf("TL")!==-1){ if(quotJsxzGroup.indexOf("TL")!==-1){
this.showTl = true; this.showTl = true;
//this.getQuotJsqrFileList('quotJsqrTlFkFile'); this.getQuotJsqrFileList('quotJsqrTlFkFile');
} }
if(quotJsxzGroup.indexOf("DY")!==-1){ if(quotJsxzGroup.indexOf("DY")!==-1){
this.showDy = true; this.showDy = true;
//this.getQuotJsqrFileList('quotJsqrDyFkFile'); this.getQuotJsqrFileList('quotJsqrDyFkFile');
} }
if(quotJsxzGroup.indexOf("ZY")!==-1){ if(quotJsxzGroup.indexOf("ZY")!==-1){
this.showZy = true; this.showZy = true;
//this.getQuotJsqrFileList('quotJsqrZyFkFile'); this.getQuotJsqrFileList('quotJsqrZyFkFile');
} }
if(quotJsxzGroup.indexOf("QT")!==-1){ if(quotJsxzGroup.indexOf("QT")!==-1){
this.showQt = true; this.showQt = true;
//this.getQuotJsqrFileList('quotJsqrQtFkFile'); this.getQuotJsqrFileList('quotJsqrQtFkFile');
}
} }
this.getQuotXjFileList(); this.getQuotXjFileList();
this.getQuotJsgfFileList(); this.getQuotJsgfFileList();
this.getQuotFkFileList(); this.getQuotFkFileList();
@ -873,6 +943,47 @@ export default {
this.quotJsgfFileList = response.rows; this.quotJsgfFileList = response.rows;
}); });
}, },
//--
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;
}
});
},
//
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);
},
// //
handleAvatarSuccess(res) { handleAvatarSuccess(res) {

View File

@ -178,7 +178,7 @@
<el-divider content-position="center">特缆协助</el-divider> <el-divider content-position="center">特缆协助</el-divider>
<div style="margin-bottom: 10px;text-align:right"> <div style="margin-bottom: 10px;text-align:right">
<div v-if="this.form.quotJsqrTlOperateState == 0 && this.form.quotJsqrTlCheckState != 2 && this.form.quotJsqrTlLeaderState != 2"> <div v-if="this.form.quotJsqrTlOperateState == 0 && this.form.quotJsqrTlCheckState != 2 && this.form.quotJsqrTlLeaderState != 2">
<el-button size="mini" type="success" plain @click="doOperate('TL','operater','2',this.quotJsqrTlFileNum)">操作人通过</el-button> <el-button size="mini" type="success" plain @click="doOperate('TL','operater','2')">操作人通过</el-button>
<el-button size="mini" type="danger" plain @click="doOperate('TL','operater','3')">操作人驳回</el-button> <el-button size="mini" type="danger" plain @click="doOperate('TL','operater','3')">操作人驳回</el-button>
</div> </div>
<div v-if="this.form.quotJsqrTlOperateState == 2 && this.form.quotJsqrTlCheckState != 2 && this.form.quotJsqrTlLeaderState != 2"> <div v-if="this.form.quotJsqrTlOperateState == 2 && this.form.quotJsqrTlCheckState != 2 && this.form.quotJsqrTlLeaderState != 2">
@ -206,7 +206,7 @@
</el-row> </el-row>
<el-row :gutter="8"> <el-row :gutter="8">
<el-col :span="8"> <el-col :span="8">
<el-form-item label="特缆反馈附件" prop="quotJsqrTlRemark"> <el-form-item label="特缆反馈附件">
<el-button size="mini" type="primary" @click="handleAddFile('quotJsqrTl')">上传文件 ({{this.quotJsqrTlFileNum}})</el-button> <el-button size="mini" type="primary" @click="handleAddFile('quotJsqrTl')">上传文件 ({{this.quotJsqrTlFileNum}})</el-button>
<!--已上传: {{this.quotJsqrTlFileNum}} --> <!--已上传: {{this.quotJsqrTlFileNum}} -->
</el-form-item> </el-form-item>
@ -309,7 +309,7 @@
<el-divider content-position="center">低压协助</el-divider> <el-divider content-position="center">低压协助</el-divider>
<div style="margin-bottom: 10px;text-align:right"> <div style="margin-bottom: 10px;text-align:right">
<div v-if="this.form.quotJsqrDyOperateState == 0 && this.form.quotJsqrDyCheckState != 2 && this.form.quotJsqrDyLeaderState != 2"> <div v-if="this.form.quotJsqrDyOperateState == 0 && this.form.quotJsqrDyCheckState != 2 && this.form.quotJsqrDyLeaderState != 2">
<el-button size="mini" type="success" plain @click="doOperate('DY','operater','2',this.quotJsqrDyFileNum)">操作人通过</el-button> <el-button size="mini" type="success" plain @click="doOperate('DY','operater','2')">操作人通过</el-button>
<el-button size="mini" type="danger" plain @click="doOperate('DY','operater','3')">操作人驳回</el-button> <el-button size="mini" type="danger" plain @click="doOperate('DY','operater','3')">操作人驳回</el-button>
</div> </div>
<div v-if="this.form.quotJsqrDyOperateState == 2 && this.form.quotJsqrDyCheckState != 2 && this.form.quotJsqrDyLeaderState != 2"> <div v-if="this.form.quotJsqrDyOperateState == 2 && this.form.quotJsqrDyCheckState != 2 && this.form.quotJsqrDyLeaderState != 2">
@ -337,9 +337,8 @@
</el-row> </el-row>
<el-row :gutter="8"> <el-row :gutter="8">
<el-col :span="8"> <el-col :span="8">
<el-form-item label="低压反馈附件" prop="quotJsqrDyRemark"> <el-form-item label="低压反馈附件">
<el-button size="mini" type="primary" @click="handleAddFile('quotJsqrDy')">上传文件 ({{this.quotJsqrDyFileNum}})</el-button> <el-button size="mini" type="primary" @click="handleAddFile('quotJsqrDy')">上传文件 ({{this.quotJsqrDyFileNum}})</el-button>
<!--已上传: {{this.quotJsqrDyFileNum}} -->
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="16"> <el-col :span="16">
@ -440,7 +439,7 @@
<el-divider content-position="center">中压协助</el-divider> <el-divider content-position="center">中压协助</el-divider>
<div style="margin-bottom: 10px;text-align:right"> <div style="margin-bottom: 10px;text-align:right">
<div v-if="this.form.quotJsqrZyOperateState == 0 && this.form.quotJsqrZyCheckState != 2 && this.form.quotJsqrZyLeaderState != 2"> <div v-if="this.form.quotJsqrZyOperateState == 0 && this.form.quotJsqrZyCheckState != 2 && this.form.quotJsqrZyLeaderState != 2">
<el-button size="mini" type="success" plain @click="doOperate('ZY','operater','2',this.quotJsqrZyFileNum)">操作人通过</el-button> <el-button size="mini" type="success" plain @click="doOperate('ZY','operater','2')">操作人通过</el-button>
<el-button size="mini" type="danger" plain @click="doOperate('ZY','operater','3')">操作人驳回</el-button> <el-button size="mini" type="danger" plain @click="doOperate('ZY','operater','3')">操作人驳回</el-button>
</div> </div>
<div v-if="this.form.quotJsqrZyOperateState == 2 && this.form.quotJsqrZyCheckState != 2 && this.form.quotJsqrZyLeaderState != 2"> <div v-if="this.form.quotJsqrZyOperateState == 2 && this.form.quotJsqrZyCheckState != 2 && this.form.quotJsqrZyLeaderState != 2">
@ -468,9 +467,8 @@
</el-row> </el-row>
<el-row :gutter="8"> <el-row :gutter="8">
<el-col :span="8"> <el-col :span="8">
<el-form-item label="中压反馈附件" prop="quotJsqrZyRemark"> <el-form-item label="中压反馈附件">
<el-button size="mini" type="primary" @click="handleAddFile('quotJsqrZy')">上传文件 ({{this.quotJsqrZyFileNum}})</el-button> <el-button size="mini" type="primary" @click="handleAddFile('quotJsqrZy')">上传文件 ({{this.quotJsqrZyFileNum}})</el-button>
<!--已上传: {{this.quotJsqrZyFileNum}} -->
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="16"> <el-col :span="16">
@ -571,7 +569,7 @@
<el-divider content-position="center">其他协助</el-divider> <el-divider content-position="center">其他协助</el-divider>
<div style="margin-bottom: 10px;text-align:right"> <div style="margin-bottom: 10px;text-align:right">
<div v-if="this.form.quotJsqrQtOperateState == 0 && this.form.quotJsqrQtCheckState != 2 && this.form.quotJsqrQtLeaderState != 2"> <div v-if="this.form.quotJsqrQtOperateState == 0 && this.form.quotJsqrQtCheckState != 2 && this.form.quotJsqrQtLeaderState != 2">
<el-button size="mini" type="success" plain @click="doOperate('QT','operater','2',this.quotJsqrQtFileNum)">操作人通过</el-button> <el-button size="mini" type="success" plain @click="doOperate('QT','operater','2')">操作人通过</el-button>
<el-button size="mini" type="danger" plain @click="doOperate('QT','operater','3')">操作人驳回</el-button> <el-button size="mini" type="danger" plain @click="doOperate('QT','operater','3')">操作人驳回</el-button>
</div> </div>
<div v-if="this.form.quotJsqrQtOperateState == 2 && this.form.quotJsqrQtCheckState != 2 && this.form.quotJsqrQtLeaderState != 2"> <div v-if="this.form.quotJsqrQtOperateState == 2 && this.form.quotJsqrQtCheckState != 2 && this.form.quotJsqrQtLeaderState != 2">
@ -599,9 +597,8 @@
</el-row> </el-row>
<el-row :gutter="8"> <el-row :gutter="8">
<el-col :span="8"> <el-col :span="8">
<el-form-item label="其他反馈附件" prop="quotJsqrQtRemark"> <el-form-item label="其他反馈附件">
<el-button size="mini" type="primary" @click="handleAddFile('quotJsqrQt')">上传文件 ({{this.quotJsqrQtFileNum}})</el-button> <el-button size="mini" type="primary" @click="handleAddFile('quotJsqrQt')">上传文件 ({{this.quotJsqrQtFileNum}})</el-button>
<!--已上传: {{this.quotJsqrQtFileNum}} -->
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="16"> <el-col :span="16">
@ -734,7 +731,7 @@
</el-table> </el-table>
</el-dialog> </el-dialog>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer" v-if="this.form.quotJsxzApprovalStatus!=2">
<span v-hasPermi="['jsqr:jsqr:commit']"><el-button type="primary" @click="commitQuot">提交报价</el-button></span> <span v-hasPermi="['jsqr:jsqr:commit']"><el-button type="primary" @click="commitQuot">提交报价</el-button></span>
<span style="margin-left: 10px"><el-button @click="cancel"> </el-button></span> <span style="margin-left: 10px"><el-button @click="cancel"> </el-button></span>
</div> </div>
@ -866,6 +863,7 @@ export default {
// //
cancel() { cancel() {
this.open = false; this.open = false;
this.getList();
}, },
/** 搜索按钮操作 */ /** 搜索按钮操作 */
handleQuery() { handleQuery() {
@ -922,6 +920,7 @@ export default {
// //
commitQuot(this.form).then(response => { commitQuot(this.form).then(response => {
this.open = false; this.open = false;
this.getList();
}) })
}, },
/** 删除按钮操作 */ /** 删除按钮操作 */
@ -1012,13 +1011,13 @@ export default {
}, },
// //
doOperate(quotJsxzGroup,type,state,fileNum){ doOperate(quotJsxzGroup,type,state){
let param = {} let param = {}
param.quotJsqrId = this.form.quotJsqrId; param.quotJsqrId = this.form.quotJsqrId;
param.quotJsxzGroup = quotJsxzGroup;// param.quotJsxzGroup = quotJsxzGroup;//
param.type = type;// param.type = type;//
param.state = state;/// param.state = state;///
param.fileNum = fileNum;// param.fileNum = quotJsxzGroup=='TL'?this.quotJsqrTlFileNum:quotJsxzGroup=='Dy'?this.quotJsqrDyFileNum:quotJsxzGroup=='Zy'?this.quotJsqrZyFileNum:this.quotJsqrQtFileNum;//
param.quotJsqrTlRemark = this.form.quotJsqrTlRemark; param.quotJsqrTlRemark = this.form.quotJsqrTlRemark;
param.quotJsqrTlCheckRemark = this.form.quotJsqrTlCheckRemark; param.quotJsqrTlCheckRemark = this.form.quotJsqrTlCheckRemark;