Jelajahi Sumber

fix:修改bug#2545

zhaoyang 2 bulan lalu
induk
melakukan
4403b7afb5

+ 4 - 4
src/api/modules/licenseManagement.ts

@@ -13,7 +13,7 @@ export const getFoodBusinessLicense = params => {
   return http.get(PORT_NONE + `/license/queryFoodLicenceList`, params);
 };
 
-// 获取娱乐经营许可证
+// 获取其他资质证明
 export const getEntertainmentBusinessLicense = params => {
   return http.get(PORT_NONE + `/license/queryEntertainmentLicenseList`, params);
 };
@@ -38,7 +38,7 @@ export const getBusinessLicenseChangeRecords = params => {
   return http.get(PORT_NONE + `/license/queryBusinessLicenseByStatusList`, params);
 };
 
-// 获取娱乐经营许可证变更记录
+// 获取其他资质证明变更记录
 export const getEntertainmentChangeRecords = params => {
   return http.get(PORT_NONE + `/license/queryEntertainmentByStatusList`, params);
 };
@@ -57,7 +57,7 @@ export const getStoreFoodLicenceStatus = params => {
   return http.get(PORT_NONE + `/license/getStoreFoodLicenceStatus`, params);
 };
 
-// 获取娱乐经营许可证审核状态
+// 获取其他资质证明审核状态
 export const getStoreEntertainmentLicenceStatus = params => {
   return http.get(PORT_NONE + `/license/queryStoreEntertainmentStatus`, params);
 };
@@ -72,7 +72,7 @@ export const submitFoodLicenseReview = params => {
   return http.post(PORT_NONE + `/license/uploadfoodLicence`, params);
 };
 
-// 提交娱乐经营许可证审核
+// 提交其他资质证明审核
 export const submitEntertainmentLicenseReview = params => {
   return http.post(PORT_NONE + `/license/uploadEntertainmentLicence`, params);
 };

+ 1 - 1
src/assets/json/authMenuList.json

@@ -400,7 +400,7 @@
           "component": "/licenseManagement/entertainmentLicense",
           "meta": {
             "icon": "CreditCard",
-            "title": "娱乐经营许可证",
+            "title": "其他资质证明",
             "isLink": "",
             "isHide": false,
             "isFull": false,

+ 2 - 2
src/stores/modules/auth.ts

@@ -97,8 +97,8 @@ export const useAuthStore = defineStore({
                   menu.meta.isHide = mealsFlag !== 1;
                 }
                 break;
-              case "娱乐经营许可证":
-                // 只有酒吧(businessSection=2) 和 KTV(businessSection=3) 显示娱乐经营许可证
+              case "其他资质证明":
+                // 只有酒吧(businessSection=2) 和 KTV(businessSection=3) 显示其他资质证明
                 menu.meta.isHide = ![2, 3].includes(businessSection);
                 break;
             }

+ 6 - 6
src/utils/permission.ts

@@ -51,7 +51,7 @@ export async function usePermission(tip?: string) {
 
 /**
  * @description 检查菜单访问权限(新方法)
- * @returns {Object} 返回合同管理、食品经营许可证、娱乐经营许可证的权限状态
+ * @returns {Object} 返回合同管理、食品经营许可证、其他资质证明的权限状态
  */
 export async function checkMenuAccessPermission(): Promise<{
   contractManagement: boolean;
@@ -80,7 +80,7 @@ export async function checkMenuAccessPermission(): Promise<{
         foodPermission = value == "0";
       }
 
-      // 解析娱乐经营许可证权限
+      // 解析其他资质证明权限
       let entertainmentPermission = false;
       if (data.entertainmentLicenceExpirationTime !== undefined) {
         const value = data.entertainmentLicenceExpirationTime;
@@ -102,7 +102,7 @@ export async function checkMenuAccessPermission(): Promise<{
           foodPermission = false;
         }
       }
-      // 只有酒吧(businessSection=2) 和 KTV(businessSection=3) 才需要展示娱乐经营许可证相关逻辑
+      // 只有酒吧(businessSection=2) 和 KTV(businessSection=3) 才需要展示其他资质证明相关逻辑
       if (![2, 3].includes(businessSection)) {
         entertainmentPermission = false;
       }
@@ -145,7 +145,7 @@ export async function checkMenuClickPermission(path?: string): Promise<{
   // 页面路径常量
   const CONTRACT_MANAGEMENT_PATH = "/licenseManagement/contractManagement"; // 合同管理
   const FOOD_BUSINESS_LICENSE_PATH = "/licenseManagement/foodBusinessLicense"; // 食品经营许可证
-  const ENTERTAINMENT_LICENSE_PATH = "/licenseManagement/entertainmentLicense"; // 娱乐经营许可证
+  const ENTERTAINMENT_LICENSE_PATH = "/licenseManagement/entertainmentLicense"; // 其他资质证明
 
   // 调用权限检查方法,获取两个权限状态
   const permissions = await checkMenuAccessPermission();
@@ -181,11 +181,11 @@ export async function checkMenuClickPermission(path?: string): Promise<{
       // 暂时关闭三个权限检查
       // messages.push("食品经营许可证已到期,请上传最新许可证。");
     }
-    // 检查娱乐经营许可证页面
+    // 检查其他资质证明页面
     if (path === ENTERTAINMENT_LICENSE_PATH && entertainmentBusinessLicense) {
       isBlocked = true;
       // 暂时关闭三个权限检查
-      // messages.push("娱乐经营许可证已到期,请上传最新许可证。");
+      // messages.push("其他资质证明已到期,请上传最新许可证。");
     }
 
     // 如果被阻止,显示提示信息

+ 20 - 20
src/views/home/components/go-flow.vue

@@ -268,14 +268,14 @@
                 </el-upload>
               </el-form-item> -->
 
-              <el-form-item label="娱乐经营许可证" prop="disportLicenceImgList" v-if="showDisportLicence">
+              <el-form-item label="其他资质证明" prop="disportLicenceImgList" v-if="showDisportLicence">
                 <el-upload
                   v-model:file-list="step2Form.disportLicenceImgList"
                   :http-request="handleHttpUpload"
                   list-type="picture-card"
                   :limit="1"
                   :on-exceed="handleExceed"
-                  :on-success="(response, file) => handleUploadSuccess(response, file, 'BUSINESS_LICENSE', '娱乐经营许可证')"
+                  :on-success="(response, file) => handleUploadSuccess(response, file, 'BUSINESS_LICENSE', '其他资质证明')"
                   :on-preview="handlePictureCardPreview"
                 >
                   <el-icon><Plus /></el-icon>
@@ -374,7 +374,7 @@ const ocrResult = ref<{
 
 // 食品经营许可证到期时间(从 OCR 结果中提取)
 const foodLicenceExpirationTime = ref<string>("");
-// 娱乐经营许可证到期时间(从 OCR 结果中提取)
+// 其他资质证明到期时间(从 OCR 结果中提取)
 const entertainmentLicenceExpirationTime = ref<string>("");
 
 // 是否正在识别中
@@ -383,7 +383,7 @@ const isOcrProcessing = ref(false);
 // OCR识别状态:'success' | 'failed' | 'none'(未识别)
 const businessLicenseOcrStatus = ref<"success" | "failed" | "none">("none"); // 营业执照OCR状态
 const foodLicenseOcrStatus = ref<"success" | "failed" | "none">("none"); // 食品经营许可证OCR状态
-const entertainmentLicenseOcrStatus = ref<"success" | "failed" | "none">("none"); // 娱乐经营许可证OCR状态
+const entertainmentLicenseOcrStatus = ref<"success" | "failed" | "none">("none"); // 其他资质证明OCR状态
 
 // 日期格式转换函数:支持两种格式
 // 1. "20220508" -> "2022-05-08"
@@ -420,7 +420,7 @@ const isIdCardUploadComplete = computed(() => {
   return idCardFrontList.value.length > 0 && idCardBackList.value.length > 0;
 });
 
-// 计算是否需要显示娱乐经营许可证(酒吧或KTV时显示)
+// 计算是否需要显示其他资质证明(酒吧或KTV时显示)
 const showDisportLicence = computed(() => {
   const sectionName = step2Form.businessSectionName;
   const sectionId = step2Form.businessSection;
@@ -549,7 +549,7 @@ const step2Rules: FormRules = {
   businessLicenseAddress: [{ required: true, message: "请上传营业执照", trigger: "change" }],
   // contractImageList: [{ required: true, message: "请上传合同图片", trigger: "change" }], // 已隐藏 (2026-01-17)
   // foodLicenceImgList: [{ required: true, message: "请上传食品经营许可证", trigger: "change" }], // 已隐藏 (2026-01-17)
-  disportLicenceImgList: [{ required: true, message: "请上传娱乐经营许可证", trigger: "change" }]
+  disportLicenceImgList: [{ required: true, message: "请上传其他资质证明", trigger: "change" }]
 };
 
 //地址集合
@@ -988,12 +988,12 @@ const autoOcrRecognition = async (ocrType: string, name: string) => {
     // 将正反面 URL 用逗号分隔
     imageUrls = `${frontUrl},${backUrl}`;
   } else if (ocrType === "BUSINESS_LICENSE") {
-    // 营业执照或娱乐经营许可证:检查是否已上传
-    // 优先检查营业执照,如果没有再检查娱乐经营许可证
+    // 营业执照或其他资质证明:检查是否已上传
+    // 优先检查营业执照,如果没有再检查其他资质证明
     let fileList: UploadUserFile[] = [];
     if (name == "营业执照") {
       fileList = step2Form.businessLicenseAddress;
-    } else if (name == "娱乐经营许可证") {
+    } else if (name == "其他资质证明") {
       fileList = step2Form.disportLicenceImgList;
     } else {
       return;
@@ -1096,10 +1096,10 @@ const autoOcrRecognition = async (ocrType: string, name: string) => {
 
         ElMessage.success("身份证识别成功");
       } else if (ocrType === "BUSINESS_LICENSE") {
-        // 判断是营业执照还是娱乐经营许可证
+        // 判断是营业执照还是其他资质证明
         const isBusinessLicense = step2Form.businessLicenseAddress.length > 0;
 
-        // 提取 validToDate 字段(娱乐经营许可证
+        // 提取 validToDate 字段(其他资质证明
         if (!isBusinessLicense && res.data && Array.isArray(res.data) && res.data.length > 0) {
           const validToDate = res.data[0]?.validToDate || "";
           if (validToDate) {
@@ -1111,9 +1111,9 @@ const autoOcrRecognition = async (ocrType: string, name: string) => {
         if (name == "营业执照") {
           businessLicenseOcrStatus.value = "success";
           ElMessage.success("营业执照识别成功");
-        } else if (name == "娱乐经营许可证") {
+        } else if (name == "其他资质证明") {
           entertainmentLicenseOcrStatus.value = "success";
-          ElMessage.success("娱乐经营许可证识别成功");
+          ElMessage.success("其他资质证明识别成功");
         }
       } else if (ocrType === "FOOD_MANAGE_LICENSE") {
         // 提取食品经营许可证的 validToDate 字段
@@ -1132,7 +1132,7 @@ const autoOcrRecognition = async (ocrType: string, name: string) => {
       console.warn("OCR 识别失败:", res?.msg);
       if (name === "营业执照") {
         businessLicenseOcrStatus.value = "failed";
-      } else if (name === "娱乐经营许可证") {
+      } else if (name === "其他资质证明") {
         entertainmentLicenseOcrStatus.value = "failed";
       } else if (ocrType === "FOOD_MANAGE_LICENSE") {
         foodLicenseOcrStatus.value = "failed";
@@ -1142,7 +1142,7 @@ const autoOcrRecognition = async (ocrType: string, name: string) => {
   } catch (error) {
     if (name === "营业执照") {
       businessLicenseOcrStatus.value = "failed";
-    } else if (name === "娱乐经营许可证") {
+    } else if (name === "其他资质证明") {
       entertainmentLicenseOcrStatus.value = "failed";
     } else if (ocrType === "FOOD_MANAGE_LICENSE") {
       foodLicenseOcrStatus.value = "failed";
@@ -1162,7 +1162,7 @@ const handleUploadSuccess = (response: any, uploadFile: UploadUserFile, ocrType:
   if (ocrType && (ocrType === "ID_CARD" || ocrType === "BUSINESS_LICENSE" || ocrType === "FOOD_MANAGE_LICENSE")) {
     if (name === "营业执照") {
       businessLicenseOcrStatus.value = "none";
-    } else if (name === "娱乐经营许可证") {
+    } else if (name === "其他资质证明") {
       entertainmentLicenseOcrStatus.value = "none";
     } else if (ocrType === "FOOD_MANAGE_LICENSE") {
       foodLicenseOcrStatus.value = "none";
@@ -1233,7 +1233,7 @@ const handleRemove = (file: UploadUserFile) => {
     // 移除的是食品经营许可证
     foodLicenseOcrStatus.value = "none";
   } else if (step2Form.disportLicenceImgList.some((f: UploadUserFile) => f.uid === file.uid)) {
-    // 移除的是娱乐经营许可证
+    // 移除的是其他资质证明
     entertainmentLicenseOcrStatus.value = "none";
   }
 };
@@ -1321,7 +1321,7 @@ const handleSubmit = async () => {
         failedLicenses.push("食品经营许可证");
       }
       if (step2Form.disportLicenceImgList.length > 0 && entertainmentLicenseOcrStatus.value === "failed") {
-        failedLicenses.push("娱乐经营许可证");
+        failedLicenses.push("其他资质证明");
       }
 
       if (failedLicenses.length > 0) {
@@ -1407,10 +1407,10 @@ const handleSubmit = async () => {
 
       const params = {
         foodLicenceExpirationTime: foodLicenceExpirationTime.value, //食品经营许可证到期时间
-        entertainmentLicenceExpirationTime: entertainmentLicenceExpirationTime.value, //娱乐经营许可证到期时间
+        entertainmentLicenceExpirationTime: entertainmentLicenceExpirationTime.value, //其他资质证明到期时间
         businessClassifyList: step2Form.businessSecondLevel, //三级分类
         mealProvided: step2Form.businessSecondMeal, //是否提供餐食
-        entertainmentLicenseAddress: disportLicenceUrls, //娱乐经营许可证
+        entertainmentLicenseAddress: disportLicenceUrls, //其他资质证明
         storeTel: userInfo.phone,
         storeName: step2Form.storeName,
         storeCapacity: step2Form.storeCapacity,

+ 6 - 6
src/views/licenseManagement/entertainmentLicense.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="card content-box">
     <div class="content-section">
-      <div class="tip-text">娱乐经营许可证到期时间:{{ expirationTime || "--" }}</div>
+      <div class="tip-text">其他资质证明到期时间:{{ expirationTime || "--" }}</div>
       <div class="action-buttons">
         <el-button type="primary" @click="handleReplace"> 更换 </el-button>
         <el-button type="primary" @click="handleViewChangeRecord"> 查看变更记录 </el-button>
@@ -21,12 +21,12 @@
       </div>
     </div>
     <div v-else class="empty-license">
-      <el-empty description="暂无娱乐经营许可证" :image-size="100" />
+      <el-empty description="暂无其他资质证明" :image-size="100" />
     </div>
-    <!-- 更换娱乐经营许可证弹窗 -->
+    <!-- 更换其他资质证明弹窗 -->
     <el-dialog
       v-model="replaceDialogVisible"
-      title="更换娱乐经营许可证"
+      title="更换其他资质证明"
       width="600px"
       :before-close="handleReplaceDialogClose"
       :close-on-click-modal="false"
@@ -204,7 +204,7 @@ const handleReplace = async () => {
   };
   const res: any = await getStoreEntertainmentLicenceStatus(params);
   if (res.data.entertainmentStatus == 2) {
-    ElMessage.warning("娱乐经营许可证审核中,请耐心等待");
+    ElMessage.warning("其他资质证明审核中,请耐心等待");
   } else {
     replaceDialogVisible.value = true;
   }
@@ -436,7 +436,7 @@ const uploadSingleFile = async (file: UploadFile) => {
         imageUrlList.value.push(imageUrl);
       }
 
-      // 图片上传成功后调用 OCR 接口进行识别校验(娱乐经营许可证
+      // 图片上传成功后调用 OCR 接口进行识别校验(其他资质证明
       try {
         const params = {
           imageUrls: imageUrl,

+ 1 - 1
src/views/login/index.vue

@@ -992,7 +992,7 @@ const handleLogin = async () => {
           // 食品经营许可证权限
           router.replace("/licenseManagement/foodBusinessLicense");
         } else if (entertainmentBusinessLicense) {
-          // 娱乐经营许可证权限
+          // 其他资质证明权限
           router.replace("/licenseManagement/entertainmentLicense");
         } else {
           // 5.跳转到首页,使用 replace 避免历史记录问题