web-africa-h5/pages/prefecture/part/repurchase.vue

297 lines
7.1 KiB
Vue
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view>
<view class="prefecture form-group mb20">
<!-- 复购编号 -->
<view class="form-item" v-if="cid == 33">
<view class="form-label">
<text class="domation mr10">*</text>
{{ $t('APP_ADD_29') }}
</view>
<view class="disabled-input">{{ form.upgradeMemberCode }}</view>
</view>
<view class="form-item" v-else>
<view class="form-label">
<text class="domation mr10">*</text>
{{ $t('w_0245') }}
</view>
<input @blur="changeInput('upgradeMemberCode')" class="form-input" type="text" v-model="form.upgradeMemberCode" :placeholder="$t('w_0280')" />
</view>
<!-- 复购姓名 -->
<view class="form-item" v-if="cid == 33">
<view class="form-label">
<text class="domation mr10">*</text>
{{ $t('APP_ADD_30') }}
</view>
<view class="disabled-input">{{ form.upgradeMemberName }}</view>
</view>
<view class="form-item" v-else>
<view class="form-label">
<text class="domation mr10">*</text>
{{ $t('w_0246') }}
</view>
<view class="disabled-input">{{ form.upgradeMemberName }}</view>
</view>
<!-- 发货方式 -->
<view class="form-item" style="border-bottom: 1rpx solid #eee;" @click="opendeliveryShow" v-if="deliveryList">
<view class="form-label">
<text class="domation mr10">*</text>
{{ $t('w_0061') }}
</view>
<view class="form-input">{{ deliveryIndex }}</view>
<text class="icon iconfont icon-jiantou" v-if="userCountry != 1"></text>
</view>
<u-picker
:cancelText="$t('MN_F_31')"
:confirmText="$t('MN_F_32')"
@cancel="deliveryShow = false"
:show="deliveryShow"
ref="deliveryList"
:columns="[deliveryList]"
@confirm="changeDelivery"
keyName="label"
></u-picker>
<!-- 会员店铺 -->
<view class="form-item" style="border-bottom: 1rpx solid #eee;" @click="openStoreDialog" v-if="userCountry != 1 && form.deliveryWay != 2">
<view class="form-label">
<text class="domation mr10">*</text>
{{ $t('w_0100') }}
</view>
<view class="form-input">{{ storeIndex }}</view>
<text class="icon iconfont icon-jiantou" v-if="userCountry != 1"></text>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
deliveryIndex: '',
transportIndex: 0,
storeIndex: '',
storehouseIndex: '',
deliveryShow: false,
storeShow: false,
showStoreDialog: false,
filteredStores: [],
searchTerm: '',
storeData:{},
};
},
inject: ['form'],
props: ['cid','deliveryList', 'transportType', 'userCountry', 'storeList', 'storehouse','storeLists'],
created() {
let self= this;
self.$fire.on('handleStoreData', function(n) {
console.log(n,'n');
self.handleStoreData(n)
})
console.log(this.userCountry,'111');
},
watch:{
deliveryList: function(n, o) {
if (n != o && n!='') {
this.deliveryIndex = n[0].label;
this.form.deliveryWay = n[0].value;
}
},
},
methods: {
openStoreDialog() {
uni.navigateTo({
url: '/pages/prefecture/part/memberStore' // 跳转到子页面
});
},
handleStoreData(data) {
this.storeData = data; // 接收子页面传递的数据
this.storeIndex = this.storeData.storeName+'('+this.storeData.storeCode+')';
this.form.pkMemberStore = this.storeData.pkId;
},
opendeliveryShow() {
if (this.userCountry == 1) {
return;
}
this.deliveryShow = true;
},
changePkMemberStore(e) {
this.storeIndex = e.value[0].storeName;
if (this.storeList) {
this.form.pkMemberStore = e.value[0].pkId;
}
this.storeShow = false;
},
changeDelivery(e) {
// this.deliveryIndex = e.detail.value;
// this.form.deliveryWay = this.deliveryList[this.deliveryIndex].value;
this.deliveryIndex = e.value[0].label;
this.form.deliveryWay = e.value[0].value;
this.$emit('queryOrderPostage');
this.deliveryShow = false;
},
changeStore(e) {
this.storeIndex = e.detail.value;
if (this.storeList) {
this.form.pkMemberStore = this.storeList[this.storeIndex].pkId;
}
},
changeStorehouse(e) {
this.storehouseIndex = e.detail.value;
if (this.storehouse) {
this.form.pkStorehouse = this.storehouse[this.storehouseIndex].pkId;
}
},
changeInput(e) {
this.$emit('changeInput', e);
},
changeTransport(e) {
this.transportIndex = e.detail.value;
this.form.transType = this.transportType[this.transportIndex].value;
this.$emit('queryOrderPostage');
},
changeAccount(e) {
this.bank_index = e.detail.value;
console.log(this.bank_index);
this.form.pkBank = this.accountList[this.bank_index].value;
},
changeType(n) {
this.registType = n;
},
changePlaceDept(e) {
this.form.placeDept = e.detail.value + 1;
this.changeInput('placeDept');
},
closeQuery() {
this[this.poptype] = this.queryValue;
if (this.poptype == 'pkSettleCountry') {
this.form.pkSettleCountry = this.countryList[this.pkSettleCountry].pkId;
} else {
this.form.pkCountry = this.countryList[this.pkCountry].pkId;
}
this.isQuery = false;
},
changeQuery(e) {
this.queryValue = e.detail.value[0];
},
moveHandle() {
return false;
},
openCPop(name) {
this.poptype = name;
this.isQuery = true;
}
}
};
</script>
<style lang="scss">
.title-row {
display: flex;
justify-content: space-between;
padding: 20rpx 0rpx;
margin-left: 20rpx;
border-bottom: 1rpx solid #ccc;
font-weight: bold;
}
.title-row span {
flex: 1;
}
.fixed-rows {
padding: 0;
margin: 0;
list-style: none;
}
.data-item {
display: flex;
justify-content: space-between;
padding: 30rpx 0; /* 调整每个数据项的上下内边距 */
border-bottom: 1px solid #eee; /* 添加底部边框 */
margin-bottom: 10rpx;
}
.data-item view {
flex: 1; /* 均分每个数据项的宽度 */
white-space: nowrap; /* 不换行 */
overflow: hidden; /* 超出部分隐藏 */
text-overflow: ellipsis; /* 超出部分用省略号表示 */
margin-left: 10rpx;
}
.pop-up-bg {
position: fixed;
background-color: rgba(0, 0, 0, 0.6);
left: 0;
top: 0;
width: 100%;
height: 100vh;
z-index: 99;
}
.pop-up {
position: fixed;
bottom: 0;
left: 0;
width: 100%;
height: 50vh; /* 限制最大高度 */
overflow-y: auto; /* 当内容超出时允许垂直滚动 */
background-color: #ffffff;
z-index: 100;
}
.form-title {
width: 750rpx;
height: 106rpx;
background: #fb3024;
padding-left: 44rpx;
padding-right: 25rpx;
position: relative;
box-sizing: border-box;
font-size: 28rpx;
color: #ffffff;
line-height: 106rpx;
font-weight: bold;
z-index: 1;
}
.form-title.redtitle {
width: 750rpx;
height: 106rpx;
background: #fb3024;
padding-left: 44rpx;
position: relative;
box-sizing: border-box;
font-size: 28rpx;
color: #fff;
line-height: 106rpx;
font-weight: bold;
z-index: 1;
}
.form-title::before {
content: '';
position: absolute;
top: 0;
bottom: 0;
margin: auto;
left: 25rpx;
width: 6rpx;
height: 24rpx;
background-color: #fb3024;
z-index: 1;
}
.redtitle.form-title::before {
content: '';
position: absolute;
top: 0;
bottom: 0;
margin: auto;
left: 25rpx;
width: 6rpx;
height: 24rpx;
background-color: #fff;
z-index: 1;
}
</style>