提交
This commit is contained in:
parent
7b73d0adeb
commit
6683722e3a
|
@ -17,3 +17,17 @@ export function getWxIndexUrl(query) {
|
|||
}
|
||||
return url;
|
||||
}
|
||||
|
||||
// 获取合伙人外链
|
||||
export function getStaffUrl(query) {
|
||||
let url = `https://kg.chuangtewl.com/h`;
|
||||
if (query != null ) {
|
||||
if (query instanceof Object) {
|
||||
query = tansParams(query).slice(0, -1);
|
||||
}
|
||||
if (query.length > 0) {
|
||||
url += `?${query}`;
|
||||
}
|
||||
}
|
||||
return url;
|
||||
}
|
||||
|
|
|
@ -14,6 +14,13 @@
|
|||
</div>
|
||||
<div class="unit">条</div>
|
||||
</div>
|
||||
<div class="todo-item" @click="$router.push(`/smUser/riskInfo?status=${RiskInfoStatus.WAIT_VERIFY}`)">
|
||||
<div class="label"><svg-icon icon-class="apply"/> 风控审核</div>
|
||||
<div class="value">
|
||||
<count-to :start-val="0" :end-val="data.riskVerifyCount" :duration="3000"/>
|
||||
</div>
|
||||
<div class="unit">条</div>
|
||||
</div>
|
||||
<div class="todo-item" @click="$router.push('/smDevice/device?isArrears=1')">
|
||||
<div class="label"><svg-icon icon-class="monitor"/> 到期设备</div>
|
||||
<div class="value">
|
||||
|
@ -41,9 +48,15 @@
|
|||
<script>
|
||||
import CountTo from 'vue-count-to'
|
||||
import { getTodoList } from '@/api/system/dashboard'
|
||||
import { RiskInfoStatus } from '@/utils/constants'
|
||||
|
||||
export default {
|
||||
name: 'TodoList',
|
||||
computed: {
|
||||
RiskInfoStatus() {
|
||||
return RiskInfoStatus
|
||||
}
|
||||
},
|
||||
components: {
|
||||
CountTo
|
||||
},
|
||||
|
@ -55,7 +68,8 @@ export default {
|
|||
mchApplyCount: 0,
|
||||
storeApplyCount: 0,
|
||||
abnormalCount: 0,
|
||||
arrearsDeviceCount: 0
|
||||
arrearsDeviceCount: 0,
|
||||
riskVerifyCount: 0, // 风控审核数量
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -87,7 +101,7 @@ export default {
|
|||
width: 100%;
|
||||
display: flex;
|
||||
transition: .25s;
|
||||
padding: 0.8em 1em;
|
||||
padding: 0.55em 1em;
|
||||
cursor: pointer;
|
||||
border-radius: 16px;
|
||||
vertical-align: bottom;
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
:employ-id="row.employId"
|
||||
@success="getList"
|
||||
:init-form="{storeId: query.storeId}"
|
||||
user-input-type="search"
|
||||
:show-user-id="false"
|
||||
:update-api="mchUpdateStoreStaff"
|
||||
:add-api="mchAddStoreStaff"
|
||||
:load-api="mchGetStoreStaff"
|
||||
|
|
|
@ -34,7 +34,14 @@
|
|||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="类型" prop="type">
|
||||
|
||||
<el-select v-model="queryParams.type" placeholder="请选择类型" clearable @change="handleQuery">
|
||||
<el-option
|
||||
v-for="dict in dict.type.real_name_type"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
|
|
|
@ -288,6 +288,9 @@ export default {
|
|||
],
|
||||
unsealSelf: [
|
||||
{ required: true, message: "实名解封不能为空", trigger: "change" }
|
||||
],
|
||||
submitType: [
|
||||
{type: 'array', required: true, message: "提交材料不能为空", trigger: "change"}
|
||||
]
|
||||
}
|
||||
};
|
||||
|
|
|
@ -4,12 +4,9 @@
|
|||
<el-form-item label="店铺" prop="storeId">
|
||||
<store-input v-model="form.storeId" :disabled="hasView([views.store, views.mchStore])"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="用户" prop="userId" v-if="userInputType === 'dialog'">
|
||||
<el-form-item label="用户" prop="userId" v-if="showUserId">
|
||||
<user-input v-model="form.userId"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="用户" prop="userId" v-else-if="userInputType === 'search'">
|
||||
<user-search-input v-if="open && !loading" v-model="form.userId" :init-options="initUserSearchOptions"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="备注名" prop="remark">
|
||||
<el-input v-model="form.remark" placeholder="请输入备注名" maxlength="200" show-word-limit/>
|
||||
</el-form-item>
|
||||
|
@ -81,10 +78,10 @@ export default {
|
|||
type: Object,
|
||||
default: () => ({})
|
||||
},
|
||||
// 用户的输入方式:dialog 弹窗选择,search 搜索选择
|
||||
userInputType: {
|
||||
type: String,
|
||||
default: "dialog"
|
||||
// 是否展示用户ID
|
||||
showUserId: {
|
||||
type: Boolean,
|
||||
default: true,
|
||||
},
|
||||
// 更新API
|
||||
updateApi: {
|
||||
|
@ -113,9 +110,6 @@ export default {
|
|||
storeId: [
|
||||
{ required: true, message: "店铺不能为空", trigger: "change" }
|
||||
],
|
||||
userId: [
|
||||
{ required: true, message: "用户不能为空", trigger: "change" }
|
||||
],
|
||||
point: [
|
||||
{ required: true, message: "分成比例不能为空", trigger: "change" }
|
||||
],
|
||||
|
|
|
@ -83,8 +83,20 @@
|
|||
<template v-else-if="column.key === 'point'">
|
||||
{{d.row.point | money | defaultValue}} %
|
||||
</template>
|
||||
<template v-else-if="column.key === 'userName'">
|
||||
<user-link :id="d.row.userId" :name="d.row.userName"/>
|
||||
<template v-else-if="column.key === 'userId'">
|
||||
<user-link v-if="d.row.userId != null" :id="d.row.userId" :name="d.row.userName"/>
|
||||
<template v-else>
|
||||
<el-popover
|
||||
placement="top"
|
||||
width="180"
|
||||
trigger="hover">
|
||||
<div class="qr-code-box">
|
||||
<qr-code :text="qrCodeText(d.row)" :width="150" :height="150" />
|
||||
<p style="text-align: center">扫描二维码绑定用户</p>
|
||||
</div>
|
||||
<el-button slot="reference" type="text" icon="el-icon-picture">绑定二维码</el-button>
|
||||
</el-popover>
|
||||
</template>
|
||||
</template>
|
||||
<template v-else-if="column.key === 'storeName'">
|
||||
<store-link :id="d.row.storeId" :name="d.row.storeName"/>
|
||||
|
@ -120,6 +132,8 @@ import UserInput from '@/components/Business/SmUser/UserInput.vue'
|
|||
import StoreInput from '@/components/Business/Store/StoreInput.vue'
|
||||
import { $showColumns, $view } from '@/utils/mixins'
|
||||
import { listStoreStaff } from '@/api/ss/storeStaff'
|
||||
import QrCode from '@/components/QrCode/index.vue'
|
||||
import { getStaffUrl, getWxIndexUrl } from '@/utils/wx'
|
||||
|
||||
|
||||
// 默认排序字段
|
||||
|
@ -130,7 +144,7 @@ const defaultSort = {
|
|||
|
||||
export default {
|
||||
name: "StoreStaffTable",
|
||||
components: { StoreLink, UserLink, UserInput, StoreInput, BooleanTag },
|
||||
components: { QrCode, StoreLink, UserLink, UserInput, StoreInput, BooleanTag },
|
||||
mixins: [$showColumns, $view],
|
||||
dicts: ['store_staff_permissions', 'store_staff_role'],
|
||||
props: {
|
||||
|
@ -151,7 +165,7 @@ export default {
|
|||
columns: [
|
||||
{key: 'employId', visible: false, label: 'ID', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
|
||||
{key: 'storeName', visible: true, label: '店铺', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
|
||||
{key: 'userName', visible: true, label: '用户', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
|
||||
{key: 'userId', visible: true, label: '用户', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
|
||||
{key: 'remark', visible: true, label: '备注名', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
|
||||
{key: 'role', visible: true, label: '角色', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
|
||||
{key: 'point', visible: true, label: '分成比例', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
|
||||
|
@ -198,6 +212,14 @@ export default {
|
|||
},
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
// 二维码文本
|
||||
qrCodeText() {
|
||||
return (row) => {
|
||||
return getStaffUrl({ i: row.employId});
|
||||
}
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.queryParams = {
|
||||
...this.queryParams,
|
||||
|
|
Loading…
Reference in New Issue
Block a user