| @ -0,0 +1,351 @@ | |||
| <template> | |||
| <view class="applyLaundryStore"> | |||
| <navbar title="渠道合作" leftClick @leftClick="$utils.navigateBack" /> | |||
| <view class="frame"> | |||
| <view class="title"> | |||
| <span | |||
| style="width: 10rpx;height: 40rpx;background-color: #f78142;border-radius: 10rpx;overflow: hidden;"></span> | |||
| <span>申请信息</span> | |||
| </view> | |||
| <view class="shopName"> | |||
| <view>类型</view> | |||
| <view> | |||
| <uv-radio-group v-model="form.type"> | |||
| <uv-radio | |||
| v-for="(item, index) in typeList" | |||
| :key="index" | |||
| :customStyle="{margin: '16rpx'}" | |||
| size="40rpx" | |||
| iconSize="30rpx" | |||
| labelSize="30rpx" | |||
| :disabled="isUpdate" | |||
| :label="item.name" | |||
| :name="item.type"> | |||
| </uv-radio> | |||
| </uv-radio-group> | |||
| </view> | |||
| </view> | |||
| <view class="shopName"> | |||
| <view style="width: 300rpx;" | |||
| v-if="form.type">身份证</view> | |||
| <view style="width: 300rpx;" | |||
| v-else>营业执照</view> | |||
| <view> | |||
| <uv-upload | |||
| :fileList="fileList" | |||
| name="fileList" | |||
| :maxCount="2" | |||
| width="180rpx" | |||
| height="180rpx" | |||
| :disabled="isUpdate" | |||
| multiple | |||
| @afterRead="afterRead" | |||
| @delete="deleteImage"> | |||
| </uv-upload> | |||
| </view> | |||
| </view> | |||
| <view class="shopName"> | |||
| <view>姓名</view> | |||
| <view> | |||
| <input v-model="form.name" | |||
| :disabled="isUpdate" placeholder="请输入姓名" clearable></input> | |||
| </view> | |||
| </view> | |||
| <view class="shopName"> | |||
| <view>性别</view> | |||
| <view> | |||
| <uv-radio-group v-model="form.sex"> | |||
| <uv-radio | |||
| v-for="(item, index) in sexList" | |||
| :key="index" | |||
| :customStyle="{margin: '16rpx'}" | |||
| size="40rpx" | |||
| iconSize="30rpx" | |||
| :disabled="isUpdate" | |||
| labelSize="30rpx" | |||
| :label="item.name" | |||
| :name="item.name"> | |||
| </uv-radio> | |||
| </uv-radio-group> | |||
| </view> | |||
| </view> | |||
| <view class="shopName"> | |||
| <view>手机号</view> | |||
| <view> | |||
| <input v-model="form.phone" | |||
| :disabled="isUpdate" type="number" placeholder="请输入手机号" clearable></input> | |||
| </view> | |||
| </view> | |||
| <view class="shopName" v-if="form.type"> | |||
| <view>身份证号</view> | |||
| <view> | |||
| <input v-model="form.no" | |||
| :disabled="isUpdate" placeholder="请输入身份证号" clearable></input> | |||
| </view> | |||
| </view> | |||
| <view class="shopName" v-else> | |||
| <view>社会信用代码</view> | |||
| <view> | |||
| <input v-model="form.no" | |||
| :disabled="isUpdate" placeholder="请输入社会信用统一代码" clearable></input> | |||
| </view> | |||
| </view> | |||
| <view class="shopName"> | |||
| <view>邮寄地址</view> | |||
| <view> | |||
| <input v-model="form.address" | |||
| :disabled="isUpdate" placeholder="请输入邮寄地址" clearable></input> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <view class="config"> | |||
| <uv-checkbox-group | |||
| v-model="checkboxValue" | |||
| shape="circle"> | |||
| <view class="content"> | |||
| <view | |||
| style="display: flex;"> | |||
| <uv-checkbox | |||
| size="40rpx" | |||
| icon-size="30rpx" | |||
| activeColor="#A3D250" | |||
| :name="1" | |||
| ></uv-checkbox> | |||
| 阅读并同意我们的<text @click="$refs.popup.open('shop_user_xy')">“合作协议”</text> | |||
| </view> | |||
| </view> | |||
| </uv-checkbox-group> | |||
| </view> | |||
| <!-- 底部按钮 --> | |||
| <view class="uni-color-btn" | |||
| @click="submitApplication" | |||
| v-if="!isUpdate"> | |||
| 提交 | |||
| </view> | |||
| <configPopup ref="popup"></configPopup> | |||
| </view> | |||
| </template> | |||
| <script> | |||
| import Position from '@/utils/position.js' | |||
| export default { | |||
| components: { | |||
| }, | |||
| data() { | |||
| return { | |||
| checkboxValue : [], | |||
| form: { | |||
| userName: '', | |||
| name: '', | |||
| phone: '', | |||
| sex : '男', | |||
| type : 0, | |||
| state : 0, | |||
| }, | |||
| fileList: [], | |||
| sexList : [ | |||
| { | |||
| name: '男', | |||
| }, | |||
| { | |||
| name: '女', | |||
| }, | |||
| ], | |||
| typeList : [ | |||
| { | |||
| name: '企业', | |||
| type : 0, | |||
| }, | |||
| { | |||
| name: '个人', | |||
| type : 1, | |||
| }, | |||
| ], | |||
| } | |||
| }, | |||
| computed: { | |||
| isUpdate(){ | |||
| return this.form.state == 1 | |||
| }, | |||
| }, | |||
| onShow() { | |||
| }, | |||
| onLoad() { | |||
| this.getData() | |||
| }, | |||
| methods: { | |||
| deleteImage(e){ | |||
| this[e.name].splice(e.index, 1) | |||
| }, | |||
| afterRead(e){ | |||
| let self = this | |||
| e.file.forEach(file => { | |||
| self.$Oss.ossUpload(file.url).then(url => { | |||
| self[e.name].push({ | |||
| url | |||
| }) | |||
| }) | |||
| }) | |||
| }, | |||
| // 提交按钮 | |||
| submitApplication() { | |||
| if(!this.checkboxValue.length){ | |||
| return uni.showToast({ | |||
| title: '请先同意合作协议', | |||
| icon:'none' | |||
| }) | |||
| } | |||
| this.form.image = this.fileList.map((item) => item.url).join(",") | |||
| let p = { | |||
| image: '请上传店铺照片', | |||
| name: '请输入您的姓名', | |||
| phone: '请输入联系电话', | |||
| no: '请输入社会信用代码', | |||
| address: '请输入邮寄地址', | |||
| } | |||
| if(this.form.type){ | |||
| p.no = '请输入身份证号' | |||
| } | |||
| if (this.$utils.verificationAll(this.form, p)) { | |||
| return | |||
| } | |||
| if(!this.$utils.verificationPhone(this.form.phone)){ | |||
| return uni.showToast({ | |||
| title: '手机号格式不正确', | |||
| icon:'none' | |||
| }) | |||
| } | |||
| this.$api('addOrUpdateCommonUser', this.form, res => { | |||
| if (res.code == 200) { | |||
| uni.showToast({ | |||
| title: '申请成功待审核', // 提示的内容 | |||
| icon: 'success', // 图标,可选值有 'success', 'loading', 'none' | |||
| duration: 1500 // 提示的持续时间,默认是1500毫秒 | |||
| }); | |||
| setTimeout(uni.navigateBack, 1000, -1) | |||
| } | |||
| }) | |||
| }, | |||
| getData(){ | |||
| this.$api('getCommonUser', res => { | |||
| if(res.code == 200){ | |||
| this.form = res.result | |||
| delete this.form.userId | |||
| delete this.form.createTime | |||
| delete this.form.createBy | |||
| delete this.form.state | |||
| delete this.form.updateBy | |||
| delete this.form.updateTime | |||
| res.result.image && res.result.image.split(',') | |||
| .forEach(url => { | |||
| this.fileList.push({ | |||
| url | |||
| }) | |||
| }) | |||
| } | |||
| }) | |||
| }, | |||
| } | |||
| } | |||
| </script> | |||
| <style lang="scss" scoped> | |||
| * { | |||
| box-sizing: border-box; | |||
| } | |||
| .applyLaundryStore { | |||
| padding: 0 20rpx 0 20rpx; | |||
| background-color: #f5f5f5; | |||
| .frame { | |||
| display: flex; | |||
| flex-direction: column; | |||
| gap: 20rpx; | |||
| background-color: #FFF; | |||
| margin-top: 20rpx; | |||
| padding: 20rpx; | |||
| .title { | |||
| display: flex; | |||
| // padding-top: 40rpx; | |||
| font-size: 34rpx; | |||
| font-weight: 700; | |||
| padding: 0 0 0 20rpx; | |||
| >span:nth-of-type(1) { | |||
| margin: 4rpx 0 0 8rpx; | |||
| background-color: #FFF; | |||
| } | |||
| >span:nth-of-type(2) { | |||
| margin: 0 0 0 8rpx; | |||
| background-color: #FFF; | |||
| } | |||
| } | |||
| .shopName { | |||
| display: flex; | |||
| align-items: center; | |||
| background-color: #FFF; | |||
| // margin: 10rpx 0 0 0; | |||
| padding: 10rpx 0 0 20rpx; | |||
| >view:nth-of-type(1) { | |||
| width: 30%; | |||
| // font-weight: 700; | |||
| } | |||
| >view:nth-of-type(2) { | |||
| width: 70%; | |||
| // padding: 0 20rpx 0 0; | |||
| border-radius: 10rpx; | |||
| overflow: hidden; | |||
| input { | |||
| background-color: #f5f5f5; | |||
| // color: #a4a4a4; | |||
| font-size: 28rpx; | |||
| padding: 8rpx 8rpx 8rpx 15rpx; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| .config{ | |||
| font-size: 26rpx; | |||
| padding: 20rpx; | |||
| /deep/ .uv-checkbox-group{ | |||
| display: flex; | |||
| justify-content: center; | |||
| } | |||
| text{ | |||
| color: $uni-color; | |||
| } | |||
| } | |||
| } | |||
| </style> | |||