Compare commits
2 Commits
e5ebb3474f
...
91788197cf
Author | SHA1 | Date | |
---|---|---|---|
![]() |
91788197cf | ||
![]() |
297077ea2c |
|
@ -9,6 +9,15 @@ export function sysRegionTreeList(query) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 依据父级id获取行政区划数据
|
||||||
|
export function sysRegionListByPid(query) {
|
||||||
|
return request({
|
||||||
|
url: '/admin/sysRegion/listByPid',
|
||||||
|
method: 'post',
|
||||||
|
data: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// 新增行政区划
|
// 新增行政区划
|
||||||
export function addSysRegion(data) {
|
export function addSysRegion(data) {
|
||||||
return request({
|
return request({
|
||||||
|
|
|
@ -9,6 +9,15 @@ export function sysMediaTypeTreeList(query) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 依据父级id获取媒体类型数据
|
||||||
|
export function sysMediaTypeListByPid(query) {
|
||||||
|
return request({
|
||||||
|
url: '/admin/sysMediaType/listByPid',
|
||||||
|
method: 'post',
|
||||||
|
data: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// 新增媒体类型
|
// 新增媒体类型
|
||||||
export function addSysMediaType(data) {
|
export function addSysMediaType(data) {
|
||||||
return request({
|
return request({
|
||||||
|
|
|
@ -3,7 +3,7 @@ import request from '@/utils/request'
|
||||||
// 获取PPT模板列表
|
// 获取PPT模板列表
|
||||||
export function pptTemplatePage(query) {
|
export function pptTemplatePage(query) {
|
||||||
return request({
|
return request({
|
||||||
url: '/admin/pptTemplate/getPptTemplatePage',
|
url: '/admin/busPptTemplate/getBusPptTemplatePage',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: query
|
data: query
|
||||||
})
|
})
|
||||||
|
@ -12,7 +12,7 @@ export function pptTemplatePage(query) {
|
||||||
// 新增PPT模板
|
// 新增PPT模板
|
||||||
export function addPptTemplate(data) {
|
export function addPptTemplate(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/admin/pptTemplate/addPptTemplate',
|
url: '/admin/busPptTemplate/addBusPptTemplate',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: data
|
data: data
|
||||||
})
|
})
|
||||||
|
@ -21,7 +21,7 @@ export function addPptTemplate(data) {
|
||||||
// 修改PPT模板
|
// 修改PPT模板
|
||||||
export function updatePptTemplate(data) {
|
export function updatePptTemplate(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/admin/pptTemplate/updatePptTemplate',
|
url: '/admin/busPptTemplate/updateBusPptTemplate',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: data
|
data: data
|
||||||
})
|
})
|
||||||
|
@ -30,7 +30,7 @@ export function updatePptTemplate(data) {
|
||||||
// 获取PPT模板详情
|
// 获取PPT模板详情
|
||||||
export function getPptTemplate(pptTemplateId) {
|
export function getPptTemplate(pptTemplateId) {
|
||||||
return request({
|
return request({
|
||||||
url: '/admin/pptTemplate/getPptTemplate/' + pptTemplateId,
|
url: '/admin/busPptTemplate/getBusPptTemplate/' + pptTemplateId,
|
||||||
method: 'post'
|
method: 'post'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -38,7 +38,7 @@ export function getPptTemplate(pptTemplateId) {
|
||||||
// 删除PPT模板
|
// 删除PPT模板
|
||||||
export function deletePptTemplate(pptTemplateId) {
|
export function deletePptTemplate(pptTemplateId) {
|
||||||
return request({
|
return request({
|
||||||
url: '/admin/pptTemplate/deletePptTemplate/' + pptTemplateId,
|
url: '/admin/busPptTemplate/deleteBusPptTemplate/' + pptTemplateId,
|
||||||
method: 'post'
|
method: 'post'
|
||||||
})
|
})
|
||||||
}
|
}
|
|
@ -11,12 +11,12 @@
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-button type="primary" class="primaryBtn" @click="handleAddRootNode"
|
<el-button type="primary" class="primaryBtn" @click="handleAddRootNode"
|
||||||
v-hasPermi="['system:administrativeRegion:add']">新增根节点</el-button>
|
v-hasPermi="['system:administrativeRegion:add']">新增根节点</el-button>
|
||||||
<el-button type="primary" class="primaryBtn" @click="toggleExpandAll">展开/折叠</el-button>
|
<!-- <el-button type="primary" class="primaryBtn" @click="toggleExpandAll">展开/折叠</el-button> -->
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<el-table v-if="refreshTable" v-loading="loading" height="calc(100vh - 244px)" :data="regionTreeList"
|
<el-table v-loading="loading" height="calc(100vh - 244px)" :data="regionTreeList"
|
||||||
row-key="id" :default-expand-all="isExpandAll" :tree-props="{ children: 'childList' }">
|
row-key="id" lazy :load="loadChildren" :tree-props="{ children: 'childList', hasChildren: 'hasChildren' }">
|
||||||
<el-table-column prop="name" label="区域名称"></el-table-column>
|
<el-table-column prop="name" label="区域名称"></el-table-column>
|
||||||
<el-table-column prop="code" label="区域编号"></el-table-column>
|
<el-table-column prop="code" label="区域编号"></el-table-column>
|
||||||
<el-table-column prop="sortNo" label="排序"></el-table-column>
|
<el-table-column prop="sortNo" label="排序"></el-table-column>
|
||||||
|
@ -64,7 +64,7 @@
|
||||||
|
|
||||||
<script setup name="Dept">
|
<script setup name="Dept">
|
||||||
import { onMounted, ref } from 'vue';
|
import { onMounted, ref } from 'vue';
|
||||||
import { sysRegionTreeList, addSysRegion, updateSysRegion, getSysRegion, deleteSysRegion } from "@/api/system/administrativeRegion"
|
import { sysRegionListByPid, addSysRegion, updateSysRegion, getSysRegion, deleteSysRegion } from "@/api/system/administrativeRegion"
|
||||||
import { useBackgroundStore } from '@/store/modules/background'
|
import { useBackgroundStore } from '@/store/modules/background'
|
||||||
import otherbg from '@/assets/images/otherbg.png'
|
import otherbg from '@/assets/images/otherbg.png'
|
||||||
const bgStore = useBackgroundStore()
|
const bgStore = useBackgroundStore()
|
||||||
|
@ -81,6 +81,9 @@ const refreshTable = ref(true)
|
||||||
|
|
||||||
const data = reactive({
|
const data = reactive({
|
||||||
form: {},
|
form: {},
|
||||||
|
queryParams: {
|
||||||
|
parentId: '0'
|
||||||
|
},
|
||||||
rules: {
|
rules: {
|
||||||
name: [{ required: true, message: "区域名称不能为空", trigger: "blur" }],
|
name: [{ required: true, message: "区域名称不能为空", trigger: "blur" }],
|
||||||
code: [{ required: true, message: "区域编号不能为空", trigger: "blur" }],
|
code: [{ required: true, message: "区域编号不能为空", trigger: "blur" }],
|
||||||
|
@ -88,26 +91,41 @@ const data = reactive({
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
const { form, rules } = toRefs(data)
|
const { queryParams, form, rules } = toRefs(data)
|
||||||
|
|
||||||
/** 查询行政区域树列表 */
|
/** 查询行政区域树列表 */
|
||||||
const getsysRegionTreeList = () => {
|
const getsysRegionTreeList = () => {
|
||||||
loading.value = true
|
loading.value = true
|
||||||
sysRegionTreeList().then(res => {
|
sysRegionListByPid(queryParams.value).then(res => {
|
||||||
regionTreeList.value = res.data
|
regionTreeList.value = res.data
|
||||||
loading.value = false
|
loading.value = false
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 展开/折叠操作 */
|
// 加载子节点数据的方法
|
||||||
const toggleExpandAll = () => {
|
const loadChildren = async (row, treeNode, resolve) => {
|
||||||
refreshTable.value = false
|
try {
|
||||||
isExpandAll.value = !isExpandAll.value
|
// 调用API获取子节点数据
|
||||||
nextTick(() => {
|
// const children = await fetchChildrenData(row.id)
|
||||||
refreshTable.value = true
|
queryParams.value.parentId = row.id
|
||||||
})
|
const children = await sysRegionListByPid(queryParams.value)
|
||||||
|
// 将子节点数据传递给表格
|
||||||
|
resolve(children.data)
|
||||||
|
} catch (error) {
|
||||||
|
console.error('加载子节点失败:', error)
|
||||||
|
resolve([])
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// /** 展开/折叠操作 */
|
||||||
|
// const toggleExpandAll = () => {
|
||||||
|
// refreshTable.value = false
|
||||||
|
// isExpandAll.value = !isExpandAll.value
|
||||||
|
// nextTick(() => {
|
||||||
|
// refreshTable.value = true
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
|
||||||
/** 表单重置 */
|
/** 表单重置 */
|
||||||
const reset = () => {
|
const reset = () => {
|
||||||
form.value = {
|
form.value = {
|
||||||
|
@ -178,6 +196,8 @@ const handleDelete = (row) => {
|
||||||
proxy.$modal.confirm('是否确认删除名称为"' + row.name + '"的数据项?').then(function () {
|
proxy.$modal.confirm('是否确认删除名称为"' + row.name + '"的数据项?').then(function () {
|
||||||
return deleteSysRegion(row.id)
|
return deleteSysRegion(row.id)
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
|
regionTreeList.value = []
|
||||||
|
queryParams.value.parentId = '0'
|
||||||
getsysRegionTreeList()
|
getsysRegionTreeList()
|
||||||
proxy.$modal.msgSuccess("删除成功")
|
proxy.$modal.msgSuccess("删除成功")
|
||||||
}).catch(() => { })
|
}).catch(() => { })
|
||||||
|
|
|
@ -11,12 +11,12 @@
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-button type="primary" class="primaryBtn" @click="handleAddRootNode"
|
<el-button type="primary" class="primaryBtn" @click="handleAddRootNode"
|
||||||
v-hasPermi="['system:mediaType:add']">新增根节点</el-button>
|
v-hasPermi="['system:mediaType:add']">新增根节点</el-button>
|
||||||
<el-button type="primary" class="primaryBtn" @click="toggleExpandAll">展开/折叠</el-button>
|
<!-- <el-button type="primary" class="primaryBtn" @click="toggleExpandAll">展开/折叠</el-button> -->
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<el-table v-if="refreshTable" v-loading="loading" height="calc(100vh - 244px)" :data="mediaTypeTreeList"
|
<el-table v-loading="loading" height="calc(100vh - 244px)" :data="mediaTypeTreeList" row-key="id" lazy
|
||||||
row-key="deptId" :default-expand-all="isExpandAll" :tree-props="{ children: 'children' }">
|
:load="loadChildren" :tree-props="{ children: 'childList', hasChildren: 'hasChildren' }">
|
||||||
<el-table-column prop="name" label="类型名称"></el-table-column>
|
<el-table-column prop="name" label="类型名称"></el-table-column>
|
||||||
<el-table-column prop="value" label="类型标识"></el-table-column>
|
<el-table-column prop="value" label="类型标识"></el-table-column>
|
||||||
<el-table-column prop="sortNo" label="排序"></el-table-column>
|
<el-table-column prop="sortNo" label="排序"></el-table-column>
|
||||||
|
@ -31,7 +31,7 @@
|
||||||
v-hasPermi="['system:mediaType:edit']">修改</el-button>
|
v-hasPermi="['system:mediaType:edit']">修改</el-button>
|
||||||
<el-button link type="primary" @click="handleAddChildrenNode(scope.row)"
|
<el-button link type="primary" @click="handleAddChildrenNode(scope.row)"
|
||||||
v-hasPermi="['system:mediaType:add']">新增子节点</el-button>
|
v-hasPermi="['system:mediaType:add']">新增子节点</el-button>
|
||||||
<el-button v-if="scope.row.parentId != 0" link type="primary" @click="handleDelete(scope.row)"
|
<el-button link type="primary" @click="handleDelete(scope.row)"
|
||||||
v-hasPermi="['system:mediaType:remove']">删除</el-button>
|
v-hasPermi="['system:mediaType:remove']">删除</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
@ -64,7 +64,7 @@
|
||||||
|
|
||||||
<script setup name="Dept">
|
<script setup name="Dept">
|
||||||
import { onMounted, ref } from 'vue';
|
import { onMounted, ref } from 'vue';
|
||||||
import { sysMediaTypeTreeList, addSysMediaType, updateSysMediaType, getSysMediaType, deleteSysMediaType } from "@/api/system/mediaType"
|
import { sysMediaTypeListByPid, addSysMediaType, updateSysMediaType, getSysMediaType, deleteSysMediaType } from "@/api/system/mediaType"
|
||||||
import { useBackgroundStore } from '@/store/modules/background'
|
import { useBackgroundStore } from '@/store/modules/background'
|
||||||
import otherbg from '@/assets/images/otherbg.png'
|
import otherbg from '@/assets/images/otherbg.png'
|
||||||
const bgStore = useBackgroundStore()
|
const bgStore = useBackgroundStore()
|
||||||
|
@ -81,6 +81,9 @@ const refreshTable = ref(true)
|
||||||
|
|
||||||
const data = reactive({
|
const data = reactive({
|
||||||
form: {},
|
form: {},
|
||||||
|
queryParams: {
|
||||||
|
parentId: 0
|
||||||
|
},
|
||||||
rules: {
|
rules: {
|
||||||
name: [{ required: true, message: "类型名称不能为空", trigger: "blur" }],
|
name: [{ required: true, message: "类型名称不能为空", trigger: "blur" }],
|
||||||
value: [{ required: true, message: "类型标识不能为空", trigger: "blur" }],
|
value: [{ required: true, message: "类型标识不能为空", trigger: "blur" }],
|
||||||
|
@ -88,25 +91,41 @@ const data = reactive({
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
const { form, rules } = toRefs(data)
|
const { queryParams, form, rules } = toRefs(data)
|
||||||
|
|
||||||
/** 查询媒体类型树列表 */
|
/** 查询媒体类型树列表 */
|
||||||
const getsysMediaTypeTreeList = () => {
|
const getsysMediaTypeTreeList = () => {
|
||||||
loading.value = true
|
loading.value = true
|
||||||
sysMediaTypeTreeList().then(res => {
|
sysMediaTypeListByPid(queryParams.value).then(res => {
|
||||||
mediaTypeTreeList.value = res.data
|
mediaTypeTreeList.value = res.data
|
||||||
loading.value = false
|
loading.value = false
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
/** 展开/折叠操作 */
|
|
||||||
const toggleExpandAll = () => {
|
|
||||||
refreshTable.value = false
|
// 加载子节点数据的方法
|
||||||
isExpandAll.value = !isExpandAll.value
|
const loadChildren = async (row, treeNode, resolve) => {
|
||||||
nextTick(() => {
|
try {
|
||||||
refreshTable.value = true
|
// 调用API获取子节点数据
|
||||||
})
|
queryParams.value.parentId = row.id
|
||||||
|
const children = await sysMediaTypeListByPid(queryParams.value)
|
||||||
|
// 将子节点数据传递给表格
|
||||||
|
resolve(children.data)
|
||||||
|
} catch (error) {
|
||||||
|
console.error('加载子节点失败:', error)
|
||||||
|
resolve([])
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// /** 展开/折叠操作 */
|
||||||
|
// const toggleExpandAll = () => {
|
||||||
|
// refreshTable.value = false
|
||||||
|
// isExpandAll.value = !isExpandAll.value
|
||||||
|
// nextTick(() => {
|
||||||
|
// refreshTable.value = true
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
|
||||||
/** 表单重置 */
|
/** 表单重置 */
|
||||||
const reset = () => {
|
const reset = () => {
|
||||||
form.value = {
|
form.value = {
|
||||||
|
@ -176,6 +195,8 @@ const handleDelete = (row) => {
|
||||||
proxy.$modal.confirm('是否确认删除媒体类型名称为"' + row.name + '"的数据项?').then(function () {
|
proxy.$modal.confirm('是否确认删除媒体类型名称为"' + row.name + '"的数据项?').then(function () {
|
||||||
return deleteSysMediaType(row.id)
|
return deleteSysMediaType(row.id)
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
|
mediaTypeTreeList.value = []
|
||||||
|
queryParams.value.parentId = 0
|
||||||
getsysMediaTypeTreeList()
|
getsysMediaTypeTreeList()
|
||||||
proxy.$modal.msgSuccess("删除成功")
|
proxy.$modal.msgSuccess("删除成功")
|
||||||
}).catch(() => { })
|
}).catch(() => { })
|
||||||
|
|
|
@ -9,8 +9,8 @@
|
||||||
<el-row :gutter="10" class="my_row">
|
<el-row :gutter="10" class="my_row">
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form :model="queryParams" ref="queryRef" :inline="true" class="searchInputForm">
|
<el-form :model="queryParams" ref="queryRef" :inline="true" class="searchInputForm">
|
||||||
<el-form-item label="" prop="keyword">
|
<el-form-item label="" prop="templateName">
|
||||||
<el-input v-model="form.keyword" placeholder="请输入" :prefix-icon="Search"
|
<el-input v-model="queryParams.templateName" placeholder="请输入模板名称" :prefix-icon="Search"
|
||||||
style="width: 300px;" />
|
style="width: 300px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
@ -25,8 +25,15 @@
|
||||||
|
|
||||||
<el-table v-loading="loading" :data="templateList" height="calc(100vh - 306px)">
|
<el-table v-loading="loading" :data="templateList" height="calc(100vh - 306px)">
|
||||||
<el-table-column label="模板名称" align="center" prop="templateName" />
|
<el-table-column label="模板名称" align="center" prop="templateName" />
|
||||||
<el-table-column label="模板类型" align="center" prop="type" />
|
<el-table-column label="模板类型" align="center" prop="type">
|
||||||
<el-table-column label="创建时间" align="center" prop="createTime" width="210">
|
<template #default="scope">
|
||||||
|
<span v-if="scope.row.type == 1">空白模板</span>
|
||||||
|
<span v-if="scope.row.type == 2">滴滴模板</span>
|
||||||
|
<span v-if="scope.row.type == 3">优客模板</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="模板地址" align="center" prop="originalFileName" />
|
||||||
|
<el-table-column label="创建时间" align="center" prop="createTime">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||||
</template>
|
</template>
|
||||||
|
@ -54,10 +61,12 @@
|
||||||
<el-input v-model="form.templateName" placeholder="请输入" />
|
<el-input v-model="form.templateName" placeholder="请输入" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="模板类型" prop="type">
|
<el-form-item label="模板类型" prop="type">
|
||||||
<el-input v-model="form.type" placeholder="请输入" />
|
<el-select v-model="form.type" placeholder="请选择" clearable>
|
||||||
|
<el-option v-for="item in typeList" :key="item.value" :label="item.label" :value="item.value" />
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="模板文件" prop="fileId">
|
<el-form-item label="模板文件" prop="fileUrl">
|
||||||
<el-upload class="upload-demo" drag action="#" :http-request="requestDocUpload"
|
<el-upload class="upload-demo" drag action="#" :limit="1" :http-request="requestDocUpload"
|
||||||
:file-list="docUploadList" :before-upload="beforeDocUpload" :on-remove="removeDocUpload">
|
:file-list="docUploadList" :before-upload="beforeDocUpload" :on-remove="removeDocUpload">
|
||||||
<el-icon class="el-icon--upload"><upload-filled /></el-icon>
|
<el-icon class="el-icon--upload"><upload-filled /></el-icon>
|
||||||
<div class="el-upload__text">
|
<div class="el-upload__text">
|
||||||
|
@ -91,23 +100,30 @@ const bgStore = useBackgroundStore()
|
||||||
const { proxy } = getCurrentInstance()
|
const { proxy } = getCurrentInstance()
|
||||||
|
|
||||||
const baseUrl = import.meta.env.VITE_APP_BASE_API
|
const baseUrl = import.meta.env.VITE_APP_BASE_API
|
||||||
|
|
||||||
|
const docUploadList = ref([])
|
||||||
// 列表数据
|
// 列表数据
|
||||||
const templateList = ref([])
|
const templateList = ref([])
|
||||||
const loading = ref(true)
|
const loading = ref(true)
|
||||||
const total = ref(0)
|
const total = ref(0)
|
||||||
const open = ref(false)
|
const open = ref(false)
|
||||||
const title = ref("")
|
const title = ref("")
|
||||||
|
const typeList = ref([
|
||||||
|
{ label: '空白模板', value: 1 },
|
||||||
|
{ label: '滴滴模板', value: 2 },
|
||||||
|
{ label: '优客模板', value: 3 },
|
||||||
|
])
|
||||||
const data = reactive({
|
const data = reactive({
|
||||||
form: {},
|
form: {},
|
||||||
queryParams: {
|
queryParams: {
|
||||||
pageIndex: 1,
|
pageIndex: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
keyword: undefined,
|
templateName: undefined,
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
templateName: [{ required: true, message: "模板名称不能为空", trigger: "blur" }],
|
templateName: [{ required: true, message: "模板名称不能为空", trigger: "blur" }],
|
||||||
type: [{ required: true, message: "模板类型不能为空", trigger: "blur" }],
|
type: [{ required: true, message: "模板类型不能为空", trigger: "blur" }],
|
||||||
fileId: [{ required: true, message: "模板文件不能为空", trigger: "change" }],
|
fileUrl: [{ required: true, message: "模板文件不能为空", trigger: "change" }],
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -125,18 +141,19 @@ const getpptTemplatePageList = () => {
|
||||||
|
|
||||||
/** 表单重置 */
|
/** 表单重置 */
|
||||||
const reset = () => {
|
const reset = () => {
|
||||||
|
docUploadList.value = []
|
||||||
form.value = {
|
form.value = {
|
||||||
templateName: undefined,
|
templateName: undefined,
|
||||||
type: undefined,
|
type: undefined,
|
||||||
fileId: undefined
|
fileUrl: undefined
|
||||||
}
|
}
|
||||||
proxy.resetForm("pptTemplateRef")
|
proxy.resetForm("pptTemplateRef")
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 搜索按钮操作 */
|
/** 搜索按钮操作 */
|
||||||
const handleQuery = () => {
|
const handleQuery = () => {
|
||||||
queryParams.value.pageNum = 1
|
queryParams.value.pageIndex = 1
|
||||||
getList()
|
getpptTemplatePageList()
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 重置按钮操作 */
|
/** 重置按钮操作 */
|
||||||
|
@ -157,6 +174,12 @@ const handleUpdate = (row) => {
|
||||||
reset()
|
reset()
|
||||||
getPptTemplate(row.id).then(response => {
|
getPptTemplate(row.id).then(response => {
|
||||||
form.value = response.data
|
form.value = response.data
|
||||||
|
console.log('请求结果', form.value)
|
||||||
|
docUploadList.value.push({
|
||||||
|
name: form.value.originalFileName,
|
||||||
|
url: form.value.fileUrl,
|
||||||
|
suffix: form.value.suffix
|
||||||
|
})
|
||||||
open.value = true
|
open.value = true
|
||||||
title.value = "修改模板"
|
title.value = "修改模板"
|
||||||
})
|
})
|
||||||
|
@ -172,7 +195,7 @@ const cancel = () => {
|
||||||
const submitForm = () => {
|
const submitForm = () => {
|
||||||
proxy.$refs["pptTemplateRef"].validate(valid => {
|
proxy.$refs["pptTemplateRef"].validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (form.value.postId != undefined) {
|
if (form.value.id != undefined) {
|
||||||
updatePptTemplate(form.value).then(response => {
|
updatePptTemplate(form.value).then(response => {
|
||||||
proxy.$modal.msgSuccess("修改成功")
|
proxy.$modal.msgSuccess("修改成功")
|
||||||
open.value = false
|
open.value = false
|
||||||
|
@ -199,7 +222,6 @@ const handleDelete = (row) => {
|
||||||
}).catch(() => { })
|
}).catch(() => { })
|
||||||
}
|
}
|
||||||
|
|
||||||
const docUploadList = ref([])
|
|
||||||
// 自定义上传文件资料
|
// 自定义上传文件资料
|
||||||
const requestDocUpload = (options) => {
|
const requestDocUpload = (options) => {
|
||||||
const { file } = options
|
const { file } = options
|
||||||
|
@ -213,7 +235,12 @@ const requestDocUpload = (options) => {
|
||||||
url: baseUrl + res.fileName,
|
url: baseUrl + res.fileName,
|
||||||
suffix: res.suffix
|
suffix: res.suffix
|
||||||
})
|
})
|
||||||
form.fileId = ''
|
form.value.fileUrl = baseUrl + res.fileName
|
||||||
|
form.value.fileName = res.fileName
|
||||||
|
form.value.newFileName = res.newFileName
|
||||||
|
form.value.originalFileName = res.originalFilename
|
||||||
|
form.value.size = res.size
|
||||||
|
form.value.suffix = res.suffix
|
||||||
} else {
|
} else {
|
||||||
proxy.$modal.msgError(res.msg);
|
proxy.$modal.msgError(res.msg);
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,15 +59,17 @@
|
||||||
@selection-change="handleSelectionChange">
|
@selection-change="handleSelectionChange">
|
||||||
<el-table-column type="selection" width="50" align="center" />
|
<el-table-column type="selection" width="50" align="center" />
|
||||||
<!-- <el-table-column label="用户编号" align="center" key="userId" prop="userId" /> -->
|
<!-- <el-table-column label="用户编号" align="center" key="userId" prop="userId" /> -->
|
||||||
<el-table-column label="用户登录名" align="left" key="userName" prop="userName" :show-overflow-tooltip="true" />
|
<el-table-column label="用户登录名" align="left" key="userName" prop="userName" min-width="150" :show-overflow-tooltip="true" />
|
||||||
<el-table-column label="用户姓名" align="left" key="realName" prop="realName" :show-overflow-tooltip="true" />
|
<el-table-column label="用户姓名" align="left" key="realName" prop="realName" min-width="150" :show-overflow-tooltip="true" />
|
||||||
<el-table-column label="部门" align="center" key="deptName" prop="dept.deptName" width="150"
|
<el-table-column label="部门" align="center" key="deptName" prop="dept.deptName" width="150"
|
||||||
:show-overflow-tooltip="true" />
|
:show-overflow-tooltip="true" />
|
||||||
<el-table-column label="岗位" align="center" key="postName" prop="postName" width="120" />
|
<el-table-column label="岗位" align="center" key="postName" prop="postName" width="130"
|
||||||
<el-table-column label="手机号码" align="center" key="phonenumber" prop="phonenumber" width="120" />
|
:show-overflow-tooltip="true" />
|
||||||
<el-table-column label="座机电话" align="center" key="tel" prop="tel" width="120" />
|
<el-table-column label="手机号码" align="center" key="phonenumber" prop="phonenumber" width="160"
|
||||||
<el-table-column label="QQ" align="center" key="qqNo" prop="qqNo" width="120" />
|
:show-overflow-tooltip="true" />
|
||||||
<el-table-column label="微信" align="center" key="wxNo" prop="wxNo" width="120" />
|
<el-table-column label="座机电话" align="center" key="tel" prop="tel" width="180" :show-overflow-tooltip="true" />
|
||||||
|
<el-table-column label="QQ" align="center" key="qqNo" prop="qqNo" width="180" :show-overflow-tooltip="true" />
|
||||||
|
<el-table-column label="微信" align="center" key="wxNo" prop="wxNo" width="180" :show-overflow-tooltip="true" />
|
||||||
<el-table-column label="状态" align="center" key="status" width="86">
|
<el-table-column label="状态" align="center" key="status" width="86">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-switch v-model="scope.row.status" active-value="0" inactive-value="1"
|
<el-switch v-model="scope.row.status" active-value="0" inactive-value="1"
|
||||||
|
@ -79,16 +81,23 @@
|
||||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" align="center" width="280" class-name="small-padding fixed-width">
|
<el-table-column label="操作" width="58" align="center" fixed="right">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button link type="primary" v-if="scope.row.userId !== 1" @click="handleUpdate(scope.row)"
|
<el-popover popper-class="my_popover" placement="left-start">
|
||||||
v-hasPermi="['system:user:edit']">修改</el-button>
|
<div class="popBtns" v-if="scope.row.userId !== 1" @click="handleUpdate(scope.row)"
|
||||||
<el-button link type="primary" v-if="scope.row.userId !== 1" @click="handleDelete(scope.row)"
|
v-hasPermi="['system:user:edit']">修改</div>
|
||||||
v-hasPermi="['system:user:remove']">删除</el-button>
|
<div class="popBtns" v-if="scope.row.userId !== 1" @click="handleDelete(scope.row)"
|
||||||
<el-button link type="primary" v-if="scope.row.userId !== 1" @click="handleResetPwd(scope.row)"
|
v-hasPermi="['system:user:remove']">删除</div>
|
||||||
v-hasPermi="['system:user:resetPwd']">重置密码</el-button>
|
<div class="popBtns" v-if="scope.row.userId !== 1" @click="handleResetPwd(scope.row)"
|
||||||
<el-button link type="primary" v-if="scope.row.userId !== 1" @click="handleAuthRole(scope.row)"
|
v-hasPermi="['system:user:resetPwd']">重置密码</div>
|
||||||
v-hasPermi="['system:user:edit']">分配角色</el-button>
|
<div class="popBtns" v-if="scope.row.userId !== 1" @click="handleAuthRole(scope.row)"
|
||||||
|
v-hasPermi="['system:user:edit']">分配角色</div>
|
||||||
|
<template #reference>
|
||||||
|
<img style="cursor: pointer;" :src="scope.row.currentImageSrc"
|
||||||
|
@mouseenter="scope.row.currentImageSrc = hoverImageSrc"
|
||||||
|
@mouseleave="scope.row.currentImageSrc = defaultImageSrc" />
|
||||||
|
</template>
|
||||||
|
</el-popover>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
@ -245,6 +254,8 @@ import { getToken } from "@/utils/auth"
|
||||||
import useAppStore from '@/store/modules/app'
|
import useAppStore from '@/store/modules/app'
|
||||||
import { changeUserStatus, listUser, resetUserPwd, delUser, getUser, updateUser, addUser, deptTreeSelect } from "@/api/system/user"
|
import { changeUserStatus, listUser, resetUserPwd, delUser, getUser, updateUser, addUser, deptTreeSelect } from "@/api/system/user"
|
||||||
import { Search } from '@element-plus/icons-vue'
|
import { Search } from '@element-plus/icons-vue'
|
||||||
|
import optionIcon from '@/assets/images/optionIcon.png'
|
||||||
|
import optionIconHover from '@/assets/images/optionIconHover.png'
|
||||||
import "splitpanes/dist/splitpanes.css"
|
import "splitpanes/dist/splitpanes.css"
|
||||||
import { useBackgroundStore } from '@/store/modules/background'
|
import { useBackgroundStore } from '@/store/modules/background'
|
||||||
import otherbg from '@/assets/images/otherbg.png'
|
import otherbg from '@/assets/images/otherbg.png'
|
||||||
|
@ -255,6 +266,8 @@ const appStore = useAppStore()
|
||||||
const { proxy } = getCurrentInstance()
|
const { proxy } = getCurrentInstance()
|
||||||
const { sys_normal_disable, sys_user_sex } = proxy.useDict("sys_normal_disable", "sys_user_sex")
|
const { sys_normal_disable, sys_user_sex } = proxy.useDict("sys_normal_disable", "sys_user_sex")
|
||||||
|
|
||||||
|
const defaultImageSrc = ref(optionIcon);
|
||||||
|
const hoverImageSrc = ref(optionIconHover);
|
||||||
const userList = ref([])
|
const userList = ref([])
|
||||||
const open = ref(false)
|
const open = ref(false)
|
||||||
const loading = ref(true)
|
const loading = ref(true)
|
||||||
|
@ -326,6 +339,9 @@ function getList() {
|
||||||
loading.value = true
|
loading.value = true
|
||||||
listUser(proxy.addDateRange(queryParams.value, dateRange.value)).then(res => {
|
listUser(proxy.addDateRange(queryParams.value, dateRange.value)).then(res => {
|
||||||
loading.value = false
|
loading.value = false
|
||||||
|
res.rows.forEach(item => {
|
||||||
|
item.currentImageSrc = defaultImageSrc.value
|
||||||
|
});
|
||||||
userList.value = res.rows
|
userList.value = res.rows
|
||||||
total.value = res.total
|
total.value = res.total
|
||||||
})
|
})
|
||||||
|
@ -547,7 +563,7 @@ function submitForm() {
|
||||||
proxy.$refs["userRef"].validate(valid => {
|
proxy.$refs["userRef"].validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
form.value.postIds = [form.value.postId]
|
form.value.postIds = [form.value.postId]
|
||||||
if (form.value.userId != undefined) {
|
if (form.value.userId != undefined) {
|
||||||
updateUser(form.value).then(response => {
|
updateUser(form.value).then(response => {
|
||||||
proxy.$modal.msgSuccess("修改成功")
|
proxy.$modal.msgSuccess("修改成功")
|
||||||
open.value = false
|
open.value = false
|
||||||
|
|
Loading…
Reference in New Issue
Block a user