已修改15个文件
已删除46个文件
615 ■■■■ 文件已修改
.env.production 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/AYNMLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/BDSMLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/BHMYLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/CJNYLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/CMNYLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/DHDCLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/DHHBLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/DZYSLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/HCKXLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/HCMYLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/HGJJLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/HHKJLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/HSMYLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/HSXLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/HXGYLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/HXSJLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/HYSNLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/JLMYLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/JLSNLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/JMSLLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/JSMYLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/JSYNYLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/JYHJLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/JZYJLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/LCLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/LQMLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/MKZSLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/MXSCLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/NYDLLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/PHMKLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/QLMCLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/RTSWLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/RZNYLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/TJKHLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/TJXMLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/TYMKLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/WDSYLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/XYHBLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/ZDXMLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/ZGLTLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/ZQHXLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/ZYRQLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/logo.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/南通云从工业互联网有限公司.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/新缆(江苏)数字科技有限公司.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/assets/logo/芯导软件(江苏)有限公司.png 补丁 | 查看 | 原始文档 | blame | 历史
multiple/config.json 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/procurementManagement/procurementLedger.js 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/inventoryManagement/receiptManagement/components/formDia.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/inventoryManagement/receiptManagement/components/formDiaProduct.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/personnelManagement/onboarding/index.vue 348 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/productionManagement/productionDispatching/components/formDia.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/qualityManagement/finalInspection/components/formDia.vue 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/qualityManagement/finalInspection/index.vue 46 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/qualityManagement/processInspection/components/formDia.vue 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/qualityManagement/processInspection/index.vue 46 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/qualityManagement/rawMaterialInspection/components/formDia.vue 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/qualityManagement/rawMaterialInspection/index.vue 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
vite.config.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.env.production
@@ -1,5 +1,5 @@
# é¡µé¢æ ‡é¢˜
VITE_APP_TITLE = æ–°ç¼†-质量检测管理系统
VITE_APP_TITLE = æ–°ç¼†-能耗管理系统
# ç”Ÿäº§çŽ¯å¢ƒé…ç½®
VITE_APP_ENV = 'production'
multiple/assets/logo/AYNMLogo.png
Binary files differ
multiple/assets/logo/BDSMLogo.png
Binary files differ
multiple/assets/logo/BHMYLogo.png
Binary files differ
multiple/assets/logo/CJNYLogo.png
Binary files differ
multiple/assets/logo/CMNYLogo.png
Binary files differ
multiple/assets/logo/DHDCLogo.png
Binary files differ
multiple/assets/logo/DHHBLogo.png
Binary files differ
multiple/assets/logo/DZYSLogo.png
Binary files differ
multiple/assets/logo/HCKXLogo.png
Binary files differ
multiple/assets/logo/HCMYLogo.png
Binary files differ
multiple/assets/logo/HGJJLogo.png
Binary files differ
multiple/assets/logo/HHKJLogo.png
Binary files differ
multiple/assets/logo/HSMYLogo.png
Binary files differ
multiple/assets/logo/HSXLogo.png
Binary files differ
multiple/assets/logo/HXGYLogo.png
Binary files differ
multiple/assets/logo/HXSJLogo.png
Binary files differ
multiple/assets/logo/HYSNLogo.png
Binary files differ
multiple/assets/logo/JLMYLogo.png
Binary files differ
multiple/assets/logo/JLSNLogo.png
Binary files differ
multiple/assets/logo/JMSLLogo.png
Binary files differ
multiple/assets/logo/JSMYLogo.png
Binary files differ
multiple/assets/logo/JSYNYLogo.png
Binary files differ
multiple/assets/logo/JYHJLogo.png
Binary files differ
multiple/assets/logo/JZYJLogo.png
Binary files differ
multiple/assets/logo/LCLogo.png
Binary files differ
multiple/assets/logo/LQMLogo.png
Binary files differ
multiple/assets/logo/MKZSLogo.png
Binary files differ
multiple/assets/logo/MXSCLogo.png
Binary files differ
multiple/assets/logo/NYDLLogo.png
Binary files differ
multiple/assets/logo/PHMKLogo.png
Binary files differ
multiple/assets/logo/QLMCLogo.png
Binary files differ
multiple/assets/logo/RTSWLogo.png
Binary files differ
multiple/assets/logo/RZNYLogo.png
Binary files differ
multiple/assets/logo/TJKHLogo.png
Binary files differ
multiple/assets/logo/TJXMLogo.png
Binary files differ
multiple/assets/logo/TYMKLogo.png
Binary files differ
multiple/assets/logo/WDSYLogo.png
Binary files differ
multiple/assets/logo/XYHBLogo.png
Binary files differ
multiple/assets/logo/ZDXMLogo.png
Binary files differ
multiple/assets/logo/ZGLTLogo.png
Binary files differ
multiple/assets/logo/ZQHXLogo.png
Binary files differ
multiple/assets/logo/ZYRQLogo.png
Binary files differ
multiple/assets/logo/logo.png

multiple/assets/logo/ÄÏÍ¨ÔÆ´Ó¹¤Òµ»¥ÁªÍøÓÐÏÞ¹«Ë¾.png
Binary files differ
multiple/assets/logo/ÐÂÀ£¨½­ËÕ£©Êý×ֿƼ¼ÓÐÏÞ¹«Ë¾.png
Binary files differ
multiple/assets/logo/оµ¼Èí¼þ£¨½­ËÕ£©ÓÐÏÞ¹«Ë¾.png
Binary files differ
multiple/config.json
@@ -1,20 +1,20 @@
{
  "default": {
    "env": {
      "VITE_APP_TITLE": "芯导云(管理信息系统)"
    },
    "screen": "screen/JZYJView.png",
    "logo": "logo/HYSNLogo.png",
    "favicon": "favicon/HYSNico.ico"
  },
  "TEST": {
    "env": {
      "VITE_APP_TITLE": "中小企业数字化转型二级套餐包",
      "VITE_BASE_API": "http://1.15.17.182:9003",
      "VITE_JAVA_API": "http://1.15.17.182:9002"
      "VITE_APP_TITLE": "新缆-能耗管理系统"
    },
    "screen": "screen/HYSNView.png",
    "logo": "logo/ZGLTLogo.png",
    "logo": "logo/logo.png",
    "favicon": "favicon/favicon.ico"
  },
  "prod": {
    "env": {
      "VITE_APP_TITLE": "新缆-能耗管理系统",
      "VITE_BASE_API": "http://10.136.12.71:8036",
      "VITE_JAVA_API": "http://10.136.12.71:8036"
    },
    "screen": "screen/HYSNView.png",
    "logo": "logo/logo.png",
    "favicon": "favicon/favicon.ico"
  },
  "screen": "/src/assets/images/login-background.png",
src/api/procurementManagement/procurementLedger.js
@@ -99,30 +99,3 @@
        params: query,
    });
}
export function updateApprovalStatus(query) {
    return request({
        url: "/purchase/ledger/updateApprovalStatus",
        method: "post",
        data: query,
    });
}
// ä¿å­˜é‡‡è´­æ¨¡æ¿
// /purchase/ledger/addPurchaseTemplate
export function addPurchaseTemplate(data) {
    return request({
        url: "/purchase/ledger/addPurchaseTemplate",
        method: "post",
        data: data,
    });
}
// æŸ¥è¯¢é‡‡è´­æ¨¡æ¿
// /purchase/ledger/getPurchaseTemplateList
export function getPurchaseTemplateList(query) {
    return request({
        url: "/purchase/ledger/getPurchaseTemplateList",
        method: "get",
        params: query,
    });
}
src/main.js
@@ -78,7 +78,7 @@
app.config.globalProperties.addDateRange = addDateRange;
app.config.globalProperties.selectDictLabel = selectDictLabel;
app.config.globalProperties.selectDictLabels = selectDictLabels;
app.config.globalProperties.javaApi = __BASE_API__;
app.config.globalProperties.javaApi = "http://127.0.0.1:8036";
app.config.globalProperties.HaveJson = (val) => {
  return JSON.parse(JSON.stringify(val));
};
src/views/inventoryManagement/receiptManagement/components/formDia.vue
@@ -78,7 +78,7 @@
  selectProductRecordListByPuechaserId
} from "@/api/inventoryManagement/stockIn.js";
import { purchaseListPage } from "@/api/procurementManagement/procurementLedger.js";
import { getCurrentDate } from "@/utils/index.js";
// import { getCurrentDate } from "@/utils/index.js";
const userStore = useUserStore()
const { proxy } = getCurrentInstance()
src/views/inventoryManagement/receiptManagement/components/formDiaProduct.vue
@@ -81,7 +81,7 @@
import {
    addStockInCustom, updateProduct
} from "@/api/inventoryManagement/stockIn.js";
import { getCurrentDate } from "@/utils/index.js";
// import { getCurrentDate } from "@/utils/index.js";
const userStore = useUserStore()
const { proxy } = getCurrentInstance()
src/views/personnelManagement/onboarding/index.vue
ÎļþÒÑɾ³ý
src/views/productionManagement/productionDispatching/components/formDia.vue
@@ -114,7 +114,6 @@
<script setup>
import {ref} from "vue";
import {getStaffJoinInfo, staffJoinAdd, staffJoinUpdate} from "@/api/personnelManagement/onboarding.js";
import {userListNoPageByTenantId} from "@/api/system/user.js";
import {productionDispatch} from "@/api/productionManagement/productionOrder.js";
import useUserStore from "@/store/modules/user.js";
src/views/qualityManagement/finalInspection/components/formDia.vue
@@ -76,10 +76,11 @@
        <el-row :gutter="30">
          <el-col :span="12">
            <el-form-item label="检验员:" prop="checkName">
                            <el-select v-model="form.checkName" placeholder="请选择" clearable>
                                <el-option v-for="item in userList" :key="item.nickName" :label="item.nickName"
                                                     :value="item.nickName"/>
                            </el-select>
              <el-input v-model="form.checkName" placeholder="请输入" clearable/>
<!--                            <el-select v-model="form.checkName" placeholder="请选择" clearable>-->
<!--                                <el-option v-for="item in userList" :key="item.nickName" :label="item.nickName"-->
<!--                                                     :value="item.nickName"/>-->
<!--                            </el-select>-->
            </el-form-item>
          </el-col>
          <el-col :span="12">
@@ -225,7 +226,7 @@
                        // å¦‚果编辑数据中有 testStandardId,则设置并加载对应的参数
                        if (savedTestStandardId) {
                            // ç¡®ä¿ç±»åž‹åŒ¹é…ï¼ˆitem.id å¯èƒ½æ˜¯æ•°å­—或字符串)
                            const matchedOption = testStandardOptions.value.find(item =>
                            const matchedOption = testStandardOptions.value.find(item =>
                                item.id == savedTestStandardId || String(item.id) === String(savedTestStandardId)
                            );
                            if (matchedOption) {
@@ -287,7 +288,7 @@
    if (children && children.length > 0) {
      newItem.children = convertIdToValue(children);
    }
    return newItem;
  });
}
@@ -373,4 +374,4 @@
<style scoped>
</style>
</style>
src/views/qualityManagement/finalInspection/index.vue
@@ -134,17 +134,17 @@
      }
    },
  },
    {
        label: "提交状态",
        prop: "inspectState",
        formatData: (params) => {
            if (params) {
                return "已提交";
            } else {
                return "未提交";
            }
        },
    },
    // {
    //     label: "提交状态",
    //     prop: "inspectState",
    //     formatData: (params) => {
    //         if (params) {
    //             return "已提交";
    //         } else {
    //             return "未提交";
    //         }
    //     },
    // },
  {
    dataType: "action",
    label: "操作",
@@ -169,16 +169,16 @@
          openFilesFormDia(row);
        },
      },
            {
                name: "提交",
                type: "text",
                clickFun: (row) => {
                    submit(row.id);
                },
                disabled: (row) => {
                    return row.inspectState == 1;
                }
            },
            // {
            //     name: "提交",
            //     type: "text",
            //     clickFun: (row) => {
            //         submit(row.id);
            //     },
            //     disabled: (row) => {
            //         return row.inspectState == 1;
            //     }
            // },
            {
                name: "分配检验员",
                type: "text",
@@ -359,13 +359,13 @@
            type: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
        })
        const downloadUrl = window.URL.createObjectURL(blob)
        const link = document.createElement('a')
        link.href = downloadUrl
        link.download = '原材料检验报告.docx'
        document.body.appendChild(link)
        link.click()
        document.body.removeChild(link)
        window.URL.revokeObjectURL(downloadUrl)
    })
src/views/qualityManagement/processInspection/components/formDia.vue
@@ -10,10 +10,10 @@
        <el-row :gutter="30">
          <el-col :span="12">
            <el-form-item label="工序:" prop="processId">
              <el-select
                v-model="form.processId"
                placeholder="请选择工序"
                clearable
              <el-select
                v-model="form.processId"
                placeholder="请选择工序"
                clearable
                @change="handleProcessChange"
                style="width: 100%"
              >
@@ -96,10 +96,11 @@
        <el-row :gutter="30">
          <el-col :span="12">
            <el-form-item label="检验员:" prop="checkName">
                            <el-select v-model="form.checkName" placeholder="请选择" clearable>
                                <el-option v-for="item in userList" :key="item.nickName" :label="item.nickName"
                                                     :value="item.nickName"/>
                            </el-select>
              <el-input v-model="form.checkName" placeholder="请输入" clearable/>
<!--                            <el-select v-model="form.checkName" placeholder="请选择" clearable>-->
<!--                                <el-option v-for="item in userList" :key="item.nickName" :label="item.nickName"-->
<!--                                                     :value="item.nickName"/>-->
<!--                            </el-select>-->
            </el-form-item>
          </el-col>
          <el-col :span="12">
@@ -274,7 +275,7 @@
                        // å¦‚果编辑数据中有 testStandardId,则设置并加载对应的参数
                        if (savedTestStandardId) {
                            // ç¡®ä¿ç±»åž‹åŒ¹é…ï¼ˆitem.id å¯èƒ½æ˜¯æ•°å­—或字符串)
                            const matchedOption = testStandardOptions.value.find(item =>
                            const matchedOption = testStandardOptions.value.find(item =>
                                item.id == savedTestStandardId || String(item.id) === String(savedTestStandardId)
                            );
                            if (matchedOption) {
@@ -335,7 +336,7 @@
    if (children && children.length > 0) {
      newItem.children = convertIdToValue(children);
    }
    return newItem;
  });
}
@@ -360,7 +361,7 @@
                })
            }
            const data = {
                ...form.value,
                ...form.value,
                process: processName, // ä¿ç•™ process å­—段以兼容后端
                qualityInspectParams: tableData.value
            }
@@ -438,4 +439,4 @@
<style scoped>
</style>
</style>
src/views/qualityManagement/processInspection/index.vue
@@ -139,17 +139,17 @@
      }
    },
  },
    {
        label: "提交状态",
        prop: "inspectState",
        formatData: (params) => {
            if (params) {
                return "已提交";
            } else {
                return "未提交";
            }
        },
    },
    // {
    //     label: "提交状态",
    //     prop: "inspectState",
    //     formatData: (params) => {
    //         if (params) {
    //             return "已提交";
    //         } else {
    //             return "未提交";
    //         }
    //     },
    // },
  {
    dataType: "action",
    label: "操作",
@@ -174,16 +174,16 @@
          openFilesFormDia(row);
        },
      },
            {
                name: "提交",
                type: "text",
                clickFun: (row) => {
                    submit(row.id);
                },
                disabled: (row) => {
                    return row.inspectState == 1;
                }
            },
            // {
            //     name: "提交",
            //     type: "text",
            //     clickFun: (row) => {
            //         submit(row.id);
            //     },
            //     disabled: (row) => {
            //         return row.inspectState == 1;
            //     }
            // },
            {
                name: "分配检验员",
                type: "text",
@@ -344,13 +344,13 @@
            type: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
        })
        const downloadUrl = window.URL.createObjectURL(blob)
        const link = document.createElement('a')
        link.href = downloadUrl
        link.download = '过程检验报告.docx'
        document.body.appendChild(link)
        link.click()
        document.body.removeChild(link)
        window.URL.revokeObjectURL(downloadUrl)
    })
src/views/qualityManagement/rawMaterialInspection/components/formDia.vue
@@ -10,18 +10,19 @@
        <el-row :gutter="30">
          <el-col :span="12">
            <el-form-item label="供应商:" prop="supplier">
              <el-select
                  v-model="form.supplier"
                  placeholder="请选择"
                  clearable
              >
                <el-option
                    v-for="item in supplierList"
                    :key="item.id"
                    :label="item.supplierName"
                    :value="item.supplierName"
                />
              </el-select>
              <el-input v-model="form.supplier" placeholder="请选择" clearable></el-input>
<!--              <el-select-->
<!--                  v-model="form.supplier"-->
<!--                  placeholder="请选择"-->
<!--                  clearable-->
<!--              >-->
<!--                <el-option-->
<!--                    v-for="item in supplierList"-->
<!--                    :key="item.id"-->
<!--                    :label="item.supplierName"-->
<!--                    :value="item.supplierName"-->
<!--                />-->
<!--              </el-select>-->
            </el-form-item>
          </el-col>
          <el-col :span="12">
@@ -243,7 +244,7 @@
            // å¦‚果编辑数据中有 testStandardId,则设置并加载对应的参数
            if (savedTestStandardId) {
              // ç¡®ä¿ç±»åž‹åŒ¹é…ï¼ˆitem.id å¯èƒ½æ˜¯æ•°å­—或字符串)
              const matchedOption = testStandardOptions.value.find(item =>
              const matchedOption = testStandardOptions.value.find(item =>
                item.id == savedTestStandardId || String(item.id) === String(savedTestStandardId)
              );
              if (matchedOption) {
@@ -394,4 +395,4 @@
<style scoped>
</style>
</style>
src/views/qualityManagement/rawMaterialInspection/index.vue
@@ -141,17 +141,17 @@
      }
    },
  },
  {
    label: "提交状态",
    prop: "inspectState",
    formatData: (params) => {
      if (params) {
        return "已提交";
      } else {
        return "未提交";
      }
    },
  },
  // {
  //   label: "提交状态",
  //   prop: "inspectState",
  //   formatData: (params) => {
  //     if (params) {
  //       return "已提交";
  //     } else {
  //       return "未提交";
  //     }
  //   },
  // },
  {
    dataType: "action",
    label: "操作",
@@ -176,16 +176,16 @@
          openFilesFormDia(row);
        },
      },
      {
        name: "提交",
        type: "text",
        clickFun: (row) => {
          submit(row.id);
        },
                disabled: (row) => {
                    return row.inspectState == 1;
                }
      },
      // {
      //   name: "提交",
      //   type: "text",
      //   clickFun: (row) => {
      //     submit(row.id);
      //   },
            //     disabled: (row) => {
            //         return row.inspectState == 1;
            //     }
      // },
      {
        name: "分配检验员",
        type: "text",
vite.config.js
@@ -8,8 +8,8 @@
  const { VITE_APP_ENV } = env;
  const baseUrl =
    VITE_APP_ENV == "development"
      ? "http://114.132.189.42:8089" // å¼€å‘环境后端接口
      : "http://114.132.189.42:7003"; // ç”Ÿäº§çŽ¯å¢ƒåŽç«¯æŽ¥å£
      ? "http://127.0.0.1:8036" // å¼€å‘环境后端接口
      : "http://127.0.0.1:8036"; // ç”Ÿäº§çŽ¯å¢ƒåŽç«¯æŽ¥å£
  return {
    // éƒ¨ç½²ç”Ÿäº§çŽ¯å¢ƒå’Œå¼€å‘çŽ¯å¢ƒä¸‹çš„URL。