提交对接代码
This commit is contained in:
parent
512032ba95
commit
06a9d74848
22
src/api/common.js
Normal file
22
src/api/common.js
Normal file
|
@ -0,0 +1,22 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
// 上传文件 单个
|
||||
export function uploadFile(data) {
|
||||
return request({
|
||||
url: '/common/upload',
|
||||
method: 'post',
|
||||
data: data,
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 公用下载文件接口
|
||||
export function downFile(fileUrl) {
|
||||
return request({
|
||||
url: '/common/download/resource?resource=' + fileUrl,
|
||||
method: 'get',
|
||||
responseType: 'blob'
|
||||
})
|
||||
}
|
44
src/api/system/businessArea.js
Normal file
44
src/api/system/businessArea.js
Normal file
|
@ -0,0 +1,44 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
// 获取商圈列表
|
||||
export function busTradingAreaPage(query) {
|
||||
return request({
|
||||
url: '/admin/busTradingArea/getBusTradingAreaPage',
|
||||
method: 'post',
|
||||
data: query
|
||||
})
|
||||
}
|
||||
|
||||
// 新增商圈
|
||||
export function addBusTradingArea(data) {
|
||||
return request({
|
||||
url: '/admin/busTradingArea/addBusTradingArea',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改商圈
|
||||
export function updateBusTradingArea(data) {
|
||||
return request({
|
||||
url: '/admin/busTradingArea/updateBusTradingArea',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取商圈详情
|
||||
export function getBusTradingArea(areaId) {
|
||||
return request({
|
||||
url: '/admin/busTradingArea/getBusTradingArea/' + areaId,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
// 删除商圈
|
||||
export function deleteBusTradingArea(areaId) {
|
||||
return request({
|
||||
url: '/admin/busTradingArea/deleteBusTradingArea/' + areaId,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
44
src/api/system/mediaType.js
Normal file
44
src/api/system/mediaType.js
Normal file
|
@ -0,0 +1,44 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
// 获取媒体类型树列表
|
||||
export function sysMediaTypeTreeList(query) {
|
||||
return request({
|
||||
url: '/admin/sysMediaType/treeList',
|
||||
method: 'post',
|
||||
data: query
|
||||
})
|
||||
}
|
||||
|
||||
// 新增媒体类型
|
||||
export function addSysMediaType(data) {
|
||||
return request({
|
||||
url: '/admin/sysMediaType/addSysMediaType',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改媒体类型
|
||||
export function updateSysMediaType(data) {
|
||||
return request({
|
||||
url: '/admin/sysMediaType/updateSysMediaType',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取媒体类型详情
|
||||
export function getSysMediaType(sysMediaTypeId) {
|
||||
return request({
|
||||
url: '/admin/sysMediaType/getSysMediaType/' + sysMediaTypeId,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
// 删除媒体类型
|
||||
export function deleteSysMediaType(sysMediaTypeId) {
|
||||
return request({
|
||||
url: '/admin/sysMediaType/deleteSysMediaType/' + sysMediaTypeId,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
44
src/api/system/pptTemplate.js
Normal file
44
src/api/system/pptTemplate.js
Normal file
|
@ -0,0 +1,44 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
// 获取PPT模板列表
|
||||
export function pptTemplatePage(query) {
|
||||
return request({
|
||||
url: '/admin/pptTemplate/getPptTemplatePage',
|
||||
method: 'post',
|
||||
data: query
|
||||
})
|
||||
}
|
||||
|
||||
// 新增PPT模板
|
||||
export function addPptTemplate(data) {
|
||||
return request({
|
||||
url: '/admin/pptTemplate/addPptTemplate',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改PPT模板
|
||||
export function updatePptTemplate(data) {
|
||||
return request({
|
||||
url: '/admin/pptTemplate/updatePptTemplate',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取PPT模板详情
|
||||
export function getPptTemplate(pptTemplateId) {
|
||||
return request({
|
||||
url: '/admin/pptTemplate/getPptTemplate/' + pptTemplateId,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
// 删除PPT模板
|
||||
export function deletePptTemplate(pptTemplateId) {
|
||||
return request({
|
||||
url: '/admin/pptTemplate/deletePptTemplate/' + pptTemplateId,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
|
@ -20,11 +20,11 @@
|
|||
<el-table-column prop="name" 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 label="创建时间" align="center" prop="createTime">
|
||||
<!-- <el-table-column label="创建时间" align="center" prop="createTime" min-width="210">
|
||||
<template #default="scope">
|
||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column> -->
|
||||
<el-table-column label="操作" align="center" width="230" class-name="small-padding fixed-width">
|
||||
<template #default="scope">
|
||||
<el-button link type="primary" @click="handleUpdate(scope.row)"
|
||||
|
@ -76,8 +76,6 @@ const regionTreeList = ref([])
|
|||
const open = ref(false)
|
||||
const loading = ref(true)
|
||||
const title = ref("")
|
||||
// 上级行政区划集合
|
||||
const deptOptions = ref([])
|
||||
const isExpandAll = ref(true)
|
||||
const refreshTable = ref(true)
|
||||
|
||||
|
@ -102,7 +100,7 @@ const getsysRegionTreeList = () => {
|
|||
}
|
||||
|
||||
/** 展开/折叠操作 */
|
||||
function toggleExpandAll() {
|
||||
const toggleExpandAll = () => {
|
||||
refreshTable.value = false
|
||||
isExpandAll.value = !isExpandAll.value
|
||||
nextTick(() => {
|
||||
|
@ -131,10 +129,8 @@ const handleAddRootNode = () => {
|
|||
}
|
||||
/** 新增子节点 */
|
||||
const handleAddChildrenNode = (row) => {
|
||||
console.log(row)
|
||||
reset()
|
||||
reset()
|
||||
if (row) {
|
||||
console.log('进入了这里?')
|
||||
form.value.parentId = row.id
|
||||
}
|
||||
open.value = true
|
||||
|
|
|
@ -1,35 +1,25 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<div class="searchPanel">
|
||||
<el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" class="searchPanelForm">
|
||||
<el-form :inline="true" v-show="showSearch" class="searchPanelForm">
|
||||
<el-form-item label="城市:">
|
||||
<el-select v-model="queryParams.status" placeholder="请选择" clearable style="min-width: 30px">
|
||||
<el-option v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.label"
|
||||
:value="dict.value" />
|
||||
<el-select v-model="queryParams.provinceId" placeholder="请选择" clearable style="min-width: 30px">
|
||||
<el-option v-for="item in province" :key="item.value" :label="item.label" :value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="">
|
||||
<el-select v-model="queryParams.status" placeholder="请选择" clearable style="min-width: 30px">
|
||||
<el-option v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.label"
|
||||
:value="dict.value" />
|
||||
<el-select v-model="queryParams.cityId" placeholder="请选择" clearable style="min-width: 30px">
|
||||
<el-option v-for="item in city" :key="item.value" :label="item.label" :value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="">
|
||||
<el-select v-model="queryParams.status" placeholder="请选择" clearable style="min-width: 30px">
|
||||
<el-option v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.label"
|
||||
:value="dict.value" />
|
||||
<el-select v-model="queryParams.countyId" placeholder="请选择" clearable style="min-width: 30px">
|
||||
<el-option v-for="item in county" :key="item.value" :label="item.label" :value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="">
|
||||
<el-select v-model="queryParams.status" placeholder="请选择" clearable style="min-width: 30px">
|
||||
<el-option v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.label"
|
||||
:value="dict.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="商圈:">
|
||||
<el-select v-model="queryParams.status" placeholder="请选择" clearable style="min-width: 30px">
|
||||
<el-option v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.label"
|
||||
:value="dict.value" />
|
||||
<el-select v-model="queryParams.townId" placeholder="请选择" clearable style="min-width: 30px">
|
||||
<el-option v-for="item in town" :key="item.value" :label="item.label" :value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
@ -43,7 +33,15 @@
|
|||
</div>
|
||||
</template>
|
||||
<el-row :gutter="10" class="my_row">
|
||||
<el-col :span="24">
|
||||
<el-col :span="12">
|
||||
<el-form :inline="true" class="searchInputForm">
|
||||
<el-form-item label="">
|
||||
<el-input v-model="queryParams.name" placeholder="请输入商圈名称" :prefix-icon="Search"
|
||||
style="width: 300px;" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-col>
|
||||
<el-col :span="12" style="text-align: right;">
|
||||
<el-button type="primary" class="primaryBtn" @click="handleQuery">查询</el-button>
|
||||
<el-button type="primary" class="primaryBtn" @click="resetQuery">重置</el-button>
|
||||
<el-button type="primary" class="primaryBtn" @click="handleAdd"
|
||||
|
@ -72,41 +70,37 @@
|
|||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize"
|
||||
@pagination="getList" />
|
||||
<pagination :total="total" v-model:page="queryParams.pageIndex" v-model:limit="queryParams.pageSize"
|
||||
@pagination="getbusinessAreaList" />
|
||||
|
||||
</el-card>
|
||||
|
||||
<!-- 添加或修改岗位对话框 -->
|
||||
<el-dialog :title="title" v-model="open" width="800px" class="my_dialog" align-center :destroy-on-close="true"
|
||||
:close-on-click-modal="false">
|
||||
<el-form ref="postRef" :model="form" :rules="rules" label-width="120px" class="myInsertForm">
|
||||
<el-form-item label="省/直辖市" prop="postName">
|
||||
<el-select v-model="queryParams.status" placeholder="请选择" clearable>
|
||||
<el-option v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.label"
|
||||
:value="dict.value" />
|
||||
<el-form ref="businessAreaRef" :model="form" :rules="rules" label-width="120px" class="myInsertForm">
|
||||
<el-form-item label="省/直辖市" prop="provinceId">
|
||||
<el-select v-model="form.provinceId" placeholder="请选择" clearable>
|
||||
<el-option v-for="item in province" :key="item.value" :label="item.label" :value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="地级市/区" prop="postCode">
|
||||
<el-select v-model="queryParams.status" placeholder="请选择" clearable>
|
||||
<el-option v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.label"
|
||||
:value="dict.value" />
|
||||
<el-form-item label="地级市/区" prop="cityId">
|
||||
<el-select v-model="form.cityId" placeholder="请选择" clearable>
|
||||
<el-option v-for="item in city" :key="item.value" :label="item.label" :value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="区/县" prop="postSort">
|
||||
<el-select v-model="queryParams.status" placeholder="请选择" clearable>
|
||||
<el-option v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.label"
|
||||
:value="dict.value" />
|
||||
<el-form-item label="区/县" prop="countyId">
|
||||
<el-select v-model="form.countyId" placeholder="请选择" clearable>
|
||||
<el-option v-for="item in county" :key="item.value" :label="item.label" :value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="镇" prop="status">
|
||||
<el-select v-model="queryParams.status" placeholder="请选择" clearable>
|
||||
<el-option v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.label"
|
||||
:value="dict.value" />
|
||||
<el-form-item label="镇" prop="townId">
|
||||
<el-select v-model="form.townId" placeholder="请选择" clearable>
|
||||
<el-option v-for="item in town" :key="item.value" :label="item.label" :value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="商圈" prop="remark">
|
||||
<el-input v-model="form.postCode" placeholder="请输入" />
|
||||
<el-form-item label="商圈" prop="name">
|
||||
<el-input v-model="form.name" placeholder="请输入" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
|
@ -121,61 +115,90 @@
|
|||
|
||||
<script setup name="Post">
|
||||
import { onMounted, ref } from 'vue';
|
||||
import { listPost, addPost, delPost, getPost, updatePost } from "@/api/system/post"
|
||||
import { Search } from '@element-plus/icons-vue'
|
||||
import { busTradingAreaPage, addBusTradingArea, updateBusTradingArea, getBusTradingArea, deleteBusTradingArea } from "@/api/system/businessArea"
|
||||
import { useBackgroundStore } from '@/store/modules/background'
|
||||
import otherbg from '@/assets/images/otherbg.png'
|
||||
const bgStore = useBackgroundStore()
|
||||
|
||||
const { proxy } = getCurrentInstance()
|
||||
const { sys_normal_disable } = proxy.useDict("sys_normal_disable")
|
||||
|
||||
// 列表数据
|
||||
const businessAreaList = ref([])
|
||||
const showSearch = ref(true)
|
||||
const loading = ref(true)
|
||||
const businessAreaList = ref([])
|
||||
const total = ref(0)
|
||||
const open = ref(false)
|
||||
const title = ref("")
|
||||
|
||||
const province = ref([])
|
||||
const city = ref([])
|
||||
const county = ref([])
|
||||
const town = ref([])
|
||||
const data = reactive({
|
||||
form: {},
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageIndex: 1,
|
||||
pageSize: 10,
|
||||
postCode: undefined,
|
||||
postName: undefined,
|
||||
status: undefined
|
||||
provinceId: undefined,
|
||||
cityId: undefined,
|
||||
countyId: undefined,
|
||||
townId: undefined,
|
||||
name: undefined
|
||||
},
|
||||
rules: {
|
||||
postName: [{ required: true, message: "岗位名称不能为空", trigger: "blur" }],
|
||||
postCode: [{ required: true, message: "岗位编码不能为空", trigger: "blur" }],
|
||||
postSort: [{ required: true, message: "岗位顺序不能为空", trigger: "blur" }],
|
||||
// provinceId: [{ required: true, message: "省/直辖市不能为空", trigger: "change" }],
|
||||
// cityId: [{ required: true, message: "地级市/区不能为空", trigger: "change" }],
|
||||
// countyId: [{ required: true, message: "区/县不能为空", trigger: "change" }],
|
||||
// townId: [{ required: true, message: "镇不能为空", trigger: "change" }],
|
||||
name: [{ required: true, message: "商圈名称不能为空", trigger: "blur" }],
|
||||
}
|
||||
})
|
||||
|
||||
const { queryParams, form, rules } = toRefs(data)
|
||||
|
||||
|
||||
/** 查询PPT模板列表 */
|
||||
const getbusinessAreaList = () => {
|
||||
loading.value = true
|
||||
busTradingAreaPage(queryParams.value).then(res => {
|
||||
if (res.code == 200) {
|
||||
businessAreaList.value = res.list
|
||||
total.value = res.total
|
||||
loading.value = false
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/** 表单重置 */
|
||||
const reset = () => {
|
||||
form.value = {
|
||||
postId: undefined,
|
||||
postCode: undefined,
|
||||
postName: undefined,
|
||||
postSort: 0,
|
||||
status: "0",
|
||||
remark: undefined
|
||||
provinceId: undefined,
|
||||
cityId: undefined,
|
||||
countyId: undefined,
|
||||
townId: undefined,
|
||||
name: undefined
|
||||
}
|
||||
proxy.resetForm("postRef")
|
||||
proxy.resetForm("businessAreaRef")
|
||||
}
|
||||
|
||||
/** 搜索按钮操作 */
|
||||
const handleQuery = () => {
|
||||
queryParams.value.pageNum = 1
|
||||
getList()
|
||||
queryParams.value.pageIndex = 1
|
||||
getbusinessAreaList()
|
||||
}
|
||||
|
||||
/** 重置按钮操作 */
|
||||
function resetQuery() {
|
||||
proxy.resetForm("queryRef")
|
||||
const resetQuery = () => {
|
||||
queryParams.value = {
|
||||
pageIndex: 1,
|
||||
pageSize: 10,
|
||||
provinceId: undefined,
|
||||
cityId: undefined,
|
||||
countyId: undefined,
|
||||
townId: undefined,
|
||||
name: undefined
|
||||
}
|
||||
handleQuery()
|
||||
}
|
||||
|
||||
|
@ -189,8 +212,7 @@ const handleAdd = () => {
|
|||
/** 修改按钮操作 */
|
||||
const handleUpdate = (row) => {
|
||||
reset()
|
||||
const postId = row.postId || ids.value
|
||||
getPost(postId).then(response => {
|
||||
getBusTradingArea(row.id).then(response => {
|
||||
form.value = response.data
|
||||
open.value = true
|
||||
title.value = "修改商圈"
|
||||
|
@ -205,19 +227,19 @@ const cancel = () => {
|
|||
|
||||
/** 提交按钮 */
|
||||
const submitForm = () => {
|
||||
proxy.$refs["postRef"].validate(valid => {
|
||||
proxy.$refs["businessAreaRef"].validate(valid => {
|
||||
if (valid) {
|
||||
if (form.value.postId != undefined) {
|
||||
updatePost(form.value).then(response => {
|
||||
if (form.value.id != undefined) {
|
||||
updateBusTradingArea(form.value).then(response => {
|
||||
proxy.$modal.msgSuccess("修改成功")
|
||||
open.value = false
|
||||
getList()
|
||||
getbusinessAreaList()
|
||||
})
|
||||
} else {
|
||||
addPost(form.value).then(response => {
|
||||
addBusTradingArea(form.value).then(response => {
|
||||
proxy.$modal.msgSuccess("新增成功")
|
||||
open.value = false
|
||||
getList()
|
||||
getbusinessAreaList()
|
||||
})
|
||||
}
|
||||
}
|
||||
|
@ -226,26 +248,18 @@ const submitForm = () => {
|
|||
|
||||
/** 删除按钮操作 */
|
||||
function handleDelete(row) {
|
||||
const postIds = row.postId || ids.value
|
||||
proxy.$modal.confirm('是否确认删除岗位编号为"' + postIds + '"的数据项?').then(function () {
|
||||
return delPost(postIds)
|
||||
proxy.$modal.confirm('是否确认删除商圈名称为"' + row.name + '"的数据项?').then(function () {
|
||||
return deleteBusTradingArea(row.id)
|
||||
}).then(() => {
|
||||
getList()
|
||||
getbusinessAreaList()
|
||||
proxy.$modal.msgSuccess("删除成功")
|
||||
}).catch(() => { })
|
||||
}
|
||||
|
||||
const getList = () => {
|
||||
loading.value = true
|
||||
listPost(queryParams.value).then(response => {
|
||||
businessAreaList.value = response.rows
|
||||
total.value = response.total
|
||||
loading.value = false
|
||||
})
|
||||
}
|
||||
|
||||
// 初始化
|
||||
onMounted(() => {
|
||||
bgStore.setBgImage(otherbg)
|
||||
getbusinessAreaList()
|
||||
});
|
||||
</script>
|
|
@ -9,28 +9,28 @@
|
|||
|
||||
<el-row :gutter="10" class="my_row">
|
||||
<el-col :span="24">
|
||||
<el-button type="primary" class="primaryBtn" @click="handleAdd"
|
||||
v-hasPermi="['system:mediaType:add']">新增</el-button>
|
||||
<el-button type="primary" class="primaryBtn" @click="handleAddRootNode"
|
||||
v-hasPermi="['system:mediaType:add']">新增根节点</el-button>
|
||||
<el-button type="primary" class="primaryBtn" @click="toggleExpandAll">展开/折叠</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-table v-if="refreshTable" v-loading="loading" height="calc(100vh - 244px)" :data="deptList"
|
||||
row-key="deptId" :default-expand-all="isExpandAll"
|
||||
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
|
||||
<el-table-column prop="deptName" label="类型名称"></el-table-column>
|
||||
<el-table-column prop="orderNum" label="排序"></el-table-column>
|
||||
<el-table-column label="创建时间" align="center" prop="createTime">
|
||||
<el-table v-if="refreshTable" v-loading="loading" height="calc(100vh - 244px)" :data="mediaTypeTreeList"
|
||||
row-key="deptId" :default-expand-all="isExpandAll" :tree-props="{ children: 'children' }">
|
||||
<el-table-column prop="name" 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 label="创建时间" align="center" prop="createTime" min-width="210">
|
||||
<template #default="scope">
|
||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column> -->
|
||||
<el-table-column label="操作" align="center" width="230" class-name="small-padding fixed-width">
|
||||
<template #default="scope">
|
||||
<el-button link type="primary" @click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['system:mediaType:edit']">修改</el-button>
|
||||
<el-button link type="primary" @click="handleAdd(scope.row)"
|
||||
v-hasPermi="['system:mediaType:add']">新增</el-button>
|
||||
<el-button link type="primary" @click="handleAddChildrenNode(scope.row)"
|
||||
v-hasPermi="['system:mediaType:add']">新增子节点</el-button>
|
||||
<el-button v-if="scope.row.parentId != 0" link type="primary" @click="handleDelete(scope.row)"
|
||||
v-hasPermi="['system:mediaType:remove']">删除</el-button>
|
||||
</template>
|
||||
|
@ -41,26 +41,15 @@
|
|||
<!-- 添加或修改部门对话框 -->
|
||||
<el-dialog :title="title" v-model="open" width="800px" class="my_dialog" align-center :destroy-on-close="true"
|
||||
:close-on-click-modal="false">
|
||||
<el-form ref="deptRef" :model="form" :rules="rules" label-width="100px" class="myInsertForm">
|
||||
<el-form-item label="上级类型" prop="parentId">
|
||||
<el-tree-select v-model="form.parentId" :data="deptOptions"
|
||||
:props="{ value: 'deptId', label: 'deptName', children: 'children' }" value-key="deptId"
|
||||
placeholder="选择上级类型" check-strictly />
|
||||
<el-form ref="mediaTypeRef" :model="form" :rules="rules" label-width="100px" class="myInsertForm">
|
||||
<el-form-item label="类型名称" prop="name">
|
||||
<el-input v-model="form.name" placeholder="请输入类型名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="类型名称" prop="deptName">
|
||||
<el-input v-model="form.deptName" placeholder="请输入类型名称" />
|
||||
<el-form-item label="类型标识" prop="value">
|
||||
<el-input v-model="form.value" placeholder="请输入类型名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="显示排序" prop="orderNum">
|
||||
<el-input-number v-model="form.orderNum" controls-position="right" :min="0" />
|
||||
</el-form-item>
|
||||
<el-form-item label="是否可用">
|
||||
<el-radio-group v-model="form.status">
|
||||
<el-radio v-for="dict in sys_normal_disable" :key="dict.value" :value="dict.value">{{ dict.label
|
||||
}}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="备注">
|
||||
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容"></el-input>
|
||||
<el-form-item label="显示排序" prop="sortNo">
|
||||
<el-input-number v-model="form.sortNo" controls-position="right" :min="0" style="width: 100%;" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
|
@ -75,96 +64,42 @@
|
|||
|
||||
<script setup name="Dept">
|
||||
import { onMounted, ref } from 'vue';
|
||||
import { listDept, getDept, delDept, addDept, updateDept, listDeptExcludeChild } from "@/api/system/dept"
|
||||
import { sysMediaTypeTreeList, addSysMediaType, updateSysMediaType, getSysMediaType, deleteSysMediaType } from "@/api/system/mediaType"
|
||||
import { useBackgroundStore } from '@/store/modules/background'
|
||||
import otherbg from '@/assets/images/otherbg.png'
|
||||
const bgStore = useBackgroundStore()
|
||||
|
||||
const { proxy } = getCurrentInstance()
|
||||
const { sys_normal_disable } = proxy.useDict("sys_normal_disable")
|
||||
|
||||
const deptList = ref([])
|
||||
// 媒体类型tree数据
|
||||
const mediaTypeTreeList = ref([])
|
||||
const open = ref(false)
|
||||
const loading = ref(true)
|
||||
const showSearch = ref(true)
|
||||
const title = ref("")
|
||||
const deptOptions = ref([])
|
||||
const isExpandAll = ref(true)
|
||||
const refreshTable = ref(true)
|
||||
|
||||
const data = reactive({
|
||||
form: {},
|
||||
queryParams: {
|
||||
deptName: undefined,
|
||||
status: undefined
|
||||
},
|
||||
rules: {
|
||||
parentId: [{ required: true, message: "上级部门不能为空", trigger: "blur" }],
|
||||
deptName: [{ required: true, message: "部门名称不能为空", trigger: "blur" }],
|
||||
orderNum: [{ required: true, message: "显示排序不能为空", trigger: "blur" }],
|
||||
email: [{ type: "email", message: "请输入正确的邮箱地址", trigger: ["blur", "change"] }],
|
||||
phone: [{ pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "请输入正确的手机号码", trigger: "blur" }]
|
||||
name: [{ required: true, message: "类型名称不能为空", trigger: "blur" }],
|
||||
value: [{ required: true, message: "类型标识不能为空", trigger: "blur" }],
|
||||
sortNo: [{ required: true, message: "显示排序不能为空", trigger: "blur" }],
|
||||
},
|
||||
})
|
||||
|
||||
const { queryParams, form, rules } = toRefs(data)
|
||||
const { form, rules } = toRefs(data)
|
||||
|
||||
/** 查询部门列表 */
|
||||
function getList() {
|
||||
/** 查询媒体类型树列表 */
|
||||
const getsysMediaTypeTreeList = () => {
|
||||
loading.value = true
|
||||
listDept(queryParams.value).then(response => {
|
||||
deptList.value = proxy.handleTree(response.data, "deptId")
|
||||
sysMediaTypeTreeList().then(res => {
|
||||
mediaTypeTreeList.value = res.data
|
||||
loading.value = false
|
||||
})
|
||||
}
|
||||
|
||||
/** 取消按钮 */
|
||||
function cancel() {
|
||||
open.value = false
|
||||
reset()
|
||||
}
|
||||
|
||||
/** 表单重置 */
|
||||
function reset() {
|
||||
form.value = {
|
||||
deptId: undefined,
|
||||
parentId: undefined,
|
||||
deptName: undefined,
|
||||
orderNum: 0,
|
||||
leader: undefined,
|
||||
phone: undefined,
|
||||
email: undefined,
|
||||
status: "0"
|
||||
}
|
||||
proxy.resetForm("deptRef")
|
||||
}
|
||||
|
||||
/** 搜索按钮操作 */
|
||||
function handleQuery() {
|
||||
getList()
|
||||
}
|
||||
|
||||
/** 重置按钮操作 */
|
||||
function resetQuery() {
|
||||
proxy.resetForm("queryRef")
|
||||
handleQuery()
|
||||
}
|
||||
|
||||
/** 新增按钮操作 */
|
||||
function handleAdd(row) {
|
||||
reset()
|
||||
listDept().then(response => {
|
||||
deptOptions.value = proxy.handleTree(response.data, "deptId")
|
||||
})
|
||||
if (row != undefined) {
|
||||
form.value.parentId = row.deptId
|
||||
}
|
||||
open.value = true
|
||||
title.value = "添加类型"
|
||||
}
|
||||
|
||||
/** 展开/折叠操作 */
|
||||
function toggleExpandAll() {
|
||||
const toggleExpandAll = () => {
|
||||
refreshTable.value = false
|
||||
isExpandAll.value = !isExpandAll.value
|
||||
nextTick(() => {
|
||||
|
@ -172,34 +107,64 @@ function toggleExpandAll() {
|
|||
})
|
||||
}
|
||||
|
||||
/** 修改按钮操作 */
|
||||
function handleUpdate(row) {
|
||||
/** 表单重置 */
|
||||
const reset = () => {
|
||||
form.value = {
|
||||
parentId: undefined,
|
||||
name: undefined,
|
||||
value: undefined,
|
||||
sortNo: 0
|
||||
}
|
||||
proxy.resetForm("mediaTypeRef")
|
||||
}
|
||||
|
||||
/** 新增根节点 */
|
||||
const handleAddRootNode = () => {
|
||||
reset()
|
||||
listDeptExcludeChild(row.deptId).then(response => {
|
||||
deptOptions.value = proxy.handleTree(response.data, "deptId")
|
||||
})
|
||||
getDept(row.deptId).then(response => {
|
||||
form.value.parentId = '0'
|
||||
open.value = true
|
||||
title.value = "添加媒体类型"
|
||||
}
|
||||
/** 新增子节点 */
|
||||
const handleAddChildrenNode = (row) => {
|
||||
reset()
|
||||
if (row) {
|
||||
form.value.parentId = row.id
|
||||
}
|
||||
open.value = true
|
||||
title.value = "添加媒体类型"
|
||||
}
|
||||
/** 修改按钮操作 */
|
||||
const handleUpdate = (row) => {
|
||||
reset()
|
||||
getSysMediaType(row.id).then(response => {
|
||||
form.value = response.data
|
||||
open.value = true
|
||||
title.value = "修改类型"
|
||||
title.value = "修改媒体类型"
|
||||
})
|
||||
}
|
||||
|
||||
/** 取消按钮 */
|
||||
const cancel = () => {
|
||||
open.value = false
|
||||
reset()
|
||||
}
|
||||
|
||||
/** 提交按钮 */
|
||||
function submitForm() {
|
||||
proxy.$refs["deptRef"].validate(valid => {
|
||||
const submitForm = () => {
|
||||
proxy.$refs["mediaTypeRef"].validate(valid => {
|
||||
if (valid) {
|
||||
if (form.value.deptId != undefined) {
|
||||
updateDept(form.value).then(response => {
|
||||
if (form.value.id != undefined) {
|
||||
updateSysMediaType(form.value).then(response => {
|
||||
proxy.$modal.msgSuccess("修改成功")
|
||||
open.value = false
|
||||
getList()
|
||||
getsysMediaTypeTreeList()
|
||||
})
|
||||
} else {
|
||||
addDept(form.value).then(response => {
|
||||
addSysMediaType(form.value).then(response => {
|
||||
proxy.$modal.msgSuccess("新增成功")
|
||||
open.value = false
|
||||
getList()
|
||||
getsysMediaTypeTreeList()
|
||||
})
|
||||
}
|
||||
}
|
||||
|
@ -207,11 +172,11 @@ function submitForm() {
|
|||
}
|
||||
|
||||
/** 删除按钮操作 */
|
||||
function handleDelete(row) {
|
||||
proxy.$modal.confirm('是否确认删除名称为"' + row.deptName + '"的数据项?').then(function () {
|
||||
return delDept(row.deptId)
|
||||
const handleDelete = (row) => {
|
||||
proxy.$modal.confirm('是否确认删除媒体类型名称为"' + row.name + '"的数据项?').then(function () {
|
||||
return deleteSysMediaType(row.id)
|
||||
}).then(() => {
|
||||
getList()
|
||||
getsysMediaTypeTreeList()
|
||||
proxy.$modal.msgSuccess("删除成功")
|
||||
}).catch(() => { })
|
||||
}
|
||||
|
@ -219,6 +184,6 @@ function handleDelete(row) {
|
|||
// 初始化
|
||||
onMounted(() => {
|
||||
bgStore.setBgImage(otherbg)
|
||||
getList()
|
||||
getsysMediaTypeTreeList()
|
||||
});
|
||||
</script>
|
||||
|
|
|
@ -9,8 +9,8 @@
|
|||
<el-row :gutter="10" class="my_row">
|
||||
<el-col :span="12">
|
||||
<el-form :model="queryParams" ref="queryRef" :inline="true" class="searchInputForm">
|
||||
<el-form-item label="">
|
||||
<el-input v-model="form.postCode" placeholder="请输入" :prefix-icon="Search"
|
||||
<el-form-item label="" prop="keyword">
|
||||
<el-input v-model="form.keyword" placeholder="请输入" :prefix-icon="Search"
|
||||
style="width: 300px;" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
@ -23,10 +23,9 @@
|
|||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="businessAreaList" height="calc(100vh - 320px)">
|
||||
<el-table-column label="模板名称" align="center" prop="postId" />
|
||||
<el-table-column label="模板类型" align="center" prop="postCode" />
|
||||
<el-table-column label="模板文件" align="center" prop="postName" />
|
||||
<el-table v-loading="loading" :data="templateList" height="calc(100vh - 320px)">
|
||||
<el-table-column label="模板名称" align="center" prop="templateName" />
|
||||
<el-table-column label="模板类型" align="center" prop="type" />
|
||||
<el-table-column label="创建时间" align="center" prop="createTime" width="210">
|
||||
<template #default="scope">
|
||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||
|
@ -42,22 +41,22 @@
|
|||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize"
|
||||
<pagination :total="total" v-model:page="queryParams.pageIndex" v-model:limit="queryParams.pageSize"
|
||||
@pagination="getList" />
|
||||
|
||||
</el-card>
|
||||
|
||||
<!-- 添加或修改岗位对话框 -->
|
||||
<!-- 添加或修改模板对话框 -->
|
||||
<el-dialog :title="title" v-model="open" width="800px" class="my_dialog" align-center :destroy-on-close="true"
|
||||
:close-on-click-modal="false">
|
||||
<el-form ref="postRef" :model="form" :rules="rules" label-width="120px" class="myInsertForm">
|
||||
<el-form-item label="模板名称" prop="postName">
|
||||
<el-input v-model="form.postCode" placeholder="请输入" />
|
||||
<el-form ref="pptTemplateRef" :model="form" :rules="rules" label-width="120px" class="myInsertForm">
|
||||
<el-form-item label="模板名称" prop="templateName">
|
||||
<el-input v-model="form.templateName" placeholder="请输入" />
|
||||
</el-form-item>
|
||||
<el-form-item label="模板类型" prop="postCode">
|
||||
<el-input v-model="form.postCode" placeholder="请输入" />
|
||||
<el-form-item label="模板类型" prop="type">
|
||||
<el-input v-model="form.type" placeholder="请输入" />
|
||||
</el-form-item>
|
||||
<el-form-item label="模板文件" prop="employeeNumber">
|
||||
<el-form-item label="模板文件" prop="fileId">
|
||||
<el-upload class="upload-demo" drag action="#" :http-request="requestDocUpload"
|
||||
:file-list="docUploadList" :before-upload="beforeDocUpload" :on-remove="removeDocUpload">
|
||||
<el-icon class="el-icon--upload"><upload-filled /></el-icon>
|
||||
|
@ -83,49 +82,55 @@
|
|||
<script setup name="Post">
|
||||
import { onMounted, ref } from 'vue';
|
||||
import { Search } from '@element-plus/icons-vue'
|
||||
import { listPost, addPost, delPost, getPost, updatePost } from "@/api/system/post"
|
||||
import { pptTemplatePage, addPptTemplate, updatePptTemplate, getPptTemplate, deletePptTemplate } from "@/api/system/pptTemplate"
|
||||
import { uploadFile } from "@/api/common"
|
||||
import { useBackgroundStore } from '@/store/modules/background'
|
||||
import otherbg from '@/assets/images/otherbg.png'
|
||||
const bgStore = useBackgroundStore()
|
||||
|
||||
const { proxy } = getCurrentInstance()
|
||||
const { sys_normal_disable } = proxy.useDict("sys_normal_disable")
|
||||
|
||||
const baseUrl = import.meta.env.VITE_APP_BASE_API
|
||||
// 列表数据
|
||||
const templateList = ref([])
|
||||
const loading = ref(true)
|
||||
const businessAreaList = ref([])
|
||||
const total = ref(0)
|
||||
const open = ref(false)
|
||||
const title = ref("")
|
||||
const data = reactive({
|
||||
form: {},
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageIndex: 1,
|
||||
pageSize: 10,
|
||||
postCode: undefined,
|
||||
postName: undefined,
|
||||
status: undefined
|
||||
keyword: undefined,
|
||||
},
|
||||
rules: {
|
||||
postName: [{ required: true, message: "岗位名称不能为空", trigger: "blur" }],
|
||||
postCode: [{ required: true, message: "岗位编码不能为空", trigger: "blur" }],
|
||||
postSort: [{ required: true, message: "岗位顺序不能为空", trigger: "blur" }],
|
||||
templateName: [{ required: true, message: "模板名称不能为空", trigger: "blur" }],
|
||||
type: [{ required: true, message: "模板类型不能为空", trigger: "blur" }],
|
||||
fileId: [{ required: true, message: "模板文件不能为空", trigger: "change" }],
|
||||
}
|
||||
})
|
||||
|
||||
const { queryParams, form, rules } = toRefs(data)
|
||||
|
||||
/** 查询PPT模板列表 */
|
||||
const getpptTemplatePageList = () => {
|
||||
loading.value = true
|
||||
pptTemplatePage(queryParams.value).then(res => {
|
||||
templateList.value = res.list
|
||||
total.value = res.total
|
||||
loading.value = false
|
||||
})
|
||||
}
|
||||
|
||||
/** 表单重置 */
|
||||
const reset = () => {
|
||||
form.value = {
|
||||
postId: undefined,
|
||||
postCode: undefined,
|
||||
postName: undefined,
|
||||
postSort: 0,
|
||||
status: "0",
|
||||
remark: undefined
|
||||
templateName: undefined,
|
||||
type: undefined,
|
||||
fileId: undefined
|
||||
}
|
||||
proxy.resetForm("postRef")
|
||||
proxy.resetForm("pptTemplateRef")
|
||||
}
|
||||
|
||||
/** 搜索按钮操作 */
|
||||
|
@ -150,8 +155,7 @@ const handleAdd = () => {
|
|||
/** 修改按钮操作 */
|
||||
const handleUpdate = (row) => {
|
||||
reset()
|
||||
const postId = row.postId || ids.value
|
||||
getPost(postId).then(response => {
|
||||
getPptTemplate(row.id).then(response => {
|
||||
form.value = response.data
|
||||
open.value = true
|
||||
title.value = "修改模板"
|
||||
|
@ -166,19 +170,19 @@ const cancel = () => {
|
|||
|
||||
/** 提交按钮 */
|
||||
const submitForm = () => {
|
||||
proxy.$refs["postRef"].validate(valid => {
|
||||
proxy.$refs["pptTemplateRef"].validate(valid => {
|
||||
if (valid) {
|
||||
if (form.value.postId != undefined) {
|
||||
updatePost(form.value).then(response => {
|
||||
updatePptTemplate(form.value).then(response => {
|
||||
proxy.$modal.msgSuccess("修改成功")
|
||||
open.value = false
|
||||
getList()
|
||||
getpptTemplatePageList()
|
||||
})
|
||||
} else {
|
||||
addPost(form.value).then(response => {
|
||||
addPptTemplate(form.value).then(response => {
|
||||
proxy.$modal.msgSuccess("新增成功")
|
||||
open.value = false
|
||||
getList()
|
||||
getpptTemplatePageList()
|
||||
})
|
||||
}
|
||||
}
|
||||
|
@ -186,28 +190,59 @@ const submitForm = () => {
|
|||
}
|
||||
|
||||
/** 删除按钮操作 */
|
||||
function handleDelete(row) {
|
||||
const postIds = row.postId || ids.value
|
||||
proxy.$modal.confirm('是否确认删除岗位编号为"' + postIds + '"的数据项?').then(function () {
|
||||
return delPost(postIds)
|
||||
const handleDelete = (row) => {
|
||||
proxy.$modal.confirm('是否确认删除岗位编号为"' + row.templateName + '"的数据项?').then(function () {
|
||||
return deletePptTemplate(row.id)
|
||||
}).then(() => {
|
||||
getList()
|
||||
getpptTemplatePageList()
|
||||
proxy.$modal.msgSuccess("删除成功")
|
||||
}).catch(() => { })
|
||||
}
|
||||
|
||||
const getList = () => {
|
||||
loading.value = true
|
||||
listPost(queryParams.value).then(response => {
|
||||
businessAreaList.value = response.rows
|
||||
total.value = response.total
|
||||
loading.value = false
|
||||
const docUploadList = ref([])
|
||||
// 自定义上传文件资料
|
||||
const requestDocUpload = (options) => {
|
||||
const { file } = options
|
||||
var formData = new FormData();
|
||||
formData.append('file', file);
|
||||
uploadFile(formData).then(res => {
|
||||
if (res.code == 200) {
|
||||
proxy.$modal.msgSuccess("上传成功")
|
||||
docUploadList.value.push({
|
||||
name: res.originalFilename,
|
||||
url: baseUrl + res.fileName,
|
||||
suffix: res.suffix
|
||||
})
|
||||
form.fileId = ''
|
||||
} else {
|
||||
proxy.$modal.msgError(res.msg);
|
||||
}
|
||||
})
|
||||
}
|
||||
//自定义上传文件资料校验
|
||||
const beforeDocUpload = (file) => {
|
||||
const type = [
|
||||
'application/vnd.openxmlformats-officedocument.presentationml.presentation'
|
||||
];
|
||||
const isPPTX = type.includes(file.type);
|
||||
// 检验文件格式
|
||||
if (!isPPTX) {
|
||||
proxy.$modal.msgError("文件格式错误,请上传.pptx后缀的文件。");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
// 移除已上传文件列表
|
||||
const removeDocUpload = (file, fileList) => {
|
||||
docUploadList.value = docUploadList.value.filter(
|
||||
item => item.name != file.name
|
||||
);
|
||||
}
|
||||
|
||||
// 初始化
|
||||
onMounted(() => {
|
||||
bgStore.setBgImage(otherbg)
|
||||
getpptTemplatePageList()
|
||||
});
|
||||
</script>
|
||||
<style lang='scss'>
|
||||
|
|
Loading…
Reference in New Issue
Block a user