From a21262bcedc2431ce9af71c3a47697d00de08344 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=A8=E7=93=9C=E4=B8=80=E5=9D=97=E5=85=AB?= <2523890936@qq.com> Date: Fri, 15 Aug 2025 13:38:27 +0800 Subject: [PATCH 01/15] bugfix --- f/web-kboss/src/router/index.js | 167 +++++++++--------- .../customer/approveMangement/pendingPro.vue | 3 +- .../productMangement/commonBox/index.vue | 25 +-- .../homePage/components/topBox/index.vue | 9 +- .../ncmatch/mainPage/menuAside/index.vue | 56 +++--- f/web-kboss/src/views/setting/tools.js | 4 +- 6 files changed, 142 insertions(+), 122 deletions(-) diff --git a/f/web-kboss/src/router/index.js b/f/web-kboss/src/router/index.js index cd10ffe..79496f9 100644 --- a/f/web-kboss/src/router/index.js +++ b/f/web-kboss/src/router/index.js @@ -301,89 +301,7 @@ export const asyncRoutes = [ // name: 'productHome', // meta: {title: "概览", fullPath: "/productHome", noCache: true} // }, - { - hidden: true, - path: "/approveMangement", - component:Layout, - name: "approveMangement", - redirect: "/approveMangement/index", - meta: { fullPath: "/approveMangement", title: "审核管理", noCache: true, icon: 'el-icon-s-home' }, - children: [ - { - path: "pendingPro", - component: () => import("@/views/customer/approveMangement/pendingPro.vue"), - name: "pendingPro", - meta: { title: "待审清单", fullPath: "/approveMangement/index" }, - }, - { - path: "approvedPro", - component: () => import("@/views/customer/approveMangement/approvedPro.vue"), - name: "approvedPro", - meta: { title: "已审清单", fullPath: "/approveMangement/approvedPro" }, - }, - ] - }, - { - hidden: true, - path: "/productMangement", - component:Layout, - name: "productMangement", - redirect: "/productMangement/index", - meta: { fullPath: "/productMangement", title: "商品管理", noCache: true, icon: 'el-icon-s-home' }, - children: [ - { - path: "index", - component: () => import("@/views/customer/productMangement/productList/index.vue"), - name: "productList", - meta: { title: "商品发布清单", fullPath: "/productMangement/index" }, - }, - { - path: "rejectedPro", - component: () => import("@/views/customer/productMangement/rejectedPro/index.vue"), - name: "rejectedPro", - meta: { title: "商品未通过清单", fullPath: "/productMangement/index" }, - }, - ] - }, - { - hidden: true, - path: "/menuMangement", - component:Layout, - name: "menuMangement", - redirect: "/menuMangement/index", - meta: { fullPath: "/menuMangement", title: "菜单管理", noCache: true, icon: 'el-icon-s-home' }, - children: [ - { - path: "index", - component: () => import("@/views/operation/menuMangement/index.vue"), - name: "menuMangement", - meta: { title: "菜单管理", fullPath: "/menuMangement/index" }, - }, - ] - }, - { - hidden: true, - path: "/demandMangement", - component:Layout, - name: "demandMangement", - redirect: "/demandMangement/index", - meta: { fullPath: "/demandMangement", title: "需求管理", noCache: true, icon: 'el-icon-s-home' }, - children: [ - { - path: "index", - component: () => import("@/views/customer/demand/demandList.vue"), - name: "demandList", - meta: { title: "需求发布清单", fullPath: "/demandMangement/index" }, - }, - { - path: "rejectDemand", - component: () => import("@/views/customer/demand/rejectDemand.vue"), - name: "rejectDemand", - meta: { title: "需求未通过清单", fullPath: "/demandMangement/rejectDemand" }, - }, - ] - }, { path: getHomePath() == '/ncmatchHome/index' ? "/ncmatchHome" : "/homePage", @@ -936,7 +854,90 @@ export const asyncRoutes = [ name: "ProductIndex", meta: { title: "产品最新页", fullPath: "/product/productHome/productIndex", noCache: true }, },], - }, { + }, + + { + path: "/approveMangement", + component:Layout, + name: "approveMangement", + redirect: "/approveMangement/index", + meta: { fullPath: "/approveMangement", title: "审核管理", noCache: true, icon: 'el-icon-s-home' }, + children: [ + { + path: "pendingPro", + component: () => import("@/views/customer/approveMangement/pendingPro.vue"), + name: "pendingPro", + meta: { title: "待审清单", fullPath: "/approveMangement/index" }, + }, + { + path: "approvedPro", + component: () => import("@/views/customer/approveMangement/approvedPro.vue"), + name: "approvedPro", + meta: { title: "已审清单", fullPath: "/approveMangement/approvedPro" }, + }, + + ] + }, + { + path: "/productMangement", + component:Layout, + name: "productMangement", + redirect: "/productMangement/index", + meta: { fullPath: "/productMangement", title: "商品管理", noCache: true, icon: 'el-icon-s-home' }, + children: [ + { + path: "index", + component: () => import("@/views/customer/productMangement/productList/index.vue"), + name: "productList", + meta: { title: "商品发布清单", fullPath: "/productMangement/index" }, + }, + { + path: "rejectedPro", + component: () => import("@/views/customer/productMangement/rejectedPro/index.vue"), + name: "rejectedPro", + meta: { title: "商品未通过清单", fullPath: "/productMangement/index" }, + }, + ] + }, + { + hidden: true, + path: "/menuMangement", + component:Layout, + name: "menuMangement", + redirect: "/menuMangement/index", + meta: { fullPath: "/menuMangement", title: "菜单管理", noCache: true, icon: 'el-icon-s-home' }, + children: [ + { + path: "index", + component: () => import("@/views/operation/menuMangement/index.vue"), + name: "menuMangement", + meta: { title: "菜单管理", fullPath: "/menuMangement/index" }, + }, + ] + }, + { + path: "/demandMangement", + component:Layout, + name: "demandMangement", + redirect: "/demandMangement/index", + meta: { fullPath: "/demandMangement", title: "需求管理", noCache: true, icon: 'el-icon-s-home' }, + children: [ + { + path: "index", + component: () => import("@/views/customer/demand/demandList.vue"), + name: "demandList", + meta: { title: "需求发布清单", fullPath: "/demandMangement/index" }, + }, + { + path: "rejectDemand", + component: () => import("@/views/customer/demand/rejectDemand.vue"), + name: "rejectDemand", + meta: { title: "需求未通过清单", fullPath: "/demandMangement/rejectDemand" }, + }, + ] + }, + + { path: "/sales", component: Layout, meta: { diff --git a/f/web-kboss/src/views/customer/approveMangement/pendingPro.vue b/f/web-kboss/src/views/customer/approveMangement/pendingPro.vue index be376cc..ee5452c 100644 --- a/f/web-kboss/src/views/customer/approveMangement/pendingPro.vue +++ b/f/web-kboss/src/views/customer/approveMangement/pendingPro.vue @@ -14,7 +14,8 @@ export default { return { role:{ role_type:'customer', - audit_status:'pending' + audit_status:'pending', + type:'app' } } }, diff --git a/f/web-kboss/src/views/customer/productMangement/commonBox/index.vue b/f/web-kboss/src/views/customer/productMangement/commonBox/index.vue index 02a9ebe..ec2ed6b 100644 --- a/f/web-kboss/src/views/customer/productMangement/commonBox/index.vue +++ b/f/web-kboss/src/views/customer/productMangement/commonBox/index.vue @@ -22,7 +22,7 @@
- {{ item.label }} @@ -32,24 +32,24 @@ 添加{{ searchData.radioType === '1' || searchData.radioType === '3' ? '需求' : '商品' }} --> -
- - + - + @@ -82,7 +82,7 @@ - + \ No newline at end of file From 783e61b12aa8696a133a13123500001d801cbe2c Mon Sep 17 00:00:00 2001 From: ping <1017253325@qq.com> Date: Mon, 18 Aug 2025 13:30:09 +0800 Subject: [PATCH 07/15] update --- b/product/homepage_product_category.dspy | 36 +++++++++++++++++ b/product/publish_product_add.dspy | 1 + b/product/publish_product_search.dspy | 39 ++++++++++++++----- b/product/publish_product_search_detail.dspy | 4 ++ .../publish_product_search_first_page.dspy | 8 +++- b/product/publish_product_update.dspy | 3 +- 6 files changed, 78 insertions(+), 13 deletions(-) create mode 100644 b/product/homepage_product_category.dspy diff --git a/b/product/homepage_product_category.dspy b/b/product/homepage_product_category.dspy new file mode 100644 index 0000000..8a01b8c --- /dev/null +++ b/b/product/homepage_product_category.dspy @@ -0,0 +1,36 @@ +async def homepage_product_category(ns={}): + if not ns.get('publish_type'): + return { + 'status': False, + 'msg': '请传递产品类型' + } + publish_type = ns.get('publish_type') + domain_name = ns.get('url_link').split("//")[1].split("/")[0] + + if 'localhost' in domain_name: + domain_name = 'dev.opencomputing.cn' + + db = DBPools() + async with db.sqlorContext('kboss') as sor: + # 读取user_publish_product产品 + user_publish_product_sql = """SELECT DISTINCT(product_category) FROM user_publish_product WHERE domain_name = '%s' AND first_page = '1' AND audit_status = 'approved' AND listing_status = 'listing' AND del_flg = '0' AND publish_type = '%s' ORDER BY create_at DESC;""" % (domain_name, publish_type) + user_publish_product_result = await sor.sqlExe(user_publish_product_sql, {}) + if not user_publish_product_result: + return { + 'status': False, + 'msg': '没有找到匹配的产品' + } + user_publish_product_ids = [item['product_category'].split(",")[0] for item in user_publish_product_result] + + # 读取user_publish_product_category产品类别 + user_publish_product_category_sql = """SELECT * FROM user_publish_product_category WHERE domain_name = '%s' AND del_flg = '0' ORDER BY priority ASC;""" % domain_name + user_publish_product_category_result = await sor.sqlExe(user_publish_product_category_sql, {}) + result = [item for item in user_publish_product_category_result if str(item['id']) in user_publish_product_ids] + return { + 'status': True, + 'msg': 'success', + 'data': result + } + +ret = await homepage_product_category(params_kw) +return ret \ No newline at end of file diff --git a/b/product/publish_product_add.dspy b/b/product/publish_product_add.dspy index 4427aef..60a53d2 100644 --- a/b/product/publish_product_add.dspy +++ b/b/product/publish_product_add.dspy @@ -91,6 +91,7 @@ async def publish_product_add(ns={}): if user_role != '客户': ns['status'] = '1' ns_dic['audit_status'] = 'approved' + ns_dic['listing_status'] = 'listing' ns_dic['first_page'] = '1' try: await sor.C('user_publish_product', ns_dic) diff --git a/b/product/publish_product_search.dspy b/b/product/publish_product_search.dspy index 5da93e8..a2cbf13 100644 --- a/b/product/publish_product_search.dspy +++ b/b/product/publish_product_search.dspy @@ -36,6 +36,8 @@ async def publish_product_search(ns={}): """ offset = ns.get('offset') manager_self = ns.get('manager_self') + to_excel = ns.get('to_excel') + if ns.get('userid'): userid = ns.get('userid') @@ -141,17 +143,34 @@ async def publish_product_search(ns={}): res['img'] = 'https://' + domain_name + '/idfile?path=' + res['img'] else: res['img'] = None - return { - 'status': True, - 'msg': 'Requirements retrieved successfully', - 'data': { - "id": uuid(), - "total_count": total_count, - "page_size": page_size, - "current_page": current_page_param, - "product_list": result + + # 读取产品类别表 轮询匹配result中的所有类别 + product_category_list = await sor.R('user_publish_product_category', {'del_flg': '0'}) + for res in result: + for product_category in product_category_list: + if product_category['id'] == res['product_category'].split(",")[0]: + res['category_name'] = product_category['product_category'] + break + + if to_excel == '1': + res = await publish_product_to_excel({'result_from_search': result}) + return { + 'status': True, + 'msg': 'search to excel success', + 'data': res['data'] + } + else: + return { + 'status': True, + 'msg': 'Requirements retrieved successfully', + 'data': { + "id": uuid(), + "total_count": total_count, + "page_size": page_size, + "current_page": current_page_param, + "product_list": result + } } - } except Exception as e: return { 'status': False, diff --git a/b/product/publish_product_search_detail.dspy b/b/product/publish_product_search_detail.dspy index c212b01..f4938e4 100644 --- a/b/product/publish_product_search_detail.dspy +++ b/b/product/publish_product_search_detail.dspy @@ -44,8 +44,12 @@ async def publish_product_search_detail(ns={}): # 如果用户角色是运营并且from='b' product_list中的phone_number和email做加星号处理 product_list = await sor.R('user_publish_product', {'id': ns.get('id'), 'del_flg': '0'}) + product_category = await sor.R('user_publish_product_category', {'id': product_list[0]['product_category'].split(',')[0]}) + product_list[0]['product_category'] = product_category[0]['product_category'] if user_role == '运营' and ns.get('from') == 'b': pass + elif orgid == product_list[0]['orgid']: + pass else: for product in product_list: if product.get('phone_number'): diff --git a/b/product/publish_product_search_first_page.dspy b/b/product/publish_product_search_first_page.dspy index da7477b..a7c4afb 100644 --- a/b/product/publish_product_search_first_page.dspy +++ b/b/product/publish_product_search_first_page.dspy @@ -20,8 +20,12 @@ async def publish_product_search_first_page(ns={}): async with db.sqlorContext('kboss') as sor: try: ns['del_flg'] = '0' - if to_page == 'first_page': - count_sql = """SELECT COUNT(*) AS total_count FROM user_publish_product WHERE domain_name = '%s' AND first_page = '1' AND audit_status = 'approved' AND del_flg = '0' AND publish_type = '%s' ORDER BY create_at DESC;""" % (domain_name, publish_type) + # 如果是首页并且有产品分类 + if to_page == 'first_page' and product_category: + count_sql = """SELECT COUNT(*) AS total_count FROM user_publish_product WHERE domain_name = '%s' AND first_page = '1' AND audit_status = 'approved' AND listing_status = 'listing' AND del_flg = '0' AND publish_type = '%s' AND product_category LIKE '%%%%%s%%%%' ORDER BY create_at DESC;""" % (domain_name, publish_type, product_category) + find_sql = """SELECT upp.* FROM user_publish_product AS upp INNER JOIN user_publish_product_category AS uppc ON upp.product_category LIKE uppc.id WHERE upp.domain_name = '%s' AND upp.first_page = '1' AND upp.audit_status = 'approved' AND listing_status = 'listing' AND upp.product_category LIKE '%%%%%s%%%%' AND upp.del_flg = '0' AND upp.publish_type = '%s' ORDER BY uppc.priority ASC, upp.create_at DESC LIMIT %s OFFSET %s;""" % (domain_name, product_category, publish_type, page_size, current_page) + elif to_page == 'first_page': + count_sql = """SELECT COUNT(*) AS total_count FROM user_publish_product WHERE domain_name = '%s' AND first_page = '1' AND audit_status = 'approved' AND listing_status = 'listing' AND del_flg = '0' AND publish_type = '%s' ORDER BY create_at DESC;""" % (domain_name, publish_type) find_sql = """SELECT upp.* FROM user_publish_product AS upp INNER JOIN user_publish_product_category AS uppc ON upp.product_category LIKE uppc.id WHERE upp.domain_name = '%s' AND upp.first_page = '1' AND upp.audit_status = 'approved' AND upp.del_flg = '0' AND upp.publish_type = '%s' ORDER BY uppc.priority ASC, upp.create_at DESC LIMIT %s OFFSET %s;""" % (domain_name, publish_type, page_size, current_page) elif to_page == 'square' and product_category: count_sql = """SELECT COUNT(*) AS total_count FROM user_publish_product WHERE domain_name = '%s' AND product_category LIKE """ % domain_name + """'%%""" + product_category + """%%'""" + """ AND audit_status = 'approved' AND del_flg = '0' AND publish_type = '%s' ORDER BY create_at DESC;""" % publish_type diff --git a/b/product/publish_product_update.dspy b/b/product/publish_product_update.dspy index 3c397b3..e824e5a 100644 --- a/b/product/publish_product_update.dspy +++ b/b/product/publish_product_update.dspy @@ -68,10 +68,11 @@ async def publish_product_update(ns={}): # 非客户角色编辑客户的产品 if user_role != '客户' and ns.get('orgid') != orgid: # 非客户角色审核客户的产品 - # 如果是待审状态 更新审核状态为通过 上架状态为上架 + # 如果是待审状态 更新审核状态为通过 上架状态为上架 清空驳回原因 if ns.get('audit_status') == 'approved': ns_dic['audit_status'] = 'approved' ns_dic['listing_status'] = 'listing' + ns_dic['reject_reason'] = None # 如果是上架商品 更新publish_time为当前时间 if ns.get('listing_status') == 'listing': ns_dic['publish_time'] = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') From b6585566b648ba6774328f374ae7417ab6e58455 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=A8=E7=93=9C=E4=B8=80=E5=9D=97=E5=85=AB?= <2523890936@qq.com> Date: Mon, 18 Aug 2025 13:37:01 +0800 Subject: [PATCH 08/15] bugfix --- f/web-kboss/src/router/index.js | 2 +- f/web-kboss/src/views/customer/ncApprove/index.vue | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/f/web-kboss/src/router/index.js b/f/web-kboss/src/router/index.js index 0191926..24bc6f9 100644 --- a/f/web-kboss/src/router/index.js +++ b/f/web-kboss/src/router/index.js @@ -739,7 +739,7 @@ export const asyncRoutes = [ path: 'approve', component: () => import('@/views/customer/ncApprove/index.vue'), name: "Approve", - meta: { title: "信息审核", fullPath: "/customer/ncApprove" }, + meta: { title: "信息完善", fullPath: "/customer/ncApprove" }, }, { hidden: true, path: "channelMangement", diff --git a/f/web-kboss/src/views/customer/ncApprove/index.vue b/f/web-kboss/src/views/customer/ncApprove/index.vue index 98eb162..8d1b34f 100644 --- a/f/web-kboss/src/views/customer/ncApprove/index.vue +++ b/f/web-kboss/src/views/customer/ncApprove/index.vue @@ -4,7 +4,7 @@
- 信息审核 + 信息完善 From 54c953d41fd881ae46716fe14ff86f6a675df961 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=A8=E7=93=9C=E4=B8=80=E5=9D=97=E5=85=AB?= <2523890936@qq.com> Date: Mon, 18 Aug 2025 13:53:04 +0800 Subject: [PATCH 09/15] bugfix --- .../src/views/homePage/ncmatch/proDetail/index.vue | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/f/web-kboss/src/views/homePage/ncmatch/proDetail/index.vue b/f/web-kboss/src/views/homePage/ncmatch/proDetail/index.vue index 0f70228..968026e 100644 --- a/f/web-kboss/src/views/homePage/ncmatch/proDetail/index.vue +++ b/f/web-kboss/src/views/homePage/ncmatch/proDetail/index.vue @@ -5,6 +5,7 @@ {{ productDetailInfo.product_name }} + ¥{{ productDetailInfo.discount_price }}{{ productDetailInfo.unit }}
@@ -14,10 +15,10 @@ 企业名称: {{ productDetailInfo.company_name }} -
  • +
  • 所属类别: @@ -33,7 +34,11 @@
    • 联系人: - {{ productDetailInfo.contact_person }} {{ productDetailInfo.phone_number }} + {{ productDetailInfo.contact_person }} +
    • +
    • + 手机号码: + {{ productDetailInfo.phone_number }}
    • 邮箱: From 79d1f8ab35ff13161983ab3f1845a9ce8fb56bf5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=A8=E7=93=9C=E4=B8=80=E5=9D=97=E5=85=AB?= <2523890936@qq.com> Date: Tue, 19 Aug 2025 14:45:32 +0800 Subject: [PATCH 10/15] bugfix --- f/web-kboss/src/api/ncmatch/index.js | 39 + f/web-kboss/src/router/index.js | 39 +- .../src/views/customer/ncApprove/img/app.png | Bin 0 -> 4034 bytes .../src/views/customer/ncApprove/img/app.svg | 1 + .../views/customer/ncApprove/img/apped.svg | 1 + .../views/customer/ncApprove/img/apping.svg | 1 + .../views/customer/ncApprove/img/noapp.svg | 1 + .../src/views/customer/ncApprove/index.vue | 757 ++++++++++-------- .../productMangement/commonBox/index.vue | 33 +- .../qualificationReview/apprvedInfo/index.vue | 28 + .../customer/qualificationReview/index.vue | 13 + .../noApproveInfo/index.vue | 28 + .../qualificationBox/index.vue | 379 +++++++++ .../homePage/components/topBox/index.vue | 124 ++- .../views/homePage/ncmatch/mainPage/index.vue | 66 +- .../homePage/ncmatch/proDetail/index.vue | 2 +- .../operation/consultingMangement/index.vue | 60 ++ 17 files changed, 1218 insertions(+), 354 deletions(-) create mode 100644 f/web-kboss/src/views/customer/ncApprove/img/app.png create mode 100644 f/web-kboss/src/views/customer/ncApprove/img/app.svg create mode 100644 f/web-kboss/src/views/customer/ncApprove/img/apped.svg create mode 100644 f/web-kboss/src/views/customer/ncApprove/img/apping.svg create mode 100644 f/web-kboss/src/views/customer/ncApprove/img/noapp.svg create mode 100644 f/web-kboss/src/views/customer/qualificationReview/apprvedInfo/index.vue create mode 100644 f/web-kboss/src/views/customer/qualificationReview/index.vue create mode 100644 f/web-kboss/src/views/customer/qualificationReview/noApproveInfo/index.vue create mode 100644 f/web-kboss/src/views/customer/qualificationReview/qualificationBox/index.vue create mode 100644 f/web-kboss/src/views/operation/consultingMangement/index.vue diff --git a/f/web-kboss/src/api/ncmatch/index.js b/f/web-kboss/src/api/ncmatch/index.js index ce5a7ca..0143f65 100644 --- a/f/web-kboss/src/api/ncmatch/index.js +++ b/f/web-kboss/src/api/ncmatch/index.js @@ -144,3 +144,42 @@ export function reqEnterpriseAuditInfoSearch(data){ }) } +//咨询表单 /product/search_user_inquiry.dspy +export function reqSearchUserInquiry(data){ + return request({ + url: '/product/search_user_inquiry.dspy', + method: 'post', + headers: { 'Content-Type': 'application/json' }, + data + }) +} +//审核状态查询 /user/enterprise_audit_info_search.dspy +export function reqApproveUserSearch(data){ + return request({ + url: '/user/enterprise_audit_info_search.dspy', + method: 'post', + headers: { 'Content-Type': 'application/json' }, + data + }) +} + +//政企审核 更新 /user/enterprise_audit_info_update.dspy + +export function reqEnterpriseUpdate(data){ + return request({ + url: '/user/enterprise_audit_info_update.dspy', + method: 'post', + headers: { 'Content-Type': 'application/json' }, + data + }) +} + +//首页类别查询 /product/homepage_product_category.dspy +export function reqHomepageProductCategory(data){ + return request({ + url: '/product/homepage_product_category.dspy', + method: 'post', + headers: { 'Content-Type': 'application/json' }, + data + }) +} diff --git a/f/web-kboss/src/router/index.js b/f/web-kboss/src/router/index.js index 24bc6f9..a470274 100644 --- a/f/web-kboss/src/router/index.js +++ b/f/web-kboss/src/router/index.js @@ -345,6 +345,20 @@ export const asyncRoutes = [ }] }, + { + path: "/consultingMangement", + name: 'ConsultingMangement', + component: Layout, + meta: { title: "咨询表单", fullPath: "/consultingMangement", noCache: true,icon: "el-icon-s-platform" }, + children: [ + { + path: "index", + component: () => import('@/views/operation/consultingMangement/index.vue'), + name: 'ConsultingMangement', + meta: { title: "咨询表单", fullPath: "/consultingMangement/index", noCache: true,icon: "el-icon-s-platform" }, + } + ] + }, { path: "/product", name: 'product', @@ -855,13 +869,34 @@ export const asyncRoutes = [ meta: { title: "产品最新页", fullPath: "/product/productHome/productIndex", noCache: true }, },], }, - + { + path: "/qualificationReview", + component:Layout, + name: "qualificationReview", + redirect: "/qualificationReview/index", + meta: { fullPath: "/qualificationReview", title: "资质审核", noCache: true, icon: 'el-icon-s-home' }, + children: [ + { + path: "noApproveInfo", + component: () => import("@/views/customer/qualificationReview/noApproveInfo/index.vue"), + name: "noApproveInfo", + meta: { title: "待审清单", fullPath: "/qualificationReview/index" }, + }, + { + path: "rejectInfo", + component: () => import("@/views/customer/qualificationReview/apprvedInfo/index.vue"), + name: "rejectInfo", + meta: { title: "已审清单", fullPath: "/qualificationReview/approvedInfo" }, + }, + + ] + }, { path: "/approveMangement", component:Layout, name: "approveMangement", redirect: "/approveMangement/index", - meta: { fullPath: "/approveMangement", title: "审核管理", noCache: true, icon: 'el-icon-s-home' }, + meta: { fullPath: "/approveMangement", title: "供需审核", noCache: true, icon: 'el-icon-s-home' }, children: [ { path: "pendingPro", diff --git a/f/web-kboss/src/views/customer/ncApprove/img/app.png b/f/web-kboss/src/views/customer/ncApprove/img/app.png new file mode 100644 index 0000000000000000000000000000000000000000..b8c656e0a77d0425c0263b58250395520f890d4a GIT binary patch literal 4034 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 literal 0 HcmV?d00001 diff --git a/f/web-kboss/src/views/customer/ncApprove/img/app.svg b/f/web-kboss/src/views/customer/ncApprove/img/app.svg new file mode 100644 index 0000000..3caedb4 --- /dev/null +++ b/f/web-kboss/src/views/customer/ncApprove/img/app.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/f/web-kboss/src/views/customer/ncApprove/img/apped.svg b/f/web-kboss/src/views/customer/ncApprove/img/apped.svg new file mode 100644 index 0000000..3fa6a6e --- /dev/null +++ b/f/web-kboss/src/views/customer/ncApprove/img/apped.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/f/web-kboss/src/views/customer/ncApprove/img/apping.svg b/f/web-kboss/src/views/customer/ncApprove/img/apping.svg new file mode 100644 index 0000000..e19f974 --- /dev/null +++ b/f/web-kboss/src/views/customer/ncApprove/img/apping.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/f/web-kboss/src/views/customer/ncApprove/img/noapp.svg b/f/web-kboss/src/views/customer/ncApprove/img/noapp.svg new file mode 100644 index 0000000..8b90bc4 --- /dev/null +++ b/f/web-kboss/src/views/customer/ncApprove/img/noapp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/f/web-kboss/src/views/customer/ncApprove/index.vue b/f/web-kboss/src/views/customer/ncApprove/index.vue index 8d1b34f..7cdcb29 100644 --- a/f/web-kboss/src/views/customer/ncApprove/index.vue +++ b/f/web-kboss/src/views/customer/ncApprove/index.vue @@ -1,6 +1,6 @@ diff --git a/f/web-kboss/src/views/customer/productMangement/commonBox/index.vue b/f/web-kboss/src/views/customer/productMangement/commonBox/index.vue index 179751b..97eef49 100644 --- a/f/web-kboss/src/views/customer/productMangement/commonBox/index.vue +++ b/f/web-kboss/src/views/customer/productMangement/commonBox/index.vue @@ -32,9 +32,9 @@ 添加{{ searchData.radioType === '1' || searchData.radioType === '3' ? '需求' : '商品' }} --> - +
  • { console.log(res); @@ -388,7 +388,7 @@ export default { this.closeEditDialog(); this.getTableData(); // 刷新列表 }, - getTableData() { + getTableData(to_excel) { // 处理日期范围 if (this.searchDate && this.searchDate.length === 2) { this.searchData.start_date = this.searchDate[0]; @@ -401,7 +401,26 @@ export default { console.log("searchData", this.searchData); this.loading = true; - reqSearchByMangement(this.searchData).then(res => { + if(to_excel==='1'){ + this.searchData.to_excel=to_excel + reqSearchByMangement({url_link:window.location.href,to_excel:to_excel,publish_type:this.searchData.publish_type}).then(res => { + console.log(res); + if (res.status) { + // 创建一个Workbook对象 + const wb = XLSX.utils.book_new(); + // 创建第一个sheet + const ws1 = XLSX.utils.json_to_sheet(res.data); + XLSX.utils.book_append_sheet(wb, ws1, 'sheet1'); + // 导出Excel文件 + XLSX.writeFile(wb, '产品列表.xlsx'); + } + }).catch(error => { + console.error('获取数据失败:', error); + }).finally(() => { + this.loading = false; + }) + }else{ + reqSearchByMangement(this.searchData).then(res => { console.log(res); if (res.status) { this.tableData = res.data.product_list; @@ -412,6 +431,8 @@ export default { }).finally(() => { this.loading = false; }) + } + }, //分页器 handleSizeChange(val) { diff --git a/f/web-kboss/src/views/customer/qualificationReview/apprvedInfo/index.vue b/f/web-kboss/src/views/customer/qualificationReview/apprvedInfo/index.vue new file mode 100644 index 0000000..d249022 --- /dev/null +++ b/f/web-kboss/src/views/customer/qualificationReview/apprvedInfo/index.vue @@ -0,0 +1,28 @@ + + + \ No newline at end of file diff --git a/f/web-kboss/src/views/customer/qualificationReview/index.vue b/f/web-kboss/src/views/customer/qualificationReview/index.vue new file mode 100644 index 0000000..42732ff --- /dev/null +++ b/f/web-kboss/src/views/customer/qualificationReview/index.vue @@ -0,0 +1,13 @@ + + + diff --git a/f/web-kboss/src/views/customer/qualificationReview/noApproveInfo/index.vue b/f/web-kboss/src/views/customer/qualificationReview/noApproveInfo/index.vue new file mode 100644 index 0000000..b39a177 --- /dev/null +++ b/f/web-kboss/src/views/customer/qualificationReview/noApproveInfo/index.vue @@ -0,0 +1,28 @@ + + diff --git a/f/web-kboss/src/views/customer/qualificationReview/qualificationBox/index.vue b/f/web-kboss/src/views/customer/qualificationReview/qualificationBox/index.vue new file mode 100644 index 0000000..c2271d6 --- /dev/null +++ b/f/web-kboss/src/views/customer/qualificationReview/qualificationBox/index.vue @@ -0,0 +1,379 @@ + + + \ No newline at end of file diff --git a/f/web-kboss/src/views/homePage/components/topBox/index.vue b/f/web-kboss/src/views/homePage/components/topBox/index.vue index 8219f95..1ec2d85 100644 --- a/f/web-kboss/src/views/homePage/components/topBox/index.vue +++ b/f/web-kboss/src/views/homePage/components/topBox/index.vue @@ -1,7 +1,8 @@