Browse Source

2024.9.26 询价管理 - 询价申请(新) 第一版

询价管理 - 询价明细 第一版

待报价、报价

部分功能修正
java8
yuejiayang 1 year ago
parent
commit
c0e85af403
  1. 82
      src/views/modules/inquiry/inquiryApplication.vue
  2. 48
      src/views/modules/quote/index.vue
  3. 620
      src/views/modules/quote/quotes.vue

82
src/views/modules/inquiry/inquiryApplication.vue

@ -157,13 +157,13 @@
fixed="right" fixed="right"
header-align="center" header-align="center"
align="center" align="center"
width="120"
width="140"
label="操作"> label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<el-link style="cursor: pointer" @click="addInquiryPartModal(scope.row)">新增产品</el-link>
<el-link style="cursor: pointer" v-if="scope.row.status === 'C'" <el-link style="cursor: pointer" v-if="scope.row.status === 'C'"
@click="updateModalStatus(scope.row,'B')">下达 @click="updateModalStatus(scope.row,'B')">下达
</el-link> </el-link>
<el-link style="cursor: pointer" v-if="scope.row.status !== 'C'" @click="addInquiryPartModal(scope.row)">新增产品</el-link>
<el-link style="cursor: pointer" @click="updateModal(scope.row)">编辑</el-link> <el-link style="cursor: pointer" @click="updateModal(scope.row)">编辑</el-link>
<el-link style="cursor: pointer" @click="delModal(scope.row)">删除</el-link> <el-link style="cursor: pointer" @click="delModal(scope.row)">删除</el-link>
</template> </template>
@ -182,7 +182,7 @@
</el-pagination> </el-pagination>
<!-- 询价模态框 --> <!-- 询价模态框 -->
<el-dialog :title="modalData.title" v-drag @close="closeSaveDataDialog"
<el-dialog :title="modalData.title" v-drag @close="closeSaveDataDialog" @open="openSaveDataDialog"
:close-on-click-modal="false" top="10%" :visible.sync="modalFlag" width="692px"> :close-on-click-modal="false" top="10%" :visible.sync="modalFlag" width="692px">
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-top: -5px;"> <el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-top: -5px;">
<el-form-item label="BU" prop="bu" :rules="rules.bu"> <el-form-item label="BU" prop="bu" :rules="rules.bu">
@ -250,7 +250,7 @@
<el-input disabled v-model="modalData.quoterName" style="width: 120px;"></el-input> <el-input disabled v-model="modalData.quoterName" style="width: 120px;"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="询价单号" prop="rfqNo"> <el-form-item label="询价单号" prop="rfqNo">
<el-input v-model="modalData.rfqNo" style="width: 166px;"></el-input>
<el-input v-model="modalData.rfqNo" disabled style="width: 166px;"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-form :inline="true" label-position="top" :model="modalData" style="margin-top: -5px;"> <el-form :inline="true" label-position="top" :model="modalData" style="margin-top: -5px;">
@ -309,11 +309,11 @@
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
<el-dialog :title="inquiryPartModalData.title" v-drag @close="closeInquiryPartSaveDataDialog"
<el-dialog :title="inquiryPartModalData.title" v-drag @close="closeInquiryPartSaveDataDialog" @open="openInquiryPartSaveDataDialog"
:close-on-click-modal="false" top="10%" :visible.sync="inquiryPartModalFlag" width="506px"> :close-on-click-modal="false" top="10%" :visible.sync="inquiryPartModalFlag" width="506px">
<el-form :inline="true" label-position="top" :model="inquiryPartModalData" :rules="inquiryPartRules" style="margin-top: -5px;"> <el-form :inline="true" label-position="top" :model="inquiryPartModalData" :rules="inquiryPartRules" style="margin-top: -5px;">
<el-form-item prop="partNo" label="产品编码"> <el-form-item prop="partNo" label="产品编码">
<el-input v-model="inquiryPartModalData.partNo" style="width: 128px;"></el-input>
<el-input v-model="inquiryPartModalData.partNo" disabled style="width: 128px;"></el-input>
</el-form-item> </el-form-item>
<el-form-item prop="partDesc" label="产品名称"> <el-form-item prop="partDesc" label="产品名称">
<el-input v-model="inquiryPartModalData.partDesc" style="width: 260px;margin-left: -10px"></el-input> <el-input v-model="inquiryPartModalData.partDesc" style="width: 260px;margin-left: -10px"></el-input>
@ -460,6 +460,7 @@ import DictDataSelect from "../sys/dict-data-select.vue";
import {queryCustomerList} from "@/api/customer/customer"; import {queryCustomerList} from "@/api/customer/customer";
import {verifyData} from "@/api/part/partInformation"; import {verifyData} from "@/api/part/partInformation";
import {EventBus} from "../../../main"; import {EventBus} from "../../../main";
import {partInformationSearch} from "../../../api/part/partInformation";
export default { export default {
computed: { computed: {
@ -1489,7 +1490,7 @@ export default {
customerInquiryNo: '', customerInquiryNo: '',
status: 'C', status: 'C',
priorityLevel: '', priorityLevel: '',
requestDate: '',
requestDate: new Date(),
requiredCompletionDate: '', requiredCompletionDate: '',
remark: '', remark: '',
createBy: this.$store.state.user.name createBy: this.$store.state.user.name
@ -1560,10 +1561,6 @@ export default {
}) })
return return
} }
if (this.modalData.customerInquiryNo === '' || this.modalData.customerInquiryNo == null) {
this.$message.warning('请输入客户询价号!')
return
}
if (this.modalData.priorityLevel === '' || this.modalData.priorityLevel == null) { if (this.modalData.priorityLevel === '' || this.modalData.priorityLevel == null) {
this.$message.warning('请选择优先等级!') this.$message.warning('请选择优先等级!')
return return
@ -2351,6 +2348,33 @@ export default {
this.$refs.quotationUpload.init(currentData) this.$refs.quotationUpload.init(currentData)
}) })
}, },
openSaveDataDialog(){
if (this.modalData.title === '询价新增') {
let rfqNos = [];
this.dataList.forEach((item) => {
// item.rfqNoXJ
if (item.rfqNo.startsWith('XJ')) {
//
const numPart = parseInt(item.rfqNo.replace('XJ', ''), 10);
if (!isNaN(numPart)) {
rfqNos.push(numPart);
}
}
});
if (rfqNos.length === 0) {
// XJrfqNo
this.modalData.rfqNo = 'XJ00000001';
} else {
// XJrfqNo
let maxRfqNo = Math.max(...rfqNos);
// rfqNo9
maxRfqNo += 1; //
this.modalData.rfqNo = 'XJ' + String(maxRfqNo).padStart(8, '0');
}
}
},
// //
closeSaveDataDialog() { closeSaveDataDialog() {
this.modalData = { this.modalData = {
@ -2377,6 +2401,42 @@ export default {
} }
this.modalFlag = false this.modalFlag = false
}, },
openInquiryPartSaveDataDialog() {
if (this.inquiryPartModalData.title === '询价产品新增') {
let partNos = [];
this.inquiryPartModalData.queryType = 'TP';
this.inquiryPartModalData.userName = this.$store.state.user.name;
this.inquiryPartModalData.limit = -1;
this.inquiryPartModalData.page = 1;
this.inquiryPartModalData.buNo = '';
partInformationSearch(this.inquiryPartModalData).then(({data}) => {
if (data && data.code === 0) {
data.page.list.forEach((item) => {
// item.partNoTP
if (item.partNo.startsWith('TP')) {
//
const numPart = parseInt(item.partNo.replace('TP', ''), 10);
if (!isNaN(numPart)) {
partNos.push(numPart);
}
}
});
if (partNos.length === 0) {
// TPpartNo
this.inquiryPartModalData.partNo = 'TP00000001';
} else {
// TPpartNo
let maxPartNo = Math.max(...partNos);
// partNo9
maxPartNo += 1; //
this.inquiryPartModalData.partNo = 'TP' + String(maxPartNo).padStart(8, '0');
}
}
});
}
},
closeInquiryPartSaveDataDialog() { closeInquiryPartSaveDataDialog() {
this.inquiryPartModalData = { this.inquiryPartModalData = {
title: '', title: '',

48
src/views/modules/quote/index.vue

@ -149,41 +149,6 @@ export default {
fixed: '', fixed: '',
columnWidth: 120 columnWidth: 120
}, },
{
userId: this.$store.state.user.name,
functionId: 5011,
serialNumber: '5011Table1ProjectNo',
tableId: '5011Table1',
tableName: '报价信息表',
columnProp: 'projectNo',
headerAlign: 'center',
align: 'left',
columnLabel: '项目编码',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 200
}, {
userId: this.$store.state.user.name,
functionId: 5011,
serialNumber: '5011Table1ProjectDesc',
tableId: '5011Table1',
tableName: '报价信息表',
columnProp: 'projectDesc',
headerAlign: 'center',
align: 'left',
columnLabel: '项目名称',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 200
},
{ {
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
functionId: 5011, functionId: 5011,
@ -868,19 +833,6 @@ export default {
<el-input v-model="saveQuote.customerDesc" disabled></el-input> <el-input v-model="saveQuote.customerDesc" disabled></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8">
<el-form-item label="项目编码" prop="projectNo" :show-message="false">
<span slot="label" v-if="saveQuote.customerNo && saveQuote.customerDesc && saveQuote.id <= 0">
<a @click="projectVisible = true" >项目编码</a>
</span>
<el-input v-model="saveQuote.projectNo" :disabled="saveQuote.id > 0" @blur="projectNoBlur"></el-input>
</el-form-item>
</el-col>
<el-col :span="16">
<el-form-item label="项目描述" prop="projectDesc" :show-message="false">
<el-input v-model="saveQuote.projectDesc" disabled></el-input>
</el-form-item>
</el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="币种" prop="currency" :show-message="false"> <el-form-item label="币种" prop="currency" :show-message="false">
<span slot="label" v-if="!detailFlag"> <span slot="label" v-if="!detailFlag">

620
src/views/modules/quote/quotes.vue

@ -2,6 +2,8 @@
import DictDataSelect from "../sys/dict-data-select.vue"; import DictDataSelect from "../sys/dict-data-select.vue";
import {queryQuotationInformationByPage} from "@/api/quote/quotationInformation"; import {queryQuotationInformationByPage} from "@/api/quote/quotationInformation";
import {batchSaveQuote} from "@/api/quote/quote"; import {batchSaveQuote} from "@/api/quote/quote";
import {getSiteAndBuByUserName} from "../../../api/qc/qc";
import {searchInquiryDetailHeaderInfo} from "../../../api/inquiry/inquiryDetail";
export default { export default {
name: "quotes", name: "quotes",
@ -15,30 +17,33 @@ export default {
type:[String,Number], type:[String,Number],
default: '76vh' default: '76vh'
}, },
queryStatus:{
type:String,
default: '下达'
},
}, },
data(){ data(){
return{ return{
no:1,
size:50,
total:0,
pageIndex: 1,
pageSize: 50,
totalPage: 0,
userBuList:[],
queryForm: { queryForm: {
customerNo:'',
quotationBatchNo:'',
customerDesc:'',
partNo:'',
partDesc:'',
startDate:null,
endDate:null,
quotationItemNo:undefined,
projectNo:'',
projectDesc:'',
quoterName:'',
priorityLevel:'',
quotationStatus:'',
site: this.$store.state.user.site,
customerNo: '',
customerDesc: '',
id: '',
rfqNo: '',
bu: '',
requestStartDate: '',
requestEndDate: '',
requiredCompletionStartDate: '',
requiredCompletionEndDate: '',
status: '',
quoterName: '',
requesterName: '',
priorityLevel: '',
partNo: '',
partDesc: '',
page: 1,
limit: 10,
menuId: this.$route.meta.menuId,
}, },
dataList:[], dataList:[],
queryLoading:false, queryLoading:false,
@ -46,31 +51,32 @@ export default {
columns:[ columns:[
{ {
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
functionId: 5012,
serialNumber: '5012Table1QuotationNo',
tableId: '5012Table1',
functionId: 102001,
serialNumber: '102001Table1BuDesc',
tableId: '102001Table1',
tableName: '询价信息表', tableName: '询价信息表',
columnProp: 'quotationNo',
columnProp: 'buDesc',
headerAlign: 'center', headerAlign: 'center',
align: 'center', align: 'center',
columnLabel: '申请单号',
columnLabel: 'BU',
columnHidden: false, columnHidden: false,
columnImage: false, columnImage: false,
columnSortable: false, columnSortable: false,
sortLv: 0, sortLv: 0,
status: true, status: true,
fixed: '', fixed: '',
columnWidth: 120
}, {
columnWidth: 80
},
{
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
functionId: 5012,
serialNumber: '5012Table1QuotationBatchNo',
tableId: '5012Table1',
functionId: 102001,
serialNumber: '102001Table1rfqNo',
tableId: '102001Table1',
tableName: '询价信息表', tableName: '询价信息表',
columnProp: 'quotationBatchNo',
columnProp: 'rfqNo',
headerAlign: 'center', headerAlign: 'center',
align: 'center', align: 'center',
columnLabel: '申请批次号',
columnLabel: '询价单号',
columnHidden: false, columnHidden: false,
columnImage: false, columnImage: false,
columnSortable: false, columnSortable: false,
@ -78,29 +84,12 @@ export default {
status: true, status: true,
fixed: '', fixed: '',
columnWidth: 120 columnWidth: 120
}, {
userId: this.$store.state.user.name,
functionId: 5012,
serialNumber: '5012Table1QuotationItemNo',
tableId: '5012Table1',
tableName: '询价信息表',
columnProp: 'quotationItemNo',
headerAlign: 'center',
align: 'right',
columnLabel: '序号',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 60
}, },
{ {
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
functionId: 5012,
serialNumber: '5012Table1CustomerNo',
tableId: '5012Table1',
functionId: 102001,
serialNumber: '102001Table1CustomerNo',
tableId: '102001Table1',
tableName: '询价信息表', tableName: '询价信息表',
columnProp: 'customerNo', columnProp: 'customerNo',
headerAlign: 'center', headerAlign: 'center',
@ -116,9 +105,9 @@ export default {
}, },
{ {
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
functionId: 5012,
serialNumber: '5012Table1CustomerDesc',
tableId: '5012Table1',
functionId: 102001,
serialNumber: '102001Table1CustomerDesc',
tableId: '102001Table1',
tableName: '询价信息表', tableName: '询价信息表',
columnProp: 'customerDesc', columnProp: 'customerDesc',
headerAlign: 'center', headerAlign: 'center',
@ -134,14 +123,14 @@ export default {
}, },
{ {
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
functionId: 5012,
serialNumber: '5012Table1ProjectId',
tableId: '5012Table1',
functionId: 102001,
serialNumber: '102001Table1RequestDate',
tableId: '102001Table1',
tableName: '询价信息表', tableName: '询价信息表',
columnProp: 'projectNo',
columnProp: 'requestDate',
headerAlign: 'center', headerAlign: 'center',
align: 'center', align: 'center',
columnLabel: '项目编码',
columnLabel: '询价日期',
columnHidden: false, columnHidden: false,
columnImage: false, columnImage: false,
columnSortable: false, columnSortable: false,
@ -152,32 +141,32 @@ export default {
}, },
{ {
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
functionId: 5012,
serialNumber: '5012Table1ProjectDesc',
tableId: '5012Table1',
functionId: 102001,
serialNumber: '102001Table1RequesterName',
tableId: '102001Table1',
tableName: '询价信息表', tableName: '询价信息表',
columnProp: 'projectDesc',
columnProp: 'requesterName',
headerAlign: 'center', headerAlign: 'center',
align: 'left', align: 'left',
columnLabel: '项目名称',
columnLabel: 'PjM',
columnHidden: false, columnHidden: false,
columnImage: false, columnImage: false,
columnSortable: false, columnSortable: false,
sortLv: 0, sortLv: 0,
status: true, status: true,
fixed: '', fixed: '',
columnWidth: 120
columnWidth: 80
}, },
{ {
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
functionId: 5012,
serialNumber: '5012Table1ProjectManagerName',
tableId: '5012Table1',
functionId: 102001,
serialNumber: '102001Table1QuoterName',
tableId: '102001Table1',
tableName: '询价信息表', tableName: '询价信息表',
columnProp: 'projectManagerName',
columnProp: 'quoterName',
headerAlign: 'center', headerAlign: 'center',
align: 'left', align: 'left',
columnLabel: 'PM/Sales',
columnLabel: '报价专员',
columnHidden: false, columnHidden: false,
columnImage: false, columnImage: false,
columnSortable: false, columnSortable: false,
@ -188,135 +177,189 @@ export default {
}, },
{ {
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
functionId: 5012,
serialNumber: '5012Table1ProjectOwnerName',
tableId: '5012Table1',
functionId: 102001,
serialNumber: '102001Table1RequiredCompletionDate',
tableId: '102001Table1',
tableName: '询价信息表', tableName: '询价信息表',
columnProp: 'projectOwnerName',
columnProp: 'requiredCompletionDate',
headerAlign: 'center', headerAlign: 'center',
align: 'left',
columnLabel: 'PjM',
align: 'center',
columnLabel: '要求报价日期',
columnHidden: false, columnHidden: false,
columnImage: false, columnImage: false,
columnSortable: false, columnSortable: false,
sortLv: 0, sortLv: 0,
status: true, status: true,
fixed: '', fixed: '',
columnWidth: 80
columnWidth: 120
}, },
{ {
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
functionId: 5012,
serialNumber: '5012Table1QuoterName',
tableId: '5012Table1',
functionId: 102001,
serialNumber: '102001Table1CustomerInquiryNo',
tableId: '102001Table1',
tableName: '询价信息表', tableName: '询价信息表',
columnProp: 'quoterName',
columnProp: 'customerInquiryNo',
headerAlign: 'center', headerAlign: 'center',
align: 'left',
columnLabel: '报价专员',
align: 'center',
columnLabel: '客户询价单号',
columnHidden: false, columnHidden: false,
columnImage: false, columnImage: false,
columnSortable: false, columnSortable: false,
sortLv: 0, sortLv: 0,
status: true, status: true,
fixed: '', fixed: '',
columnWidth: 80
columnWidth: 120
}, },
{ {
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
functionId: 5012,
serialNumber: '5012Table1TestPartNo',
tableId: '5012Table1',
tableName: '询价信息表',
columnProp: 'testPartNo',
functionId: 102001,
serialNumber: '102001Table2PartNo',
tableId: '102001Table2',
tableName: '询价产品表',
columnProp: 'partNo',
headerAlign: 'center', headerAlign: 'center',
align: 'left', align: 'left',
columnLabel: '项目料号',
columnLabel: '产品编码',
columnHidden: false, columnHidden: false,
columnImage: false, columnImage: false,
columnSortable: false, columnSortable: false,
sortLv: 0, sortLv: 0,
status: true, status: true,
fixed: '', fixed: '',
columnWidth: 160
columnWidth: 120
}, },
{ {
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
functionId: 5012,
serialNumber: '5012Table1PartDesc',
tableId: '5012Table1',
tableName: '询价信息表',
functionId: 102001,
serialNumber: '102001Table2PartDesc',
tableId: '102001Table2',
tableName: '询价产品表',
columnProp: 'partDesc', columnProp: 'partDesc',
headerAlign: 'center', headerAlign: 'center',
align: 'left', align: 'left',
columnLabel: '物料描述',
columnLabel: '产品描述',
columnHidden: false, columnHidden: false,
columnImage: false, columnImage: false,
columnSortable: false, columnSortable: false,
sortLv: 0, sortLv: 0,
status: true, status: true,
fixed: '', fixed: '',
columnWidth: 100
columnWidth: 120
}, },
{ {
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
functionId: 5012,
serialNumber: '5012Table1PriorityLevel',
tableId: '5012Table1',
functionId: 102001,
serialNumber: '102001Table1Status',
tableId: '102001Table1',
tableName: '询价信息表', tableName: '询价信息表',
columnProp: 'priorityLevel',
columnProp: 'status',
headerAlign: 'center', headerAlign: 'center',
align: 'center', align: 'center',
columnLabel: '优先等级',
columnLabel: '状态',
columnHidden: false, columnHidden: false,
columnImage: false, columnImage: false,
columnSortable: false, columnSortable: false,
sortLv: 0, sortLv: 0,
status: true, status: true,
fixed: '', fixed: '',
columnWidth: 80
columnWidth: 100
}, },
{ {
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
functionId: 5012,
serialNumber: '5012Table1RequiredCompletionDate',
tableId: '5012Table1',
tableName: '询价信息表',
columnProp: 'requiredCompletionDate',
functionId: 102001,
serialNumber: '102001Table2InquiryQty',
tableId: '102001Table2',
tableName: '询价产品表',
columnProp: 'inquiryQty',
headerAlign: 'center',
align: 'right',
columnLabel: '询价数量',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120
},
{
userId: this.$store.state.user.name,
functionId: 102001,
serialNumber: '102001Table2Unit',
tableId: '102001Table2',
tableName: '询价产品表',
columnProp: 'umName',
headerAlign: 'center', headerAlign: 'center',
align: 'center', align: 'center',
columnLabel: '要求完成日期',
columnLabel: '计量单位',
columnHidden: false, columnHidden: false,
columnImage: false, columnImage: false,
columnSortable: false, columnSortable: false,
sortLv: 0, sortLv: 0,
status: true, status: true,
fixed: '', fixed: '',
columnWidth: 160
columnWidth: 80
},
{
userId: this.$store.state.user.name,
functionId: 102001,
serialNumber: '102001Table2CodeNo',
tableId: '102001Table2',
tableName: '询价产品表',
columnProp: 'codeNo',
headerAlign: 'center',
align: 'left',
columnLabel: '属性模版',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120
}, },
{ {
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
functionId: 5012,
serialNumber: '5012Table1quotationStatus',
tableId: '5012Table1',
functionId: 102001,
serialNumber: '102001Table1PriorityLevel',
tableId: '102001Table1',
tableName: '询价信息表', tableName: '询价信息表',
columnProp: 'quotationStatus',
columnProp: 'priorityLevel',
headerAlign: 'center', headerAlign: 'center',
align: 'center', align: 'center',
columnLabel: '状态',
columnLabel: '优先等级',
columnHidden: false, columnHidden: false,
columnImage: false, columnImage: false,
columnSortable: false, columnSortable: false,
sortLv: 0, sortLv: 0,
status: true, status: true,
fixed: '', fixed: '',
columnWidth: 100
columnWidth: 80
},
{
userId: this.$store.state.user.name,
functionId: 102001,
serialNumber: '102001Table2Remark',
tableId: '102001Table2',
tableName: '询价产品表',
columnProp: 'remark',
headerAlign: 'center',
align: 'left',
columnLabel: '备注',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120
}, },
{ {
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
functionId: 5012,
serialNumber: '5012Table1CreateDate',
tableId: '5012Table1',
functionId: 102001,
serialNumber: '102001Table1CreateDate',
tableId: '102001Table1',
tableName: '询价信息表', tableName: '询价信息表',
columnProp: 'createDate', columnProp: 'createDate',
headerAlign: 'center', headerAlign: 'center',
@ -332,9 +375,9 @@ export default {
}, },
{ {
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
functionId: 5012,
serialNumber: '5012Table1CreateBy',
tableId: '5012Table1',
functionId: 102001,
serialNumber: '102001Table1CreateBy',
tableId: '102001Table1',
tableName: '询价信息表', tableName: '询价信息表',
columnProp: 'createBy', columnProp: 'createBy',
headerAlign: 'center', headerAlign: 'center',
@ -350,9 +393,9 @@ export default {
}, },
{ {
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
functionId: 5012,
serialNumber: '5012Table1UpdateDate',
tableId: '5012Table1',
functionId: 102001,
serialNumber: '102001Table1UpdateDate',
tableId: '102001Table1',
tableName: '询价信息表', tableName: '询价信息表',
columnProp: 'updateDate', columnProp: 'updateDate',
headerAlign: 'center', headerAlign: 'center',
@ -368,9 +411,9 @@ export default {
}, },
{ {
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
functionId: 5012,
serialNumber: '5012Table1UpdateBy',
tableId: '5012Table1',
functionId: 102001,
serialNumber: '102001Table1UpdateBy',
tableId: '102001Table1',
tableName: '询价信息表', tableName: '询价信息表',
columnProp: 'updateBy', columnProp: 'updateBy',
headerAlign: 'center', headerAlign: 'center',
@ -389,23 +432,30 @@ export default {
} }
}, },
methods:{ methods:{
handleQuery(){
let params = {
...this.queryForm,
quotationStatus:this.queryStatus,
no: this.no,
size: this.size,
createBy: this.$store.state.user.name,
// bu
getSiteAndBuByUserName() {
let tempData = {
username: this.$store.state.user.name,
} }
getSiteAndBuByUserName(tempData).then(({data}) => {
if (data.code === 0) {
this.userBuList = data.rows
}
})
},
handleQuery(){
this.queryForm.limit = this.pageSize
this.queryForm.page = this.pageIndex
this.queryForm.status = 'B'
this.queryLoading = true this.queryLoading = true
queryQuotationInformationByPage(params).then(({data})=>{
searchInquiryDetailHeaderInfo(this.queryForm).then(({data})=>{
if (data && data.code === 0){ if (data && data.code === 0){
this.dataList = data.rows.map((item)=>{
item.projectManagerName = item.projectManager.split('-')[1]
item.projectOwnerName = item.projectOwner.split('-')[1]
return item
})
this.total = data.total
this.dataList = data.page.list
this.pageIndex = data.page.currPage
this.pageSize = data.page.pageSize
this.totalPage = data.page.totalCount
}else { }else {
this.$message.warning(data.msg); this.$message.warning(data.msg);
} }
@ -416,11 +466,12 @@ export default {
}) })
}, },
handleSizeChange(val){ handleSizeChange(val){
this.size = val
this.pageSize = val
this.pageIndex = 1
this.handleQuery(); this.handleQuery();
}, },
handlePageChange(val){ handlePageChange(val){
this.no = val
this.pageIndex = val
this.handleQuery(); this.handleQuery();
}, },
handleSelectionChange(val) { handleSelectionChange(val) {
@ -467,72 +518,72 @@ export default {
<template> <template>
<div> <div>
<el-form :model="queryForm" label-position="top" label-width="100px" style="max-width: 1100px">
<el-row :gutter="15">
<el-col :span="3">
<el-form-item label="申请批次号">
<el-input v-model="queryForm.quotationBatchNo"></el-input>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item label="客户编码" v-if="!isComponent">
<el-input v-model="queryForm.customerNo"></el-input>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item label="客户名称" v-if="!isComponent">
<el-input v-model="queryForm.customerDesc"></el-input>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item label="项目料号" v-if="!isComponent">
<el-input v-model="queryForm.partNo"></el-input>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item label="物料描述" v-if="!isComponent">
<el-input v-model="queryForm.partDesc"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" v-if="!isComponent">
<el-form-item label="要求完成日期">
<div style="display: flex">
<el-date-picker style="width: 47%" v-model="queryForm.startDate" type="date" value-format='yyyy-MM-dd' format='yyyy-MM-dd'></el-date-picker>
<div style="width: 6%;text-align: center">-</div>
<el-date-picker style="width: 47%" v-model="queryForm.endDate" type="date" value-format='yyyy-MM-dd' format='yyyy-MM-dd'></el-date-picker>
</div>
</el-form-item>
</el-col>
<el-col :span="3" v-if="!isComponent">
<el-form-item label=" ">
<!-- <el-form :model="queryForm" label-position="top" label-width="100px" style="max-width: 1100px">-->
<!-- <el-row :gutter="15">-->
<!-- <el-col :span="3">-->
<!-- <el-form-item label="申请批次号">-->
<!-- <el-input v-model="queryForm.quotationBatchNo"></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<!-- <el-form-item label="客户编码" v-if="!isComponent">-->
<!-- <el-input v-model="queryForm.customerNo"></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<!-- <el-form-item label="客户名称" v-if="!isComponent">-->
<!-- <el-input v-model="queryForm.customerDesc"></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<!-- <el-form-item label="项目料号" v-if="!isComponent">-->
<!-- <el-input v-model="queryForm.partNo"></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<!-- <el-form-item label="物料描述" v-if="!isComponent">-->
<!-- <el-input v-model="queryForm.partDesc"></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="6" v-if="!isComponent">-->
<!-- <el-form-item label="要求完成日期">-->
<!-- <div style="display: flex">-->
<!-- <el-date-picker style="width: 47%" v-model="queryForm.startDate" type="date" value-format='yyyy-MM-dd' format='yyyy-MM-dd'></el-date-picker>-->
<!-- <div style="width: 6%;text-align: center">-</div>-->
<!-- <el-date-picker style="width: 47%" v-model="queryForm.endDate" type="date" value-format='yyyy-MM-dd' format='yyyy-MM-dd'></el-date-picker>-->
<!-- </div>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="3" v-if="!isComponent">-->
<!-- <el-form-item label=" ">-->
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item label="批次序号">
<el-input-number :controls="false" :min="0" style="width: 100%" v-model="queryForm.quotationItemNo"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item label="项目编码">
<el-input v-model="queryForm.projectNo"></el-input>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item label="项目名称">
<el-input v-model="queryForm.projectDesc"></el-input>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item label="报价专员" v-if="!isComponent">
<el-input v-model="queryForm.quoterName"></el-input>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item label="优先等级" v-if="!isComponent">
<dict-data-select v-model="queryForm.priorityLevel" clearable :use-default-value="false" dict-type="priority_Level"/>
</el-form-item>
</el-col>
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<!-- <el-form-item label="批次序号">-->
<!-- <el-input-number :controls="false" :min="0" style="width: 100%" v-model="queryForm.quotationItemNo"></el-input-number>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<!-- <el-form-item label="项目编码">-->
<!-- <el-input v-model="queryForm.projectNo"></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<!-- <el-form-item label="项目名称">-->
<!-- <el-input v-model="queryForm.projectDesc"></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<!-- <el-form-item label="报价专员" v-if="!isComponent">-->
<!-- <el-input v-model="queryForm.quoterName"></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<!-- <el-form-item label="优先等级" v-if="!isComponent">-->
<!-- <dict-data-select v-model="queryForm.priorityLevel" clearable :use-default-value="false" dict-type="priority_Level"/>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="3">--> <!-- <el-col :span="3">-->
<!-- <el-form-item :label="'状态'">--> <!-- <el-form-item :label="'状态'">-->
<!-- <el-select v-model="queryForm.quotationStatus" style="width: 100%">--> <!-- <el-select v-model="queryForm.quotationStatus" style="width: 100%">-->
@ -542,13 +593,117 @@ export default {
<!-- </el-select>--> <!-- </el-select>-->
<!-- </el-form-item>--> <!-- </el-form-item>-->
<!-- </el-col>--> <!-- </el-col>-->
<el-col :span="3">
<el-form-item label=" ">
<el-button type="primary" @click="handleQuery">查询</el-button>
<el-button type="primary" v-loading="quoteLoading" @click="handleQuote" v-if="!isComponent">报价</el-button>
</el-form-item>
</el-col>
</el-row>
<!-- <el-col :span="3">-->
<!-- <el-form-item label=" ">-->
<!-- <el-button type="primary" @click="handleQuery">查询</el-button>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<!-- </el-form>-->
<!-- 查询条件 -->
<el-form :inline="true" label-position="top" :model="queryForm" @keyup.enter.native="handleQuery()">
<el-form-item :label="'BU'">
<el-select v-model="queryForm.bu" placeholder="请选择" clearable style="width: 120px">
<el-option
v-for = "i in userBuList"
:key = "i.buNo"
:label = "i.buDesc"
:value = "i.buNo">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="询价单号">
<el-input v-model="queryForm.rfqNo" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item label="客户编码">
<span style="cursor: pointer" slot="label" @click="getBaseList(509,2)"><a herf="#">客户编码</a></span>
<el-input v-model="queryForm.customerNo" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'客户名称'">
<el-input v-model="queryForm.customerDesc" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'询价日期'">
<el-date-picker
style="width: 120px"
v-model="queryForm.requestStartDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item label=" ">
<div style="text-align: center;"><i class="el-icon-right"></i></div>
</el-form-item>
<el-form-item :label="' '">
<el-date-picker
style="width: 120px"
v-model="queryForm.requestEndDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item :label="'优先等级'">
<dict-data-select v-model="queryForm.priorityLevel" clearable style="width: 120px" :use-default-value="false"
dict-type="priority_Level"/>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="queryForm" @keyup.enter.native="handleQuery()">
<el-form-item label="产品编码">
<span style="cursor: pointer" slot="label" @click="getBaseList(2005)"><a herf="#">产品编码</a></span>
<el-input v-model="queryForm.partNo" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'产品名称'">
<el-input v-model="queryForm.partDesc" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'PjM'">
<span style="cursor: pointer" slot="label" @click="getBaseList(2004,1)"><a herf="#">PjM</a></span>
<el-input v-model="queryForm.requesterName" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'报价专员'">
<span style="cursor: pointer" slot="label" @click="getBaseList(2002,1)"><a herf="#">报价专员</a></span>
<el-input v-model="queryForm.quoterName" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'要求报价日期'">
<el-date-picker
style="width: 120px"
v-model="queryForm.requiredCompletionStartDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item label=" ">
<div style="text-align: center;"><i class="el-icon-right"></i></div>
</el-form-item>
<el-form-item :label="' '">
<el-date-picker
style="width: 120px"
v-model="queryForm.requiredCompletionEndDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item :label="' '">
<el-button @click="handleQuery()">查询</el-button>
<el-button type="primary" v-loading="quoteLoading" @click="handleQuote" v-if="!isComponent">报价</el-button>
<!-- <el-button type="primary" icon="el-icon-upload" @click="handleImportQuotation()">导入</el-button>-->
<!-- <download-excel-->
<!-- :fields="fields()"-->
<!-- :data="exportData"-->
<!-- type="xls"-->
<!-- :name="exportName"-->
<!-- :header="exportHeader"-->
<!-- :footer="exportFooter"-->
<!-- :fetch="createExportData"-->
<!-- :before-generate="startDownload"-->
<!-- :before-finish="finishDownload"-->
<!-- worksheet="导出信息"-->
<!-- class="el-button el-button&#45;&#45;primary el-button&#45;&#45;medium">-->
<!-- {{ "导出" }}-->
<!-- </download-excel>-->
</el-form-item>
</el-form> </el-form>
<el-table :data="dataList" border v-loading="queryLoading" :height="height" @selection-change="handleSelectionChange" @row-dblclick="handleDblClick"> <el-table :data="dataList" border v-loading="queryLoading" :height="height" @selection-change="handleSelectionChange" @row-dblclick="handleDblClick">
<el-table-column type="selection" width="55" fixed="left" align="center" v-if="!isComponent"></el-table-column> <el-table-column type="selection" width="55" fixed="left" align="center" v-if="!isComponent"></el-table-column>
@ -563,17 +718,38 @@ export default {
:min-width="item.columnWidth" :min-width="item.columnWidth"
:label="item.columnLabel"> :label="item.columnLabel">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="!item.columnHidden">{{ scope.row[item.columnProp] }}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
<div v-if="item.columnProp !== 'status' && item.columnProp !== 'priorityLevel'">
<span v-if="!item.columnHidden">{{ scope.row[item.columnProp] }}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
style="width: 100px; height: 80px"/></span>
</div>
<div v-else-if="item.columnProp === 'status'">
<span v-if="!item.columnHidden">
<span v-if="scope.row.status === 'C'">草稿</span>
<span v-if="scope.row.status === 'B'">已下达</span>
<span v-if="scope.row.status === 'A'">已报价</span>
</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
style="width: 100px; height: 80px"/></span>
</div>
<div v-else-if="item.columnProp === 'priorityLevel'">
<span v-if="!item.columnHidden">
<span v-if="scope.row.priorityLevel === ' A'">重要客户</span>
<span v-if="scope.row.priorityLevel === ' B'">潜力客户</span>
<span v-if="scope.row.priorityLevel === ' C'">一般客户</span>
</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
style="width: 100px; height: 80px"/></span>
</div>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-pagination @size-change="handleSizeChange" <el-pagination @size-change="handleSizeChange"
@current-change="handlePageChange" @current-change="handlePageChange"
:current-page="no"
:current-page="pageIndex"
:page-sizes="[ 50, 100, 200, 500]" :page-sizes="[ 50, 100, 200, 500]"
:page-size="size"
:total="total"
:page-size="pageSize"
:total="totalPage"
layout="total,sizes, prev, pager, next, jumper"> layout="total,sizes, prev, pager, next, jumper">
</el-pagination> </el-pagination>
</div> </div>

Loading…
Cancel
Save