Merge pull request 'master' (#147) from master into test
Reviewed-on: http://git.feashow.cn/feashow/SmartOpsWeb/pulls/147
This commit is contained in:
@@ -1,9 +1,9 @@
|
|||||||
import request from '@/utils/request.js'
|
import request from '@/utils/request.js'
|
||||||
|
|
||||||
// 获取参数配置表详情
|
// 获取参数配置表详情
|
||||||
export const getConfigDetails = (configId,extraConfigType) => {
|
export const getConfigDetails = (configId) => {
|
||||||
return request({
|
return request({
|
||||||
url: `/extra/config/${configId}/${extraConfigType}`,
|
url: `/extra/config/${configId}`,
|
||||||
method: 'get'
|
method: 'get'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -27,9 +27,9 @@ export const editConfig = (data) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 删除参数配置表
|
// 删除参数配置表
|
||||||
export const delConfig =(configIdList,extraConfigType) => {
|
export const delConfig =(configIdList) => {
|
||||||
return request({
|
return request({
|
||||||
url: `/extra/config/${configIdList}/${extraConfigType}`,
|
url: `/extra/config/${configIdList}`,
|
||||||
method: 'delete'
|
method: 'delete'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ const infoLiveCallRef = ref()
|
|||||||
const voiceRef = ref()
|
const voiceRef = ref()
|
||||||
const tableIns = ref()
|
const tableIns = ref()
|
||||||
const auths = reactive({
|
const auths = reactive({
|
||||||
report: ['mosr:collect:reported'],
|
record: ['order:dialogue:list'],
|
||||||
})
|
})
|
||||||
const tableConfig = reactive({
|
const tableConfig = reactive({
|
||||||
columns: [
|
columns: [
|
||||||
@@ -97,21 +97,26 @@ const tableConfig = reactive({
|
|||||||
currentRender: ({ row, index }) => {
|
currentRender: ({ row, index }) => {
|
||||||
// console.log(row);
|
// console.log(row);
|
||||||
let btn = []
|
let btn = []
|
||||||
btn.push({ label: '播放语音', prem: auths.detail, func: () => handleVoice(row), type: 'primary' })
|
btn.push({ label: '播放语音', func: () => handleVoice(row), type: 'primary' })
|
||||||
btn.push({ label: '通话记录', prem: auths.detail, func: () => handleInfo(row), type: 'primary' })
|
btn.push({ label: '通话记录', prem: auths.record, func: () => handleInfo(row), type: 'primary' })
|
||||||
return (
|
return (
|
||||||
<div style={{ width: '100%' }}>
|
<div style={{ width: '100%' }}>
|
||||||
{
|
{
|
||||||
btn.map(item => (
|
btn.map(item => (
|
||||||
<>
|
item.prem?
|
||||||
<el-button
|
<el-button
|
||||||
type={item.type}
|
type={item.type}
|
||||||
// v-perm={item.prem}
|
v-perm={item.prem}
|
||||||
onClick={() => item.func()}
|
onClick={() => item.func()}
|
||||||
link>
|
link>
|
||||||
{item.label}
|
{item.label}
|
||||||
</el-button>
|
</el-button>
|
||||||
</>
|
: <el-button
|
||||||
|
type={item.type}
|
||||||
|
onClick={() => item.func()}
|
||||||
|
link>
|
||||||
|
{item.label}
|
||||||
|
</el-button>
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
</div >
|
</div >
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
import fvSelect from '@/fvcomponents/fvSelect/index.vue'
|
import fvSelect from '@/fvcomponents/fvSelect/index.vue'
|
||||||
import {addContact, editContact, getContactDetail, deleteContact} from "@/api/address-book";
|
import {addContact, editContact, getContactDetail, deleteContact} from "@/api/address-book";
|
||||||
import {ElMessage, ElMessageBox} from "element-plus";
|
import {ElMessage, ElMessageBox} from "element-plus";
|
||||||
|
import {reactive} from "vue";
|
||||||
|
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const tableIns = ref()
|
const tableIns = ref()
|
||||||
@@ -152,6 +153,11 @@ const searchConfig = reactive([
|
|||||||
component: 'el-input',
|
component: 'el-input',
|
||||||
}
|
}
|
||||||
])
|
])
|
||||||
|
const auths = reactive({
|
||||||
|
add: ['order:contacts:add'],
|
||||||
|
edit: ['order:contacts:edit'],
|
||||||
|
delete: ['order:contacts:del'],
|
||||||
|
})
|
||||||
const addressBookTableConfig = reactive({
|
const addressBookTableConfig = reactive({
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@@ -207,15 +213,15 @@ const addressBookTableConfig = reactive({
|
|||||||
showOverflowTooltip: false,
|
showOverflowTooltip: false,
|
||||||
currentRender: ({row, index}) => {
|
currentRender: ({row, index}) => {
|
||||||
let btn = []
|
let btn = []
|
||||||
btn.push({label: '编辑', func: () => handleEdit(row), type: 'primary'})
|
btn.push({label: '编辑', prem: auths.edit, func: () => handleEdit(row), type: 'primary'})
|
||||||
btn.push({label: '删除', func: () => handleSingleDelete(row), type: 'danger'})
|
btn.push({label: '删除', prem: auths.delete,func: () => handleSingleDelete(row), type: 'danger'})
|
||||||
return (
|
return (
|
||||||
<div style={{width: '100%'}}>
|
<div style={{width: '100%'}}>
|
||||||
{
|
{
|
||||||
btn.map(item => (
|
btn.map(item => (
|
||||||
<el-button
|
<el-button
|
||||||
type={item.type}
|
type={item.type}
|
||||||
// v-perm={item.prem}
|
v-perm={item.prem}
|
||||||
onClick={() => item.func()}
|
onClick={() => item.func()}
|
||||||
link
|
link
|
||||||
>
|
>
|
||||||
@@ -231,8 +237,8 @@ const addressBookTableConfig = reactive({
|
|||||||
api: '/contact/list',
|
api: '/contact/list',
|
||||||
params: {},
|
params: {},
|
||||||
btns: [
|
btns: [
|
||||||
{name: '新增', key: 'add', type: 'primary'},
|
{name: '新增', key: 'add', type: 'primary' , auth: auths.add},
|
||||||
{name: '删除', key: 'delete', type: 'danger'},
|
{name: '删除', key: 'delete', type: 'danger', auth: auths.delete},
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
const searchAddressBook = (val) => {
|
const searchAddressBook = (val) => {
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="jsx">
|
<script setup lang="jsx">
|
||||||
import { shallowRef } from 'vue';
|
import {reactive, shallowRef} from 'vue';
|
||||||
import fvSelect from '@/fvcomponents/fvSelect/index.vue'
|
import fvSelect from '@/fvcomponents/fvSelect/index.vue'
|
||||||
import {ElMessage, ElMessageBox} from "element-plus";
|
import {ElMessage, ElMessageBox} from "element-plus";
|
||||||
import {addConfig, delConfig, editConfig, getConfigDetails} from "@/api/phone-traffic-config";
|
import {addConfig, delConfig, editConfig, getConfigDetails} from "@/api/phone-traffic-config";
|
||||||
@@ -131,12 +131,17 @@ const searchConfig = reactive([
|
|||||||
component: shallowRef(fvSelect),
|
component: shallowRef(fvSelect),
|
||||||
}
|
}
|
||||||
])
|
])
|
||||||
|
const auths = reactive({
|
||||||
|
add: ['extra:config:add'],
|
||||||
|
edit: ['extra:config:edit'],
|
||||||
|
delete: ['extra:config:del'],
|
||||||
|
})
|
||||||
const phoneTrafficTableConfig = reactive({
|
const phoneTrafficTableConfig = reactive({
|
||||||
columns: [
|
columns: [
|
||||||
{
|
// {
|
||||||
type: 'selection',
|
// type: 'selection',
|
||||||
prop: 'selection'
|
// prop: 'selection'
|
||||||
},
|
// },
|
||||||
{
|
{
|
||||||
prop: 'index',
|
prop: 'index',
|
||||||
type: 'index',
|
type: 'index',
|
||||||
@@ -191,15 +196,15 @@ const phoneTrafficTableConfig = reactive({
|
|||||||
showOverflowTooltip: false,
|
showOverflowTooltip: false,
|
||||||
currentRender: ({row, index}) => {
|
currentRender: ({row, index}) => {
|
||||||
let btn = []
|
let btn = []
|
||||||
btn.push({label: '编辑', func: () => handleEdit(row), type: 'primary'})
|
btn.push({label: '编辑', prem: auths.edit, func: () => handleEdit(row), type: 'primary'})
|
||||||
btn.push({label: '删除', func: () => handleSingleDelete(row), type: 'danger'})
|
btn.push({label: '删除', prem: auths.delete, func: () => handleSingleDelete(row), type: 'danger'})
|
||||||
return (
|
return (
|
||||||
<div style={{width: '100%'}}>
|
<div style={{width: '100%'}}>
|
||||||
{
|
{
|
||||||
btn.map(item => (
|
btn.map(item => (
|
||||||
<el-button
|
<el-button
|
||||||
type={item.type}
|
type={item.type}
|
||||||
// v-perm={item.prem}
|
v-perm={item.prem}
|
||||||
onClick={() => item.func()}
|
onClick={() => item.func()}
|
||||||
link
|
link
|
||||||
>
|
>
|
||||||
@@ -217,8 +222,8 @@ const phoneTrafficTableConfig = reactive({
|
|||||||
extraConfigType:extraConfigType.value
|
extraConfigType:extraConfigType.value
|
||||||
},
|
},
|
||||||
btns: [
|
btns: [
|
||||||
{name: '新增', key: 'add',type:'primary'},
|
{name: '新增', key: 'add',type:'primary', auth: auths.add},
|
||||||
{name: '删除', key: 'delete', type: 'danger'},
|
// {name: '删除', key: 'delete', type: 'danger'},
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
const searchPhoneTraffic = (val) => {
|
const searchPhoneTraffic = (val) => {
|
||||||
@@ -261,9 +266,8 @@ const handleEdit = (row) => {
|
|||||||
dialogType.value = "edit";
|
dialogType.value = "edit";
|
||||||
}
|
}
|
||||||
const getDetail = (row) => {
|
const getDetail = (row) => {
|
||||||
getConfigDetails(row.configId,extraConfigType.value).then(res => {
|
getConfigDetails(row.configId).then(res => {
|
||||||
if (res.code === 1000) {
|
if (res.code === 1000) {
|
||||||
ElMessage.success(res.msg)
|
|
||||||
res.data.configType=''+res.data.configType
|
res.data.configType=''+res.data.configType
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
formDialogRef.value.getFormInstance().setValues(res.data)
|
formDialogRef.value.getFormInstance().setValues(res.data)
|
||||||
@@ -271,6 +275,7 @@ const getDetail = (row) => {
|
|||||||
formDialogRef.value.getFormInstance().clearValidate()
|
formDialogRef.value.getFormInstance().clearValidate()
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
|
ElMessage.success(res.msg)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -283,7 +288,7 @@ const selectionChange = (selection) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
const deleteContactMethod = (configId) => {
|
const deleteContactMethod = (configId) => {
|
||||||
delConfig(configId,extraConfigType.value).then(res => {
|
delConfig(configId).then(res => {
|
||||||
if (res.code === 1000) {
|
if (res.code === 1000) {
|
||||||
ElMessage.success(res.msg)
|
ElMessage.success(res.msg)
|
||||||
tableIns.value.refresh()
|
tableIns.value.refresh()
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<fvSearchForm :searchConfig="searchConfig" @search="search">
|
<fvSearchForm :searchConfig="searchConfig" @search="search"></fvSearchForm>
|
||||||
</fvSearchForm>
|
|
||||||
<fvTable ref="tableIns" :tableConfig="tableConfig" :data="mockData" @headBtnClick="headBtnClick"></fvTable>
|
<fvTable ref="tableIns" :tableConfig="tableConfig" :data="mockData" @headBtnClick="headBtnClick"></fvTable>
|
||||||
<WorkDialog ref="workDialogRef" :rowData="rowData" />
|
<WorkDialog ref="workDialogRef" :rowData="rowData" />
|
||||||
</template>
|
</template>
|
||||||
@@ -30,7 +29,9 @@ const mockData = ref([
|
|||||||
}
|
}
|
||||||
])
|
])
|
||||||
const auths = reactive({
|
const auths = reactive({
|
||||||
report: ['mosr:collect:reported'],
|
detail: ['order:order:detail'],
|
||||||
|
close: ['order:order:close'],
|
||||||
|
delete: ['order:order:del'],
|
||||||
})
|
})
|
||||||
const searchConfig = reactive([
|
const searchConfig = reactive([
|
||||||
{
|
{
|
||||||
@@ -224,15 +225,15 @@ const tableConfig = reactive({
|
|||||||
|
|
||||||
let btn = []
|
let btn = []
|
||||||
btn.push({ label: '详情', prem: auths.detail, func: () => handleDetail(row), type: 'primary' })
|
btn.push({ label: '详情', prem: auths.detail, func: () => handleDetail(row), type: 'primary' })
|
||||||
btn.push({ label: '关单', prem: auths.detail, func: () => handleClose(row), type: 'primary' })
|
btn.push({ label: '关单', prem: auths.close, func: () => handleClose(row), type: 'primary' })
|
||||||
btn.push({ label: '删除', prem: auths.detail, func: () => handleDelete(row), type: 'danger'})
|
btn.push({ label: '删除', prem: auths.delete, func: () => handleDelete(row), type: 'danger'})
|
||||||
return (
|
return (
|
||||||
<div style={{ width: '100%' }}>
|
<div style={{ width: '100%' }}>
|
||||||
{
|
{
|
||||||
btn.map(item => (
|
btn.map(item => (
|
||||||
<el-button
|
<el-button
|
||||||
type={item.type}
|
type={item.type}
|
||||||
// v-perm={item.prem}
|
v-perm={item.prem}
|
||||||
onClick={() => item.func()}
|
onClick={() => item.func()}
|
||||||
link
|
link
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -31,7 +31,9 @@ const mockData = ref([
|
|||||||
}
|
}
|
||||||
])
|
])
|
||||||
const auths = reactive({
|
const auths = reactive({
|
||||||
report: ['mosr:collect:reported'],
|
detail: ['order:order:detail'],
|
||||||
|
close: ['order:order:close'],
|
||||||
|
delete: ['order:order:del'],
|
||||||
})
|
})
|
||||||
const searchConfig = reactive([
|
const searchConfig = reactive([
|
||||||
{
|
{
|
||||||
@@ -207,16 +209,16 @@ const tableConfig = reactive({
|
|||||||
// console.log(row);
|
// console.log(row);
|
||||||
|
|
||||||
let btn = []
|
let btn = []
|
||||||
btn.push({ label: '详情', prem: auths.detail, func: () => handleDetail(row), type: 'primary' })
|
btn.push({ label: '详情',prem: auths.detail, func: () => handleDetail(row), type: 'primary' })
|
||||||
btn.push({ label: '关单', prem: auths.detail, func: () => handleClose(row), type: 'primary' })
|
btn.push({ label: '关单', prem: auths.close, func: () => handleClose(row), type: 'primary' })
|
||||||
btn.push({ label: '删除', prem: auths.detail, func: () => handleDelete(row), type: 'danger' })
|
btn.push({ label: '删除', prem: auths.delete, func: () => handleDelete(row), type: 'danger' })
|
||||||
return (
|
return (
|
||||||
<div style={{ width: '100%' }}>
|
<div style={{ width: '100%' }}>
|
||||||
{
|
{
|
||||||
btn.map(item => (
|
btn.map(item => (
|
||||||
<el-button
|
<el-button
|
||||||
type={item.type}
|
type={item.type}
|
||||||
// v-perm={item.prem}
|
v-perm={item.prem}
|
||||||
onClick={() => item.func()}
|
onClick={() => item.func()}
|
||||||
link
|
link
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -31,7 +31,9 @@ const mockData = ref([
|
|||||||
}
|
}
|
||||||
])
|
])
|
||||||
const auths = reactive({
|
const auths = reactive({
|
||||||
report: ['mosr:collect:reported'],
|
detail: ['order:order:detail'],
|
||||||
|
close: ['order:order:close'],
|
||||||
|
delete: ['order:order:del'],
|
||||||
})
|
})
|
||||||
const searchConfig = reactive([
|
const searchConfig = reactive([
|
||||||
{
|
{
|
||||||
@@ -208,15 +210,15 @@ const tableConfig = reactive({
|
|||||||
|
|
||||||
let btn = []
|
let btn = []
|
||||||
btn.push({ label: '详情', prem: auths.detail, func: () => handleDetail(row), type: 'primary' })
|
btn.push({ label: '详情', prem: auths.detail, func: () => handleDetail(row), type: 'primary' })
|
||||||
btn.push({ label: '关单', prem: auths.detail, func: () => handleClose(row), type: 'primary' })
|
btn.push({ label: '关单', prem: auths.close,func: () => handleClose(row), type: 'primary' })
|
||||||
btn.push({ label: '删除', prem: auths.detail, func: () => handleDelete(row), type: 'danger' })
|
btn.push({ label: '删除', prem: auths.delete, func: () => handleDelete(row), type: 'danger' })
|
||||||
return (
|
return (
|
||||||
<div style={{ width: '100%' }}>
|
<div style={{ width: '100%' }}>
|
||||||
{
|
{
|
||||||
btn.map(item => (
|
btn.map(item => (
|
||||||
<el-button
|
<el-button
|
||||||
type={item.type}
|
type={item.type}
|
||||||
// v-perm={item.prem}
|
v-perm={item.prem}
|
||||||
onClick={() => item.func()}
|
onClick={() => item.func()}
|
||||||
link
|
link
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="jsx">
|
<script setup lang="jsx">
|
||||||
import { shallowRef } from 'vue';
|
import {reactive, shallowRef} from 'vue';
|
||||||
import fvSelect from '@/fvcomponents/fvSelect/index.vue'
|
import fvSelect from '@/fvcomponents/fvSelect/index.vue'
|
||||||
import {ElMessage, ElMessageBox} from "element-plus";
|
import {ElMessage, ElMessageBox} from "element-plus";
|
||||||
import {addSensitive, deleteSensitive, editSensitive,getSensitiveDetail} from "@/api/sensitive-words";
|
import {addSensitive, deleteSensitive, editSensitive,getSensitiveDetail} from "@/api/sensitive-words";
|
||||||
@@ -103,6 +103,11 @@ const searchConfig = reactive([
|
|||||||
component: shallowRef(fvSelect),
|
component: shallowRef(fvSelect),
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
|
const auths = reactive({
|
||||||
|
add: ['order:sensitive:add'],
|
||||||
|
edit: ['order:sensitive:edit'],
|
||||||
|
delete: ['order:sensitive:del'],
|
||||||
|
})
|
||||||
const sensitiveTableConfig= reactive({
|
const sensitiveTableConfig= reactive({
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@@ -153,15 +158,15 @@ const sensitiveTableConfig= reactive({
|
|||||||
showOverflowTooltip: false,
|
showOverflowTooltip: false,
|
||||||
currentRender: ({row, index}) => {
|
currentRender: ({row, index}) => {
|
||||||
let btn = []
|
let btn = []
|
||||||
btn.push({label: '编辑', func: () => handleEdit(row), type: 'primary'})
|
btn.push({label: '编辑', prem: auths.edit, func: () => handleEdit(row), type: 'primary'})
|
||||||
btn.push({label: '删除', func: () => handleSingleDelete(row), type: 'danger'})
|
btn.push({label: '删除', prem: auths.delete,func: () => handleSingleDelete(row), type: 'danger'})
|
||||||
return (
|
return (
|
||||||
<div style={{width: '100%'}}>
|
<div style={{width: '100%'}}>
|
||||||
{
|
{
|
||||||
btn.map(item => (
|
btn.map(item => (
|
||||||
<el-button
|
<el-button
|
||||||
type={item.type}
|
type={item.type}
|
||||||
// v-perm={item.prem}
|
v-perm={item.prem}
|
||||||
onClick={() => item.func()}
|
onClick={() => item.func()}
|
||||||
link
|
link
|
||||||
>
|
>
|
||||||
@@ -178,8 +183,8 @@ const sensitiveTableConfig= reactive({
|
|||||||
api: '/sensitive/list',
|
api: '/sensitive/list',
|
||||||
params: {},
|
params: {},
|
||||||
btns: [
|
btns: [
|
||||||
{name: '新增', key: 'add',type:'primary',icon:'Plus'},
|
{name: '新增', key: 'add',type:'primary',icon:'Plus', auth: auths.add},
|
||||||
{name: '删除', key: 'delete', type: 'danger'},
|
{name: '删除', key: 'delete', type: 'danger', auth: auths.delete},
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
const searchSensitive = (val) => {
|
const searchSensitive = (val) => {
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
import fvSelect from '@/fvcomponents/fvSelect/index.vue'
|
import fvSelect from '@/fvcomponents/fvSelect/index.vue'
|
||||||
import {ElMessage, ElMessageBox} from "element-plus";
|
import {ElMessage, ElMessageBox} from "element-plus";
|
||||||
import {addVerbal, editVerbal,deleteVerbal, getVerbalDetail} from "@/api/verbal-trick";
|
import {addVerbal, editVerbal,deleteVerbal, getVerbalDetail} from "@/api/verbal-trick";
|
||||||
|
import {reactive} from "vue";
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const dialogTitle = ref("");
|
const dialogTitle = ref("");
|
||||||
const dialogType = ref("");
|
const dialogType = ref("");
|
||||||
@@ -60,6 +61,11 @@ const searchConfig = reactive([
|
|||||||
// component: shallowRef(fvSelect),
|
// component: shallowRef(fvSelect),
|
||||||
// },
|
// },
|
||||||
])
|
])
|
||||||
|
const auths = reactive({
|
||||||
|
add: ['order:verbal:add'],
|
||||||
|
edit: ['order:verbal:edit'],
|
||||||
|
delete: ['order:verbal:del'],
|
||||||
|
})
|
||||||
const verbalTrickTableConfig = reactive({
|
const verbalTrickTableConfig = reactive({
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@@ -134,15 +140,15 @@ const verbalTrickTableConfig = reactive({
|
|||||||
showOverflowTooltip: false,
|
showOverflowTooltip: false,
|
||||||
currentRender: ({row, index}) => {
|
currentRender: ({row, index}) => {
|
||||||
let btn = []
|
let btn = []
|
||||||
btn.push({label: '编辑', func: () => handleEdit(row), type: 'primary'})
|
btn.push({label: '编辑', prem: auths.edit, func: () => handleEdit(row), type: 'primary'})
|
||||||
btn.push({label: '删除', func: () => handleSingleDelete(row), type: 'danger'})
|
btn.push({label: '删除', prem: auths.delete, func: () => handleSingleDelete(row), type: 'danger'})
|
||||||
return (
|
return (
|
||||||
<div style={{width: '100%'}}>
|
<div style={{width: '100%'}}>
|
||||||
{
|
{
|
||||||
btn.map(item => (
|
btn.map(item => (
|
||||||
<el-button
|
<el-button
|
||||||
type={item.type}
|
type={item.type}
|
||||||
// v-perm={item.prem}
|
v-perm={item.prem}
|
||||||
onClick={() => item.func()}
|
onClick={() => item.func()}
|
||||||
link
|
link
|
||||||
>
|
>
|
||||||
@@ -158,8 +164,8 @@ const verbalTrickTableConfig = reactive({
|
|||||||
api: '/verbal/list',
|
api: '/verbal/list',
|
||||||
params: {},
|
params: {},
|
||||||
btns: [
|
btns: [
|
||||||
{name: '新增', key: 'add',type:'primary',icon:'Plus'},
|
{name: '新增', key: 'add',type:'primary',icon:'Plus', auth: auths.add},
|
||||||
{name: '删除', key: 'delete', type: 'danger'},
|
{name: '删除', key: 'delete', type: 'danger', auth: auths.delete},
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
const formRules = reactive({
|
const formRules = reactive({
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="jsx">
|
<script setup lang="jsx">
|
||||||
import { shallowRef } from 'vue';
|
import {reactive, shallowRef} from 'vue';
|
||||||
import fvSelect from '@/fvcomponents/fvSelect/index.vue'
|
import fvSelect from '@/fvcomponents/fvSelect/index.vue'
|
||||||
import {ElMessage, ElMessageBox} from "element-plus";
|
import {ElMessage, ElMessageBox} from "element-plus";
|
||||||
import {addConfig, delConfig, editConfig, getConfigDetails} from "@/api/phone-traffic-config";
|
import {addConfig, delConfig, editConfig, getConfigDetails} from "@/api/phone-traffic-config";
|
||||||
@@ -131,12 +131,17 @@ const searchConfig = reactive([
|
|||||||
component: shallowRef(fvSelect),
|
component: shallowRef(fvSelect),
|
||||||
}
|
}
|
||||||
])
|
])
|
||||||
|
const auths = reactive({
|
||||||
|
add: ['extra:config:add'],
|
||||||
|
edit: ['extra:config:edit'],
|
||||||
|
delete: ['extra:config:del'],
|
||||||
|
})
|
||||||
const phoneTrafficTableConfig = reactive({
|
const phoneTrafficTableConfig = reactive({
|
||||||
columns: [
|
columns: [
|
||||||
{
|
// {
|
||||||
type: 'selection',
|
// type: 'selection',
|
||||||
prop: 'selection'
|
// prop: 'selection'
|
||||||
},
|
// },
|
||||||
{
|
{
|
||||||
prop: 'index',
|
prop: 'index',
|
||||||
type: 'index',
|
type: 'index',
|
||||||
@@ -191,15 +196,15 @@ const phoneTrafficTableConfig = reactive({
|
|||||||
showOverflowTooltip: false,
|
showOverflowTooltip: false,
|
||||||
currentRender: ({row, index}) => {
|
currentRender: ({row, index}) => {
|
||||||
let btn = []
|
let btn = []
|
||||||
btn.push({label: '编辑', func: () => handleEdit(row), type: 'primary'})
|
btn.push({label: '编辑',prem: auths.edit, func: () => handleEdit(row), type: 'primary'})
|
||||||
btn.push({label: '删除', func: () => handleSingleDelete(row), type: 'danger'})
|
btn.push({label: '删除', prem: auths.delete,func: () => handleSingleDelete(row), type: 'danger'})
|
||||||
return (
|
return (
|
||||||
<div style={{width: '100%'}}>
|
<div style={{width: '100%'}}>
|
||||||
{
|
{
|
||||||
btn.map(item => (
|
btn.map(item => (
|
||||||
<el-button
|
<el-button
|
||||||
type={item.type}
|
type={item.type}
|
||||||
// v-perm={item.prem}
|
v-perm={item.prem}
|
||||||
onClick={() => item.func()}
|
onClick={() => item.func()}
|
||||||
link
|
link
|
||||||
>
|
>
|
||||||
@@ -217,8 +222,8 @@ const phoneTrafficTableConfig = reactive({
|
|||||||
extraConfigType:extraConfigType.value
|
extraConfigType:extraConfigType.value
|
||||||
},
|
},
|
||||||
btns: [
|
btns: [
|
||||||
{name: '新增', key: 'add',type:'primary'},
|
{name: '新增', key: 'add',type:'primary',auth: auths.add},
|
||||||
{name: '删除', key: 'delete', type: 'danger'},
|
// {name: '删除', key: 'delete', type: 'danger'},
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
const searchPhoneTraffic = (val) => {
|
const searchPhoneTraffic = (val) => {
|
||||||
@@ -261,9 +266,8 @@ const handleEdit = (row) => {
|
|||||||
dialogType.value = "edit";
|
dialogType.value = "edit";
|
||||||
}
|
}
|
||||||
const getDetail = (row) => {
|
const getDetail = (row) => {
|
||||||
getConfigDetails(row.configId,extraConfigType.value).then(res => {
|
getConfigDetails(row.configId).then(res => {
|
||||||
if (res.code === 1000) {
|
if (res.code === 1000) {
|
||||||
ElMessage.success(res.msg)
|
|
||||||
res.data.configType=''+res.data.configType
|
res.data.configType=''+res.data.configType
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
formDialogRef.value.getFormInstance().setValues(res.data)
|
formDialogRef.value.getFormInstance().setValues(res.data)
|
||||||
@@ -271,6 +275,7 @@ const getDetail = (row) => {
|
|||||||
formDialogRef.value.getFormInstance().clearValidate()
|
formDialogRef.value.getFormInstance().clearValidate()
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
|
ElMessage.success(res.msg)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -283,7 +288,7 @@ const selectionChange = (selection) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
const deleteContactMethod = (configId) => {
|
const deleteContactMethod = (configId) => {
|
||||||
delConfig(configId,extraConfigType.value).then(res => {
|
delConfig(configId).then(res => {
|
||||||
if (res.code === 1000) {
|
if (res.code === 1000) {
|
||||||
ElMessage.success(res.msg)
|
ElMessage.success(res.msg)
|
||||||
tableIns.value.refresh()
|
tableIns.value.refresh()
|
||||||
|
|||||||
Reference in New Issue
Block a user