|
@@ -0,0 +1,253 @@
|
|
|
+<template>
|
|
|
+ <view class="apply-wrap flex flex_column">
|
|
|
+ <view class="login-form">
|
|
|
+ <u-form :model="form" label-width="180rpx" :error-type="['toast']" ref="uForm">
|
|
|
+ <u-form-item label="门头照片" required prop="storeImage">
|
|
|
+ <u-upload
|
|
|
+ @on-success="uploadStorePhoto"
|
|
|
+ @on-remove="removeStorePhoto"
|
|
|
+ :file-list="storePhotoList"
|
|
|
+ :action="action"
|
|
|
+ :max-size="2 * 1024 * 1024"
|
|
|
+ :width="200"
|
|
|
+ :height="150"
|
|
|
+ upload-text="上传门头照片"
|
|
|
+ max-count="1"></u-upload>
|
|
|
+ </u-form-item>
|
|
|
+ <u-form-item label="营业执照">
|
|
|
+ <u-upload
|
|
|
+ @on-success="uploadYyzzPhoto"
|
|
|
+ @on-remove="removeYyzzPhoto"
|
|
|
+ :file-list="yyzzPhotoList"
|
|
|
+ :action="action"
|
|
|
+ :max-size="2 * 1024 * 1024"
|
|
|
+ :width="200"
|
|
|
+ :height="150"
|
|
|
+ upload-text="上传营业执照"
|
|
|
+ max-count="1"></u-upload>
|
|
|
+ </u-form-item>
|
|
|
+ <u-form-item label="门店名称" required prop="storeName">
|
|
|
+ <u-input v-model="form.storeName" maxlength="30" placeholder="请输入门店名称(最多30个字符)"/>
|
|
|
+ </u-form-item>
|
|
|
+ <u-form-item label="所在地区" required prop="label">
|
|
|
+ <u-input v-model="form.label" placeholder="请选择省市区" :disabled="true" @click="openAddress"/>
|
|
|
+ <Address ref="applyAddress" :isJrMini="true" @onConfirm="areaConfirm"></Address>
|
|
|
+ </u-form-item>
|
|
|
+ <u-form-item label="详细地址" required prop="addrDetail">
|
|
|
+ <u-input v-model="form.addrDetail" placeholder="请输入详细地址"/>
|
|
|
+ </u-form-item>
|
|
|
+ <u-form-item label="联系人姓名" required prop="contactName">
|
|
|
+ <u-input v-model="form.contactName" placeholder="请输入联系人姓名"/>
|
|
|
+ </u-form-item>
|
|
|
+ <u-form-item label="联系人手机">
|
|
|
+ {{form.contactPhone}}
|
|
|
+ </u-form-item>
|
|
|
+ <u-form-item label="关联客户" required prop="customerSn">
|
|
|
+ <u-input v-model="form.customerName" type="select" placeholder="请输入选择关联客户" @click="chooseCustome" />
|
|
|
+ </u-form-item>
|
|
|
+ <u-form-item label="结算方式" required prop="settleType">
|
|
|
+ <u-input v-model="form.settleTypeDictValue" type="select" @click="settleStyleModal = true" />
|
|
|
+ <u-picker v-model="settleStyleModal" @confirm="settleStyleChange" :range="settleStyleList" range-key="dispName" mode="selector"></u-picker>
|
|
|
+ </u-form-item>
|
|
|
+ <u-form-item label="授信金额" required prop="creditLimit">
|
|
|
+ <u-input type="number" :min="100" v-model.trim="form.creditLimit" placeholder="请输入大于100的数字,最多两位小数"/>
|
|
|
+ </u-form-item>
|
|
|
+ </u-form>
|
|
|
+ </view>
|
|
|
+ <view class="form-btn-con flex justify_center">
|
|
|
+ <u-button class="form-btn" shape="circle" :loading="loading" type="info" :custom-style="{ background: '#066cff', color: '#fff',width:'350rpx' }" @click="formSubmit">审核通过</u-button>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+ import Address from '@/components/address.vue'
|
|
|
+ import { xprhStoreApplyDetail, xprhStoreApplyAudit } from '@/api/approveStore'
|
|
|
+ import { clzConfirm } from '@/libs/tools';
|
|
|
+ const baseUrl = getApp().globalData.baseUrl
|
|
|
+ export default{
|
|
|
+ components: {
|
|
|
+ Address,
|
|
|
+ },
|
|
|
+ data(){
|
|
|
+ return{
|
|
|
+ loading: false,
|
|
|
+ theme: '',
|
|
|
+ form: {
|
|
|
+ storeName: '', // 门店名称
|
|
|
+ contactPhone: '', // 联系手机
|
|
|
+ contactName: '', // 联系人
|
|
|
+ addrProvince: undefined, // 省
|
|
|
+ addrProvinceName: '',
|
|
|
+ addrCity: undefined, // 市
|
|
|
+ addrCityName: '',
|
|
|
+ addrDistrict: undefined, // 区
|
|
|
+ addrDistrictName: '',
|
|
|
+ addrDetail: '', // 详细地址
|
|
|
+ storeImage: '', // 门头照片
|
|
|
+ licenseImage: '', // 营业执照
|
|
|
+ settleType: undefined, // 结算方式
|
|
|
+ settleTypeDictValue: undefined,
|
|
|
+ customerSn: undefined, // 关联客户
|
|
|
+ customerName: undefined,
|
|
|
+ creditLimit: '', // 授信额度
|
|
|
+ delearSn: undefined,
|
|
|
+ applySn: undefined,
|
|
|
+ auditStatus: 'PASS' // 通过
|
|
|
+ },
|
|
|
+ rules: {
|
|
|
+ storeName: [{ required: true, message: '请输入门店名称', trigger: 'blur' }],
|
|
|
+ contactMobile: [{ required: false, pattern: /^\d{30}$/, message: '请输入正确的手机号', trigger: 'blur' }],
|
|
|
+ addrProvince: [{ required: true, message: '请选择省', trigger: 'change' }],
|
|
|
+ addrCity: [{ required: true, message: '请选择市', trigger: 'change' }],
|
|
|
+ addrDistrict: [{ required: true, message: '请选择区/县', trigger: 'change' }],
|
|
|
+ addrDetail: [{ required: true, message: '请输入详细地址', trigger: 'change' }],
|
|
|
+ contactName: [{ required: true, message: '请输入联系人姓名', trigger: 'change' }],
|
|
|
+ settleType: [{ required: true, message: '请选择收结算方式', trigger: 'change' }],
|
|
|
+ customerSn: [{ required: true, message: '请选择关联客户', trigger: 'change' }],
|
|
|
+ creditLimit: [{ required: true, message: '请输入授信额度', trigger: 'change' }],
|
|
|
+ },
|
|
|
+ areaIdArr: [], // 省市区id数组
|
|
|
+ labelArr: [],
|
|
|
+ action: baseUrl + '/upload',
|
|
|
+ storePhotoList: [],
|
|
|
+ yyzzPhotoList: [],
|
|
|
+ settleStyleModal: false,
|
|
|
+ settleStyleList: []
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 必须要在onReady生命周期,因为onLoad生命周期组件可能尚未创建完毕
|
|
|
+ onReady() {
|
|
|
+ this.$refs.uForm.setRules(this.rules);
|
|
|
+ },
|
|
|
+ onLoad(options) {
|
|
|
+ const _this = this
|
|
|
+ this.applySn = options.sn
|
|
|
+ this.getDetail()
|
|
|
+ this.settleStyleList = this.$store.state.vuex_shelfSettleType
|
|
|
+
|
|
|
+ // 选择关联客户
|
|
|
+ uni.$on("addCustome",function(data){
|
|
|
+ _this.form.customerSn = data.customerSn
|
|
|
+ _this.form.customerName = data.customerName
|
|
|
+ })
|
|
|
+ },
|
|
|
+ onUnload() {
|
|
|
+ uni.$off("addCustome")
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ // 获取详细
|
|
|
+ getDetail () {
|
|
|
+ xprhStoreApplyDetail({ sn: this.applySn }).then(res => {
|
|
|
+ if (res.status == 200) {
|
|
|
+ this.form = Object.assign(this.form, res.data)
|
|
|
+ this.storePhotoList = this.form.storeImage ? [{url:this.form.storeImage}] : []
|
|
|
+ this.yyzzPhotoList = this.form.licenseImage ? [{url:this.form.licenseImage}] : [],
|
|
|
+ this.labelArr = [this.form.addrProvinceName,this.form.addrCityName,this.form.addrDistrictName]
|
|
|
+ this.areaIdArr = [this.form.addrProvince,this.form.addrCity,this.form.addrDistrict]
|
|
|
+ this.form.label = this.labelArr.join('-')
|
|
|
+ this.form.auditStatus = 'PASS' // 通过
|
|
|
+ } else {
|
|
|
+ this.$refs.ruleForm.resetFields()
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 上传门店图片成功
|
|
|
+ uploadStorePhoto(res){
|
|
|
+ this.form.storeImage = res.data
|
|
|
+ },
|
|
|
+ // 删除门店图片
|
|
|
+ removeStorePhoto(index){
|
|
|
+ this.form.storeImage = ''
|
|
|
+ },
|
|
|
+ // 上传营业执照图片成功
|
|
|
+ uploadYyzzPhoto(res){
|
|
|
+ this.form.licenseImage = res.data
|
|
|
+ },
|
|
|
+ // 删除营业执照图片
|
|
|
+ removeYyzzPhoto(index){
|
|
|
+ this.form.licenseImage = ''
|
|
|
+ },
|
|
|
+ // 收款方式 change
|
|
|
+ settleStyleChange(ind){
|
|
|
+ this.form.settleType = this.settleStyleList[ind].code || undefined
|
|
|
+ this.form.settleTypeDictValue = this.settleStyleList[ind].dispName || undefined
|
|
|
+ },
|
|
|
+ // 选择关联客户
|
|
|
+ chooseCustome(){
|
|
|
+ uni.navigateTo({
|
|
|
+ url: "/pages/sales/chooseCustomer?backPage=authPass"
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 表单提交
|
|
|
+ formSubmit(){
|
|
|
+ const _this = this
|
|
|
+ this.$refs.uForm.validate(valid => {
|
|
|
+ if (valid) {
|
|
|
+ if(_this.form.creditLimit >= 100){
|
|
|
+ clzConfirm({
|
|
|
+ title: '提示',
|
|
|
+ content: '审核通过后,即可成为认证门店,确认审核通过吗?',
|
|
|
+ success: function(res) {
|
|
|
+ if (res.confirm || res.index == 0) {
|
|
|
+ _this.submitData()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }else{
|
|
|
+ uni.showToast({icon: 'none',title: "授信金额必需大于等于100"})
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ console.log('验证失败');
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ submitData(){
|
|
|
+ let obj = this.form
|
|
|
+ obj.addrProvince = this.areaIdArr[0] // 省id
|
|
|
+ obj.addrCity = this.areaIdArr[1] // 市id
|
|
|
+ obj.addrDistrict = this.areaIdArr[2] // 区id
|
|
|
+ obj.addrProvinceName = this.labelArr[0] // 省
|
|
|
+ obj.addrCityName = this.labelArr[1] // 市
|
|
|
+ obj.addrDistrictName = this.labelArr[2] // 区
|
|
|
+ this.loading = true
|
|
|
+ // 申请试用
|
|
|
+ xprhStoreApplyAudit(obj).then(res => {
|
|
|
+ console.log(res)
|
|
|
+ if(res.status == 200){
|
|
|
+ uni.navigateBack()
|
|
|
+ uni.$emit("updateAuthState")
|
|
|
+ }
|
|
|
+ uni.showToast({icon: 'none',title: res.message})
|
|
|
+ this.loading = false
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 选择省区市
|
|
|
+ areaConfirm(e) {
|
|
|
+ console.log('已选择的省市区', e)
|
|
|
+ this.labelArr = e.labelArr
|
|
|
+ this.areaIdArr = [ e.provinceCode, e.cityCode, e.areaCode ]
|
|
|
+ this.form.label = e.label
|
|
|
+ },
|
|
|
+ openAddress(){
|
|
|
+ // 省市区 回显 参数为省市区id数组
|
|
|
+ this.$refs.applyAddress.open(this.areaIdArr)
|
|
|
+ },
|
|
|
+ }
|
|
|
+ }
|
|
|
+</script>
|
|
|
+<style scoped lang="scss">
|
|
|
+ .apply-wrap{
|
|
|
+ width:100%;
|
|
|
+ height: 100vh;
|
|
|
+ background-color: #fff;
|
|
|
+ .login-form{
|
|
|
+ padding: 0.7rem 1.5rem;
|
|
|
+ flex-grow: 1;
|
|
|
+ overflow: auto;
|
|
|
+ }
|
|
|
+ .form-btn-con{
|
|
|
+ padding: 1rem;
|
|
|
+ }
|
|
|
+ }
|
|
|
+</style>
|