This commit is contained in:
xd 2024-06-18 08:43:39 +08:00
parent ff62d808f6
commit 491ddefcce
7 changed files with 199 additions and 3 deletions

View File

@ -144,15 +144,13 @@ public class QuotController extends BaseController
public AjaxResult getReturnUpdateInfo(@PathVariable("quotId") String quotId) public AjaxResult getReturnUpdateInfo(@PathVariable("quotId") String quotId)
{ {
Quot quot = quotService.selectQuotByQuotId(quotId); Quot quot = quotService.selectQuotByQuotId(quotId);
if("2".equals(quot.getQuotApprovalStatus())){ if("2".equals(quot.getQuotApprovalStatus()) || "3".equals(quot.getQuotApprovalStatus())){
quot.setQuotApprovalStatus("1");// 提交状态设置为 协助中 quot.setQuotApprovalStatus("1");// 提交状态设置为 协助中
quotService.updateQuot(quot); quotService.updateQuot(quot);
}else if("0".equals(quot.getQuotApprovalStatus())){ }else if("0".equals(quot.getQuotApprovalStatus())){
return error("该报价单当前状态为【待提交】状态,无法修改"); return error("该报价单当前状态为【待提交】状态,无法修改");
}else if("1".equals(quot.getQuotApprovalStatus())){ }else if("1".equals(quot.getQuotApprovalStatus())){
return error("该报价单当前状态为【协助中】状态,无法修改"); return error("该报价单当前状态为【协助中】状态,无法修改");
}else if("3".equals(quot.getQuotApprovalStatus())){
return error("该报价单当前状态为【已驳回】状态,无法修改");
} }
return success(quot); return success(quot);
@ -833,4 +831,16 @@ public class QuotController extends BaseController
quotService.updateQuot(quot); quotService.updateQuot(quot);
return success(); return success();
} }
/**
* 统计有效报价单模块-获取报价单数据
*/
@PreAuthorize("@ss.hasPermi('quot:quot:listStatisticsQuotQuot')")
@GetMapping("/listStatisticsQuotQuot")
public TableDataInfo listStatisticsQuotQuot(Quot quot)
{
startPage();
List<Quot> list = quotService.selectStatisticsQuotList(quot);
return getDataTable(list);
}
} }

View File

@ -147,4 +147,12 @@ public interface QuotMapper
* @return * @return
*/ */
String getCode(String type); String getCode(String type);
/**
* 统计有效报价单模块-获取报价单数据
* @param quot
* @return
*/
List<Quot> selectStatisticsQuotList(Quot quot);
} }

View File

@ -130,4 +130,12 @@ public interface IQuotService
* @param quot * @param quot
*/ */
void updateQuotAllPassInfo(Quot quot); void updateQuotAllPassInfo(Quot quot);
/**
* 统计有效报价单模块-获取报价单数据
* @param quot
* @return
*/
List<Quot> selectStatisticsQuotList(Quot quot);
} }

View File

@ -278,4 +278,15 @@ public class QuotServiceImpl implements IQuotService
public void updateQuotAllPassInfo(Quot quot) { public void updateQuotAllPassInfo(Quot quot) {
quotMapper.updateQuot(quot); quotMapper.updateQuot(quot);
} }
/**
* 统计有效报价单模块-获取报价单数据
* @param quot
* @return
*/
@Override
public List<Quot> selectStatisticsQuotList(Quot quot) {
return quotMapper.selectStatisticsQuotList(quot);
}
} }

View File

@ -499,4 +499,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="getCode" resultType="String" statementType="CALLABLE"> <select id="getCode" resultType="String" statementType="CALLABLE">
{call GetSerialNo(#{type,mode=IN,jdbcType=VARCHAR})} {call GetSerialNo(#{type,mode=IN,jdbcType=VARCHAR})}
</select> </select>
<select id="selectStatisticsQuotList" parameterType="Quot" resultMap="QuotResult">
<include refid="selectQuotVo"/>
<where>
<if test="quotCode != null and quotCode != ''"> and quot_code like concat('%', #{quotCode}, '%')</if>
<if test="quotCustomerName != null and quotCustomerName != ''"> and quot_customer_name like concat('%', #{quotCustomerName}, '%')</if>
<if test="quotProject != null and quotProject != ''"> and quot_project like concat('%', #{quotProject}, '%')</if>
<if test="quotSalesmanName != null and quotSalesmanName != ''"> and quot_salesman_name like concat('%', #{quotSalesmanName}, '%')</if>
</where>
order by a.quot_inquiry_date desc
</select>
</mapper> </mapper>

View File

@ -178,3 +178,12 @@ export function rejectQuot(data) {
//统计有效报价单模块-获取报价单数据
export function listStatisticsQuotQuot(query) {
return request({
url: '/quot/quot/listStatisticsQuotQuot',
method: 'get',
params: query
})
}

View File

@ -0,0 +1,134 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="报价单号" prop="quotCode">
<el-input
v-model="queryParams.quotCode"
placeholder="请输入报价单号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="客户名称" prop="quotCustomerName">
<el-input
v-model="queryParams.quotCustomerName"
placeholder="请输入客户名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="项目名称" prop="quotProject">
<el-input
v-model="queryParams.quotProject"
placeholder="请输入项目名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="业务员" prop="quotSalesmanName">
<el-input
v-model="queryParams.quotSalesmanName"
placeholder="请输入业务员"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="quotList" @selection-change="handleSelectionChange">
<el-table-column fixed label="报价单号" align="center" prop="quotCode" width="250px">
<template slot-scope="scope">
<el-link :underline="false" type="primary" @click="handleUpdate(scope.row)">{{scope.row.quotCode}}</el-link>
</template>
</el-table-column>
<el-table-column fixed label="业务员" align="center" prop="quotSalesmanName" width="150px"/>
<el-table-column fixed label="客户名称" align="center" prop="quotCustomerName" width="250px"/>
<el-table-column fixed label="项目名称" align="center" prop="quotProject" width="250px"/>
<el-table-column label="金思维报价单号" align="center" prop="quotJswCode" width="280px" v-if="checkRole(['QUOT','PRICE_VERIFICATION'])"/>
<el-table-column label="询价日期" align="center" prop="quotInquiryDate" width="160">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.quotInquiryDate) }}</span>
</template>
</el-table-column>
<el-table-column label="报价日期" align="center" prop="quotQuotationDate" width="160">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.quotQuotationDate) }}</span>
</template>
</el-table-column>
<el-table-column label="明细条数" align="center" prop="quotMaterialsCount" width="100"/>
<el-table-column label="总价" align="center" prop="quotTotalPrice" width="100"/>
<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-column label="审核人" align="center" prop="quotCheckUserNickname" />
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
</template>
<script>
import { listStatisticsQuotQuot } from "@/api/quot/quot"; //
export default {
name: "statisticsQuot",
data() {
return {
//
loading: true,
//
showSearch: true,
//
total: 0,
//
quotList: [],
//
queryParams: {
pageNum: 1,
pageSize: 10,
quotCode: null,
quotCustomerName: null,
quotSalesmanName: null,
quotProject: null
}
};
},
created() {
this.getList();
},
methods: {
/** 查询报价列表 */
getList() {
this.loading = true;
listStatisticsQuotQuot(this.queryParams).then(response => {
this.quotList = response.rows;
this.total = response.total;
this.loading = false;
});
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
}
}
};
</script>