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

View File

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

View File

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

View File

@ -18,12 +18,11 @@
<el-form-item label="产品类型" prop="prodCode"> <el-form-item label="产品类型" prop="prodCode">
<TransProductPicker placeholder="产品类型" v-model="queryParams.prodCode" :transLineCode="queryParams.transLineCode" @onChange="handleQuery"></TransProductPicker> <TransProductPicker placeholder="产品类型" v-model="queryParams.prodCode" :transLineCode="queryParams.transLineCode" @onChange="handleQuery"></TransProductPicker>
</el-form-item> </el-form-item>
<!-- <el-form-item label="使用网点" prop="useSiteCode"> <el-form-item label="使用网点" prop="useSiteCode">
<EmisSiteSimplePicker v-if="ownerSiteCode == 88888" v-model="queryParams.useSiteCode" :placeholder="$t('使用网点')" siteType="1" isInitiated="true" :disabled="false" ></EmisSiteSimplePicker> <EmisSiteSimplePicker0 v-if="ownerSiteCode == 88888" v-model="queryParams.useSiteCode" :placeholder="$t('使用网点')" siteType="1" isInitiated="true" :disabled="false" ></EmisSiteSimplePicker0>
<EmisSiteSimplePicker v-else v-model="queryParams.useSiteCode" :placeholder="$t('使用网点')" siteType="2" isInitiated="true" :disabled="true" ></EmisSiteSimplePicker> </el-form-item>
</el-form-item> -->
<el-form-item :label="$t('寄件网点')" prop="sendAreaSiteCode"> <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>
<el-form-item :label="$t('派件区域')" prop="dispAreaName"> <el-form-item :label="$t('派件区域')" prop="dispAreaName">
<el-input <el-input
@ -249,13 +248,15 @@ import elDateSimplePicker from '@/components/DatePickerAdv/elDateSimplePicker';
import emisQuotePriceForm from '@/views/emis/emisQuotePrice/emisQuotePriceForm'; import emisQuotePriceForm from '@/views/emis/emisQuotePrice/emisQuotePriceForm';
import CountryPicker from '@/views/emis/EmisBaseTools/CountryPicker.vue'; 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 TransLinePicker from '@/views/emis/EmisBaseTools/TransLinePicker.vue';
import TransProductPicker from '@/views/emis/EmisBaseTools/TransProductPicker.vue'; import TransProductPicker from '@/views/emis/EmisBaseTools/TransProductPicker.vue';
export default { export default {
name: "emisQuotePrice", name: "emisQuotePrice",
components: { elDateSimplePicker,emisQuotePriceForm,CountryPicker,EmisSiteSimplePicker,TransLinePicker,TransProductPicker }, components: { elDateSimplePicker,emisQuotePriceForm,CountryPicker,EmisSiteSimplePicker0,EmisSiteSimplePicker1,TransLinePicker,TransProductPicker },
dicts: [ dicts: [
'sys_normal_disable','emis_create_area_type','emis_fee_type','emis_price_type' '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) { if (res.rows.length==0) {
callback(); callback();
} else { } else {
if(res.rows[0].id != this.form.id ){ res.rows.forEach(item=>{
callback(new Error("网点名称重复")); if(item.id != this.form.id && item.siteName==value ){
}else{ callback(new Error("网点名称重复"));
return;
}
});
// 没有重复的
callback(); callback();
}
} }
}) })
.catch((error) => { .catch((error) => {
@ -445,7 +448,14 @@ export default {
if (res.rows.length==0) { if (res.rows.length==0) {
callback(); callback();
} else { } else {
callback(new Error("网点名称重复")); res.rows.forEach(item=>{
if(item.siteName==value ){
callback(new Error("网点名称重复"));
return;
}
});
// 没有重复的
callback();
} }
}) })
.catch((error) => { .catch((error) => {

View File

@ -137,7 +137,8 @@ export default {
// { validator: this.validateCode, trigger: "blur" } // { validator: this.validateCode, trigger: "blur" }
// ], // ],
lineName: [ lineName: [
{ required: true, message: "线路名称不能为空", trigger: "blur" } { required: true, message: "线路名称不能为空", trigger: "blur" },
{ validator: this.validateName, trigger: "blur" }
], ],
meterRate: [ meterRate: [
{ required: true, message: "泡重比", trigger: "blur" }, { 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() { submitForm() {
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {

View File

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

View File

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