|
|
@ -167,7 +167,7 @@ |
|
|
</el-form> |
|
|
</el-form> |
|
|
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;"> |
|
|
<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-form-item prop="partName" :rules="rules.partName"> |
|
|
<span slot="label" @click="getProjectPartList()"><a>产品</a></span> |
|
|
|
|
|
|
|
|
<span slot="label" @click="getProjectPartList()"><a>项目物料</a></span> |
|
|
<el-input v-model="modalData.partName" readonly @focus="getProjectPartList()" style="width: 221px"></el-input> |
|
|
<el-input v-model="modalData.partName" readonly @focus="getProjectPartList()" style="width: 221px"></el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item label="优先等级" prop="priorityLevel" :rules="rules.priorityLevel"> |
|
|
<el-form-item label="优先等级" prop="priorityLevel" :rules="rules.priorityLevel"> |
|
|
@ -231,7 +231,7 @@ |
|
|
</el-form> |
|
|
</el-form> |
|
|
<el-table |
|
|
<el-table |
|
|
:height="200" |
|
|
:height="200" |
|
|
:data="enterResultData.fileContentList" |
|
|
|
|
|
|
|
|
:data="fileContentList" |
|
|
border |
|
|
border |
|
|
v-loading="dataListLoading" |
|
|
v-loading="dataListLoading" |
|
|
style="width: 100%"> |
|
|
style="width: 100%"> |
|
|
@ -403,7 +403,7 @@ |
|
|
</el-form> |
|
|
</el-form> |
|
|
</el-tab-pane> |
|
|
</el-tab-pane> |
|
|
<!-- 报价结果页签 --> |
|
|
<!-- 报价结果页签 --> |
|
|
<el-tab-pane label="报价结果" name="quotation_result" style=""> |
|
|
|
|
|
|
|
|
<el-tab-pane label="报价结果" name="quotation_result"> |
|
|
<el-form :inline="true" label-position="top" :model="quotationResultData" style="margin-left: 10px;margin-top: 5px;"> |
|
|
<el-form :inline="true" label-position="top" :model="quotationResultData" style="margin-left: 10px;margin-top: 5px;"> |
|
|
<el-button v-if="quotationResultData.quotationResultStatus === 'C'" type="primary" @click="quotationResultModal()">录入报价结果</el-button> |
|
|
<el-button v-if="quotationResultData.quotationResultStatus === 'C'" type="primary" @click="quotationResultModal()">录入报价结果</el-button> |
|
|
<el-button v-if="quotationResultData.quotationResultStatus === 'E'" type="primary" @click="submitQuotationModal()">提交客户报价</el-button> |
|
|
<el-button v-if="quotationResultData.quotationResultStatus === 'E'" type="primary" @click="submitQuotationModal()">提交客户报价</el-button> |
|
|
@ -611,13 +611,172 @@ |
|
|
</el-row> |
|
|
</el-row> |
|
|
</el-form> |
|
|
</el-form> |
|
|
</el-tab-pane> |
|
|
</el-tab-pane> |
|
|
|
|
|
<!-- 客户信息页签 --> |
|
|
|
|
|
<el-tab-pane label="客户信息" name="customer_information"> |
|
|
|
|
|
<el-form label-position="top" :model="customerInformationData" style="margin-left: 10px;margin-top: 5px;margin-right: 10px"> |
|
|
|
|
|
<el-row :gutter="20"> |
|
|
|
|
|
<el-col :span="8"> |
|
|
|
|
|
<div class="grid-content bg-purple"> |
|
|
|
|
|
<el-form-item label="客户代码"> |
|
|
|
|
|
<el-input v-model="customerInformationData.customerNo" readonly></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</div> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
<el-col :span="8"> |
|
|
|
|
|
<div class="grid-content bg-purple"> |
|
|
|
|
|
<el-form-item label="客户名称"> |
|
|
|
|
|
<el-input v-model="customerInformationData.customerDesc" readonly></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</div> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
<el-col :span="8"> |
|
|
|
|
|
<div class="grid-content bg-purple"> |
|
|
|
|
|
<el-form-item label="关键客户"> |
|
|
|
|
|
<el-input v-model="customerInformationData.importantCustomer" readonly></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</div> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
<el-row :gutter="20"> |
|
|
|
|
|
<el-col :span="8"> |
|
|
|
|
|
<div class="grid-content bg-purple"> |
|
|
|
|
|
<el-form-item label="客户币种"> |
|
|
|
|
|
<el-input v-model="customerInformationData.customerCurrency" readonly></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</div> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
<el-col :span="8"> |
|
|
|
|
|
<div class="grid-content bg-purple"> |
|
|
|
|
|
<el-form-item label="年营业额"> |
|
|
|
|
|
<el-input v-model="customerInformationData.turnoverOfYear" readonly></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</div> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
<el-col :span="8"> |
|
|
|
|
|
<div class="grid-content bg-purple"> |
|
|
|
|
|
<el-form-item label="年潜在收入"> |
|
|
|
|
|
<el-input v-model="customerInformationData.potentialRevenueOfYear" readonly></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</div> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
<el-row :gutter="20"> |
|
|
|
|
|
<el-col :span="8"> |
|
|
|
|
|
<div class="grid-content bg-purple"> |
|
|
|
|
|
<el-form-item label="客户状态"> |
|
|
|
|
|
<el-input v-model="customerInformationData.customerStatus" readonly></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</div> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
<el-col :span="8"> |
|
|
|
|
|
<div class="grid-content bg-purple"> |
|
|
|
|
|
<el-form-item label="行业"> |
|
|
|
|
|
<el-input v-model="customerInformationData.customerIndustry" readonly></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</div> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
<el-col :span="8"> |
|
|
|
|
|
<div class="grid-content bg-purple"> |
|
|
|
|
|
<el-form-item label="公司名称"> |
|
|
|
|
|
<el-input v-model="customerInformationData.companyName" readonly></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</div> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
<el-row :gutter="20"> |
|
|
|
|
|
<el-col :span="8"> |
|
|
|
|
|
<div class="grid-content bg-purple"> |
|
|
|
|
|
<el-form-item label="客户联系人"> |
|
|
|
|
|
<el-input v-model="customerInformationData.contactName" readonly></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</div> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
<el-col :span="8"> |
|
|
|
|
|
<div class="grid-content bg-purple"> |
|
|
|
|
|
<el-form-item label="联系人电话"> |
|
|
|
|
|
<el-input v-model="customerInformationData.contactPhoneNumber1" readonly></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</div> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
<el-col :span="8"> |
|
|
|
|
|
<div class="grid-content bg-purple"> |
|
|
|
|
|
<el-form-item label="联系人职务"> |
|
|
|
|
|
<el-input v-model="customerInformationData.position" readonly></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</div> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
<el-row :gutter="20"> |
|
|
|
|
|
<el-col :span="12"> |
|
|
|
|
|
<div class="grid-content bg-purple"> |
|
|
|
|
|
<el-form-item label="岗位描述"> |
|
|
|
|
|
<el-input v-model="customerInformationData.jobDescription" readonly></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</div> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
<el-col :span="12"> |
|
|
|
|
|
<div class="grid-content bg-purple"> |
|
|
|
|
|
<el-form-item label="备注信息"> |
|
|
|
|
|
<el-input v-model="customerInformationData.remark" readonly></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</div> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
<el-row :gutter="20"> |
|
|
|
|
|
<el-col :span="12"> |
|
|
|
|
|
<div class="grid-content bg-purple"> |
|
|
|
|
|
<el-form-item label="客户联系地址"> |
|
|
|
|
|
<el-input v-model="customerInformationData.addressName" readonly></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</div> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
<el-col :span="12"> |
|
|
|
|
|
<div class="grid-content bg-purple"> |
|
|
|
|
|
<el-form-item label="地址类型"> |
|
|
|
|
|
<el-input v-model="customerInformationData.addressType" readonly></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</div> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
<el-row :gutter="20"> |
|
|
|
|
|
<el-col :span="6"> |
|
|
|
|
|
<div class="grid-content bg-purple"> |
|
|
|
|
|
<el-form-item label="创建时间"> |
|
|
|
|
|
<el-input v-model="customerInformationData.createDate" readonly></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</div> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
<el-col :span="6"> |
|
|
|
|
|
<div class="grid-content bg-purple"> |
|
|
|
|
|
<el-form-item label="创建人"> |
|
|
|
|
|
<el-input v-model="customerInformationData.createBy" readonly></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</div> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
<el-col :span="6"> |
|
|
|
|
|
<div class="grid-content bg-purple"> |
|
|
|
|
|
<el-form-item label="更新时间"> |
|
|
|
|
|
<el-input v-model="customerInformationData.updateDate" readonly></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</div> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
<el-col :span="6"> |
|
|
|
|
|
<div class="grid-content bg-purple"> |
|
|
|
|
|
<el-form-item label="更新人"> |
|
|
|
|
|
<el-input v-model="customerInformationData.updateBy" readonly></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</div> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
</el-form> |
|
|
|
|
|
</el-tab-pane> |
|
|
</el-tabs> |
|
|
</el-tabs> |
|
|
|
|
|
|
|
|
<!-- chooseList模态框 --> |
|
|
<!-- chooseList模态框 --> |
|
|
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist> |
|
|
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist> |
|
|
|
|
|
|
|
|
<!-- 上传文件的modal --> |
|
|
<!-- 上传文件的modal --> |
|
|
<quotationUploadFile ref="quotationUploadFile" @refreshPageTables="getFileContentList()" v-drag></quotationUploadFile> |
|
|
|
|
|
|
|
|
<quotationUploadFile ref="quotationUploadFile" @refreshPageTables="getFileContentData()" v-drag></quotationUploadFile> |
|
|
</div> |
|
|
</div> |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
|
@ -636,7 +795,8 @@ |
|
|
saveCustomerResponse, // 保存客户回复 |
|
|
saveCustomerResponse, // 保存客户回复 |
|
|
getProjectPartList, // 获取产品列表 |
|
|
getProjectPartList, // 获取产品列表 |
|
|
checkQuotationStatus, // 检查报价进度 |
|
|
checkQuotationStatus, // 检查报价进度 |
|
|
getProjectInformation // 获取项目信息 |
|
|
|
|
|
|
|
|
getProjectInformation, // 获取项目信息 |
|
|
|
|
|
getCustomerInformation // 获取客户信息 |
|
|
} from '@/api/quotation/quotationInformation.js' |
|
|
} from '@/api/quotation/quotationInformation.js' |
|
|
import Chooselist from '@/views/modules/common/Chooselist' |
|
|
import Chooselist from '@/views/modules/common/Chooselist' |
|
|
import quotationUploadFile from "./quotation_upload_file" |
|
|
import quotationUploadFile from "./quotation_upload_file" |
|
|
@ -802,6 +962,28 @@ |
|
|
userRoleName: '', |
|
|
userRoleName: '', |
|
|
remark: '' |
|
|
remark: '' |
|
|
}, |
|
|
}, |
|
|
|
|
|
customerInformationData: { |
|
|
|
|
|
customerNo: '', |
|
|
|
|
|
customerDesc: '', |
|
|
|
|
|
importantCustomer: '', |
|
|
|
|
|
customerCurrency: '', |
|
|
|
|
|
turnoverOfYear: '', |
|
|
|
|
|
potentialRevenueOfYear: '', |
|
|
|
|
|
customerStatus: '', |
|
|
|
|
|
customerIndustry: '', |
|
|
|
|
|
companyName: '', |
|
|
|
|
|
jobDescription: '', |
|
|
|
|
|
remark: '', |
|
|
|
|
|
contactName: '', |
|
|
|
|
|
contactPhoneNumber1: '', |
|
|
|
|
|
position: '', |
|
|
|
|
|
addressName: '', |
|
|
|
|
|
addressType: '', |
|
|
|
|
|
createDate: '', |
|
|
|
|
|
createBy: '', |
|
|
|
|
|
updateDate: '', |
|
|
|
|
|
updateBy: '' |
|
|
|
|
|
}, |
|
|
// ======== 数据列表 ======== |
|
|
// ======== 数据列表 ======== |
|
|
dataList: [], |
|
|
dataList: [], |
|
|
fileContentList: [], |
|
|
fileContentList: [], |
|
|
@ -943,7 +1125,25 @@ |
|
|
columnProp: 'testPartNo', |
|
|
columnProp: 'testPartNo', |
|
|
headerAlign: 'center', |
|
|
headerAlign: 'center', |
|
|
align: 'center', |
|
|
align: 'center', |
|
|
columnLabel: '产品编码', |
|
|
|
|
|
|
|
|
columnLabel: '项目料号', |
|
|
|
|
|
columnHidden: false, |
|
|
|
|
|
columnImage: false, |
|
|
|
|
|
columnSortable: false, |
|
|
|
|
|
sortLv: 0, |
|
|
|
|
|
status: true, |
|
|
|
|
|
fixed: '', |
|
|
|
|
|
columnWidth: 100 |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
userId: this.$store.state.user.name, |
|
|
|
|
|
functionId: 102001, |
|
|
|
|
|
serialNumber: '102001Table1PartName', |
|
|
|
|
|
tableId: '102001Table1', |
|
|
|
|
|
tableName: '报价信息表', |
|
|
|
|
|
columnProp: 'partName', |
|
|
|
|
|
headerAlign: 'center', |
|
|
|
|
|
align: 'center', |
|
|
|
|
|
columnLabel: '物料名称', |
|
|
columnHidden: false, |
|
|
columnHidden: false, |
|
|
columnImage: false, |
|
|
columnImage: false, |
|
|
columnSortable: false, |
|
|
columnSortable: false, |
|
|
@ -1494,6 +1694,8 @@ |
|
|
this.getQuotationResult() |
|
|
this.getQuotationResult() |
|
|
} else if (this.activeTable === 'project_information') { |
|
|
} else if (this.activeTable === 'project_information') { |
|
|
this.getProjectInformation() |
|
|
this.getProjectInformation() |
|
|
|
|
|
} else if (this.activeTable === 'customer_information') { |
|
|
|
|
|
this.getCustomerInformation() |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
@ -1558,6 +1760,23 @@ |
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
}, |
|
|
}, |
|
|
|
|
|
/** |
|
|
|
|
|
* 获取客户信息 |
|
|
|
|
|
*/ |
|
|
|
|
|
getCustomerInformation () { |
|
|
|
|
|
let tempData = { |
|
|
|
|
|
site: this.$store.state.user.site, |
|
|
|
|
|
customerNo: this.quotationCurrentRow.customerNo |
|
|
|
|
|
} |
|
|
|
|
|
// 报价结果对象 |
|
|
|
|
|
getCustomerInformation(tempData).then(({data}) => { |
|
|
|
|
|
if (data && data.code === 0) { |
|
|
|
|
|
this.customerInformationData = data.rows[0] |
|
|
|
|
|
} else { |
|
|
|
|
|
this.customerInformationData = {} |
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
// ======== 新增/编辑模态框 ======== |
|
|
// ======== 新增/编辑模态框 ======== |
|
|
/** |
|
|
/** |
|
|
@ -1851,45 +2070,47 @@ |
|
|
updateBy: this.$store.state.user.name |
|
|
updateBy: this.$store.state.user.name |
|
|
} |
|
|
} |
|
|
// 获得选中的报价号 |
|
|
// 获得选中的报价号 |
|
|
if (this.quotationSelections.length > 0) { |
|
|
|
|
|
this.quotationSelections.forEach(val => { |
|
|
|
|
|
this.enterResultData.quotationNo += ';' + val.quotationNo |
|
|
|
|
|
}) |
|
|
|
|
|
this.enterResultData.quotationNo = this.enterResultData.quotationNo.substring(1) |
|
|
|
|
|
} else { |
|
|
|
|
|
this.enterResultData.quotationNo = this.quotationCurrentRow.quotationNo |
|
|
|
|
|
} |
|
|
|
|
|
// 获得这些报价号的全部附件 |
|
|
|
|
|
this.getFileContentList() |
|
|
|
|
|
|
|
|
// if (this.quotationSelections.length > 0) { |
|
|
|
|
|
// this.quotationSelections.forEach(val => { |
|
|
|
|
|
// this.enterResultData.quotationNo += ';' + val.quotationNo |
|
|
|
|
|
// }) |
|
|
|
|
|
// this.enterResultData.quotationNo = this.enterResultData.quotationNo.substring(1) |
|
|
|
|
|
// } else { |
|
|
|
|
|
// this.enterResultData.quotationNo = this.quotationCurrentRow.quotationNo |
|
|
|
|
|
// } |
|
|
|
|
|
this.enterResultData.quotationNo = this.quotationCurrentRow.quotationNo |
|
|
|
|
|
// // 获得这些报价号的全部附件 |
|
|
|
|
|
// this.getFileContentList() |
|
|
this.enterResultModalFlag = true |
|
|
this.enterResultModalFlag = true |
|
|
}, |
|
|
}, |
|
|
/** |
|
|
/** |
|
|
* 录入报价结果 |
|
|
* 录入报价结果 |
|
|
*/ |
|
|
*/ |
|
|
quotationResultModal () { |
|
|
quotationResultModal () { |
|
|
// 如果有选中报价单 |
|
|
|
|
|
if (this.quotationSelections != null && this.quotationSelections.length > 0) { |
|
|
|
|
|
let tempData = { |
|
|
|
|
|
currentStatus: 'C', |
|
|
|
|
|
informationList: this.quotationSelections, |
|
|
|
|
|
} |
|
|
|
|
|
// 检查报价单状态 |
|
|
|
|
|
checkQuotationStatus(tempData).then(({data}) => { |
|
|
|
|
|
if (data && data.code === 0) { |
|
|
|
|
|
if (data.flag === 1) { // 状态一致 |
|
|
|
|
|
this.packQuotationResultModal() |
|
|
|
|
|
} else { // 状态不同 |
|
|
|
|
|
this.$message.warning('选中的报价单进度有误,请确认!') |
|
|
|
|
|
} |
|
|
|
|
|
} else { |
|
|
|
|
|
this.$alert(data.msg, '错误', { |
|
|
|
|
|
confirmButtonText: '确定' |
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
|
|
|
} else { // 没有选中报价单,则根据当前点击行报价单操作 |
|
|
|
|
|
this.packQuotationResultModal() |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// // 如果有选中报价单 |
|
|
|
|
|
// if (this.quotationSelections != null && this.quotationSelections.length > 0) { |
|
|
|
|
|
// let tempData = { |
|
|
|
|
|
// currentStatus: 'C', |
|
|
|
|
|
// informationList: this.quotationSelections, |
|
|
|
|
|
// } |
|
|
|
|
|
// // 检查报价单状态 |
|
|
|
|
|
// checkQuotationStatus(tempData).then(({data}) => { |
|
|
|
|
|
// if (data && data.code === 0) { |
|
|
|
|
|
// if (data.flag === 1) { // 状态一致 |
|
|
|
|
|
// this.packQuotationResultModal() |
|
|
|
|
|
// } else { // 状态不同 |
|
|
|
|
|
// this.$message.warning('选中的报价单进度有误,请确认!') |
|
|
|
|
|
// } |
|
|
|
|
|
// } else { |
|
|
|
|
|
// this.$alert(data.msg, '错误', { |
|
|
|
|
|
// confirmButtonText: '确定' |
|
|
|
|
|
// }) |
|
|
|
|
|
// } |
|
|
|
|
|
// }) |
|
|
|
|
|
// } else { // 没有选中报价单,则根据当前点击行报价单操作 |
|
|
|
|
|
// this.packQuotationResultModal() |
|
|
|
|
|
// } |
|
|
|
|
|
this.packQuotationResultModal() |
|
|
}, |
|
|
}, |
|
|
/** |
|
|
/** |
|
|
* 保存报价结果 |
|
|
* 保存报价结果 |
|
|
@ -1903,32 +2124,32 @@ |
|
|
this.$message.warning('请填写报价结果信息!') |
|
|
this.$message.warning('请填写报价结果信息!') |
|
|
return |
|
|
return |
|
|
} |
|
|
} |
|
|
if (this.quotationSelections.length > 1) { |
|
|
|
|
|
this.$confirm(`是否录入多条报价结果?`, '提示', { |
|
|
|
|
|
confirmButtonText: '确定', |
|
|
|
|
|
cancelButtonText: '取消', |
|
|
|
|
|
type: 'warning' |
|
|
|
|
|
}).then(() => { |
|
|
|
|
|
saveQuotationResult(this.enterResultData).then(({data}) => { |
|
|
|
|
|
if (data && data.code === 0) { |
|
|
|
|
|
this.getDataList() |
|
|
|
|
|
this.enterResultModalFlag = false |
|
|
|
|
|
this.$message({ |
|
|
|
|
|
message: '操作成功', |
|
|
|
|
|
type: 'success', |
|
|
|
|
|
duration: 1500, |
|
|
|
|
|
onClose: () => { |
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
|
|
|
} else { |
|
|
|
|
|
this.$alert(data.msg, '错误', { |
|
|
|
|
|
confirmButtonText: '确定' |
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
|
|
|
}).catch(() => { |
|
|
|
|
|
}) |
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
|
// if (this.quotationSelections.length > 1) { |
|
|
|
|
|
// this.$confirm(`是否录入多条报价结果?`, '提示', { |
|
|
|
|
|
// confirmButtonText: '确定', |
|
|
|
|
|
// cancelButtonText: '取消', |
|
|
|
|
|
// type: 'warning' |
|
|
|
|
|
// }).then(() => { |
|
|
|
|
|
// saveQuotationResult(this.enterResultData).then(({data}) => { |
|
|
|
|
|
// if (data && data.code === 0) { |
|
|
|
|
|
// this.getDataList() |
|
|
|
|
|
// this.enterResultModalFlag = false |
|
|
|
|
|
// this.$message({ |
|
|
|
|
|
// message: '操作成功', |
|
|
|
|
|
// type: 'success', |
|
|
|
|
|
// duration: 1500, |
|
|
|
|
|
// onClose: () => { |
|
|
|
|
|
// } |
|
|
|
|
|
// }) |
|
|
|
|
|
// } else { |
|
|
|
|
|
// this.$alert(data.msg, '错误', { |
|
|
|
|
|
// confirmButtonText: '确定' |
|
|
|
|
|
// }) |
|
|
|
|
|
// } |
|
|
|
|
|
// }) |
|
|
|
|
|
// }).catch(() => { |
|
|
|
|
|
// }) |
|
|
|
|
|
// } else { |
|
|
saveQuotationResult(this.enterResultData).then(({data}) => { |
|
|
saveQuotationResult(this.enterResultData).then(({data}) => { |
|
|
if (data && data.code === 0) { |
|
|
if (data && data.code === 0) { |
|
|
this.getDataList() |
|
|
this.getDataList() |
|
|
@ -1937,8 +2158,7 @@ |
|
|
message: '操作成功', |
|
|
message: '操作成功', |
|
|
type: 'success', |
|
|
type: 'success', |
|
|
duration: 1500, |
|
|
duration: 1500, |
|
|
onClose: () => { |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
onClose: () => {} |
|
|
}) |
|
|
}) |
|
|
} else { |
|
|
} else { |
|
|
this.$alert(data.msg, '错误', { |
|
|
this.$alert(data.msg, '错误', { |
|
|
@ -1946,7 +2166,7 @@ |
|
|
}) |
|
|
}) |
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
} |
|
|
|
|
|
|
|
|
// } |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
@ -1956,49 +2176,52 @@ |
|
|
this.submitResultData = { |
|
|
this.submitResultData = { |
|
|
site: this.$store.state.user.site, |
|
|
site: this.$store.state.user.site, |
|
|
quotationNo: '', |
|
|
quotationNo: '', |
|
|
actualityQuotationDate: '', |
|
|
|
|
|
quotationResultInformation: '', |
|
|
|
|
|
|
|
|
actualitySubmissionDate: '', |
|
|
|
|
|
submissionMethod: '', |
|
|
|
|
|
submissionRemark: '', |
|
|
quotationResultStatus: 'S', |
|
|
quotationResultStatus: 'S', |
|
|
updateBy: this.$store.state.user.name |
|
|
updateBy: this.$store.state.user.name |
|
|
} |
|
|
} |
|
|
// 获得选中的报价号 |
|
|
// 获得选中的报价号 |
|
|
if (this.quotationSelections.length > 0) { |
|
|
|
|
|
this.quotationSelections.forEach(val => { |
|
|
|
|
|
this.submitResultData.quotationNo += ';' + val.quotationNo |
|
|
|
|
|
}) |
|
|
|
|
|
this.submitResultData.quotationNo = this.submitResultData.quotationNo.substring(1) |
|
|
|
|
|
} else { |
|
|
|
|
|
this.submitResultData.quotationNo = this.quotationCurrentRow.quotationNo |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// if (this.quotationSelections.length > 0) { |
|
|
|
|
|
// this.quotationSelections.forEach(val => { |
|
|
|
|
|
// this.submitResultData.quotationNo += ';' + val.quotationNo |
|
|
|
|
|
// }) |
|
|
|
|
|
// this.submitResultData.quotationNo = this.submitResultData.quotationNo.substring(1) |
|
|
|
|
|
// } else { |
|
|
|
|
|
// this.submitResultData.quotationNo = this.quotationCurrentRow.quotationNo |
|
|
|
|
|
// } |
|
|
|
|
|
this.submitResultData.quotationNo = this.quotationCurrentRow.quotationNo |
|
|
this.submitResultModalFlag = true |
|
|
this.submitResultModalFlag = true |
|
|
}, |
|
|
}, |
|
|
/** |
|
|
/** |
|
|
* 提交客户报价 |
|
|
* 提交客户报价 |
|
|
*/ |
|
|
*/ |
|
|
submitQuotationModal () { |
|
|
submitQuotationModal () { |
|
|
// 如果有选中报价单 |
|
|
|
|
|
if (this.quotationSelections != null && this.quotationSelections.length > 0) { |
|
|
|
|
|
let tempData = { |
|
|
|
|
|
currentStatus: 'E', |
|
|
|
|
|
informationList: this.quotationSelections, |
|
|
|
|
|
} |
|
|
|
|
|
// 检查报价单状态 |
|
|
|
|
|
checkQuotationStatus(tempData).then(({data}) => { |
|
|
|
|
|
if (data && data.code === 0) { |
|
|
|
|
|
if (data.flag === 1) { // 状态一致 |
|
|
|
|
|
this.packSubmitQuotationModal() |
|
|
|
|
|
} else { // 状态不同 |
|
|
|
|
|
this.$message.warning('选中的报价单进度有误,请确认!') |
|
|
|
|
|
} |
|
|
|
|
|
} else { |
|
|
|
|
|
this.$alert(data.msg, '错误', { |
|
|
|
|
|
confirmButtonText: '确定' |
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
|
|
|
} else { // 没有选中报价单,则根据当前点击行报价单操作 |
|
|
|
|
|
this.packSubmitQuotationModal() |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// // 如果有选中报价单 |
|
|
|
|
|
// if (this.quotationSelections != null && this.quotationSelections.length > 0) { |
|
|
|
|
|
// let tempData = { |
|
|
|
|
|
// currentStatus: 'E', |
|
|
|
|
|
// informationList: this.quotationSelections, |
|
|
|
|
|
// } |
|
|
|
|
|
// // 检查报价单状态 |
|
|
|
|
|
// checkQuotationStatus(tempData).then(({data}) => { |
|
|
|
|
|
// if (data && data.code === 0) { |
|
|
|
|
|
// if (data.flag === 1) { // 状态一致 |
|
|
|
|
|
// this.packSubmitQuotationModal() |
|
|
|
|
|
// } else { // 状态不同 |
|
|
|
|
|
// this.$message.warning('选中的报价单进度有误,请确认!') |
|
|
|
|
|
// } |
|
|
|
|
|
// } else { |
|
|
|
|
|
// this.$alert(data.msg, '错误', { |
|
|
|
|
|
// confirmButtonText: '确定' |
|
|
|
|
|
// }) |
|
|
|
|
|
// } |
|
|
|
|
|
// }) |
|
|
|
|
|
// } else { // 没有选中报价单,则根据当前点击行报价单操作 |
|
|
|
|
|
// this.packSubmitQuotationModal() |
|
|
|
|
|
// } |
|
|
|
|
|
this.packSubmitQuotationModal() |
|
|
}, |
|
|
}, |
|
|
/** |
|
|
/** |
|
|
* 保存提交结果 |
|
|
* 保存提交结果 |
|
|
@ -2012,32 +2235,32 @@ |
|
|
this.$message.warning('请选择提交方式!') |
|
|
this.$message.warning('请选择提交方式!') |
|
|
return |
|
|
return |
|
|
} |
|
|
} |
|
|
if (this.quotationSelections.length > 1) { |
|
|
|
|
|
this.$confirm(`是否提交多条客户报价?`, '提示', { |
|
|
|
|
|
confirmButtonText: '确定', |
|
|
|
|
|
cancelButtonText: '取消', |
|
|
|
|
|
type: 'warning' |
|
|
|
|
|
}).then(() => { |
|
|
|
|
|
saveSubmitResult(this.submitResultData).then(({data}) => { |
|
|
|
|
|
if (data && data.code === 0) { |
|
|
|
|
|
this.getDataList() |
|
|
|
|
|
this.submitResultModalFlag = false |
|
|
|
|
|
this.$message({ |
|
|
|
|
|
message: '操作成功', |
|
|
|
|
|
type: 'success', |
|
|
|
|
|
duration: 1500, |
|
|
|
|
|
onClose: () => { |
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
|
|
|
} else { |
|
|
|
|
|
this.$alert(data.msg, '错误', { |
|
|
|
|
|
confirmButtonText: '确定' |
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
|
|
|
}).catch(() => { |
|
|
|
|
|
}) |
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
|
// if (this.quotationSelections.length > 1) { |
|
|
|
|
|
// this.$confirm(`是否提交多条客户报价?`, '提示', { |
|
|
|
|
|
// confirmButtonText: '确定', |
|
|
|
|
|
// cancelButtonText: '取消', |
|
|
|
|
|
// type: 'warning' |
|
|
|
|
|
// }).then(() => { |
|
|
|
|
|
// saveSubmitResult(this.submitResultData).then(({data}) => { |
|
|
|
|
|
// if (data && data.code === 0) { |
|
|
|
|
|
// this.getDataList() |
|
|
|
|
|
// this.submitResultModalFlag = false |
|
|
|
|
|
// this.$message({ |
|
|
|
|
|
// message: '操作成功', |
|
|
|
|
|
// type: 'success', |
|
|
|
|
|
// duration: 1500, |
|
|
|
|
|
// onClose: () => { |
|
|
|
|
|
// } |
|
|
|
|
|
// }) |
|
|
|
|
|
// } else { |
|
|
|
|
|
// this.$alert(data.msg, '错误', { |
|
|
|
|
|
// confirmButtonText: '确定' |
|
|
|
|
|
// }) |
|
|
|
|
|
// } |
|
|
|
|
|
// }) |
|
|
|
|
|
// }).catch(() => { |
|
|
|
|
|
// }) |
|
|
|
|
|
// } else { |
|
|
saveSubmitResult(this.submitResultData).then(({data}) => { |
|
|
saveSubmitResult(this.submitResultData).then(({data}) => { |
|
|
if (data && data.code === 0) { |
|
|
if (data && data.code === 0) { |
|
|
this.getDataList() |
|
|
this.getDataList() |
|
|
@ -2046,8 +2269,7 @@ |
|
|
message: '操作成功', |
|
|
message: '操作成功', |
|
|
type: 'success', |
|
|
type: 'success', |
|
|
duration: 1500, |
|
|
duration: 1500, |
|
|
onClose: () => { |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
onClose: () => {} |
|
|
}) |
|
|
}) |
|
|
} else { |
|
|
} else { |
|
|
this.$alert(data.msg, '错误', { |
|
|
this.$alert(data.msg, '错误', { |
|
|
@ -2055,7 +2277,7 @@ |
|
|
}) |
|
|
}) |
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
} |
|
|
|
|
|
|
|
|
// } |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
@ -2073,43 +2295,45 @@ |
|
|
updateBy: this.$store.state.user.name |
|
|
updateBy: this.$store.state.user.name |
|
|
} |
|
|
} |
|
|
// 获得选中的报价号 |
|
|
// 获得选中的报价号 |
|
|
if (this.quotationSelections.length > 0) { |
|
|
|
|
|
this.quotationSelections.forEach(val => { |
|
|
|
|
|
this.customerResponseData.quotationNo += ';' + val.quotationNo |
|
|
|
|
|
}) |
|
|
|
|
|
this.customerResponseData.quotationNo = this.customerResponseData.quotationNo.substring(1) |
|
|
|
|
|
} else { |
|
|
|
|
|
this.customerResponseData.quotationNo = this.quotationCurrentRow.quotationNo |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// if (this.quotationSelections.length > 0) { |
|
|
|
|
|
// this.quotationSelections.forEach(val => { |
|
|
|
|
|
// this.customerResponseData.quotationNo += ';' + val.quotationNo |
|
|
|
|
|
// }) |
|
|
|
|
|
// this.customerResponseData.quotationNo = this.customerResponseData.quotationNo.substring(1) |
|
|
|
|
|
// } else { |
|
|
|
|
|
// this.customerResponseData.quotationNo = this.quotationCurrentRow.quotationNo |
|
|
|
|
|
// } |
|
|
|
|
|
this.customerResponseData.quotationNo = this.quotationCurrentRow.quotationNo |
|
|
this.customerResponseModalFlag = true |
|
|
this.customerResponseModalFlag = true |
|
|
}, |
|
|
}, |
|
|
/** |
|
|
/** |
|
|
* 客户回复 |
|
|
* 客户回复 |
|
|
*/ |
|
|
*/ |
|
|
customerResponseModal () { |
|
|
customerResponseModal () { |
|
|
// 如果有选中报价单 |
|
|
|
|
|
if (this.quotationSelections != null && this.quotationSelections.length > 0) { |
|
|
|
|
|
let tempData = { |
|
|
|
|
|
currentStatus: 'S', |
|
|
|
|
|
informationList: this.quotationSelections, |
|
|
|
|
|
} |
|
|
|
|
|
// 检查报价单状态 |
|
|
|
|
|
checkQuotationStatus(tempData).then(({data}) => { |
|
|
|
|
|
if (data && data.code === 0) { |
|
|
|
|
|
if (data.flag === 1) { // 状态一致 |
|
|
|
|
|
this.packCustomerResponseModal() |
|
|
|
|
|
} else { // 状态不同 |
|
|
|
|
|
this.$message.warning('选中的报价单进度有误,请确认!') |
|
|
|
|
|
} |
|
|
|
|
|
} else { |
|
|
|
|
|
this.$alert(data.msg, '错误', { |
|
|
|
|
|
confirmButtonText: '确定' |
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
|
|
|
} else { // 没有选中报价单,则根据当前点击行报价单操作 |
|
|
|
|
|
this.packCustomerResponseModal() |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// // 如果有选中报价单 |
|
|
|
|
|
// if (this.quotationSelections != null && this.quotationSelections.length > 0) { |
|
|
|
|
|
// let tempData = { |
|
|
|
|
|
// currentStatus: 'S', |
|
|
|
|
|
// informationList: this.quotationSelections, |
|
|
|
|
|
// } |
|
|
|
|
|
// // 检查报价单状态 |
|
|
|
|
|
// checkQuotationStatus(tempData).then(({data}) => { |
|
|
|
|
|
// if (data && data.code === 0) { |
|
|
|
|
|
// if (data.flag === 1) { // 状态一致 |
|
|
|
|
|
// this.packCustomerResponseModal() |
|
|
|
|
|
// } else { // 状态不同 |
|
|
|
|
|
// this.$message.warning('选中的报价单进度有误,请确认!') |
|
|
|
|
|
// } |
|
|
|
|
|
// } else { |
|
|
|
|
|
// this.$alert(data.msg, '错误', { |
|
|
|
|
|
// confirmButtonText: '确定' |
|
|
|
|
|
// }) |
|
|
|
|
|
// } |
|
|
|
|
|
// }) |
|
|
|
|
|
// } else { // 没有选中报价单,则根据当前点击行报价单操作 |
|
|
|
|
|
// this.packCustomerResponseModal() |
|
|
|
|
|
// } |
|
|
|
|
|
this.packCustomerResponseModal() |
|
|
}, |
|
|
}, |
|
|
/** |
|
|
/** |
|
|
* 保存客户回复 |
|
|
* 保存客户回复 |
|
|
@ -2127,32 +2351,32 @@ |
|
|
this.$message.warning('请填写客户确认人!') |
|
|
this.$message.warning('请填写客户确认人!') |
|
|
return |
|
|
return |
|
|
} |
|
|
} |
|
|
if (this.quotationSelections.length > 1) { |
|
|
|
|
|
this.$confirm(`是否提交多条客户回复?`, '提示', { |
|
|
|
|
|
confirmButtonText: '确定', |
|
|
|
|
|
cancelButtonText: '取消', |
|
|
|
|
|
type: 'warning' |
|
|
|
|
|
}).then(() => { |
|
|
|
|
|
saveCustomerResponse(this.customerResponseData).then(({data}) => { |
|
|
|
|
|
if (data && data.code === 0) { |
|
|
|
|
|
this.getDataList() |
|
|
|
|
|
this.customerResponseModalFlag = false |
|
|
|
|
|
this.$message({ |
|
|
|
|
|
message: '操作成功', |
|
|
|
|
|
type: 'success', |
|
|
|
|
|
duration: 1500, |
|
|
|
|
|
onClose: () => { |
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
|
|
|
} else { |
|
|
|
|
|
this.$alert(data.msg, '错误', { |
|
|
|
|
|
confirmButtonText: '确定' |
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
|
|
|
}).catch(() => { |
|
|
|
|
|
}) |
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
|
// if (this.quotationSelections.length > 1) { |
|
|
|
|
|
// this.$confirm(`是否提交多条客户回复?`, '提示', { |
|
|
|
|
|
// confirmButtonText: '确定', |
|
|
|
|
|
// cancelButtonText: '取消', |
|
|
|
|
|
// type: 'warning' |
|
|
|
|
|
// }).then(() => { |
|
|
|
|
|
// saveCustomerResponse(this.customerResponseData).then(({data}) => { |
|
|
|
|
|
// if (data && data.code === 0) { |
|
|
|
|
|
// this.getDataList() |
|
|
|
|
|
// this.customerResponseModalFlag = false |
|
|
|
|
|
// this.$message({ |
|
|
|
|
|
// message: '操作成功', |
|
|
|
|
|
// type: 'success', |
|
|
|
|
|
// duration: 1500, |
|
|
|
|
|
// onClose: () => { |
|
|
|
|
|
// } |
|
|
|
|
|
// }) |
|
|
|
|
|
// } else { |
|
|
|
|
|
// this.$alert(data.msg, '错误', { |
|
|
|
|
|
// confirmButtonText: '确定' |
|
|
|
|
|
// }) |
|
|
|
|
|
// } |
|
|
|
|
|
// }) |
|
|
|
|
|
// }).catch(() => { |
|
|
|
|
|
// }) |
|
|
|
|
|
// } else { |
|
|
saveCustomerResponse(this.customerResponseData).then(({data}) => { |
|
|
saveCustomerResponse(this.customerResponseData).then(({data}) => { |
|
|
if (data && data.code === 0) { |
|
|
if (data && data.code === 0) { |
|
|
this.getDataList() |
|
|
this.getDataList() |
|
|
@ -2161,8 +2385,7 @@ |
|
|
message: '操作成功', |
|
|
message: '操作成功', |
|
|
type: 'success', |
|
|
type: 'success', |
|
|
duration: 1500, |
|
|
duration: 1500, |
|
|
onClose: () => { |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
onClose: () => {} |
|
|
}) |
|
|
}) |
|
|
} else { |
|
|
} else { |
|
|
this.$alert(data.msg, '错误', { |
|
|
this.$alert(data.msg, '错误', { |
|
|
@ -2170,7 +2393,7 @@ |
|
|
}) |
|
|
}) |
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
} |
|
|
|
|
|
|
|
|
// } |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
// ======== 报价单附件的相关方法 ======== |
|
|
// ======== 报价单附件的相关方法 ======== |
|
|
@ -2190,22 +2413,22 @@ |
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
}, |
|
|
}, |
|
|
/** |
|
|
|
|
|
* 获得这些报价号的全部附件 |
|
|
|
|
|
*/ |
|
|
|
|
|
getFileContentList () { |
|
|
|
|
|
let currentData = { |
|
|
|
|
|
orderRef1: this.$store.state.user.site, |
|
|
|
|
|
orderRef2: this.enterResultData.quotationNo |
|
|
|
|
|
} |
|
|
|
|
|
getFileContentList(currentData).then(({data}) => { |
|
|
|
|
|
if (data && data.code === 0) { |
|
|
|
|
|
this.enterResultData.fileContentList = data.rows |
|
|
|
|
|
} else { |
|
|
|
|
|
this.enterResultData.fileContentList = [] |
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
// /** |
|
|
|
|
|
// * 获得这些报价号的全部附件 |
|
|
|
|
|
// */ |
|
|
|
|
|
// getFileContentList () { |
|
|
|
|
|
// let currentData = { |
|
|
|
|
|
// orderRef1: this.$store.state.user.site, |
|
|
|
|
|
// orderRef2: this.enterResultData.quotationNo |
|
|
|
|
|
// } |
|
|
|
|
|
// getFileContentList(currentData).then(({data}) => { |
|
|
|
|
|
// if (data && data.code === 0) { |
|
|
|
|
|
// this.enterResultData.fileContentList = data.rows |
|
|
|
|
|
// } else { |
|
|
|
|
|
// this.enterResultData.fileContentList = [] |
|
|
|
|
|
// } |
|
|
|
|
|
// }) |
|
|
|
|
|
// }, |
|
|
/** |
|
|
/** |
|
|
* 上传文件 |
|
|
* 上传文件 |
|
|
*/ |
|
|
*/ |
|
|
@ -2214,16 +2437,16 @@ |
|
|
titleCon: '报价附件上传', |
|
|
titleCon: '报价附件上传', |
|
|
site: this.$store.state.user.site, |
|
|
site: this.$store.state.user.site, |
|
|
createBy: this.$store.state.user.name, |
|
|
createBy: this.$store.state.user.name, |
|
|
quotationNo: '', |
|
|
|
|
|
|
|
|
quotationNo: this.enterResultData.quotationNo, |
|
|
fileRemark: '', |
|
|
fileRemark: '', |
|
|
folder: 'quotationFile', |
|
|
folder: 'quotationFile', |
|
|
options: [] |
|
|
|
|
|
|
|
|
// options: [] |
|
|
} |
|
|
} |
|
|
let num = 0 |
|
|
|
|
|
let arr = this.enterResultData.quotationNo.split(';') |
|
|
|
|
|
arr.forEach(val => { |
|
|
|
|
|
currentData.options.push({key: num++, value: val}) |
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
// let num = 0 |
|
|
|
|
|
// let arr = this.enterResultData.quotationNo.split(';') |
|
|
|
|
|
// arr.forEach(val => { |
|
|
|
|
|
// currentData.options.push({key: num++, value: val}) |
|
|
|
|
|
// }) |
|
|
//打开组件 去做新增业务 |
|
|
//打开组件 去做新增业务 |
|
|
this.$nextTick(() => { |
|
|
this.$nextTick(() => { |
|
|
this.$refs.quotationUploadFile.init(currentData); |
|
|
this.$refs.quotationUploadFile.init(currentData); |
|
|
@ -2376,37 +2599,7 @@ |
|
|
<style scoped lang="scss"> |
|
|
<style scoped lang="scss"> |
|
|
/deep/ .customer-tab .el-tabs__content { |
|
|
/deep/ .customer-tab .el-tabs__content { |
|
|
padding: 0px !important; |
|
|
padding: 0px !important; |
|
|
} |
|
|
|
|
|
.el-transfer-panel { |
|
|
|
|
|
border: 2px solid #17b3a3; |
|
|
|
|
|
border-radius: 4px; |
|
|
|
|
|
overflow: hidden; |
|
|
|
|
|
background: #fff; |
|
|
|
|
|
display: inline-block; |
|
|
|
|
|
vertical-align: middle; |
|
|
|
|
|
width: 200px; |
|
|
|
|
|
max-height: 100%; |
|
|
|
|
|
-webkit-box-sizing: border-box; |
|
|
|
|
|
box-sizing: border-box; |
|
|
|
|
|
position: relative; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.el-transfer-panel .el-transfer-panel__header { |
|
|
|
|
|
height: 40px; |
|
|
|
|
|
line-height: 40px; |
|
|
|
|
|
background: #17b3a3; |
|
|
|
|
|
margin: 0; |
|
|
|
|
|
padding-left: 15px; |
|
|
|
|
|
border-bottom: 1px solid #17b3a3; |
|
|
|
|
|
-webkit-box-sizing: border-box; |
|
|
|
|
|
box-sizing: border-box; |
|
|
|
|
|
color: #000; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label { |
|
|
|
|
|
font-size: 14px; |
|
|
|
|
|
color: #303133; |
|
|
|
|
|
font-weight: 400; |
|
|
|
|
|
|
|
|
height: 459px; |
|
|
} |
|
|
} |
|
|
</style> |
|
|
</style> |
|
|
|
|
|
|