This commit is contained in:
xd 2024-04-19 16:47:54 +08:00
parent 78d08bcf9d
commit 47c7500dc0
7 changed files with 118 additions and 118 deletions

View File

@ -133,7 +133,7 @@ public class QuotController extends BaseController
* @return
* @throws Exception
*/
@PreAuthorize("@ss.hasAnyPermi('quot:quot:list,jsqr:jsqr:list')")
@PreAuthorize("@ss.hasAnyPermi('quot:quot:list,jsqr:jsqr:list,priceVerification:priceVerification:list')")
@Log(title = "上传报价附件", businessType = BusinessType.INSERT)
@PostMapping("/quotFile")
public AjaxResult quotFile(@RequestParam("quotFile") MultipartFile file,@RequestParam("relation_id") String relation_id,@RequestParam("file_type") String file_type) throws Exception
@ -169,7 +169,7 @@ public class QuotController extends BaseController
/**
* 查询附件列表
*/
@PreAuthorize("@ss.hasAnyPermi('quot:quot:list,jsqr:jsqr:list')")
@PreAuthorize("@ss.hasAnyPermi('quot:quot:list,jsqr:jsqr:list,priceVerification:priceVerification:list')")
@GetMapping("/quotFileList")
public TableDataInfo quotFileList(QuotFile quotFile)
{

View File

@ -1,5 +1,6 @@
package com.ruoyi.technicalConfirm.service.impl;
import com.ruoyi.common.annotation.DataScope;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.technicalConfirm.domain.QuotJsqr;
import com.ruoyi.technicalConfirm.mapper.QuotJsqrMapper;
@ -41,6 +42,7 @@ public class QuotJsqrServiceImpl implements IQuotJsqrService
* @return 报价单-技术确认单
*/
@Override
@DataScope(deptAlias = "d", userAlias = "u")
public List<QuotJsqr> selectQuotJsqrList(QuotJsqr quotJsqr)
{
return quotJsqrMapper.selectQuotJsqrList(quotJsqr);

View File

@ -44,6 +44,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<where>
<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>
<!-- 数据范围过滤 -->
<!--${params.dataScope}-->
</where>
</select>

View File

@ -111,6 +111,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="quotJsqrCode != null and quotJsqrCode != ''"> and quot_jsqr_code like concat('%', #{quotJsqrCode}, '%')</if>
<if test="quotJsxzApprovalStatus != null and quotJsxzApprovalStatus != ''"> and q.quot_jsxz_approval_status = #{quotJsxzApprovalStatus}</if>
<if test="quotCode != null and quotCode != ''"> and q.quot_code like concat('%', #{quotCode}, '%')</if>
<!-- 数据范围过滤 -->
<!--${params.dataScope}-->
</where>
order by a.update_time desc
</select>

View File

@ -1,112 +1,112 @@
<template>
<div class="app-container">
<el-form ref="form" :model="form" :rules="rules" label-width="150px">
<el-row :gutter="8">
<el-col :span="12">
<el-form-item label="核价单号" prop="quotHjCode">
<el-input v-model="form.quotHjCode" :disabled="true"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="报价单号" prop="quotCode">
<el-input v-model="form.quotCode" :disabled="true"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="8">
<el-form-item label="核价日期" prop="quotHjPricingDate">
<div class="el-p" style="width:100%">
<el-date-picker
style="width:100%"
v-model="form.quotHjPricingDate"
type="datetime"
placeholder="系统自动生成"
:disabled="true">
</el-date-picker>
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="核价类型" prop="quotHjPricingType">
<el-select v-model="form.quotHjPricingType" style="width: 100%;" :disabled="true">
<el-option
v-for="dict in dict.type.quot_pricing_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="业务员" prop="quotSalesmanName">
<el-input v-model="form.quotSalesmanName" :disabled="true"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="16">
<el-form-item label="客户" prop="quotCustomerName">
<el-input v-model="form.quotCustomerName" :disabled="true"/>
</el-form-item>
</el-col>
<el-col :span="16">
<el-form-item label="项目名称" prop="quotProject">
<el-input type="textarea" autosize v-model="form.quotProject" :disabled="true"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="24">
<el-form-item label="备注" prop="quotHjRemark">
<el-input type="textarea" autosize v-model="form.quotHjRemark" placeholder="请输入备注" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="24">
<el-form-item label="核价附件">
<el-upload class="upload-demo"
ref="upload"
name="quotFile"
:action="uploadUrl"
:headers="headers"
:data="{ relation_id: this.form.quotHjId,file_type: 'quotHjFile' }"
:on-success="handleAvatarSuccess"
:show-file-list="false"
:limit="1"
v-if="this.form.quotHjApprovalStatus == '1'">
<el-button size="small" type="primary">上传文件</el-button>
</el-upload>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="24">
<el-table class="down" :data="quotHjFileList" 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>
<el-button :key="Math.random()" size="small" type="text" v-if="form.quotHjApprovalStatus == '1'">
<a @click="deleteFile(scope.row.fileId)">删除</a>
</el-button>
</template>
</el-table-column>
</el-table>
</el-col>
</el-row>
</el-form>
<el-row :gutter="8">
<el-col :span="12">
<el-form-item label="核价单号" prop="quotHjCode">
<el-input v-model="form.quotHjCode" :disabled="true"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="报价单号" prop="quotCode">
<el-input v-model="form.quotCode" :disabled="true"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="8">
<el-form-item label="核价日期" prop="quotHjPricingDate">
<div class="el-p" style="width:100%">
<el-date-picker
style="width:100%"
v-model="form.quotHjPricingDate"
type="datetime"
placeholder="系统自动生成"
:disabled="true">
</el-date-picker>
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="核价类型" prop="quotHjPricingType">
<el-select v-model="form.quotHjPricingType" style="width: 100%;" :disabled="true">
<el-option
v-for="dict in dict.type.quot_pricing_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="业务员" prop="quotSalesmanName">
<el-input v-model="form.quotSalesmanName" :disabled="true"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="16">
<el-form-item label="客户" prop="quotCustomerName">
<el-input v-model="form.quotCustomerName" :disabled="true"/>
</el-form-item>
</el-col>
<el-col :span="16">
<el-form-item label="项目名称" prop="quotProject">
<el-input type="textarea" autosize v-model="form.quotProject" :disabled="true"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="24">
<el-form-item label="备注" prop="quotHjRemark">
<el-input type="textarea" autosize v-model="form.quotHjRemark" placeholder="请输入备注" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="24">
<el-form-item label="核价附件">
<el-upload class="upload-demo"
ref="upload"
name="quotFile"
:action="uploadUrl"
:headers="headers"
:data="{ relation_id: this.form.quotHjId,file_type: 'quotHjFile' }"
:on-success="handleAvatarSuccess"
:show-file-list="false"
:limit="1"
v-if="this.form.quotHjApprovalStatus == '1'">
<el-button size="small" type="primary">上传文件</el-button>
</el-upload>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="24">
<el-table class="down" :data="quotHjFileList" 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>
<el-button :key="Math.random()" size="small" type="text" v-if="form.quotHjApprovalStatus == '1'">
<a @click="deleteFile(scope.row.fileId)">删除</a>
</el-button>
</template>
</el-table-column>
</el-table>
</el-col>
</el-row>
</el-form>
<div v-if="this._props.isSelfProp">
<div slot="footer" class="dialog-footer" v-if="this.form.quotHjApprovalStatus==1">
<span v-hasPermi="['priceVerification:priceVerification:commit']"><el-button type="primary" @click="commitHj">提交报价</el-button></span>
@ -122,8 +122,7 @@
}
<!-- 弹窗底部内容样式 -->
.dialog-footer {
padding: 20px;
padding-top: 10px;
padding: 10px 20px 20px;
text-align: right;
-webkit-box-sizing: border-box;
box-sizing: border-box;

View File

@ -1,6 +1,6 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="120px">
<el-form-item label="核价单号" prop="quotHjCode">
<el-input
v-model="queryParams.quotHjCode"
@ -86,10 +86,6 @@
height: 550px;
max-height: 580px; /* 设置最大高度,根据需要调整 */
}
<!-- 日期空间宽度设置 -->
:deep(.el-p .el-input__wrapper){
width: 100% !important;
}
</style>
<script>
import { listPriceVerification } from "@/api/priceVerification/priceVerification";
@ -174,7 +170,7 @@ export default {
},
/** 修改按钮操作 */
handleUpdate(row) {
const quotHjId = row.quotJsqrId || this.ids
const quotHjId = row.quotHjId || this.ids
this.open = true;
this.title = "报价单-核价单";
this.quotHjIdProp = quotHjId;//

View File

@ -667,8 +667,7 @@
<style>
<!-- 弹窗底部内容样式 -->
.dialog-footer {
padding: 20px;
padding-top: 10px;
padding: 10px 20px 20px;
text-align: right;
-webkit-box-sizing: border-box;
box-sizing: border-box;