yb il y a 11 mois
Parent
commit
178080d485

+ 4 - 4
.env.local

@@ -4,16 +4,16 @@ NODE_ENV=development
 VITE_DEV=true
 
 # 请求路径  远端, 本地
-VITE_BASE_URL='https://api.ifoodme.com'
-# VITE_BASE_URL='http://localhost:48081'
+# VITE_BASE_URL='https://api.ifoodme.com'
+VITE_BASE_URL='http://localhost:48081'
 
 # 文件上传类型:server - 后端上传, client - 前端直连上传,仅支持 S3 服务
 VITE_UPLOAD_TYPE=server
 # 上传路径
 
 # 远端, 本地
-VITE_UPLOAD_URL='https://api.ifoodme.com/admin-api/infra/file/upload'
-# VITE_UPLOAD_URL='http://localhost:48081/admin-api/infra/file/upload'
+# VITE_UPLOAD_URL='https://api.ifoodme.com/admin-api/infra/file/upload'
+VITE_UPLOAD_URL='http://localhost:48081/admin-api/infra/file/upload'
 
 
 # 接口地址

+ 23 - 63
src/views/infra/file/index.vue

@@ -1,28 +1,12 @@
 <template>
   <!-- 搜索 -->
   <ContentWrap>
-    <el-form
-      class="-mb-15px"
-      :model="queryParams"
-      ref="queryFormRef"
-      :inline="true"
-      label-width="68px"
-    >
+    <el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px">
       <el-form-item :label="t('infra.filePath')" prop="path">
-        <el-input
-          v-model="queryParams.path"
-          :placeholder="t('infra.pleaseEnterTheFilePath')"
-          clearable
-          @keyup.enter="handleQuery"
-        />
+        <el-input v-model="queryParams.path" :placeholder="t('infra.pleaseEnterTheFilePath')" clearable @keyup.enter="handleQuery" />
       </el-form-item>
       <el-form-item :label="t('infra.fileType')" prop="type" width="80">
-        <el-input
-          v-model="queryParams.type"
-          :placeholder="t('infra.pleaseEnterTheFileType')"
-          clearable
-          @keyup.enter="handleQuery"
-        />
+        <el-input v-model="queryParams.type" :placeholder="t('infra.pleaseEnterTheFileType')" clearable @keyup.enter="handleQuery" />
       </el-form-item>
       <el-form-item :label="t('public.createTime')" prop="createTime">
         <el-date-picker
@@ -35,11 +19,9 @@
         />
       </el-form-item>
       <el-form-item>
-        <el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> {{t('common.search')}}</el-button>
-        <el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> {{t('common.reset')}}</el-button>
-        <el-button type="primary" plain @click="openForm">
-          <Icon icon="ep:upload" class="mr-5px" /> {{t('infra.uploadFile')}}
-        </el-button>
+        <el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> {{ t('common.search') }}</el-button>
+        <el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> {{ t('common.reset') }}</el-button>
+        <el-button type="primary" plain @click="openForm"> <Icon icon="ep:upload" class="mr-5px" /> {{ t('infra.uploadFile') }} </el-button>
       </el-form-item>
     </el-form>
   </ContentWrap>
@@ -50,16 +32,11 @@
       <el-table-column :label="t('infra.fileName')" align="center" prop="name" :show-overflow-tooltip="true" />
       <el-table-column :label="t('infra.filePath')" align="center" prop="path" :show-overflow-tooltip="true" />
       <el-table-column label="URL" align="center" prop="url" :show-overflow-tooltip="true" />
-      <el-table-column
-        :label="t('infra.fileSize')"
-        align="center"
-        prop="size"
-        width="120"
-        :formatter="fileSizeFormatter"
-      />
+      <el-table-column :label="t('infra.fileSize')" align="center" prop="size" width="120" :formatter="fileSizeFormatter" />
       <el-table-column :label="t('infra.fileType')" align="center" prop="type" width="180px" />
       <el-table-column :label="t('infra.fileContent')" align="center" prop="url" width="110px">
         <template #default="{ row }">
+          <img :src="row.url" />
           <el-image
             v-if="row.type.includes('image')"
             class="h-80px w-80px"
@@ -69,46 +46,23 @@
             preview-teleported
             fit="cover"
           />
-          <el-link
-            v-else-if="row.type.includes('pdf')"
-            type="primary"
-            :href="row.url"
-            :underline="false"
-            target="_blank"
-            >{{t('infra.preview')}}</el-link
-          >
-          <el-link v-else type="primary" download :href="row.url" :underline="false" target="_blank"
-            >{{t('infra.download')}}</el-link
-          >
+          <el-link v-else-if="row.type.includes('pdf')" type="primary" :href="row.url" :underline="false" target="_blank">{{
+            t('infra.preview')
+          }}</el-link>
+          <el-link v-else type="primary" download :href="row.url" :underline="false" target="_blank">{{ t('infra.download') }}</el-link>
         </template>
       </el-table-column>
-      <el-table-column
-        :label="t('infra.uploadTime')"
-        align="center"
-        prop="createTime"
-        width="180"
-        :formatter="dateFormatter"
-      />
+      <el-table-column :label="t('infra.uploadTime')" align="center" prop="createTime" width="180" :formatter="dateFormatter" />
       <el-table-column :label="t('public.operate')" align="center">
         <template #default="scope">
-          <el-button
-            link
-            type="danger"
-            @click="handleDelete(scope.row.id)"
-            v-hasPermi="['infra:file:delete']"
-          >
-          {{ t('public.delete') }}
+          <el-button link type="danger" @click="handleDelete(scope.row.id)" v-hasPermi="['infra:file:delete']">
+            {{ t('public.delete') }}
           </el-button>
         </template>
       </el-table-column>
     </el-table>
     <!-- 分页 -->
-    <Pagination
-      :total="total"
-      v-model:page="queryParams.pageNo"
-      v-model:limit="queryParams.pageSize"
-      @pagination="getList"
-    />
+    <Pagination :total="total" v-model:page="queryParams.pageNo" v-model:limit="queryParams.pageSize" @pagination="getList" />
   </ContentWrap>
 
   <!-- 表单弹窗:添加/修改 -->
@@ -143,7 +97,13 @@ const getList = async () => {
   loading.value = true
   try {
     const data = await FileApi.getFilePage(queryParams)
-    list.value = data.list
+
+    list.value = data.list.map((item) => {
+      item.url = import.meta.env.VITE_MALL_H5_DOMAIN + item.url
+      return item
+    })
+    console.log('🚀 ~ list.value=data.list.map ~ list:', list)
+
     total.value = data.total
   } finally {
     loading.value = false

+ 15 - 7
src/views/mall/product/storeProduct/StoreProductForm.vue

@@ -1,6 +1,6 @@
 <template>
   <Dialog :title="dialogTitle" :append-to-body="true" v-model="dialogVisible" width="70%">
-    <el-form ref="formRef" :model="formValidate" :rules="formRules" label-width="100px" v-loading="formLoading">
+    <el-form ref="formRef" :model="formValidate" :rules="formRules" label-width="160px" v-loading="formLoading">
       <el-tabs v-model="activeName" type="border-card" @tab-click="handleClick">
         <el-tab-pane :label="t('product.basicInfo')" name="one">
           <el-form-item :label="t('product.displayShop')" prop="shopId">
@@ -28,11 +28,17 @@
           <el-form-item :label="t('product.marketPrice')" prop="otPrice">
             <el-input v-model="formValidate.otPrice" class="input-width" :placeholder="t('common.enterMarketPrice')" />
           </el-form-item>
-          <el-form-item label="商品税前价格" prop="priceBeforeTax">
-            <el-input v-model="formValidate.priceBeforeTax" class="input-width" placeholder="" />
+          <el-form-item label="商品税后(堂食)价格" prop="priceAfterTax">
+            <el-input v-model="formValidate.priceAfterTax" class="input-width" placeholder="" />
           </el-form-item>
-          <el-form-item label="税率" prop="taxRate">
-            <el-input v-model="formValidate.taxRate" class="input-width" placeholder="" />
+          <el-form-item label="商品税后(外卖)价格" prop="priceAfterTaxTakeout">
+            <el-input v-model="formValidate.priceAfterTaxTakeout" class="input-width" placeholder="" />
+          </el-form-item>
+          <el-form-item label="堂食税率" prop="dineInTaxRate">
+            <el-input v-model="formValidate.dineInTaxRate" class="input-width" placeholder="" />
+          </el-form-item>
+          <el-form-item label="外卖税率" prop="takeoutTaxRate">
+            <el-input v-model="formValidate.takeoutTaxRate" class="input-width" placeholder="" />
           </el-form-item>
           <el-form-item :label="t('product.stock')" prop="stock">
             <el-input v-model="formValidate.stock" class="input-width" :placeholder="t('common.enterStock')" />
@@ -337,8 +343,10 @@ const formValidate = ref({
   is_show: 1,
   price: 0,
   otPrice: 0,
-  priceBeforeTax: 0,
-  taxRate: 0,
+  priceAfterTax: 0,
+  priceAfterTaxTakeout: 0,
+  dineInTaxRate: 0,
+  takeoutTaxRate: 0,
   stock: 0,
   is_new: 0,
   postage: 0,