Browse Source

2023-09-12 plm报价提交

master
杨奉源 2 years ago
parent
commit
37d318e1a4
  1. 18
      src/api/customer/projectInformation.js
  2. 27
      src/api/quotation/quotationInformation.js
  3. 189
      src/views/modules/customer/customerInformationManagement.vue
  4. 1169
      src/views/modules/quotation/requestForQuote.vue

18
src/api/customer/projectInformation.js

@ -6,22 +6,4 @@ import { createAPI } from "@/utils/httpRequest.js";
* @returns {*}
*/
export const projectInformationSearch = data => createAPI(`/plm/projectInformation/projectInformationSearch`,'post',data)
/**
* 客户项目信息新增
* @param data
* @returns {*}
*/
export const projectInformationSave = data => createAPI(`/plm/projectInformation/projectInformationSave`,'post',data)
/**
* 客户项目信息编辑
* @param data
* @returns {*}
*/
export const projectInformationEdit = data => createAPI(`/plm/projectInformation/projectInformationEdit`,'post',data)
/**
* 客户项目信息删除
* @param data
* @returns {*}
*/
export const projectInformationDelete = data => createAPI(`/plm/projectInformation/projectInformationDelete`,'post',data)

27
src/api/quotation/quotationInformation.js

@ -0,0 +1,27 @@
import { createAPI } from "@/utils/httpRequest.js";
/**
* 报价信息列表查询
* @param data
* @returns {*}
*/
export const quotationInformationSearch = data => createAPI(`/plm/quotationInformation/quotationInformationSearch`,'post',data)
/**
* 报价信息新增
* @param data
* @returns {*}
*/
export const quotationInformationSave = data => createAPI(`/plm/quotationInformation/quotationInformationSave`,'post',data)
/**
* 报价信息编辑
* @param data
* @returns {*}
*/
export const quotationInformationEdit = data => createAPI(`/plm/quotationInformation/quotationInformationEdit`,'post',data)
/**
* 报价信息删除
* @param data
* @returns {*}
*/
export const quotationInformationDelete = data => createAPI(`/plm/quotationInformation/quotationInformationDelete`,'post',data)

189
src/views/modules/customer/customerInformationManagement.vue

@ -95,31 +95,31 @@
<!-- 客户模态框 -->
<el-dialog :title="modalData.title" :close-on-click-modal="false" v-drag :visible.sync="modalFlag" width="500px">
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="客户代码:" prop="customerNo" :rules="rules.customerNo">
<el-form-item label="客户代码" prop="customerNo" :rules="rules.customerNo">
<el-input v-model="modalData.customerNo" :disabled="modalDisableFlag" style="width: 222px"></el-input>
</el-form-item>
<el-form-item label="客户名称:" prop="customerDesc" :rules="rules.customerDesc">
<el-form-item label="客户名称" prop="customerDesc" :rules="rules.customerDesc">
<el-input v-model="modalData.customerDesc" :readonly="detailModalFlag" style="width: 222px"></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-form-item label="客户描述">
<textarea v-model="modalData.customerDescription" :readonly="detailModalFlag" style="width: 457px;height: 20px"></textarea>
</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-form-item label="年营业额">
<el-input v-model="modalData.turnoverOfYear" :readonly="detailModalFlag" style="width: 222px"></el-input>
</el-form-item>
<el-form-item label="年潜在收入:">
<el-form-item label="年潜在收入">
<el-input v-model="modalData.potentialRevenueOfYear" :readonly="detailModalFlag" style="width: 222px"></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="行业:" prop="customerIndustry" :rules="rules.customerIndustry">
<el-form-item label="行业" prop="customerIndustry" :rules="rules.customerIndustry">
<el-input v-model="modalData.customerIndustry" :readonly="detailModalFlag" style="width: 222px"></el-input>
</el-form-item>
<el-form-item label="币种:" prop="customerCurrency" :rules="rules.customerCurrency">
<el-form-item label="币种" prop="customerCurrency" :rules="rules.customerCurrency">
<el-select v-model="modalData.customerCurrency" :disabled="detailModalFlag" style="width: 222px">
<el-option label="RMB" value="RMB"></el-option>
<el-option label="USD" value="USD"></el-option>
@ -127,41 +127,41 @@
</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="contactName" :rules="rules.contactName">
<el-form-item label="联系人" prop="contactName" :rules="rules.contactName">
<el-input v-model="modalData.contactName" :readonly="detailModalFlag" style="width: 222px"></el-input>
</el-form-item>
<el-form-item label="联系电话:" prop="contactPhoneNumber1" :rules="rules.contactPhoneNumber1">
<el-form-item label="联系电话" prop="contactPhoneNumber1" :rules="rules.contactPhoneNumber1">
<el-input v-model="modalData.contactPhoneNumber1" :readonly="detailModalFlag" style="width: 222px"></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-form-item label="公司名称">
<el-input v-model="modalData.companyName" :readonly="detailModalFlag" style="width: 457px"></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-form-item label="岗位描述">
<el-input v-model="modalData.jobDescription" :readonly="detailModalFlag" style="width: 457px"></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-form-item label="联系地址">
<el-input v-model="modalData.addressName" :readonly="detailModalFlag" style="width: 457px"></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-form-item label="备注信息">
<el-input v-model="modalData.remark" :readonly="detailModalFlag" style="width: 457px"></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="关键客户:" prop="importantCustomer" :rules="rules.importantCustomer">
<el-form-item label="关键客户" prop="importantCustomer" :rules="rules.importantCustomer">
<el-select v-model="modalData.importantCustomer" :disabled="detailModalFlag" style="width: 222px">
<el-option label="是" value="Y"></el-option>
<el-option label="否" value="N"></el-option>
</el-select>
</el-form-item>
<el-form-item label="客户状态:" prop="customerStatus" :rules="rules.customerStatus">
<el-form-item label="客户状态" prop="customerStatus" :rules="rules.customerStatus">
<el-select v-model="modalData.customerStatus" :disabled="detailModalFlag" style="width: 222px">
<el-option label="非客户" value="非客户"></el-option>
<el-option label="潜在客户" value="潜在客户"></el-option>
@ -177,37 +177,37 @@
<!-- 客户联系人模态框 -->
<el-dialog :title="contactModalData.title" :close-on-click-modal="false" v-drag :visible.sync="contactModalFlag" width="500px">
<el-form :inline="true" label-position="top" :model="contactModalData" :rules="contactRules" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="联系人:" prop="contactName" :rules="contactRules.contactName">
<el-form-item label="联系人" prop="contactName" :rules="contactRules.contactName">
<el-input v-model="contactModalData.contactName" style="width: 222px"></el-input>
</el-form-item>
<el-form-item label="座机:">
<el-form-item label="座机">
<el-input v-model="contactModalData.contactLandlineNumber" :readonly="contactDetailModalFlag" style="width: 222px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="contactModalData" :rules="contactRules" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="联系电话(1):" prop="contactPhoneNumber1" :rules="contactRules.contactPhoneNumber1">
<el-form-item label="联系电话(1)" prop="contactPhoneNumber1" :rules="contactRules.contactPhoneNumber1">
<el-input v-model="contactModalData.contactPhoneNumber1" :readonly="contactDetailModalFlag" style="width: 222px"></el-input>
</el-form-item>
<el-form-item label="联系电话(2):">
<el-form-item label="联系电话(2)">
<el-input v-model="contactModalData.contactPhoneNumber2" :readonly="contactDetailModalFlag" style="width: 222px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="contactModalData" :rules="contactRules" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="联系电话(3):">
<el-form-item label="联系电话(3)">
<el-input v-model="contactModalData.contactPhoneNumber3" :readonly="contactDetailModalFlag" style="width: 222px"></el-input>
</el-form-item>
<el-form-item label="公司职务:" prop="position" :rules="contactRules.position">
<el-form-item label="公司职务" prop="position" :rules="contactRules.position">
<el-input v-model="contactModalData.position" :readonly="contactDetailModalFlag" style="width: 222px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="contactModalData" :rules="contactRules" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="主联系人:" prop="primaryContact" :rules="contactRules.primaryContact">
<el-form-item label="主联系人" prop="primaryContact" :rules="contactRules.primaryContact">
<el-select v-model="contactModalData.primaryContact" :disabled="contactDetailModalFlag" style="width: 222px">
<el-option label="是" value="Y"></el-option>
<el-option label="否" value="N"></el-option>
</el-select>
</el-form-item>
<el-form-item label="状态:" prop="contactStatus" :rules="contactRules.contactStatus">
<el-form-item label="状态" prop="contactStatus" :rules="contactRules.contactStatus">
<el-select v-model="contactModalData.contactStatus" :disabled="contactDetailModalFlag" style="width: 222px">
<el-option label="启用" value="启用"></el-option>
<el-option label="停用" value="停用"></el-option>
@ -215,12 +215,12 @@
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="contactModalData" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="邮箱:">
<el-form-item label="邮箱">
<el-input v-model="contactModalData.mailbox" :readonly="contactDetailModalFlag" style="width: 457px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="contactModalData" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="备注信息:">
<el-form-item label="备注信息">
<el-input v-model="contactModalData.remark" :readonly="contactDetailModalFlag" style="width: 457px"></el-input>
</el-form-item>
</el-form>
@ -232,23 +232,23 @@
<!-- 客户联系地址模态框 -->
<el-dialog :title="addressModalData.title" :close-on-click-modal="false" v-drag :visible.sync="addressModalFlag" width="500px">
<el-form :inline="true" label-position="top" :model="addressModalData" :rules="addressRules" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="地址:" prop="addressName" :rules="addressRules.addressName">
<el-form-item label="地址" prop="addressName" :rules="addressRules.addressName">
<el-input v-model="addressModalData.addressName" style="width: 457px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="addressModalData" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="单位:">
<el-form-item label="单位">
<el-input v-model="addressModalData.unit" :readonly="addressDetailModalFlag" style="width: 457px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="addressModalData" :rules="addressRules" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="主要地址:" prop="primaryAddress" :rules="addressRules.primaryAddress">
<el-form-item label="主要地址" prop="primaryAddress" :rules="addressRules.primaryAddress">
<el-select v-model="addressModalData.primaryAddress" :disabled="addressDetailModalFlag" style="width: 222px">
<el-option label="是" value="Y"></el-option>
<el-option label="否" value="N"></el-option>
</el-select>
</el-form-item>
<el-form-item label="状态:" prop="addressStatus" :rules="addressRules.addressStatus">
<el-form-item label="状态" prop="addressStatus" :rules="addressRules.addressStatus">
<el-select v-model="addressModalData.addressStatus" :disabled="addressDetailModalFlag" style="width: 222px">
<el-option label="启用" value="启用"></el-option>
<el-option label="停用" value="停用"></el-option>
@ -256,7 +256,7 @@
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="addressModalData" :rules="addressRules" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="地址类型:" prop="addressType" :rules="addressRules.addressType">
<el-form-item label="地址类型" prop="addressType" :rules="addressRules.addressType">
<el-select v-model="addressModalData.addressType" :disabled="addressDetailModalFlag" style="width: 457px">
<el-option label="类型1" value="类型1"></el-option>
<el-option label="类型2" value="类型2"></el-option>
@ -264,7 +264,7 @@
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="addressModalData" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="备注信息:">
<el-form-item label="备注信息">
<el-input v-model="addressModalData.remark" :readonly="addressDetailModalFlag" style="width: 457px"></el-input>
</el-form-item>
</el-form>
@ -841,7 +841,8 @@
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 120
},
{
userId: this.$store.state.user.name,
@ -858,7 +859,8 @@
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 160
},
{
userId: this.$store.state.user.name,
@ -875,7 +877,8 @@
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 80
},
{
userId: this.$store.state.user.name,
@ -885,14 +888,15 @@
tableName: '客户信息表',
columnProp: 'turnoverOfYear',
headerAlign: 'center',
align: 'center',
align: 'right',
columnLabel: '年营业额',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 80
},
{
userId: this.$store.state.user.name,
@ -902,14 +906,15 @@
tableName: '客户信息表',
columnProp: 'potentialRevenueOfYear',
headerAlign: 'center',
align: 'center',
align: 'right',
columnLabel: '年度潜在收入',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 80
},
{
userId: this.$store.state.user.name,
@ -926,7 +931,8 @@
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 80
},
{
userId: this.$store.state.user.name,
@ -943,7 +949,8 @@
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 80
},
{
userId: this.$store.state.user.name,
@ -960,7 +967,8 @@
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 160
},
{
userId: this.$store.state.user.name,
@ -977,7 +985,8 @@
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 80
},
{
userId: this.$store.state.user.name,
@ -994,7 +1003,8 @@
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 160
},
{
userId: this.$store.state.user.name,
@ -1011,7 +1021,8 @@
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 80
}
],
customerContactArray: [
@ -1030,7 +1041,8 @@
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 120
},
{
userId: this.$store.state.user.name,
@ -1047,7 +1059,8 @@
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 160
},
{
userId: this.$store.state.user.name,
@ -1064,7 +1077,8 @@
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 160
},
{
userId: this.$store.state.user.name,
@ -1081,7 +1095,8 @@
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 80
},
{
userId: this.$store.state.user.name,
@ -1098,7 +1113,8 @@
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 160
},
{
userId: this.$store.state.user.name,
@ -1115,7 +1131,8 @@
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 80
},
{
userId: this.$store.state.user.name,
@ -1132,7 +1149,8 @@
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 80
},
{
userId: this.$store.state.user.name,
@ -1149,7 +1167,8 @@
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 160
},
{
userId: this.$store.state.user.name,
@ -1166,7 +1185,8 @@
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 80
},
{
userId: this.$store.state.user.name,
@ -1183,7 +1203,8 @@
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 160
},
{
userId: this.$store.state.user.name,
@ -1200,7 +1221,8 @@
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 80
}
],
customerAddressArray: [
@ -1219,7 +1241,8 @@
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 160
},
{
userId: this.$store.state.user.name,
@ -1236,7 +1259,8 @@
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 80
},
{
userId: this.$store.state.user.name,
@ -1253,7 +1277,8 @@
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 80
},
{
userId: this.$store.state.user.name,
@ -1270,7 +1295,8 @@
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 80
},
{
userId: this.$store.state.user.name,
@ -1287,7 +1313,8 @@
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 80
},
{
userId: this.$store.state.user.name,
@ -1304,7 +1331,8 @@
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 160
},
{
userId: this.$store.state.user.name,
@ -1321,7 +1349,8 @@
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 80
},
{
userId: this.$store.state.user.name,
@ -1338,7 +1367,8 @@
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 160
},
{
userId: this.$store.state.user.name,
@ -1355,7 +1385,8 @@
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 80
}
],
projectInformationArray: [
@ -1374,7 +1405,8 @@
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 120
},
{
userId: this.$store.state.user.name,
@ -1391,7 +1423,8 @@
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 160
},
{
userId: this.$store.state.user.name,
@ -1408,7 +1441,8 @@
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 80
},
{
userId: this.$store.state.user.name,
@ -1425,7 +1459,8 @@
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 160
},
{
userId: this.$store.state.user.name,
@ -1442,7 +1477,8 @@
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 80
},
{
userId: this.$store.state.user.name,
@ -1459,7 +1495,8 @@
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 80
},
{
userId: this.$store.state.user.name,
@ -1476,7 +1513,8 @@
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 160
},
{
userId: this.$store.state.user.name,
@ -1493,7 +1531,8 @@
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 80
},
{
userId: this.$store.state.user.name,
@ -1510,7 +1549,8 @@
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 160
},
{
userId: this.$store.state.user.name,
@ -1527,7 +1567,8 @@
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
fixed: '',
columnWidth: 80
}
],
// ======== ========

1169
src/views/modules/quotation/requestForQuote.vue
File diff suppressed because it is too large
View File

Loading…
Cancel
Save