|
|
@@ -93,7 +93,7 @@
|
|
|
clearable
|
|
|
v-model="model.userscontactphone"
|
|
|
placeholder="请输入联系手机号"
|
|
|
- :rules="[{ required: false, pattern: /^1[3-9]\d{9}$/, message: '手机号格式不正确' }]"
|
|
|
+ :rules="[{ required: false, validator: validatorPhone, message: '手机号格式不正确' }]"
|
|
|
/>
|
|
|
<wd-input
|
|
|
label="联系邮箱"
|
|
|
@@ -172,15 +172,21 @@
|
|
|
show-word-limit
|
|
|
/>
|
|
|
</wd-cell-group>
|
|
|
- <view class="footer">
|
|
|
- <wd-button type="primary" size="large" @click="handleSubmit" block>提交</wd-button>
|
|
|
- </view>
|
|
|
</wd-form>
|
|
|
</view>
|
|
|
+ <view class="footer">
|
|
|
+ <wd-button type="primary" size="large" @click="handleSubmit" block :loading="submitLoading">
|
|
|
+ 提交
|
|
|
+ </wd-button>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</template>
|
|
|
|
|
|
<script lang="ts" setup>
|
|
|
+import { useAppStore } from '@/store/app'
|
|
|
+import { useUserStore } from '@/store/user'
|
|
|
+import { useToast } from 'wot-design-uni'
|
|
|
+
|
|
|
/** 客户信息 */
|
|
|
// CREATE TABLE `users` (
|
|
|
// `usersid` varchar(50) NOT NULL COMMENT '用户id',
|
|
|
@@ -236,35 +242,123 @@ const model = reactive({
|
|
|
userscz: '',
|
|
|
usersbz: '',
|
|
|
})
|
|
|
-
|
|
|
+const appStore = useAppStore()
|
|
|
+const userStore = useUserStore()
|
|
|
+const toast = useToast()
|
|
|
+// 用户类型
|
|
|
const typeOptions = ['个人', '企业']
|
|
|
-
|
|
|
+const submitLoading = ref(false)
|
|
|
+// 用户详情
|
|
|
const form = ref()
|
|
|
+const validatorPhone = (val: string) => {
|
|
|
+ if (!val) {
|
|
|
+ return Promise.resolve()
|
|
|
+ }
|
|
|
+ if (/^1[3-9]\d{9}$/.test(val)) {
|
|
|
+ return Promise.resolve()
|
|
|
+ } else {
|
|
|
+ return Promise.reject(new Error('手机号格式不正确'))
|
|
|
+ }
|
|
|
+}
|
|
|
|
|
|
+// 提交
|
|
|
function handleSubmit() {
|
|
|
form.value
|
|
|
.validate()
|
|
|
- .then(({ valid, errors }) => {
|
|
|
+ .then(async ({ valid, errors }) => {
|
|
|
if (valid) {
|
|
|
- // showSuccess({
|
|
|
- // msg: '校验通过',
|
|
|
- // })
|
|
|
+ submitLoading.value = true
|
|
|
+ const userid = appStore.appInfo.userid
|
|
|
+ const res = await userStore.updateUser({
|
|
|
+ usersid: userid,
|
|
|
+ ...model,
|
|
|
+ })
|
|
|
+
|
|
|
+ if (res.Status === 0) {
|
|
|
+ toast.success({
|
|
|
+ msg: '保存成功!',
|
|
|
+ duration: 2000,
|
|
|
+ closed: () => {
|
|
|
+ submitLoading.value = false
|
|
|
+ uni.navigateBack()
|
|
|
+ },
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ toast.error(res.Message)
|
|
|
+ }
|
|
|
+ submitLoading.value = false
|
|
|
}
|
|
|
})
|
|
|
.catch((error) => {
|
|
|
+ submitLoading.value = false
|
|
|
console.log(error, 'error')
|
|
|
})
|
|
|
}
|
|
|
+
|
|
|
+const getUserDetail = async () => {
|
|
|
+ const { Data, Status } = await userStore.getUserInfo()
|
|
|
+ if (Status === 0) {
|
|
|
+ // usersname: '',
|
|
|
+ // userstype: '个人',
|
|
|
+ // usersidcardnumber: '',
|
|
|
+ // usersbankname: '',
|
|
|
+ // usersbanknumber: '',
|
|
|
+ // usersphone: '',
|
|
|
+ // usersemail: '',
|
|
|
+ // usersaddress: '',
|
|
|
+ // userscontactphone: '',
|
|
|
+ // userscontactemail: '',
|
|
|
+ // userscontactaddress: '',
|
|
|
+ // usersopenid: '',
|
|
|
+ // usersfrdbdh: '',
|
|
|
+ // usersfrdbsjh: '',
|
|
|
+ // usersshtyxydm: '',
|
|
|
+ // userszcd: '',
|
|
|
+ // userscz: '',
|
|
|
+ // usersbz: '',
|
|
|
+ model.usersname = Data.usersname
|
|
|
+ model.userstype = Data.userstype
|
|
|
+ model.usersidcardnumber = Data.usersidcardnumber
|
|
|
+ model.usersbankname = Data.usersbankname
|
|
|
+ model.usersbanknumber = Data.usersbanknumber
|
|
|
+ model.usersphone = Data.usersphone
|
|
|
+ model.usersemail = Data.usersemail
|
|
|
+ model.usersaddress = Data.usersaddress
|
|
|
+ model.userscontactphone = Data.userscontactphone
|
|
|
+ model.userscontactemail = Data.userscontactemail
|
|
|
+ model.userscontactaddress = Data.userscontactaddress
|
|
|
+ model.usersopenid = Data.usersopenid
|
|
|
+ model.usersfrdbdh = Data.usersfrdbdh
|
|
|
+ model.usersfrdbsjh = Data.usersfrdbsjh
|
|
|
+ model.usersshtyxydm = Data.usersshtyxydm
|
|
|
+ model.userszcd = Data.userszcd
|
|
|
+ model.userscz = Data.userscz
|
|
|
+ model.usersbz = Data.usersbz
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+onMounted(() => {
|
|
|
+ getUserDetail()
|
|
|
+})
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
.user-edit-page {
|
|
|
+ padding-bottom: 80px; // 为固定底部按钮留出空间
|
|
|
+
|
|
|
.user-info {
|
|
|
background-color: #fff;
|
|
|
}
|
|
|
+
|
|
|
.footer {
|
|
|
- padding: 0 16px;
|
|
|
- margin-top: 20px;
|
|
|
+ position: fixed;
|
|
|
+ right: 0;
|
|
|
+ bottom: 0;
|
|
|
+ left: 0;
|
|
|
+ z-index: 99;
|
|
|
+ padding: 16px;
|
|
|
+ background-color: #fff;
|
|
|
+ // box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06);
|
|
|
}
|
|
|
}
|
|
|
</style>
|