This commit is contained in:
linfso 2024-05-15 19:05:34 +08:00
parent d43719dbc2
commit e4c1c97983
8 changed files with 121 additions and 30 deletions

View File

@ -1,8 +1,4 @@
<template>
<!-- :loading="loading" -->
<!-- v-el-select-loadmore="loadmore" -->
<!-- <i class="el-icon-arrow-down select-down" :class="visible&&'rotate180'"></i> -->
<el-select
filterable
clearable
@ -110,6 +106,8 @@
this.$emit("onChange",itemData);
},
onClear(){
this.$emit("input", this.svalue);
this.$emit("onClear");
this.queryParams.searchValue=null;
this.queryData();
},

View File

@ -101,11 +101,11 @@
</el-form-item>
</el-col>
<el-col :span="8">
<!-- <el-col :span="8">
<el-form-item label="专属业务员" prop="opEmpCode" >
<EmisUserSimplePicker0 :placeholder="$t('专属业务员')" v-model="form.opEmpCode" ></EmisUserSimplePicker0>
</el-form-item>
</el-col>
</el-col> -->
<el-col :span="8">
<el-form-item label="回款联系人" prop="payee" >
<EmisUserSimplePicker1 :placeholder="$t('回款联系人')" v-model="form.payee" ></EmisUserSimplePicker1>

View File

@ -15,7 +15,7 @@
</el-col> -->
<el-col :span="24">
<el-form-item label="使用网点" prop="useSiteCode">
<EmisSiteSimplePicker v-model="form.useSiteCode" :placeholder="$t('使用网点')" isInitiated="true" @onChange="onUseSiteChange"></EmisSiteSimplePicker>
<EmisSiteSimplePicker v-model="form.useSiteCode" :placeholder="$t('使用网点')" isInitiated="true" @onChange="onUseSiteChange" @onClear="onUseSiteChange"></EmisSiteSimplePicker>
<!-- <div v-if="ownerSiteCode == 88888">
<EmisSiteSimplePicker v-model="form.useSiteCode" :placeholder="$t('使用网点')" siteType="2" isInitiated="true" :disabled="false" ></EmisSiteSimplePicker>
</div>
@ -139,6 +139,7 @@
size="mini"
type="primary"
@click="handelSelectSendArea()"
:disabled="!form.useSiteCode"
>新增区域</el-button>
</el-col>
<el-col :span="24">
@ -167,6 +168,7 @@
<el-button
size="mini"
type="primary"
:disabled="!form.useSiteCode"
@click="handelSelectDispArea()"
>新增区域</el-button>
</el-col>
@ -407,15 +409,25 @@ export default {
},
onUseSiteChange(item){
if(item!=null){
// this.form.useSiteCode = item.sitCode;
this.form.useSite = item.siteName;
}
this.initSendAreaList();
this.initDispAreaList();
},
// 初始化寄件区域
initSendAreaList() {
this.loading = true;
let queryParams = {};
if(this.form.useSiteCode&&this.form.useSiteCode!=''){
queryParams = {
useSiteCode: this.form.useSiteCode,
};
}else{
this.emisQuoteSendAreaList=[]
return;
}
listEmisQuoteSendArea(queryParams).then(response => {
this.emisQuoteSendAreaList = response.rows;
if(this.form.sendAreaId != null){
@ -433,7 +445,16 @@ export default {
},
initDispAreaList(){
this.loading = true;
let queryParams = {};
let queryParams =null;
if(this.form.useSiteCode&&this.form.useSiteCode!=''){
queryParams = {
useSiteCode: this.form.useSiteCode,
};
}else{
this.emisQuoteDispAreaList=[]
return;
}
listEmisQuoteDispArea(queryParams).then(response => {
this.emisQuoteDispAreaList = response.rows;
if(this.form.dispAreaId != null){
@ -469,6 +490,7 @@ export default {
// 取消编辑寄件区域
cancelSendAreaForm(){
this.openSendAreaForm=false;
this.initSendAreaList();
},
// 公式改变
@ -495,6 +517,7 @@ export default {
// 取消编辑派件区域
cancelDispAreaForm(){
this.openDispAreaForm=false;
this.initDispAreaList();
},
// 选择派件区域
onDispAreaChange(){

View File

@ -18,12 +18,11 @@
<el-form-item label="产品类型" prop="prodCode">
<TransProductPicker placeholder="产品类型" v-model="queryParams.prodCode" :transLineCode="queryParams.transLineCode" @onChange="handleQuery"></TransProductPicker>
</el-form-item>
<!-- <el-form-item label="使用网点" prop="useSiteCode">
<EmisSiteSimplePicker v-if="ownerSiteCode == 88888" v-model="queryParams.useSiteCode" :placeholder="$t('使用网点')" siteType="1" isInitiated="true" :disabled="false" ></EmisSiteSimplePicker>
<EmisSiteSimplePicker v-else v-model="queryParams.useSiteCode" :placeholder="$t('使用网点')" siteType="2" isInitiated="true" :disabled="true" ></EmisSiteSimplePicker>
</el-form-item> -->
<el-form-item label="使用网点" prop="useSiteCode">
<EmisSiteSimplePicker0 v-if="ownerSiteCode == 88888" v-model="queryParams.useSiteCode" :placeholder="$t('使用网点')" siteType="1" isInitiated="true" :disabled="false" ></EmisSiteSimplePicker0>
</el-form-item>
<el-form-item :label="$t('寄件网点')" prop="sendAreaSiteCode">
<EmisSiteSimplePicker v-model="queryParams.sendAreaSiteCode" :placeholder="$t('寄件网点')" isInitiated="true" :disabled="false" @onChange="handleQuery"></EmisSiteSimplePicker>
<EmisSiteSimplePicker1 v-model="queryParams.sendAreaSiteCode" :placeholder="$t('寄件网点')" isInitiated="true" :disabled="false" @onChange="handleQuery"></EmisSiteSimplePicker1>
</el-form-item>
<el-form-item :label="$t('派件区域')" prop="dispAreaName">
<el-input
@ -249,13 +248,15 @@ import elDateSimplePicker from '@/components/DatePickerAdv/elDateSimplePicker';
import emisQuotePriceForm from '@/views/emis/emisQuotePrice/emisQuotePriceForm';
import CountryPicker from '@/views/emis/EmisBaseTools/CountryPicker.vue';
import EmisSiteSimplePicker from '@/views/emis/EmisBaseTools/EmisSiteSimplePicker.vue';
import EmisSiteSimplePicker0 from '@/views/emis/EmisBaseTools/EmisSiteSimplePicker.vue';
import EmisSiteSimplePicker1 from '@/views/emis/EmisBaseTools/EmisSiteSimplePicker.vue';
import TransLinePicker from '@/views/emis/EmisBaseTools/TransLinePicker.vue';
import TransProductPicker from '@/views/emis/EmisBaseTools/TransProductPicker.vue';
export default {
name: "emisQuotePrice",
components: { elDateSimplePicker,emisQuotePriceForm,CountryPicker,EmisSiteSimplePicker,TransLinePicker,TransProductPicker },
components: { elDateSimplePicker,emisQuotePriceForm,CountryPicker,EmisSiteSimplePicker0,EmisSiteSimplePicker1,TransLinePicker,TransProductPicker },
dicts: [
'sys_normal_disable','emis_create_area_type','emis_fee_type','emis_price_type'
],

View File

@ -428,11 +428,14 @@ export default {
if (res.rows.length==0) {
callback();
} else {
if(res.rows[0].id != this.form.id ){
callback(new Error("网点名称重复"));
}else{
res.rows.forEach(item=>{
if(item.id != this.form.id && item.siteName==value ){
callback(new Error("网点名称重复"));
return;
}
});
// 没有重复的
callback();
}
}
})
.catch((error) => {
@ -445,7 +448,14 @@ export default {
if (res.rows.length==0) {
callback();
} else {
callback(new Error("网点名称重复"));
res.rows.forEach(item=>{
if(item.siteName==value ){
callback(new Error("网点名称重复"));
return;
}
});
// 没有重复的
callback();
}
})
.catch((error) => {

View File

@ -137,7 +137,8 @@ export default {
// { validator: this.validateCode, trigger: "blur" }
// ],
lineName: [
{ required: true, message: "线路名称不能为空", trigger: "blur" }
{ required: true, message: "线路名称不能为空", trigger: "blur" },
{ validator: this.validateName, trigger: "blur" }
],
meterRate: [
{ required: true, message: "泡重比", trigger: "blur" },
@ -249,6 +250,55 @@ export default {
}
}
},
validateName (rule, value, callback) {
if (!value) {
callback(new Error("请输入线路名称"));
} else if (value.length > 50) {
callback(new Error("长度为1-50"));
} else {
if (this.form.id) {
// 修改时检查账号是否重复
listEmisTransLine({ lineName: value})
.then((res) => {
if (res.rows.length==0) {
callback();
} else {
res.rows.forEach(item=>{
if(item.id != this.form.id && item.lineName==value ){
callback(new Error("线路名称重复"));
return;
}
});
// 没有重复的
callback();
}
})
.catch((error) => {
callback(new Error("验证失败,请重试"));
});
} else {
// 新增时检查账号是否重复
listEmisTransLine({ lineName: value})
.then((res) => {
if (res.rows.length==0) {
callback();
} else {
res.rows.forEach(item=>{
if(item.lineName==value ){
callback(new Error("线路名称重复"));
return;
}
});
// 没有重复的
callback();
}
})
.catch((error) => {
callback(new Error("验证失败,请重试"));
});
}
}
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {

View File

@ -130,7 +130,8 @@ export default {
// { validator: this.validateName, trigger: "blur" }
prodName: [
{ required: true, message: "名称不能为空", trigger: "blur" }
{ required: true, message: "名称不能为空", trigger: "blur" },
{ validator: this.validateName, trigger: "blur" }
],
prodNameEn: [
{ required: true, message: "英文名称不能为空", trigger: "blur" }
@ -242,11 +243,13 @@ export default {
if (res.rows.length==0) {
callback();
} else {
if(res.rows[0].id != this.form.id ){
callback(new Error("类型名称重复"));
}else{
callback();
}
res.rows.forEach(item=>{
if(item.id != this.form.id && item.prodName==value && item.transLineCode==this.form.transLineCode ){
callback(new Error("类型名称重复"));
return;
}
});
callback();
}
})
.catch((error) => {
@ -259,7 +262,14 @@ export default {
if (res.rows.length==0) {
callback();
} else {
callback(new Error("类型名称重复"));
res.rows.forEach(item=>{
if(item.prodName==value && item.transLineCode==this.form.transLineCode ){
callback(new Error("类型名称重复"));
return;
}
});
// 没有重复的
callback();
}
})
.catch((error) => {

View File

@ -361,7 +361,6 @@ export default {
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
this.getTranslineList();
},
/** 重置按钮操作 */
resetQuery() {