Merge pull request 'master-dev' (#72) from master-dev into develop

Reviewed-on: http://git.xdadan.loc/tanex/emis-frontend/pulls/72
This commit is contained in:
wuteng 2025-08-28 17:07:35 +08:00
commit d6177c0495
8 changed files with 183 additions and 29 deletions

Binary file not shown.

View File

@ -84,3 +84,12 @@ export function delEmisCustomerUser(id) {
method: 'delete'
})
}
//导入企业税号
export function batchImportEnterprise(data) {
return request({
url: '/emis/emisCustomerUser/batchImportEnterprise',
method: 'post',
data: data
})
}

View File

@ -182,7 +182,7 @@
:show-file-list="false"
v-hasPermi="['emis:emisCustomerUser:add']"
:before-upload="beforeAvatarUpload">
<el-button slot="trigger" plain class="filter-item" size="mini" type="primary" >导入</el-button>
<el-button slot="trigger" plain class="filter-item" size="mini" type="primary" @click="blImport=1" >导入</el-button>
<el-link type="primary" style="line-height: 28px;font-size:13px" href="/static/tpl/imp_month_user.xlsx">下载导入模版</el-link>
</el-upload>
</el-col>
@ -200,6 +200,19 @@
月结网点维护
</el-button>
</el-col>
<el-col :span="1.5">
<el-upload
action=""
name="file"
accept="application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
:show-file-list="false"
v-hasPermi="['emis:emisCustomerUser:edit']"
:before-upload="beforeAvatarUpload">
<el-button slot="trigger" plain class="filter-item" size="mini" type="primary" @click="blImport=2">导入企业税号</el-button>
<el-link type="primary" style="line-height: 28px;font-size:13px" href="/static/tpl/imp_month_user_enterpriseTaxId.xlsx">下载导入模版</el-link>
</el-upload>
</el-col>
</el-row>
</div>
@ -346,7 +359,7 @@
</template>
<script>
import { listMonthUser, delEmisCustomerUser,addMonthUser ,resetCustomerUserPwd} from "@/api/emis/emisCustomerUser";
import { listMonthUser, delEmisCustomerUser,addMonthUser ,resetCustomerUserPwd, batchImportEnterprise} from "@/api/emis/emisCustomerUser";
import elDateSimplePicker from '@/components/DatePickerAdv/elDateSimplePicker';
// import emisCustomerUserView from '@/views/emis/emisCustomerUser/emisCustomerUserView';
import monthUserForm from '@/views/emis/emisCustomerUser/monthUserForm';
@ -420,6 +433,7 @@ export default {
// 修改站点代码时间范围
daterangeUpdateTime: [],
selectionList:[],
blImport:1,
// 查询参数
queryParams: {
pageNum: 1,
@ -594,8 +608,9 @@ export default {
for (let index = 0; index < results.length; index++) {
const element = results[index]
// 客户名称 英文简称 月结编号 联系人 手机号码 主归属网点 回款联系人 销售联系人 销售主管 销售支持 结算类型 国家 省份 城市 区县 联系地址 E-Mail 是否启用 是否开启OMS账号 首次签约时间 备注
const postData= {
let postData={}
if(this.blImport==1){
postData= {
customerName: element['客户名称'],
customerNameEn: element['客户英文简称'],
contact: element['联系人'],
@ -610,6 +625,8 @@ export default {
city:element['城市'],
county: element['区县'],
address: element['联系地址'],
enterpriseName: element['企业名称'],
enterpriseTaxId: element['企业税号'],
creditPeriod: element['账期(天)'],
settleDay: element['账单日'],
email: element['E-Mail'],
@ -624,8 +641,16 @@ export default {
blOpenOms: element['是否开启OMS账号'],
blSms: element['是否短信'],
remark: element['备注'],
blImport: 1,
blImport: this.blImport,
};
}else {
postData= {
customerName: element['客户名称'],
monthlyPayCode: element['月结编号'],
enterpriseName: element['企业名称'],
enterpriseTaxId: element['企业税号'],
}
}
// postData.cosignee= element['']
// postData.cosigneeAddress= element['收件地址']
// postData.cosigneeTelephone= element['收件电话']
@ -635,14 +660,21 @@ export default {
if(postData.firstSigningDay){
postData.firstSigningDay=excelDateToJSDate(postData.firstSigningDay).split(' ')[0]
}
if (this.blImport == 1) { //新增
const res = await addMonthUser(postData)
console.log(res);
if (res.code !== 200) {
this.$modal.msgError(JSON.stringify(res.msg))
loadingInstance.close()
return
}
} else { //更新
const res = await batchImportEnterprise(postData)
if (res.code !== 200) {
this.$modal.msgError(JSON.stringify(res.msg))
loadingInstance.close()
return
}
}
loadingInstance.close()
loadingInstance = this.$loading({
text: '正在导入 ' + _index + ' 数据...'

View File

@ -257,14 +257,16 @@
<el-checkbox style="font-size:400;margin-right:10px;font-size:10px" v-model="form.blMessage" :true-label="'1'" :false-label="'0'"><span style="font-size:10px"> {{ $t('寄件/签收短信') }} </span></el-checkbox>
</el-form-item>
</el-col>
<el-col :span="12" v-if="form.sender.country=='0086' || ['2','4','5'].includes(form.paymentType)">
<el-col :span="12" v-if="form.sender.country=='0086' ">
<el-form-item :label="$t('企业名称')" prop="sender.enterpriseName">
<el-input v-model="form.sender.enterpriseName" placeholder="请输入企业名称"></el-input>
<el-input v-model="form.sender.enterpriseName" placeholder="请输入企业名称" :disabled="['2','4','5'].includes(form.paymentType)"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" v-if="form.sender.country=='0086' || ['2','4','5'].includes(form.paymentType)">
<el-col :span="12" v-if="form.sender.country=='0086' ">
<el-form-item :label="$t('企业税号')" prop="sender.enterpriseTaxId">
<el-input v-model="form.sender.enterpriseTaxId" placeholder="请输入企业税号"></el-input>
<el-input v-model="form.sender.enterpriseTaxId" placeholder="请输入企业税号" :disabled="['2','4','5'].includes(form.paymentType)"></el-input>
</el-form-item>
</el-col>
</el-row>
@ -980,6 +982,10 @@ data() {
selectedSenderEnterpriseName:null,
// 选中的寄件人企业税号
selectedSenderEnterpriseTaxId:null,
//选中的月结客户企业号
selectedMonthUserEnterpriseName: null,
//选中的月结客户企业税号
selectedMonthUserEnterpriseTaxId: null,
// 表单校验
rules: {
billCode: [
@ -1532,6 +1538,10 @@ methods: {
this.form.sender.enterpriseName=item.enterpriseName;
// 企业税号
this.form.sender.enterpriseTaxId=item.enterpriseTaxId;
// 选中的月结客户企业号
this.selectedMonthUserEnterpriseName = item.enterpriseName;
// 选中的月结客户企业税号
this.selectedMonthUserEnterpriseTaxId = item.enterpriseTaxId;
}else{
this.form.paymentType= '1';
this.form.payee=null;
@ -1682,7 +1692,17 @@ methods: {
this.startTimer();
}
if (['2', '4', '5'].includes(this.form.paymentType)) { //月结
this.selectedMonthUserEnterpriseName = this.form.sender.enterpriseName;
this.selectedMonthUserEnterpriseTaxId = this.form.sender.enterpriseTaxId;
this.selectedSenderEnterpriseName = '';
this.selectedSenderEnterpriseTaxId = '';
} else {
this.selectedMonthUserEnterpriseName = '';
this.selectedMonthUserEnterpriseTaxId = '';
this.selectedSenderEnterpriseName = this.form.sender.enterpriseName;
this.selectedSenderEnterpriseTaxId = this.form.sender.enterpriseTaxId;
}
});
}else{
@ -2023,11 +2043,21 @@ methods: {
this.selectedSenderEnterpriseName=value.enterpriseName;
// 选中的寄件人企业税号
this.selectedSenderEnterpriseTaxId=value.enterpriseTaxId;
//企业税号
//非月结且地址是中国 企业税号取值寄件地址
if(!['2','4','5'].includes(this.form.paymentType) && this.form.sender.country=='0086' ){
this.form.sender.enterpriseName=value.enterpriseName;
this.form.sender.enterpriseTaxId=value.enterpriseTaxId;
}
//非月结且地址是非中国 企业号置空
if(this.form.sender.country!='0086' ){
this.form.sender.enterpriseName='';
this.form.sender.enterpriseTaxId='';
}
// 月结且中国 企业号取值月结客户企业号
if (['2', '4', '5'].includes(this.form.paymentType) && this.form.sender.country == '0086') {
this.form.sender.enterpriseName = this.selectedMonthUserEnterpriseName;
this.form.sender.enterpriseTaxId = this.selectedMonthUserEnterpriseTaxId;
}
},
onChangeSelectReceiver(value){
this.form.reciever.name=value.name;

View File

@ -259,14 +259,16 @@
<el-checkbox style="font-size:400;margin-right:10px;font-size:10px" v-model="form.blMessage" :true-label="'1'" :false-label="'0'"><span style="font-size:10px"> {{ $t('寄件/签收短信') }} </span></el-checkbox>
</el-form-item>
</el-col>
<el-col :span="12" v-if="form.sender.country=='0086' || ['2','4','5'].includes(form.paymentType)">
<el-col :span="12" v-if="form.sender.country=='0086' ">
<el-form-item :label="$t('企业名称')" prop="sender.enterpriseName">
<el-input v-model="form.sender.enterpriseName" placeholder="请输入企业名称"></el-input>
<el-input v-model="form.sender.enterpriseName" placeholder="请输入企业名称" :disabled="['2','4','5'].includes(form.paymentType)"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" v-if="form.sender.country=='0086' || ['2','4','5'].includes(form.paymentType)">
<el-col :span="12" v-if="form.sender.country=='0086' ">
<el-form-item :label="$t('企业税号')" prop="sender.enterpriseTaxId">
<el-input v-model="form.sender.enterpriseTaxId" placeholder="请输入企业税号"></el-input>
<el-input v-model="form.sender.enterpriseTaxId" placeholder="请输入企业税号" :disabled="['2','4','5'].includes(form.paymentType)"></el-input>
</el-form-item>
</el-col>
</el-row>
@ -1008,6 +1010,10 @@ data() {
selectedSenderEnterpriseName:null,
// 选中的寄件人企业税号
selectedSenderEnterpriseTaxId:null,
//选中的月结客户企业号
selectedMonthUserEnterpriseName: null,
//选中的月结客户企业税号
selectedMonthUserEnterpriseTaxId: null,
// 表单校验
rules: {
billCode: [
@ -1551,6 +1557,11 @@ methods: {
this.form.sender.enterpriseName=item.enterpriseName;
// 企业税号
this.form.sender.enterpriseTaxId=item.enterpriseTaxId;
// 选中的月结客户企业号
this.selectedMonthUserEnterpriseName = item.enterpriseName;
// 选中的月结客户企业税号
this.selectedMonthUserEnterpriseTaxId = item.enterpriseTaxId;
}else{
this.form.paymentType= '1';
this.form.payee=null;
@ -1632,6 +1643,8 @@ methods: {
},
initData() {
console.log('----initData----')
//console.log("====>this.action=2222=>",this.action);
//console.log("====>this.billCode=2222=>",this.billCode);
@ -1704,6 +1717,17 @@ methods: {
}
this.senderCountryCode = this.form.sender.country;
this.recieverCountryCode = this.form.reciever.country;
if(['2','4','5'].includes(this.form.paymentType)){ //月结
this.selectedMonthUserEnterpriseName = this.form.sender.enterpriseName;
this.selectedMonthUserEnterpriseTaxId = this.form.sender.enterpriseTaxId;
this.selectedSenderEnterpriseName ='';
this.selectedSenderEnterpriseTaxId ='';
}else{
this.selectedMonthUserEnterpriseName = '';
this.selectedMonthUserEnterpriseTaxId = '';
this.selectedSenderEnterpriseName = this.form.sender.enterpriseName;
this.selectedSenderEnterpriseTaxId = this.form.sender.enterpriseTaxId;
}
});
}
else{
@ -2052,11 +2076,21 @@ methods: {
this.selectedSenderEnterpriseName=value.enterpriseName;
// 选中的寄件人企业税号
this.selectedSenderEnterpriseTaxId=value.enterpriseTaxId;
//企业税号
//非月结且地址是中国 企业税号取值寄件地址
if(!['2','4','5'].includes(this.form.paymentType) && this.form.sender.country=='0086' ){
this.form.sender.enterpriseName=value.enterpriseName;
this.form.sender.enterpriseTaxId=value.enterpriseTaxId;
}
//非月结且地址是非中国 企业号置空
if(this.form.sender.country!='0086' ){
this.form.sender.enterpriseName='';
this.form.sender.enterpriseTaxId='';
}
// 月结且中国 企业号取值月结客户企业号
if (['2', '4', '5'].includes(this.form.paymentType) && this.form.sender.country == '0086') {
this.form.sender.enterpriseName = this.selectedMonthUserEnterpriseName;
this.form.sender.enterpriseTaxId = this.selectedMonthUserEnterpriseTaxId;
}
},
onChangeSelectReceiver(value){
this.form.reciever.name=value.name;

View File

@ -260,14 +260,14 @@
<el-checkbox style="font-size:400;margin-right:10px;font-size:10px" v-model="form.blMessage" :true-label="'1'" :false-label="'0'"><span style="font-size:10px"> {{ $t('寄件/签收短信') }} </span></el-checkbox>
</el-form-item>
</el-col>
<el-col :span="12" v-if="form.sender.country=='0086' || ['2','4','5'].includes(form.paymentType)">
<el-col :span="12" v-if="form.sender.country=='0086'">
<el-form-item :label="$t('企业名称')" prop="sender.enterpriseName">
<el-input v-model="form.sender.enterpriseName" placeholder="请输入企业名称"></el-input>
<el-input v-model="form.sender.enterpriseName" placeholder="请输入企业名称" :disabled="['2','4','5'].includes(form.paymentType)"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" v-if="form.sender.country=='0086' || ['2','4','5'].includes(form.paymentType)">
<el-col :span="12" v-if="form.sender.country=='0086'">
<el-form-item :label="$t('企业税号')" prop="sender.enterpriseTaxId">
<el-input v-model="form.sender.enterpriseTaxId" placeholder="请输入企业税号"></el-input>
<el-input v-model="form.sender.enterpriseTaxId" placeholder="请输入企业税号" :disabled="['2','4','5'].includes(form.paymentType)"></el-input>
</el-form-item>
</el-col>
</el-row>
@ -1011,6 +1011,10 @@ data() {
selectedSenderEnterpriseName:null,
// 选中的寄件人企业税号
selectedSenderEnterpriseTaxId:null,
//选中的月结客户企业号
selectedMonthUserEnterpriseName:null,
//选中的月结客户企业税号
selectedMonthUserEnterpriseTaxId:null,
// 表单校验
rules: {
billCode: [
@ -1549,6 +1553,11 @@ methods: {
this.form.sender.enterpriseName=item.enterpriseName;
// 企业税号
this.form.sender.enterpriseTaxId=item.enterpriseTaxId;
// 选中的月结客户企业号
this.selectedMonthUserEnterpriseName=item.enterpriseName;
// 选中的月结客户企业税号
this.selectedMonthUserEnterpriseTaxId=item.enterpriseTaxId;
}else{
this.form.paymentType= '1';
this.form.payee=null;
@ -1701,7 +1710,17 @@ methods: {
this.startTimer();
}
// if (['2', '4', '5'].includes(this.form.paymentType)) { //月结
// this.selectedMonthUserEnterpriseName = this.form.sender.enterpriseName;
// this.selectedMonthUserEnterpriseTaxId = this.form.sender.enterpriseTaxId;
// this.selectedSenderEnterpriseName = '';
// this.selectedSenderEnterpriseTaxId = '';
// } else {
// this.selectedMonthUserEnterpriseName = '';
// this.selectedMonthUserEnterpriseTaxId = '';
// this.selectedSenderEnterpriseName = this.form.sender.enterpriseName;
// this.selectedSenderEnterpriseTaxId = this.form.sender.enterpriseTaxId;
// }
});
}else{
@ -2047,11 +2066,21 @@ methods: {
this.selectedSenderEnterpriseName=value.enterpriseName;
// 选中的寄件人企业税号
this.selectedSenderEnterpriseTaxId=value.enterpriseTaxId;
//企业税号
//非月结且地址是中国 企业税号取值寄件地址
if(!['2','4','5'].includes(this.form.paymentType) && this.form.sender.country=='0086' ){
this.form.sender.enterpriseName=value.enterpriseName;
this.form.sender.enterpriseTaxId=value.enterpriseTaxId;
}
//非月结且地址是非中国 企业号置空
if(this.form.sender.country!='0086' ){
this.form.sender.enterpriseName='';
this.form.sender.enterpriseTaxId='';
}
// 月结且中国 企业号取值月结客户企业号
if (['2', '4', '5'].includes(this.form.paymentType) && this.form.sender.country == '0086') {
this.form.sender.enterpriseName = this.selectedMonthUserEnterpriseName;
this.form.sender.enterpriseTaxId = this.selectedMonthUserEnterpriseTaxId;
}
},
onChangeSelectReceiver(value){
this.form.reciever.name=value.name;

View File

@ -648,14 +648,15 @@
<el-input v-model="form.sender.address" rows="3" type="textarea" placeholder="" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="12" v-if="form.sender.country=='0086'">
<el-form-item :label="$t('企业名称')" prop="sender.enterpriseName">
<el-input v-model="form.sender.enterpriseName" placeholder="请输入企业名称"></el-input>
<el-input v-model="form.sender.enterpriseName" placeholder="请输入企业名称" :disabled="['2','4','5'].includes(form.paymentType)"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="12" v-if="form.sender.country=='0086'">
<el-form-item :label="$t('企业税号')" prop="sender.enterpriseTaxId">
<el-input v-model="form.sender.enterpriseTaxId" placeholder="请输入企业税号"></el-input>
<el-input v-model="form.sender.enterpriseTaxId" placeholder="请输入企业税号" :disabled="['2','4','5'].includes(form.paymentType)"></el-input>
</el-form-item>
</el-col>
@ -1359,6 +1360,11 @@ export default {
selectedSenderEnterpriseName:null,
// 选中的寄件人企业税号
selectedSenderEnterpriseTaxId:null,
//选中的月结客户企业号
selectedMonthUserEnterpriseName:null,
//选中的月结客户企业税号
selectedMonthUserEnterpriseTaxId:null,
// 表单校验
rules: {
billCode: [
@ -1621,6 +1627,10 @@ export default {
this.form.sender.enterpriseName=item.enterpriseName;
// 企业税号
this.form.sender.enterpriseTaxId=item.enterpriseTaxId;
// 选中的月结客户企业号
this.selectedMonthUserEnterpriseName=item.enterpriseName;
// 选中的月结客户企业税号
this.selectedMonthUserEnterpriseTaxId=item.enterpriseTaxId;
}
this.calcBillFee()
},
@ -1784,11 +1794,21 @@ export default {
this.selectedSenderEnterpriseName=value.enterpriseName;
// 选中的寄件人企业税号
this.selectedSenderEnterpriseTaxId=value.enterpriseTaxId;
//企业税号
//非月结且地址是中国 企业税号取值寄件地址
if(!['2','4','5'].includes(this.form.paymentType) && this.form.sender.country=='0086' ){
this.form.sender.enterpriseName=value.enterpriseName;
this.form.sender.enterpriseTaxId=value.enterpriseTaxId;
}
//非月结且地址是非中国 企业号置空
if(this.form.sender.country!='0086' ){
this.form.sender.enterpriseName='';
this.form.sender.enterpriseTaxId='';
}
// 月结且中国 企业号取值月结客户企业号
if(['2','4','5'].includes(this.form.paymentType) && this.form.sender.country=='0086' ){
this.form.sender.enterpriseName=this.selectedMonthUserEnterpriseName;
this.form.sender.enterpriseTaxId=this.selectedMonthUserEnterpriseTaxId;
}
},
onChangeSelectReceiver(value){
this.form.reciever.name=value.name;