This commit is contained in:
xd 2024-04-17 09:53:26 +08:00
parent bf9424fcca
commit 84081de6e6
5 changed files with 138 additions and 12 deletions

View File

@ -293,6 +293,7 @@ public class QuotController extends BaseController
String quotHjId = UUID.fastUUID().toString(); String quotHjId = UUID.fastUUID().toString();
quotHj.setQuotHjId(quotHjId); quotHj.setQuotHjId(quotHjId);
quotHj.setQuotHjCode(IdUtils.createNo("BJD_HJ_",2)); quotHj.setQuotHjCode(IdUtils.createNo("BJD_HJ_",2));
quotHj.setQuotHjPricingType("10");//核价类型 设置为 报价核价
quotHj.setCreateBy(getUsername()); quotHj.setCreateBy(getUsername());
quotHj.setUpdateBy(getUsername()); quotHj.setUpdateBy(getUsername());
@ -317,11 +318,15 @@ public class QuotController extends BaseController
Quot info = quotService.selectQuotByQuotId(quot_id); Quot info = quotService.selectQuotByQuotId(quot_id);
String quot_jsxz_approval_status = quot.getQuotJsxzApprovalStatus(); String quot_jsxz_approval_status = quot.getQuotJsxzApprovalStatus();
String quot_hj_approval_status = quot.getQuotHjApprovalStatus();
if("1".equals(quot_jsxz_approval_status)){ if("1".equals(quot_jsxz_approval_status)){
return error("技术协助还未完成"); return error("技术协助还未完成");
}else{
info.setQuotApprovalStatus("2");
} }
if("1".equals(quot_hj_approval_status)){
return error("核价还未完成");
}
info.setQuotApprovalStatus("2");
quotService.updateQuot(info); quotService.updateQuot(info);
return success(); return success();
} }

View File

@ -38,6 +38,16 @@ public class QuotHj extends BaseEntity
@Excel(name = "核价协助状态") @Excel(name = "核价协助状态")
private String quotHjApprovalStatus; private String quotHjApprovalStatus;
/** 创建人 */
private String createName;
/** 报价单信息 */
private String quotCode;//报价单号
private String quotSalesmanName;//业务员
private String quotCustomerName;//客户
private String quotProject;//项目
public void setQuotHjId(String quotHjId) public void setQuotHjId(String quotHjId)
{ {
this.quotHjId = quotHjId; this.quotHjId = quotHjId;
@ -86,4 +96,20 @@ public class QuotHj extends BaseEntity
public String getQuotHjApprovalStatus() { return quotHjApprovalStatus; } public String getQuotHjApprovalStatus() { return quotHjApprovalStatus; }
public void setQuotHjApprovalStatus(String quotHjApprovalStatus) { this.quotHjApprovalStatus = quotHjApprovalStatus; } public void setQuotHjApprovalStatus(String quotHjApprovalStatus) { this.quotHjApprovalStatus = quotHjApprovalStatus; }
public String getCreateName() { return createName; }
public void setCreateName(String createName) { this.createName = createName; }
/** 报价单信息 */
public String getQuotCode() { return quotCode; }
public void setQuotCode(String quotCode) { this.quotCode = quotCode; }
public String getQuotSalesmanName() { return quotSalesmanName; }
public void setQuotSalesmanName(String quotSalesmanName) { this.quotSalesmanName = quotSalesmanName; }
public String getQuotCustomerName() { return quotCustomerName; }
public void setQuotCustomerName(String quotCustomerName) { this.quotCustomerName = quotCustomerName; }
public String getQuotProject() { return quotProject; }
public void setQuotProject(String quotProject) { this.quotProject = quotProject; }
} }

View File

@ -3,7 +3,7 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.priceVerification.mapper.QuotHjMapper"> <mapper namespace="com.ruoyi.priceVerification.mapper.QuotHjMapper">
<resultMap type="QuotHj" id="QuotHjResult"> <resultMap type="QuotHj" id="QuotHjResult">
<result property="quotHjId" column="quot_hj_id" /> <result property="quotHjId" column="quot_hj_id" />
<result property="quotHjCode" column="quot_hj_code" /> <result property="quotHjCode" column="quot_hj_code" />
@ -12,27 +12,46 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="quotHjRemark" column="quot_hj_remark" /> <result property="quotHjRemark" column="quot_hj_remark" />
<result property="createBy" column="create_by" /> <result property="createBy" column="create_by" />
<result property="createTime" column="create_time" /> <result property="createTime" column="create_time" />
<result property="createName" column="create_name" />
<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="quotCode" column="quot_code" />
<result property="quotHjApprovalStatus" column="quot_hj_approval_status" />
<result property="quotSalesmanName" column="quot_salesman_name" />
<result property="quotCustomerName" column="quot_customer_name" />
<result property="quotProject" column="quot_project" />
</resultMap> </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_ht_id = a.quot_hj_id
</sql>
<sql id="selectQuotHjVo"> <sql id="selectQuotHjVo">
select quot_hj_id, quot_hj_code, quot_hj_pricing_type, quot_hj_pricing_date, quot_hj_remark, create_by, create_time, update_by, update_time from quot_hj 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_code,q.quot_salesman_name,
q.quot_customer_name,q.quot_project
from quot_hj a
<include refid="quotHjJoins"/>
</sql> </sql>
<select id="selectQuotHjList" parameterType="QuotHj" resultMap="QuotHjResult"> <select id="selectQuotHjList" parameterType="QuotHj" resultMap="QuotHjResult">
<include refid="selectQuotHjVo"/> <include refid="selectQuotHjVo"/>
<where> <where>
<if test="quotHjCode != null and quotHjCode != ''"> and quot_hj_code like concat('%', #{quotHjCode}, '%')</if> <if test="quotHjCode != null and quotHjCode != ''"> and quot_hj_code like concat('%', #{quotHjCode}, '%')</if>
<if test="params.beginQuotHjPricingDate != null and params.beginQuotHjPricingDate != '' and params.endQuotHjPricingDate != null and params.endQuotHjPricingDate != ''"> and quot_hj_pricing_date between #{params.beginQuotHjPricingDate} and #{params.endQuotHjPricingDate}</if> <if test="params.beginQuotHjPricingDate != null and params.beginQuotHjPricingDate != '' and params.endQuotHjPricingDate != null and params.endQuotHjPricingDate != ''"> and quot_hj_pricing_date between #{params.beginQuotHjPricingDate} and #{params.endQuotHjPricingDate}</if>
</where> </where>
</select> </select>
<select id="selectQuotHjByQuotHjId" parameterType="String" resultMap="QuotHjResult"> <select id="selectQuotHjByQuotHjId" parameterType="String" resultMap="QuotHjResult">
<include refid="selectQuotHjVo"/> <include refid="selectQuotHjVo"/>
where quot_hj_id = #{quotHjId} where quot_hj_id = #{quotHjId}
</select> </select>
<insert id="insertQuotHj" parameterType="QuotHj"> <insert id="insertQuotHj" parameterType="QuotHj">
insert into quot_hj insert into quot_hj
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
@ -79,9 +98,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</delete> </delete>
<delete id="deleteQuotHjByQuotHjIds" parameterType="String"> <delete id="deleteQuotHjByQuotHjIds" parameterType="String">
delete from quot_hj where quot_hj_id in delete from quot_hj where quot_hj_id in
<foreach item="quotHjId" collection="array" open="(" separator="," close=")"> <foreach item="quotHjId" collection="array" open="(" separator="," close=")">
#{quotHjId} #{quotHjId}
</foreach> </foreach>
</delete> </delete>
</mapper> </mapper>

View File

@ -29,18 +29,36 @@
<el-table v-loading="loading" :data="priceVerificationList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="priceVerificationList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="核价单Id" align="center" prop="quotHjId" v-if="false"/> <el-table-column label="核价单Id" align="center" prop="quotHjId" v-if="false"/>
<el-table-column label="核价单号" align="center" prop="quotHjCode"> <el-table-column fixed label="核价单号" align="center" prop="quotHjCode" width="280px">
<template slot-scope="scope"> <template slot-scope="scope">
<el-link :underline="false" type="primary" @click="handleUpdate(scope.row)">{{scope.row.quotHjCode}}</el-link> <el-link :underline="false" type="primary" @click="handleUpdate(scope.row)">{{scope.row.quotHjCode}}</el-link>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="核价类型" align="center" prop="quotHjPricingType" /> <el-table-column fixed label="核价状态" align="center" prop="quotHjApprovalStatus" width="150px">
<template slot-scope="scope">
<dict-tag :options="dict.type.quot_hj_approval_status" :value="scope.row.quotHjApprovalStatus"/>
</template>
</el-table-column>
<el-table-column label="报价单号" align="center" prop="quotCode" width="280px"/>
<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="quotProject"width="250px"/>
<el-table-column label="核价类型" align="center" prop="quotHjPricingType"width="150px">
<template slot-scope="scope">
<dict-tag :options="dict.type.quot_pricing_type" :value="scope.row.quotHjPricingType"/>
</template>
</el-table-column>
<el-table-column label="核价日期" align="center" prop="quotHjPricingDate" width="180"> <el-table-column label="核价日期" align="center" prop="quotHjPricingDate" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.quotHjPricingDate, '{y}-{m}-{d}') }}</span> <span>{{ parseTime(scope.row.quotHjPricingDate, '{y}-{m}-{d}') }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="备注" align="center" prop="quotHjRemark" /> <el-table-column label="创建人" align="center" prop="createName" width="150px"/>
<el-table-column label="创建时间" align="center" prop="createTime" width="160">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
</el-table> </el-table>
<pagination <pagination
@ -82,6 +100,7 @@ import { listPriceVerification, getPriceVerification, delPriceVerification, addP
export default { export default {
name: "PriceVerification", name: "PriceVerification",
dicts: ['quot_pricing_type','quot_hj_approval_status'],
data() { data() {
return { return {
// //

View File

@ -769,6 +769,61 @@ export default {
this.getList(); this.getList();
}, },
methods: { methods: {
/** 清空表单 */
reset(){
this.form = {
quotCode: null,
quotSalesmanName: null,
quotSalesmanBm: null,
quotSalesmanDeptName: null,
quotSalesmanDeptId: null,
quotCustomerBm: null,
quotCustomerName: null,
quotPhone: null,
quotAddress: null,
quotInquiryDate: null,
quotProject: null,
quotQuotationDate: null,
quotQuotationRequire: null,
quotFeedbackExplanation: null,
quotJsxzApprovalStatus: null,
quotJsxzChapter: null,
quotJsxzConfirmCode: null,
quotJsxzGroup: null,
quotJsxzTechnicalRequirement: null,
quotJsqrTlApprovalStatus: null,
quotJsqrTlRemark: null,
quotJsqrDyApprovalStatus: null,
quotJsqrDyRemark: null,
quotJsqrZyApprovalStatus: null,
quotJsqrZyRemark: null,
quotJsqrQtApprovalStatus: null,
quotJsqrQtRemark: null,
quotHjCode: null,
quotHjPricingDate: null,
quotHjApprovalStatus: null
};
this.quotMaterialList = [];
this.quotXjFileList = [];
this.quotJsgfFileList = [];
this.quotHjFileList = [];
this.quotFkFileList = [];
this.quotJsqrFileList = [];
this.showTl = false;
this.showDy = false;
this.showZy = false;
this.showQt = false;
this.resetForm("form");
},
/** 查询报价列表 */ /** 查询报价列表 */
getList() { getList() {
this.loading = true; this.loading = true;
@ -797,6 +852,7 @@ export default {
}, },
/** 新增按钮操作 */ /** 新增按钮操作 */
handleAdd() { handleAdd() {
this.reset();
this.open = true; this.open = true;
this.title = "报价信息"; this.title = "报价信息";
this.activeName = "quotInfo"; this.activeName = "quotInfo";
@ -810,6 +866,7 @@ export default {
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
this.reset();
const quotId = row.quotId || this.ids const quotId = row.quotId || this.ids
getQuot(quotId).then(response => { getQuot(quotId).then(response => {
this.form = response.data; this.form = response.data;