123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183 |
- <!-- 用户信息的新增/编辑 -->
- <template>
- <s-layout :title="state.model.id ? '编辑地址' : '新增用户信息'">
- <uni-forms ref="userinfoaiFormRef" v-model="state.model" :labelStyle="{ fontWeight: 'bold' }" :rules="rules" border
- labelAlign="left" labelWidth="160" validateTrigger="bind">
- <view class="bg-white form-box ss-p-x-30">
- <uni-forms-item class="form-item" label="用户编号" name="userId">
- <uni-easyinput v-model="state.model.userId" :inputBorder="false" placeholder="请填写用户编号"
- placeholderStyle="color:#BBBBBB;font-size:30rpx;font-weight:400;line-height:normal" />
- </uni-forms-item>
- <uni-forms-item class="form-item" label="文件" name="infoFiles">
- <s-uploader v-model="state.model.infoFiles" fileMediatype="pdf" limit="10" mode="list" />
- </uni-forms-item>
- <uni-forms-item :formItemStyle="{ alignItems: 'flex-start' }" :labelStyle="{ lineHeight: '5em' }"
- class="textarea-item" label="提取有效信息" name="textInformation">
- <uni-easyinput v-model="state.model.textInformation" :inputBorder="false" clearable placeholder="请输入提取有效信息"
- placeholderStyle="color:#BBBBBB;font-size:30rpx;font-weight:400;line-height:normal" type="textarea" />
- </uni-forms-item>
- <uni-forms-item :formItemStyle="{ alignItems: 'flex-start' }" :labelStyle="{ lineHeight: '5em' }"
- class="textarea-item" label="补充信息" name="additionalInfo">
- <uni-easyinput v-model="state.model.additionalInfo" :inputBorder="false" clearable placeholder="请输入补充信息"
- placeholderStyle="color:#BBBBBB;font-size:30rpx;font-weight:400;line-height:normal" type="textarea" />
- </uni-forms-item>
- </view>
- </uni-forms>
- <su-fixed :index="10" :noFixed="false" :opacity="false" bg="" bottom placeholder>
- <view class="footer-box ss-flex-col ss-row-between ss-p-20">
- <view class="ss-m-b-20">
- <button class="ss-reset-button save-btn ui-Shadow-Main" @tap="onSave">保存</button>
- </view>
- <button v-if="state.model.id" class="ss-reset-button cancel-btn" @tap="onDelete">
- 删除
- </button>
- </view>
- </su-fixed>
- </s-layout>
- </template>
- <script setup>
- import { reactive, ref, unref } from 'vue';
- import sheep from '@/sheep';
- import { onLoad } from '@dcloudio/uni-app';
- import UserInfoAiApi from '@/sheep/api/member/UserInfoAi';
- const userinfoaiFormRef = ref(null);
- const state = reactive({
- showRegion: false,
- model: {
- name: '',
- mobile: '',
- detailUserInfoAi: '',
- defaultStatus: false,
- areaName: '',
- },
- rules: {},
- });
- const rules = {
- userId: {
- rules: [
- {
- required: true,
- errorMessage: '请输入用户编号',
- },
- ],
- },
- };
- // 保存用户信息
- const onSave = async () => {
- // 参数校验
- const validate = await unref(userinfoaiFormRef)
- .validate()
- .catch((error) => {
- console.log('error: ', error);
- });
- if (!validate) {
- return;
- }
- // 提交请求
- const formData = {
- ...state.model,
- };
- const { code } =
- state.model.id > 0
- ? await UserInfoAiApi.updateUserInfoAi(formData)
- : await UserInfoAiApi.createUserInfoAi(formData);
- if (code === 0) {
- sheep.$router.back();
- }
- };
- // 删除用户信息
- const onDelete = () => {
- uni.showModal({
- title: '提示',
- content: '确认删除此用户信息吗?',
- success: async function (res) {
- if (!res.confirm) {
- return;
- }
- const { code } = await UserInfoAiApi.deleteUserInfoAi(state.model.id);
- if (code === 0) {
- sheep.$router.back();
- }
- },
- });
- };
- const getUserInfoAiAxios = async (id) => {
- const { data } = await UserInfoAiApi.getUserInfoAi(id);
- state.model = data;
- };
- onLoad(async (options) => {
- getUserInfoAiAxios(options.id);
- });
- </script>
- <style lang="scss" scoped>
- :deep() {
- .uni-forms-item__label .label-text {
- font-size: 28rpx !important;
- color: #333333 !important;
- line-height: normal !important;
- }
- .uni-easyinput__content-input {
- font-size: 28rpx !important;
- color: #333333 !important;
- line-height: normal !important;
- padding-left: 0 !important;
- }
- .uni-easyinput__content-textarea {
- font-size: 28rpx !important;
- color: #333333 !important;
- line-height: normal !important;
- margin-top: 8rpx !important;
- }
- .uni-icons {
- font-size: 40rpx !important;
- }
- .is-textarea-icon {
- margin-top: 22rpx;
- }
- .is-disabled {
- color: #333333;
- }
- }
- .default-box {
- width: 100%;
- box-sizing: border-box;
- height: 100rpx;
- .default-box-title {
- font-size: 28rpx;
- color: #333333;
- line-height: normal;
- }
- }
- .footer-box {
- .save-btn {
- width: 710rpx;
- height: 80rpx;
- border-radius: 40rpx;
- background: linear-gradient(90deg, var(--ui-BG-Main), var(--ui-BG-Main-gradient));
- color: $white;
- }
- .cancel-btn {
- width: 710rpx;
- height: 80rpx;
- border-radius: 40rpx;
- background: var(--ui-BG);
- }
- }
- </style>
|