| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285 | 
							- <!-- 申请分销商  -->
 
- <template>
 
-   <s-layout title="申请分销商" class="apply-wrap" navbar="inner">
 
-     <s-empty
 
-       v-if="state.error === 1"
 
-       paddingTop="0"
 
-       icon="/static/comment-empty.png"
 
-       text="未开启分销商申请"
 
-     ></s-empty>
 
-     <view v-if="state.error === 0" class="distribution-apply-wrap">
 
-       <view class="apply-header">
 
-         <view class="header-box ss-flex">
 
-           <image
 
-             class="bg-img"
 
-             :src="sheep.$url.cdn(state.background)"
 
-             mode="widthFix"
 
-             @load="onImgLoad"
 
-           ></image>
 
-           <view class="heaer-title">申请分销商</view>
 
-         </view>
 
-       </view>
 
-       <view class="apply-box bg-white" :style="{ marginTop: state.imgHeight + 'rpx' }">
 
-         <uni-forms
 
-           label-width="200"
 
-           :model="state.model"
 
-           :rules="state.rules"
 
-           border
 
-           class="form-box"
 
-         >
 
-           <view class="item-box">
 
-             <uni-forms-item
 
-               v-for="(item, index) in state.formList"
 
-               :key="index"
 
-               :label="item.name"
 
-               :required="true"
 
-               :label-position="item.type == 'image' ? 'top' : 'left'"
 
-             >
 
-               <uni-easyinput
 
-                 v-if="item.type !== 'image'"
 
-                 :inputBorder="false"
 
-                 :type="item.type"
 
-                 :styles="{ disableColor: '#fff' }"
 
-                 placeholderStyle="color:#BBBBBB;font-size:28rpx;line-height:normal"
 
-                 v-model="item.value"
 
-                 :placeholder="`请填写${item.name}`"
 
-               />
 
-               <s-uploader
 
-                 v-if="item.type === 'image'"
 
-                 v-model="item.aaa"
 
-                 v-model:url="item.value"
 
-                 fileMediatype="image"
 
-                 limit="1"
 
-                 mode="grid"
 
-                 :imageStyles="{ width: '168rpx', height: '168rpx' }"
 
-                 class="file-picker"
 
-               />
 
-             </uni-forms-item>
 
-           </view>
 
-         </uni-forms>
 
-         <label class="ss-flex ss-m-t-20" @tap="onChange" v-if="state.protocol?.status == 1">
 
-           <radio :checked="state.isAgree" color="var(--ui-BG-Main)" style="transform: scale(0.6)" />
 
-           <view class="agreement-text ss-flex">
 
-             <view class="ss-m-r-4">勾选代表同意</view>
 
-             <view
 
-               class="tcp-text"
 
-               @tap.stop="
 
-                 sheep.$router.go('/pages/public/richtext', {
 
-                   id: state.protocol.id,
 
-                   title: state.protocol.title,
 
-                 })
 
-               "
 
-             >
 
-               《{{ state.protocol.title }}》
 
-             </view>
 
-           </view>
 
-         </label>
 
-         <su-fixed bottom placeholder>
 
-           <view class="submit-box ss-flex ss-row-center ss-p-30">
 
-             <button class="submit-btn ss-reset-button ui-BG-Main ui-Shadow-Main" @tap="submit">
 
-               {{ submitText }}
 
-             </button>
 
-           </view>
 
-         </su-fixed>
 
-       </view>
 
-     </view>
 
-   </s-layout>
 
- </template>
 
- <script setup>
 
-   import sheep from '@/sheep';
 
-   import { onLoad } from '@dcloudio/uni-app';
 
-   import { computed, reactive } from 'vue';
 
-   import { isEmpty } from 'lodash';
 
-   const state = reactive({
 
-     error: -1,
 
-     status: '-',
 
-     config: {},
 
-     isAgree: false,
 
-     formList: [],
 
-     protocol: {},
 
-     applyInfo: [],
 
-     background: '',
 
-     imgHeight: 400,
 
-   });
 
-   //勾选协议
 
-   function onChange() {
 
-     state.isAgree = !state.isAgree;
 
-   }
 
-   const submitText = computed(() => {
 
-     if (state.status === 'normal') return '修改信息';
 
-     if (state.status === 'needinfo') return '提交审核';
 
-     if (state.status === 'reject') return '重新提交';
 
-     return '';
 
-   });
 
-   async function getAgentForm() {
 
-     const { error, data } = await sheep.$api.commission.form();
 
-     state.error = error;
 
-     if (error === 0) {
 
-       state.status = data.status;
 
-       state.background = data.background;
 
-       state.formList = data.form;
 
-       state.applyInfo = data.applyInfo;
 
-       state.protocol = data.protocol;
 
-       if (data.protocol.status != 1) {
 
-         state.isAgree = true;
 
-       }
 
-       mergeFormList();
 
-     }
 
-   }
 
-   function onImgLoad(e) {
 
-     state.imgHeight = (e.detail.height / e.detail.width) * 750 - 88;
 
-   }
 
-   async function submit() {
 
-     if (!state.isAgree) {
 
-       sheep.$helper.toast('请同意申请协议');
 
-       return;
 
-     }
 
-     const validate = state.formList.every((item) => {
 
-       if (isEmpty(item.value)) {
 
-         if (item.type !== 'image') {
 
-           sheep.$helper.toast(`请填写${item.name}`);
 
-         } else {
 
-           sheep.$helper.toast(`请上传${item.name}`);
 
-         }
 
-         return false;
 
-       }
 
-       return true;
 
-     });
 
-     if (!validate) {
 
-       return;
 
-     }
 
-     const { error } = await sheep.$api.commission.apply({
 
-       data: state.formList,
 
-     });
 
-     if (error === 0) {
 
-       sheep.$router.back();
 
-     }
 
-   }
 
-   onLoad(() => {
 
-     getAgentForm();
 
-   });
 
-   // 初始化formData
 
-   function mergeFormList() {
 
-     state.formList.forEach((form) => {
 
-       const apply = state.applyInfo.find(
 
-         (info) => info.type === form.type && info.name === form.name,
 
-       );
 
-       if (typeof apply !== 'undefined') form.value = apply.value;
 
-     });
 
-   }
 
- </script>
 
- <style lang="scss" scoped>
 
-   :deep() {
 
-     .uni-forms-item__label .label-text {
 
-       font-size: 28rpx !important;
 
-       color: #333333 !important;
 
-       line-height: normal !important;
 
-     }
 
-     .file-picker__progress {
 
-       height: 0 !important;
 
-     }
 
-     .uni-list-item__content-title {
 
-       font-size: 28rpx !important;
 
-       color: #333333 !important;
 
-       line-height: normal !important;
 
-     }
 
-     .uni-icons {
 
-       font-size: 40rpx !important;
 
-     }
 
-     .is-disabled {
 
-       color: #333333;
 
-     }
 
-   }
 
-   .distribution-apply-wrap {
 
-     // height: 100vh;
 
-     // width: 100vw;
 
-     // position: absolute;
 
-     // left: 0;
 
-     // top: 0;
 
-     // background-color: #fff;
 
-     // overflow-y: auto;
 
-     .submit-btn {
 
-       width: 690px;
 
-       height: 86rpx;
 
-       border-radius: 43rpx;
 
-     }
 
-     .apply-header {
 
-       position: absolute;
 
-       left: 0;
 
-       top: 0;
 
-     }
 
-     .header-box {
 
-       width: 100%;
 
-       position: relative;
 
-       .bg-img {
 
-         width: 750rpx;
 
-       }
 
-       .heaer-title {
 
-         position: absolute;
 
-         left: 30rpx;
 
-         top: 50%;
 
-         transform: translateY(-50%);
 
-         font-size: 50rpx;
 
-         font-weight: bold;
 
-         color: #ffffff;
 
-         z-index: 11;
 
-         &::before {
 
-           content: '';
 
-           width: 51rpx;
 
-           height: 8rpx;
 
-           background: #ffffff;
 
-           border-radius: 4rpx;
 
-           position: absolute;
 
-           z-index: 12;
 
-           bottom: -20rpx;
 
-         }
 
-       }
 
-     }
 
-     .apply-box {
 
-       padding: 0 40rpx;
 
-       .item-box {
 
-         border-bottom: 2rpx solid #eee;
 
-       }
 
-     }
 
-   }
 
-   .agreement-text {
 
-     font-size: 24rpx;
 
-     color: #c4c4c4;
 
-     line-height: normal;
 
-     .tcp-text {
 
-       color: var(--ui-BG-Main);
 
-     }
 
-   }
 
-   .card-image {
 
-     width: 140rpx;
 
-     height: 140rpx;
 
-     border-radius: 50%;
 
-   }
 
- </style>
 
 
  |