Browse Source

2023-12-25 plm报价

master
zelian_wu 2 years ago
parent
commit
b810781c72
  1. 6
      src/api/quotation/quotationInformation.js
  2. 645
      src/views/modules/quotation/requestForQuote.vue
  3. 5
      src/views/modules/quotation/sellForQuotation.vue
  4. 181
      src/views/modules/quotation/sellForQuotation/quotationDetail.vue
  5. 2
      src/views/modules/quotation/toBeQuoted.vue

6
src/api/quotation/quotationInformation.js

@ -79,6 +79,12 @@ export const saveCustomerResponse = data => createAPI(`/plm/quotationInformation
* @returns {*}
*/
export const getProjectPartList = data => createAPI(`/plm/quotationInformation/getProjectPartList`,'post',data)
/**
* 获取项目列表
* @param data
* @returns {*}
*/
export const searchProjectInfoList = data => createAPI(`/project/searchProjectInfoList`,'get',data)
/**
* 检查报价进度
* @param data

645
src/views/modules/quotation/requestForQuote.vue

@ -144,73 +144,178 @@
</el-pagination>
<!-- 询价模态框 -->
<el-dialog :title="modalData.title" :close-on-click-modal="false" v-drag :visible.sync="modalFlag" width="495px">
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">
<el-form-item prop="customerDesc" :rules="rules.customerDesc">
<span slot="label" style="" @click="getBaseList(102,1)"><a herf="#">客户</a></span>
<el-input v-model="modalData.customerDesc" style="width: 221px"></el-input>
</el-form-item>
<el-form-item prop="trackerName" :rules="rules.trackerName">
<span slot="label" style="" @click="getBaseList(103,1)"><a herf="#">跟单员</a></span>
<el-input v-model="modalData.trackerName" style="width: 221px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">
<el-form-item prop="projectName" :rules="rules.projectName">
<span slot="label" style="" @click="getBaseList(104,1)"><a herf="#">项目</a></span>
<el-input v-model="modalData.projectName" style="width: 221px"></el-input>
</el-form-item>
<el-form-item prop="quoterName" :rules="rules.quoterName">
<span slot="label" style="" @click="getBaseList(103,2)"><a herf="#">询价专员</a></span>
<el-input v-model="modalData.quoterName" style="width: 221px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">
<el-form-item prop="partName" :rules="rules.partName">
<el-dialog :title="modalData.title" @open="openSaveDataDialog" @close="closeSaveDataDialog" :close-on-click-modal="false" top="10vh" :visible.sync="modalFlag" width="50%">
<el-form label-position="top" ref="saveDataForm" :model="modalData" :rules="rules">
<el-row :gutter="10">
<el-col :span="12">
<el-form-item prop="customerNo" label="客户编码">
<span slot="label" @click="getBaseList(102,1)"><a herf="#">客户编码</a></span>
<el-row :gutter="10">
<el-col :span="8">
<el-input :readonly="true" v-model="modalData.customerNo"></el-input>
</el-col>
<el-col :span="16">
<el-input disabled v-model="modalData.customerDesc"></el-input>
</el-col>
</el-row>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="客户负责人">
<el-input v-model="modalData.customerResponsiblePerson"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="客户负责人联系方式">
<el-input v-model="modalData.customerResponsiblePersonPhone"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item prop="trackerName">
<span slot="label" style="" @click="getBaseList(103,1)"><a herf="#">跟单员</a></span>
<el-input v-model="modalData.trackerName"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item prop="projectId" label="项目编码">
<span slot="label" v-if="modalData.customerNo" style="" @click="chooseProjectListFlag = true"><a herf="#">项目编码</a></span>
<el-row :gutter="10">
<el-col :span="8">
<el-input :disabled="!modalData.customerNo" :readonly="true" v-model="modalData.projectId"></el-input>
</el-col>
<el-col :span="16">
<el-input disabled v-model="modalData.projectName"></el-input>
</el-col>
</el-row>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="优先等级" prop="priorityLevel">
<el-select v-model="modalData.priorityLevel">
<el-option label="一般" value="一般"></el-option>
<el-option label="紧急" value="紧急"></el-option>
<el-option label="重要" value="重要"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="要求完成日期" prop="requiredCompletionDate">
<el-date-picker v-model="modalData.requiredCompletionDate" style="width: 100%" type="date" value-format="yyyy-MM-dd" placeholder="选择日期"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item prop="quoterName">
<span slot="label" style="" @click="getBaseList(103,2)"><a herf="#">询价专员</a></span>
<el-input v-model="modalData.quoterName"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="24">
<el-form-item label="备注" style="display: block;min-height: 90px">
<el-input type="textarea" :autosize="{minRows: 3, maxRows: 3}" resize='none' v-model="modalData.remark"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="24">
<el-form-item label="技术注意事项" style="display: block;min-height: 90px">
<el-input
type="textarea"
v-model="modalData.technicalConsiderations"
:autosize="{minRows: 3, maxRows: 3}"
resize='none'>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-form-item prop="partName" style="display: none">
<span slot="label" @click="getProjectPartList()"><a>项目物料</a></span>
<el-input v-model="modalData.partName" style="width: 221px"></el-input>
</el-form-item>
<el-form-item label="优先等级" prop="priorityLevel" :rules="rules.priorityLevel">
<el-select v-model="modalData.priorityLevel" style="width: 221px">
<el-option label="一般" value="一般"></el-option>
<el-option label="紧急" value="紧急"></el-option>
<el-option label="重要" value="重要"></el-option>
</el-select>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="要求完成日期" prop="requiredCompletionDate" :rules="rules.requiredCompletionDate">
<el-date-picker v-model="modalData.requiredCompletionDate" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 142px"></el-date-picker>
</el-form-item>
<el-form-item label="客户负责人">
<el-input v-model="modalData.customerResponsiblePerson" style="width: 142px"></el-input>
</el-form-item>
<el-form-item label="客户负责人联系方式">
<el-input v-model="modalData.customerResponsiblePersonPhone" style="width: 142px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="备注">
<el-input v-model="modalData.remark" style="width: 456px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="modalData" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="技术注意事项">
<el-input
type="textarea"
v-model="modalData.technicalConsiderations"
:rows="3"
resize='none'
show-word-limit
style="width: 456px;height: 20px">
</el-input>
<el-input v-model="modalData.partName" style="display: none"></el-input>
</el-form-item>
<div class="rq">
<el-form :inline="true" label-position="top" :model="projectPartData">
<el-form-item label="产品编码">
<el-input v-model="projectPartData.testPartNo" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item label="产品名称">
<el-input v-model="projectPartData.partName" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item label=" ">
<el-button type="primary" @click="getProjectPartList()">查询</el-button>
</el-form-item>
</el-form>
<el-table
:height="223"
:data="projectPartList"
ref="projectPartTable"
@row-click="projectPartClickRow"
@selection-change="selectionProjectPart"
:row-key="getRowKeys"
border
v-loading="dataListLoading"
style="width: 100%;">
<el-table-column
type="selection"
header-align="center"
align="center"
:selectable="checkSelectable"
width="50" class-name="disabledCheckbox">
</el-table-column>
<el-table-column
v-for="(item,index) in projectPartDetailList" :key="index"
:sortable="item.columnSortable"
:prop="item.columnProp"
:header-align="item.headerAlign"
:show-overflow-tooltip="item.showOverflowTooltip"
:align="item.align"
:fixed="item.fixed===''?false:item.fixed"
:min-width="item.columnWidth"
:label="item.columnLabel">
<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>
</template>
</el-table-column>
</el-table>
</div>
</el-form>
<el-footer style="height:30px;margin-top: 50px;text-align:center">
<el-footer style="height:35px;margin-top: 10px;padding-bottom:5px;text-align:center">
<el-button type="primary" @click="saveData()">保存</el-button>
<el-button type="primary" @click="modalFlag = false">关闭</el-button>
</el-footer>
</el-dialog>
<!--选择项目模态框-->
<el-dialog title="选择-项目" @close="closeProjectInfoDialog" @open="searchProjectInfoList" :visible.sync="chooseProjectListFlag" width="35%">
<el-form label-position="top" :model="searchProjectData" ref="closeProjectInfoForm">
<el-row :gutter="10">
<el-col :span="6">
<el-form-item label="项目编码">
<el-input v-model="searchProjectData.projectId"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="项目名称">
<el-input v-model="searchProjectData.projectName"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label=" ">
<el-button type="primary" @click="searchProjectInfoList">查询</el-button>
</el-form-item>
</el-col>
</el-row>
<el-table :height="223"
:data="projectList"
border
@row-click="projectClickRow">
<el-table-column label="项目编码" prop="projectId"/>
<el-table-column label="项目名称" prop="projectName"/>
</el-table>
</el-form>
</el-dialog>
<!-- 录入询价结果模态框 -->
<el-dialog title="录入询价结果" :close-on-click-modal="false" v-drag :visible.sync="enterResultModalFlag" width="785px">
@ -320,59 +425,7 @@
</el-footer>
</el-dialog>
<!-- 产品 -->
<el-dialog title="产品清单" :close-on-click-modal="false" v-drag :visible.sync="projectPartModelFlag" width="800px">
<div class="rq">
<el-form :inline="true" label-position="top" :model="projectPartData">
<el-form-item :label="'产品编码'">
<el-input v-model="projectPartData.testPartNo" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'产品名称'">
<el-input v-model="projectPartData.partName" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="' '">
<el-button type="primary" @click="getProjectPartList()">查询</el-button>
</el-form-item>
</el-form>
<el-table
:height="300"
:data="projectPartList"
ref="projectPartTable"
@row-click="projectPartClickRow"
@selection-change="selectionProjectPart"
:row-key="getRowKeys"
border
v-loading="dataListLoading"
style="width: 100%;">
<el-table-column
type="selection"
header-align="center"
align="center"
:reserve-selection="true"
width="50">
</el-table-column>
<el-table-column
v-for="(item,index) in projectPartDetailList" :key="index"
:sortable="item.columnSortable"
:prop="item.columnProp"
:header-align="item.headerAlign"
:show-overflow-tooltip="item.showOverflowTooltip"
:align="item.align"
:fixed="item.fixed===''?false:item.fixed"
:min-width="item.columnWidth"
:label="item.columnLabel">
<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>
</template>
</el-table-column>
</el-table>
</div>
<el-footer style="height:40px;margin-top: 20px;text-align:center">
<el-button type="primary" @click="confirmProjectPart()">确认</el-button>
<el-button type="primary" @click="projectPartModelFlag = false">关闭</el-button>
</el-footer>
</el-dialog>
<!-- 页签 -->
<el-tabs v-model="activeTable" style="margin-top: 0px; width: 100%; min-height: 500px;box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);border: 2px;" @tab-click="tabClick" class="customer-tab">
@ -794,7 +847,8 @@
getProjectPartList, //
checkQuotationStatus, //
getProjectInformation, //
getCustomerInformation //
getCustomerInformation, //
searchProjectInfoList,//
} from '@/api/quotation/quotationInformation.js'
import Chooselist from '@/views/modules/common/Chooselist'
import quotationUploadFile from "./quotation_upload_file"
@ -856,6 +910,17 @@
},
//
dataListLoading: false,
//
chooseProjectListFlag: false,
//
searchProjectData:{
site:this.$store.state.user.site,
projectId:undefined,
projectName:undefined,
customerId:undefined,
},
//
projectList:[],
//
activeTable: 'quotation_detail_information',
// ======== ========
@ -875,7 +940,7 @@
quotationStatus: '',
testPartNo: '',
partName: '',
priorityLevel: '',
priorityLevel: '一般',
requiredCompletionDate: '',
remark: '',
technicalConsiderations: '',
@ -945,7 +1010,8 @@
projectPartData: {
site: this.$store.state.user.site,
testPartNo: '',
partName: ''
partName: '',
projectId:'',
},
projectInformationData: {
projectId: '',
@ -1058,7 +1124,7 @@
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
columnWidth: 120
},
{
userId: this.$store.state.user.name,
@ -1130,7 +1196,7 @@
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
columnWidth: 160
},
{
userId: this.$store.state.user.name,
@ -1427,49 +1493,48 @@
{
userId: this.$store.state.user.name,
functionId: 102001,
serialNumber: '102001Table3ProjectId',
serialNumber: '102001Table3TestPartNo',
tableId: '102001Table3',
tableName: '项目物料表',
columnProp: 'projectName',
columnProp: 'testPartNo',
headerAlign: 'center',
align: 'center',
columnLabel: '项目名称',
columnLabel: '产品编码',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120
columnWidth: 150
},
{
userId: this.$store.state.user.name,
functionId: 102001,
serialNumber: '102001Table3TestPartNo',
serialNumber: '102001Table3PartDesc',
tableId: '102001Table3',
tableName: '项目物料表',
columnProp: 'testPartNo',
columnProp: 'partDesc',
headerAlign: 'center',
align: 'center',
columnLabel: '产品编码',
columnLabel: '产品名称',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 150
},
{
columnWidth: 120
},{
userId: this.$store.state.user.name,
functionId: 102001,
serialNumber: '102001Table3PartName',
serialNumber: '102001Table3PartType',
tableId: '102001Table3',
tableName: '项目物料表',
columnProp: 'partName',
columnProp: 'partType',
headerAlign: 'center',
align: 'center',
columnLabel: '产品名称',
columnLabel: '产品类型',
columnHidden: false,
columnImage: false,
columnSortable: false,
@ -1481,54 +1546,40 @@
],
// ======== ========
rules: {
customerNo: [
{required: true,message: ' ',trigger: 'change'},
{required: true,message: ' ',trigger: 'blur'},
],
customerDesc: [
{
required: true,
message: ' ',
trigger: 'change'
}
{required: true,message: ' ',trigger: 'change'},
{required: true,message: ' ',trigger: 'blur'},
],
trackerName: [
{
required: true,
message: ' ',
trigger: 'change'
}
{required: true,message: ' ',trigger: 'change'},
{required: true,message: ' ',trigger: 'blur'},
],
projectId: [
{required: true,message: ' ',trigger: 'change'},
{required: true,message: ' ',trigger: 'blur'},
],
projectName: [
{
required: true,
message: ' ',
trigger: 'change'
}
{required: true,message: ' ',trigger: 'change'},
{required: true,message: ' ',trigger: 'blur'},
],
quoterName: [
{
required: true,
message: ' ',
trigger: 'change'
}
{required: true,message: ' ',trigger: 'change'},
{required: true,message: ' ',trigger: 'blur'},
],
partName: [
{
required: true,
message: ' ',
trigger: 'change'
}
{required: true,message: ' ',trigger: 'change'},
{required: true,message: ' ',trigger: 'blur'},
],
priorityLevel: [
{
required: true,
message: ' ',
trigger: 'change'
}
{required: true,message: ' ',trigger: 'change'},
],
requiredCompletionDate: [
{
required: true,
message: ' ',
trigger: 'change'
}
{required: true,message: ' ',trigger: 'change'},
{required: true,message: ' ',trigger: 'blur'},
]
},
enterResultRules: {
@ -1636,7 +1687,10 @@
* @param row
*/
projectPartClickRow (row) {
this.$refs.projectPartTable.toggleRowSelection(row);
if (this.modalData.flag === '1'){
this.$refs.projectPartTable.toggleRowSelection(row);
this.confirmProjectPart();
}
},
/**
* 多选
@ -1797,7 +1851,7 @@
quotationStatus: '草稿',
testPartNo: '',
partName: '',
priorityLevel: '',
priorityLevel: '一般',
requiredCompletionDate: '',
remark: '',
technicalConsiderations: '',
@ -1868,10 +1922,16 @@
* 获取产品列表
*/
getProjectPartList () {
if (!this.modalData.projectId){
this.$message.warning("请选择项目编码!")
return
}
//
this.$nextTick(() => this.$refs.projectPartTable.clearSelection())
//
let projectPartList = this.modalData.testPartNo.split(';')
//
this.projectPartData.projectId = this.modalData.projectId;
//
getProjectPartList(this.projectPartData).then(({data}) => {
if (data && data.code === 0) {
@ -1882,7 +1942,6 @@
this.$nextTick(() => this.$refs.projectPartTable.toggleRowSelection(val, true))
}
})
this.projectPartModelFlag = true
}else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
@ -1895,7 +1954,11 @@
*/
confirmProjectPart () {
if(this.projectPartListSelections.length === 0){
this.$message.warning('请勾选产品!')
//
this.$nextTick(() => this.$refs.projectPartTable.clearSelection())
//
this.modalData.testPartNo = ''
this.modalData.partName = ''
return
}
this.modalData.testPartNo = ''
@ -1906,95 +1969,103 @@
}
this.modalData.testPartNo = this.modalData.testPartNo.substring(1)
this.modalData.partName = this.modalData.partName.substring(1)
this.projectPartModelFlag = false
},
/**
* 客户信息新增/编辑
*/
saveData () {
if (this.modalData.customerNo === '' || this.modalData.customerNo == null) {
this.$message.warning('请选择客户编码!')
return
}
if (this.modalData.customerDesc === '' || this.modalData.customerDesc == null) {
this.$message.warning('请选择客户名称!')
return
}
if (this.modalData.tracker === '' || this.modalData.tracker == null) {
this.$message.warning('请选择跟单员编码!')
return
}
if (this.modalData.trackerName === '' || this.modalData.trackerName == null) {
this.$message.warning('请选择跟单员名称!')
return
}
if (this.modalData.projectId === '' || this.modalData.projectId == null) {
this.$message.warning('请选择项目编码!')
return
}
if (this.modalData.projectName === '' || this.modalData.projectName == null) {
this.$message.warning('请选择项目名称!')
return
}
if (this.modalData.quoter === '' || this.modalData.quoter == null) {
this.$message.warning('请选择询价专员编码!')
return
}
if (this.modalData.quoterName === '' || this.modalData.quoterName == null) {
this.$message.warning('请选择询价专员名称!')
return
}
if (this.modalData.testPartNo === '' || this.modalData.testPartNo == null) {
this.$message.warning('请选择产品编码!')
return
}
if (this.modalData.partName === '' || this.modalData.partName == null) {
this.$message.warning('请选择产品名称!')
return
}
if (this.modalData.priorityLevel === '' || this.modalData.priorityLevel == null) {
this.$message.warning('请选择优先等级!')
return
}
if (this.modalData.requiredCompletionDate === '' || this.modalData.requiredCompletionDate == null) {
this.$message.warning('请输入要求完成日期!')
return
}
if (this.modalData.flag === '1') {
quotationInformationSave(this.modalData).then(({data}) => {
if (data && data.code === 0) {
this.getDataList()
this.modalFlag = false
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
})
} else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
this.$refs.saveDataForm.validate((valid)=>{
if (!valid){
if (this.modalData.customerNo === '' || this.modalData.customerNo == null) {
this.$message.warning('请选择客户编码!')
return
}
})
} else {
quotationInformationEdit(this.modalData).then(({data}) => {
if (data && data.code === 0) {
this.getDataList()
this.modalFlag = false
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
if (this.modalData.customerDesc === '' || this.modalData.customerDesc == null) {
this.$message.warning('请选择客户名称!')
return
}
if (this.modalData.tracker === '' || this.modalData.tracker == null) {
this.$message.warning('请选择跟单员编码!')
return
}
if (this.modalData.trackerName === '' || this.modalData.trackerName == null) {
this.$message.warning('请选择跟单员名称!')
return
}
if (this.modalData.projectId === '' || this.modalData.projectId == null) {
this.$message.warning('请选择项目编码!')
return
}
if (this.modalData.projectName === '' || this.modalData.projectName == null) {
this.$message.warning('请选择项目名称!')
return
}
if (this.modalData.quoter === '' || this.modalData.quoter == null) {
this.$message.warning('请选择询价专员编码!')
return
}
if (this.modalData.quoterName === '' || this.modalData.quoterName == null) {
this.$message.warning('请选择询价专员名称!')
return
}
if (this.modalData.testPartNo === '' || this.modalData.testPartNo == null) {
this.$message.warning('请选择产品编码!')
return
}
if (this.modalData.partName === '' || this.modalData.partName == null) {
this.$message.warning('请选择产品名称!')
return
}
if (this.modalData.priorityLevel === '' || this.modalData.priorityLevel == null) {
this.$message.warning('请选择优先等级!')
return
}
if (this.modalData.requiredCompletionDate === '' || this.modalData.requiredCompletionDate == null) {
this.$message.warning('请输入要求完成日期!')
return
}
}else {
if (this.projectPartListSelections.length === 0){
this.$message.warning('请选择产品!')
return
}
if (this.modalData.flag === '1') {
quotationInformationSave(this.modalData).then(({data}) => {
if (data && data.code === 0) {
this.getDataList()
this.modalFlag = false
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
})
} else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
})
} else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
quotationInformationEdit(this.modalData).then(({data}) => {
if (data && data.code === 0) {
this.getDataList()
this.modalFlag = false
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
})
} else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
})
}
})
}
}
})
},
/**
* 询价信息删除
@ -2539,8 +2610,14 @@
getBaseData (val) {
if (this.tagNo === 102) {
if(this.tagNo1 === 1) {
if (val.Customer_no === this.modalData.customerNo) {
return
}
this.modalData.customerNo = val.Customer_no
this.modalData.customerDesc = val.Customer_desc
this.modalData.projectId = ''
this.modalData.projectName = ''
this.projectPartList = [];
}
}
if (this.tagNo === 103) {
@ -2589,15 +2666,81 @@
json += '}'
let s = eval('(' + json + ')')
return s
}
},
//
closeSaveDataDialog(){
this.$refs.saveDataForm.resetFields(); //
this.$nextTick(() => this.$refs.projectPartTable.clearSelection())
//
this.modalData.testPartNo = ''
this.modalData.partName = ''
this.projectPartData= {
site: this.$store.state.user.site,
testPartNo: '',
partName: '',
projectId:'',
}
},
//
openSaveDataDialog(){
if (!this.modalData.projectId){
this.projectPartList = [];
return
}
this.getProjectPartList()
},
// searchProjectInfoList
searchProjectInfoList(){
this.projectList = [];
this.searchProjectData.customerId = this.modalData.customerNo
searchProjectInfoList(this.searchProjectData).then(({data})=>{
if (data && data.code === 0) {
this.projectList = data.rows
} else {
this.projectList = []
}
}).catch((error)=>{
this.$message.error('查询项目信息失败')
})
},
closeProjectInfoDialog(){
this.$refs.closeProjectInfoForm.resetFields();
this.searchProjectData={
site:this.$store.state.user.site,
projectId:undefined,
projectName:undefined,
customerId:undefined,
}
},
projectClickRow(row){
this.modalData.projectId = row.projectId
this.modalData.projectName = row.projectName
this.getProjectPartList()
this.chooseProjectListFlag = false
},
checkSelectable(row,index){
if (this.modalData.flag === '1'){
return true
}else {
return false
}
},
}
}
</script>
<style scoped lang="scss">
<style scoped>
/deep/ .customer-tab .el-tabs__content {
padding: 0px !important;
height: 459px;
}
/deep/ .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{
background-color: #17B3A3;
border-color: #17B3A3;
}
/deep/ .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after{
border-color: #FFF
}
</style>

5
src/views/modules/quotation/sellForQuotation.vue

@ -210,10 +210,10 @@
<!-- 标签页 -->
<el-tabs v-model="activeTabName" @tab-click="handleClickTab"
style="box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);border: 2px;min-height: 440px;margin-top: 5px;padding: 5px">
<el-tab-pane label="明细" name="quotation_detail">
<el-tab-pane label="报价明细" name="quotation_detail">
<quotation-detail :quotation-header="quotationHeader"></quotation-detail>
</el-tab-pane>
<el-tab-pane label="审批" name="quotation_examine_and_approve">
<el-tab-pane label="报价审批" name="quotation_examine_and_approve">
<quotation-examine-and-approve></quotation-examine-and-approve>
</el-tab-pane>
<el-tab-pane label="项目信息" name="quotation_project_information">
@ -774,7 +774,6 @@ export default {
this.insertData.tracker=row.tracker;//
this.insertData.trackerName=row.trackerName;
this.insertData.quoter=row.quoter;//
this.insertData.quotationStatus=row.quotationStatus;//
this.insertData.internalInquiryNo=row.quotationNo;//
this.insertData.currency=row.customerCurrency;//
//

181
src/views/modules/quotation/sellForQuotation/quotationDetail.vue

@ -35,7 +35,7 @@
<el-table-column show-overflow-tooltip
header-align="center"
label="产品名称" prop="productDesc"
width="80" align="left">
width="120" align="left">
</el-table-column>
<el-table-column show-overflow-tooltip header-align="center"
label="报价数量" prop="quotationDetailQuantity"
@ -182,11 +182,10 @@
<el-col :span="8">
<el-form-item label="报价数量" prop="quotationDetailQuantity">
<div class="right">
<el-input v-model="insertQuotationDetail.quotationDetailQuantity" type="number" @input="value=>inputNumberWithReg(value,0)" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))"/>
<el-input class="inlineNumber" v-model="insertQuotationDetail.quotationDetailQuantity" type="number" @input="value=>quotationReg(value,0)" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))"/>
</div>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="22">
@ -232,7 +231,7 @@
<el-col :span="3">
<el-form-item label="报价数量" prop="quotationDetailQuantity">
<div class="right">
<el-input type="number" disabled onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))" v-model="quotationDetailData.quotationDetailQuantity"/>
<el-input type="number" class="inlineNumber" disabled onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))" v-model="quotationDetailData.quotationDetailQuantity"/>
</div>
</el-form-item>
</el-col>
@ -271,7 +270,7 @@
</el-table-column>
<el-table-column type="index" width="50" header-align="center" align="right" label="序号"/>
<el-table-column label="材料编码" header-align="center" align="left" show-overflow-tooltip prop="quotationPartNo"/>
<el-table-column label="材料名称" header-align="center" align="left" show-overflow-tooltip prop="quotationPartDesc"/>
<el-table-column label="材料名称" header-align="center" width="120" align="left" show-overflow-tooltip prop="quotationPartDesc"/>
<el-table-column label="计量单位" header-align="center" align="left" show-overflow-tooltip prop="umId">
<template slot-scope="{row,$index}">
{{getUmName(row.umId)}}
@ -359,7 +358,7 @@
</el-form>
</el-tab-pane>
<el-tab-pane label="成品属性">
<el-button type="primary" @click="saveQuotationProductFlag = true"> </el-button>
<el-button type="primary" @click="saveQuotationProductFlag = true">选择模板</el-button>
<el-table
:height="400"
:data="quotationPropertiesItemList"
@ -405,35 +404,35 @@
<el-col :span="4">
<el-form-item label="材料成本:" prop="computePartCost">
<div class="right">
<el-input v-model="quotationDetailData.computePartCost" type="number" disabled/>
<el-input class="inlineNumber" v-model="quotationDetailData.computePartCost" type="number" disabled/>
</div>
</el-form-item>
</el-col>
<el-col :span="4" :offset="1">
<el-form-item label="机器成本:" prop="computeMachineCost">
<div class="right">
<el-input v-model="quotationDetailData.computeMachineCost" type="number" disabled/>
<el-input class="inlineNumber" v-model="quotationDetailData.computeMachineCost" type="number" disabled/>
</div>
</el-form-item>
</el-col>
<el-col :span="4" :offset="1">
<el-form-item label="制造费用成本:" prop="computeFabricateCost">
<div class="right">
<el-input v-model="quotationDetailData.computeFabricateCost" type="number" disabled/>
<el-input class="inlineNumber" v-model="quotationDetailData.computeFabricateCost" type="number" disabled/>
</div>
</el-form-item>
</el-col>
<el-col :span="4" :offset="1">
<el-form-item label="人工成本:" prop="computeLabourCost">
<div class="right">
<el-input v-model="quotationDetailData.computeLabourCost" type="number" disabled/>
<el-input class="inlineNumber" v-model="quotationDetailData.computeLabourCost" type="number" disabled/>
</div>
</el-form-item>
</el-col>
<el-col :span="4" :offset="1">
<el-form-item label="工具成本:" prop="computeToolCost">
<div class="right">
<el-input v-model="quotationDetailData.computeToolCost" type="number" disabled/>
<el-input class="inlineNumber" v-model="quotationDetailData.computeToolCost" type="number" disabled/>
</div>
</el-form-item>
</el-col>
@ -449,35 +448,35 @@
<el-col :span="4">
<el-form-item label="材料成本:" prop="adjustPartCost">
<div class="right">
<el-input v-model="quotationDetailData.adjustPartCost" type="number" @change="computeCost" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))"/>
<el-input class="inlineNumber" @input="value=>quotationCostReg(value,0)" v-model="quotationDetailData.adjustPartCost" type="number" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))"/>
</div>
</el-form-item>
</el-col>
<el-col :span="4" :offset="1">
<el-form-item label="机器成本:" prop="adjustMachineCost">
<div class="right">
<el-input v-model="quotationDetailData.adjustMachineCost" @change="computeCost" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))" type="number"/>
<el-input class="inlineNumber" @input="value=>quotationCostReg(value,1)" v-model="quotationDetailData.adjustMachineCost" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))" type="number"/>
</div>
</el-form-item>
</el-col>
<el-col :span="4" :offset="1">
<el-form-item label="制造费用成本:" prop="adjustFabricateCost">
<div class="right">
<el-input v-model="quotationDetailData.adjustFabricateCost" @change="computeCost" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))" type="number"/>
<el-input class="inlineNumber" @input="value=>quotationCostReg(value,2)" v-model="quotationDetailData.adjustFabricateCost" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))" type="number"/>
</div>
</el-form-item>
</el-col>
<el-col :span="4" :offset="1">
<el-form-item label="人工成本:" prop="adjustLabourCost">
<div class="right">
<el-input v-model="quotationDetailData.adjustLabourCost" @change="computeCost" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))" type="number"/>
<el-input class="inlineNumber" @input="value=>quotationCostReg(value,3)" v-model="quotationDetailData.adjustLabourCost" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))" type="number"/>
</div>
</el-form-item>
</el-col>
<el-col :span="4" :offset="1">
<el-form-item label="工具成本:" prop="adjustToolCost">
<div class="right">
<el-input v-model="quotationDetailData.adjustToolCost" @change="computeCost" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))" type="number"/>
<el-input class="inlineNumber" @input="value=>quotationCostReg(value,4)" v-model="quotationDetailData.adjustToolCost" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))" type="number"/>
</div>
</el-form-item>
</el-col>
@ -493,21 +492,21 @@
<el-col :span="4">
<el-form-item label="管理成本:" prop="detailManageCost">
<div class="right">
<el-input v-model="quotationDetailData.detailManageCost" @change="computeCost" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))" type="number"/>
<el-input class="inlineNumber" @input="value=>quotationCostReg(value,5)" v-model="quotationDetailData.detailManageCost" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))" type="number"/>
</div>
</el-form-item>
</el-col>
<el-col :span="4" :offset="1">
<el-form-item label="其他成本:" prop="detailOtherCost">
<div class="right">
<el-input v-model="quotationDetailData.detailOtherCost" @change="computeCost" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))" type="number"/>
<el-input class="inlineNumber" @input="value=>quotationCostReg(value,6)" v-model="quotationDetailData.detailOtherCost" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))" type="number"/>
</div>
</el-form-item>
</el-col>
<el-col :span="4" :offset="1">
<el-form-item label="总成本:" prop="detailTotalCost">
<div class="right">
<el-input v-model="quotationDetailData.detailTotalCost" type="number" disabled/>
<el-input class="inlineNumber" v-model="quotationDetailData.detailTotalCost" type="number" disabled/>
</div>
</el-form-item>
</el-col>
@ -523,14 +522,14 @@
<el-col :span="4">
<el-form-item label="利润率%:" prop="detailProfitRate">
<div class="right">
<el-input v-model="quotationDetailData.detailProfitRate" @change="computeCost" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))" type="number"/>
<el-input class="inlineNumber" @input="value=>quotationCostReg(value,7)" v-model="quotationDetailData.detailProfitRate" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))" type="number"/>
</div>
</el-form-item>
</el-col>
<el-col :span="4" :offset="1">
<el-form-item label="利润额:" prop="detailProfitAmount">
<div class="right">
<el-input v-model="quotationDetailData.detailProfitAmount" type="number" disabled/>
<el-input class="inlineNumber" v-model="quotationDetailData.detailProfitAmount" type="number" disabled/>
</div>
</el-form-item>
</el-col>
@ -546,35 +545,35 @@
<el-col :span="4">
<el-form-item label="未税总额:" prop="systemComputeAmount">
<div class="right">
<el-input v-model="quotationDetailData.systemComputeAmount" type="number" disabled/>
<el-input class="inlineNumber" v-model="quotationDetailData.systemComputeAmount" type="number" disabled/>
</div>
</el-form-item>
</el-col>
<el-col :span="4" :offset="1">
<el-form-item label="未税单价:" prop="finalUntaxedPrice">
<div class="right">
<el-input v-model="quotationDetailData.finalUntaxedPrice" type="number" disabled/>
<el-input class="inlineNumber" v-model="quotationDetailData.finalUntaxedPrice" type="number" disabled/>
</div>
</el-form-item>
</el-col>
<el-col :span="4" :offset="1">
<el-form-item label="税率%:" prop="taxRate">
<div class="right">
<el-input v-model="quotationDetailData.taxRate" @change="computeCost" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))" type="number"/>
<el-input class="inlineNumber" @input="value=>quotationCostReg(value,8)" v-model="quotationDetailData.taxRate" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))" type="number"/>
</div>
</el-form-item>
</el-col>
<el-col :span="4" :offset="1">
<el-form-item label="含税总额:" prop="systemComputePrice">
<div class="right">
<el-input v-model="quotationDetailData.systemComputePrice" type="number" disabled/>
<el-input class="inlineNumber" v-model="quotationDetailData.systemComputePrice" type="number" disabled/>
</div>
</el-form-item>
</el-col>
<el-col :span="4" :offset="1">
<el-form-item label="含税单价:" prop="finalTaxedPrice">
<div class="right">
<el-input v-model="quotationDetailData.finalTaxedPrice" type="number" disabled/>
<el-input class="inlineNumber" v-model="quotationDetailData.finalTaxedPrice" type="number" disabled/>
</div>
</el-form-item>
</el-col>
@ -611,14 +610,14 @@
<el-col :span="8">
<el-form-item label="工具数量" prop="toolQuantity">
<div class="right">
<el-input @input="computeToolQuotationUnitCost(quotationTool)" v-model="quotationTool.toolQuantity" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))" type="number"/>
<el-input class="inlineNumber" @input="computeToolQuotationUnitCost(quotationTool)" v-model="quotationTool.toolQuantity" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))" type="number"/>
</div>
</el-form-item>
</el-col>
<el-col :span="12" :offset="2">
<el-form-item label="预计使用寿命" prop="expectedServiceLife">
<div class="right">
<el-input @input="computeToolQuotationUnitCost(quotationTool)" v-model="quotationTool.expectedServiceLife" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))" type="number"/>
<el-input class="inlineNumber" @input="computeToolQuotationUnitCost(quotationTool)" v-model="quotationTool.expectedServiceLife" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))" type="number"/>
</div>
</el-form-item>
</el-col>
@ -627,14 +626,14 @@
<el-col :span="8">
<el-form-item label="单位成本" prop="unitCost">
<div class="right">
<el-input @input="computeToolQuotationUnitCost(quotationTool)" v-model="quotationTool.unitCost" :disabled="quotationTool.toolNo !== '*'" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))" type="number"/>
<el-input class="inlineNumber" @input="computeToolQuotationUnitCost(quotationTool)" v-model="quotationTool.unitCost" :disabled="quotationTool.toolNo !== '*'" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))" type="number"/>
</div>
</el-form-item>
</el-col>
<el-col :span="12" :offset="2">
<el-form-item label="单位报价成本" prop="unitCost">
<div class="right">
<el-input v-model="quotationTool.quotationUnitCost" disabled onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))" type="number"/>
<el-input class="inlineNumber" v-model="quotationTool.quotationUnitCost" disabled onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))" type="number"/>
</div>
</el-form-item>
</el-col>
@ -785,7 +784,7 @@
<el-col :span="12" :offset="2" >
<el-form-item label="效率%" prop="routingEfficiency">
<div class="right">
<el-input v-model="quotationRouting.routingEfficiency" min="0" max="100" @input="value=>inputRule(value,2)" type="number" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))"/>
<el-input v-model="quotationRouting.routingEfficiency" min="0" @input="value=>inputRule(value,2)" type="number" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))"/>
</div>
</el-form-item>
</el-col>
@ -878,35 +877,35 @@
<el-col :span="12" :offset="2">
<el-form-item label="单位用量" prop="unitDosage">
<div class="right">
<el-input @input="computePartQuotationUnitCost(quotationPart)" v-model="quotationPart.unitDosage" type="number" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))"/>
<el-input class="inlineNumber" @input="value=>quotationPartReg(value,0)" v-model="quotationPart.unitDosage" type="number" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))"/>
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="损耗率%" prop="attritionRate">
<div class="right">
<el-input v-model="quotationPart.attritionRate" type="number" @input="value=>inputRule(value,1)" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))"/>
<el-input class="inlineNumber" v-model="quotationPart.attritionRate" type="number" @input="value=>quotationPartReg(value,1)" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))"/>
</div>
</el-form-item>
</el-col>
<el-col :span="12" :offset="2">
<el-form-item label="调机用量" prop="transferAmount">
<div class="right">
<el-input @input="computePartQuotationUnitCost(quotationPart)" v-model="quotationPart.transferAmount" type="number" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))"/>
<el-input class="inlineNumber" @input="value=>quotationPartReg(value,2)" v-model="quotationPart.transferAmount" type="number" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))"/>
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="单位成本" prop="unitCost">
<div class="right">
<el-input @input="computePartQuotationUnitCost(quotationPart)" :disabled="quotationPart.quotationPartNo !== '*'" v-model="quotationPart.unitCost" type="number" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))"/>
<el-input class="inlineNumber" @input="value=>quotationPartReg(value,3)" :disabled="quotationPart.quotationPartNo !== '*'" v-model="quotationPart.unitCost" type="number" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))"/>
</div>
</el-form-item>
</el-col>
<el-col :span="12" :offset="2">
<el-form-item label="单位报价成本">
<div class="right">
<el-input disabled v-model="quotationPart.quotationUnitCost" type="number" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))"/>
<el-input class="inlineNumber" disabled v-model="quotationPart.quotationUnitCost" type="number" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))"/>
</div>
</el-form-item>
</el-col>
@ -1334,6 +1333,11 @@
<!-- <el-button type="primary" @click="propertiesItemDialogFlag = false">关闭</el-button>-->
</el-footer>
</el-dialog>
<!--选择成品属性模板-->
<!-- <el-dialog title="属性模板">-->
<!-- </el-dialog>-->
</div>
</template>
<script>
@ -2061,8 +2065,8 @@ export default {
{required: true, pattern: /^[0-9]+(.[0-9]{1,2})?$/, message: ' ', trigger: 'blur'},
],
unitCost:[
{required: true, pattern: /^[0-9]+(.[0-9]{1,2})?$/, message: ' ', trigger: 'change'},
{required: true, pattern: /^[0-9]+(.[0-9]{1,2})?$/, message: ' ', trigger: 'blur'},
{required: true, pattern: /^([1-9]\d*(\.\d*[1-9][0-9])?)|(0\.\d*[1-9][0-9])|(0\.\d*[1-9])$/, message: ' ', trigger: 'change'},
{required: true, pattern: /^([1-9]\d*(\.\d*[1-9][0-9])?)|(0\.\d*[1-9][0-9])|(0\.\d*[1-9])$/, message: ' ', trigger: 'blur'},
],
},
quotationProductRule:{
@ -3587,8 +3591,8 @@ export default {
if (!row.toolQuantity || row.toolQuantity <= 0){
this.quotationTool.toolQuantity = 1;
}
if (!row.unitCost || row.unitCost <= 0){
this.quotationTool.unitCost = 1;
if (!row.unitCost || row.unitCost < 0){
this.quotationTool.unitCost = 0;
}
if (!row.expectedServiceLife || !row.toolQuantity || !row.unitCost){
row.quotationUnitCost = 0;
@ -3776,7 +3780,11 @@ export default {
if (value < 0){
this.setInputValue(0,type);
}else if (value > 100){
this.setInputValue(100,type);
if (type !== 2){
this.setInputValue(100,type);
}else {
this.setInputValue(value,type);
}
}else {
let testValue = new Decimal(value).toFixed(2,Decimal.ROUND_FLOOR);
testValue = new Decimal(testValue).toSignificantDigits().toNumber();
@ -3796,14 +3804,14 @@ export default {
break
}
},
inputNumberWithReg(value,type){
if (value === undefined || value === null || value === ''){
value = 1;
quotationReg(value,type){
if (!value || value < 0){
this.quotationValue(1,type)
return
}
if (value <= 0){
value = 1;
}
this.quotationValue(value,type)
},
quotationValue(value,type){
switch (type){
case 0:
this.insertQuotationDetail.quotationDetailQuantity = value;
@ -3811,10 +3819,77 @@ export default {
}
},
changeRegValue(value){
if (value < 0){
if (!value || value < 0){
this.quotationRouting.itemNo = 0
}
},
quotationPartReg(value,type){
if (!value || value < 0){
this.quotationPartValue(0,type)
return
}
this.quotationPartValue(value,type)
},
quotationPartValue(value,type){
switch (type){
case 0:
this.quotationPart.unitDosage = value;
break
case 1:
if (value > 100){
this.quotationPart.attritionRate = 100;
}else {
this.quotationPart.attritionRate = value;
}
break
case 2:
this.quotationPart.transferAmount = value;
break
case 3:
this.quotationPart.unitCost = value;
break
}
this.computePartQuotationUnitCost(this.quotationPart)
},
quotationCostReg(value,type){
if (!value || value < 0){
this.quotationCostValue(0,type);
return
}
this.quotationCostValue(value,type);
},
quotationCostValue(value,type){
switch (type){
case 0:
this.quotationDetailData.adjustPartCost = value;
break;
case 1:
this.quotationDetailData.adjustMachineCost = value;
break;
case 2:
this.quotationDetailData.adjustFabricateCost = value;
break;
case 3:
this.quotationDetailData.adjustLabourCost = value;
break;
case 4:
this.quotationDetailData.adjustToolCost = value;
break;
case 5:
this.quotationDetailData.detailManageCost = value;
break;
case 6:
this.quotationDetailData.detailOtherCost = value;
break;
case 7:
this.quotationDetailData.detailProfitRate = value;
break;
case 8:
this.quotationDetailData.taxRate = value;
break;
}
this.computeCost();
},
},
created() {
// zi
@ -3848,4 +3923,14 @@ export default {
.right /deep/ .el-input__inner{
text-align: right;
}
/deep/ .inlineNumber input::-webkit-outer-spin-button,
/deep/ .inlineNumber input::-webkit-inner-spin-button {
-webkit-appearance: none;
}
/deep/ .inlineNumber input[type="number"]{
-moz-appearance: textfield;
padding-right: 5px !important;
}
</style>

2
src/views/modules/quotation/toBeQuoted.vue

@ -479,7 +479,7 @@ export default {
this.searchData.page = this.pageIndex
let params = JSON.parse(JSON.stringify(this.searchData))
if (!this.defaultFlag){
params.quotationNo = this.quotationNo;
params.quotationNo = this.quotationNo === ""?"*":this.quotationNo;
}
this.dataListLoading = true;
quotationInformationSearch(params).then(({data}) => {

Loading…
Cancel
Save