From e5a77d6a551d13e4cf74624b31b0fa3e328b304d Mon Sep 17 00:00:00 2001 From: zhangwei <1504152376@qq.com> Date: 星期四, 23 一月 2025 17:23:39 +0800 Subject: [PATCH] - --- src/pages/enterprise/enterprise.vue | 276 +++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 226 insertions(+), 50 deletions(-) diff --git a/src/pages/enterprise/enterprise.vue b/src/pages/enterprise/enterprise.vue index 84e2057..a33f721 100644 --- a/src/pages/enterprise/enterprise.vue +++ b/src/pages/enterprise/enterprise.vue @@ -1,32 +1,47 @@ <template> - <view class="full-page"> + <view class="full-page-fff"> <view class="content"> - <up-form labelPosition="left" :model="model1" :rules="rules" ref="form1" labelWidth='90'> - <up-form-item label="鍏徃钀ヤ笟鎵х収" prop="userInfo.sex" required borderBottom @click="showSex = true; hideKeyboard()" - ref="item1"> - <tem-upload src='/static/upload.png'/> + <up-form labelPosition="left" :model="enterpriseInfo" :rules="rules" ref="formRef" labelWidth='90'> + <up-form-item label="钀ヤ笟鎵х収" prop="businessLicense" required ref="item1"> + <fui-upload immediate :url="`${apiBaseUrl}/api/UpFile/UpBizLicense`" ref="uploadB" max='1' + background='#fff' @success="success" @error="error" @complete="complete" width="300" + :sizeType='sizeType' height="150"> + <image src="/static/enterprise.png" mode="widthFix" style="width: 300rpx;height: 150rpx;"> + </image> + </fui-upload> <!-- <template #right> <up-icon name="arrow-right"></up-icon> </template> --> </up-form-item> - <up-form-item label="浼佷笟鍚嶇О" required prop="userInfo.name" borderBottom ref="item1"> - <up-input v-model="state.model1.userInfo.name" border="none" placeholder="璇疯緭鍏ヤ紒涓氬悕绉�"></up-input> + <up-form-item label="浼佷笟鍚嶇О" required prop="suppliername" ref="item1"> + <up-input v-model="enterpriseInfo.suppliername" border="none" placeholder="璇疯緭鍏ヤ紒涓氬悕绉�" + readonly></up-input> </up-form-item> - <up-form-item label="浼佷笟娉ㄥ唽鍦板潃" required prop="userInfo.name" borderBottom ref="item1"> - <up-input v-model="state.model1.userInfo.name" border="none" placeholder="璇疯緭鍏ヤ紒涓氭敞鍐屽湴鍧�"></up-input> + <up-form-item label="浼佷笟娉ㄥ唽鍙�" required prop="suppliercode" ref="item1"> + <up-input v-model="enterpriseInfo.suppliercode" border="none" placeholder="璇疯緭鍏ヤ紒涓氭敞鍐屽彿" + readonly></up-input> </up-form-item> - <up-form-item label="鑱旂郴浜�" required prop="userInfo.name" borderBottom ref="item1"> - <up-input v-model="state.model1.userInfo.name" border="none" placeholder="璇疯緭鍏ヨ仈绯讳汉"></up-input> + <up-form-item label="娉ㄥ唽鏃堕棿" required prop="regtime" ref="item1"> + <up-input v-model="enterpriseInfo.regtime" border="none" placeholder="璇疯緭鍏ヤ紒涓氭敞鍐屽彿" readonly></up-input> </up-form-item> - <up-form-item label="鑱旂郴鐢佃瘽" required prop="userInfo.name" borderBottom ref="item1"> - <up-input v-model="state.model1.userInfo.name" border="none" placeholder="璇疯緭鍏ヨ仈绯荤數璇�"></up-input> + <up-form-item label="浼佷笟鍦板潃" required prop="address" ref="item1"> + <up-input v-model="enterpriseInfo.address" border="none" placeholder="璇疯緭鍏ヤ紒涓氬湴鍧�" readonly></up-input> </up-form-item> - - <up-form-item label="鍏徃绠�浠�" required prop="userInfo.name" borderBottom ref="item1"> - <up-textarea v-model="state.model1.userInfo.name" placeholder="璇疯緭鍏ュ叕鍙哥畝浠�" ></up-textarea> + <up-form-item label="鑱旂郴浜�" required prop="contact" ref="item1"> + <up-input v-model="enterpriseInfo.contact" border="none" placeholder="璇疯緭鍏ヨ仈绯讳汉"></up-input> </up-form-item> + <up-form-item label="鑱旂郴鐢佃瘽" required prop="phone" ref="item1"> + <up-input v-model="enterpriseInfo.phone" border="none" placeholder="璇疯緭鍏ヨ仈绯荤數璇�"></up-input> + </up-form-item> + + <up-form-item label="鍏徃绠�浠�" required prop="resume" ref="item1"> + + </up-form-item> + <up-textarea v-model="enterpriseInfo.resume" count placeholder="璇疯緭鍏ュ叕鍙哥畝浠�" height='200' + maxlength='800'></up-textarea> <view class="tabbtns"> - <up-button color='#fece01' class="text-69" text="淇濆瓨"></up-button> + <up-button color='#fece01' text="淇濆瓨" :loading='isLoading' loadingText="淇濆瓨涓�" + @click="saveUserCompany"></up-button> </view> </up-form> </view> @@ -36,49 +51,210 @@ <script setup> import { + apiBaseUrl + } from '@/common/setting/constVarsHelper.js'; + import { + onLoad, + onShow, + onReady + } from "@dcloudio/uni-app"; + import { + useStore + } from 'vuex' + const store = useStore() + let sizeType = ['compressed'] + let rules = { + businessLicense: { + required: true, + message: '钀ヤ笟鎵х収涓嶈兘涓虹┖', + trigger: ['blur', 'change'] + }, //钀ヤ笟鎵х収璺緞 + suppliername: { + required: true, + message: '浼佷笟鍚嶇О涓嶈兘涓虹┖', + trigger: ['blur', 'change'] + }, //浼佷笟鍚嶇О + regtime: { + required: true, + message: '娉ㄥ唽鏃堕棿涓嶈兘涓虹┖', + trigger: ['blur', 'change'] + }, //娉ㄥ唽鏃堕棿 + address: { + required: true, + message: '浼佷笟鍦板潃涓嶈兘涓虹┖', + trigger: ['blur', 'change'] + }, //鑱旂郴鍦板潃 + suppliercode: { + required: true, + message: '浼佷笟娉ㄥ唽鍙蜂笉鑳戒负绌�', + trigger: ['blur', 'change'] + }, //浼佷笟娉ㄥ唽鍙� + contact: { + required: true, + message: '鑱旂郴浜轰笉鑳戒负绌�', + trigger: ['blur', 'change'] + }, //鑱旂郴浜� + resume: { + required: true, + message: '鍏徃绠�浠嬩笉鑳戒负绌�', + trigger: ['blur', 'change'] + }, //鍏徃绠�浠� + phone: [{ + required: true, + message: '鑱旂郴鐢佃瘽涓嶈兘涓虹┖', + trigger: ['blur', 'change'] + } + // ,{ + // // 鑷畾涔夐獙璇佸嚱鏁帮紝瑙佷笂璇存槑 + // validator: (rule, value, callback) => { + // // 涓婇潰鏈夎锛岃繑鍥瀟rue琛ㄧず鏍¢獙閫氳繃锛岃繑鍥瀎alse琛ㄧず涓嶉�氳繃 + // // uni.$u.test.mobile()灏辨槸杩斿洖true鎴栬�協alse鐨� + // return uni.$u.test.mobile(value); + // }, + // message: '鑱旂郴鐢佃瘽涓嶆纭�', + // // 瑙﹀彂鍣ㄥ彲浠ュ悓鏃剁敤blur鍜宑hange + // trigger: ['change','blur'], + // }, + ] + } + import { ref, - reactive + reactive, + getCurrentInstance, + onMounted } from 'vue'; - - // 浣跨敤 reactive 鍒涘缓鍝嶅簲寮忕姸鎬� - const state = reactive({ - showSex: false, - model1: { - userInfo: { - name: '', - sex: '', - }, - }, - actions: [{ - name: '鐢�' - }, - { - name: '濂�' - }, - { - name: '淇濆瘑' - }, - ], - - radio: '', - switchVal: false, - }); - + const { + $upload, + $api, + $util, + $db + } = getCurrentInstance().appContext.config.globalProperties + let uploadB = ref() + onLoad(() => { + const userToken = $db.get("userToken"); + if (!userToken) { + uni.showToast({ + title: '璇峰厛鐧诲綍锛�', + icon: 'none', + duration: 1000, + complete: function() { + setTimeout(function() { + uni.hideToast(); + uni.navigateTo({ + url: '/pages/login/index' + }); + }, + 1000); + } + }); + } + let data = $db.get('userInfo') ? $db.get('userInfo').userCompany : null + if (data) { + enterpriseInfo.businessLicense = data.businessLicense + enterpriseInfo.suppliername = data.suppliername //浼佷笟鍚嶇О + enterpriseInfo.regtime = data.regtime //娉ㄥ唽鏃堕棿 + enterpriseInfo.address = data.address //鑱旂郴鍦板潃 + enterpriseInfo.suppliercode = data.suppliercode //浼佷笟娉ㄥ唽鍙� + enterpriseInfo.contact = data.contact //鑱旂郴浜� + enterpriseInfo.phone = data.phone //鑱旂郴鐢佃瘽 + enterpriseInfo.id = data.id + enterpriseInfo.resume = data.resume + } + }) + let isLoading = ref(false) // 浣跨敤 ref 鍒涘缓鍝嶅簲寮忓紩鐢� const formRef = ref(null); - - // 瀹氫箟鏂规硶 - function sexSelect(e) { - state.model1.userInfo.sex = e.name; - if (formRef.value) { - formRef.value.validateField('userInfo.sex'); + onReady(() => { + formRef.value.setRules(rules); + if (enterpriseInfo.businessLicense) { + uploadB.value.urls = [enterpriseInfo.businessLicense] + uploadB.value.status = ['success'] } + }) + onMounted(() => { + formRef.value.setRules(rules); + console.log(formRef.value, 'formRef'); // 璁块棶瀛愮粍浠禗emo涓殑灞炴�� + }); + const enterpriseInfo = reactive({ + id: 0, //鐢ㄦ埛鍏徃Id + businessLicense: '', //钀ヤ笟鎵х収璺緞 + suppliername: '', //浼佷笟鍚嶇О + regtime: '', //娉ㄥ唽鏃堕棿 + address: '', //鑱旂郴鍦板潃 + suppliercode: '', //浼佷笟娉ㄥ唽鍙� + contact: '', //鑱旂郴浜� + phone: '', //鑱旂郴鐢佃瘽 + resume: '', //鍏徃绠�浠� + }) + + //涓婁紶鎴愬姛鏃惰Е鍙� + const success = (e) => { + //e.res 涓烘湇鍔″櫒杩斿洖鏁版嵁 + //涓婁紶鎴愬姛鍥炶皟锛屽鐞嗘湇鍔″櫒杩斿洖鏁版嵁銆愭澶勬牴鎹疄闄呰繑鍥炴暟鎹繘琛屽鐞嗐�� + let res = JSON.parse(e.res.data.replace(/\ufeff/g, "") || "{}") + console.log(res.data); + if (res.data.url) { + enterpriseInfo.businessLicense = res.data.url + enterpriseInfo.suppliername = res.data.info.name //浼佷笟鍚嶇О + enterpriseInfo.regtime = res.data.info.setDate //娉ㄥ唽鏃堕棿 + enterpriseInfo.address = res.data.info.address //鑱旂郴鍦板潃 + enterpriseInfo.suppliercode = res.data.info.regNum //浼佷笟娉ㄥ唽鍙� + enterpriseInfo.contact = res.data.info.person //鑱旂郴浜� + } + } + const isTelephone = (value) => { + value = value.replace(/[^-|\d]/g, ''); + return /^((\+86)|(86))?(1)\d{10}$/.test(value) || /^0[0-9-]{10,13}$/.test(value); + } + + + //涓婁紶澶辫触鏃惰Е鍙� + const error = (e) => {} + //閫夋嫨鍥剧墖鎴栦笂浼犲畬鎴愭椂瑙﹀彂 + const complete = (e) => { + if (e.action == 'delete') { + // 鍒犻櫎澶勭悊 + } + console.log(e, '鍒犻櫎') + + } + const getUserInfo = async () => { + await store.dispatch('getUserInfo') + uni.navigateBack() + $util.showToast({ + title: "淇濆瓨鎴愬姛锛�", + icon: "success" + }) + } + const saveUserCompany = () => { + formRef.value.validate().then(res => { + isLoading.value = true + $api.saveUserCompany(enterpriseInfo).then(res => { + if (res.code == 1) { + getUserInfo() + + } else { + $util.showToast({ + title: res.msg ? res.msg : res.error + }) + } + isLoading.value = false + }) + }).catch(errors => { + console.log(errors) + uni.$u.toast(errors[0].message) + }) + } </script> <style> - .content{ + .content { background-color: #fff; padding: 0 20rpx; } + + .u-form-item__body { + padding: 5px 0 !important; + } </style> \ No newline at end of file -- Gitblit v1.9.1