|
|
export default {
|
|
|
name: 'systemConf',
|
|
|
template: '',
|
|
|
components: {},
|
|
|
data() {
|
|
|
return {
|
|
|
radio: '0',
|
|
|
docRulesForm: {
|
|
|
name: [{
|
|
|
required: true,
|
|
|
message: '请填写名称!',
|
|
|
trigger: 'blur',
|
|
|
}],
|
|
|
code: [{
|
|
|
required: true,
|
|
|
message: '请填写编码!',
|
|
|
trigger: 'blur',
|
|
|
}],
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
props: {},
|
|
|
setup: function (props, {attrs, slots, emit}) {
|
|
|
const {proxy} = Vue.getCurrentInstance();
|
|
|
let height = Vue.ref(window.innerHeight);
|
|
|
let search = Vue.ref({
|
|
|
keyword: '',
|
|
|
type: '',
|
|
|
groupId:'',
|
|
|
page: 1,
|
|
|
limit: 10,
|
|
|
});
|
|
|
let count = Vue.ref(0);
|
|
|
let columns = Vue.ref([
|
|
|
{
|
|
|
prop: 'name',
|
|
|
label: '名称',
|
|
|
sortable: true,
|
|
|
align: 'center'
|
|
|
},
|
|
|
{
|
|
|
prop: 'img',
|
|
|
label: '图片',
|
|
|
sortable: true,
|
|
|
align: 'center',
|
|
|
width: '300'
|
|
|
},
|
|
|
{
|
|
|
prop: 'type',
|
|
|
label: '类型',
|
|
|
sortable: true,
|
|
|
align: 'center',
|
|
|
width: '200'
|
|
|
},
|
|
|
{
|
|
|
prop: 'createTime',
|
|
|
label: '创建时间',
|
|
|
sortable: true,
|
|
|
align: 'center',
|
|
|
width: '230'
|
|
|
}
|
|
|
])
|
|
|
let activeName = Vue.ref('default');
|
|
|
//刷新页面
|
|
|
let hasRefresh = Vue.ref(true);
|
|
|
//ip地址
|
|
|
let domainName = Vue.ref(sessionStorage.getItem('domainName') + "/api-web/file/down?code=");
|
|
|
let fileFrom = Vue.ref({
|
|
|
id: '',
|
|
|
pid: '',
|
|
|
name: '',
|
|
|
fileName: '',
|
|
|
code: '',
|
|
|
groupId: '',
|
|
|
type: '',
|
|
|
file: '',
|
|
|
createTime: '',
|
|
|
uploadFile:''
|
|
|
});
|
|
|
//上传完后的图片预览
|
|
|
let imageUrl = Vue.ref('');
|
|
|
let tableDataList = Vue.ref([]);
|
|
|
let isAdd = Vue.ref(true);
|
|
|
let beforeAvatarUpload = (file) => {
|
|
|
const isJPG = file.type.indexOf('image/') != -1
|
|
|
if (!isJPG) {
|
|
|
fileFrom.value.type ='file';
|
|
|
}else {
|
|
|
fileFrom.value.type ='img';
|
|
|
}
|
|
|
return isJPG
|
|
|
}
|
|
|
//获取配置列表
|
|
|
let getDataList = () => {
|
|
|
let params = {
|
|
|
page: search.value.page,
|
|
|
limit: search.value.limit,
|
|
|
groupId:search.value.groupId,
|
|
|
type: search.value.type,
|
|
|
keywords: search.value.keyword
|
|
|
}
|
|
|
proxy.$http.get(`/api-web/file/page`, params, function (res) {
|
|
|
if (res && res.data) {
|
|
|
count.value = res.count;
|
|
|
tableDataList.value = res.data;
|
|
|
} else {
|
|
|
count.value = 0;
|
|
|
tableDataList.value = '暂无数据';
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
//删除
|
|
|
let handleDelete = (row) => {
|
|
|
let param = {
|
|
|
idList: row.id
|
|
|
}
|
|
|
proxy.$http.get(`/api-web/file/delete`, param, function (res) {
|
|
|
if (res && res.success == true) {
|
|
|
proxy.$global.showMsg('删除成功','success');
|
|
|
getDataList();
|
|
|
}else {
|
|
|
proxy.$global.showMsg('删除失败','warning');
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
// 下载
|
|
|
let download = (row) => {
|
|
|
let params={
|
|
|
code:row.code
|
|
|
}
|
|
|
proxy.$http.downloadFile('/api-web/file/down',params);
|
|
|
}
|
|
|
let getFile = (param) => {
|
|
|
fileFrom.value.uploadFile = param.file;
|
|
|
fileFrom.value.fileName = param.file.name;
|
|
|
}
|
|
|
|
|
|
let cacheVisible = Vue.ref(false);
|
|
|
let openAddFile = () => {
|
|
|
cacheVisible.value = true;
|
|
|
}
|
|
|
//保存
|
|
|
let addFile = () => {
|
|
|
|
|
|
}
|
|
|
//关闭弹框
|
|
|
let cancelBtn = () => {
|
|
|
cacheVisible.value = false;
|
|
|
}
|
|
|
//修改
|
|
|
let handleUpdate = (row) => {
|
|
|
cacheVisible.value = true;
|
|
|
fileFrom.value = row;
|
|
|
isAdd.value = false;
|
|
|
}
|
|
|
let addFrom = () => {
|
|
|
let params = fileFrom.value;
|
|
|
debugger
|
|
|
if (isAdd.value){
|
|
|
proxy.$http.uploadFile("/api-web/file/add", params, function (res) {
|
|
|
hasRefresh.value = false;
|
|
|
if (res && res.success) {
|
|
|
proxy.$global.showMsg("新增成功!");
|
|
|
cacheVisible.value = false;
|
|
|
getDataList();
|
|
|
}
|
|
|
|
|
|
})
|
|
|
}else {
|
|
|
proxy.$http.uploadFile("/api-web/file/update", params, function (res) {
|
|
|
hasRefresh.value = false;
|
|
|
if (res && res.success) {
|
|
|
proxy.$global.showMsg("修改成功!");
|
|
|
cacheVisible.value = false;
|
|
|
getDataList();
|
|
|
}
|
|
|
|
|
|
})
|
|
|
}
|
|
|
|
|
|
}
|
|
|
// 挂载完
|
|
|
Vue.onMounted(() => {
|
|
|
getDataList();
|
|
|
})
|
|
|
return {
|
|
|
hasRefresh,
|
|
|
height,
|
|
|
activeName,
|
|
|
beforeAvatarUpload,
|
|
|
imageUrl,
|
|
|
getFile,
|
|
|
domainName,
|
|
|
tableDataList,
|
|
|
getDataList,
|
|
|
search,
|
|
|
count,
|
|
|
columns,
|
|
|
handleDelete,
|
|
|
download,
|
|
|
fileFrom,
|
|
|
cacheVisible,
|
|
|
openAddFile,
|
|
|
addFile,
|
|
|
cancelBtn,
|
|
|
addFrom,
|
|
|
handleUpdate,
|
|
|
isAdd
|
|
|
}
|
|
|
}
|
|
|
} |
...
|
...
|
|