Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
phsl
/
admin
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
eb97447b
authored
Nov 25, 2023
by
YunaiV
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
crm:code review 成员
parent
54897b6d
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
164 additions
and
170 deletions
+164
-170
src/utils/dict.ts
+151
-151
src/views/crm/components/CrmPermissionList.vue
+13
-19
No files found.
src/utils/dict.ts
View file @
eb97447b
/**
/**
* 数据字典工具类
* 数据字典工具类
*/
*/
import
{
useDictStoreWithOut
}
from
'@/store/modules/dict'
import
{
useDictStoreWithOut
}
from
'@/store/modules/dict'
import
{
ElementPlusInfoType
}
from
'@/types/elementPlus'
import
{
ElementPlusInfoType
}
from
'@/types/elementPlus'
const
dictStore
=
useDictStoreWithOut
()
const
dictStore
=
useDictStoreWithOut
()
...
@@ -13,51 +13,51 @@ const dictStore = useDictStoreWithOut()
...
@@ -13,51 +13,51 @@ const dictStore = useDictStoreWithOut()
* @returns {*|Array} 数据字典数组
* @returns {*|Array} 数据字典数组
*/
*/
export
interface
DictDataType
{
export
interface
DictDataType
{
dictType
:
string
dictType
:
string
label
:
string
label
:
string
value
:
string
|
number
|
boolean
value
:
string
|
number
|
boolean
colorType
:
ElementPlusInfoType
|
''
colorType
:
ElementPlusInfoType
|
''
cssClass
:
string
cssClass
:
string
}
}
export
const
getDictOptions
=
(
dictType
:
string
)
=>
{
export
const
getDictOptions
=
(
dictType
:
string
)
=>
{
return
dictStore
.
getDictByType
(
dictType
)
||
[]
return
dictStore
.
getDictByType
(
dictType
)
||
[]
}
}
export
const
getIntDictOptions
=
(
dictType
:
string
):
DictDataType
[]
=>
{
export
const
getIntDictOptions
=
(
dictType
:
string
):
DictDataType
[]
=>
{
const
dictOption
:
DictDataType
[]
=
[]
const
dictOption
:
DictDataType
[]
=
[]
const
dictOptions
:
DictDataType
[]
=
getDictOptions
(
dictType
)
const
dictOptions
:
DictDataType
[]
=
getDictOptions
(
dictType
)
dictOptions
.
forEach
((
dict
:
DictDataType
)
=>
{
dictOptions
.
forEach
((
dict
:
DictDataType
)
=>
{
dictOption
.
push
({
dictOption
.
push
({
...
dict
,
...
dict
,
value
:
parseInt
(
dict
.
value
+
''
)
value
:
parseInt
(
dict
.
value
+
''
)
})
})
})
return
dictOption
})
return
dictOption
}
}
export
const
getStrDictOptions
=
(
dictType
:
string
)
=>
{
export
const
getStrDictOptions
=
(
dictType
:
string
)
=>
{
const
dictOption
:
DictDataType
[]
=
[]
const
dictOption
:
DictDataType
[]
=
[]
const
dictOptions
:
DictDataType
[]
=
getDictOptions
(
dictType
)
const
dictOptions
:
DictDataType
[]
=
getDictOptions
(
dictType
)
dictOptions
.
forEach
((
dict
:
DictDataType
)
=>
{
dictOptions
.
forEach
((
dict
:
DictDataType
)
=>
{
dictOption
.
push
({
dictOption
.
push
({
...
dict
,
...
dict
,
value
:
dict
.
value
+
''
value
:
dict
.
value
+
''
})
})
})
return
dictOption
})
return
dictOption
}
}
export
const
getBoolDictOptions
=
(
dictType
:
string
)
=>
{
export
const
getBoolDictOptions
=
(
dictType
:
string
)
=>
{
const
dictOption
:
DictDataType
[]
=
[]
const
dictOption
:
DictDataType
[]
=
[]
const
dictOptions
:
DictDataType
[]
=
getDictOptions
(
dictType
)
const
dictOptions
:
DictDataType
[]
=
getDictOptions
(
dictType
)
dictOptions
.
forEach
((
dict
:
DictDataType
)
=>
{
dictOptions
.
forEach
((
dict
:
DictDataType
)
=>
{
dictOption
.
push
({
dictOption
.
push
({
...
dict
,
...
dict
,
value
:
dict
.
value
+
''
===
'true'
value
:
dict
.
value
+
''
===
'true'
})
})
})
return
dictOption
})
return
dictOption
}
}
/**
/**
...
@@ -67,12 +67,12 @@ export const getBoolDictOptions = (dictType: string) => {
...
@@ -67,12 +67,12 @@ export const getBoolDictOptions = (dictType: string) => {
* @return DictDataType 字典对象
* @return DictDataType 字典对象
*/
*/
export
const
getDictObj
=
(
dictType
:
string
,
value
:
any
):
DictDataType
|
undefined
=>
{
export
const
getDictObj
=
(
dictType
:
string
,
value
:
any
):
DictDataType
|
undefined
=>
{
const
dictOptions
:
DictDataType
[]
=
getDictOptions
(
dictType
)
const
dictOptions
:
DictDataType
[]
=
getDictOptions
(
dictType
)
for
(
const
dict
of
dictOptions
)
{
for
(
const
dict
of
dictOptions
)
{
if
(
dict
.
value
===
value
+
''
)
{
if
(
dict
.
value
===
value
+
''
)
{
return
dict
return
dict
}
}
}
}
}
}
/**
/**
...
@@ -83,121 +83,121 @@ export const getDictObj = (dictType: string, value: any): DictDataType | undefin
...
@@ -83,121 +83,121 @@ export const getDictObj = (dictType: string, value: any): DictDataType | undefin
* @return 字典名称
* @return 字典名称
*/
*/
export
const
getDictLabel
=
(
dictType
:
string
,
value
:
any
):
string
=>
{
export
const
getDictLabel
=
(
dictType
:
string
,
value
:
any
):
string
=>
{
const
dictOptions
:
DictDataType
[]
=
getDictOptions
(
dictType
)
const
dictOptions
:
DictDataType
[]
=
getDictOptions
(
dictType
)
const
dictLabel
=
ref
(
''
)
const
dictLabel
=
ref
(
''
)
dictOptions
.
forEach
((
dict
:
DictDataType
)
=>
{
dictOptions
.
forEach
((
dict
:
DictDataType
)
=>
{
if
(
dict
.
value
===
value
+
''
)
{
if
(
dict
.
value
===
value
+
''
)
{
dictLabel
.
value
=
dict
.
label
dictLabel
.
value
=
dict
.
label
}
}
})
})
return
dictLabel
.
value
return
dictLabel
.
value
}
}
export
enum
DICT_TYPE
{
export
enum
DICT_TYPE
{
USER_TYPE
=
'user_type'
,
USER_TYPE
=
'user_type'
,
COMMON_STATUS
=
'common_status'
,
COMMON_STATUS
=
'common_status'
,
SYSTEM_TENANT_PACKAGE_ID
=
'system_tenant_package_id'
,
SYSTEM_TENANT_PACKAGE_ID
=
'system_tenant_package_id'
,
TERMINAL
=
'terminal'
,
// 终端
TERMINAL
=
'terminal'
,
// 终端
// ========== SYSTEM 模块 ==========
// ========== SYSTEM 模块 ==========
SYSTEM_USER_SEX
=
'system_user_sex'
,
SYSTEM_USER_SEX
=
'system_user_sex'
,
SYSTEM_MENU_TYPE
=
'system_menu_type'
,
SYSTEM_MENU_TYPE
=
'system_menu_type'
,
SYSTEM_ROLE_TYPE
=
'system_role_type'
,
SYSTEM_ROLE_TYPE
=
'system_role_type'
,
SYSTEM_DATA_SCOPE
=
'system_data_scope'
,
SYSTEM_DATA_SCOPE
=
'system_data_scope'
,
SYSTEM_NOTICE_TYPE
=
'system_notice_type'
,
SYSTEM_NOTICE_TYPE
=
'system_notice_type'
,
SYSTEM_OPERATE_TYPE
=
'system_operate_type'
,
SYSTEM_OPERATE_TYPE
=
'system_operate_type'
,
SYSTEM_LOGIN_TYPE
=
'system_login_type'
,
SYSTEM_LOGIN_TYPE
=
'system_login_type'
,
SYSTEM_LOGIN_RESULT
=
'system_login_result'
,
SYSTEM_LOGIN_RESULT
=
'system_login_result'
,
SYSTEM_SMS_CHANNEL_CODE
=
'system_sms_channel_code'
,
SYSTEM_SMS_CHANNEL_CODE
=
'system_sms_channel_code'
,
SYSTEM_SMS_TEMPLATE_TYPE
=
'system_sms_template_type'
,
SYSTEM_SMS_TEMPLATE_TYPE
=
'system_sms_template_type'
,
SYSTEM_SMS_SEND_STATUS
=
'system_sms_send_status'
,
SYSTEM_SMS_SEND_STATUS
=
'system_sms_send_status'
,
SYSTEM_SMS_RECEIVE_STATUS
=
'system_sms_receive_status'
,
SYSTEM_SMS_RECEIVE_STATUS
=
'system_sms_receive_status'
,
SYSTEM_ERROR_CODE_TYPE
=
'system_error_code_type'
,
SYSTEM_ERROR_CODE_TYPE
=
'system_error_code_type'
,
SYSTEM_OAUTH2_GRANT_TYPE
=
'system_oauth2_grant_type'
,
SYSTEM_OAUTH2_GRANT_TYPE
=
'system_oauth2_grant_type'
,
SYSTEM_MAIL_SEND_STATUS
=
'system_mail_send_status'
,
SYSTEM_MAIL_SEND_STATUS
=
'system_mail_send_status'
,
SYSTEM_NOTIFY_TEMPLATE_TYPE
=
'system_notify_template_type'
,
SYSTEM_NOTIFY_TEMPLATE_TYPE
=
'system_notify_template_type'
,
SYSTEM_SOCIAL_TYPE
=
'system_social_type'
,
SYSTEM_SOCIAL_TYPE
=
'system_social_type'
,
// ========== INFRA 模块 ==========
// ========== INFRA 模块 ==========
INFRA_BOOLEAN_STRING
=
'infra_boolean_string'
,
INFRA_BOOLEAN_STRING
=
'infra_boolean_string'
,
INFRA_JOB_STATUS
=
'infra_job_status'
,
INFRA_JOB_STATUS
=
'infra_job_status'
,
INFRA_JOB_LOG_STATUS
=
'infra_job_log_status'
,
INFRA_JOB_LOG_STATUS
=
'infra_job_log_status'
,
INFRA_API_ERROR_LOG_PROCESS_STATUS
=
'infra_api_error_log_process_status'
,
INFRA_API_ERROR_LOG_PROCESS_STATUS
=
'infra_api_error_log_process_status'
,
INFRA_CONFIG_TYPE
=
'infra_config_type'
,
INFRA_CONFIG_TYPE
=
'infra_config_type'
,
INFRA_CODEGEN_TEMPLATE_TYPE
=
'infra_codegen_template_type'
,
INFRA_CODEGEN_TEMPLATE_TYPE
=
'infra_codegen_template_type'
,
INFRA_CODEGEN_FRONT_TYPE
=
'infra_codegen_front_type'
,
INFRA_CODEGEN_FRONT_TYPE
=
'infra_codegen_front_type'
,
INFRA_CODEGEN_SCENE
=
'infra_codegen_scene'
,
INFRA_CODEGEN_SCENE
=
'infra_codegen_scene'
,
INFRA_FILE_STORAGE
=
'infra_file_storage'
,
INFRA_FILE_STORAGE
=
'infra_file_storage'
,
// ========== BPM 模块 ==========
// ========== BPM 模块 ==========
BPM_MODEL_CATEGORY
=
'bpm_model_category'
,
BPM_MODEL_CATEGORY
=
'bpm_model_category'
,
BPM_MODEL_FORM_TYPE
=
'bpm_model_form_type'
,
BPM_MODEL_FORM_TYPE
=
'bpm_model_form_type'
,
BPM_TASK_ASSIGN_RULE_TYPE
=
'bpm_task_assign_rule_type'
,
BPM_TASK_ASSIGN_RULE_TYPE
=
'bpm_task_assign_rule_type'
,
BPM_PROCESS_INSTANCE_STATUS
=
'bpm_process_instance_status'
,
BPM_PROCESS_INSTANCE_STATUS
=
'bpm_process_instance_status'
,
BPM_PROCESS_INSTANCE_RESULT
=
'bpm_process_instance_result'
,
BPM_PROCESS_INSTANCE_RESULT
=
'bpm_process_instance_result'
,
BPM_TASK_ASSIGN_SCRIPT
=
'bpm_task_assign_script'
,
BPM_TASK_ASSIGN_SCRIPT
=
'bpm_task_assign_script'
,
BPM_OA_LEAVE_TYPE
=
'bpm_oa_leave_type'
,
BPM_OA_LEAVE_TYPE
=
'bpm_oa_leave_type'
,
// ========== PAY 模块 ==========
// ========== PAY 模块 ==========
PAY_CHANNEL_CODE
=
'pay_channel_code'
,
// 支付渠道编码类型
PAY_CHANNEL_CODE
=
'pay_channel_code'
,
// 支付渠道编码类型
PAY_ORDER_STATUS
=
'pay_order_status'
,
// 商户支付订单状态
PAY_ORDER_STATUS
=
'pay_order_status'
,
// 商户支付订单状态
PAY_REFUND_STATUS
=
'pay_refund_status'
,
// 退款订单状态
PAY_REFUND_STATUS
=
'pay_refund_status'
,
// 退款订单状态
PAY_NOTIFY_STATUS
=
'pay_notify_status'
,
// 商户支付回调状态
PAY_NOTIFY_STATUS
=
'pay_notify_status'
,
// 商户支付回调状态
PAY_NOTIFY_TYPE
=
'pay_notify_type'
,
// 商户支付回调状态
PAY_NOTIFY_TYPE
=
'pay_notify_type'
,
// 商户支付回调状态
PAY_TRANSFER_STATUS
=
'pay_transfer_status'
,
// 转账订单状态
PAY_TRANSFER_STATUS
=
'pay_transfer_status'
,
// 转账订单状态
PAY_TRANSFER_TYPE
=
'pay_transfer_type'
,
// 转账订单状态
PAY_TRANSFER_TYPE
=
'pay_transfer_type'
,
// 转账订单状态
// ========== MP 模块 ==========
// ========== MP 模块 ==========
MP_AUTO_REPLY_REQUEST_MATCH
=
'mp_auto_reply_request_match'
,
// 自动回复请求匹配类型
MP_AUTO_REPLY_REQUEST_MATCH
=
'mp_auto_reply_request_match'
,
// 自动回复请求匹配类型
MP_MESSAGE_TYPE
=
'mp_message_type'
,
// 消息类型
MP_MESSAGE_TYPE
=
'mp_message_type'
,
// 消息类型
// ========== MALL - 会员模块 ==========
// ========== MALL - 会员模块 ==========
MEMBER_POINT_BIZ_TYPE
=
'member_point_biz_type'
,
// 积分的业务类型
MEMBER_POINT_BIZ_TYPE
=
'member_point_biz_type'
,
// 积分的业务类型
MEMBER_EXPERIENCE_BIZ_TYPE
=
'member_experience_biz_type'
,
// 会员经验业务类型
MEMBER_EXPERIENCE_BIZ_TYPE
=
'member_experience_biz_type'
,
// 会员经验业务类型
// ========== MALL - 商品模块 ==========
// ========== MALL - 商品模块 ==========
PRODUCT_UNIT
=
'product_unit'
,
// 商品单位
PRODUCT_UNIT
=
'product_unit'
,
// 商品单位
PRODUCT_SPU_STATUS
=
'product_spu_status'
,
//商品状态
PRODUCT_SPU_STATUS
=
'product_spu_status'
,
//商品状态
PROMOTION_TYPE_ENUM
=
'promotion_type_enum'
,
// 营销类型枚举
PROMOTION_TYPE_ENUM
=
'promotion_type_enum'
,
// 营销类型枚举
// ========== MALL - 交易模块 ==========
// ========== MALL - 交易模块 ==========
EXPRESS_CHARGE_MODE
=
'trade_delivery_express_charge_mode'
,
//快递的计费方式
EXPRESS_CHARGE_MODE
=
'trade_delivery_express_charge_mode'
,
//快递的计费方式
TRADE_AFTER_SALE_STATUS
=
'trade_after_sale_status'
,
// 售后 - 状态
TRADE_AFTER_SALE_STATUS
=
'trade_after_sale_status'
,
// 售后 - 状态
TRADE_AFTER_SALE_WAY
=
'trade_after_sale_way'
,
// 售后 - 方式
TRADE_AFTER_SALE_WAY
=
'trade_after_sale_way'
,
// 售后 - 方式
TRADE_AFTER_SALE_TYPE
=
'trade_after_sale_type'
,
// 售后 - 类型
TRADE_AFTER_SALE_TYPE
=
'trade_after_sale_type'
,
// 售后 - 类型
TRADE_ORDER_TYPE
=
'trade_order_type'
,
// 订单 - 类型
TRADE_ORDER_TYPE
=
'trade_order_type'
,
// 订单 - 类型
TRADE_ORDER_STATUS
=
'trade_order_status'
,
// 订单 - 状态
TRADE_ORDER_STATUS
=
'trade_order_status'
,
// 订单 - 状态
TRADE_ORDER_ITEM_AFTER_SALE_STATUS
=
'trade_order_item_after_sale_status'
,
// 订单项 - 售后状态
TRADE_ORDER_ITEM_AFTER_SALE_STATUS
=
'trade_order_item_after_sale_status'
,
// 订单项 - 售后状态
TRADE_DELIVERY_TYPE
=
'trade_delivery_type'
,
// 配送方式
TRADE_DELIVERY_TYPE
=
'trade_delivery_type'
,
// 配送方式
BROKERAGE_ENABLED_CONDITION
=
'brokerage_enabled_condition'
,
// 分佣模式
BROKERAGE_ENABLED_CONDITION
=
'brokerage_enabled_condition'
,
// 分佣模式
BROKERAGE_BIND_MODE
=
'brokerage_bind_mode'
,
// 分销关系绑定模式
BROKERAGE_BIND_MODE
=
'brokerage_bind_mode'
,
// 分销关系绑定模式
BROKERAGE_BANK_NAME
=
'brokerage_bank_name'
,
// 佣金提现银行
BROKERAGE_BANK_NAME
=
'brokerage_bank_name'
,
// 佣金提现银行
BROKERAGE_WITHDRAW_TYPE
=
'brokerage_withdraw_type'
,
// 佣金提现类型
BROKERAGE_WITHDRAW_TYPE
=
'brokerage_withdraw_type'
,
// 佣金提现类型
BROKERAGE_RECORD_BIZ_TYPE
=
'brokerage_record_biz_type'
,
// 佣金业务类型
BROKERAGE_RECORD_BIZ_TYPE
=
'brokerage_record_biz_type'
,
// 佣金业务类型
BROKERAGE_RECORD_STATUS
=
'brokerage_record_status'
,
// 佣金状态
BROKERAGE_RECORD_STATUS
=
'brokerage_record_status'
,
// 佣金状态
BROKERAGE_WITHDRAW_STATUS
=
'brokerage_withdraw_status'
,
// 佣金提现状态
BROKERAGE_WITHDRAW_STATUS
=
'brokerage_withdraw_status'
,
// 佣金提现状态
// ========== MALL - 营销模块 ==========
// ========== MALL - 营销模块 ==========
PROMOTION_DISCOUNT_TYPE
=
'promotion_discount_type'
,
// 优惠类型
PROMOTION_DISCOUNT_TYPE
=
'promotion_discount_type'
,
// 优惠类型
PROMOTION_PRODUCT_SCOPE
=
'promotion_product_scope'
,
// 营销的商品范围
PROMOTION_PRODUCT_SCOPE
=
'promotion_product_scope'
,
// 营销的商品范围
PROMOTION_COUPON_TEMPLATE_VALIDITY_TYPE
=
'promotion_coupon_template_validity_type'
,
// 优惠劵模板的有限期类型
PROMOTION_COUPON_TEMPLATE_VALIDITY_TYPE
=
'promotion_coupon_template_validity_type'
,
// 优惠劵模板的有限期类型
PROMOTION_COUPON_STATUS
=
'promotion_coupon_status'
,
// 优惠劵的状态
PROMOTION_COUPON_STATUS
=
'promotion_coupon_status'
,
// 优惠劵的状态
PROMOTION_COUPON_TAKE_TYPE
=
'promotion_coupon_take_type'
,
// 优惠劵的领取方式
PROMOTION_COUPON_TAKE_TYPE
=
'promotion_coupon_take_type'
,
// 优惠劵的领取方式
PROMOTION_ACTIVITY_STATUS
=
'promotion_activity_status'
,
// 优惠活动的状态
PROMOTION_ACTIVITY_STATUS
=
'promotion_activity_status'
,
// 优惠活动的状态
PROMOTION_CONDITION_TYPE
=
'promotion_condition_type'
,
// 营销的条件类型枚举
PROMOTION_CONDITION_TYPE
=
'promotion_condition_type'
,
// 营销的条件类型枚举
PROMOTION_BARGAIN_RECORD_STATUS
=
'promotion_bargain_record_status'
,
// 砍价记录的状态
PROMOTION_BARGAIN_RECORD_STATUS
=
'promotion_bargain_record_status'
,
// 砍价记录的状态
PROMOTION_COMBINATION_RECORD_STATUS
=
'promotion_combination_record_status'
,
// 拼团记录的状态
PROMOTION_COMBINATION_RECORD_STATUS
=
'promotion_combination_record_status'
,
// 拼团记录的状态
PROMOTION_BANNER_POSITION
=
'promotion_banner_position'
,
// banner 定位
PROMOTION_BANNER_POSITION
=
'promotion_banner_position'
,
// banner 定位
// ========== CRM - 客户管理模块 ==========
// ========== CRM - 客户管理模块 ==========
CRM_RECEIVABLE_CHECK_STATUS
=
'crm_receivable_check_status'
,
CRM_RECEIVABLE_CHECK_STATUS
=
'crm_receivable_check_status'
,
CRM_RETURN_TYPE
=
'crm_return_type'
,
CRM_RETURN_TYPE
=
'crm_return_type'
,
CRM_CUSTOMER_INDUSTRY
=
'crm_customer_industry'
,
CRM_CUSTOMER_INDUSTRY
=
'crm_customer_industry'
,
CRM_CUSTOMER_LEVEL
=
'crm_customer_level'
,
CRM_CUSTOMER_LEVEL
=
'crm_customer_level'
,
CRM_CUSTOMER_SOURCE
=
'crm_customer_source'
,
CRM_CUSTOMER_SOURCE
=
'crm_customer_source'
,
CRM_PRODUCT_STATUS
=
'crm_product_status'
,
CRM_PRODUCT_STATUS
=
'crm_product_status'
,
// ========== CRM - 数据权限模块 ==========
// ========== CRM - 数据权限模块 ==========
CRM_BIZ_TYPE
=
'crm_biz_type'
,
// 数据模块类型
CRM_BIZ_TYPE
=
'crm_biz_type'
,
// 数据模块类型
CRM_PERMISSION_LEVEL
=
'crm_permission_level'
// 用户数据权限类型
CRM_PERMISSION_LEVEL
=
'crm_permission_level'
// 用户数据权限类型
}
}
src/views/crm/components/CrmPermissionList.vue
View file @
eb97447b
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
<Icon
class=
"mr-5px"
icon=
"ep:plus"
/>
<Icon
class=
"mr-5px"
icon=
"ep:plus"
/>
新增
新增
</el-button>
</el-button>
<el-button
@
click=
"handle
Edit
"
>
<el-button
@
click=
"handle
Update
"
>
<Icon
class=
"mr-5px"
icon=
"ep:edit"
/>
<Icon
class=
"mr-5px"
icon=
"ep:edit"
/>
编辑
编辑
</el-button>
</el-button>
...
@@ -15,7 +15,7 @@
...
@@ -15,7 +15,7 @@
</el-button>
</el-button>
<el-button
type=
"danger"
@
click=
"handleQuit"
>
退出团队
</el-button>
<el-button
type=
"danger"
@
click=
"handleQuit"
>
退出团队
</el-button>
</el-row>
</el-row>
<!--
团队成员展示 -->
<!-- 团队成员展示 -->
<el-table
<el-table
v-loading=
"loading"
v-loading=
"loading"
:data=
"list"
:data=
"list"
...
@@ -35,7 +35,9 @@
...
@@ -35,7 +35,9 @@
</el-table-column>
</el-table-column>
<el-table-column
:formatter=
"dateFormatter"
align=
"center"
label=
"加入时间"
prop=
"createTime"
/>
<el-table-column
:formatter=
"dateFormatter"
align=
"center"
label=
"加入时间"
prop=
"createTime"
/>
</el-table>
</el-table>
<CrmPermissionForm
ref=
"permissionFormRef"
@
success=
"getList"
/>
<!-- 表单弹窗:添加/修改 -->
<CrmPermissionForm
ref=
"formRef"
@
success=
"getList"
/>
</template>
</template>
<
script
lang=
"ts"
setup
>
<
script
lang=
"ts"
setup
>
import
{
dateFormatter
}
from
'@/utils/formatTime'
import
{
dateFormatter
}
from
'@/utils/formatTime'
...
@@ -75,22 +77,18 @@ const handleSelectionChange = (val: PermissionApi.PermissionVO[]) => {
...
@@ -75,22 +77,18 @@ const handleSelectionChange = (val: PermissionApi.PermissionVO[]) => {
multipleSelection
.
value
=
val
multipleSelection
.
value
=
val
}
}
const
permissionFormRef
=
ref
<
InstanceType
<
typeof
CrmPermissionForm
>>
()
// 权限表单 Ref
/** 编辑团队成员 */
/**
const
formRef
=
ref
<
InstanceType
<
typeof
CrmPermissionForm
>>
()
// 权限表单 Ref
* 编辑团队成员
const
handleUpdate
=
()
=>
{
*/
const
handleEdit
=
()
=>
{
if
(
multipleSelection
.
value
?.
length
===
0
)
{
if
(
multipleSelection
.
value
?.
length
===
0
)
{
message
.
warning
(
'请先选择团队成员后操作!'
)
message
.
warning
(
'请先选择团队成员后操作!'
)
return
return
}
}
const
ids
=
multipleSelection
.
value
?.
map
((
item
)
=>
item
.
id
)
const
ids
=
multipleSelection
.
value
?.
map
((
item
)
=>
item
.
id
)
permissionF
ormRef
.
value
?.
open
(
'update'
,
props
.
bizType
,
props
.
bizId
,
ids
)
f
ormRef
.
value
?.
open
(
'update'
,
props
.
bizType
,
props
.
bizId
,
ids
)
}
}
/**
/** 移除团队成员 */
* 移除团队成员
*/
const
handleDelete
=
async
()
=>
{
const
handleDelete
=
async
()
=>
{
if
(
multipleSelection
.
value
?.
length
===
0
)
{
if
(
multipleSelection
.
value
?.
length
===
0
)
{
message
.
warning
(
'请先选择团队成员后操作!'
)
message
.
warning
(
'请先选择团队成员后操作!'
)
...
@@ -105,17 +103,13 @@ const handleDelete = async () => {
...
@@ -105,17 +103,13 @@ const handleDelete = async () => {
})
})
}
}
/**
/** 添加团队成员 */
* 添加团队成员
*/
const
openForm
=
()
=>
{
const
openForm
=
()
=>
{
permissionF
ormRef
.
value
?.
open
(
'create'
,
props
.
bizType
,
props
.
bizId
)
f
ormRef
.
value
?.
open
(
'create'
,
props
.
bizType
,
props
.
bizId
)
}
}
/** 退出团队 */
const
userStore
=
useUserStoreWithOut
()
// 用户信息缓存
const
userStore
=
useUserStoreWithOut
()
// 用户信息缓存
/**
* 退出团队
*/
const
handleQuit
=
async
()
=>
{
const
handleQuit
=
async
()
=>
{
const
permission
=
list
.
value
.
find
(
const
permission
=
list
.
value
.
find
(
(
item
)
=>
item
.
userId
===
userStore
.
getUser
.
id
&&
item
.
level
===
CrmPermissionLevelEnum
.
OWNER
(
item
)
=>
item
.
userId
===
userStore
.
getUser
.
id
&&
item
.
level
===
CrmPermissionLevelEnum
.
OWNER
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment