From 415ae87cbc1bf1392281e7e314032f129928b14c 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: Wed, 20 Aug 2025 14:26:14 +0800
Subject: [PATCH 1/2] bugfix
---
.../customer/approveMangement/approvedPro.vue | 3 +-
.../productMangement/commonBox/index.vue | 106 +++++++++++++++---
.../qualificationReview/apprvedInfo/index.vue | 2 +-
.../views/homePage/ncmatch/mainPage/index.vue | 4 +-
4 files changed, 95 insertions(+), 20 deletions(-)
diff --git a/f/web-kboss/src/views/customer/approveMangement/approvedPro.vue b/f/web-kboss/src/views/customer/approveMangement/approvedPro.vue
index 2e2c80c..3f20d91 100644
--- a/f/web-kboss/src/views/customer/approveMangement/approvedPro.vue
+++ b/f/web-kboss/src/views/customer/approveMangement/approvedPro.vue
@@ -14,7 +14,8 @@ export default {
return {
role:{
role_type:'customer',
- audit_status:'approved'
+ audit_status:'approved,rejected',
+ type:'user'
}
}
},
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 492c4c2..014a61c 100644
--- a/f/web-kboss/src/views/customer/productMangement/commonBox/index.vue
+++ b/f/web-kboss/src/views/customer/productMangement/commonBox/index.vue
@@ -22,9 +22,15 @@
+
+
+ {{ item.label }}
+
+
-
+
{{ item.label }}
@@ -39,7 +45,7 @@
-
+
审核
上架
下架
导出
item.value === this.role.publish_type);
+ if (selectedItem) {
+ this.searchData.publish_type = selectedItem.publish_type;
+ this.searchData.manager_self = selectedItem.manager_self;
+ }
+ }
+ }
this.getTableData();
},
watch: {
@@ -320,13 +348,27 @@ export default {
this.sendProductVisible = true;
this.sendProductData = item;
},
- handleRadioChange(value) {
- this.searchData.publish_type = this.radioMap[value].publish_type;
- this.searchData.manager_self = this.radioMap[value].manager_self;
- // 切换类型后重新获取数据
- this.searchData.current_page = 1;
- this.getTableData();
- },
+ handleRadioChange(value) {
+ // 根据角色类型选择对应的映射
+ if (this.role.type === 'user') {
+ // 对于 user 类型,在数组中查找对应的项
+ const selectedItem = this.userMap.find(item => item.value === value);
+ if (selectedItem) {
+ this.searchData.publish_type = selectedItem.publish_type;
+ this.searchData.manager_self = selectedItem.manager_self;
+ }
+ } else {
+ // 对于 app 类型,使用 radioMap
+ if (this.radioMap[value]) {
+ this.searchData.publish_type = this.radioMap[value].publish_type;
+ this.searchData.manager_self = this.radioMap[value].manager_self;
+ }
+ }
+
+ // 切换类型后重新获取数据
+ this.searchData.current_page = 1;
+ this.getTableData();
+ },
resetSearch() {
this.searchDate = [];
this.searchData.keyword = "";
@@ -403,7 +445,12 @@ export default {
this.loading = true;
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 => {
+ reqSearchByMangement({
+ url_link: window.location.href,
+ to_excel: to_excel,
+ publish_type: this.searchData.publish_type,
+ manager_self: this.searchData.radioType=='4'||this.searchData.radioType=='3'?'single':null
+ }).then(res => {
console.log(res);
if (res.status) {
// 创建一个Workbook对象
@@ -420,7 +467,34 @@ export default {
this.loading = false;
})
}else{
- reqSearchByMangement(this.searchData).then(res => {
+ // 根据角色类型获取对应的 manager_self 值
+ let manager_self = null;
+ let publish_type = null;
+
+ if (this.role.type === 'user') {
+ const selectedItem = this.userMap.find(item => item.value === this.searchData.radioType);
+ if (selectedItem) {
+ publish_type = selectedItem.publish_type;
+ manager_self = this.searchData.radioType=='4'||this.searchData.radioType=='3'?'single':null;
+ }
+ } else if (this.role.type === 'app') {
+ if (this.radioMap[this.searchData.radioType]) {
+ publish_type = this.radioMap[this.searchData.radioType].publish_type;
+ manager_self = this.searchData.radioType=='4'||this.searchData.radioType=='3'?'single':null;
+ }
+ }
+
+ // 构建请求参数,确保传递映射中的值
+ const requestData = {
+ ...this.searchData,
+ publish_type: publish_type,
+ manager_self: manager_self
+ };
+
+ console.log('请求参数:', requestData);
+ requestData.manager_self=this.searchData.radioType=='4'||this.searchData.radioType=='3'?'single':null
+ requestData.publish_type = this.searchData.radioType=='1'||this.searchData.radioType=='3'?'2':'1'
+ reqSearchByMangement(requestData).then(res => {
console.log(res);
if (res.status) {
this.tableData = res.data.product_list;
diff --git a/f/web-kboss/src/views/customer/qualificationReview/apprvedInfo/index.vue b/f/web-kboss/src/views/customer/qualificationReview/apprvedInfo/index.vue
index d249022..d5b42d1 100644
--- a/f/web-kboss/src/views/customer/qualificationReview/apprvedInfo/index.vue
+++ b/f/web-kboss/src/views/customer/qualificationReview/apprvedInfo/index.vue
@@ -19,7 +19,7 @@ export default {
}
},
created(){
- this.initData()
+ // this.initData()
},
}
diff --git a/f/web-kboss/src/views/homePage/ncmatch/mainPage/index.vue b/f/web-kboss/src/views/homePage/ncmatch/mainPage/index.vue
index 7c14c75..173e22e 100644
--- a/f/web-kboss/src/views/homePage/ncmatch/mainPage/index.vue
+++ b/f/web-kboss/src/views/homePage/ncmatch/mainPage/index.vue
@@ -274,11 +274,11 @@ export default Vue.extend({
NCMatch
- 您身边的AI管家
+ 算力供需对接平台
- - 全 球 领 先 的 AI 服 务 运 营 商
+ - 海量资源 物美价廉
From 7549206c1995576c051d984d07b834f15a3aa5aa Mon Sep 17 00:00:00 2001
From: ping <1017253325@qq.com>
Date: Wed, 20 Aug 2025 14:30:58 +0800
Subject: [PATCH 2/2] update
---
b/product/publish_product_add.dspy | 2 +-
b/product/publish_product_search.dspy | 8 +++--
.../publish_product_search_first_page.dspy | 4 +--
b/product/publish_product_update.dspy | 29 +++++++++++++++----
4 files changed, 33 insertions(+), 10 deletions(-)
diff --git a/b/product/publish_product_add.dspy b/b/product/publish_product_add.dspy
index 60a53d2..a9f7f56 100644
--- a/b/product/publish_product_add.dspy
+++ b/b/product/publish_product_add.dspy
@@ -88,7 +88,7 @@ async def publish_product_add(ns={}):
ns_dic['discount_price'] = ns['price']
user_role = await get_user_role({'userid': userid, 'sor': sor})
# 非客户角色不需要审批
- if user_role != '客户':
+ if user_role != '客户' and user_role != '管理员':
ns['status'] = '1'
ns_dic['audit_status'] = 'approved'
ns_dic['listing_status'] = 'listing'
diff --git a/b/product/publish_product_search.dspy b/b/product/publish_product_search.dspy
index 2deb96d..858df0f 100644
--- a/b/product/publish_product_search.dspy
+++ b/b/product/publish_product_search.dspy
@@ -197,7 +197,7 @@ async def publish_product_search(ns={}):
user_role = await get_user_role({'userid': userid, 'sor': sor})
try:
# 非客户角色
- if user_role != '客户':
+ if user_role != '客户' and user_role != '管理员':
ns['del_flg'] = '0'
# 业主机构角色并且是只查看业主机构自己 manager_self==single
@@ -227,7 +227,7 @@ async def publish_product_search(ns={}):
WHERE org.parentid = '%s' AND upr.del_flg = '0' AND upr.publish_type = '%s' ORDER BY upr.create_at DESC;""" % (orgid, publish_type)
find_sql = """SELECT upr.* FROM user_publish_product AS upr LEFT JOIN organization AS org ON upr.orgid = org.id
- WHERE org.parentid = '%s' AND upr.del_flg = '0' AND upr.publish_type = '%s' ORDER BY upr.create_at DESC LIMIT %s OFFSET %s;""" % (orgid, publish_type, page_size, current_page)
+ WHERE (org.parentid = '%s' OR org.id = '%s') AND upr.del_flg = '0' AND upr.publish_type = '%s' ORDER BY upr.create_at DESC LIMIT %s OFFSET %s;""" % (orgid, orgid, publish_type, page_size, current_page)
# 客户角色
else:
ns['del_flg'] = '0'
@@ -240,6 +240,10 @@ async def publish_product_search(ns={}):
if ns.get('audit_status') == 'pending,approved':
count_sql = count_sql.split('WHERE')[0] + ' WHERE ' + "(upr.audit_status = 'pending' OR upr.audit_status = 'approved') AND " + count_sql.split('WHERE')[1]
find_sql = find_sql.split('WHERE')[0] + ' WHERE ' + "(upr.audit_status = 'pending' OR upr.audit_status = 'approved') AND " + find_sql.split('WHERE')[1]
+ elif ns.get('audit_status') == 'approved,rejected':
+ count_sql = count_sql.split('WHERE')[0] + ' WHERE ' + "(upr.audit_status = 'rejected' OR upr.audit_status = 'approved') AND " + count_sql.split('WHERE')[1]
+ find_sql = find_sql.split('WHERE')[0] + ' WHERE ' + "(upr.audit_status = 'rejected' OR upr.audit_status = 'approved') AND " + find_sql.split('WHERE')[1]
+
elif ns.get('audit_status'):
count_sql = count_sql.split('WHERE')[0] + ' WHERE ' + "upr.audit_status = '%s' AND " % ns.get('audit_status') + count_sql.split('WHERE')[1]
find_sql = find_sql.split('WHERE')[0] + ' WHERE ' + "upr.audit_status = '%s' AND " % ns.get('audit_status') + find_sql.split('WHERE')[1]
diff --git a/b/product/publish_product_search_first_page.dspy b/b/product/publish_product_search_first_page.dspy
index cee413d..e905e59 100644
--- a/b/product/publish_product_search_first_page.dspy
+++ b/b/product/publish_product_search_first_page.dspy
@@ -28,8 +28,8 @@ async def publish_product_search_first_page(ns={}):
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
- find_sql = """SELECT * 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 LIMIT %s OFFSET %s;""" % (publish_type, page_size, current_page)
+ 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 listing_status = 'listing' AND del_flg = '0' AND publish_type = '%s' ORDER BY create_at DESC;""" % publish_type
+ find_sql = """SELECT * FROM user_publish_product WHERE domain_name = '%s' AND product_category LIKE """ % domain_name + """'%%""" + product_category + """%%'""" + """ AND audit_status = 'approved' AND listing_status = 'listing' AND del_flg = '0' AND publish_type = '%s' ORDER BY create_at DESC LIMIT %s OFFSET %s;""" % (publish_type, page_size, current_page)
elif to_page == 'square':
count_sql = """SELECT COUNT(*) AS total_count FROM user_publish_product WHERE domain_name = '%s' AND audit_status = 'approved' AND del_flg = '0' AND publish_type = '%s' ORDER BY create_at DESC;""" % (domain_name, publish_type)
find_sql = """SELECT * FROM user_publish_product WHERE domain_name = '%s' AND audit_status = 'approved' AND del_flg = '0' AND publish_type = '%s' ORDER BY create_at DESC LIMIT %s OFFSET %s;""" % (domain_name, publish_type, page_size, current_page)
diff --git a/b/product/publish_product_update.dspy b/b/product/publish_product_update.dspy
index e824e5a..b03eb88 100644
--- a/b/product/publish_product_update.dspy
+++ b/b/product/publish_product_update.dspy
@@ -66,7 +66,7 @@ async def publish_product_update(ns={}):
user_role = await get_user_role({'userid': userid, 'sor': sor})
# 编辑状态
# 非客户角色编辑客户的产品
- if user_role != '客户' and ns.get('orgid') != orgid:
+ if user_role != '客户' and user_role != '管理员' and ns.get('orgid') != orgid:
# 非客户角色审核客户的产品
# 如果是待审状态 更新审核状态为通过 上架状态为上架 清空驳回原因
if ns.get('audit_status') == 'approved':
@@ -86,7 +86,7 @@ async def publish_product_update(ns={}):
ns_dic['publish_time'] = None
# 非客户角色编辑自己的产品 默认审批通过和发布成功
- elif user_role != '客户':
+ elif user_role != '客户' and user_role != '管理员':
# 运营删除自己的产品
if ns.get('del_flg') == '1':
pass
@@ -100,9 +100,28 @@ async def publish_product_update(ns={}):
# 客户编辑以后 审核状态是: 待审 上架状态是:空
else:
# 客户要下架自己的产品
- if ns.get('listing_status') == 'delisting':
- ns_dic['audit_status'] = None
- ns_dic['listing_status'] = 'delisting'
+ if ns.get('listing_status') == 'delisting' or ns.get('listing_status') == 'listing':
+ # 如果状态是审批中和未上架
+ exists_status = await sor.R('user_publish_product', {'id': ns.get('id')})
+ if exists_status[0]['audit_status'] == 'pending' and (not exists_status[0]['listing_status']):
+ return {
+ 'status': False,
+ 'msg': '审批中的产品操作'
+ }
+ if ns.get('listing_status') == 'delisting':
+ ns_dic['listing_status'] = 'delisting'
+ ns_dic['publish_time'] = None
+
+ if ns.get('listing_status') == 'listing':
+ if exists_status[0]['audit_status'] == 'approved':
+ ns_dic['listing_status'] = 'listing'
+ ns_dic['publish_time'] = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
+ else:
+ return {
+ 'status': False,
+ 'msg': '审批未通过,不能上架'
+ }
+
# 客户仅编辑不是下架产品
else:
ns_dic['audit_status'] = 'pending'