调整权限 去掉系统选择
This commit is contained in:
@@ -173,4 +173,10 @@ export class commonService {
|
||||
params
|
||||
})
|
||||
}
|
||||
//仪表盘选择下拉
|
||||
static getDashboardSelect() {
|
||||
return request.get<any>({
|
||||
url: '/admin/resources/list/menu?is_home=1'
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -310,4 +310,39 @@ export class systemService {
|
||||
params
|
||||
})
|
||||
}
|
||||
//仪表盘设置列表
|
||||
static getDashboardList(params: any) {
|
||||
return request.get<Api.Common.CommonListData>({
|
||||
url: '/admin/dashboard/rule/list',
|
||||
params
|
||||
})
|
||||
}
|
||||
//仪表盘设置新增
|
||||
static dashboardAdd(params: any) {
|
||||
return request.post<Api.Common.AddResponse>({
|
||||
url: '/admin/dashboard/rule/store',
|
||||
params
|
||||
})
|
||||
}
|
||||
//仪表盘设置详情
|
||||
static dashboardDetail(params: any) {
|
||||
return request.get<any>({
|
||||
url: '/admin/dashboard/rule/show',
|
||||
params
|
||||
})
|
||||
}
|
||||
//仪表盘设置编辑
|
||||
static dashboardEdit(params: any) {
|
||||
return request.post<Api.Common.AddResponse>({
|
||||
url: '/admin/dashboard/rule/update',
|
||||
params
|
||||
})
|
||||
}
|
||||
//仪表盘设置删除
|
||||
static dashboardDelete(params: any) {
|
||||
return request.post<Api.Common.AddResponse>({
|
||||
url: '/admin/dashboard/rule/destroy',
|
||||
params
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -334,13 +334,8 @@
|
||||
const goPage = (path: string) => {
|
||||
router.push(path)
|
||||
}
|
||||
const { systemsid } = useUserStore()
|
||||
const gouserInfo = () => {
|
||||
if (systemsid == '1') {
|
||||
router.push('/admin/user/user_info')
|
||||
} else {
|
||||
router.push('/system/user-center')
|
||||
}
|
||||
router.push('/admin/user/user_info')
|
||||
}
|
||||
|
||||
// const toDocs = () => {
|
||||
|
||||
@@ -9,7 +9,7 @@ import Home from '@views/index/index.vue'
|
||||
export const staticRoutes: AppRouteRecordRaw[] = [
|
||||
{
|
||||
path: '/',
|
||||
redirect: HOME_PAGE
|
||||
redirect: localStorage.getItem('home_page') || HOME_PAGE
|
||||
},
|
||||
{
|
||||
path: '/console',
|
||||
|
||||
@@ -50,7 +50,7 @@ axiosInstance.interceptors.request.use(
|
||||
const { systemsabbr } = useUserStore()
|
||||
request.headers.set('Fdesk-Language', language)
|
||||
request.headers.set('Fdesk-Corp-Abbr', companyabbr)
|
||||
request.headers.set('Fdesk-System-Code', systemsabbr)
|
||||
request.headers.set('Fdesk-System-Code', 'fdesk')
|
||||
request.headers.set('Fdesk-Login-Type', loginType)
|
||||
// 设置 token 和 请求头
|
||||
if (accessToken) {
|
||||
|
||||
@@ -47,7 +47,12 @@
|
||||
<ElTableColumn fixed="right" label="操作" width="140px">
|
||||
<template #default="scope">
|
||||
<ElRow>
|
||||
<el-button link @click="showDialog('edit', scope.row)">编辑</el-button>
|
||||
<el-button
|
||||
link
|
||||
@click="showDialog('edit', scope.row)"
|
||||
v-if="hasAuth('approval_list@edit')"
|
||||
>编辑</el-button
|
||||
>
|
||||
<el-button
|
||||
type="danger"
|
||||
link
|
||||
|
||||
@@ -56,11 +56,12 @@
|
||||
underline="never"
|
||||
@click="handleView(scope.row)"
|
||||
style="margin-right: 8px"
|
||||
v-if="hasAuth('stocking_auth@show')"
|
||||
>
|
||||
<i class="iconfont-sys"></i> 查看审批
|
||||
</el-link>
|
||||
<el-link
|
||||
v-if="scope.row.status == 'pending'"
|
||||
v-if="scope.row.status == 'pending' && hasAuth('stocking_auth@approve')"
|
||||
type="success"
|
||||
underline="never"
|
||||
@click="handleCreateRepair(scope.row)"
|
||||
|
||||
@@ -61,11 +61,12 @@
|
||||
underline="never"
|
||||
@click="handleView(scope.row)"
|
||||
style="margin-right: 8px"
|
||||
v-if="hasAuth('stocking_auth_history@show')"
|
||||
>
|
||||
<i class="iconfont-sys"></i> 查看审批
|
||||
</el-link>
|
||||
<el-link
|
||||
v-if="scope.row.status == 'pending'"
|
||||
v-if="scope.row.status == 'pending' && hasAuth('stocking_auth_history@approve')"
|
||||
type="success"
|
||||
underline="never"
|
||||
@click="handleCreateRepair(scope.row)"
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
</el-form>
|
||||
</section>
|
||||
<div class="table">
|
||||
<el-button class="reset-button" @click="addfn()" v-if="hasAuth('inquiry#store')"><i class="iconfont-sys"></i> 录单</el-button>
|
||||
<el-button class="reset-button" @click="addfn()" v-if="hasAuth('inquiry@store')"><i class="iconfont-sys"></i> 录单</el-button>
|
||||
<ArtTable
|
||||
ref="tableRef"
|
||||
row-key="id"
|
||||
@@ -147,31 +147,31 @@
|
||||
<el-table-column prop="created_at" label="创建时间"></el-table-column>
|
||||
<el-table-column fixed="right" label="操作" width="260px">
|
||||
<template #default="scope">
|
||||
<div class="follow-action fenpei" @click="onFenpei(scope.row,'add')" v-if="scope.row.status!= 2&&hasAuth('inquiry#allocation')">
|
||||
<div class="follow-action fenpei" @click="onFenpei(scope.row,'add')" v-if="scope.row.status!= 2&&hasAuth('inquiry@allocation')">
|
||||
<span class="custom-clock-icon" style="margin-right: 2px; vertical-align: middle"
|
||||
><i class="iconfont-sys"></i></span
|
||||
>
|
||||
分配
|
||||
</div>
|
||||
<div class="follow-action detil" @click="onDetail(scope.row)" v-if="hasAuth('inquiry#show')">
|
||||
<div class="follow-action detil" @click="onDetail(scope.row)" v-if="hasAuth('inquiry@show')">
|
||||
<span class="custom-clock-icon" style="margin-right: 2px; vertical-align: middle"
|
||||
><i class="iconfont-sys"></i></span
|
||||
>
|
||||
详情
|
||||
</div>
|
||||
<div class="follow-action" @click="onFollow(scope.row)" v-if="scope.row.status==0&&hasAuth('inquiry#release')">
|
||||
<div class="follow-action" @click="onFollow(scope.row)" v-if="scope.row.status==0&&hasAuth('inquiry@release')">
|
||||
<span class="custom-clock-icon" style="margin-right: 2px; vertical-align: middle"
|
||||
><i class="iconfont-sys"></i></span
|
||||
>
|
||||
发布
|
||||
</div>
|
||||
<div class="follow-action edit" @click="onEdit(scope.row)" v-if="hasAuth('inquiry#update')">
|
||||
<div class="follow-action edit" @click="onEdit(scope.row)" v-if="hasAuth('inquiry@update')">
|
||||
<span class="custom-clock-icon" style="margin-right: 2px; vertical-align: middle"
|
||||
><i class="iconfont-sys"></i></span
|
||||
>
|
||||
编辑
|
||||
</div>
|
||||
<div class="follow-action delete" @click="onDelete(scope.row)" v-if="hasAuth('inquiry#destroy')">
|
||||
<div class="follow-action delete" @click="onDelete(scope.row)" v-if="hasAuth('inquiry@destroy')">
|
||||
<span class="custom-clock-icon" style="margin-right: 2px; vertical-align: middle"
|
||||
><i class="iconfont-sys"></i></span
|
||||
>
|
||||
|
||||
@@ -2,7 +2,13 @@
|
||||
<div class="port-page">
|
||||
<div class="port-toolbar boxshadow">
|
||||
<div class="toolbar-left">
|
||||
<ElButton @click="showDialog('add')" v-ripple type="primary">创建</ElButton>
|
||||
<ElButton
|
||||
@click="showDialog('add')"
|
||||
v-ripple
|
||||
type="primary"
|
||||
v-if="hasAuth('purchase_order@add')"
|
||||
>创建</ElButton
|
||||
>
|
||||
</div>
|
||||
<div class="toolbar-right">
|
||||
<el-input
|
||||
@@ -56,19 +62,38 @@
|
||||
<ElTableColumn fixed="right" label="操作" width="240px">
|
||||
<template #default="scope">
|
||||
<ElRow>
|
||||
<el-button type="success" link @click="showDialogdetil(scope.row)">
|
||||
<el-button
|
||||
type="success"
|
||||
link
|
||||
@click="showDialogdetil(scope.row)"
|
||||
v-if="hasAuth('purchase_order@show')"
|
||||
>
|
||||
详情
|
||||
</el-button>
|
||||
<el-button type="warning" link @click="showDialogtimeline(scope.row)">
|
||||
<el-button
|
||||
type="warning"
|
||||
link
|
||||
@click="showDialogtimeline(scope.row)"
|
||||
v-if="hasAuth('purchase_order@approval')"
|
||||
>
|
||||
查看审批
|
||||
</el-button>
|
||||
<el-button
|
||||
link
|
||||
v-if="scope.row.status == 0 || scope.row.status == 3"
|
||||
v-if="
|
||||
scope.row.status == 0 ||
|
||||
(scope.row.status == 3 && hasAuth('purchase_order@edit'))
|
||||
"
|
||||
@click="showDialog('edit', scope.row)"
|
||||
>编辑</el-button
|
||||
>
|
||||
<el-button type="danger" link @click="deleteprocurement(scope.row)">删除</el-button>
|
||||
<el-button
|
||||
type="danger"
|
||||
link
|
||||
@click="deleteprocurement(scope.row)"
|
||||
v-if="hasAuth('purchase_order@del')"
|
||||
>删除</el-button
|
||||
>
|
||||
</ElRow>
|
||||
</template>
|
||||
</ElTableColumn>
|
||||
@@ -353,6 +378,8 @@
|
||||
import imageUrl1 from '@/assets/img/crm/upimg.png'
|
||||
import ApprovalTimeline from '@/components/custom/ApprovalTimeline.vue'
|
||||
import { manageService } from '@/api/adminApi'
|
||||
import { useAuth } from '@/composables/useAuth'
|
||||
const { hasAuth } = useAuth()
|
||||
const approvalRecords = ref<any[]>([])
|
||||
const { uploadHeaders } = useUploadHeaders()
|
||||
const timelineDialogVisible = ref(false)
|
||||
|
||||
@@ -14,18 +14,13 @@
|
||||
<!-- 表格头部 -->
|
||||
<ArtTableHeader :showZebra="false" v-model:columns="columnChecks" @refresh="handleRefresh">
|
||||
<template #left>
|
||||
<el-segmented
|
||||
<!-- <el-segmented
|
||||
v-model="yearVal"
|
||||
size="large"
|
||||
:options="segmentedOptions"
|
||||
@change="searchArticleByYear"
|
||||
>
|
||||
<!-- <template #default="scope">
|
||||
<div class="flex flex-col items-center gap-2 p-2">
|
||||
<div>{{ scope.item.label }}</div>
|
||||
</div>
|
||||
</template> -->
|
||||
</el-segmented>
|
||||
</el-segmented> -->
|
||||
<!-- 按钮权限:后端控制模式,使用自定义指令 -->
|
||||
<!-- <ElButton
|
||||
v-auth="'system@menu_add'"
|
||||
@@ -57,6 +52,7 @@
|
||||
:data="filteredTableData"
|
||||
:marginTop="10"
|
||||
:stripe="false"
|
||||
:pagination="false"
|
||||
>
|
||||
<template #default>
|
||||
<ElTableColumn v-for="col in columns" :key="col.prop || col.type" v-bind="col" />
|
||||
|
||||
@@ -97,7 +97,7 @@
|
||||
|
||||
<ElDialog v-model="permissionDialog" title="菜单权限" align-center>
|
||||
<el-tabs v-model="activeName" class="demo-tabs">
|
||||
<el-tab-pane
|
||||
<!-- <el-tab-pane
|
||||
v-for="sys in systemsList"
|
||||
:key="sys.id"
|
||||
:label="sys.name"
|
||||
@@ -123,7 +123,25 @@
|
||||
</template>
|
||||
</ElTree>
|
||||
</ElScrollbar>
|
||||
</el-tab-pane>
|
||||
</el-tab-pane> -->
|
||||
<ElTree
|
||||
:ref="(el:any) => setTreeRef(1, el)"
|
||||
:data="processedMenuBySystem[1] || []"
|
||||
show-checkbox
|
||||
node-key="id"
|
||||
:default-expand-all="isExpandAll"
|
||||
:props="defaultProps"
|
||||
@check="() => handleTreeCheck(1)"
|
||||
>
|
||||
<template #default="{ data }">
|
||||
<div style="display: flex; align-items: center">
|
||||
<span v-if="data.isAuth">
|
||||
{{ data.label }}
|
||||
</span>
|
||||
<span v-else>{{ defaultProps.label(data) }}</span>
|
||||
</div>
|
||||
</template>
|
||||
</ElTree>
|
||||
</el-tabs>
|
||||
<template #footer>
|
||||
<div class="dialog-footer">
|
||||
@@ -163,7 +181,7 @@
|
||||
const treeRef = ref()
|
||||
const treeRefwork = ref()
|
||||
const treeRefcrm = ref()
|
||||
const isExpandAll = ref(true)
|
||||
const isExpandAll = ref(false)
|
||||
const isSelectAll = ref(false)
|
||||
const pagination = reactive({
|
||||
currentPage: 1,
|
||||
|
||||
@@ -275,7 +275,7 @@
|
||||
/>
|
||||
<ElDialog v-model="permissionDialog" title="菜单权限" align-center>
|
||||
<el-tabs v-model="activeName" class="demo-tabs">
|
||||
<el-tab-pane
|
||||
<!-- <el-tab-pane
|
||||
v-for="sys in systemsList"
|
||||
:key="sys.id"
|
||||
:label="sys.name"
|
||||
@@ -301,7 +301,25 @@
|
||||
</template>
|
||||
</ElTree>
|
||||
</ElScrollbar>
|
||||
</el-tab-pane>
|
||||
</el-tab-pane> -->
|
||||
<ElTree
|
||||
:ref="(el: any) => setTreeRef(1, el)"
|
||||
:data="processedMenuBySystem[1] || []"
|
||||
show-checkbox
|
||||
node-key="id"
|
||||
:default-expand-all="isExpandAll"
|
||||
:props="defaultProps"
|
||||
@check="() => handleTreeCheck(1)"
|
||||
>
|
||||
<template #default="{ data }">
|
||||
<div style="display: flex; align-items: center">
|
||||
<span v-if="data.isAuth">
|
||||
{{ data.label }}
|
||||
</span>
|
||||
<span v-else>{{ defaultProps.label(data) }}</span>
|
||||
</div>
|
||||
</template>
|
||||
</ElTree>
|
||||
</el-tabs>
|
||||
<template #footer>
|
||||
<div class="dialog-footer">
|
||||
@@ -452,7 +470,7 @@
|
||||
if (el) treeRefs[systemId] = el
|
||||
}
|
||||
const treeRef = ref()
|
||||
const isExpandAll = ref(true)
|
||||
const isExpandAll = ref(false)
|
||||
const isSelectAll = ref(false)
|
||||
const pagination = reactive({
|
||||
currentPage: 1,
|
||||
|
||||
@@ -27,6 +27,14 @@
|
||||
<span class="info-label">公 司:</span>
|
||||
<span class="info-value">{{ userInfo.corp_name }}</span>
|
||||
</div>
|
||||
<div class="info-row" v-if="isshownq">
|
||||
<span class="info-label">上 级:</span>
|
||||
<span class="info-value">{{ userInfo.report_to_info?.name || '' }}</span>
|
||||
</div>
|
||||
<div class="info-row" v-if="isshownq">
|
||||
<span class="info-label">内 勤:</span>
|
||||
<span class="info-value">{{ userInfo.office_clerk_info?.name || '' }}</span>
|
||||
</div>
|
||||
<!-- <div class="info-row">
|
||||
<span class="info-label">国 家:</span>
|
||||
<span class="info-value">{{ userInfo.country_txt }}</span>
|
||||
@@ -210,6 +218,54 @@
|
||||
</div>
|
||||
</ElForm>
|
||||
</div>
|
||||
<div class="info box-style" style="margin-top: 20px" v-if="isshownq">
|
||||
<h1 class="title"><span class="border" style="margin-right: 5px"></span>绑定信息</h1>
|
||||
<ElForm
|
||||
:model="formbd"
|
||||
class="form"
|
||||
ref="ruleFormbdRef"
|
||||
:rules="rulesbd"
|
||||
label-width="86px"
|
||||
label-position="left"
|
||||
>
|
||||
<ElRow>
|
||||
<ElFormItem label="直属上级" prop="report_to" required>
|
||||
<ElSelect
|
||||
v-model="formbd.report_to"
|
||||
placeholder="请选择直属上级"
|
||||
:disabled="!isEditbd"
|
||||
>
|
||||
<ElOption
|
||||
v-for="item in userOptions"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
/>
|
||||
</ElSelect>
|
||||
</ElFormItem>
|
||||
<ElFormItem label="所属内勤" prop="office_clerk_id" class="right-input" required>
|
||||
<ElSelect
|
||||
v-model="formbd.office_clerk_id"
|
||||
placeholder="请选择所属内勤"
|
||||
:disabled="!isEditbd"
|
||||
>
|
||||
<ElOption
|
||||
v-for="item in usernqOptions"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
/>
|
||||
</ElSelect>
|
||||
</ElFormItem>
|
||||
</ElRow>
|
||||
<div class="el-form-item-right">
|
||||
<ElButton type="primary" style="width: 90px" v-ripple @click="editbd(ruleFormbdRef)">
|
||||
<i v-if="!isEditbd" class="iconfont-sys"> </i>
|
||||
{{ isEditbd ? '保存' : '编辑' }}
|
||||
</ElButton>
|
||||
</div>
|
||||
</ElForm>
|
||||
</div>
|
||||
|
||||
<div class="info box-style" style="margin-top: 20px">
|
||||
<h1 class="title">更改密码</h1>
|
||||
@@ -256,12 +312,13 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ElForm, FormInstance } from 'element-plus'
|
||||
import { ElForm, FormInstance, FormRules } from 'element-plus'
|
||||
// import imageUrl from '@/assets/img/crm/upimg.png'
|
||||
import { CrmService } from '@/api/crmApi'
|
||||
import { UserService } from '@/api/usersApi'
|
||||
import { useUploadHeaders } from '@/composables/useUploadHeaders'
|
||||
import { useUserStore } from '@/store/modules/user'
|
||||
import { commonService } from '@/api/commonApi'
|
||||
import { computed } from 'vue'
|
||||
import QrcodeVue from 'qrcode.vue'
|
||||
const { uploadHeaders } = useUploadHeaders()
|
||||
@@ -277,6 +334,8 @@
|
||||
// const socialize_pic_full = ref('')
|
||||
// const countryOptions = ref<any>()
|
||||
const form = ref<CustomerInfo>({})
|
||||
const formbd = ref<CustomerInfo>({})
|
||||
const isshownq = ref(false)
|
||||
//获取公司 getCompanyList
|
||||
// const companyList = ref<any>()
|
||||
//国家
|
||||
@@ -291,11 +350,15 @@
|
||||
const userInfo = ref<CustomerInfo>({})
|
||||
const getuserInfo = async () => {
|
||||
const data = await UserService.getUserInfo()
|
||||
isshownq.value = data.user.roles_id?.some((id: number) => [2, 4].includes(id)) || false
|
||||
userInfo.value = data.user
|
||||
form.value = data.user
|
||||
imageUrlavatar.value = data.user.avatar
|
||||
// socialize_pic_full.value = data.socialize_pic_full
|
||||
sign_img_url.value = data.user.sign_img_url
|
||||
formbd.value = data.user
|
||||
formbd.value.office_clerk_id = data.user.office_clerk_info?.id || ''
|
||||
formbd.value.report_to = data.user.report_to_info?.id || ''
|
||||
// userInfo.value = getUserInfo.user
|
||||
// form.value = getUserInfo.user
|
||||
// imageUrlavatar.value = getUserInfo.user.avatar
|
||||
@@ -305,6 +368,7 @@
|
||||
const isEdit = ref(false)
|
||||
const showReSignQR = ref(false)
|
||||
const isEditPwd = ref(false)
|
||||
const isEditbd = ref(false)
|
||||
const pwdForm = reactive({
|
||||
password: '',
|
||||
password_new: '',
|
||||
@@ -312,6 +376,11 @@
|
||||
})
|
||||
|
||||
const ruleFormRef = ref<FormInstance>()
|
||||
const ruleFormbdRef = ref<FormInstance>()
|
||||
const rulesbd = reactive<FormRules>({
|
||||
report_to: [{ required: true, message: '请选择直属上级', trigger: 'blur' }],
|
||||
office_clerk_id: [{ required: true, message: '请选择所属内勤', trigger: 'blur' }]
|
||||
})
|
||||
|
||||
const options = [
|
||||
{
|
||||
@@ -330,6 +399,7 @@
|
||||
onMounted(async () => {
|
||||
// await getarea()
|
||||
await getuserInfo()
|
||||
await getuserOptions()
|
||||
})
|
||||
const qrcodeUrl = computed(() => {
|
||||
const userStore = useUserStore() as any
|
||||
@@ -374,6 +444,27 @@
|
||||
}
|
||||
isEditPwd.value = !isEditPwd.value
|
||||
}
|
||||
//用户下拉
|
||||
const userOptions = ref<any>()
|
||||
const usernqOptions = ref<any>()
|
||||
const getuserOptions = async () => {
|
||||
const res = await commonService.getUserSelect()
|
||||
const resparams = await commonService.getUserSelectparams({ role_id: '5' })
|
||||
userOptions.value = res
|
||||
usernqOptions.value = resparams
|
||||
}
|
||||
const editbd = async (formEl: FormInstance | undefined) => {
|
||||
if (isEditbd.value) {
|
||||
if (formbd.value.report_to == '' || formbd.value.office_clerk_id == '') {
|
||||
ElMessage.error('直属上级或所属内勤不能为空')
|
||||
return
|
||||
}
|
||||
const res = await CrmService.crmuseredit(formbd.value)
|
||||
ElMessage.success(res?.message || '操作成功')
|
||||
getuserInfo()
|
||||
}
|
||||
isEditbd.value = !isEditbd.value
|
||||
}
|
||||
//头像上传
|
||||
function handleUploadavatar(response: any) {
|
||||
// 假设返回图片地址字段为 response.url 或 response.data.url
|
||||
|
||||
@@ -68,6 +68,7 @@
|
||||
underline="never"
|
||||
style="margin-right: 8px"
|
||||
@click="Vehicleseries(scope.row)"
|
||||
v-if="hasAuth('brand@collect')"
|
||||
>
|
||||
<i class="iconfont-sys"> </i>采集车系
|
||||
</el-link>
|
||||
@@ -76,6 +77,7 @@
|
||||
underline="never"
|
||||
style="margin-right: 8px"
|
||||
@click="showSeriesListDialog(scope.row)"
|
||||
v-if="hasAuth('brand@show_series')"
|
||||
>
|
||||
<i class="iconfont-sys"></i>查看车系
|
||||
</el-link>
|
||||
@@ -215,7 +217,7 @@
|
||||
type="primary"
|
||||
style="margin-left: 8px"
|
||||
@click="showSeriesDialog('add')"
|
||||
v-if="hasAuth('series@add')"
|
||||
v-if="hasAuth('crm_brand_series@add')"
|
||||
>新增系列</ElButton
|
||||
>
|
||||
</div>
|
||||
@@ -247,7 +249,7 @@
|
||||
underline="never"
|
||||
style="margin-right: 8px"
|
||||
@click="collectVehicleModels(scope.row)"
|
||||
v-if="hasAuth('brand@update')"
|
||||
v-if="hasAuth('brand@collect_vehicle_models')"
|
||||
>
|
||||
<i class="iconfont-sys"> </i>采集车型
|
||||
</el-link>
|
||||
@@ -256,7 +258,7 @@
|
||||
underline="never"
|
||||
style="margin-right: 8px"
|
||||
@click="showVehicleListDialog(scope.row)"
|
||||
v-if="hasAuth('brand@destroy')"
|
||||
v-if="hasAuth('brand@show_vehicle_list')"
|
||||
>
|
||||
<i class="iconfont-sys"></i>查看车型
|
||||
</el-link>
|
||||
|
||||
@@ -43,8 +43,16 @@
|
||||
<!-- 数据表格 -->
|
||||
<div class="table-container boxshadow">
|
||||
<div class="btntab">
|
||||
<ElButton type="primary" v-ripple @click="handleAdd">新增车辆</ElButton>
|
||||
<ElButton type="success" v-ripple @click="crawlKeywordfn">通过关键字查找车辆</ElButton>
|
||||
<ElButton type="primary" v-ripple @click="handleAdd" v-if="hasAuth('vehicle_list@add')"
|
||||
>新增车辆</ElButton
|
||||
>
|
||||
<ElButton
|
||||
type="success"
|
||||
v-ripple
|
||||
@click="crawlKeywordfn"
|
||||
v-if="hasAuth('vehicle_list@find')"
|
||||
>通过关键字查找车辆</ElButton
|
||||
>
|
||||
</div>
|
||||
<ArtTable
|
||||
ref="tableRef"
|
||||
@@ -103,9 +111,27 @@
|
||||
</ElTableColumn>
|
||||
<ElTableColumn label="操作" fixed="right" width="150" align="center">
|
||||
<template #default="scope">
|
||||
<ElButton link type="primary" @click="handleEdit(scope.row)">编辑</ElButton>
|
||||
<ElButton link type="primary" @click="handleView(scope.row)">查看</ElButton>
|
||||
<ElButton link type="danger" @click="handleDelete(scope.row)">删除</ElButton>
|
||||
<ElButton
|
||||
link
|
||||
type="primary"
|
||||
@click="handleEdit(scope.row)"
|
||||
v-if="hasAuth('vehicle_list@update')"
|
||||
>编辑</ElButton
|
||||
>
|
||||
<ElButton
|
||||
link
|
||||
type="primary"
|
||||
@click="handleView(scope.row)"
|
||||
v-if="hasAuth('vehicle_list@show')"
|
||||
>查看</ElButton
|
||||
>
|
||||
<ElButton
|
||||
link
|
||||
type="danger"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-if="hasAuth('vehicle_list@destroy')"
|
||||
>删除</ElButton
|
||||
>
|
||||
</template>
|
||||
</ElTableColumn>
|
||||
</template>
|
||||
@@ -1122,6 +1148,8 @@
|
||||
import { ElMessage, ElMessageBox, ElLoading } from 'element-plus'
|
||||
import { vehicleService } from '@/api/vehicleApi'
|
||||
import { commonService } from '@/api/commonApi'
|
||||
import { useAuth } from '@/composables/useAuth'
|
||||
const { hasAuth } = useAuth()
|
||||
defineOptions({ name: 'AdminVehicleList' })
|
||||
const keywordwidth = ref('900px')
|
||||
const is_series = ref(1)
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
</ElOption>
|
||||
</ElSelect>
|
||||
</ElFormItem>
|
||||
<ElFormItem prop="company" label="系统">
|
||||
<!-- <ElFormItem prop="company" label="系统">
|
||||
<ElSelect v-model="formData.systems" class="account-select" @change="changesystems">
|
||||
<ElOption
|
||||
v-for="account in systemsList"
|
||||
@@ -94,7 +94,7 @@
|
||||
<span>{{ account.name }}</span>
|
||||
</ElOption>
|
||||
</ElSelect>
|
||||
</ElFormItem>
|
||||
</ElFormItem> -->
|
||||
<div class="drag-verify">
|
||||
<div class="drag-verify-content" :class="{ error: !isPassing && isClickPass }">
|
||||
<ArtDragVerify
|
||||
@@ -151,7 +151,7 @@
|
||||
</ElOption>
|
||||
</ElSelect>
|
||||
</ElFormItem>
|
||||
<ElFormItem prop="company" label="系统">
|
||||
<!-- <ElFormItem prop="company" label="系统">
|
||||
<ElSelect v-model="formData.systems" class="account-select" @change="changesystems">
|
||||
<ElOption
|
||||
v-for="account in systemsList"
|
||||
@@ -162,7 +162,7 @@
|
||||
<span>{{ account.name }}</span>
|
||||
</ElOption>
|
||||
</ElSelect>
|
||||
</ElFormItem>
|
||||
</ElFormItem> -->
|
||||
</ElForm>
|
||||
<div class="qrcode-login" v-if="!isInFeishu">
|
||||
<div id="login_container"></div>
|
||||
@@ -278,11 +278,11 @@
|
||||
companyid.value = company
|
||||
iscompany.value = company
|
||||
userStore.setCompany(company, companyt?.abbr)
|
||||
if (companyid.value && systemsid.value) {
|
||||
if (activeLoginType.value == 'qrcode') {
|
||||
getfeishuAppList()
|
||||
}
|
||||
}
|
||||
if (companyabbr != '' && systemsabbr != '') {
|
||||
if (companyabbr != '' && activeLoginType.value == 'qrcode') {
|
||||
iscompany.value = true
|
||||
getfeishuAppList()
|
||||
}
|
||||
@@ -457,7 +457,8 @@
|
||||
// formData.systems = Number(system_id)
|
||||
// }
|
||||
// 只有两个 id 都有值时才调用
|
||||
if (companyid && systemsid.value) {
|
||||
userStore.setSystems('1', 'fdesk')
|
||||
if (companyid && activeLoginType.value == 'qrcode') {
|
||||
getfeishuAppList()
|
||||
}
|
||||
})
|
||||
|
||||
@@ -51,13 +51,21 @@
|
||||
<el-table-column prop="created_at" label="创建时间"></el-table-column>
|
||||
<el-table-column fixed="right" label="操作" width="160px">
|
||||
<template #default="scope">
|
||||
<div class="follow-detli" @click="onDetail(scope.row)">
|
||||
<div
|
||||
class="follow-detli"
|
||||
@click="onDetail(scope.row)"
|
||||
v-if="hasAuth('highseas@show')"
|
||||
>
|
||||
<span class="custom-clock-icon" style="vertical-align: middle; margin-right: 4px">
|
||||
<i class="iconfont-sys"></i>
|
||||
</span>
|
||||
详情
|
||||
</div>
|
||||
<div class="follow-action" @click="onFollow(scope.row)">
|
||||
<div
|
||||
class="follow-action"
|
||||
@click="onFollow(scope.row)"
|
||||
v-if="hasAuth('highseas@claim')"
|
||||
>
|
||||
<span class="custom-clock-icon" style="vertical-align: middle; margin-right: 4px">
|
||||
<i class="iconfont-sys"></i>
|
||||
</span>
|
||||
@@ -79,6 +87,8 @@
|
||||
import dayjs from 'dayjs'
|
||||
import { ElMessageBox } from 'element-plus'
|
||||
import { CrmService } from '@/api/crmApi'
|
||||
import { useAuth } from '@/composables/useAuth'
|
||||
const { hasAuth } = useAuth()
|
||||
defineOptions({ name: 'CrmHighseas' })
|
||||
const loading = ref(false)
|
||||
const pagination = reactive({
|
||||
|
||||
@@ -56,7 +56,11 @@
|
||||
<ElTableColumn label="操作" fixed="right" min-width="160" align="center">
|
||||
<template #default="scope">
|
||||
<el-link
|
||||
v-if="scope.row.file_url != null && scope.row.file_url != ''"
|
||||
v-if="
|
||||
scope.row.file_url != null &&
|
||||
scope.row.file_url != '' &&
|
||||
hasAuth('final_stock@print')
|
||||
"
|
||||
type="warning"
|
||||
underline="never"
|
||||
@click="printfn(scope.row)"
|
||||
@@ -65,7 +69,7 @@
|
||||
<i class="iconfont-sys"></i> 打印预览
|
||||
</el-link>
|
||||
<el-link
|
||||
v-if="scope.row.approval_status == 0"
|
||||
v-if="scope.row.approval_status == 0 && hasAuth('final_stock@edit')"
|
||||
type="primary"
|
||||
underline="never"
|
||||
@click="handleEdit(scope.row)"
|
||||
@@ -74,7 +78,7 @@
|
||||
<i class="iconfont-sys"></i> 编辑
|
||||
</el-link>
|
||||
<el-link
|
||||
v-if="scope.row.approval_status == 0"
|
||||
v-if="scope.row.approval_status == 0 && hasAuth('final_stock@submit')"
|
||||
type="success"
|
||||
underline="never"
|
||||
@click="handleapproval(scope.row)"
|
||||
@@ -87,10 +91,16 @@
|
||||
underline="never"
|
||||
@click="handleView1(scope.row)"
|
||||
style="margin-right: 8px"
|
||||
v-if="hasAuth('final_stock@view')"
|
||||
>
|
||||
<i class="iconfont-sys"></i> 查看终版
|
||||
</el-link>
|
||||
<el-link type="warning" underline="never" @click="showDialogtimeline(scope.row)">
|
||||
<el-link
|
||||
type="warning"
|
||||
underline="never"
|
||||
@click="showDialogtimeline(scope.row)"
|
||||
v-if="hasAuth('final_stock@approval_history')"
|
||||
>
|
||||
<i class="iconfont-sys"></i> 查看审批
|
||||
</el-link>
|
||||
</template>
|
||||
|
||||
@@ -2,7 +2,9 @@
|
||||
<div class="stocking-page">
|
||||
<div class="stocking-toolbar boxshadow">
|
||||
<div class="toolbar-left">
|
||||
<ElButton type="primary" v-ripple @click="handleCreate">创建备货单</ElButton>
|
||||
<ElButton type="primary" v-ripple @click="handleCreate" v-if="hasAuth('stock@add')"
|
||||
>创建备货单</ElButton
|
||||
>
|
||||
</div>
|
||||
<div class="toolbar-right">
|
||||
<el-input
|
||||
@@ -58,7 +60,9 @@
|
||||
<template #default="scope">
|
||||
<ElRow :gutter="10" justify="center">
|
||||
<el-link
|
||||
v-if="scope.row.file_url != null && scope.row.file_url != ''"
|
||||
v-if="
|
||||
scope.row.file_url != null && scope.row.file_url != '' && hasAuth('stock@print')
|
||||
"
|
||||
type="warning"
|
||||
underline="never"
|
||||
@click="printfn(scope.row)"
|
||||
@@ -67,7 +71,7 @@
|
||||
<i class="iconfont-sys"></i> 打印预览
|
||||
</el-link>
|
||||
<el-link
|
||||
v-if="scope.row.approval_status == 0"
|
||||
v-if="scope.row.approval_status == 0 && hasAuth('stock@submit')"
|
||||
type="success"
|
||||
underline="never"
|
||||
@click="handleapproval(scope.row)"
|
||||
@@ -76,7 +80,7 @@
|
||||
<i class="iconfont-sys"></i> 提交
|
||||
</el-link>
|
||||
<el-link
|
||||
v-if="scope.row.approval_status == 0"
|
||||
v-if="scope.row.approval_status == 0 && hasAuth('stock@edit')"
|
||||
type="primary"
|
||||
underline="never"
|
||||
@click="handleEdit(scope.row)"
|
||||
@@ -88,14 +92,17 @@
|
||||
type="success"
|
||||
underline="never"
|
||||
@click="handleView(scope.row)"
|
||||
style="margin-right: 8px;color: #750AF8;"
|
||||
style="margin-right: 8px; color: #750af8"
|
||||
v-if="hasAuth('stock@show')"
|
||||
>
|
||||
<i class="iconfont-sys"></i> 查看
|
||||
</el-link>
|
||||
<el-link
|
||||
v-if="
|
||||
scope.row.is_use == 0 &&
|
||||
scope.row.approval_status == 2 &&(scope.row.appro_status?scope.row.appro_status.status=='approved':false)
|
||||
scope.row.approval_status == 2 &&
|
||||
hasAuth('stock@add_final') &&
|
||||
(scope.row.appro_status ? scope.row.appro_status.status == 'approved' : false)
|
||||
"
|
||||
type="primary"
|
||||
underline="never"
|
||||
@@ -105,7 +112,7 @@
|
||||
<i class="iconfont-sys"></i> 创建终版
|
||||
</el-link>
|
||||
<el-link
|
||||
v-if="scope.row.is_use == 1"
|
||||
v-if="scope.row.is_use == 1 && hasAuth('stock@show_final')"
|
||||
type="success"
|
||||
underline="never"
|
||||
style="margin-right: 8px"
|
||||
@@ -118,6 +125,7 @@
|
||||
underline="never"
|
||||
@click="copys(scope.row)"
|
||||
style="margin-right: 8px;color: #F04800;"
|
||||
v-if="hasAuth('stock@copy')"
|
||||
>
|
||||
<i class="iconfont-sys"></i> 复制
|
||||
</el-link>
|
||||
@@ -126,11 +134,12 @@
|
||||
underline="never"
|
||||
@click="showDialogtimeline(scope.row)"
|
||||
style="margin-right: 8px"
|
||||
v-if="hasAuth('stock@show_approval')"
|
||||
>
|
||||
<i class="iconfont-sys"></i> 查看审批
|
||||
</el-link>
|
||||
<el-link
|
||||
v-if="scope.row.approval_status == 1"
|
||||
v-if="scope.row.approval_status == 1 && hasAuth('stock@recall')"
|
||||
type="danger"
|
||||
underline="never"
|
||||
@click="stockrecallfn(scope.row)"
|
||||
@@ -139,7 +148,7 @@
|
||||
<i class="iconfont-sys"></i> 撤回
|
||||
</el-link>
|
||||
<el-link
|
||||
v-if="scope.row.approval_status == 2"
|
||||
v-if="scope.row.approval_status == 2 && hasAuth('stock@invalid')"
|
||||
type="danger"
|
||||
underline="never"
|
||||
@click="stockinvalidfn(scope.row)"
|
||||
@@ -151,7 +160,8 @@
|
||||
v-if="
|
||||
scope.row.approval_status != 1 &&
|
||||
scope.row.approval_status != 2 &&
|
||||
scope.row.approval_status != 4
|
||||
scope.row.approval_status != 4 &&
|
||||
hasAuth('stock@del')
|
||||
"
|
||||
type="danger"
|
||||
underline="never"
|
||||
@@ -257,8 +267,8 @@
|
||||
const timelineDialogVisible = ref(false)
|
||||
const approvalRecords = ref<any[]>([])
|
||||
const isFinites = ref(false)
|
||||
// import { useAuth } from '@/composables/useAuth'
|
||||
// const { hasAuth } = useAuth()
|
||||
import { useAuth } from '@/composables/useAuth'
|
||||
const { hasAuth } = useAuth()
|
||||
|
||||
defineOptions({ name: 'CrmStockingList' }) // 定义组件名称,用于 KeepAlive 缓存控制
|
||||
|
||||
|
||||
@@ -23,7 +23,12 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="table boxshadow">
|
||||
<el-button type="primary" @click="gotransfer" :disabled="selectedRows.length === 0">
|
||||
<el-button
|
||||
type="primary"
|
||||
@click="gotransfer"
|
||||
:disabled="selectedRows.length === 0"
|
||||
v-if="hasAuth('crm_customer_team@cede')"
|
||||
>
|
||||
<i class="iconfont-sys"></i> 批量转移
|
||||
</el-button>
|
||||
<ArtTable
|
||||
|
||||
@@ -215,7 +215,7 @@
|
||||
type="primary"
|
||||
style="margin-left: 8px"
|
||||
@click="showSeriesDialog('add')"
|
||||
v-if="hasAuth('series@add')"
|
||||
v-if="hasAuth('crm_brand_series@add')"
|
||||
>新增系列</ElButton
|
||||
>
|
||||
</div>
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
<ElRow>
|
||||
<div style="width: 12px"></div>
|
||||
<ElCol :xs="24" :sm="12" :lg="6" class="el-col2">
|
||||
<ElButton @click="showDialog('add')" v-ripple v-if="hasAuth('color@add')" type="primary">
|
||||
<ElButton @click="showDialog('add')" v-ripple v-if="hasAuth('crm_color@add')" type="primary">
|
||||
新增颜色
|
||||
</ElButton>
|
||||
</ElCol>
|
||||
@@ -79,14 +79,14 @@
|
||||
<el-button
|
||||
link
|
||||
@click="showDialog('edit', scope.row)"
|
||||
v-if="hasAuth('color@update')"
|
||||
v-if="hasAuth('crm_color@update')"
|
||||
>编辑</el-button
|
||||
>
|
||||
<el-button
|
||||
type="danger"
|
||||
link
|
||||
@click="deleteColor(scope.row)"
|
||||
v-if="hasAuth('color@destroy')"
|
||||
v-if="hasAuth('crm_color@destroy')"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<ElButton
|
||||
@click="showDialog('add')"
|
||||
v-ripple
|
||||
v-if="hasAuth('modification@add')"
|
||||
v-if="hasAuth('crm_modification@add')"
|
||||
type="primary"
|
||||
>
|
||||
新增改装项目
|
||||
@@ -66,14 +66,14 @@
|
||||
<el-button
|
||||
link
|
||||
@click="showDialog('edit', scope.row)"
|
||||
v-if="hasAuth('modification@update')"
|
||||
v-if="hasAuth('crm_modification@update')"
|
||||
>编辑</el-button
|
||||
>
|
||||
<el-button
|
||||
type="danger"
|
||||
link
|
||||
@click="deleteModification(scope.row)"
|
||||
v-if="hasAuth('modification@destroy')"
|
||||
v-if="hasAuth('crm_modification@destroy')"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<div class="port-page">
|
||||
<div class="port-toolbar boxshadow">
|
||||
<div class="toolbar-left">
|
||||
<ElButton @click="showDialog('add')" v-ripple v-if="hasAuth('port@add')" type="primary"
|
||||
<ElButton @click="showDialog('add')" v-ripple v-if="hasAuth('crm_port@add')" type="primary"
|
||||
>创建港口</ElButton
|
||||
>
|
||||
</div>
|
||||
@@ -55,14 +55,14 @@
|
||||
<ElTableColumn fixed="right" label="操作" width="200px">
|
||||
<template #default="scope">
|
||||
<ElRow>
|
||||
<el-button link @click="showDialog('edit', scope.row)" v-if="hasAuth('port@update')"
|
||||
<el-button link @click="showDialog('edit', scope.row)" v-if="hasAuth('crm_port@update')"
|
||||
>编辑</el-button
|
||||
>
|
||||
<el-button
|
||||
type="danger"
|
||||
link
|
||||
@click="deletePort(scope.row)"
|
||||
v-if="hasAuth('port@destroy')"
|
||||
v-if="hasAuth('crm_port@destroy')"
|
||||
>删除</el-button
|
||||
>
|
||||
</ElRow>
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
:data="filteredTableData"
|
||||
:marginTop="10"
|
||||
:stripe="false"
|
||||
:pagination="false"
|
||||
>
|
||||
<template #default>
|
||||
<ElTableColumn v-for="col in columns" :key="col.prop || col.type" v-bind="col" />
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<div style="width: 12px"></div>
|
||||
<ElCol :xs="24" :sm="12" :lg="6" class="el-col2">
|
||||
<!-- <ElButton v-ripple>搜索</ElButton> -->
|
||||
<ElButton v-if="hasAuth('work_order_self@add')" @click="showDialog('add')" v-ripple>
|
||||
<ElButton v-if="hasAuth('work_order_user_self@add')" @click="showDialog('add')" v-ripple>
|
||||
新增
|
||||
</ElButton>
|
||||
</ElCol>
|
||||
@@ -38,9 +38,26 @@
|
||||
</ElTableColumn>
|
||||
<ElTableColumn label="状态" prop="status">
|
||||
<template #default="scope">
|
||||
<ElTag :type="scope.row.status == 1 ? 'info' : scope.row.status == 2 ?'primary' :scope.row.status == 4 ?'success' : 'danger'">
|
||||
{{ scope.row.status == 1 ? '待受理' : scope.row.status == 2 ? '处理中' :
|
||||
scope.row.status == 4 ? "已完成":'关闭' }}
|
||||
<ElTag
|
||||
:type="
|
||||
scope.row.status == 1
|
||||
? 'info'
|
||||
: scope.row.status == 2
|
||||
? 'primary'
|
||||
: scope.row.status == 4
|
||||
? 'success'
|
||||
: 'danger'
|
||||
"
|
||||
>
|
||||
{{
|
||||
scope.row.status == 1
|
||||
? '待受理'
|
||||
: scope.row.status == 2
|
||||
? '处理中'
|
||||
: scope.row.status == 4
|
||||
? '已完成'
|
||||
: '关闭'
|
||||
}}
|
||||
</ElTag>
|
||||
</template>
|
||||
</ElTableColumn>
|
||||
@@ -49,21 +66,21 @@
|
||||
<template #default="scope">
|
||||
<ElRow>
|
||||
<el-button
|
||||
v-if="scope.row.status == 1 && hasAuth('work_order_self@edit')"
|
||||
v-if="scope.row.status == 1 && hasAuth('work_order_user_self@edit')"
|
||||
link
|
||||
@click="showDialog('edit', scope.row)"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="hasAuth('work_order_self@status')"
|
||||
v-if="hasAuth('work_order_user_self@status')"
|
||||
link
|
||||
@click="statusEdit(scope.row)"
|
||||
>
|
||||
状态编辑
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="hasAuth('work_order_self@conversation_list')"
|
||||
v-if="hasAuth('work_order_user_self@conversation_list')"
|
||||
link
|
||||
@click="openChat(scope.row)"
|
||||
>
|
||||
|
||||
Reference in New Issue
Block a user