完善用户管理和客户管理,新增平台管理(素材管理),忽略src文件夹语法检查(因为这个真烦,而且每次重载还费时,忽略后快多了)
This commit is contained in:
parent
5fe4fa3589
commit
5424a94fa5
@ -2,3 +2,5 @@ build/*.js
|
|||||||
src/assets
|
src/assets
|
||||||
public
|
public
|
||||||
dist
|
dist
|
||||||
|
views
|
||||||
|
src
|
||||||
|
27
src/api/platform/article.js
Normal file
27
src/api/platform/article.js
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
export function add(data) {
|
||||||
|
return request({
|
||||||
|
url: 'api/article',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function del(ids) {
|
||||||
|
return request({
|
||||||
|
url: 'api/article',
|
||||||
|
method: 'delete',
|
||||||
|
data: ids
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function edit(data) {
|
||||||
|
return request({
|
||||||
|
url: 'api/article',
|
||||||
|
method: 'put',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export default { add, edit, del }
|
27
src/api/platform/material.js
Normal file
27
src/api/platform/material.js
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
export function add(data) {
|
||||||
|
return request({
|
||||||
|
url: 'api/material',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function del(ids) {
|
||||||
|
return request({
|
||||||
|
url: 'api/material',
|
||||||
|
method: 'delete',
|
||||||
|
data: ids
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function edit(data) {
|
||||||
|
return request({
|
||||||
|
url: 'api/material',
|
||||||
|
method: 'put',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export default { add, edit, del }
|
10
src/views/platform/article/index.vue
Normal file
10
src/views/platform/article/index.vue
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
123
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: 'Article'
|
||||||
|
}
|
||||||
|
</script>
|
225
src/views/platform/material/index.vue
Normal file
225
src/views/platform/material/index.vue
Normal file
@ -0,0 +1,225 @@
|
|||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<!--工具栏-->
|
||||||
|
<div class="head-container">
|
||||||
|
<div>
|
||||||
|
<!-- 搜索 -->
|
||||||
|
<el-input
|
||||||
|
v-model="query.name"
|
||||||
|
clearable
|
||||||
|
size="small"
|
||||||
|
placeholder="输入素材名称"
|
||||||
|
style="width: 200px;"
|
||||||
|
class="filter-item"
|
||||||
|
@keyup.enter.native="crud.toQuery"
|
||||||
|
/>
|
||||||
|
<rrOperation />
|
||||||
|
<el-button v-permission="permission.add" class="filter-item" size="mini" type="primary"
|
||||||
|
icon="el-icon-plus" @click="crud.toAdd">
|
||||||
|
新增{{ crud.title }}
|
||||||
|
</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!--表单渲染-->
|
||||||
|
<el-dialog append-to-body :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0"
|
||||||
|
:title="crud.status.title" width="400px" @close="uploadDisabled = false;">
|
||||||
|
<el-form v-loading="loading" ref="form" :model="form" :rules="rules" size="small" label-width="80px">
|
||||||
|
<el-row :gutter="10">
|
||||||
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
||||||
|
<el-form-item label="名称" prop="name">
|
||||||
|
<el-input v-model="form.name" placeholder="请输入名称"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
||||||
|
<el-form-item label="素材类型" prop="type">
|
||||||
|
<el-select v-model="form.type" placeholder="请选择素材类型" clearable>
|
||||||
|
<el-option v-for="item in dict.material_type" :key="item.id" :label="item.label" :value="item.value" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
||||||
|
<el-form-item label="素材资源" prop="files">
|
||||||
|
<el-upload ref="uploadRef" action="#" list-type="picture-card" :class="{ disabled: uploadDisabled }"
|
||||||
|
:limit="1" :file-list="form.files" :on-change="handleChange" :auto-upload="false">
|
||||||
|
<div style="display: flex;flex-direction: column;align-items: center;justify-content: center;margin-top: -20px;">
|
||||||
|
<i class="el-icon-plus" style="font-size: 30px;" />
|
||||||
|
<span style="margin: 5px 0 -20px;line-height: 20px">上传</span>
|
||||||
|
</div>
|
||||||
|
<template #file="{ file }">
|
||||||
|
<div>
|
||||||
|
<img class="el-upload-list__item-thumbnail" :src="file.url" alt="">
|
||||||
|
<span class="el-upload-list__item-actions">
|
||||||
|
<span class="el-upload-list__item-preview" @click="handlePictureCardPreview(file)">
|
||||||
|
<i class="el-icon-zoom-in" />
|
||||||
|
</span>
|
||||||
|
<span class="el-upload-list__item-delete" @click="handleRemove(file)">
|
||||||
|
<i class="el-icon-delete" />
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-upload>
|
||||||
|
<el-dialog append-to-body :visible.sync="dialogVisible" top="20vh">
|
||||||
|
<div><img :src="dialogImageUrl" style="width: 100%" alt="Preview Image"></div>
|
||||||
|
</el-dialog>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
||||||
|
<el-form-item label="跳转链接">
|
||||||
|
<el-input v-model="form.link" type="url" placeholder="请输入跳转链接"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
||||||
|
<el-form-item label="排序号" prop="sort">
|
||||||
|
<el-input-number v-model="form.sort" controls-position="right" :min="1" placeholder="请输入排序号"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
<div slot="footer" class="dialog-footer" style="margin-top: -30px;">
|
||||||
|
<el-button type="text" @click="crud.cancelCU">取消</el-button>
|
||||||
|
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">新增</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
<!--表格渲染-->
|
||||||
|
<el-table ref="table" v-loading="crud.loading" :data="crud.data" style="width: 100%;">
|
||||||
|
<el-table-column :show-overflow-tooltip="true" prop="name" label="素材名称" />
|
||||||
|
<el-table-column :show-overflow-tooltip="true" prop="url" label="素材资源">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-image v-if="scope.row.type == '轮播图'" style="width: 100px;height: 100px;" :src="scope.row.url" :preview-src-list="[scope.row.url]"></el-image>
|
||||||
|
<video controls width="100px" height="100px" :src="scope.row.url" v-else preload="meta" />
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column :show-overflow-tooltip="true" prop="type" label="素材类型" />
|
||||||
|
<el-table-column :show-overflow-tooltip="true" prop="link" label="跳转地址">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-link :href="scope.row.link" target="_blank">{{ scope.row.link }}</el-link>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column :show-overflow-tooltip="true" prop="sort" label="排序号" align="center" />
|
||||||
|
<el-table-column :show-overflow-tooltip="true" prop="createTime" label="创建时间" />
|
||||||
|
<el-table-column v-if="checkPer(['admin', 'material:edit', 'material:del'])" label="操作" align="center"
|
||||||
|
fixed="right">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<udOperation :data="scope.row" :permission="permission" />
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<!--分页组件-->
|
||||||
|
<pagination />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import crudMaterial from '@/api/platform/material'
|
||||||
|
import CRUD, { presenter, header, form, crud } from '@crud/crud'
|
||||||
|
import rrOperation from '@crud/RR.operation'
|
||||||
|
import udOperation from '@crud/UD.operation'
|
||||||
|
import pagination from '@crud/Pagination'
|
||||||
|
const defaultForm = { name: null, url: null, type: null, link: null, sort: null, files: [] }
|
||||||
|
export default {
|
||||||
|
name: 'Material',
|
||||||
|
components: { rrOperation, pagination, udOperation },
|
||||||
|
// 数据字典
|
||||||
|
dicts: ['material_type'],
|
||||||
|
cruds() {
|
||||||
|
return CRUD({ title: '素材', url: 'api/material', crudMethod: { ...crudMaterial }, optShow: { add: true, reset: true }})
|
||||||
|
},
|
||||||
|
mixins: [presenter(), header(), form(defaultForm), crud()],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
permission: {
|
||||||
|
add: ['admin', 'material:add'],
|
||||||
|
edit: ['admin', 'material:edit'],
|
||||||
|
del: ['admin', 'material:del']
|
||||||
|
},
|
||||||
|
uploadDisabled: false,
|
||||||
|
dialogVisible: false,
|
||||||
|
loading: false,
|
||||||
|
dialogImageUrl: '',
|
||||||
|
rules: {
|
||||||
|
name: [
|
||||||
|
{ required: true, message: '请输入名称', trigger: 'blur' },
|
||||||
|
],
|
||||||
|
type: [
|
||||||
|
{ required: true, message: '请选择素材类型', trigger: 'change' },
|
||||||
|
],
|
||||||
|
files: [
|
||||||
|
{ required: true, message: '请上传文件', trigger: 'change' },
|
||||||
|
],
|
||||||
|
sort: [
|
||||||
|
{ required: true, message: '请输入排序号', trigger: 'blur', type: 'number' }
|
||||||
|
],
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.crud.data = [{ id: 1, name: '景区', type: '轮播图', url: 'https://huyun120.cn/fd/health/img/%E7%BB%84%20319@2x.f0767b46.png', link: 'http://baidu.com', sort: 1, createTime: '2020-01-01 00:00:00' },
|
||||||
|
{ id: 1, name: '景区', type: '宣传视频', url: 'https://huyun120.cn/dfs/group1/M00/03/F4/wKgKPWhbuNiATUQYAE51rnUVITc628.mp4', link: '', sort: 2, createTime: '2020-01-01 00:00:00' }
|
||||||
|
]
|
||||||
|
this.crud.resetDataStatus()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 预览图片
|
||||||
|
handlePictureCardPreview(file, uploadFiles) {
|
||||||
|
this.dialogImageUrl = file.url
|
||||||
|
this.dialogVisible = true
|
||||||
|
},
|
||||||
|
// 删除图片
|
||||||
|
handleRemove(file, uploadFiles) {
|
||||||
|
this.$refs['uploadRef'].clearFiles()
|
||||||
|
this.form.url = null
|
||||||
|
this.form.files = [];
|
||||||
|
this.uploadDisabled = false
|
||||||
|
console.log(this.form)
|
||||||
|
},
|
||||||
|
// 触发图片上传
|
||||||
|
handleChange(file, uploadFiles) {
|
||||||
|
if (file.raw.type === 'image/png' || file.raw.type === 'image/jpeg' || file.raw.type === 'image/jpg' || file.raw.type === 'image/gif') {
|
||||||
|
this.loading = true
|
||||||
|
this.form.files = uploadFiles
|
||||||
|
this.uploadDisabled = true
|
||||||
|
try {
|
||||||
|
// const formdata = new FormData();
|
||||||
|
// formdata.append('file', file.raw);
|
||||||
|
// let res = await photoApi.uploadFile(formdata);
|
||||||
|
// if(res?.success){
|
||||||
|
// this.form.url = res.data.path;
|
||||||
|
this.$message.success('图片上传成功!')
|
||||||
|
this.loading = false
|
||||||
|
console.log(this.form)
|
||||||
|
// }else{
|
||||||
|
// this.$message.error('图片上传失败!');
|
||||||
|
// }
|
||||||
|
} catch (error) {
|
||||||
|
this.loading = false
|
||||||
|
this.$message.error('图片上传失败!')
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.$confirm('图片的格式不正确,请重新选择!', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
type: 'warning'
|
||||||
|
})
|
||||||
|
uploadFiles.pop()
|
||||||
|
this.uploadDisabled = false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style scoped lang="scss">
|
||||||
|
::v-deep .el-select,::v-deep .el-input-number{
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
::v-deep .el-upload--picture-card,::v-deep .el-upload-list__item{
|
||||||
|
width: 110px !important;
|
||||||
|
height: 110px !important;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
::v-deep .disabled{
|
||||||
|
.el-upload--picture-card{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
@ -59,22 +59,33 @@
|
|||||||
<!--表格渲染-->
|
<!--表格渲染-->
|
||||||
<el-table ref="table" v-loading="crud.loading" :data="crud.data" style="width: 100%;">
|
<el-table ref="table" v-loading="crud.loading" :data="crud.data" style="width: 100%;">
|
||||||
<el-table-column :show-overflow-tooltip="true" prop="nickName" label="姓名" />
|
<el-table-column :show-overflow-tooltip="true" prop="nickName" label="姓名" />
|
||||||
<el-table-column :show-overflow-tooltip="true" prop="gender" label="性别" />
|
<el-table-column :show-overflow-tooltip="true" prop="gender" label="性别">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-tag size="medium" v-if="Number(scope.row.gender) === 0">男</el-tag>
|
||||||
|
<el-tag size="medium" v-else type="danger">女</el-tag>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column :show-overflow-tooltip="true" prop="phone" label="手机号" />
|
<el-table-column :show-overflow-tooltip="true" prop="phone" label="手机号" />
|
||||||
<el-table-column :show-overflow-tooltip="true" prop="userType" label="用户类型" />
|
<el-table-column :show-overflow-tooltip="true" prop="userType" label="用户类型" />
|
||||||
<el-table-column :show-overflow-tooltip="true" prop="createTime" label="创建时间" />
|
<el-table-column :show-overflow-tooltip="true" prop="createTime" label="创建时间" />
|
||||||
<el-table-column :show-overflow-tooltip="true" prop="enable" label="用户状态" />
|
<el-table-column :show-overflow-tooltip="true" prop="enable" label="用户状态">
|
||||||
<el-table-column v-if="checkPer(['admin', 'customer:enable', 'customer:del'])" label="操作" width="115" align="center"
|
<template slot-scope="scope">
|
||||||
|
<el-tag size="medium" v-if="Number(scope.row.enable) === 1" type="success">启用</el-tag>
|
||||||
|
<el-tag size="medium" v-else type="danger">停用</el-tag>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column v-if="checkPer(['admin', 'customer:enable', 'customer:del'])" label="操作" align="center"
|
||||||
fixed="right">
|
fixed="right">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button v-permission="permission.enable" size="mini" type="primary" icon="el-icon-folder" @click.stop="toEnable(scope.row)">{{ scope.row.enable ? '停用' : '启用' }}</el-button>
|
<el-button v-permission="permission.enable" size="mini" :type="Number(scope.row.enable) === 1 ?'info':'primary'"
|
||||||
|
@click.stop="toEnable(scope.row)">{{ Number(scope.row.enable) === 1 ? '停用' : '启用' }}</el-button>
|
||||||
<el-popover v-model="pop" v-permission="permission.del" placement="top" width="180" trigger="manual" @show="pop = false" @hide="pop = false">
|
<el-popover v-model="pop" v-permission="permission.del" placement="top" width="180" trigger="manual" @show="pop = false" @hide="pop = false">
|
||||||
<p>确定删除本条数据吗?</p>
|
<p>确定删除本条数据吗?</p>
|
||||||
<div style="text-align: right; margin: 0">
|
<div style="text-align: right; margin: 0">
|
||||||
<el-button size="mini" type="text" @click="pop = false;crud.cancelDelete(scope.row)">取消</el-button>
|
<el-button size="mini" type="text" @click="pop = false;crud.cancelDelete(scope.row)">取消</el-button>
|
||||||
<el-button :loading="crud.dataStatus[crud.getDataId(scope.row)].delete === 2" type="primary" size="mini" @click="crud.doDelete(scope.row)">确定</el-button>
|
<el-button :loading="crud.dataStatus[crud.getDataId(scope.row)].delete === 2" type="primary" size="mini" @click="crud.doDelete(scope.row)">确定</el-button>
|
||||||
</div>
|
</div>
|
||||||
<el-button slot="reference" type="danger" icon="el-icon-delete" size="mini" @click.stop="pop = true">删除</el-button>
|
<el-button slot="reference" type="danger" size="mini" @click.stop="pop = true">删除</el-button>
|
||||||
</el-popover>
|
</el-popover>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@ -123,10 +134,10 @@ export default {
|
|||||||
],
|
],
|
||||||
rules: {
|
rules: {
|
||||||
gender: [
|
gender: [
|
||||||
{ required: true, message: '请选择性别', trigger: 'blur' },
|
{ required: true, message: '请选择性别', trigger: 'change' },
|
||||||
],
|
],
|
||||||
userType: [
|
userType: [
|
||||||
{ required: true, message: '请选择用户类型', trigger: 'blur' },
|
{ required: true, message: '请选择用户类型', trigger: 'change' },
|
||||||
],
|
],
|
||||||
nickName: [
|
nickName: [
|
||||||
{ required: true, message: '请输入姓名', trigger: 'blur' },
|
{ required: true, message: '请输入姓名', trigger: 'blur' },
|
||||||
@ -137,6 +148,16 @@ export default {
|
|||||||
],
|
],
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.crud.data.push({ id: 1, nickName: '测试', gender: 0, phone: '12345678901', userType: '普通用户', enable: 1, createTime: '2020-01-01' })
|
||||||
|
this.crud.resetDataStatus()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 启/停用客户账号
|
||||||
|
toEnable(row){
|
||||||
|
row.enable = Number(row.enable) === 1 ? 0 : 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
@ -54,7 +54,8 @@
|
|||||||
<!-- <crudOperation :permission="permission" /> -->
|
<!-- <crudOperation :permission="permission" /> -->
|
||||||
</div>
|
</div>
|
||||||
<!--表单渲染-->
|
<!--表单渲染-->
|
||||||
<el-dialog append-to-body :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title">
|
<el-dialog append-to-body :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title"
|
||||||
|
@close="uploadDisabled = false;">
|
||||||
<el-form ref="form" v-loading="loading" :model="form" :rules="rules" size="small" label-width="80px">
|
<el-form ref="form" v-loading="loading" :model="form" :rules="rules" size="small" label-width="80px">
|
||||||
<el-row :gutter="10">
|
<el-row :gutter="10">
|
||||||
<el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="6" class="mb20">
|
<el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="6" class="mb20">
|
||||||
@ -148,14 +149,14 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="6" class="mb20">
|
<el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="6" class="mb20">
|
||||||
<el-form-item label="飞行资质附件" prop="intelligenceFile" label-width="100px">
|
<el-form-item label="飞行资质附件" prop="files" label-width="120px">
|
||||||
<el-upload
|
<el-upload
|
||||||
ref="uploadRef"
|
ref="uploadRef"
|
||||||
action="#"
|
action="#"
|
||||||
list-type="picture-card"
|
list-type="picture-card"
|
||||||
:class="{ disabled: uploadDisabled }"
|
:class="{ disabled: uploadDisabled }"
|
||||||
:limit="1"
|
:limit="1"
|
||||||
:file-list="fileList"
|
:file-list="form.files"
|
||||||
:on-change="handleChange"
|
:on-change="handleChange"
|
||||||
:auto-upload="false"
|
:auto-upload="false"
|
||||||
>
|
>
|
||||||
@ -248,7 +249,7 @@ import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
|||||||
import { LOAD_CHILDREN_OPTIONS } from '@riophae/vue-treeselect'
|
import { LOAD_CHILDREN_OPTIONS } from '@riophae/vue-treeselect'
|
||||||
let userRoles = []
|
let userRoles = []
|
||||||
let userJobs = []
|
let userJobs = []
|
||||||
const defaultForm = { id: null, username: null, nickName: null, enabled: 'false', password: null, phone: null, area: null, spot: null, role: null, intelligence: null, intelligenceFile: null, roles: [] }
|
const defaultForm = { id: null, username: null, nickName: null, enabled: 'false', password: null, phone: null, area: null, spot: null, role: null, intelligence: null, intelligenceFile: null, files: [], roles: [] }
|
||||||
export default {
|
export default {
|
||||||
name: 'User',
|
name: 'User',
|
||||||
components: { Treeselect, crudOperation, rrOperation, udOperation, pagination, DateRangePicker },
|
components: { Treeselect, crudOperation, rrOperation, udOperation, pagination, DateRangePicker },
|
||||||
@ -279,7 +280,6 @@ export default {
|
|||||||
edit: ['admin', 'user:edit'],
|
edit: ['admin', 'user:edit'],
|
||||||
del: ['admin', 'user:del']
|
del: ['admin', 'user:del']
|
||||||
},
|
},
|
||||||
fileList: [],
|
|
||||||
uploadDisabled: false,
|
uploadDisabled: false,
|
||||||
dialogVisible: false,
|
dialogVisible: false,
|
||||||
loading: false,
|
loading: false,
|
||||||
@ -305,18 +305,10 @@ export default {
|
|||||||
intelligence: [
|
intelligence: [
|
||||||
{ required: true, message: '飞行资质不能为空', trigger: 'blur' }
|
{ required: true, message: '飞行资质不能为空', trigger: 'blur' }
|
||||||
],
|
],
|
||||||
|
files: [
|
||||||
|
{ required: true, message: '请上传资质文件', trigger: 'change' }
|
||||||
|
],
|
||||||
role: [
|
role: [
|
||||||
// {
|
|
||||||
// validator: (rule, value, callback) => {
|
|
||||||
// value = this.jobDatas
|
|
||||||
// if (!value || value.length === 0) {
|
|
||||||
// callback(new Error('请选择至少一个角色'))
|
|
||||||
// } else {
|
|
||||||
// callback()
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
// trigger: 'change'
|
|
||||||
// },
|
|
||||||
{ required: true, message: '角色不能为空', trigger: 'blur' }
|
{ required: true, message: '角色不能为空', trigger: 'blur' }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -352,6 +344,7 @@ export default {
|
|||||||
handleRemove(file, uploadFiles) {
|
handleRemove(file, uploadFiles) {
|
||||||
this.$refs['uploadRef'].clearFiles()
|
this.$refs['uploadRef'].clearFiles()
|
||||||
this.form.intelligenceFile = null
|
this.form.intelligenceFile = null
|
||||||
|
this.form.files = [];
|
||||||
this.uploadDisabled = false
|
this.uploadDisabled = false
|
||||||
console.log(this.form)
|
console.log(this.form)
|
||||||
},
|
},
|
||||||
@ -359,7 +352,7 @@ export default {
|
|||||||
handleChange(file, uploadFiles) {
|
handleChange(file, uploadFiles) {
|
||||||
if (file.raw.type === 'image/png' || file.raw.type === 'image/jpeg' || file.raw.type === 'image/jpg' || file.raw.type === 'image/gif') {
|
if (file.raw.type === 'image/png' || file.raw.type === 'image/jpeg' || file.raw.type === 'image/jpg' || file.raw.type === 'image/gif') {
|
||||||
this.loading = true
|
this.loading = true
|
||||||
this.fileList = uploadFiles
|
this.form.files = uploadFiles
|
||||||
this.uploadDisabled = true
|
this.uploadDisabled = true
|
||||||
try {
|
try {
|
||||||
// const formdata = new FormData();
|
// const formdata = new FormData();
|
||||||
@ -530,7 +523,6 @@ export default {
|
|||||||
changeEnabled(data, val) {
|
changeEnabled(data, val) {
|
||||||
this.$confirm('此操作将 "' + this.dict.label.user_status[val] + '" ' + data.username + ', 是否继续?', '提示', {
|
this.$confirm('此操作将 "' + this.dict.label.user_status[val] + '" ' + data.username + ', 是否继续?', '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
crudUser.edit(data).then(res => {
|
crudUser.edit(data).then(res => {
|
||||||
|
Loading…
Reference in New Issue
Block a user