123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- <template>
- <view>
- <image class='bg-image' mode="widthFix"
- src="https://qtzl.etcjz.cn/default-bucket/20240324/3eba2095f5204798a1f8101b_beijing.jpg"></image>
- <view class="content-re">
- <custom-header :back="false" title="邮寄"></custom-header>
- <view style="padding-top: 20rpx" v-if="isShow">
- <form-builder-vue :formData="formData" :config="config" @radioChange="radioChange"
- @submit="submit"></form-builder-vue>
- </view>
- </view>
- </view>
- </template>
- <script setup lang="ts">
- import { unifyTemplate } from '@/hooks/unifyTemplate';
- import { TypeData, Index } from '@/components/form-builder/tools';
- import { ref } from 'vue';
- import { onLoad } from '@dcloudio/uni-app';
- import { request } from '@/utils/network/request';
- import fromData from './fromData.js';
- let config = ref<any>({
- submitName: '提交',
- titleWidth: 160
- });
- let formData = ref(fromData);
- const {
- formBuilderVue, //组件
- CustomHeader, //头部组件
- initData, //初始化数据
- isShow, //是否展示formBuilderVue组件
- qdOrderVal //qdOrder中数据 ref
- } = unifyTemplate(); //初始化数据
- //获取页面配置
- onLoad((opin) => {
- initData(opin, 0).then((data) => {
- // formData.value = JSON.parse(data.config.tableConfig)
- // console.log(formData.value,data);
- // isShow.value = true
- delete data.config.tableConfig;
- config.value = Object.assign(data.config, config.value);
- submit({
- whetherToMail: 1
- });
- });
- });
-
- //单项选择器
- function radioChange(e : any, item : TypeData) {
- if (item.title === '是否邮寄') {
- if (parseInt(e.detail.value) == 1) {
- formData.value[Index('收件人', formData.value)].show = true;
- formData.value[Index('收件人手机号', formData.value)].show = true;
- formData.value[Index('省市区', formData.value)].show = true;
- formData.value[Index('详细地址', formData.value)].show = true;
- formData.value[Index('邮政编码', formData.value)].show = true;
- } else {
- formData.value[Index('收件人', formData.value)].show = false;
- formData.value[Index('收件人手机号', formData.value)].show = false;
- formData.value[Index('省市区', formData.value)].show = false;
- formData.value[Index('详细地址', formData.value)].show = false;
- formData.value[Index('邮政编码', formData.value)].show = false;
- }
- }
- }
- /**
- * 请求函数,e为处理后的value
- * */
- function submit(e : any) {
- let { commitInterface, jumpPage } = config.value;
- uni.navigateTo({
- url: '/' + jumpPage,
- animationType: 'pop-in',
- animationDuration: 500
- });
- return
- // qdorder数据
- let { userType, vanType, vehicleColor, vehiclePlate, qdOrderNo } =
- qdOrderVal.value;
- // 客货类型
- qdOrderVal.value.type = vanType;
- const data = {
- userType,
- qdOrderNo,
- vehiclePlate,
- vehiclePlateColor: vehicleColor,
- type: vanType,
- orderSource: 'H5',
- ...e
- };
-
- // let { commitInterface, jumpPage } = config.value;
- console.log('邮件请求数据', data, e);
-
- // return;
- request(commitInterface || '3dc2df0ba7004fffbd97192cbaa66b6f', {
- data,
- showTitle: '正在提交订单...'
- }).then((res) => {
- if (res.statusCode === 0) {
- // 通过orderId关联产品
- relatedProducts(
- qdOrderVal.value.productCode || qdOrderVal.value.promoteId,
- JSON.parse(res.bizContent).orderId
- );
- }
- });
- }
- /**
- * 关联产品
- * */
- function relatedProducts(promoteId : string, orderId : string) {
- const data = {
- promoteId,
- orderId
- };
- let { commitInterface, jumpPage } = config.value;
- request('198172b1858d474fa8e35225d65014d7', {
- data,
- }).then((res) => {
- console.log('关联成功', res);
- if (res.statusCode === 0) {
- relatedEquity(orderId);
- uni.navigateTo({
- url: '/' + jumpPage,
- animationType: 'pop-in',
- animationDuration: 500
- });
- }
- }).catch(err => {
- console.log(err, 'err');
- if (err.errMsg === 'request:fail timeout') {
- relatedProducts(promoteId, orderId)
- }
- });
- }
-
- /**
- * 关联权益
- * */
- function relatedEquity(orderId : string) {
- if (!qdOrderVal.value.equityId) {
- return
- }
- const data = {
- equityId: qdOrderVal.value.equityId, //权益编号
- orderId, //订单id
- isRepeatPurchase: 1 //是否重复加购权益
- };
- console.log(data, '关联权益');
- request('10414819633f46db98158fc7b4e8475e', {
- showLoading: true,
- data
- }).then((res) => {
- if (res.statusCode === 0) {
- console.log('关联权益成功', res);
- }
- });
- }
- </script>
- <style lang="scss" scoped></style>
|