diff --git a/b/account/email_info.dspy b/b/account/email_info.dspy
index 770a4f2..af6b3eb 100644
--- a/b/account/email_info.dspy
+++ b/b/account/email_info.dspy
@@ -90,7 +90,9 @@ async def email_info(msg, indent=0):
index = find_data.index("<")
name = find_data[:index]
if price and name:
- mail_code = await sor.R('mail_code',{'mailcode':name,'del_flg':'0'})
+ mail_code_sql = """SELECT * FROM mail_code WHERE LOCATE(mailcode, name) > 0 and del_flg = '0';"""
+ mail_code = await sor.sqlExe(mail_code_sql, {})
+ # mail_code = await sor.R('mail_code',{'mailcode':name,'del_flg':'0'})
date = await get_business_date(sor=None)
recharge_log = {'customerid': mail_code[0]['customer_id'], 'recharge_amt': price,
'action': 'RECHARGE', 'recharge_path': '2', 'recharge_date': date}
diff --git a/b/product/company_category_add.dspy b/b/product/company_category_add.dspy
new file mode 100644
index 0000000..7e2b702
--- /dev/null
+++ b/b/product/company_category_add.dspy
@@ -0,0 +1,46 @@
+async def company_category_add(ns={}):
+ if not ns.get('url_link'):
+ return {
+ 'status': False,
+ 'msg': '请传递url_link'
+ }
+ domain_name = ns.get('url_link').split("//")[1].split("/")[0]
+ if 'localhost' in domain_name:
+ domain_name = 'dev.opencomputing.cn'
+
+ ns_dic = {
+ 'id': uuid(),
+ 'domain_name': domain_name,
+ 'company_category': ns.get('company_category')
+ }
+
+ db = DBPools()
+ async with db.sqlorContext('kboss') as sor:
+ if ns.get('userid'):
+ userid = ns.get('userid')
+ else:
+ userid = await get_user()
+
+ # 区分运营和普通客户
+ user_list = await sor.R('users', {'id': userid})
+ if not user_list:
+ return {
+ 'status': False,
+ 'msg': '没有找到匹配的用户'
+ }
+ orgid = user_list[0]['orgid']
+ ns_dic['orgid'] = orgid
+ try:
+ await sor.C('user_publish_company_category', ns_dic)
+ return {
+ 'status': True,
+ 'msg': 'Company category created successfully'
+ }
+ except Exception as e:
+ return {
+ 'status': False,
+ 'msg': 'Failed to create company category, %s' % str(e)
+ }
+
+ret = await company_category_add(params_kw)
+return ret
\ No newline at end of file
diff --git a/b/product/company_category_delete.dspy b/b/product/company_category_delete.dspy
new file mode 100644
index 0000000..954d8f2
--- /dev/null
+++ b/b/product/company_category_delete.dspy
@@ -0,0 +1,18 @@
+async def company_category_delete(ns={}):
+ db = DBPools()
+ async with db.sqlorContext('kboss') as sor:
+ try:
+ update_sql = """update user_publish_company_category set del_flg = '1' where id = '%s';""" % ns.get('id')
+ await sor.sqlExe(update_sql, {})
+ return {
+ 'status': True,
+ 'msg': 'Company category deleted successfully'
+ }
+ except Exception as e:
+ return {
+ 'status': False,
+ 'msg': 'Failed to delete company category, %s' % str(e)
+ }
+
+ret = await company_category_delete(params_kw)
+return ret
\ No newline at end of file
diff --git a/b/product/company_category_search.dspy b/b/product/company_category_search.dspy
new file mode 100644
index 0000000..0c99182
--- /dev/null
+++ b/b/product/company_category_search.dspy
@@ -0,0 +1,27 @@
+async def company_category_search(ns={}):
+ if not ns.get('url_link'):
+ return {
+ 'status': False,
+ 'msg': '请传递url_link'
+ }
+ 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:
+ try:
+ result = await sor.R('user_publish_company_category', {'domain_name': domain_name, 'del_flg': '0'})
+ return {
+ 'status': True,
+ 'msg': 'Company categories retrieved successfully',
+ 'data': result
+ }
+ except Exception as e:
+ return {
+ 'status': False,
+ 'msg': 'Failed to retrieve company categories, %s' % str(e)
+ }
+
+ret = await company_category_search(params_kw)
+return ret
\ No newline at end of file
diff --git a/b/product/company_category_update.dspy b/b/product/company_category_update.dspy
new file mode 100644
index 0000000..d0a039e
--- /dev/null
+++ b/b/product/company_category_update.dspy
@@ -0,0 +1,18 @@
+async def company_category_update(ns={}):
+ db = DBPools()
+ async with db.sqlorContext('kboss') as sor:
+ try:
+ update_sql = """update user_publish_company_category set company_category = '%s' where id = '%s';""" % (ns.get('company_category'), ns.get('id'))
+ await sor.sqlExe(update_sql, {})
+ return {
+ 'status': True,
+ 'msg': 'Company category updated successfully'
+ }
+ except Exception as e:
+ return {
+ 'status': False,
+ 'msg': 'Failed to update company category, %s' % str(e)
+ }
+
+ret = await company_category_update(params_kw)
+return ret
\ No newline at end of file
diff --git a/b/product/product_category_add.dspy b/b/product/product_category_add.dspy
new file mode 100644
index 0000000..9916a50
--- /dev/null
+++ b/b/product/product_category_add.dspy
@@ -0,0 +1,48 @@
+async def product_category_add(ns={}):
+ if not ns.get('url_link'):
+ return {
+ 'status': False,
+ 'msg': '请传递路由链接'
+ }
+ domain_name = ns.get('url_link').split("//")[1].split("/")[0]
+ if 'localhost' in domain_name:
+ domain_name = 'dev.opencomputing.cn'
+ ns_dic = {
+ 'id': uuid(),
+ 'domain_name': domain_name,
+ 'product_category': ns.get('product_category'),
+ 'parentid': ns.get('parentid') if ns.get('parentid') else None,
+ 'priority': ns['priority'] if ns.get('priority') else 99,
+ 'permission': ns.get('permission') if ns.get('permission') else '1',
+ 'cart_flag': ns.get('cart_flag') if ns.get('cart_flag') else None
+ }
+
+ if ns.get('userid'):
+ userid = ns.get('userid')
+ else:
+ userid = await get_user()
+ db = DBPools()
+ async with db.sqlorContext('kboss') as sor:
+ # 区分运营和普通客户
+ user_list = await sor.R('users', {'id': userid})
+ if not user_list:
+ return {
+ 'status': False,
+ 'msg': '没有找到匹配的用户'
+ }
+ orgid = user_list[0]['orgid']
+ ns_dic['orgid'] = orgid
+ try:
+ await sor.C('user_publish_product_category', ns_dic)
+ return {
+ 'status': True,
+ 'msg': 'product category created successfully'
+ }
+ except Exception as e:
+ return {
+ 'status': False,
+ 'msg': 'Failed to create product category, %s' % str(e)
+ }
+
+ret = await product_category_add(params_kw)
+return ret
\ No newline at end of file
diff --git a/b/product/product_category_delete.dspy b/b/product/product_category_delete.dspy
new file mode 100644
index 0000000..3964852
--- /dev/null
+++ b/b/product/product_category_delete.dspy
@@ -0,0 +1,18 @@
+async def product_category_delete(ns={}):
+ db = DBPools()
+ async with db.sqlorContext('kboss') as sor:
+ try:
+ update_sql = """update user_publish_product_category set del_flg = '1' where id = '%s';""" % ns.get('id')
+ await sor.sqlExe(update_sql, {})
+ return {
+ 'status': True,
+ 'msg': 'product category deleted successfully'
+ }
+ except Exception as e:
+ return {
+ 'status': False,
+ 'msg': 'Failed to delete product category, %s' % str(e)
+ }
+
+ret = await product_category_delete(params_kw)
+return ret
\ No newline at end of file
diff --git a/b/product/product_category_search.dspy b/b/product/product_category_search.dspy
new file mode 100644
index 0000000..7894e9b
--- /dev/null
+++ b/b/product/product_category_search.dspy
@@ -0,0 +1,85 @@
+async def build_tree(parent_id=None, all_cats=None):
+ return [{
+ "id": cat['id'],
+ "name": cat['product_category'],
+ "cart_flag": cat['cart_flag'],
+ "children": await build_tree(cat['id'], all_cats)
+ } for cat in all_cats if cat['parentid'] == parent_id]
+
+async def get_user_role(ns={}):
+ sor = ns['sor']
+ # get role
+ ns['del_flg'] = '0'
+ res_role = await sor.R('userrole', ns)
+ if res_role:
+ user_role = res_role[0]
+ else:
+ return {
+ "status": False,
+ "msg": "userrole table, user id can not find..."
+ }
+ roleid = user_role.get('roleid')
+ # get role name
+ role_name = await sor.R('role', {'id': roleid})
+ if role_name:
+ role = role_name[0].get('role')
+ else:
+ return {
+ "status": False,
+ "msg": "role table, can not get role name"
+ }
+ return role
+
+async def product_category_search(ns={}):
+ domain_name = ns.get('url_link').split("//")[1].split("/")[0]
+ if 'localhost' in domain_name:
+ domain_name = 'dev.opencomputing.cn'
+
+ to_page = ns.get('to_page')
+ db = DBPools()
+ async with db.sqlorContext('kboss') as sor:
+ # 首页不登录 通过域名筛选
+ if to_page == 'show':
+ find_sql = """SELECT * FROM user_publish_product_category WHERE domain_name = '%s' AND del_flg = '0' ORDER BY priority;""" % domain_name
+ result = await sor.sqlExe(find_sql, {})
+ return {
+ 'status': True,
+ 'msg': 'product categories retrieved successfully',
+ 'data': result
+ }
+
+ # 发布弹窗中的产品种类通过用户筛选 普通用户/管理人员
+ if ns.get('userid'):
+ userid = ns.get('userid')
+ else:
+ userid = await get_user()
+
+ # 区分运营和普通客户
+ user_list = await sor.R('users', {'id': userid})
+ if not user_list:
+ return {
+ 'status': False,
+ 'msg': '没有找到匹配的用户'
+ }
+ orgid = user_list[0]['orgid']
+ user_role = await get_user_role({'userid': userid, 'sor': sor})
+ try:
+ if user_role == '客户':
+ find_sql = """SELECT * FROM user_publish_product_category WHERE domain_name = '%s' AND permission = '1' AND del_flg = '0' ORDER BY priority;""" % domain_name
+ else:
+ find_sql = """SELECT * FROM user_publish_product_category WHERE domain_name = '%s' AND del_flg = '0' ORDER BY priority;""" % domain_name
+ result = await sor.sqlExe(find_sql, {})
+ # res = await build_tree(parent_id=None, all_cats=result)
+ return {
+ 'status': True,
+ 'msg': 'product categories retrieved successfully',
+ 'data': result
+ }
+ except Exception as e:
+ return {
+ 'status': False,
+ 'msg': 'Failed to retrieve product categories, %s' % str(e)
+ }
+
+ret = await product_category_search(params_kw)
+return ret
\ No newline at end of file
diff --git a/b/product/product_category_update.dspy b/b/product/product_category_update.dspy
new file mode 100644
index 0000000..96b279a
--- /dev/null
+++ b/b/product/product_category_update.dspy
@@ -0,0 +1,18 @@
+async def product_category_update(ns={}):
+ db = DBPools()
+ async with db.sqlorContext('kboss') as sor:
+ try:
+ update_sql = """update user_publish_product_category set product_category = '%s' where id = '%s';""" % (ns.get('product_category'), ns.get('id'))
+ await sor.sqlExe(update_sql, {})
+ return {
+ 'status': True,
+ 'msg': 'product category updated successfully'
+ }
+ except Exception as e:
+ return {
+ 'status': False,
+ 'msg': 'Failed to update product category, %s' % str(e)
+ }
+
+ret = await product_category_update(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
new file mode 100644
index 0000000..9502515
--- /dev/null
+++ b/b/product/publish_product_add.dspy
@@ -0,0 +1,107 @@
+async def get_user_role(ns={}):
+ sor = ns['sor']
+ # get role
+ ns['del_flg'] = '0'
+ res_role = await sor.R('userrole', ns)
+ if res_role:
+ user_role = res_role[0]
+ else:
+ return {
+ "status": False,
+ "msg": "userrole table, user id can not find..."
+ }
+ roleid = user_role.get('roleid')
+ # get role name
+ role_name = await sor.R('role', {'id': roleid})
+ if role_name:
+ role = role_name[0].get('role')
+ else:
+ return {
+ "status": False,
+ "msg": "role table, can not get role name"
+ }
+ return role
+
+async def publish_product_add(ns={}):
+ if ns.get('userid'):
+ userid = ns.get('userid')
+ else:
+ userid = await get_user()
+ db = DBPools()
+ async with db.sqlorContext('kboss') as sor:
+ # 区分运营和普通客户
+ user_list = await sor.R('users', {'id': userid})
+ if not user_list:
+ return {
+ 'status': False,
+ 'msg': '没有找到匹配的用户'
+ }
+ orgid = user_list[0]['orgid']
+ domain_name = ns.get('url_link').split("//")[1].split("/")[0]
+ if 'localhost' in domain_name:
+ domain_name = 'dev.opencomputing.cn'
+ product_category = ns.get('product_category')
+ company_type = ns.get('company_type')
+ ns_dic = {
+ "id": uuid(),
+ "publish_type": ns.get("publish_type"),
+ "orgid": orgid,
+ "img": ns.get('img'),
+ "domain_name": domain_name,
+ "product_name": ns.get("product_name"),
+ "product_category": product_category,
+ "company_name": ns.get("company_name"),
+ "company_type": json.dumps(company_type) if isinstance(company_type, list) else company_type,
+ "contact_person": ns.get("contact_person"),
+ "job_title": ns.get("job_title"),
+ "phone_number": ns.get("phone_number"),
+ "email": ns.get("email"),
+ "cpu": ns.get("cpu"),
+ "memory": ns.get("memory"),
+ "gpu": ns.get("gpu"),
+ "sys_disk": ns.get("sys_disk"),
+ "data_disk": ns.get("data_disk"),
+ "net_card": ns.get("net_card"),
+ "price": ns.get("price"),
+ "unit": ns.get("unit"),
+ "discount": ns.get("discount"),
+ "short_term": ns.get("short_term"),
+ "priority": ns.get("priority") if ns.get("priority") else 1,
+ "status": ns.get("status") if ns.get("status") else '0',
+ "title": ns.get("title"),
+ "label": ns.get("label"),
+ "first_page": ns.get("first_page") if ns.get("first_page") else '0',
+ "requirement_summary": ns.get("requirement_summary"),
+ "related_parameters": ns.get("related_parameters"),
+ "application_scenario": ns.get("application_scenario"),
+ "audit_status": ns.get('audit_status', 'pending'),
+ }
+ if ns.get('discount') == '0':
+ ns['discount'] = None
+ ns_dic['discount'] = None
+
+ if ns.get('price') and ns.get('discount'):
+ ns_dic['discount_price'] = float(ns.get('price')) * float(ns['discount']) / 10
+ else:
+ ns_dic['discount_price'] = ns['price']
+ user_role = await get_user_role({'userid': userid, 'sor': sor})
+ # 非客户角色不需要审批
+ if user_role != '客户':
+ ns['status'] = '1'
+ ns_dic['audit_status'] = 'approved'
+ ns_dic['first_page'] = '1'
+ try:
+ await sor.C('user_publish_product', ns_dic)
+ return {
+ 'status': True,
+ 'msg': 'publish product created successfully'
+ }
+ except Exception as e:
+ return {
+ 'status': False,
+ 'msg': 'Failed to publish product, %s' % str(e)
+ }
+
+
+ret = await publish_product_add(params_kw)
+return ret
\ No newline at end of file
diff --git a/b/product/publish_product_search.dspy b/b/product/publish_product_search.dspy
new file mode 100644
index 0000000..995fb82
--- /dev/null
+++ b/b/product/publish_product_search.dspy
@@ -0,0 +1,68 @@
+async def publish_product_search(ns={}):
+ """
+ 普通客户查看
+ 运营查看自己提交内容
+ 运营查看所有用户内容
+ :param ns:
+ :return:
+ """
+ offset = ns['offset']
+ flag = ns.get('flag')
+
+ if ns.get('userid'):
+ userid = ns.get('userid')
+ else:
+ userid = await get_user()
+ db = DBPools()
+ async with db.sqlorContext('kboss') as sor:
+ # 区分运营和普通客户
+ user_list = await sor.R('users', {'id': userid})
+ if not user_list:
+ return {
+ 'status': False,
+ 'msg': '没有找到匹配的用户'
+ }
+ orgid = user_list[0]['orgid']
+ org_parentid_li = await sor.R('organization', {'id': orgid})
+ org_parentid = org_parentid_li[0]['parentid']
+ user_role = await get_user_role({'userid': userid, 'sor': sor})
+ try:
+ # 非客户角色
+ if user_role != '客户':
+ ns['del_flg'] = '0'
+
+ # 业主机构角色并且是只查看业主机构自己 flag==single
+ if orgid == 'mIWUHBeeDM8mwAFPIQ8pS' and flag == 'single':
+ find_sql = """SELECT upr.* FROM user_publish_product AS upr LEFT JOIN organization AS org ON upr.orgid = org.id
+ WHERE org.parentid IS NULL AND upr.del_flg = '0' ORDER BY upr.create_at DESC LIMIT 20 OFFSET %s;""" % offset
+ # 业主机构角色并且是查看所有(包括业主机构自己) flag!=single
+ elif orgid == 'mIWUHBeeDM8mwAFPIQ8pS':
+ find_sql = """SELECT upr.* FROM user_publish_product AS upr LEFT JOIN organization AS org ON upr.orgid = org.id
+ WHERE org.id = '%s' or org.parentid = '%s' AND org.org_type != '1' AND upr.del_flg = '0' ORDER BY upr.create_at DESC LIMIT 20 OFFSET %s;""" % (orgid, orgid, offset)
+ # 其他机构非用户角色 只查看自己
+ elif flag == 'single':
+ find_sql = """SELECT upr.* FROM user_publish_product AS upr LEFT JOIN organization AS org ON upr.orgid = org.id
+ WHERE org.id = '%s' AND upr.del_flg = '0' ORDER BY upr.create_at DESC LIMIT 20 OFFSET %s;""" % (orgid, offset)
+ # 其他机构非用户角色查看所有
+ else:
+ find_sql = """SELECT upr.* FROM user_publish_product AS upr LEFT JOIN organization AS org ON upr.orgid = org.id
+ WHERE (org.id = '%s' or org.parentid = '%s') AND upr.del_flg = '0' ORDER BY upr.create_at DESC LIMIT 20 OFFSET %s;""" % (orgid, orgid, offset)
+ # 客户角色
+ else:
+ ns['del_flg'] = '0'
+ ns['orgid'] = user_list[0]['id']
+ find_sql = """SELECT * FROM user_publish_product WHERE orgid = '%s' AND del_flg = '0' ORDER BY create_at DESC LIMIT 20 OFFSET %s;""" % (orgid, offset)
+ result = await sor.sqlExe(find_sql, {})
+ return {
+ 'status': True,
+ 'msg': 'Requirements retrieved successfully',
+ 'data': result
+ }
+ except Exception as e:
+ return {
+ 'status': False,
+ 'msg': 'Failed to retrieve requirements, %s' % str(e)
+ }
+
+ret = await publish_product_search(params_kw)
+return ret
\ No newline at end of file
diff --git a/b/product/publish_product_search_first_page.dspy b/b/product/publish_product_search_first_page.dspy
new file mode 100644
index 0000000..262b638
--- /dev/null
+++ b/b/product/publish_product_search_first_page.dspy
@@ -0,0 +1,83 @@
+async def publish_product_search_first_page(ns={}):
+ """
+ 普通客户查看
+ 运营查看自己提交内容
+ 运营查看所有用户内容
+ :param ns:
+ :return:
+ """
+ publish_type = ns.get('publish_type')
+ page_size = int(ns['page_size']) if ns.get('page_size') else 8
+ current_page_param = int(ns['current_page']) if ns.get('current_page') else 1
+ current_page = (current_page_param - 1) * page_size
+ to_page = ns.get('to_page') if ns.get('to_page') else 'first_page'
+ domain_name = ns.get('url_link').split("//")[1].split("/")[0]
+ company_type = ns.get('company_type')
+ product_category = ns.get('product_category')
+ if 'localhost' in domain_name:
+ domain_name = 'dev.opencomputing.cn'
+ db = DBPools()
+ 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)
+ 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)
+ 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)
+ else:
+ count_sql = ''
+ find_sql = ''
+
+ total_count = (await sor.sqlExe(count_sql, {}))[0]['total_count']
+ result = await sor.sqlExe(find_sql, {})
+ category_all = await sor.R('user_publish_product_category', {})
+ product_dic = {}
+ for res in result:
+ # 公司类别筛选
+ if company_type:
+ list1 = [item.strip() for item in company_type.split(',')]
+ list2 = [item.strip() for item in res['company_type'].split(',')]
+ if not bool(set(list1) & set(list2)):
+ continue
+
+ res['img'] = 'https://' + domain_name + '/idfile?path=' + res['img']
+
+ # 电话和邮箱模糊化处理
+ if res.get('phone_number'):
+ res['phone_number'] = res['phone_number'][:3] + '****' + res['phone_number'][7:]
+ else:
+ res['phone_number'] = '198****8601'
+
+ if res.get('email'):
+ res['email'] = res['email'][:2] + '****' + res['email'][6:]
+ else:
+ res['email'] = 'kawa@****.com'
+
+ category_id = res['product_category'].split(',')[0]
+ category_name_li = [item['product_category'] for item in category_all if item['id'] == category_id]
+ category_name = category_name_li[0] if category_name_li else '其他'
+ if product_dic.get(category_name):
+ product_dic[category_name].append(res)
+ else:
+ product_dic[category_name] = [res]
+ product_list = []
+ for key, value in product_dic.items():
+ product_list.append({'id': uuid(), 'name': key, 'total_count': total_count, 'page_size': page_size, 'current_page': current_page_param, 'product_list': value})
+ return {
+ 'status': True,
+ 'msg': 'Requirements retrieved successfully',
+ 'data': product_list
+ }
+ except Exception as e:
+ return {
+ 'status': False,
+ 'msg': 'Failed to retrieve requirements, %s' % str(e)
+ }
+
+ret = await publish_product_search_first_page(params_kw)
+return ret
\ No newline at end of file
diff --git a/b/product/requirement_add.dspy b/b/product/requirement_add.dspy
new file mode 100644
index 0000000..10571fc
--- /dev/null
+++ b/b/product/requirement_add.dspy
@@ -0,0 +1,72 @@
+async def requirement_add(ns={}):
+ if ns.get('userid'):
+ userid = ns.get('userid')
+ else:
+ userid = await get_user()
+ db = DBPools()
+ async with db.sqlorContext('kboss') as sor:
+ # 区分运营和普通客户
+ user_list = await sor.R('users', {'id': userid})
+ if not user_list:
+ return {
+ 'status': False,
+ 'msg': '没有找到匹配的用户'
+ }
+ orgid = user_list[0]['orgid']
+ domain_name = ns.get('url_link').split("//")[1].split("/")[0]
+ if 'localhost' in domain_name:
+ domain_name = 'dev.opencomputing.cn'
+
+ product_category = ns.get('product_category')
+ company_type = ns.get('company_type')
+ ns_dic = {
+ "id": uuid(),
+ "orgid": orgid,
+ "domain_name": domain_name,
+ "requirement_name": ns.get("requirement_name"),
+ "product_category": product_category,
+ "company_name": ns.get("company_name"),
+ "company_type": json.dumps(company_type) if isinstance(company_type, list) else company_type,
+ "contact_person": ns.get("contact_person"),
+ "job_title": ns.get("job_title"),
+ "phone_number": ns.get("phone_number"),
+ "email": ns.get("email"),
+ "cpu": ns.get("cpu"),
+ "memory": ns.get("memory"),
+ "gpu": ns.get("gpu"),
+ "sys_disk": ns.get("sys_disk"),
+ "data_disk": ns.get("data_disk"),
+ "net_card": ns.get("net_card"),
+ "price": ns.get("price"),
+ "priority": ns.get("priority") if ns.get("priority") else 1,
+ "status": ns.get("status") if ns.get("status") else '0',
+ "title": ns.get("title"),
+ "label": ns.get("label"),
+ "first_page": ns.get("first_page") if ns.get("first_page") else '0',
+ "requirement_summary": ns.get("requirement_summary"),
+ "related_parameters": ns.get("related_parameters"),
+ "application_scenario": ns.get("application_scenario"),
+ "audit_status": ns.get('audit_status', 'pending'),
+ }
+
+ user_role = await get_user_role({'userid': userid, 'sor': sor})
+ # 非客户角色不需要审批
+ if user_role != '客户':
+ ns['status'] = '1'
+ ns_dic['audit_status'] = 'approved'
+ ns_dic['first_page'] = '1'
+
+ try:
+ await sor.C('user_publish_requirement', ns_dic)
+ return {
+ 'status': True,
+ 'msg': 'Requirement created successfully'
+ }
+ except Exception as e:
+ return {
+ 'status': False,
+ 'msg': 'Failed to create requirement, %s' % str(e)
+ }
+
+ret = await requirement_add(params_kw)
+return ret
\ No newline at end of file
diff --git a/b/product/requirement_delete.dspy b/b/product/requirement_delete.dspy
new file mode 100644
index 0000000..883168e
--- /dev/null
+++ b/b/product/requirement_delete.dspy
@@ -0,0 +1,21 @@
+async def requirement_delete(ns={}):
+ ns_dic = {
+ 'id': ns.get('id'),
+ 'del_flg': '1'
+ }
+ db = DBPools()
+ async with db.sqlorContext('kboss') as sor:
+ try:
+ await sor.U('user_publish_requirement', ns_dic)
+ return {
+ 'status': True,
+ 'msg': 'Requirement delete successfully'
+ }
+ except Exception as e:
+ return {
+ 'status': False,
+ 'msg': 'Failed to delete requirement, %s' % str(e)
+ }
+
+ret = await requirement_delete(params_kw)
+return ret
\ No newline at end of file
diff --git a/b/product/requirement_search.dspy b/b/product/requirement_search.dspy
new file mode 100644
index 0000000..b48a8b4
--- /dev/null
+++ b/b/product/requirement_search.dspy
@@ -0,0 +1,93 @@
+async def get_user_role(ns={}):
+ sor = ns['sor']
+ # get role
+ ns['del_flg'] = '0'
+ res_role = await sor.R('userrole', ns)
+ if res_role:
+ user_role = res_role[0]
+ else:
+ return {
+ "status": False,
+ "msg": "userrole table, user id can not find..."
+ }
+ roleid = user_role.get('roleid')
+ # get role name
+ role_name = await sor.R('role', {'id': roleid})
+ if role_name:
+ role = role_name[0].get('role')
+ else:
+ return {
+ "status": False,
+ "msg": "role table, can not get role name"
+ }
+ return role
+
+async def requirement_search(ns={}):
+ """
+ 普通客户查看
+ 运营查看自己提交内容
+ 运营查看所有用户内容
+ :param ns:
+ :return:
+ """
+ offset = ns['offset']
+ flag = ns.get('flag')
+
+ if ns.get('userid'):
+ userid = ns.get('userid')
+ else:
+ userid = await get_user()
+ db = DBPools()
+ async with db.sqlorContext('kboss') as sor:
+ # 区分运营和普通客户
+ user_list = await sor.R('users', {'id': userid})
+ if not user_list:
+ return {
+ 'status': False,
+ 'msg': '没有找到匹配的用户'
+ }
+ orgid = user_list[0]['orgid']
+ org_parentid_li = await sor.R('organization', {'id': orgid})
+ org_parentid = org_parentid_li[0]['parentid']
+ user_role = await get_user_role({'userid': userid, 'sor': sor})
+ try:
+ # 非客户角色
+ if user_role != '客户':
+ ns['del_flg'] = '0'
+
+ # 业主机构角色并且是只查看业主机构自己 flag==single
+ if orgid == 'mIWUHBeeDM8mwAFPIQ8pS' and flag == 'single':
+ find_sql = """SELECT upr.* FROM user_publish_requirement AS upr LEFT JOIN organization AS org ON upr.orgid = org.id
+ WHERE org.parentid IS NULL AND upr.del_flg = '0' ORDER BY upr.create_at DESC LIMIT 20 OFFSET %s;""" % offset
+ # 业主机构角色并且是查看所有(包括业主机构自己) flag!=single
+ elif orgid == 'mIWUHBeeDM8mwAFPIQ8pS':
+ find_sql = """SELECT upr.* FROM user_publish_requirement AS upr LEFT JOIN organization AS org ON upr.orgid = org.id
+ WHERE org.id = '%s' or org.parentid = '%s' AND org.org_type != '1' AND upr.del_flg = '0' ORDER BY upr.create_at DESC LIMIT 20 OFFSET %s;""" % (orgid, orgid, offset)
+ # 其他机构非用户角色 只查看自己
+ elif flag == 'single':
+ find_sql = """SELECT upr.* FROM user_publish_requirement AS upr LEFT JOIN organization AS org ON upr.orgid = org.id
+ WHERE org.id = '%s' AND upr.del_flg = '0' ORDER BY upr.create_at DESC LIMIT 20 OFFSET %s;""" % (orgid, offset)
+ # 其他机构非用户角色查看所有
+ else:
+ find_sql = """SELECT upr.* FROM user_publish_requirement AS upr LEFT JOIN organization AS org ON upr.orgid = org.id
+ WHERE (org.id = '%s' or org.parentid = '%s') AND upr.del_flg = '0' ORDER BY upr.create_at DESC LIMIT 20 OFFSET %s;""" % (orgid, orgid, offset)
+ # 客户角色
+ else:
+ ns['del_flg'] = '0'
+ ns['orgid'] = user_list[0]['id']
+ find_sql = """SELECT * FROM user_publish_requirement WHERE orgid = '%s' AND del_flg = '0' ORDER BY create_at DESC LIMIT 20 OFFSET %s;""" % (orgid, offset)
+
+ result = await sor.sqlExe(find_sql, {})
+ return {
+ 'status': True,
+ 'msg': 'Requirements retrieved successfully',
+ 'data': result
+ }
+ except Exception as e:
+ return {
+ 'status': False,
+ 'msg': 'Failed to retrieve requirements, %s' % str(e)
+ }
+
+ret = await requirement_search(params_kw)
+return ret
\ No newline at end of file
diff --git a/b/product/requirement_update.dspy b/b/product/requirement_update.dspy
new file mode 100644
index 0000000..40db1a5
--- /dev/null
+++ b/b/product/requirement_update.dspy
@@ -0,0 +1,23 @@
+async def requirement_update(ns={}):
+ product_category = ns.get('product_category')
+ company_type = ns.get('company_type')
+ if product_category:
+ ns['product_category'] = json.dumps(product_category) if isinstance(product_category, list) else product_category
+ if company_type:
+ ns['company_type'] = json.dumps(company_type) if isinstance(company_type, list) else company_type
+ db = DBPools()
+ async with db.sqlorContext('kboss') as sor:
+ try:
+ await sor.U('user_publish_requirement', ns)
+ return {
+ 'status': True,
+ 'msg': 'Requirement updated successfully'
+ }
+ except Exception as e:
+ return {
+ 'status': False,
+ 'msg': 'Failed to update requirement, %s' % str(e)
+ }
+
+ret = await requirement_update(params_kw)
+return ret
\ No newline at end of file
diff --git a/b/reseller/get_ipc_logo.dspy b/b/reseller/get_ipc_logo.dspy
index 0525298..512062a 100644
--- a/b/reseller/get_ipc_logo.dspy
+++ b/b/reseller/get_ipc_logo.dspy
@@ -60,7 +60,7 @@ async def get_ipc_logo(ns={}):
# [{'name': '地址', 'value': '北京市朝阳区农展馆南路13号瑞辰国际'},{'name': '电话', 'value': '400-6150805 010-65917875'},{'name': '邮箱', 'value': 'Open-computing@kaiyuancloud.cn'},{'name': 'IPC备案号', 'value': '京ICP备2022001945号-2'},{'name': '版权所有', 'value': '@kaiyuanyun 2023'},{'name': '京公网安备', 'value': '11010502054007'},{'name': '经营许可证', 'value': '京B2-20232313'}]
yezhu = json.loads(domain_res.replace("'", '"')) if not isinstance(domain_res, dict) else domain_res
yezhu['domain_name'] = domain_url
- if 'ncmatch' in domain_url or '9527' in domain_url:
+ if 'ncmatch' in domain_url or '9527' in domain_url or 'opencomputing' in domain_url:
yezhu['logo'] = "https://www.kaiyuancloud.cn/idfile?path=logo_ncmatch.png"
yezhu['additional_msg'] = {
"home": {
@@ -69,8 +69,8 @@ async def get_ipc_logo(ns={}):
"adress": "北京市石景山区和平西路60号院1号楼11层1101-30",
"footerTitle": "开元数智(北京)科技有限公司",
'qrCode': 'https://www.kaiyuancloud.cn/idfile?path=firstpagehot/ncmatch_inquiry.jpg',
- 'footer_info': '京ICP备2022001945号-4 开元数智(北京)科技有限公司 版权所有 @kaiyuanyun 2023',
- "copyright": "@kaiyuanyun 2023",
+ 'footer_info': '京ICP备2022001945号-4 开元数智(北京)科技有限公司',
+ "copyright": "",
"domain_name": "ncmatch.cn",
"email": "Open-computing@kaiyuancloud.cn",
"license": "2022001945号-4",
diff --git a/f/web-kboss/package.json b/f/web-kboss/package.json
index c24521c..77b4fa5 100644
--- a/f/web-kboss/package.json
+++ b/f/web-kboss/package.json
@@ -51,6 +51,7 @@
"uuid": "^9.0.0",
"vue": "2.6.10",
"vue-count-to": "^1.0.13",
+ "vue-cropper": "^0.6.5",
"vue-device-detector": "^1.1.6",
"vue-infinite-scroll": "^2.0.2",
"vue-router": "^3.0.2",
diff --git a/f/web-kboss/src/api/ncmatch/index.js b/f/web-kboss/src/api/ncmatch/index.js
new file mode 100644
index 0000000..d65504d
--- /dev/null
+++ b/f/web-kboss/src/api/ncmatch/index.js
@@ -0,0 +1,91 @@
+import request from "@/utils/request";
+//获取商品分类
+export function reqGetProductCategorySearch(data) {
+ return request({
+ url: '/product/product_category_search.dspy',
+ method: 'post',
+ headers: {
+ 'Content-Type': 'application/json'
+ },
+ data
+ })
+}
+//添加产品 publish_product_add
+export function reqPublishProductAdd(data) {
+ return request({
+ url: '/product/publish_product_add.dspy',
+ method: 'post',
+ headers: { 'Content-Type': 'multipart/form-data' },
+ data
+ })
+}
+//获公司类型 /product/company_category_search.dspy
+export function reqCompanyCategorySearch(data) {
+ return request({
+ url: '/product/company_category_search.dspy',
+ method: 'post',
+ headers: { 'Content-Type': 'application/json' },
+ data
+ })
+}
+
+//获取全部产品/product/publish_product_search_first_page.dspy
+export function reqPublishProductSearchFirstPage(data) {
+ return request({
+ url: '/product/publish_product_search_first_page.dspy',
+ method: 'post',
+ headers: { 'Content-Type': 'application/json' },
+ data
+ })
+}
+
+//算力供需广场 获取列表
+export function reqGetSupplyAndDemandSquareList(data) {
+ return request({
+ url: '/product/publish_product_search_first_page.dspy',
+ method: 'post',
+ headers: { 'Content-Type': 'application/json' },
+ data
+ })
+}
+
+//获取商品详情
+export function reqGetProductDetail(data) {
+ return request({
+ url: '/product/publish_product_search_detail.dspy',
+ method: 'post',
+ headers: { 'Content-Type': 'application/json' },
+ data
+ })
+}
+//提交审批 ///user/enterprise_audit_info_add.dspy
+export function reqApproveUser(data){
+ return request({
+ url: '/user/enterprise_audit_info_add.dspy',
+ method: 'post',
+ headers: { 'Content-Type': 'multipart/form-data' },
+ data
+ })
+}
+
+//获取菜单ncmatch菜单 menu
+
+export function reqNcMatchMenu(data){
+ return request({
+ url: '/product/homepage_category_tree_search.dspy',
+ method: 'post',
+ headers: { 'Content-Type': 'application/json' },
+ data
+
+ })
+}
+//运营查找商品|需求
+export function reqSearchByMangement(data){
+ return request({
+ url: '/product/publish_product_search.dspy',
+ method: 'post',
+ headers: { 'Content-Type': 'application/json' },
+ data
+
+ })
+}
diff --git a/f/web-kboss/src/permission.js b/f/web-kboss/src/permission.js
index c3da247..fe87c84 100644
--- a/f/web-kboss/src/permission.js
+++ b/f/web-kboss/src/permission.js
@@ -7,6 +7,7 @@ import {getToken} from "@/utils/auth"; // get token from cookie
import getPageTitle from "@/utils/get-page-title";
import {asyncRoutes, constantRoutes} from "@/router";
import Layout from "@/layout";
+import {getHomePath} from "@/views/setting/tools";
NProgress.configure({showSpinner: false}); // NProgress Configuration
@@ -74,6 +75,15 @@ router.beforeEach(async (to, from, next) => {
const userid = sessionStorage.getItem("userId");
const user = sessionStorage.getItem("user");
const auths = sessionStorage.getItem("auths");
+ const homePath =getHomePath()
+ if (to.path === homePath) {
+ next(); // 如果已经是目标路径,直接放行
+ NProgress.done();
+ return;
+ }
+ console.log("homePath",homePath);
+ // const homePath ='/homePage/index';
+ // const homePath ='/ncmatchHome/index';
const hasRoutes =
JSON.parse(sessionStorage.getItem("routes")) &&
JSON.parse(sessionStorage.getItem("routes")).length
@@ -86,8 +96,8 @@ router.beforeEach(async (to, from, next) => {
NProgress.done();
return
}
- if (to.path === '/homePage') {
- next('/homePage/index');
+ if (to.path === '/homePage'||to.path === '/ncmatchHome') {
+ next(homePath);
NProgress.done();
return
}
@@ -96,7 +106,7 @@ router.beforeEach(async (to, from, next) => {
// NProgress.done();
// return
// }
- if (to.path.includes("/kyyForm") || to.path.includes("/screen") || to.path.includes("/beforeLogin") || to.path.includes("/wxDetailPage") || to.path.includes("/wxPage") || to.path.includes("/login") || to.path.includes("/homePage") || to.path.includes("/registrationPage") || to.path.includes("/payPage") || to.path.includes("/paySuccess") || to.path.includes("/homePageImage")) {
+ if (to.path.includes("/ncmatchHome")||to.path.includes("/kyyForm") || to.path.includes("/screen") || to.path.includes("/beforeLogin") || to.path.includes("/wxDetailPage") || to.path.includes("/wxPage") || to.path.includes("/login") || to.path.includes("/homePage") || to.path.includes("/registrationPage") || to.path.includes("/payPage") || to.path.includes("/paySuccess") || to.path.includes("/homePageImage")) {
console.log("to", to)
try {
if (to.path.includes("/beforeLogin") || to.path.includes("/registrationPage")) {
@@ -125,7 +135,8 @@ router.beforeEach(async (to, from, next) => {
}
}
// next(`/login?redirect=${to.path}`);
- next('/homePage/index')
+ console.log("路由执行了2@@@")
+ next(homePath)
// next(`/beforeLogin`);
// console.log("111行被打印了")
NProgress.done();
@@ -154,7 +165,7 @@ router.beforeEach(async (to, from, next) => {
// console.log(error);
Message.error(error || "Has Error");
// next(`/login?redirect=${to.path}`);
- next('/homePage/index')
+ next(homePath)
// console.log("137行被打印了")
NProgress.done();
}
diff --git a/f/web-kboss/src/router/index.js b/f/web-kboss/src/router/index.js
index afcb984..657b6da 100644
--- a/f/web-kboss/src/router/index.js
+++ b/f/web-kboss/src/router/index.js
@@ -1,19 +1,8 @@
import Vue from "vue";
import Router from "vue-router";
import store from "@/store";
-
-Vue.use(Router);
-
-// const originalPush = Router.prototype.push
-
-// Router.prototype.push = function push(location) {
-// return originalPush.call(this, location).catch(err => err)}
-
/* Layout */
import Layout from "@/layout";
-import {loginUserAPI} from "@/api/login";
-import {Message} from "element-ui";
-import {logger} from "runjs/lib/common";
import GpuProduct from "@/views/product/productHome/capitalOnline/productItem/GpuProduct/index.vue";
import CreatePrivateNet from "@/views/product/productHome/capitalOnline/Net/privateNet/createPrivateNet/index.vue";
import ShowPrivateNet from "@/views/product/productHome/capitalOnline/Net/privateNet/showPrivateNet/index.vue";
@@ -29,6 +18,13 @@ import SecurityGroupDetail
import ShowGpu from "@/views/product/productHome/capitalOnline/productItem/GpuProduct/ShowGpu/index.vue";
import ShowEip from "@/views/product/productHome/capitalOnline/Net/Eip/showEip/index.vue";
import CreateEip from "@/views/product/productHome/capitalOnline/Net/Eip/createEip/index.vue";
+import { getHomePath } from '@/views/setting/tools'
+Vue.use(Router);
+
+// const originalPush = Router.prototype.push
+
+// Router.prototype.push = function push(location) {
+// return originalPush.call(this, location).catch(err => err)}
// import nestedRouter from '@/router/modules/nested'
/**
* Note: sub-menu only appear when route children.length >= 1
@@ -68,7 +64,28 @@ export const constantRoutes = [
title: 'beforeLogin',
component: () => import('@/views/beforeLogin/index.vue'),
hidden: true
- }, {
+ },
+ {
+ hidden: true,
+ alwaysShow: 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: '/wxPage',
name: 'wxPage',
title: '热门产品',
@@ -157,70 +174,94 @@ export const constantRoutes = [
component: () => import("@/views/registrationPage/indexNew.vue"),
name: "registrationPage",
hidden: true,
- meta: {title: "注册"},
+ meta: { title: "注册" },
}, {
path: "/registrationPage/mobile",
component: () => import("@/views/registrationPageMobile/index.vue"),
name: "registrationPage",
hidden: true,
- meta: {title: "注册"},
+ meta: { title: "注册" },
+ },
+ {
+ hidden: true,
+ path: "/ncmatchHome",
+ component: () => import("@/views/homePage/ncmatch/index.vue"),
+ name: "ncmatchHome",
+ redirect: "/ncmatchHome/index",
+ meta: { fullPath: "/ncmatchHome/index", title: "官网首页", noCache: true, icon: 'el-icon-s-home' },
+ children: [
+ {
+ path: "index",
+ component: () => import("@/views/homePage/ncmatch/mainPage/index.vue"),
+ name: "ncmatchPageIndex",
+ hidden: true,
+ meta: { title: "首页", fullPath: "/ncmatch/mainPage/index" },
+ },
+ {
+ path: "supplyAndDemandSquare",
+ component: () => import("@/views/homePage/ncmatch/supplyAndDemandSquare/index.vue"),
+ name: "supplyAndDemandSquare",
+ hidden: true,
+ meta: { title: "算力供需广场", fullPath: "/ncmatch/supplyAndDemandSquare" },
+ },
+ ]
},
{
path: "/homePage",
component: () => import("@/views/homePage/indexLast.vue"),
name: "homePage",
hidden: true,
- meta: {title: "首页", noCache: true},
+ meta: { title: "首页", noCache: true },
children: [{
path: "index",
component: () => import("@/views/homePage/mainPage/index.vue"),
name: "homePageIndex",
hidden: true,
- meta: {title: "首页", onCache: true},
+ meta: { title: "首页", onCache: true },
}, {
path: "detail",
component: () => import("@/views/homePage/detail/index.vue"),
name: "detail",
hidden: true,
- meta: {title: "详情", onCache: true},
+ meta: { title: "详情", onCache: true },
+ },
+ {
+ path: "new",
+ component: () => import("@/views/homePage/components/topBox/new/index.vue"),
+ name: "new",
+ hidden: true,
+ meta: { title: "政策解读", onCache: true },
+ },
+ {
+ path: "sale",
+ component: () => import("@/views/homePage/components/topBox/sale/index.vue"),
+ name: "sale",
+ hidden: true,
+ meta: { title: "促销活动", onCache: true },
},
- {
- path: "new",
- component: () => import("@/views/homePage/components/topBox/new/index.vue"),
- name: "new",
- hidden: true,
- meta: {title: "政策解读", onCache: true},
- },
- {
- path: "sale",
- component: () => import("@/views/homePage/components/topBox/sale/index.vue"),
- name: "sale",
- hidden: true,
- meta: {title: "促销活动", onCache: true},
- },
- {
- path: "hospital",
- component: () => import("@/views/homePage/solve/hospital/index.vue"),
- name: "hospital",
- hidden: true,
- meta: {title: "灵医智能体"},
- }, {
- path: "customerService",
- component: () => import("@/views/homePage/solve/customerService/index.vue"),
- name: "customerService",
- hidden: true,
- meta: {title: "客悦"},
+ {
+ path: "hospital",
+ component: () => import("@/views/homePage/solve/hospital/index.vue"),
+ name: "hospital",
+ hidden: true,
+ meta: { title: "灵医智能体" },
+ }, {
+ path: "customerService",
+ component: () => import("@/views/homePage/solve/customerService/index.vue"),
+ name: "customerService",
+ hidden: true,
+ meta: { title: "客悦" },
- }, {
- path: "about",
- component: () => import("@/views/homePage/about/index.vue"),
- name: "about",
- hidden: true,
- meta: {title: "关于"},
+ }, {
+ path: "about",
+ component: () => import("@/views/homePage/about/index.vue"),
+ name: "about",
+ hidden: true,
+ meta: { title: "关于" },
- }]
+ }]
},
// {
// path: "/homePage/mobile",
@@ -235,19 +276,19 @@ export const constantRoutes = [
component: () => import("@/views/homePageImage/index"),
name: "homePageImage",
hidden: true,
- meta: {title: "备案信息"},
+ meta: { title: "备案信息" },
}, {
path: "/paySuccess",
component: () => import("@/views/paySuccess/index"),
name: "paySuccess",
hidden: true,
- meta: {title: "支付成功"},
+ meta: { title: "支付成功" },
}, {
path: "/payPage",
component: () => import("@/views/payPage/index"),
name: "payPage",
hidden: true,
- meta: {title: "立即支付页面"},
+ meta: { title: "立即支付页面" },
}, {
path: "/auth-redirect", component: () => import("@/views/login/auth-redirect"), hidden: true,
}, {
@@ -272,45 +313,46 @@ export const asyncRoutes = [
// name: 'productHome',
// meta: {title: "概览", fullPath: "/productHome", noCache: true}
// },
+
{
- path: "/homePage",
+ path: getHomePath() == '/ncmatchHome/index' ? "/ncmatchHome" : "/homePage",
component: () => import("@/views/homePage/indexLast.vue"),
name: "homePage",
redirect: "/homePage/index",
- meta: {fullPath: "/homePage/index", title: "官网首页", noCache: true, icon: 'el-icon-s-home'},
+ meta: { fullPath: "/homePage/index", title: "官网首页", noCache: true, icon: 'el-icon-s-home' },
children: [
{
path: "index",
component: () => import("@/views/homePage/mainPage/index.vue"),
name: "homePageIndex",
hidden: true,
- meta: {title: "首页", fullPath: "/homePage/index"},
+ meta: { title: "首页", fullPath: "/homePage/index" },
},
{
path: "detail",
component: () => import("@/views/homePage/detail/index.vue"),
name: "detail",
hidden: true,
- meta: {title: "详情", cache: true},
+ meta: { title: "详情", cache: true },
}, {
path: "hospital",
component: () => import("@/views/homePage/solve/hospital/index.vue"),
name: "hospital",
hidden: true,
- meta: {title: "灵医智能体"},
+ meta: { title: "灵医智能体" },
}, {
path: "customerService",
component: () => import("@/views/homePage/solve/customerService/index.vue"),
name: "customerService",
hidden: true,
- meta: {title: "客悦"},
+ meta: { title: "客悦" },
}, {
path: "about",
component: () => import("@/views/homePage/about/index.vue"),
name: "about",
hidden: true,
- meta: {title: "关于"},
+ meta: { title: "关于" },
}]
},
@@ -319,370 +361,370 @@ export const asyncRoutes = [
name: 'product',
component: Layout,
redirect: "/product/productHome",
- meta: {title: "", fullPath: "/product", noCache: true, icon: "el-icon-s-platform"},
+ meta: { title: "", fullPath: "/product", noCache: true, icon: "el-icon-s-platform" },
children: [{
path: "productHome",
component: () => import('@/views/product/productHome/productIndex/index.vue'),
name: 'baiduProduct',
- meta: {title: "概览", fullPath: "/product/productHome", noCache: true}
+ meta: { title: "概览", fullPath: "/product/productHome", noCache: true }
},
- // {
- // path: '/external-link',
- // name: 'External Link',
- // // 使用 meta 字段来标记这是一个外部链接
- // meta: {title: "首页", external: true, url: 'https://www.baidu.com'},
- // },
- // {
- //
- // path: "productHome",
- // component: () => import('@/views/product/productHome/productIndex/index.vue'),
- // name: 'baiduProduct',
- // meta: {title: "首页", fullPath: "/product/productHome", noCache: true}
- // },
- {
- hidden: true,
- path: "baiduProduct",
- component: () => import('@/views/product/productHome/baiduProduct/index.vue'),
- name: 'baiduProduct',
- meta: {title: "百度智能云", fullPath: "/product/baiduProduct", noCache: true}
- }, {
- hidden: true,
- path: "productHome/k8s/createK8s",
- component: () => import('@/views/product/productHome/k8s/createK8s/index.vue'),
- name: 'superComputingDomestic',
- meta: {title: "容器云", fullPath: "/product/productHome/k8s/createK8s", noCache: true}
- }, // {
- //
- // path: "jdProduct",
- // component: () => import('@/views/product/productHome/jdProduct/index.vue'),
- // name: 'jdProduct',
- // meta: {title: "京东云", fullPath: "/product/jdProduct"}
- // },
- {
- hidden: true,
- path: "productHome",
- name: 'productHome',
- component: () => import("@/views/product/productHome/productIndex/index.vue"),
- meta: {
- title: "产品", icon: "el-icon-s-data", fullPath: "/product/productHome/productIndex",
- },
- }, {
- hidden: true,
- path: "superComputingCommon",
- component: () => import('@/views/product/productHome/superComputingCommon/index.vue'),
- name: 'superComputingCommon',
- meta: {title: "通用计算", fullPath: "/product/superComputingCommon", noCache: true}
- }, {
- hidden: true,
- path: "newPage",
- component: () => import('@/views/product/productHome/productIndex/newPage'),
- name: 'newPage',
- meta: {title: "AI智算", fullPath: "/product/superComputingCommon", noCache: true}
- }, {
- hidden: true,
- path: "superComputingDomestic",
- component: () => import('@/views/product/productHome/superComputingDomestic/index.vue'),
- name: 'superComputingDomestic',
- meta: {title: "国产计算", fullPath: "/product/superComputingDomestic", noCache: true}
- }, {
- hidden: true,
- path: "productHome/k8s/createK8s",
- component: () => import('@/views/product/productHome/k8s/createK8s/index.vue'),
- name: 'superComputingDomestic',
- meta: {title: "k8s", fullPath: "/product/productHome/k8s/createK8s", noCache: true}
+ // {
+ // path: '/external-link',
+ // name: 'External Link',
+ // // 使用 meta 字段来标记这是一个外部链接
+ // meta: {title: "首页", external: true, url: 'https://www.baidu.com'},
+ // },
+ // {
+ //
+ // path: "productHome",
+ // component: () => import('@/views/product/productHome/productIndex/index.vue'),
+ // name: 'baiduProduct',
+ // meta: {title: "首页", fullPath: "/product/productHome", noCache: true}
+ // },
+ {
+ hidden: true,
+ path: "baiduProduct",
+ component: () => import('@/views/product/productHome/baiduProduct/index.vue'),
+ name: 'baiduProduct',
+ meta: { title: "百度智能云", fullPath: "/product/baiduProduct", noCache: true }
+ }, {
+ hidden: true,
+ path: "productHome/k8s/createK8s",
+ component: () => import('@/views/product/productHome/k8s/createK8s/index.vue'),
+ name: 'superComputingDomestic',
+ meta: { title: "容器云", fullPath: "/product/productHome/k8s/createK8s", noCache: true }
+ }, // {
+ //
+ // path: "jdProduct",
+ // component: () => import('@/views/product/productHome/jdProduct/index.vue'),
+ // name: 'jdProduct',
+ // meta: {title: "京东云", fullPath: "/product/jdProduct"}
+ // },
+ {
+ hidden: true,
+ path: "productHome",
+ name: 'productHome',
+ component: () => import("@/views/product/productHome/productIndex/index.vue"),
+ meta: {
+ title: "产品", icon: "el-icon-s-data", fullPath: "/product/productHome/productIndex",
},
+ }, {
+ hidden: true,
+ path: "superComputingCommon",
+ component: () => import('@/views/product/productHome/superComputingCommon/index.vue'),
+ name: 'superComputingCommon',
+ meta: { title: "通用计算", fullPath: "/product/superComputingCommon", noCache: true }
+ }, {
+ hidden: true,
+ path: "newPage",
+ component: () => import('@/views/product/productHome/productIndex/newPage'),
+ name: 'newPage',
+ meta: { title: "AI智算", fullPath: "/product/superComputingCommon", noCache: true }
+ }, {
+ hidden: true,
+ path: "superComputingDomestic",
+ component: () => import('@/views/product/productHome/superComputingDomestic/index.vue'),
+ name: 'superComputingDomestic',
+ meta: { title: "国产计算", fullPath: "/product/superComputingDomestic", noCache: true }
+ }, {
+ hidden: true,
+ path: "productHome/k8s/createK8s",
+ component: () => import('@/views/product/productHome/k8s/createK8s/index.vue'),
+ name: 'superComputingDomestic',
+ meta: { title: "k8s", fullPath: "/product/productHome/k8s/createK8s", noCache: true }
+ },
- // {
- // hidden: true,
- // path: "jdProduct",
- // component: () => import('@/views/product/productHome/jdProduct/index.vue'),
- // name: 'jdProduct',
- // meta: {title: "京东产品列表", fullPath: "/product/jdProduct", noCache: true}
- // },
- {
- hidden: true,
- path: "capProduct",
- component: () => import('@/views/product/productHome/capitalOnline/index.vue'),
- name: 'capProduct',
- meta: {title: "集群节点一产品列表", fullPath: "/product/productHome/capitalOnlineTwo", noCache: true},
- children: [{
- path: "capProductTwo",
- component: () => import('@/views/product/productHome/capitalOnline/capitalOnlineTwo/index.vue'),
- name: 'capProductTwo',
- meta: {title: "集群节点一产品", fullPath: "/product/productHome/capitalOnlineTwo", noCache: true},
- }, {
- path: "gpuProduct",
- component: () => import('@/views/product/productHome/capitalOnline/productItem/GpuProduct/index.vue'),
- name: 'gpuProduct',
- meta: {
- title: "GPU产品", fullPath: "/product/productHome/capitalOnline/productItem/GpuProduct", noCache: true
- },
- }]
+ // {
+ // hidden: true,
+ // path: "jdProduct",
+ // component: () => import('@/views/product/productHome/jdProduct/index.vue'),
+ // name: 'jdProduct',
+ // meta: {title: "京东产品列表", fullPath: "/product/jdProduct", noCache: true}
+ // },
+ {
+ hidden: true,
+ path: "capProduct",
+ component: () => import('@/views/product/productHome/capitalOnline/index.vue'),
+ name: 'capProduct',
+ meta: { title: "集群节点一产品列表", fullPath: "/product/productHome/capitalOnlineTwo", noCache: true },
+ children: [{
+ path: "capProductTwo",
+ component: () => import('@/views/product/productHome/capitalOnline/capitalOnlineTwo/index.vue'),
+ name: 'capProductTwo',
+ meta: { title: "集群节点一产品", fullPath: "/product/productHome/capitalOnlineTwo", noCache: true },
}, {
- path: 'gpu',
- name: 'Gpu',
- title: '4090配置A',
- meta: {title: '4090配置A', noCache: true, fullpath: '/gpu'},
- component: () => import('@/views/product/productHome/capitalOnline/Gpu/index.vue'),
- children: [{
- path: 'showGpu',
- name: 'showGpu',
- component: ShowGpu,
- meta: {title: 'Gpu', noCache: true, fullpath: '/gpu/showGpu'},
- }, {
- path: 'createGpu',
- name: 'createGpu',
- component: GpuProduct,
- meta: {title: '创建实例', noCache: true, fullpath: '/gpu/gpuIndex'},
- }, {
- path: 'securityGroup',
- name: 'securityGroup',
- component: SecurityGroup,
- meta: {title: '安全组', noCache: true, fullpath: '/net/securityGroup'},
- }, {
- path: 'createSecurityGroup',
- name: 'createSecurityGroup',
- component: CreateSecurityGroup,
- meta: {title: '创建安全组', noCache: true, fullpath: '/net/createSecurityGroup'},
- }, {
- path: 'securityGroupDetail',
- name: 'securityGroupDetail',
- component: SecurityGroupDetail,
- meta: {title: '安全组详情', noCache: true, fullpath: '/net/securityGroupDetail'},
- },],
- hidden: true
- }, {
- path: 'net',
- name: 'net',
- title: '网络',
- meta: {title: '私有网络', noCache: true, fullpath: '/net'},
- component: () => import('@/views/product/productHome/capitalOnline/Net/index.vue'),
- children: [{
- path: 'netIndex',
- name: 'netIndex',
- component: CreatePrivateNet,
- meta: {title: '创建私有网络', noCache: true, fullpath: '/net/netIndex'},
- },
-
- {
- path: 'showPrivateNet',
- name: 'showPrivateNet',
- component: ShowPrivateNet,
- meta: {title: '网络列表', noCache: true, fullpath: '/net/showPrivateNet'},
- }, {
- path: 'privateNetDetail',
- name: 'privateNetDetail',
- component: PrivateNetDetail,
- meta: {title: '私有网络详情', noCache: true, fullpath: '/net/privateNetDetail'},
- }, {
- path: 'childCreate',
- name: 'childCreate',
- component: CreateChildNet,
- meta: {title: '创建子网', noCache: true, fullpath: '/net/childCreate'},
- }, {
- path: 'showChildNet',
- name: 'showChildNet',
- component: ShowChildNet,
- meta: {title: '展示子网', noCache: true, fullpath: '/net/showChildNet'},
- }, {
- path: 'childDetail',
- name: 'childDetail',
- component: ChildDetail,
- meta: {title: '子网详情', noCache: true, fullpath: '/net/childDetail'},
- }, {
- path: 'showUEip',
- name: 'showUEip',
- component: ShowEip,
- meta: {title: 'EIP列表', noCache: true, fullpath: '/net/showUEip'},
- }, {
- path: 'createUEip',
- name: 'createUEip',
- component: CreateEip,
- meta: {title: '创建EIP', noCache: true, fullpath: '/net/createUEip'},
- },],
- hidden: true
- }, {
- hidden: true,
- path: "ucloudProduct",
- component: () => import('@/views/product/productHome/ucloud/index.vue'),
- name: 'ucloudProduct',
- meta: {title: "集群节点二产品列表", fullPath: "/product/productHome/ucloud", noCache: true},
- children: [{
- path: "ucloudProductTwo",
- component: () => import('@/views/product/productHome/ucloud/ucloudTwo/index.vue'),
- name: 'ucloudProductTwo',
- meta: {title: "集群节点二产品列表", fullPath: "/product/productHome/ucloud/ucloudTwo", noCache: true},
- }, {
- path: "showCloudHost",
- component: () => import('@/views/product/productHome/ucloud/showCloudHost/index.vue'),
- name: 'showUcloudProduct',
- meta: {title: "集群节点二产品", fullPath: "/product/productHome/ucloud/showCloudHost", noCache: true},
- }, {
- path: "createCloudHost",
- component: () => import('@/views/product/productHome/ucloud/createCloudHost/index.vue'),
- name: 'createCloudHost',
- meta: {title: "集群节点二-购买", fullPath: "/product/productHome/ucloud/createCloudHost", noCache: true},
- }, {
- path: "showFireWall",
- component: () => import('@/views/product/productHome/ucloud/fireWall/showFireWall/index.vue'),
- name: 'showFireWall',
- meta: {title: "防火墙列表", fullPath: "/product/productHome/ucloud/fireWall/showFireWall", noCache: true},
- }, {
- path: "detailFireWall",
- component: () => import('@/views/product/productHome/ucloud/fireWall/detailFireWall/index.vue'),
- name: 'detailFireWall',
- meta: {title: "防火墙详情", fullPath: "/product/productHome/ucloud/fireWall/detailFireWall", noCache: true},
- }, {
- path: "createUEip",
- component: () => import('@/views/product/productHome/ucloud/Eip/createUEip'),
- name: 'createUEip',
- meta: {title: "创建Eip", fullPath: "/product/productHome/ucloud/Eip/createUEip", noCache: true},
- }, {
- path: "showUEip",
- component: () => import('@/views/product/productHome/ucloud/Eip/showUEip'),
- name: 'showUEip',
- meta: {title: "Eip列表", fullPath: "/product/productHome/ucloud/Eip/showUEip", noCache: true},
- },]
- }, // {
- // hidden: true,
- // path: "baiduProduct",
- // component: () => import('@/views/product/productHome/baiduProduct/index.vue'),
- // name: 'baiduProduct',
- // meta: {title: "百度产品列表", fullPath: "/product/baiduProduct", noCache: true}
- // },
- {
- hidden: true,
- path: "baiduProductShow",
- component: () => import('@/views/product/productHome/baiduProductShow/index.vue'),
- name: 'baiduProductShow',
- meta: {title: "资源购买", fullPath: "/product/baiduProductShow", noCache: true,}
- }, {
- path: "index", name: 'index', hidden: true, component: () => import("@/views/product/index.vue"), meta: {
- title: "产品", icon: "el-icon-s-data", fullPath: "/product/index",
- },
- }, {
- hidden: true,
- path: "cloudDatabaseMysql",
- component: () => import("@/views/operation/volcanoSystem/cloudDatabaseMysql"),
- name: "cloudDatabaseMysql",
+ path: "gpuProduct",
+ component: () => import('@/views/product/productHome/capitalOnline/productItem/GpuProduct/index.vue'),
+ name: 'gpuProduct',
meta: {
- title: "云数据库 Mysql版", fullPath: "/product/volcanoSystem/cloudDatabaseMysql",
+ title: "GPU产品", fullPath: "/product/productHome/capitalOnline/productItem/GpuProduct", noCache: true
},
+ }]
+ }, {
+ path: 'gpu',
+ name: 'Gpu',
+ title: '4090配置A',
+ meta: { title: '4090配置A', noCache: true, fullpath: '/gpu' },
+ component: () => import('@/views/product/productHome/capitalOnline/Gpu/index.vue'),
+ children: [{
+ path: 'showGpu',
+ name: 'showGpu',
+ component: ShowGpu,
+ meta: { title: 'Gpu', noCache: true, fullpath: '/gpu/showGpu' },
}, {
- hidden: true,
- path: "cloudDatabaseRedis",
- component: () => import("@/views/operation/volcanoSystem/cloudDatabaseRedis"),
- name: "cloudDatabaseRedis",
- meta: {
- title: "缓存数据库 Redis版", fullPath: "/product/volcanoSystem/cloudDatabaseRedis",
- },
+ path: 'createGpu',
+ name: 'createGpu',
+ component: GpuProduct,
+ meta: { title: '创建实例', noCache: true, fullpath: '/gpu/gpuIndex' },
}, {
- hidden: true,
- path: "cloudDatabaseMongoDB",
- component: () => import("@/views/operation/volcanoSystem/cloudDatabaseMongoDB"),
- name: "cloudDatabaseMongoDB",
- meta: {
- title: "文档数据库 MongoDB 版", fullPath: "/product/volcanoSystem/cloudDatabaseMongoDB",
- },
+ path: 'securityGroup',
+ name: 'securityGroup',
+ component: SecurityGroup,
+ meta: { title: '安全组', noCache: true, fullpath: '/net/securityGroup' },
+ }, {
+ path: 'createSecurityGroup',
+ name: 'createSecurityGroup',
+ component: CreateSecurityGroup,
+ meta: { title: '创建安全组', noCache: true, fullpath: '/net/createSecurityGroup' },
+ }, {
+ path: 'securityGroupDetail',
+ name: 'securityGroupDetail',
+ component: SecurityGroupDetail,
+ meta: { title: '安全组详情', noCache: true, fullpath: '/net/securityGroupDetail' },
+ },],
+ hidden: true
+ }, {
+ path: 'net',
+ name: 'net',
+ title: '网络',
+ meta: { title: '私有网络', noCache: true, fullpath: '/net' },
+ component: () => import('@/views/product/productHome/capitalOnline/Net/index.vue'),
+ children: [{
+ path: 'netIndex',
+ name: 'netIndex',
+ component: CreatePrivateNet,
+ meta: { title: '创建私有网络', noCache: true, fullpath: '/net/netIndex' },
},
{
- hidden: true,
- path: "cloudServer",
- component: () => import("@/views/operation/volcanoSystem/cloudServer"),
- name: "cloudServer",
- meta: {
- title: "云数据库", fullPath: "/product/volcanoSystem/cloudServer",
- },
+ path: 'showPrivateNet',
+ name: 'showPrivateNet',
+ component: ShowPrivateNet,
+ meta: { title: '网络列表', noCache: true, fullpath: '/net/showPrivateNet' },
}, {
- path: "shoppingCart",
- component: () => import("@/views/management/shoppingCart"),
- name: 'shoppingCart',
- hidden: true,
- meta: {
- title: "购物车", fullPath: "/management/shoppingCart",
- },
- }, // 智算
- // 产品-智算-a100
- {
- hidden: true,
- path: "a100Product",
- component: () => import("@/views/product/productHome/intelligentCalculation/a100Product/index.vue"),
- name: "a100Product",
- meta: {
- title: "a100", fullPath: "/product/productHome/intelligentCalculation/a100Product", noCache: true
- },
+ path: 'privateNetDetail',
+ name: 'privateNetDetail',
+ component: PrivateNetDetail,
+ meta: { title: '私有网络详情', noCache: true, fullpath: '/net/privateNetDetail' },
}, {
- hidden: true,
- path: "intelligentCalculation",
- component: () => import("@/views/product/productHome/intelligentCalculation/index.vue"),
- name: "intelligentCalculation",
- meta: {
- title: "智算", fullPath: "/product/productHome/intelligentCalculation", noCache: true
- },
- }, // 产品-智算-a200
- {
- hidden: true,
- path: "a200Product",
- component: () => import("@/views/product/productHome/intelligentCalculation/a200Product/index.vue"),
- name: "a200Product",
- meta: {
- title: "a100", fullPath: "/product/productHome/intelligentCalculation/a200Product", noCache: true
- },
- }, // 产品-智算-a800
- {
- hidden: true,
- path: "a800Product",
- component: () => import("@/views/product/productHome/intelligentCalculation/a800Product/index.vue"),
- name: "a800Product",
- meta: {
- title: "a800", fullPath: "/product/productHome/intelligentCalculation/a800Product", noCache: true
-
- },
- }, // 产品-超算-a
- // H800
- {
- hidden: true,
- path: "h800Product",
- component: () => import("@/views/product/productHome/intelligentCalculation/h800Product/index.vue"),
- name: "h800Product",
- meta: {
- title: "h800", fullPath: "/product/productHome/intelligentCalculation/h800Product", noCache: true
- },
+ path: 'childCreate',
+ name: 'childCreate',
+ component: CreateChildNet,
+ meta: { title: '创建子网', noCache: true, fullpath: '/net/childCreate' },
+ }, {
+ path: 'showChildNet',
+ name: 'showChildNet',
+ component: ShowChildNet,
+ meta: { title: '展示子网', noCache: true, fullpath: '/net/showChildNet' },
+ }, {
+ path: 'childDetail',
+ name: 'childDetail',
+ component: ChildDetail,
+ meta: { title: '子网详情', noCache: true, fullpath: '/net/childDetail' },
+ }, {
+ path: 'showUEip',
+ name: 'showUEip',
+ component: ShowEip,
+ meta: { title: 'EIP列表', noCache: true, fullpath: '/net/showUEip' },
+ }, {
+ path: 'createUEip',
+ name: 'createUEip',
+ component: CreateEip,
+ meta: { title: '创建EIP', noCache: true, fullpath: '/net/createUEip' },
+ },],
+ hidden: true
+ }, {
+ hidden: true,
+ path: "ucloudProduct",
+ component: () => import('@/views/product/productHome/ucloud/index.vue'),
+ name: 'ucloudProduct',
+ meta: { title: "集群节点二产品列表", fullPath: "/product/productHome/ucloud", noCache: true },
+ children: [{
+ path: "ucloudProductTwo",
+ component: () => import('@/views/product/productHome/ucloud/ucloudTwo/index.vue'),
+ name: 'ucloudProductTwo',
+ meta: { title: "集群节点二产品列表", fullPath: "/product/productHome/ucloud/ucloudTwo", noCache: true },
+ }, {
+ path: "showCloudHost",
+ component: () => import('@/views/product/productHome/ucloud/showCloudHost/index.vue'),
+ name: 'showUcloudProduct',
+ meta: { title: "集群节点二产品", fullPath: "/product/productHome/ucloud/showCloudHost", noCache: true },
+ }, {
+ path: "createCloudHost",
+ component: () => import('@/views/product/productHome/ucloud/createCloudHost/index.vue'),
+ name: 'createCloudHost',
+ meta: { title: "集群节点二-购买", fullPath: "/product/productHome/ucloud/createCloudHost", noCache: true },
+ }, {
+ path: "showFireWall",
+ component: () => import('@/views/product/productHome/ucloud/fireWall/showFireWall/index.vue'),
+ name: 'showFireWall',
+ meta: { title: "防火墙列表", fullPath: "/product/productHome/ucloud/fireWall/showFireWall", noCache: true },
+ }, {
+ path: "detailFireWall",
+ component: () => import('@/views/product/productHome/ucloud/fireWall/detailFireWall/index.vue'),
+ name: 'detailFireWall',
+ meta: { title: "防火墙详情", fullPath: "/product/productHome/ucloud/fireWall/detailFireWall", noCache: true },
+ }, {
+ path: "createUEip",
+ component: () => import('@/views/product/productHome/ucloud/Eip/createUEip'),
+ name: 'createUEip',
+ meta: { title: "创建Eip", fullPath: "/product/productHome/ucloud/Eip/createUEip", noCache: true },
+ }, {
+ path: "showUEip",
+ component: () => import('@/views/product/productHome/ucloud/Eip/showUEip'),
+ name: 'showUEip',
+ meta: { title: "Eip列表", fullPath: "/product/productHome/ucloud/Eip/showUEip", noCache: true },
+ },]
+ }, // {
+ // hidden: true,
+ // path: "baiduProduct",
+ // component: () => import('@/views/product/productHome/baiduProduct/index.vue'),
+ // name: 'baiduProduct',
+ // meta: {title: "百度产品列表", fullPath: "/product/baiduProduct", noCache: true}
+ // },
+ {
+ hidden: true,
+ path: "baiduProductShow",
+ component: () => import('@/views/product/productHome/baiduProductShow/index.vue'),
+ name: 'baiduProductShow',
+ meta: { title: "资源购买", fullPath: "/product/baiduProductShow", noCache: true, }
+ }, {
+ path: "index", name: 'index', hidden: true, component: () => import("@/views/product/index.vue"), meta: {
+ title: "产品", icon: "el-icon-s-data", fullPath: "/product/index",
},
+ }, {
+ hidden: true,
+ path: "cloudDatabaseMysql",
+ component: () => import("@/views/operation/volcanoSystem/cloudDatabaseMysql"),
+ name: "cloudDatabaseMysql",
+ meta: {
+ title: "云数据库 Mysql版", fullPath: "/product/volcanoSystem/cloudDatabaseMysql",
+ },
+ }, {
+ hidden: true,
+ path: "cloudDatabaseRedis",
+ component: () => import("@/views/operation/volcanoSystem/cloudDatabaseRedis"),
+ name: "cloudDatabaseRedis",
+ meta: {
+ title: "缓存数据库 Redis版", fullPath: "/product/volcanoSystem/cloudDatabaseRedis",
+ },
+ }, {
+ hidden: true,
+ path: "cloudDatabaseMongoDB",
+ component: () => import("@/views/operation/volcanoSystem/cloudDatabaseMongoDB"),
+ name: "cloudDatabaseMongoDB",
+ meta: {
+ title: "文档数据库 MongoDB 版", fullPath: "/product/volcanoSystem/cloudDatabaseMongoDB",
+ },
+ },
- //网络
- //网络
- {
- hidden: true,
- path: "networkItem",
- component: () => import("@/views/product/productHome/network/networkItem/index.vue"),
- name: "networkItem",
- meta: {
- title: "网络", fullPath: "/product/productHome/network/networkItem",
- },
-
- }, //超算专用网络
- {
- hidden: true,
- path: "hypercomputingPrivateNetwork",
- component: () => import("@/views/product/productHome/network/hypercomputingPrivateNetwork/index.vue"),
- name: "networkItem",
- meta: {
- title: "超算专用网络", fullPath: "/product/productHome/network/hypercomputingPrivateNetwork",
- },
-
- }, //传输
- {
- hidden: true,
- path: "transmission",
- component: () => import("@/views/product/productHome/network/transmission/index.vue"),
- name: "transmission",
- meta: {
- title: "传输", fullPath: "/product/productHome/network/transmission",
- },
+ {
+ hidden: true,
+ path: "cloudServer",
+ component: () => import("@/views/operation/volcanoSystem/cloudServer"),
+ name: "cloudServer",
+ meta: {
+ title: "云数据库", fullPath: "/product/volcanoSystem/cloudServer",
+ },
+ }, {
+ path: "shoppingCart",
+ component: () => import("@/views/management/shoppingCart"),
+ name: 'shoppingCart',
+ hidden: true,
+ meta: {
+ title: "购物车", fullPath: "/management/shoppingCart",
+ },
+ }, // 智算
+ // 产品-智算-a100
+ {
+ hidden: true,
+ path: "a100Product",
+ component: () => import("@/views/product/productHome/intelligentCalculation/a100Product/index.vue"),
+ name: "a100Product",
+ meta: {
+ title: "a100", fullPath: "/product/productHome/intelligentCalculation/a100Product", noCache: true
+ },
+ }, {
+ hidden: true,
+ path: "intelligentCalculation",
+ component: () => import("@/views/product/productHome/intelligentCalculation/index.vue"),
+ name: "intelligentCalculation",
+ meta: {
+ title: "智算", fullPath: "/product/productHome/intelligentCalculation", noCache: true
+ },
+ }, // 产品-智算-a200
+ {
+ hidden: true,
+ path: "a200Product",
+ component: () => import("@/views/product/productHome/intelligentCalculation/a200Product/index.vue"),
+ name: "a200Product",
+ meta: {
+ title: "a100", fullPath: "/product/productHome/intelligentCalculation/a200Product", noCache: true
+ },
+ }, // 产品-智算-a800
+ {
+ hidden: true,
+ path: "a800Product",
+ component: () => import("@/views/product/productHome/intelligentCalculation/a800Product/index.vue"),
+ name: "a800Product",
+ meta: {
+ title: "a800", fullPath: "/product/productHome/intelligentCalculation/a800Product", noCache: true
},
+ }, // 产品-超算-a
+ // H800
+ {
+ hidden: true,
+ path: "h800Product",
+ component: () => import("@/views/product/productHome/intelligentCalculation/h800Product/index.vue"),
+ name: "h800Product",
+ meta: {
+ title: "h800", fullPath: "/product/productHome/intelligentCalculation/h800Product", noCache: true
+ },
+ },
+
+ //网络
+ //网络
+ {
+ hidden: true,
+ path: "networkItem",
+ component: () => import("@/views/product/productHome/network/networkItem/index.vue"),
+ name: "networkItem",
+ meta: {
+ title: "网络", fullPath: "/product/productHome/network/networkItem",
+ },
+
+ }, //超算专用网络
+ {
+ hidden: true,
+ path: "hypercomputingPrivateNetwork",
+ component: () => import("@/views/product/productHome/network/hypercomputingPrivateNetwork/index.vue"),
+ name: "networkItem",
+ meta: {
+ title: "超算专用网络", fullPath: "/product/productHome/network/hypercomputingPrivateNetwork",
+ },
+
+ }, //传输
+ {
+ hidden: true,
+ path: "transmission",
+ component: () => import("@/views/product/productHome/network/transmission/index.vue"),
+ name: "transmission",
+ meta: {
+ title: "传输", fullPath: "/product/productHome/network/transmission",
+ },
+
+ },
],
},
@@ -702,25 +744,32 @@ export const asyncRoutes = [
path: "workOrderManagement",
component: () => import("@/views/customer/workOrderManagement"),
name: "WorkOrderManagement",
- meta: {title: "工单管理", fullPath: "/customer/workOrderManagement"},
+ meta: { title: "工单管理", fullPath: "/customer/workOrderManagement" },
+ },
+ {
+ hidden: true,
+ path: 'approve',
+ component: () => import('@/views/customer/ncApprove/index.vue'),
+ name: "Approve",
+ meta: { title: "信息审核", fullPath: "/customer/ncApprove" },
}, {
hidden: true,
path: "channelMangement",
component: () => import("@/views/customer/channelMangement/index.vue"),
name: "ChannelMangement",
- meta: {title: "渠道管理", fullPath: "/customer/channelMangement"},
+ meta: { title: "渠道管理", fullPath: "/customer/channelMangement" },
}, {
hidden: true,
path: "channelProductMangement",
component: () => import("@/views/customer/channelMangement/channelProductMangement/index.vue"),
name: "channelProductMangement",
- meta: {title: "渠道产品管理", fullPath: "/customer/channelMangement/channelProductMangement", noCache: true},
+ meta: { title: "渠道产品管理", fullPath: "/customer/channelMangement/channelProductMangement", noCache: true },
}, {
hidden: true,
path: "noChannelPermission",
component: () => import("@/views/customer/channelMangement/noChannelPermission/index.vue"),
name: "noChannelPermission",
- meta: {title: "无权限", fullPath: "/customer/channelMangement/noChannelPermission", noCache: true},
+ meta: { title: "无权限", fullPath: "/customer/channelMangement/noChannelPermission", noCache: true },
}, {
hidden: true,
path: "chat",
@@ -730,93 +779,93 @@ export const asyncRoutes = [
title: "聊天", fullPath: "/product/productHome/chat", noCache: true
},
}, // {
- // path: "workOrderManagement/mobile",
- // component: () => import("@/views/customer/mobile_workOrderManagement"),
- // name: "mobile_workOrderManagement",
- // meta: { title: "工单管理", fullPath: "/customer/workOrderManagement" , isMobile: true },
- // },
- {
- hidden: true,
- path: "customerInformation",
- component: () => import("@/views/customer/customerInformation"),
- name: "customerInformation",
- meta: {title: "个人中心", fullPath: "/customer/customerInformation"},
- }, {
- path: "rechargeRecord",
- component: () => import("@/views/customer/rechargeRecord"),
- name: "RechargeRecord",
- meta: {title: "充值管理", fullPath: "/customer/rechargeRecord"},
- }, {
- path: "orderManagement",
- component: () => import("@/views/customer/orderManagement"),
- name: "OrderManagement",
- meta: {title: "产品订单", fullPath: "/customer/orderManagement", noCache: true,},
- }, {
- path: "orderDetil",
- component: () => import("@/views/customer/orderDetil"),
- name: "orderDetil",
- hidden: true,
- meta: {title: "订单详情", fullPath: "/customer/orderDetil", noCache: true,},
- }, {
- hidden: true,
- path: "promotionalInvitationCode",
- component: () => import("@/views/customer/promotionalInvitationCode"),
- name: "PromotionalInvitationCode",
- meta: {title: "促销邀请码", fullPath: "/customer/promotionalInvitationCode"},
- },
+ // path: "workOrderManagement/mobile",
+ // component: () => import("@/views/customer/mobile_workOrderManagement"),
+ // name: "mobile_workOrderManagement",
+ // meta: { title: "工单管理", fullPath: "/customer/workOrderManagement" , isMobile: true },
+ // },
+ {
+ hidden: true,
+ path: "customerInformation",
+ component: () => import("@/views/customer/customerInformation"),
+ name: "customerInformation",
+ meta: { title: "个人中心", fullPath: "/customer/customerInformation" },
+ }, {
+ path: "rechargeRecord",
+ component: () => import("@/views/customer/rechargeRecord"),
+ name: "RechargeRecord",
+ meta: { title: "充值管理", fullPath: "/customer/rechargeRecord" },
+ }, {
+ path: "orderManagement",
+ component: () => import("@/views/customer/orderManagement"),
+ name: "OrderManagement",
+ meta: { title: "产品订单", fullPath: "/customer/orderManagement", noCache: true, },
+ }, {
+ path: "orderDetil",
+ component: () => import("@/views/customer/orderDetil"),
+ name: "orderDetil",
+ hidden: true,
+ meta: { title: "订单详情", fullPath: "/customer/orderDetil", noCache: true, },
+ }, {
+ hidden: true,
+ path: "promotionalInvitationCode",
+ component: () => import("@/views/customer/promotionalInvitationCode"),
+ name: "PromotionalInvitationCode",
+ meta: { title: "促销邀请码", fullPath: "/customer/promotionalInvitationCode" },
+ },
- // {
- // path: "bpmn",
- // component: () =>
- // import(
- // "@/views/customer/bpmn"
- // ),
- // name: "bpmn",
- // meta: { title: "bpmn", fullPath: "/customer/bpmn" },
- // },
- // {
- // path: "panel",
- // component: () =>
- // import(
- // "@/views/customer/panel"
- // ),
- // name: "panel",
- // meta: { title: "panel", fullPath: "/customer/panel" },
- // },
- {
- path: "userResource", component: () => import(
- // "@/views/customer/userResource/iframeJiNan.vue"//iframe报错
- "@/views/customer/userResource"
- ), name: "userResource", meta: {title: "资源实例", fullPath: "/customer/userResource", noCache: true},
- },
- {
+ // {
+ // path: "bpmn",
+ // component: () =>
+ // import(
+ // "@/views/customer/bpmn"
+ // ),
+ // name: "bpmn",
+ // meta: { title: "bpmn", fullPath: "/customer/bpmn" },
+ // },
+ // {
+ // path: "panel",
+ // component: () =>
+ // import(
+ // "@/views/customer/panel"
+ // ),
+ // name: "panel",
+ // meta: { title: "panel", fullPath: "/customer/panel" },
+ // },
+ {
+ path: "userResource", component: () => import(
+ // "@/views/customer/userResource/iframeJiNan.vue"//iframe报错
+ "@/views/customer/userResource"
+ ), name: "userResource", meta: { title: "资源实例", fullPath: "/customer/userResource", noCache: true },
+ },
+ {
+ hidden: true,
+ path: "sshTerminal",
+ component: () => import(
+ // "@/views/customer/userResource/iframeJiNan.vue"//iframe报错
+ "@/views/customer/userResource/SshTerminal.vue"
+ ),
+ name: "sshTerminal",
+ meta: { title: "ssh登录", fullPath: "/customer/SshTerminal", noCache: true },
+ },
- path: "sshTerminal",
- component: () => import(
- // "@/views/customer/userResource/iframeJiNan.vue"//iframe报错
- "@/views/customer/userResource/SshTerminal.vue"
- ),
- name: "sshTerminal",
- meta: {title: "ssh登录", fullPath: "/customer/SshTerminal", noCache: true},
- },
-
- {
- hidden: true, path: "approvalRecord", component: () => import(
- // "@/views/customer/approvalRecord/iframeJiNan.vue"//iframe报错
- "@/views/customer/approvalRecord"
- ), name: "approvalRecord", meta: {title: "审批记录", fullPath: "/customer/approvalRecord"},
- }, {
- path: "invoice",
- component: () => import("@/views/customer/invoice"),
- name: "Invoice",
- meta: {title: "发票管理", fullPath: "/customer/invoice"},
- }, {
- hidden: true,
- path: "productIndex",
- component: () => import("@/views/product/productHome/productIndex/index.vue"),
- name: "ProductIndex",
- meta: {title: "产品最新页", fullPath: "/product/productHome/productIndex", noCache: true},
- },],
+ {
+ hidden: true, path: "approvalRecord", component: () => import(
+ // "@/views/customer/approvalRecord/iframeJiNan.vue"//iframe报错
+ "@/views/customer/approvalRecord"
+ ), name: "approvalRecord", meta: { title: "审批记录", fullPath: "/customer/approvalRecord" },
+ }, {
+ path: "invoice",
+ component: () => import("@/views/customer/invoice"),
+ name: "Invoice",
+ meta: { title: "发票管理", fullPath: "/customer/invoice" },
+ }, {
+ hidden: true,
+ path: "productIndex",
+ component: () => import("@/views/product/productHome/productIndex/index.vue"),
+ name: "ProductIndex",
+ meta: { title: "产品最新页", fullPath: "/product/productHome/productIndex", noCache: true },
+ },],
}, {
path: "/sales", component: Layout,
@@ -826,12 +875,12 @@ export const asyncRoutes = [
path: "distributorManagement",
component: () => import("@/views/sales/distributorManagement"), // component: () => import("@/views/sales/distributorManagement/lodIndex.vue"),
name: "Distributor",
- meta: {title: "分销商管理", fullPath: "/sales/distributorManagement"}, // hidden: true,
+ meta: { title: "分销商管理", fullPath: "/sales/distributorManagement" }, // hidden: true,
}, {
path: "intelligentNetworkConfig",
component: () => import("@/views/sales/IntelligentNetworkConfig"),
name: "intelligentNetworkConfig",
- meta: {title: "智算网络配置", fullPath: "/sales/IntelligentNetworkConfig"},
+ meta: { title: "智算网络配置", fullPath: "/sales/IntelligentNetworkConfig" },
}, {
path: "chat", component: () => import("@/views/product/productHome/chat/index.vue"), name: "chat", meta: {
title: "聊天", fullPath: "/sales/chat", noCache: true
@@ -841,34 +890,34 @@ export const asyncRoutes = [
hidden: true,
component: () => import("@/views/sales/rpRebate"),
name: "rpRebate",
- meta: {title: "返佣设置", fullPath: "/sales/rpRebate"},
+ meta: { title: "返佣设置", fullPath: "/sales/rpRebate" },
}, {
path: "rpDiscount",
hidden: true,
component: () => import("@/views/sales/rpDiscount"),
name: "rpDiscount",
- meta: {title: "折扣设置", fullPath: "/sales/rpDiscount"},
+ meta: { title: "折扣设置", fullPath: "/sales/rpDiscount" },
}, {
path: "floorPrice",
hidden: true,
component: () => import("@/views/sales/floorPrice"),
name: "floorPrice",
- meta: {title: "底价设置", fullPath: "/sales/floorPrice"},
+ meta: { title: "底价设置", fullPath: "/sales/floorPrice" },
}, {
path: "bdUserMangement",
component: () => import("@/views/sales/BdUserMangement"),
name: "floorPrice",
- meta: {title: "百度用户管理", fullPath: "/sales/BdUserMangement"},
+ meta: { title: "百度用户管理", fullPath: "/sales/BdUserMangement" },
children: [{
path: "orderManagement", component: () => import(
"@/views/sales/BdUserMangement/orderMangement"
- ), name: "orderManagement", meta: {
+ ), name: "orderManagement", meta: {
title: "订单管理", fullPath: "/sales/BdUserMangement/orderManagement",
},
}, {
path: "billMangement", component: () => import(
"@/views/sales/BdUserMangement/billMangement"
- ), name: "billMangement", meta: {
+ ), name: "billMangement", meta: {
title: "账单管理", fullPath: "/sales/BdUserMangement/billMangement",
},
},]
@@ -876,87 +925,87 @@ export const asyncRoutes = [
path: "customerManagement",
component: () => import("@/views/sales/customerManagement"),
name: "Customer",
- meta: {title: "客户管理", fullPath: "/sales/customerManagement"},
+ meta: { title: "客户管理", fullPath: "/sales/customerManagement" },
redirect: "/customerManagement/customerInformationList",
children: [{
path: "intendedCustomers", component: () => import(
"@/views/sales/customerManagement/intendedCustomers/index.vue"
- ), name: "intendedCustomers", meta: {
+ ), name: "intendedCustomers", meta: {
title: "意向客户", fullPath: "/sales/customerManagement/intendedCustomers",
},
}, {
path: "customerInformationList", component: () => import(
"@/views/sales/customerManagement/customerInformationList"
- ), name: "customerInformationList", meta: {
+ ), name: "customerInformationList", meta: {
title: "客户信息列表", fullPath: "/sales/customerManagement/customerInformationList",
},
}, {
path: "zjUserList", hidden: true, component: () => import(
"@/views/sales/customerManagement/zjUserList"
- ), name: "zjUserList", meta: {
+ ), name: "zjUserList", meta: {
title: "中金客户列表", fullPath: "/sales/customerManagement/zjUserList",
},
},
- {
- path: "jiNanChaoSuanUserList", component: () => import(
- "@/views/sales/customerManagement/jiNanChaoSuanUserList"
- ), // name: "jiNanChaoSuanUserList",
- meta: {
- title: "超算用户账号分配", fullPath: "/sales/customerManagement/jiNanChaoSuanUserList",
+ {
+ path: "jiNanChaoSuanUserList", component: () => import(
+ "@/views/sales/customerManagement/jiNanChaoSuanUserList"
+ ), // name: "jiNanChaoSuanUserList",
+ meta: {
+ title: "超算用户账号分配", fullPath: "/sales/customerManagement/jiNanChaoSuanUserList",
+ },
+ }, {
+ path: "jiNanChaoSuanTonBu", component: () => import(
+ "@/views/sales/customerManagement/jiNanChaoSuanTonBu"
+ ), // name: "jiNanChaoSuanTonBu",
+ meta: {
+ title: "超算用户账号同步", fullPath: "/sales/customerManagement/jiNanChaoSuanTonBu",
+ },
+ }, {
+ path: "promotion",
+ component: () => import("@/views/sales/customerManagement/promotion"),
+ name: "Promotion",
+ meta: {
+ title: "生成邀请码", fullPath: "/sales/customerManagement/promotion",
+ },
+ }, {
+ path: "customerManagement",
+ component: () => import("@/views/sales/customerManagement/customerManagement"),
+ name: "customerManagement",
+ meta: {
+ title: "客户折扣设置", fullPath: "/sales/customerManagement/customerManagement",
+ },
+ }, {
+ path: "clientPriceSet", component: () => import(
+ "@/views/sales/customerManagement/clientPriceSet"
+ ), name: "clientPriceSet", meta: {
+ title: "客户售价设置", fullPath: "/sales/customerManagement/clientPriceSet",
+ },
+ }, {
+ path: "invoiceManage", component: () => import(
+ "@/views/sales/customerManagement/invoiceManage"
+ ), name: "InvoiceManage", meta: {
+ title: "发票管理", fullPath: "/sales/customerManagement/invoiceAndContract",
+ }, redirect: "/sales/customerManagement/invoiceManage/invoiceAndContract", children: [{
+ path: "invoiceAndContract", component: () => import(
+ "@/views/sales/customerManagement/invoiceManage/children/invoiceAndContract"
+ ), name: "InvoiceAndContract", meta: {
+ title: "发票与合同", fullPath: "/sales/customerManagement/invoiceManage/invoiceAndContract",
},
}, {
- path: "jiNanChaoSuanTonBu", component: () => import(
- "@/views/sales/customerManagement/jiNanChaoSuanTonBu"
- ), // name: "jiNanChaoSuanTonBu",
- meta: {
- title: "超算用户账号同步", fullPath: "/sales/customerManagement/jiNanChaoSuanTonBu",
+ path: "historyBilling", component: () => import(
+ "@/views/sales/customerManagement/invoiceManage/children/historyBilling"
+ ), name: "HistoryBilling", meta: {
+ title: "审批记录", fullPath: "/sales/customerManagement/invoiceManage/historyBilling",
},
- }, {
- path: "promotion",
- component: () => import("@/views/sales/customerManagement/promotion"),
- name: "Promotion",
- meta: {
- title: "生成邀请码", fullPath: "/sales/customerManagement/promotion",
- },
- }, {
- path: "customerManagement",
- component: () => import("@/views/sales/customerManagement/customerManagement"),
- name: "customerManagement",
- meta: {
- title: "客户折扣设置", fullPath: "/sales/customerManagement/customerManagement",
- },
- }, {
- path: "clientPriceSet", component: () => import(
- "@/views/sales/customerManagement/clientPriceSet"
- ), name: "clientPriceSet", meta: {
- title: "客户售价设置", fullPath: "/sales/customerManagement/clientPriceSet",
- },
- }, {
- path: "invoiceManage", component: () => import(
- "@/views/sales/customerManagement/invoiceManage"
- ), name: "InvoiceManage", meta: {
- title: "发票管理", fullPath: "/sales/customerManagement/invoiceAndContract",
- }, redirect: "/sales/customerManagement/invoiceManage/invoiceAndContract", children: [{
- path: "invoiceAndContract", component: () => import(
- "@/views/sales/customerManagement/invoiceManage/children/invoiceAndContract"
- ), name: "InvoiceAndContract", meta: {
- title: "发票与合同", fullPath: "/sales/customerManagement/invoiceManage/invoiceAndContract",
- },
- }, {
- path: "historyBilling", component: () => import(
- "@/views/sales/customerManagement/invoiceManage/children/historyBilling"
- ), name: "HistoryBilling", meta: {
- title: "审批记录", fullPath: "/sales/customerManagement/invoiceManage/historyBilling",
- },
- },]
- },],
+ },]
+ },],
}, {
path: "salesAnalysis",
hidden: true,
component: () => import("@/views/sales/salesAnalysis"),
name: "salesAnalysis",
- meta: {title: "销售分析", fullPath: "/sales/salesAnalysis"},
+ meta: { title: "销售分析", fullPath: "/sales/salesAnalysis" },
},],
},
@@ -977,31 +1026,34 @@ export const asyncRoutes = [
children: [{
path: "sustomerDiscountApproval", component: () => import(
"@/views/operation/examinationManagement/sustomerDiscountApproval"
- ), name: "MyOrganization", meta: {
+ ), name: "MyOrganization", meta: {
title: "客户折扣审批", fullPath: "/operation/examinationManagement/sustomerDiscountApproval",
},
}, {
path: "supplierTransferApproval", component: () => import(
"@/views/operation/examinationManagement/supplierTransferApproval"
- ), name: "supplierTransferApproval", meta: {
+ ), name: "supplierTransferApproval", meta: {
title: "供应商销售收入转账审批", fullPath: "/operation/examinationManagement/supplierTransferApproval",
},
- }, {
+ },
+ {
path: "distributorDiscountSetting", component: () => import(
"@/views/operation/examinationManagement/distributorDiscountSetting"
- ), name: "DistributorDiscountSetting", meta: {
+ ), name: "DistributorDiscountSetting", meta: {
title: "分销商折扣设置审批", fullPath: "/operation/examinationManagement/distributorDiscountSetting",
},
- }, {
+ },
+ {
path: "distributorRebateSetUp", component: () => import(
"@/views/operation/examinationManagement/distributorRebateSetUp"
- ), name: "DistributorRebateSetUp", meta: {
+ ), name: "DistributorRebateSetUp", meta: {
title: "分销商回佣率设置审批", fullPath: "/operation/examinationManagement/DistributorRebateSetUp",
},
- }, {
+ },
+ {
path: "distributorCommissionTransferApproval", component: () => import(
"@/views/operation/examinationManagement/distributorCommissionTransferApproval"
- ), name: "DistributorCommissionTransferApproval", meta: {
+ ), name: "DistributorCommissionTransferApproval", meta: {
title: "分销商回佣转账审批",
fullPath: "/operation/examinationManagement/distributorCommissionTransferApproval",
},
@@ -1170,12 +1222,12 @@ export const asyncRoutes = [
path: "saleActives",
component: () => import("@/views/operation/saleActives"),
name: "SaleActives",
- meta: {title: "促销活动", fullPath: "/operation/saleActives"},
+ meta: { title: "促销活动", fullPath: "/operation/saleActives" },
}, {
path: "voucher",
component: () => import("@/views/operation/voucher"),
name: "voucher",
- meta: {title: "算力券管理", fullPath: "/operation/voucher"},
+ meta: { title: "算力券管理", fullPath: "/operation/voucher" },
}, {
path: "customerTransfer",
component: () => import("@/views/operation/customerTransfer"),
@@ -1200,7 +1252,7 @@ export const asyncRoutes = [
{
path: "bill", component: () => import(
"@/views/operation/analyze/bill/index.vue"
- ), name: "bill", meta: {
+ ), name: "bill", meta: {
title: "消费KPI分析", fullPath: "/operation/analyze/bill",
},
},
@@ -1208,31 +1260,31 @@ export const asyncRoutes = [
{
path: "operationalAnalysis", component: () => import(
"@/views/operation/analyze/operationalAnalysis"
- ), name: "operationalAnalysis", meta: {
+ ), name: "operationalAnalysis", meta: {
title: "运营KPI分析", fullPath: "/operation/analyze/operationalAnalysis",
},
}, {
path: "depementAnalysis", component: () => import(
"@/views/operation/analyze/depementAnalysis"
- ), name: "depementAnalysis", meta: {
+ ), name: "depementAnalysis", meta: {
title: "部门KPI分析", fullPath: "/operation/analyze/depementAnalysis",
},
}, {
path: "saleAnalysis", component: () => import(
"@/views/operation/analyze/saleAnalysis"
- ), name: "saleAnalysis", meta: {
+ ), name: "saleAnalysis", meta: {
title: "销售KPI分析", fullPath: "/operation/analyze/saleAnalysis",
},
}, {
path: "incomeAnalysis", component: () => import(
"@/views/operation/analyze/incomeAnalysis"
- ), name: "incomeAnalysis", meta: {
+ ), name: "incomeAnalysis", meta: {
title: "收入分析", fullPath: "/operation/analyze/incomeAnalysis",
},
}, {
path: "profitAnalysis", component: () => import(
"@/views/operation/analyze/profitAnalysis"
- ), name: "profitAnalysis", meta: {
+ ), name: "profitAnalysis", meta: {
title: "利润分析", fullPath: "/operation/analyze/profitAnalysis",
},
},
@@ -1267,25 +1319,25 @@ export const asyncRoutes = [
children: [{
path: "device", component: () => import(
"@/views/operation/deviceMangement/device/index.vue"
- ), name: "device", meta: {
+ ), name: "device", meta: {
title: "设备管理", fullPath: "/operation/deviceMangement/device",
},
}, {
path: "deviceBillList", component: () => import(
"@/views/operation/deviceMangement/deviceBillList/index.vue"
- ), name: "deviceBillList", meta: {
+ ), name: "deviceBillList", meta: {
title: "设备订单", fullPath: "/operation/deviceMangement/deviceBillList",
},
}, {
path: "machineRoom", component: () => import(
"@/views/operation/deviceMangement/machineRoom/index.vue"
- ), name: "machineRoom", meta: {
+ ), name: "machineRoom", meta: {
title: "机房信息", fullPath: "/operation/deviceMangement/machineRoom",
},
}, {
path: "deviceGrid", component: () => import(
"@/views/operation/deviceMangement/deviceGrid/index.vue"
- ), name: "deviceGrid", meta: {
+ ), name: "deviceGrid", meta: {
title: "统计分析", fullPath: "/operation/deviceMangement/deviceGrid",
}, children: [{
path: "machineRoomGrid",
@@ -1315,7 +1367,7 @@ export const asyncRoutes = [
}, {
hidden: true, path: "deviceContract", component: () => import(
"@/views/operation/deviceMangement/deviceContract/index.vue"
- ), name: "deviceContract", // beforeRouteEnter(to, from, next) {
+ ), name: "deviceContract", // beforeRouteEnter(to, from, next) {
// // 在路由进入前执行逻辑
// // 可以访问组件实例 `this`,但是此时还无法访问到组件实例本身
// next(vm => {
@@ -1340,38 +1392,39 @@ export const asyncRoutes = [
}
},
- // {
- // path: "approvalBusinessConfig",
- // component: () => import("@/views/operation/approval/approveBusinessConfig"),
- // name: "approvalBusinessConfig",
- // meta: {
- // title: "业务模板配置",
- // fullPath: "/operation/approval/approveBusinessConfig"
- // }
- // },
+ // {
+ // path: "approvalBusinessConfig",
+ // component: () => import("@/views/operation/approval/approveBusinessConfig"),
+ // name: "approvalBusinessConfig",
+ // meta: {
+ // title: "业务模板配置",
+ // fullPath: "/operation/approval/approveBusinessConfig"
+ // }
+ // },
- {
- path: "approvalConfig",
- component: () => import("@/views/operation/approval/approvalConfig"),
- name: "approvalConfig",
- meta: {
- title: "审核人配置", fullPath: "/operation/approval/approvalConfig"
- }
- }, {
- path: "approvalList",
- component: () => import("@/views/operation/approval/approvalList"),
- name: "approvalList",
- meta: {
- title: "流程列表", fullPath: "/operation/approval/approvalList"
- }
- }]
+ {
+ path: "approvalConfig",
+ component: () => import("@/views/operation/approval/approvalConfig"),
+ name: "approvalConfig",
+ meta: {
+ title: "审核人配置", fullPath: "/operation/approval/approvalConfig"
+ }
+ }, {
+ path: "approvalList",
+ component: () => import("@/views/operation/approval/approvalList"),
+ name: "approvalList",
+ meta: {
+ title: "流程列表", fullPath: "/operation/approval/approvalList"
+ }
+ }]
}, {
path: "test", name: 'test', component: () => import("@/views/Test/index"), meta: {
title: "Test", icon: "el-icon-shopping-cart-2", noCache: true, fullPath: "/Test/index",
},
},],
- }, {
+ },
+ {
path: "/operationAndMaintenance", component: Layout, redirect: "/operationAndMaintenance/index", meta: {
title: "运维", icon: "el-icon-s-tools", noCache: true, fullPath: "/operationAndMaintenance",
}, children: [{
@@ -1406,13 +1459,13 @@ export const asyncRoutes = [
hidden: true,
component: () => import(
"@/views/finance/supplierSettlement"
- ),
+ ),
name: "SupplierSettlement",
- meta: {title: "供应商结算", fullPath: "/finance/supplierSettlement"},
+ meta: { title: "供应商结算", fullPath: "/finance/supplierSettlement" },
children: [{
path: "supplierSalesReconciliation", component: () => import(
"@/views/finance/supplierSettlement/supplierSalesReconciliation"
- ), name: "SupplierSalesReconciliation", meta: {
+ ), name: "SupplierSalesReconciliation", meta: {
title: "供应商销售对账", fullPath: "/finance/supplierSettlement/supplierSalesReconciliation",
},
}, {
@@ -1427,47 +1480,47 @@ export const asyncRoutes = [
path: "supplierSettlementStatistics",
component: () => import("@/views/endDay/supplierSettlementStatistics"),
name: "supplierSettlementStatistics",
- meta: {title: "供应商结算统计", fullPath: "/endDay/supplierSettlementStatistics"},
+ meta: { title: "供应商结算统计", fullPath: "/endDay/supplierSettlementStatistics" },
}, // {
- // path: "supplierSettlementStatistics/mobile",
- // component: () =>
- // import("@/views/endDay/mobile_supplierSettlementStatistics"),
- // name: "mbile_supplierSettlementStatistics",
- // meta: { title: "供应商结算统计", fullPath: "/endDay/supplierSettlementStatistics", isMobile: true },
- // },
- {
- path: "customerRechargeManagement",
- component: () => import("@/views/finance/customerRechargeManagement"),
- name: "CustomerRechargeManagement",
- meta: {
- title: "客户充值管理", fullPath: "/finance/customerRechargeManagement",
- },
- children: [{
- path: "customersRechargeOnffline", component: () => import(
- "@/views/finance/customerRechargeManagement/customersRechargeOnffline"
- ), name: "CustomersRechargeOnffline", meta: {
- title: "客户线下充值入账", fullPath: "/finance/customerRechargeManagement/customersRechargeOnffline",
- },
- }, // {
- // path: "customersRechargeOnline",
- // component: () =>
- // import(
- // "@/views/finance/customerRechargeManagement/customersRechargeOnline"
- // ),
- // name: "CustomersRechargeOnline",
- // meta: {
- // title: "客户线上充值核对入账",
- // fullPath:
- // "/finance/customerRechargeManagement/customersRechargeOnline",
- // },
- // },
- ],
- }, {
- path: "financialAnalysis",
- hidden: true,
- component: () => import("@/views/finance/financialAnalysis"),
- meta: {title: "财务分析", fullPath: "/finance/financialAnalysis"},
+ // path: "supplierSettlementStatistics/mobile",
+ // component: () =>
+ // import("@/views/endDay/mobile_supplierSettlementStatistics"),
+ // name: "mbile_supplierSettlementStatistics",
+ // meta: { title: "供应商结算统计", fullPath: "/endDay/supplierSettlementStatistics", isMobile: true },
+ // },
+ {
+ path: "customerRechargeManagement",
+ component: () => import("@/views/finance/customerRechargeManagement"),
+ name: "CustomerRechargeManagement",
+ meta: {
+ title: "客户充值管理", fullPath: "/finance/customerRechargeManagement",
},
+ children: [{
+ path: "customersRechargeOnffline", component: () => import(
+ "@/views/finance/customerRechargeManagement/customersRechargeOnffline"
+ ), name: "CustomersRechargeOnffline", meta: {
+ title: "客户线下充值入账", fullPath: "/finance/customerRechargeManagement/customersRechargeOnffline",
+ },
+ }, // {
+ // path: "customersRechargeOnline",
+ // component: () =>
+ // import(
+ // "@/views/finance/customerRechargeManagement/customersRechargeOnline"
+ // ),
+ // name: "CustomersRechargeOnline",
+ // meta: {
+ // title: "客户线上充值核对入账",
+ // fullPath:
+ // "/finance/customerRechargeManagement/customersRechargeOnline",
+ // },
+ // },
+ ],
+ }, {
+ path: "financialAnalysis",
+ hidden: true,
+ component: () => import("@/views/finance/financialAnalysis"),
+ meta: { title: "财务分析", fullPath: "/finance/financialAnalysis" },
+ },
],
},
@@ -1566,31 +1619,31 @@ export const asyncRoutes = [
children: [{
path: "userManagement",
component: () => import("@/views/management/userRightsManagement"),
- meta: {title: "用户权限管理", fullPath: "/management/userManagement"},
+ meta: { title: "用户权限管理", fullPath: "/management/userManagement" },
redirect: "/management/userManagement/accountManagement",
children: [{
path: "accountManagement", component: () => import(
"@/views/management/userRightsManagement/accountManagement"
- ), name: "accountManagement", meta: {
+ ), name: "accountManagement", meta: {
title: "用户管理", fullPath: "/management/userManagement/accountManagement",
},
}, {
path: "authorityManagement", component: () => import(
"@/views/management/userRightsManagement/authorityManagement"
- ), name: "AuthorityManagement", meta: {
+ ), name: "AuthorityManagement", meta: {
title: "权限管理", fullPath: "/management/userManagement/authorityManagement",
},
}, {
path: "organizationManagement", component: () => import(
"@/views/management/userRightsManagement/organizationManagement"
- ), name: "OrganizationManagement", meta: {
+ ), name: "OrganizationManagement", meta: {
title: "组织管理", fullPath: "/management/userManagement/organizationManagement",
},
},],
}, {
path: "serviceManagement",
component: () => import("@/views/management/serviceManagement"),
- meta: {title: "业务管理", fullPath: "/management/serviceManagement"},
+ meta: { title: "业务管理", fullPath: "/management/serviceManagement" },
redirect: "/management/serviceManagement/orderManagement",
children: [{
path: "billingManagement",
@@ -1602,7 +1655,7 @@ export const asyncRoutes = [
}, {
path: "financialManagement", component: () => import(
"@/views/management/serviceManagement/financialManagement"
- ), name: "FinancialManagement", meta: {
+ ), name: "FinancialManagement", meta: {
title: "财务管理", fullPath: "/management/serviceManagement/financialManagement",
},
},],
@@ -1621,7 +1674,7 @@ export const asyncRoutes = [
title: "日末管理",
component: () => import("@/views/management/dayDispose"),
name: "dayDispose",
- meta: {title: "日末管理", fullPath: "/management/dayDispose"},
+ meta: { title: "日末管理", fullPath: "/management/dayDispose" },
},],
},
@@ -1633,7 +1686,7 @@ export const asyncRoutes = [
path: "endDay",
component: () => import("@/views/endDay/endDay"),
name: "endDay",
- meta: {title: "日末", fullPath: "/endDay/endDay"},
+ meta: { title: "日末", fullPath: "/endDay/endDay" },
},
// {
diff --git a/f/web-kboss/src/store/modules/ncmatch.js b/f/web-kboss/src/store/modules/ncmatch.js
new file mode 100644
index 0000000..0354e74
--- /dev/null
+++ b/f/web-kboss/src/store/modules/ncmatch.js
@@ -0,0 +1,33 @@
+
+const state = {
+ showProductDetail: false,
+ // 产品详情
+ productDetail: { },
+ //是否是审核
+ isAudit: false,
+}
+
+const mutations = {
+ SETPRODUCTDETAIL(state, productDetail) {
+ state.productDetail = productDetail
+ },
+ GETPRODUCTDETAIL(state) {
+ return state.productDetail
+ },
+ SHOWPRODUCTDETAIL(state, showProductDetail) {
+ state.showProductDetail = showProductDetail
+ },
+ GETSHOWPRODUCTDETAIL(state) {
+ return state.showProductDetail
+ }
+}
+const actions = {
+
+}
+const getters = {}
+export default {
+ state,
+ actions,
+ mutations,
+ getters
+}
diff --git a/f/web-kboss/src/store/modules/user.js b/f/web-kboss/src/store/modules/user.js
index c17939d..b0f6b7f 100644
--- a/f/web-kboss/src/store/modules/user.js
+++ b/f/web-kboss/src/store/modules/user.js
@@ -5,6 +5,7 @@ import {Message} from "element-ui";
import router, {resetRouter} from "@/router";
import store from "@/store";
import {myBalanceAPI} from "@/api/finance/customerRechargeManagement";
+import {testData} from "@/views/homePage/components/topBox/testData";
const state = {
token: getToken(),
@@ -86,7 +87,6 @@ const actions = {
}
)
resetRouter();
- console.log("挂载前的路由是:", accessRoutes)
router.addRoutes(accessRoutes);
resolve(response);
}
diff --git a/f/web-kboss/src/views/Test/testData.js b/f/web-kboss/src/views/Test/testData.js
new file mode 100644
index 0000000..1fd8d52
--- /dev/null
+++ b/f/web-kboss/src/views/Test/testData.js
@@ -0,0 +1,7 @@
+import Layout from "@/layout/index.vue";
+
+export const testData =[{"path":"operation", component: Layout,
+
+
+
+ "hidden":true,"name":"Operation","meta":{"title":"审批管理","fullPath":"/operation/examinationManagement"},"redirect":"/operation/examinationManagement/sustomerDiscountApproval","children":[{"path":"sustomerDiscountApproval","name":"MyOrganization","meta":{"title":"客户折扣审批","fullPath":"/operation/examinationManagement/sustomerDiscountApproval"}},{"path":"supplierTransferApproval","name":"supplierTransferApproval","meta":{"title":"供应商销售收入转账审批","fullPath":"/operation/examinationManagement/supplierTransferApproval"}},{"path":"distributorDiscountSetting","name":"DistributorDiscountSetting","meta":{"title":"分销商折扣设置审批","fullPath":"/operation/examinationManagement/distributorDiscountSetting"}},{"path":"distributorRebateSetUp","name":"DistributorRebateSetUp","meta":{"title":"分销商回佣率设置审批","fullPath":"/operation/examinationManagement/DistributorRebateSetUp"}},{"path":"distributorCommissionTransferApproval","name":"DistributorCommissionTransferApproval","meta":{"title":"分销商回佣转账审批","fullPath":"/operation/examinationManagement/distributorCommissionTransferApproval"}}]},{"path":"supplierManagement","title":"供应商管理","name":"supplierManagement","meta":{"title":"供应商管理","fullPath":"/operation/supplierManagement"}},{"path":"computingCenterManagement","name":"computingCenterManagement","title":"容器云","meta":{"title":"容器云","fullPath":"/operation/computingCenterManagement/mainPage","noCache":true},"redirect":"/operation/computingCenterManagement","children":[{"path":"mainPage","title":"算力中心","name":"supplierManagement","meta":{"title":"算力中心","fullPath":"/operation/computingCenterManagement/mainPage","noCache":true}},{"path":"tagMangement","title":"标签管理","name":"tagMangement","meta":{"title":"标签管理","fullPath":"/operation/computingCenterManagement/tagMangement","noCache":true}},{"path":"sellingConfiguration","title":"出售配置","name":"sellingConfiguration","meta":{"title":"出售配置","fullPath":"/operation/computingCenterManagement/sellingConfiguration","noCache":true}},{"hidden":true,"path":"pod","title":"资源实例看板","name":"pod","meta":{"title":"资源实例看板","fullPath":"/operation/computingCenterManagement/pod","noCache":true}},{"hidden":true,"path":"childPod","title":"成员节点看板","name":"childPod","meta":{"title":"成员节点看板","fullPath":"/operation/computingCenterManagement/childPod","noCache":true}},{"hidden":true,"path":"clusterResourceInstanceConfiguration","title":"资源实例配置","name":"clusterResourceInstanceConfiguration","meta":{"title":"资源实例配置","fullPath":"/operation/computingCenterManagement/clusterResourceInstanceConfiguration","noCache":true}},{"hidden":true,"path":"colony","title":"管理集群","name":"supplierManagement","meta":{"title":"管理集群","fullPath":"/operation/computingCenterManagement/colony","noCache":true}},{"hidden":true,"path":"computingPowerNode","title":"算力设备","name":"computingPowerNode","meta":{"title":"算力设备","fullPath":"/operation/computingCenterManagement/computingPowerNode","noCache":true}},{"hidden":true,"path":"part","title":"算力部件管理","name":"part","meta":{"title":"算力部件管理","fullPath":"/operation/computingCenterManagement/Part","noCache":true}}]},{"path":"importSalesRevenue","title":"导入销售额","name":"ImportSalesRevenue","meta":{"title":"导入销售额","fullPath":"/operation/ImportSalesRevenue"}},{"path":"allProductManagement","title":"公共售价管理","name":"allProductManagement","meta":{"title":"公共售价管理","fullPath":"/operation/allProductManagement"}},{"path":"publicDiscountManagement","title":"公共折扣管理","name":"publicDiscountManagement","meta":{"title":"公共折扣管理","fullPath":"/operation/publicDiscountManagement"}},{"path":"publicCostomerManagement","name":"PublicCostomerManagement","meta":{"title":"公共客户管理","fullPath":"/operation/publicCostomerManagement"}},{"path":"productManagement","name":"productManagement","hidden":true,"meta":{"title":"供应商产品管理","fullPath":"/operation/productManagement"}},{"path":"specificationTemplateManagement","name":"specificationTemplateManagement","hidden":true,"meta":{"title":"产品规格模板管理","fullPath":"/operation/specificationTemplateManagement"}},{"path":"saleActives","name":"SaleActives","meta":{"title":"促销活动","fullPath":"/operation/saleActives"}},{"path":"voucher","name":"voucher","meta":{"title":"算力券管理","fullPath":"/operation/voucher"}},{"path":"customerTransfer","name":"CustomerTransfer","meta":{"title":"客户转移","fullPath":"/operation/customerTransfer"}},{"path":"turnoverHandover","name":"TurnoverHandover","meta":{"title":"离职交接","fullPath":"/operation/turnoverHandover"}},{"path":"analyze","name":"analyze","meta":{"title":"分析","fullPath":"/operation/analyze"},"redirect":"/operation/analyze","children":[{"path":"bill","name":"bill","meta":{"title":"消费KPI分析","fullPath":"/operation/analyze/bill"}},{"path":"operationalAnalysis","name":"operationalAnalysis","meta":{"title":"运营KPI分析","fullPath":"/operation/analyze/operationalAnalysis"}},{"path":"depementAnalysis","name":"depementAnalysis","meta":{"title":"部门KPI分析","fullPath":"/operation/analyze/depementAnalysis"}},{"path":"saleAnalysis","name":"saleAnalysis","meta":{"title":"销售KPI分析","fullPath":"/operation/analyze/saleAnalysis"}},{"path":"incomeAnalysis","name":"incomeAnalysis","meta":{"title":"收入分析","fullPath":"/operation/analyze/incomeAnalysis"}},{"path":"profitAnalysis","name":"profitAnalysis","meta":{"title":"利润分析","fullPath":"/operation/analyze/profitAnalysis"}}]},{"path":"channelCustomer","title":"渠道客户","name":"channelCustomer","meta":{"title":"渠道客户","fullPath":"/operation/channelCustomer","noCache":true}},{"hidden":true,"path":"intelligentConfigOpe","title":"智算产品配置","name":"intelligentConfigOpe","meta":{"title":"智算产品配置","fullPath":"/operation/IntelligentConfigOpe"}},{"path":"deviceMangement","name":"deviceMangement","meta":{"title":"产品租赁","fullPath":"/operation/deviceMangement"},"redirect":"/operation/deviceMangement","children":[{"path":"device","name":"device","meta":{"title":"设备管理","fullPath":"/operation/deviceMangement/device"}},{"path":"machineRoom","name":"machineRoom","meta":{"title":"机房信息","fullPath":"/operation/deviceMangement/machineRoom"}},{"path":"deviceGrid","name":"deviceGrid","meta":{"title":"统计分析","fullPath":"/operation/deviceMangement/deviceGrid"},"children":[{"path":"machineRoomGrid","name":"machineRoomGrid","meta":{"title":"机房统计","fullPath":"/operation/deviceMangement/deviceGrid/machineRoomGrid"}},{"path":"deviceExpiration","name":"deviceExpiration","meta":{"title":"设备统计","fullPath":"/operation/deviceMangement/deviceGrid/deviceExpiration"}},{"path":"supplierAndProductStatistics","name":"deviceExpiration","meta":{"title":"供需指数","fullPath":"/operation/deviceMangement/deviceGrid/supplierAndProductStatistics"}}]}]},{"path":"approval","name":"approval","meta":{"title":"审批配置","fullPath":"/operation/approval"},"children":[{"path":"approvalArgumentsConfig","name":"approvalArgumentsConfig","meta":{"title":"参数配置","fullPath":"/operation/approval/approvalArgumentsConfig"}},{"path":"approvalConfig","name":"approvalConfig","meta":{"title":"审核人配置","fullPath":"/operation/approval/approvalConfig"}},{"path":"approvalList","name":"approvalList","meta":{"title":"流程列表","fullPath":"/operation/approval/approvalList"}}]},{"path":"/endDay","component":{"name":"Layout","components":{"AppMain":{"name":"AppMain","computed":{},"staticRenderFns":[],"_compiled":true,"_scopeId":"data-v-078753dd","beforeCreate":[null],"beforeDestroy":[null],"__file":"src/layout/components/AppMain.vue","_Ctor":{}},"Navbar":{"components":{"PromotionalInvitationCode":{"name":"promotionalInvitationCode","methods":{},"staticRenderFns":[],"_compiled":true,"_scopeId":"data-v-49d4e0c0","beforeCreate":[null],"beforeDestroy":[null],"__file":"src/views/customer/promotionalInvitationCode/index.vue","_Ctor":{}},"Breadcrumb":{"watch":{},"methods":{},"staticRenderFns":[],"_compiled":true,"_scopeId":"data-v-b50ef614","beforeCreate":[null],"beforeDestroy":[null],"__file":"src/components/Breadcrumb/index.vue","_Ctor":{}},"Hamburger":{"name":"Hamburger","props":{"isActive":{"default":false}},"methods":{},"staticRenderFns":[],"_compiled":true,"_scopeId":"data-v-4e6f274c","beforeCreate":[null],"beforeDestroy":[null],"__file":"src/components/Hamburger/index.vue"},"Screenfull":{"name":"Screenfull","beforeDestroy":[null,null],"methods":{},"staticRenderFns":[],"_compiled":true,"_scopeId":"data-v-29234bee","beforeCreate":[null],"__file":"src/components/Screenfull/index.vue"},"SizeSelect":{"computed":{},"methods":{},"staticRenderFns":[],"_compiled":true,"beforeCreate":[null],"beforeDestroy":[null],"__file":"src/components/SizeSelect/index.vue"},"Search":{"name":"HeaderSearch","computed":{},"watch":{},"methods":{},"staticRenderFns":[],"_compiled":true,"_scopeId":"data-v-032bd1f0","beforeCreate":[null],"beforeDestroy":[null],"__file":"src/components/HeaderSearch/index.vue"},"InForm":{"name":"WebKbossIndex","methods":{},"staticRenderFns":[],"_compiled":true,"_scopeId":"data-v-5dcf58dc","beforeCreate":[null],"beforeDestroy":[null],"__file":"src/components/Inform/index.vue"},"messagedrawer":{"props":{"drawer":{"required":true,"default":false},"direction":{"default":"rtl"},"tableData":{"default":false}},"methods":{},"staticRenderFns":[],"_compiled":true,"beforeCreate":[null],"beforeDestroy":[null],"__file":"src/layout/components/inFram/message.vue"}},"computed":{},"methods":{},"watch":{"gridObj":{"user":true}},"staticRenderFns":[],"_compiled":true,"_scopeId":"data-v-d16d6306","beforeCreate":[null],"beforeDestroy":[null],"__file":"src/layout/components/Navbar.vue","_Ctor":{}},"RightPanel":{"name":"RightPanel","props":{"clickNotClose":{"default":false},"buttonTop":{"default":250}},"computed":{},"watch":{},"beforeDestroy":[null,null],"methods":{},"staticRenderFns":[],"_compiled":true,"_scopeId":"data-v-1e488bfb","beforeCreate":[null],"__file":"src/components/RightPanel/index.vue"},"Settings":{"components":{"ThemePicker":{"computed":{},"watch":{"defaultTheme":{"immediate":true}},"methods":{},"staticRenderFns":[],"_compiled":true,"beforeCreate":[null],"beforeDestroy":[null],"__file":"src/components/ThemePicker/index.vue"}},"computed":{"fixedHeader":{},"tagsView":{},"sidebarLogo":{}},"methods":{},"staticRenderFns":[],"_compiled":true,"_scopeId":"data-v-126b135a","beforeCreate":[null],"beforeDestroy":[null],"__file":"src/layout/components/Settings/index.vue"},"Sidebar":{"components":{"SidebarItem":{"name":"SidebarItem","components":{"Item":{"name":"MenuItem","functional":true,"props":{"icon":{"default":""},"title":{"default":""}},"_scopeId":"data-v-31ea41b3","__file":"src/layout/components/Sidebar/Item.vue","_Ctor":{}},"AppLink":{"props":{"to":{"required":true}},"computed":{},"methods":{},"staticRenderFns":[],"_compiled":true,"beforeCreate":[null],"beforeDestroy":[null],"__file":"src/layout/components/Sidebar/Link.vue","_Ctor":{}}},"mixins":[{"computed":{},"methods":{}}],"props":{"item":{"required":true},"isNest":{"default":false},"basePath":{"default":""}},"methods":{},"staticRenderFns":[],"_compiled":true,"_scopeId":"data-v-2d2bbdc2","beforeCreate":[null],"beforeDestroy":[null],"__file":"src/layout/components/Sidebar/SidebarItem.vue","_Ctor":{}},"Logo":{"name":"SidebarLogo","props":{"collapse":{"required":true}},"methods":{},"staticRenderFns":[],"_compiled":true,"_scopeId":"data-v-6494804b","beforeCreate":[null],"beforeDestroy":[null],"__file":"src/layout/components/Sidebar/Logo.vue","_Ctor":{}}},"computed":{},"methods":{},"staticRenderFns":[],"_compiled":true,"_scopeId":"data-v-33ec43fc","beforeCreate":[null],"beforeDestroy":[null],"__file":"src/layout/components/Sidebar/index.vue","_Ctor":{}},"TagsView":{"components":{"ScrollPane":{"name":"ScrollPane","computed":{},"beforeDestroy":[null,null],"methods":{},"staticRenderFns":[],"_compiled":true,"_scopeId":"data-v-be6b7bae","beforeCreate":[null],"__file":"src/layout/components/TagsView/ScrollPane.vue"}},"computed":{},"watch":{},"methods":{},"staticRenderFns":[],"_compiled":true,"_scopeId":"data-v-fac8ca64","beforeCreate":[null],"beforeDestroy":[null],"__file":"src/layout/components/TagsView/index.vue"}},"mixins":[{"watch":{},"methods":{}}],"computed":{},"watch":{"$route":{"deep":true,"immediate":true,"user":true}},"methods":{},"staticRenderFns":[],"_compiled":true,"_scopeId":"data-v-13877386","beforeCreate":[null],"beforeDestroy":[null],"__file":"src/layout/index.vue","_Ctor":{}},"redirect":"/endDay/endDay","hidden":true,"meta":{"title":"日末","icon":"el-icon-s-custom","noCache":true,"fullPath":"/endDay"},"children":[{"path":"endDay","name":"endDay","meta":{"title":"日末","fullPath":"/endDay/endDay"}}]}]
diff --git a/f/web-kboss/src/views/customer/ncApprove/index.vue b/f/web-kboss/src/views/customer/ncApprove/index.vue
new file mode 100644
index 0000000..98eb162
--- /dev/null
+++ b/f/web-kboss/src/views/customer/ncApprove/index.vue
@@ -0,0 +1,945 @@
+
+
+
+
+
+
营业执照正本
+
+
营业执照副本
+
+
+
+
{{ baseItem.description }}
{{ netItem.description }}
产品优势尊敬用户:
您好~~
本平台公示的所有产品折扣活动均真实有效,价格体系严格遵循公开透明原则。
-特别说明:云服务产品页面所示价格属参考性标价,实际交易金额须以资源清单订单页面为准。 +
特别说明:云服务产品页面所示价格属参考性标价,实际交易金额须以资源清单订单页面为准。
请您知悉上述条款并放心进行购买决策,如有任何疑问,可随时联系平台官方客服,我们将为您详细说明。