Commit 25d06f55 authored by dragondean@qq.com's avatar dragondean@qq.com

Merge remote-tracking branch 'origin/release' into release

parents 27091cdd f3c0fd17
...@@ -191,7 +191,7 @@ export default { ...@@ -191,7 +191,7 @@ export default {
this.$emit('input', data) this.$emit('input', data)
this.dialogVisible = false this.dialogVisible = false
if (this.isEditing || this.warehouseInId) { if ((this.isEditing || this.warehouseInId) && this.warehouseInId) {
updateWarehouseInLocation({ updateWarehouseInLocation({
"orderId": this.orderId, "orderId": this.orderId,
"orderItemId": this.orderItemId, "orderItemId": this.orderItemId,
......
...@@ -140,7 +140,7 @@ export default { ...@@ -140,7 +140,7 @@ export default {
this.$set(this.subMaterialObj,'soNo',this.shipmentObj.bookAirInfo?.sono||undefined) this.$set(this.subMaterialObj,'soNo',this.shipmentObj.bookAirInfo?.sono||undefined)
this.$set(this.subMaterialObj,'blMblNo',this.shipmentObj.bookAirInfo?.blNo||undefined) this.$set(this.subMaterialObj,'blMblNo',this.shipmentObj.bookAirInfo?.blNo||undefined)
this.$set(this.subMaterialObj,'markNo',"N/M") this.$set(this.subMaterialObj,'markNo',"N/M")
this.$set(this.subMaterialObj,'startPortId',this.shipmentObj.bookAirInfo?.bigPortId||undefined) this.$set(this.subMaterialObj,'startPortId',this.shipmentObj.bookAirInfo?.departurePortId||undefined)
this.$set(this.subMaterialObj,'shipCompanyId',Number(this.shipmentObj.bookAirInfo?.shipCompanyType)||undefined) this.$set(this.subMaterialObj,'shipCompanyId',Number(this.shipmentObj.bookAirInfo?.shipCompanyType)||undefined)
this.$set(this.subMaterialObj,'destPortId',this.shipmentObj.bookAirInfo?.destPortId||undefined) this.$set(this.subMaterialObj,'destPortId',this.shipmentObj.bookAirInfo?.destPortId||undefined)
this.$set(this.subMaterialObj,'kgs',this.shipmentObj.customsInfo?.dcGoodsWgt||undefined) this.$set(this.subMaterialObj,'kgs',this.shipmentObj.customsInfo?.dcGoodsWgt||undefined)
......
<template> <template>
<div> <div>
<el-dialog :title="$t('新建潜在客户信息')" :visible.sync="dialogTableVisible"> <el-dialog :title="$t('新建潜在客户信息')" :visible.sync="dialogTableVisible">
<el-form ref="form" :rules="rules" :model="form" label-width="100px" style="padding: 0 20px;"> <el-form ref="form" :rules="rules" :model="form" label-width="100px" style="padding: 0 20px;">
<el-form-item prop="name" :label="$t('客户姓名')"> <el-form-item prop="name" :label="$t('客户姓名')">
<el-input v-model="form.name" :placeholder="$t('请输入客户姓名')"></el-input> <el-input v-model="form.name" :placeholder="$t('请输入客户姓名')"></el-input>
</el-form-item> </el-form-item>
<el-form-item required :label="$t('联系方式')" > <el-form-item required :label="$t('联系方式')">
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="4" > <el-col :span="4">
<el-form-item prop="customerContacts[0].areaCode" > <el-form-item prop="customerContacts[0].areaCode">
<area-code-selector v-model="form.customerContacts['0'].areaCode" /> <area-code-selector v-model="form.customerContacts[0].areaCode"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<el-form-item prop="customerContacts[0].phoneNew"> <el-form-item prop="customerContacts[0].phoneNew">
<el-input style="width:100%;" v-model="form.customerContacts[0].phoneNew" maxlength="11" :placeholder="$t('请输入联系方式')" /> <el-input style="width:100%;" v-model="form.customerContacts[0].phoneNew" maxlength="11"
</el-form-item> :placeholder="$t('请输入联系方式')"/>
</el-col> </el-form-item>
</el-row> </el-col>
</el-form-item> </el-row>
<el-row :gutter="20"> </el-form-item>
<el-col :span="8" > <el-row :gutter="20">
<el-form-item label="社交软件" > <el-col :span="8">
<el-select v-model="form.customerContacts[0].social" :placeholder="$t('请选择社交软件')" size="mini"> <el-form-item label="社交软件">
<el-option v-for="dict in getDictDatas(DICT_TYPE.SOCIAL)" <el-select v-model="form.customerContacts[0].social" :placeholder="$t('请选择社交软件')" size="mini">
:key="dict.value" :label=" $l(dict,'label')" :value="parseInt(dict.value)" /> <el-option v-for="dict in getDictDatas(DICT_TYPE.SOCIAL)"
</el-select> :key="dict.value" :label=" $l(dict,'label')" :value="parseInt(dict.value)"/>
</el-form-item> </el-select>
</el-col> </el-form-item>
<el-col :span="8" > </el-col>
<el-form-item label="社交软件号码" > <el-col :span="8">
<el-input v-model="form.customerContacts[0].socialNumber" :placeholder="$t('请输入社交软件号码')" size="mini"/> <el-form-item label="社交软件号码">
</el-form-item> <el-input v-model="form.customerContacts[0].socialNumber" :placeholder="$t('请输入社交软件号码')"
</el-col> size="mini"/>
<el-col :span="8" > </el-form-item>
<el-form-item label="邮箱" >
<el-input v-model="form.customerContacts[0].email" :placeholder="$t('请输入邮箱')" size="mini"/>
</el-form-item>
</el-col>
</el-row>
<el-form-item prop="source" :label="$t('客户来源')">
<el-select v-model="form.source" :placeholder="$t('请选择客户来源')">
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)"
:key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
<el-form-item :label="$t('客户类别')" prop="type" >
<dict-selector v-model="form.type" :type="DICT_TYPE.CUSTOMER_TYPE" form-type="checkbox" multiple ></dict-selector>
</el-form-item>
<el-form-item prop="customerService" :label="$t('客户经理')" >
<el-select v-model="form.customerService" :placeholder="$t('请选择客户经理')">
<el-option v-for="item in serviceUserList"
:key="item.id" :label="item.nickname" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item :label="$t('公司名称')">
<el-input v-model="form.company" ></el-input>
</el-form-item>
<el-form-item :label="$t('公司英文名称')">
<el-input v-model="form.companyEn" ></el-input>
</el-form-item>
<el-form-item :label="$t('主营类别')" prop="productType">
<el-row :gutter="10">
<el-col :span="11">
<el-select v-model="form.productType" style="width: 100%" @change="getProductListFn" :placeholder="$t('请选择产品类别')" >
<el-option :label="item.titleZh" :value="item.id" v-for="(item) in productTypeList" :key="item.id"/>
</el-select>
</el-col> </el-col>
<el-col :span="11"> <el-col :span="8">
<el-select v-model="form.productId" style="width: 100%" :placeholder="$t('请选择')"> <el-form-item label="邮箱">
<el-option :label="item.titleZh" :value="parseInt(item.id)" v-for="(item) in productList" :key="item.id"/> <el-input v-model="form.customerContacts[0].email" :placeholder="$t('请输入邮箱')" size="mini"/>
</el-select> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-form-item> <el-form-item prop="source" :label="$t('客户来源')">
<el-form-item :label="$t('图片')" prop="picture"> <el-select v-model="form.source" :placeholder="$t('请选择客户来源')">
<upload v-model="form.picture" :limit="1"></upload> <el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)"
</el-form-item> :key="dict.value" :label="dict.label" :value="parseInt(dict.value)"/>
<el-form-item :label="$t('询盘信息')" > </el-select>
<el-input </el-form-item>
v-model="form.inquiry" <el-form-item :label="$t('客户类别')" prop="type">
type="textarea" <dict-selector v-model="form.type" :type="DICT_TYPE.CUSTOMER_TYPE" form-type="checkbox"
:rows="3" multiple></dict-selector>
:placeholder="$t('请输入内容')"> </el-form-item>
</el-input> <el-form-item prop="customerService" :label="$t('客户经理')">
</el-form-item> <el-select v-model="form.customerService" :placeholder="$t('请选择客户经理')">
</el-form> <el-option v-for="item in serviceUserList"
<div slot="footer" class="dialog-footer"> :key="item.id" :label="item.nickname" :value="item.id"/>
<el-button @click="dialogTableVisible = false">{{$t('取 消')}}</el-button> </el-select>
<el-button type="primary" @click="submit">{{$t('确 定')}}</el-button> </el-form-item>
</div> <el-form-item :label="$t('公司名称')">
</el-dialog> <el-input v-model="form.company"></el-input>
</div> </el-form-item>
<el-form-item :label="$t('公司英文名称')">
<el-input v-model="form.companyEn"></el-input>
</el-form-item>
<el-form-item :label="$t('主营类别')" prop="productType">
<el-row :gutter="10">
<el-col :span="11">
<el-select v-model="form.productType" style="width: 100%" @change="getProductListFn"
:placeholder="$t('请选择产品类别')">
<el-option :label="item.titleZh" :value="item.id" v-for="(item) in productTypeList" :key="item.id"/>
</el-select>
</el-col>
<el-col :span="11">
<el-select v-model="form.productId" style="width: 100%" :placeholder="$t('请选择')">
<el-option :label="item.titleZh" :value="parseInt(item.id)" v-for="(item) in productList"
:key="item.id"/>
</el-select>
</el-col>
</el-row>
</el-form-item>
<el-form-item :label="$t('图片')" prop="picture">
<upload v-model="form.picture" :limit="1"></upload>
</el-form-item>
<el-form-item :label="$t('询盘信息')">
<el-input
v-model="form.inquiry"
type="textarea"
:rows="3"
:placeholder="$t('请输入内容')">
</el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogTableVisible = false">{{ $t('取 消') }}</el-button>
<el-button type="primary" @click="submit">{{ $t('确 定') }}</el-button>
</div>
</el-dialog>
</div>
</template> </template>
<script> <script>
...@@ -102,52 +107,60 @@ import {getProductTypeList} from "@/api/ecw/productType"; ...@@ -102,52 +107,60 @@ import {getProductTypeList} from "@/api/ecw/productType";
import {getProductList} from "@/api/ecw/product"; import {getProductList} from "@/api/ecw/product";
import {createPotential} from "@/api/ecw/customer"; import {createPotential} from "@/api/ecw/customer";
import upload from '@/components/ImageUpload' import upload from '@/components/ImageUpload'
export default { export default {
name: "addPotentialCustom", name: "addPotentialCustom",
methods: { methods: {
getDictDatas, getDictDatas,
getProductListFn(val){ getProductListFn(val) {
getProductList({typeId:val}).then(r => { getProductList({typeId: val}).then(r => {
this.productList = r.data this.productList = r.data
}) })
}, },
reset(){ reset() {
this.form = { this.form = {
name: undefined,
name:undefined, customerContacts: [{
customerContacts:[{areaCode:undefined,phoneNew:undefined,name:undefined,isDefault: 1, social:undefined, socialNumber:undefined, email:undefined,}], areaCode: '',
source:undefined, phoneNew: undefined,
type:[], name: undefined,
customerService:undefined, isDefault: 1,
company:undefined, social: undefined,
companyEn:undefined, socialNumber: undefined,
inquiry:undefined, email: undefined,
productType:undefined, }],
productId:undefined, source: undefined,
picture:undefined, type: [],
customerService: undefined,
company: undefined,
companyEn: undefined,
inquiry: undefined,
productType: undefined,
productId: undefined,
picture: undefined,
} }
}, },
submit(){ submit() {
this.$refs.form.validate((valId)=>{ this.$refs.form.validate((valId) => {
if (valId){ if (valId) {
let p = {...this.form} let p = {...this.form}
p.type = p.type.join(',') p.type = p.type.join(',')
p.customerContacts[0].name = p.name + p.customerContacts[0].phoneNew p.customerContacts[0].name = p.name + p.customerContacts[0].phoneNew
createPotential(p).then(r => { createPotential(p).then(r => {
if(r.code === 0){ if (r.code === 0) {
this.$emit('change'); this.$emit('change');
this.dialogTableVisible = false; this.dialogTableVisible = false;
this.$message(this.$t('创建成功')); this.$message(this.$t('创建成功'));
this.reset() this.reset()
this.$refs.form.resetFields() this.$refs.form.resetFields()
} }
}) })
} }
}) })
}, },
}, },
components: {AreaCodeSelector,upload}, components: {AreaCodeSelector, upload},
created() { created() {
this.reset() this.reset()
listServiceUser().then(r => { listServiceUser().then(r => {
...@@ -163,27 +176,38 @@ export default { ...@@ -163,27 +176,38 @@ export default {
DICT_TYPE() { DICT_TYPE() {
return DICT_TYPE return DICT_TYPE
}, },
rules(){ rules() {
return { return {
name:{ required:true,message:this.$t('请输入名称'),target:'blur' }, name: {required: true, message: this.$t('请输入名称'), target: 'blur'},
customerService:{ required:true,message:this.$t('请选择客户经理。'),target:['blur'],type:'number' }, customerService: {required: true, message: this.$t('请选择客户经理。'), target: ['blur'], type: 'number'},
customerContacts:[{areaCode:{required:true,message:this.$t('请输入区号。'),target:'blur'},phoneNew:{required:true,message:this.$t('请输入电话号码。'),target:'blur'} },], customerContacts: [{
type:{ type:'array', message:this.$t('请输入客户类别。'), required:true, target:['blur','change']}, areaCode: {required: true, message: this.$t('请输入区号。'), target: 'blur'},
source:{message:this.$t('前请输入客户来源'),required:true,target:'change',type:'number'} phoneNew: {required: true, message: this.$t('请输入电话号码。'), target: 'blur'}
},],
type: {type: 'array', message: this.$t('请输入客户类别。'), required: true, target: ['blur', 'change']},
source: {message: this.$t('前请输入客户来源'), required: true, target: 'change', type: 'number'}
} }
} }
}, },
data(){ data() {
return { return {
dialogTableVisible:false, dialogTableVisible: false,
serviceUserList:[], serviceUserList: [],
productTypeList:[], productTypeList: [],
productList:[], productList: [],
form:{} form: {}
} }
}, },
watch: {
dialogTableVisible(val) {
if (val) {
this.$nextTick(() => {
this.$refs.form.clearValidate()
})
}
}
}
} }
</script> </script>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment