This commit is contained in:
xd 2024-04-11 16:56:56 +08:00
parent 5a439d456a
commit e7213a99f8
5 changed files with 196 additions and 118 deletions

View File

@ -116,18 +116,24 @@ public class QuotJsqrController extends BaseController
String quotJsxzGroup = info.getQuotJsxzGroup();//组名
String type = info.getType();//操作人审核人组长
String state = info.getState();//通过/驳回
String fileNum = info.getFileNum();//操作人反馈附件数
if("TL".equals(quotJsxzGroup)){//特缆组 操作人审核人组长 对应按钮事件
if("operater".equals(type)){//操作人通过驳回
quotJsqr.setQuotJsqrTlOperateUserName(getLoginUser().getUser().getNickName());
quotJsqr.setQuotJsqrTlOperateTime(DateUtils.getTime());
quotJsqr.setQuotJsqrTlOperateState(state);
String quotJsqrTlRemark = info.getQuotJsqrTlRemark();
if("3".equals(state)){//驳回
String quotJsqrTlRemark = info.getQuotJsqrTlRemark();
if(StringUtils.isEmpty(quotJsqrTlRemark)){
return error("特缆协助说明不能为空");
}
quotJsqr.setQuotJsqrTlApprovalStatus("3");//特缆协助状态 设置为 驳回
}else if("2".equals(state)){
if("0".equals(fileNum)&&"".equals(quotJsqrTlRemark)){
return error("特缆反馈附件 或 特缆协助说明 至少填写一项");
}
}
}
if("checker".equals(type)){//审核人通过驳回
@ -162,12 +168,17 @@ public class QuotJsqrController extends BaseController
quotJsqr.setQuotJsqrDyOperateUserName(getLoginUser().getUser().getNickName());
quotJsqr.setQuotJsqrDyOperateTime(DateUtils.getTime());
quotJsqr.setQuotJsqrDyOperateState(state);
String quotJsqrDyRemark = info.getQuotJsqrDyRemark();
if("3".equals(state)){//驳回
String quotJsqrDyRemark = info.getQuotJsqrDyRemark();
if(StringUtils.isEmpty(quotJsqrDyRemark)){
return error("低压协助说明不能为空");
}
quotJsqr.setQuotJsqrDyApprovalStatus("3");//低压协助状态 设置为 驳回
}else if("2".equals(state)){
if("0".equals(fileNum)&&"".equals(quotJsqrDyRemark)){
return error("低压反馈附件 或 低压协助说明 至少填写一项");
}
}
}
if("checker".equals(type)){//审核人通过驳回
@ -202,12 +213,17 @@ public class QuotJsqrController extends BaseController
quotJsqr.setQuotJsqrZyOperateUserName(getLoginUser().getUser().getNickName());
quotJsqr.setQuotJsqrZyOperateTime(DateUtils.getTime());
quotJsqr.setQuotJsqrZyOperateState(state);
String quotJsqrZyRemark = info.getQuotJsqrZyRemark();
if("3".equals(state)){//驳回
String quotJsqrZyRemark = info.getQuotJsqrZyRemark();
if(StringUtils.isEmpty(quotJsqrZyRemark)){
return error("中压协助说明不能为空");
}
quotJsqr.setQuotJsqrZyApprovalStatus("3");//中压协助状态 设置为 驳回
}else if("2".equals(state)){
if("0".equals(fileNum)&&"".equals(quotJsqrZyRemark)){
return error("中压反馈附件 或 低压协助说明 至少填写一项");
}
}
}
if("checker".equals(type)){//审核人通过驳回
@ -242,12 +258,17 @@ public class QuotJsqrController extends BaseController
quotJsqr.setQuotJsqrQtOperateUserName(getLoginUser().getUser().getNickName());
quotJsqr.setQuotJsqrQtOperateTime(DateUtils.getTime());
quotJsqr.setQuotJsqrQtOperateState(state);
String quotJsqrQtRemark = info.getQuotJsqrQtRemark();
if("3".equals(state)){//驳回
String quotJsqrQtRemark = info.getQuotJsqrQtRemark();
if(StringUtils.isEmpty(quotJsqrQtRemark)){
return error("其他协助说明不能为空");
}
quotJsqr.setQuotJsqrQtApprovalStatus("3");//其他协助状态 设置为 驳回
}else if("2".equals(state)){
if("0".equals(fileNum)&&"".equals(quotJsqrQtRemark)){
return error("其他反馈附件 或 其他协助说明 至少填写一项");
}
}
}
if("checker".equals(type)){//审核人通过驳回

View File

@ -5,6 +5,7 @@ public class QuotJsqrXzDetail {
private String quotJsxzGroup;
private String type;
private String state;
private String fileNum;
private String quotJsqrTlRemark;
private String quotJsqrTlCheckRemark;
@ -54,6 +55,10 @@ public class QuotJsqrXzDetail {
this.type = type;
}
public String getFileNum() { return fileNum; }
public void setFileNum(String fileNum) { this.fileNum = fileNum; }
public String getQuotJsqrTlRemark() {
return quotJsqrTlRemark;
}

View File

@ -40,6 +40,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="quotJsxzConfirmId" column="quot_jsxz_confirm_id" />
<result property="quotJsxzConfirmCode" column="quot_jsxz_confirm_code" />
<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>
<resultMap id="QuotQuotMaterialResult" type="Quot" extends="QuotResult">
@ -71,7 +80,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
a.create_by, a.create_time, a.update_by, a.update_time, u.nick_name create_name,
a.quot_jsxz_standard,a.quot_jsxz_approval_status,a.quot_jsxz_chapter,
a.quot_jsxz_technical_requirement,a.quot_jsxz_group_values,a.quot_jsxz_confirm_id,q.quot_jsqr_code quot_jsxz_confirm_code
a.quot_jsxz_technical_requirement,a.quot_jsxz_group_values,a.quot_jsxz_confirm_id,
q.quot_jsqr_code quot_jsxz_confirm_code,
q.quot_jsqr_tl_approval_status,q.quot_jsqr_tl_remark,
q.quot_jsqr_dy_approval_status,q.quot_jsqr_dy_remark,
q.quot_jsqr_zy_approval_status,q.quot_jsqr_zy_remark,
q.quot_jsqr_qt_approval_status,q.quot_jsqr_qt_remark
from quot a
<include refid="quotJoins"/>
</sql>
@ -96,8 +110,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
a.quot_quantity, a.quot_total_price, a.quot_check_user_name, a.quot_check_user_nickname, a.quot_approval_status,
a.create_by, a.create_time, a.update_by, a.update_time,
a.quot_jsxz_standard,a.quot_jsxz_approval_status,a.quot_jsxz_chapter,
a.quot_jsxz_technical_requirement,a.quot_jsxz_group_values,a.quot_jsxz_confirm_id,q.quot_jsqr_code quot_jsxz_confirm_code,
a.quot_jsxz_technical_requirement,a.quot_jsxz_group_values,a.quot_jsxz_confirm_id,
q.quot_jsqr_code quot_jsxz_confirm_code,
q.quot_jsqr_tl_approval_status,q.quot_jsqr_tl_remark,
q.quot_jsqr_dy_approval_status,q.quot_jsqr_dy_remark,
q.quot_jsqr_zy_approval_status,q.quot_jsqr_zy_remark,
q.quot_jsqr_qt_approval_status,q.quot_jsqr_qt_remark,
b.mat_id as sub_mat_id, b.mat_xingh as sub_mat_xingh, b.mat_guig as sub_mat_guig,
b.mat_diany as sub_mat_diany, b.mat_danw as sub_mat_danw, b.mat_sl as sub_mat_sl,
b.quot_id as sub_quot_id

View File

@ -382,114 +382,122 @@
</el-table>
</el-col>
</el-row>
<el-divider content-position="center">特缆协助</el-divider>
<el-row :gutter="8">
<el-col :span="8">
<el-form-item label="特缆协助状态" prop="quotJsxzTlApprovalStatus">
<el-select v-model="form.quotJsxzTlApprovalStatus" :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="特缆反馈附件" prop="quotJsxzTlApprovalStatus">
<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="特缆反馈附件" prop="quotJsxzTlApprovalStatus">
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="24">
<el-form-item label="特缆协助说明" prop="quotJsxzTlRemark">
<el-input type="textarea" autosize v-model="form.quotJsxzTlRemark" placeholder="技术部填写" :disabled="true"/>
</el-form-item>
</el-col>
</el-row>
<el-divider content-position="center">低压协助</el-divider>
<el-row :gutter="8">
<el-col :span="8">
<el-form-item label="低压协助状态" prop="quotJsxzDyApprovalStatus">
<el-select v-model="form.quotJsxzDyApprovalStatus" :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="低压反馈附件" prop="quotJsxzDyApprovalStatus">
</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="低压反馈附件" prop="quotJsxzDyApprovalStatus">
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="24">
<el-form-item label="低压协助说明" prop="quotJsxzDyRemark">
<el-input type="textarea" autosize v-model="form.quotJsxzDyRemark" placeholder="技术部填写" :disabled="true"/>
</el-form-item>
</el-col>
</el-row>
<el-divider content-position="center">中压协助</el-divider>
<el-row :gutter="8">
<el-col :span="8">
<el-form-item label="中压协助状态" prop="quotJsxzZyApprovalStatus">
<el-select v-model="form.quotJsxzZyApprovalStatus" :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="中压反馈附件" prop="quotJsxzZyApprovalStatus">
</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="中压反馈附件" prop="quotJsxzZyApprovalStatus">
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="24">
<el-form-item label="中压协助说明" prop="quotJsxzZyRemark">
<el-input type="textarea" autosize v-model="form.quotJsxzZyRemark" placeholder="技术部填写" :disabled="true"/>
</el-form-item>
</el-col>
</el-row>
<el-divider content-position="center">其他协助</el-divider>
<el-row :gutter="8">
<el-col :span="8">
<el-form-item label="其他协助状态" prop="quotJsxzQtApprovalStatus">
<el-select v-model="form.quotJsxzQtApprovalStatus" :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="其他反馈附件" prop="quotJsxzQtApprovalStatus">
</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="其他反馈附件" prop="quotJsxzQtApprovalStatus">
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="24">
<el-form-item label="其他协助说明" prop="quotJsxzQtRemark">
<el-input type="textarea" autosize v-model="form.quotJsxzQtRemark" placeholder="技术部填写" :disabled="true"/>
</el-form-item>
</el-col>
</el-row>
</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-tab-pane>
<el-tab-pane label="反馈附件" name="quotFkFile" v-if="checkPermi(['quot:quot:assist','quot:quot:add'])">
<el-upload class="upload-demo"
@ -620,7 +628,13 @@ export default {
quotQuotationRequire: [
{ required: true, message: "报价要求不能为空", trigger: "blur" }
],
}
},
//-
showTl: false,
showDy: false,
showZy: false,
showQt: false,
};
},
created() {
@ -719,6 +733,25 @@ export default {
this.open = true;
this.title = "修改报价";
this.activeName = "quotInfo";
var quotJsxzGroup = this.form.quotJsxzGroupValues;
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');
}
this.getQuotXjFileList();
this.getQuotJsgfFileList();
this.getQuotFkFileList();

View File

@ -178,7 +178,7 @@
<el-divider content-position="center">特缆协助</el-divider>
<div style="margin-bottom: 10px;text-align:right">
<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')">操作人通过</el-button>
<el-button size="mini" type="success" plain @click="doOperate('TL','operater','2',this.quotJsqrTlFileNum)">操作人通过</el-button>
<el-button size="mini" type="danger" plain @click="doOperate('TL','operater','3')">操作人驳回</el-button>
</div>
<div v-if="this.form.quotJsqrTlOperateState == 2 && this.form.quotJsqrTlCheckState != 2 && this.form.quotJsqrTlLeaderState != 2">
@ -309,7 +309,7 @@
<el-divider content-position="center">低压协助</el-divider>
<div style="margin-bottom: 10px;text-align:right">
<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')">操作人通过</el-button>
<el-button size="mini" type="success" plain @click="doOperate('DY','operater','2',this.quotJsqrDyFileNum)">操作人通过</el-button>
<el-button size="mini" type="danger" plain @click="doOperate('DY','operater','3')">操作人驳回</el-button>
</div>
<div v-if="this.form.quotJsqrDyOperateState == 2 && this.form.quotJsqrDyCheckState != 2 && this.form.quotJsqrDyLeaderState != 2">
@ -440,7 +440,7 @@
<el-divider content-position="center">中压协助</el-divider>
<div style="margin-bottom: 10px;text-align:right">
<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')">操作人通过</el-button>
<el-button size="mini" type="success" plain @click="doOperate('ZY','operater','2',this.quotJsqrZyFileNum)">操作人通过</el-button>
<el-button size="mini" type="danger" plain @click="doOperate('ZY','operater','3')">操作人驳回</el-button>
</div>
<div v-if="this.form.quotJsqrZyOperateState == 2 && this.form.quotJsqrZyCheckState != 2 && this.form.quotJsqrZyLeaderState != 2">
@ -571,7 +571,7 @@
<el-divider content-position="center">其他协助</el-divider>
<div style="margin-bottom: 10px;text-align:right">
<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')">操作人通过</el-button>
<el-button size="mini" type="success" plain @click="doOperate('QT','operater','2',this.quotJsqrQtFileNum)">操作人通过</el-button>
<el-button size="mini" type="danger" plain @click="doOperate('QT','operater','3')">操作人驳回</el-button>
</div>
<div v-if="this.form.quotJsqrQtOperateState == 2 && this.form.quotJsqrQtCheckState != 2 && this.form.quotJsqrQtLeaderState != 2">
@ -901,7 +901,7 @@ export default {
}
if(quotJsxzGroup.indexOf("ZY")!==-1){
this.showZy = true;
//this.getQuotJsqrFileList('quotJsqrZyFkFile');
this.getQuotJsqrFileList('quotJsqrZyFkFile');
}
if(quotJsxzGroup.indexOf("QT")!==-1){
this.showQt = true;
@ -1012,12 +1012,13 @@ export default {
},
//
doOperate(quotJsxzGroup,type,state){
doOperate(quotJsxzGroup,type,state,fileNum){
let param = {}
param.quotJsqrId = this.form.quotJsqrId;
param.quotJsxzGroup = quotJsxzGroup;//
param.type = type;//
param.state = state;///
param.fileNum = fileNum;//
param.quotJsqrTlRemark = this.form.quotJsqrTlRemark;
param.quotJsqrTlCheckRemark = this.form.quotJsqrTlCheckRemark;