客户管理 - 月结客户,销售主管、销售支持

This commit is contained in:
wuteng 2025-07-22 15:24:21 +08:00
parent d9309bbe8e
commit 8333758a89
4 changed files with 75 additions and 34 deletions

View File

@ -32,6 +32,16 @@
<!-- <EmisUserSimplePicker2 :placeholder="$t('销售联系人')" v-model="form.salesmen" ></EmisUserSimplePicker2> -->
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="销售主管" prop="salesExecutive" >
<EmpNamePicker3 :placeholder="$t('销售主管')" v-model="form.salesExecutive" ></EmpNamePicker3>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="销售支持" prop="salesSupport" >
<EmpNamePicker4 :placeholder="$t('销售支持')" v-model="form.salesSupport" ></EmpNamePicker4>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="业务网点范围" prop="bizSite" >
@ -104,6 +114,8 @@ import EmisUserSimplePicker2 from '@/views/emis/EmisBaseTools/EmisUserSimplePick
import EmisSiteSelectTreePicker from '@/views/emis/EmisBaseTools/EmisSiteSelectTreePicker.vue';
import PayeePicker from '@/views/emis/EmisBaseTools/PayeePicker.vue';
import SalemanPicker from '@/views/emis/EmisBaseTools/SalemanPicker.vue';
import EmpNamePicker3 from '@/views/emis/EmisBaseTools/EmpNamePicker.vue';
import EmpNamePicker4 from '@/views/emis/EmisBaseTools/EmpNamePicker.vue';
export default {
@ -119,7 +131,9 @@ export default {
CountryPicker,
EmisSiteSimplePicker,ProvincePicker,CityPicker,DistrictPicker,
EmisUserSimplePicker0,EmisUserSimplePicker1,EmisUserSimplePicker2,
EmisSiteSelectTreePicker
EmisSiteSelectTreePicker,
EmpNamePicker3,
EmpNamePicker4,
},
dicts: ['emis_cus_settled_type'],
data() {

View File

@ -148,6 +148,16 @@
<!-- <EmisUserSimplePicker2 :placeholder="$t('销售联系人')" :siteCode="form.ownerSite" v-model="form.salesmen" ></EmisUserSimplePicker2> -->
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="销售主管" prop="salesExecutive" >
<EmpNamePicker3 :placeholder="$t('销售主管')" v-model="form.salesExecutive" ></EmpNamePicker3>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="销售支持" prop="salesSupport" >
<EmpNamePicker4 :placeholder="$t('销售支持')" v-model="form.salesSupport" ></EmpNamePicker4>
</el-form-item>
</el-col>
<el-col :span="24">
<!-- postCode="OP" -->
<el-form-item label="业务网点范围" prop="bizSite" >
@ -234,7 +244,8 @@ import EmisUserSimplePicker2 from '@/views/emis/EmisBaseTools/EmisUserSimplePick
import EmisSiteSelectTreePicker from '@/views/emis/EmisBaseTools/EmisSiteSelectTreePicker.vue';
import PayeePicker from '@/views/emis/EmisBaseTools/PayeePicker.vue';
import SalemanPicker from '@/views/emis/EmisBaseTools/SalemanPicker.vue';
import EmpNamePicker3 from '@/views/emis/EmisBaseTools/EmpNamePicker.vue';
import EmpNamePicker4 from '@/views/emis/EmisBaseTools/EmpNamePicker.vue';
export default {
@ -250,6 +261,7 @@ export default {
},
components: {
PayeePicker,SalemanPicker,
EmpNamePicker3,EmpNamePicker4,
CountryPicker,
EmisSiteSimplePicker,ProvincePicker,CityPicker,DistrictPicker,
EmisUserSimplePicker0,EmisUserSimplePicker1,EmisUserSimplePicker2,
@ -308,6 +320,9 @@ export default {
salesmen: [
{ required: true, message: "销售联系人不能为空", trigger: ["blur",'change'] }
],
salesExecutive:[
{ required: true, message: "销售主管不能为空", trigger: ["blur",'change'] }
],
blOpenOms: [
{ required: true, message: "是否开通oms不能为空", trigger: ["blur",'change'] }
],

View File

@ -22,7 +22,24 @@
<el-form-item label="所属网点" prop="ownerSite">
<EmisSiteSimplePicker :placeholder="$t('所属网点')" v-model="queryParams.ownerSite" @onChange="handleQuery"></EmisSiteSimplePicker>
</el-form-item>
<el-form-item label="销售主管" prop="salesExecutive">
<EmpNamePicker3 :placeholder="$t('销售主管')" v-model="queryParams.salesExecutive" ></EmpNamePicker3>
</el-form-item>
<el-form-item label="销售支持" prop="salesSupport">
<EmpNamePicker4 :placeholder="$t('销售支持')" v-model="queryParams.salesSupport" ></EmpNamePicker4>
</el-form-item>
<el-form-item label="国家" prop="country">
<CountryPicker :placeholder="$t('国家')" v-model="queryParams.country" ></CountryPicker>
</el-form-item>
<el-form-item label="省份" prop="province">
<ProvincePicker v-model="queryParams.province" :countryCode="queryParams.country" ></ProvincePicker>
</el-form-item>
<el-form-item label="回款联系人" prop="payee" >
<EmpNamePicker1 :placeholder="$t('回款联系人')" v-model="queryParams.payee" ></EmpNamePicker1>
</el-form-item>
<el-form-item label="销售联系人" prop="salesmen" >
<EmpNamePicker2 :placeholder="$t('销售联系人')" v-model="queryParams.salesmen" ></EmpNamePicker2>
</el-form-item>
<el-form-item label="联系人" prop="contact">
<el-input
v-model="queryParams.contact"
@ -41,19 +58,6 @@
@input="handleQuery"
/>
</el-form-item>
<el-form-item label="国家" prop="country">
<CountryPicker :placeholder="$t('国家')" v-model="queryParams.country" ></CountryPicker>
</el-form-item>
<el-form-item label="省份" prop="province">
<ProvincePicker v-model="queryParams.province" :countryCode="queryParams.country" ></ProvincePicker>
</el-form-item>
<el-form-item label="回款联系人" prop="payee" >
<EmpNamePicker1 :placeholder="$t('回款联系人')" v-model="queryParams.payee" ></EmpNamePicker1>
</el-form-item>
<el-form-item label="销售联系人" prop="salesmen" >
<EmpNamePicker2 :placeholder="$t('销售联系人')" v-model="queryParams.salesmen" ></EmpNamePicker2>
</el-form-item>
<el-form-item :label="$t('启用状态')" prop="status">
<el-select v-model="queryParams.status" clearable :placeholder="$t('启用状态')" @change="handleQuery">
<el-option key="0" label="停用" :value="0" />
@ -196,10 +200,8 @@
<el-table-column :label="$t('主归属网点')" align="center" prop="ownerSiteName" min-width="100" />
<el-table-column :label="$t('月结卡号')" align="center" prop="monthlyPayCode" min-width="100" />
<el-table-column :label="$t('联系人')" align="left" prop="contact" width="120" :show-overflow-tooltip="true" />
<el-table-column :label="$t('电话')" align="center" prop="phone" width="100" />
<el-table-column :label="$t('销售主管')" align="center" prop="salesExecutive" min-width="100" />
<el-table-column :label="$t('销售支持')" align="center" prop="salesSupport" min-width="100" />
<el-table-column :label="$t('国家')" align="left" prop="countryName" min-width="100" />
<el-table-column :label="$t('省份')" align="left" prop="provinceName" min-width="100" :show-overflow-tooltip="true"/>
<el-table-column :label="$t('城市')" align="left" prop="citeName" min-width="130" :show-overflow-tooltip="true" >
@ -237,9 +239,10 @@
<!-- <el-table-column :label="$t('专属业务员')" align="center" prop="opEmpName" min-width="100" /> -->
<!-- <el-table-column :label="$t('微信昵称')" align="center" prop="nickName" min-width="120" /> -->
<!-- <el-table-column :label="$t('openid')" align="center" prop="openid" min-width="100" /> -->
<el-table-column :label="$t('数据来源')" align="center" prop="dataFrom" min-width="100" />
<!-- <el-table-column :label="$t('数据来源')" align="center" prop="dataFrom" min-width="100" />
<el-table-column :label="$t('最近下单时间')" align="center" prop="loginDate" min-width="170" />
<el-table-column :label="$t('数据来源')" align="center" prop="dataFrom" min-width="100" />
<el-table-column :label="$t('数据来源')" align="center" prop="dataFrom" min-width="100" /> -->
<el-table-column label="备注" align="center" prop="remark" width="80"/>
<el-table-column label="创建人" align="center" prop="createByName" width="80" :show-overflow-tooltip="true"/>
<el-table-column label="创建网点" align="center" prop="createSiteName" width="80" :show-overflow-tooltip="true"/>
@ -336,6 +339,8 @@ import EmisUserSimplePicker2 from '@/views/emis/EmisBaseTools/EmisUserSimplePick
import EmpNamePicker1 from '@/views/emis/EmisBaseTools/EmpNamePicker.vue';
import EmpNamePicker2 from '@/views/emis/EmisBaseTools/EmpNamePicker.vue';
import EmpNamePicker3 from '@/views/emis/EmisBaseTools/EmpNamePicker.vue';
import EmpNamePicker4 from '@/views/emis/EmisBaseTools/EmpNamePicker.vue';
import XLSX from 'xlsx'
@ -343,7 +348,9 @@ export default {
name: "MonthUserList",
components: {
EmpNamePicker1,EmpNamePicker2,
elDateSimplePicker,monthUserForm,batchUpdateForm,CountryPicker,
EmpNamePicker3,
EmpNamePicker4,
elDateSimplePicker,monthUserForm,batchUpdateForm,CountryPicker,
EmisSiteSimplePicker,ProvincePicker,CityPicker,
EmisUserSimplePicker0,EmisUserSimplePicker1,EmisUserSimplePicker2
},
@ -488,7 +495,7 @@ export default {
handleFormChanged(){
this.openForm = false;
this.openBatchUpdateForm = false;
this.getList();
this.getList();
},
cancelForm(){
this.openBatchUpdateForm = false;
@ -556,7 +563,8 @@ export default {
})
for (let index = 0; index < results.length; index++) {
const element = results[index]
// 客户名称 英文简称 月结编号 联系人 手机号码 主归属网点 回款联系人 销售联系人 结算类型 国家 省份 城市 区县 联系地址 E-Mail 是否启用 是否开启OMS账号 首次签约时间 备注
// 客户名称 英文简称 月结编号 联系人 手机号码 主归属网点 回款联系人 销售联系人 销售主管 销售支持 结算类型 国家 省份 城市 区县 联系地址 E-Mail 是否启用 是否开启OMS账号 首次签约时间 备注
const postData= {
customerName: element['客户名称'],
customerNameEn: element['英文简称'],
@ -576,27 +584,31 @@ export default {
status: element['是否启用'],
payee: element['回款联系人'],
salesmen: element['销售联系人'],
salesExecutive: element['销售主管'],
salesSupport: element['销售支持'],
dataFrom: "pc",
firstSigningDay:element['首次签约时间'],
blOpenOms: element['是否开启OMS账号'],
remark: element['备注']
blSms: element['是否短信'],
remark: element['备注'],
blImport: 1,
};
// postData.cosignee= element['']
// postData.cosigneeAddress= element['收件地址']
// postData.cosigneeTelephone= element['收件电话']
// postData.country= element['国家']
// postData.extJsonStr = JSON.stringify(extJsonStr)
const res = await addMonthUser(postData)
const res = await addMonthUser(postData)
console.log(res);
if (res.code !== 200) {
this.$modal.msgError(JSON.stringify(res.msg))
if (res.code !== 200) {
this.$modal.msgError(JSON.stringify(res.msg))
loadingInstance.close()
return
}
loadingInstance.close()
return
}
loadingInstance.close()
loadingInstance = this.$loading({
loadingInstance = this.$loading({
text: '正在导入 ' + _index + ' 数据...'
})
}