|
@@ -6,14 +6,9 @@
|
|
|
<TypographyTitle :level="4">基础信息</TypographyTitle>
|
|
|
<Divider></Divider>
|
|
|
</template>
|
|
|
- <!-- <template #address="{ model, field }">
|
|
|
- <FormItem label="营业地址" required>
|
|
|
- <JAreaSelect v-model:province="model['province']" v-model:city="model['city']" v-model:area="model['area']"></JAreaSelect>
|
|
|
- <div class="mt-4">
|
|
|
- <Textarea v-model:value="model[field]"></Textarea>
|
|
|
- </div>
|
|
|
- </FormItem>
|
|
|
- </template> -->
|
|
|
+ <template #address="{ model }">
|
|
|
+ <JAreaSelect v-model:province="model['province']" v-model:city="model['city']" v-model:area="model['area']"> </JAreaSelect>
|
|
|
+ </template>
|
|
|
<template #phone="{ model, field }">
|
|
|
<Input v-model:value="model[field]"></Input>
|
|
|
<span class="text-gray">用户拨打商家电话时,拨打的号码为该号码。</span>
|
|
@@ -38,7 +33,7 @@
|
|
|
|
|
|
<template #formFooter>
|
|
|
<div style="margin: 0 auto">
|
|
|
- <a-button type="primary" @click="save" class="mr-2"> 保存 </a-button>
|
|
|
+ <a-button type="primary" @click="save" class="mr-2" :loading="isLoading"> 保存 </a-button>
|
|
|
<a-button type="error" @click="back" class="mr-2"> 关闭 </a-button>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -48,29 +43,68 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
<script lang="ts" setup>
|
|
|
- import { TypographyTitle, Divider, FormItem, Textarea, Input } from 'ant-design-vue';
|
|
|
+ import { TypographyTitle, Divider, FormItem, Textarea, Input, message } from 'ant-design-vue';
|
|
|
import { BasicForm, useForm, JAreaSelect } from '/@/components/Form/index';
|
|
|
import uploadVideo from '@/components/uploadVideo/index.vue';
|
|
|
- import { onUnmounted } from 'vue';
|
|
|
- import { useShopInfoStore } from '/@/store/modules/shopInfo';
|
|
|
- const shopInfoStore = useShopInfoStore();
|
|
|
+ import { onUnmounted, ref, watch } from 'vue';
|
|
|
+ import { useUserStore } from '/@/store/modules/user';
|
|
|
+ const { userInfo } = storeToRefs(useUserStore());
|
|
|
|
|
|
import { formSchema } from './shopInfo.data';
|
|
|
- useShopInfoStore().getCurrentDep();
|
|
|
- const [registerForm, { setProps, resetFields, setFieldsValue, updateSchema, validate, clearValidate, getSchemaByField }] = useForm({
|
|
|
+ import { queryById, saveOrUpdate } from './shopInfo.api';
|
|
|
+ import { router } from '/@/router';
|
|
|
+ import { storeToRefs } from 'pinia';
|
|
|
+ const [registerForm, { setProps, resetFields, setFieldsValue, updateSchema, validate, clearValidate, getSchemaByField, getFieldsValue }] = useForm({
|
|
|
schemas: formSchema,
|
|
|
showActionButtonGroup: false,
|
|
|
labelWidth: 200,
|
|
|
labelCol: { span: 4 },
|
|
|
wrapperCol: { span: 18 },
|
|
|
});
|
|
|
- function back() {}
|
|
|
+ const isEdit = ref(false);
|
|
|
+ const isLoading = ref(false);
|
|
|
+ function back() {
|
|
|
+ router.back();
|
|
|
+ }
|
|
|
+ async function getData(id) {
|
|
|
+ const res = await queryById(id);
|
|
|
+ console.log(res, 'asdsad');
|
|
|
+ if (!res.id) return;
|
|
|
+ const vr = res.vr ? res.vr.split(',') : null;
|
|
|
+ isEdit.value = true;
|
|
|
+ setFieldsValue({
|
|
|
+ ...res,
|
|
|
+ categoryId: res.categoryId.split(','),
|
|
|
+ Time: [res.startTime, res.endTime].join(','),
|
|
|
+ down: vr ? vr[vr.length - 1] : null,
|
|
|
+ up: vr ? vr[4] : null,
|
|
|
+ before: vr ? vr[0] : null,
|
|
|
+ after: vr ? vr[1] : null,
|
|
|
+ left: vr ? vr[2] : null,
|
|
|
+ right: vr ? vr[3] : null,
|
|
|
+ });
|
|
|
+ }
|
|
|
+ getData(userInfo.value?.orgCode);
|
|
|
async function save() {
|
|
|
- const form = await validate();
|
|
|
- console.log(form, '撒大苏打');
|
|
|
+ await validate();
|
|
|
+ isLoading.value = true;
|
|
|
+ const form = await getFieldsValue();
|
|
|
+ const obj = {
|
|
|
+ ...form,
|
|
|
+ startTime: form.Time ? form.Time.split(',')[0] : '',
|
|
|
+ endTime: form.Time ? form.Time.split(',')[1] : '',
|
|
|
+ vr: '',
|
|
|
+ };
|
|
|
+ if (form.before || form.after || form.left || form.right || form.up || form.down) {
|
|
|
+ if (!form.before || !form.after || !form.left || !form.right || !form.up || !form.down) return message.error('请上传完整VR实景');
|
|
|
+ obj.vr = [form.before, form.after, form.left, form.right, form.up, form.down].join(',');
|
|
|
+ }
|
|
|
+ console.log(obj, '测试');
|
|
|
+ try {
|
|
|
+ await saveOrUpdate(obj, isEdit.value);
|
|
|
+ isLoading.value = false;
|
|
|
+ } catch (error) {
|
|
|
+ isLoading.value = false;
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
- onUnmounted(() => {
|
|
|
- shopInfoStore.isShowSelect = false;
|
|
|
- });
|
|
|
</script>
|