diff --git a/src/components/UploadFile.vue b/src/components/UploadFile.vue index 638805a..a0931a7 100644 --- a/src/components/UploadFile.vue +++ b/src/components/UploadFile.vue @@ -59,7 +59,7 @@ function handleFileSuccess(response, file, fileList) { uploadRef.value.handleRemove(file) console.log(response) if (response.status === 200) { - emit('onSuccess', response.result) + emit('onSuccess', response.result, file) } } diff --git a/src/layout/components/aside.vue b/src/layout/components/aside.vue index 4241185..ba869fd 100644 --- a/src/layout/components/aside.vue +++ b/src/layout/components/aside.vue @@ -30,6 +30,9 @@ > + + + diff --git a/src/router/index.js b/src/router/index.js index ea134ae..cab653a 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -10,7 +10,7 @@ export const routes = [ { path: '/', component: Layout, - redirect: '/BusinessManage/StoreManage', + redirect: '/BusinessManage', children: [ // { // path: 'WorkbenchPage', @@ -21,21 +21,22 @@ export const routes = [ { path: 'BusinessManage', name: 'BusinessManage', - redirect: '/BusinessManage/StoreManage', + // redirect: '/BusinessManage/StoreManage', meta: { title: '门店管理' }, + component: () => import('@/views/BusinessManage/index.vue'), children: [ - { - path: 'StoreManage', - name: 'StoreManage', - component: () => import('@/views/BusinessManage/index.vue'), - meta: { title: '门店列表' }, - }, - { - path: 'DataManage', - name: 'DataManage', - component: () => import('@/views/BusinessManage/DataManage.vue'), - meta: { title: '分类管理' }, - }, + // { + // path: 'StoreManage', + // name: 'StoreManage', + // component: () => import('@/views/BusinessManage/index.vue'), + // meta: { title: '门店列表' }, + // }, + // { + // path: 'DataManage', + // name: 'DataManage', + // component: () => import('@/views/BusinessManage/DataManage.vue'), + // meta: { title: '分类管理' }, + // }, ], }, { diff --git a/src/views/BusinessManage/HandleDialog.vue b/src/views/BusinessManage/HandleDialog.vue index e9c8aec..eeb6f9e 100644 --- a/src/views/BusinessManage/HandleDialog.vue +++ b/src/views/BusinessManage/HandleDialog.vue @@ -2,6 +2,8 @@ import RPC from '@/utils/rpc' import MapSelector from '@/components/MapSelector.vue' import UploadFile from '@/components/UploadFile.vue' +import dayjs from 'dayjs' +import { VueDraggable } from 'vue-draggable-plus' const props = defineProps({ type: { type: String, @@ -18,6 +20,10 @@ const emit = defineEmits(['closed', 'onSuccess']) const dialogVisible = ref(false) +const product_images_list = ref([]) +const qualification_images_list = ref([]) +const product_pdfs_list = ref([]) + const isAdd = computed(() => props.type === 'add') onMounted(() => { @@ -43,8 +49,13 @@ const submitForm = async () => { await formRef.value.validate() const api = isAdd.value ? '/store/create' : '/store/update' const params = { - store: { ...formField.value }, - category_ids: formField.value.category_ids, + store: { + ...formField.value, + product_images: product_images_list.value.join(','), + qualification_images: qualification_images_list.value.join(','), + product_pdfs: JSON.stringify(product_pdfs_list.value), + }, + // category_ids: formField.value.category_ids, id: isAdd.value ? null : props.row.id, } RPC.post(api, params) @@ -59,7 +70,14 @@ const submitForm = async () => { } if (!isAdd.value) { - formField.value = props.row + formField.value = { + ...props.row, + } + product_images_list.value = props.row.product_images ? props.row.product_images.split(',') : [] + qualification_images_list.value = props.row.qualification_images + ? props.row.qualification_images.split(',') + : [] + product_pdfs_list.value = props.row.product_pdfs ? JSON.parse(props.row.product_pdfs) : [] } const chooseCoordinates = () => { @@ -77,6 +95,35 @@ const set_main_image = (val) => { console.log('val', val) formField.value.main_image = val.fullUrl } + +const set_video = (val) => { + formField.value.video_intro = val.fullUrl +} +const set_product_images = (val) => { + product_images_list.value.push(val.fullUrl) +} +const set_qualification_images = (val) => { + qualification_images_list.value.push(val.fullUrl) +} +const set_product_pdfs = (val, file) => { + console.log(val, file) + product_pdfs_list.value.push({ + url: val.fullUrl, + name: file.name, + size: (file.size / 1024 / 1024).toFixed(2), + date: dayjs().format('YYYY-MM-DD HH:mm'), + }) +} + +const delImage = (arr, index) => { + arr.splice(index, 1) +} + +const openPdf = (item) => { + if (item.url) { + window.open(item.url) + } +}