This commit is contained in:
xiao-fajia 2024-08-13 10:43:07 +08:00
commit dade73dfda
99 changed files with 3791 additions and 49 deletions

View File

@ -21,3 +21,6 @@ VUE_APP_DOC_ENABLE = true
# 百度统计
VUE_APP_BAIDU_CODE = fadc1bd5db1a1d6f581df60a1807f8ab
# 大屏设计器服务
VUE_APP_BIG_SCREEN_SERVER = 'http://127.0.0.1:3000'

View File

@ -21,3 +21,6 @@ VUE_APP_DOC_ENABLE = true
# 百度统计
VUE_APP_BAIDU_CODE = fadc1bd5db1a1d6f581df60a1807f8ab
# 大屏设计器服务
VUE_APP_BIG_SCREEN_SERVER = 'http://127.0.0.1:3000'

View File

@ -23,3 +23,6 @@ VUE_APP_DOC_ENABLE = false
# 百度统计
VUE_APP_BAIDU_CODE = fadc1bd5db1a1d6f581df60a1807f8ab
# 大屏设计器服务
VUE_APP_BIG_SCREEN_SERVER = 'http://127.0.0.1:3000'

View File

@ -23,3 +23,6 @@ VUE_APP_DOC_ENABLE = false
# 百度统计
VUE_APP_BAIDU_CODE = fadc1bd5db1a1d6f581df60a1807f8ab
# 大屏设计器服务
VUE_APP_BIG_SCREEN_SERVER = 'http://127.0.0.1:3000'

View File

@ -23,3 +23,6 @@ VUE_APP_DOC_ENABLE = true
# 百度统计
VUE_APP_BAIDU_CODE = fadc1bd5db1a1d6f581df60a1807f8ab
# 大屏设计器服务
VUE_APP_BIG_SCREEN_SERVER = 'http://127.0.0.1:3000'

View File

@ -0,0 +1,38 @@
import request from '@/utils/request'
export function findAll(params) {
return request({
url: '/knowledge/system/course/findAll',
method: 'get',
params
})
}
export function deleteBatch(ids) {
return request({
url: '/knowledge/system/course/delete?idList=' + ids,
method: 'post',
})
}
export function findOne(id) {
return request({
url: '/knowledge/system/course/findOne?id=' + id,
method: 'get'
})
}
export function courseInsert(data) {
return request({
url: '/knowledge/system/course/insert',
method: 'post',
data
})
}
export function courseUpdate(data) {
return request({
url: '/knowledge/system/course/update',
method: 'post',
data
})
}

View File

@ -0,0 +1,31 @@
import request from '@/utils/request'
export function coursePushFindList() {
return request({
url: '/knowledge/system/coursePush/findList',
method: 'get'
})
}
export function getPushConfig() {
return request({
url: '/knowledge/system/coursePush/getPushConfig',
method: 'get'
})
}
export function coursePushSave(data) {
return request({
url: '/knowledge/system/coursePush/save',
method: 'post',
data
})
}
export function coursePushConfig(data) {
return request({
url: '/knowledge/system/coursePush/pushConfig',
method: 'post',
data
})
}

View File

@ -0,0 +1,31 @@
import request from '@/utils/request'
export function getTree(params) {
return request({
url: '/knowledge/system/courseDirectory/tree',
method: 'get',
params
})
}
export function directorySave(data) {
return request({
url: '/knowledge/system/courseDirectory/insert',
method: 'post',
data
})
}
export function directoryDelete(id) {
return request({
url: '/knowledge/system/courseDirectory/delete?id=' + id,
method: 'post'
})
}
export function directoryUpdate(data) {
return request({
url: '/knowledge/system/courseDirectory/update',
method: 'post',
data
})
}

View File

@ -0,0 +1,81 @@
import request from '@/utils/request'
import download from '@/utils/request';
// 获取员工列表
export function getUserList() {
return request({
url: '/knowledge/doMonitor/getPeoPleList',
method: 'get',
data: {}
})
}
// 获取员工列表
export function delExpertById(param) {
return request({
url: '/knowledge/expert/deleteById',
method: 'post',
params: param
})
}
export function findOne(query) {
return request({
url: '/knowledge/doMonitor/findOne',
method: 'get',
params: query
})
}
export function findAll(query) {
return request({
url: '/knowledge/expert/findAll',
method: 'post',
data: query
})
}
export function tagFindList(query) {
return request({
url: '/knowledge/system/expertMaintenance/findAll',
method: 'get',
params: query
})
}
export function creExpert(query) {
return request({
url: '/knowledge/expert/creExpert',
method: 'post',
data: query
})
}
export function save(query) {
return request({
url: '/knowledge/expert/import',
method: 'post',
data: query
})
}
export function exportData(url, params, filename, config) {
return download({
url:url,
params:null,
filename:filename,
config:null
})
}
export function getDetail(query) {
return request({
url: '/knowledge/expert/findOne',
method: 'get',
params: query
})
}

View File

@ -0,0 +1,36 @@
import request from '@/utils/request'
export function expertZoneFindAll(params) {
return request({
url: '/knowledge/expertZone/findList',
method: 'get',
params
})
}
export function expertZoneDeleteBatch(ids) {
return request({
url: '/knowledge/expertZone/delete?idList=' + ids,
method: 'post'
})
}
export function expertZoneFindOne(id) {
return request({
url: '/knowledge/expertZone/delete?idList=' + id,
method: 'post'
})
}
export function expertZoneSave(data) {
return request({
url: '/knowledge/expertZone/save',
method: 'post',
data
})
}
export function expertZoneUpdate(data) {
return request({
url: '/knowledge/expertZone/update',
method: 'post',
data
})
}

View File

@ -0,0 +1,43 @@
import request from '@/utils/request'
export function zoneCollectionFindAll(params) {
return request({
url: '/knowledge/zoneCollection/findList',
method: 'get',
params
})
}
export function zoneCollectionDeleteBatch(ids) {
return request({
url: '/knowledge/zoneCollection/delete?idList=' + ids,
method: 'post'
})
}
export function zoneCollectionFindOne(id) {
return request({
url: '/knowledge/zoneCollection/delete?idList=' + id,
method: 'post'
})
}
export function zoneCollectionSave(data) {
return request({
url: '/knowledge/zoneCollection/save',
method: 'post',
data
})
}
export function zoneCollectionUpdate(data) {
return request({
url: '/knowledge/zoneCollection/update',
method: 'post',
data
})
}
export function dealCollection(id) {
return request({
url: '/knowledge/zoneCollection/dealCollection/'+id,
method: 'post',
})
}

View File

@ -0,0 +1,36 @@
import request from '@/utils/request'
export function zoneCommentFindAll(params) {
return request({
url: '/knowledge/zoneComment/findList',
method: 'get',
params
})
}
export function zoneCommentDeleteBatch(ids) {
return request({
url: '/knowledge/zoneComment/delete?idList=' + ids,
method: 'post'
})
}
export function zoneCommentFindOne(id) {
return request({
url: '/knowledge/zoneComment/delete?idList=' + id,
method: 'post'
})
}
export function zoneCommentSave(data) {
return request({
url: '/knowledge/zoneComment/save',
method: 'post',
data
})
}
export function zoneCommentUpdate(data) {
return request({
url: '/knowledge/zoneComment/update',
method: 'post',
data
})
}

View File

@ -0,0 +1,36 @@
import request from '@/utils/request'
export function expertFindAll(params) {
return request({
url: '/knowledge/system/tExpert/findList',
method: 'get',
params:params
})
}
export function expertDeleteBatch(ids) {
return request({
url: '/knowledge/system/tExpert/delete?idList=' + ids,
method: 'post'
})
}
export function expertFindOne(id) {
return request({
url: '/knowledge/system/tExpert/delete?idList=' + id,
method: 'post'
})
}
export function expertSave(data) {
return request({
url: '/knowledge/system/tExpert/save',
method: 'post',
data
})
}
export function expertUpdate(data) {
return request({
url: '/knowledge/system/tExpert/update',
method: 'post',
data
})
}

View File

@ -0,0 +1,36 @@
import request from '@/utils/request'
export function expertMaintenanceFindAll(params) {
return request({
url: '/knowledge/system/expertMaintenance/findList',
method: 'get',
params
})
}
export function expertMaintenanceDeleteBatch(ids) {
return request({
url: '/knowledge/system/expertMaintenance/delete?idList=' + ids,
method: 'post'
})
}
export function expertMaintenanceFindOne(id) {
return request({
url: '/knowledge/system/expertMaintenance/delete?idList=' + id,
method: 'post'
})
}
export function expertMaintenanceSave(data) {
return request({
url: '/knowledge/system/expertMaintenance/save',
method: 'post',
data
})
}
export function expertMaintenanceUpdate(data) {
return request({
url: '/knowledge/system/expertMaintenance/update',
method: 'post',
data
})
}

View File

@ -0,0 +1,58 @@
import request from '@/utils/request'
export function headCardListStatistics(query) {
return request({
url: '/knowledge/knowledgeStatistics/headCardListStatistics',
method: 'get',
params: query
})
}
export function violationStatistics(query) {
return request({
url: '/knowledge/knowledgeStatistics/violationStatistics',
method: 'get',
params: query
})
}
export function lawsAndRegulationsStatistics(query) {
return request({
url: '/knowledge/knowledgeStatistics/lawsAndRegulationsStatistics',
method: 'get',
params: query
})
}
export function biddingStatistics(query) {
return request({
url: '/knowledge/knowledgeStatistics/biddingStatistics',
method: 'get',
params: query
})
}
export function lessonDailyStatistics(query) {
return request({
url: '/knowledge/knowledgeStatistics/lessonDailyStatistics',
method: 'get',
params: query
})
}
export function lessonDailyCompleteStatistics(query) {
return request({
url: '/knowledge/knowledgeStatistics/lessonDailyCompleteStatistics',
method: 'get',
params: query
})
}
export function lessonDailyStudyStatistics(query) {
return request({
url: '/knowledge/knowledgeStatistics/lessonDailyStudyStatistics',
method: 'get',
params: query
})
}

View File

@ -0,0 +1,69 @@
import request from '@/utils/request'
import download from '@/utils/request';
// 查询角色列表
export function findAll(query) {
return request({
url: '/knowledge/tLaws/findAll',
method: 'post',
data: query
})
}
export function findOne(query) {
return request({
url: '/knowledge/tLaws/findOne',
method: 'get',
params: query
})
}
export function recordsQuery(query) {
return request({
url: '/knowledge/tLaws/recordsQuery',
method: 'get',
params: query
})
}
export function addNew(query) {
return request({
url: '/knowledge/tLaws/insert',
method: 'post',
data: query
})
}
export function updateData(query) {
return request({
url: '/knowledge/tLaws/update',
method: 'post',
data: query
})
}
export function filing(query) {
return request({
url: '/knowledge/tLaws/filing',
method: 'get',
params: query
})
}
export function deleteData(ids) {
return request({
url: '/knowledge/tLaws/delete',
method: 'post',
params:ids
})
}
export function exportData(url, params, filename, config) {
return download({
url:url,
params:null,
filename:filename,
config:null
})
}

View File

@ -0,0 +1,96 @@
import request from '@/utils/request'
import download from '@/utils/request';
// 查询角色列表
export function findAll(query) {
return request({
url: '/knowledge/bidManagement/page',
method: 'post',
data: query
})
}
export function findOnePlan(query) {
return request({
url: '/knowledge/bidManagement/findOnePlan',
method: 'get',
params: query
})
}
export function findOneConf(query) {
return request({
url: '/knowledge/bidManagement/findOneConf',
method: 'get',
params: query
})
}
export function insertPlan(query) {
return request({
url: '/knowledge/bidManagement/insertPlan',
method: 'post',
data: query
})
}
export function insertConf(query) {
return request({
url: '/knowledge/bidManagement/insertConf',
method: 'post',
data: query
})
}
export function updatePlan(query) {
return request({
url: '/knowledge/bidManagement/updatePlan',
method: 'post',
data: query
})
}
export function updateConf(query) {
return request({
url: '/knowledge/bidManagement/updateConf',
method: 'post',
data: query
})
}
export function deleteData(ids) {
return request({
url: '/knowledge/bidManagement/delete',
method: 'post',
params:ids
})
}
export function filingPlan(query) {
return request({
url: '/knowledge/bidManagement/filingPlan',
method: 'get',
params: query
})
}
export function filingConf(query) {
return request({
url: '/knowledge/bidManagement/filingConf',
method: 'get',
params: query
})
}
export function exportData(url, params, filename, config) {
return download({
url:url,
params:null,
filename:filename,
config:null
})
}

View File

@ -0,0 +1,24 @@
import request from '@/utils/request'
export function findAll(params) {
return request({
url: '/knowledge/system/course/findAll',
method: 'get',
params
})
}
export function deleteBatch(ids) {
return request({
url: '/knowledge/system/course/delete?idList=' + ids,
method: 'post',
})
}
export function findOne(id) {
return request({
url: '/knowledge/system/course/findOne?id=' + id,
method: 'get'
})
}

View File

@ -0,0 +1,31 @@
import request from '@/utils/request'
export function getTree(params) {
return request({
url: '/knowledge/system/courseDirectory/tree',
method: 'get',
params
})
}
export function directorySave(data) {
return request({
url: '/knowledge/system/courseDirectory/insert',
method: 'post',
data
})
}
export function directoryDelete(id) {
return request({
url: '/knowledge/system/courseDirectory/delete?id=' + id,
method: 'post'
})
}
export function directoryUpdate(data) {
return request({
url: '/knowledge/system/courseDirectory/update',
method: 'post',
data
})
}

View File

@ -0,0 +1,69 @@
import request from '@/utils/request'
import download from '@/utils/request';
// 查询角色列表
export function findAll(query) {
return request({
url: '/knowledge/tLaws/findAll',
method: 'post',
data: query
})
}
export function findOne(query) {
return request({
url: '/knowledge/tLaws/findOne',
method: 'get',
params: query
})
}
export function recordsQuery(query) {
return request({
url: '/knowledge/tLaws/recordsQuery',
method: 'get',
params: query
})
}
export function addNew(query) {
return request({
url: '/knowledge/tLaws/insert',
method: 'post',
data: query
})
}
export function updateData(query) {
return request({
url: '/knowledge/tLaws/update',
method: 'post',
data: query
})
}
export function filing(query) {
return request({
url: '/knowledge/tLaws/filing',
method: 'get',
params: query
})
}
export function deleteData(ids) {
return request({
url: '/knowledge/tLaws/delete',
method: 'post',
params:ids
})
}
export function exportData(url, params, filename, config) {
return download({
url:url,
params:null,
filename:filename,
config:null
})
}

View File

@ -0,0 +1,78 @@
import request from '@/utils/request'
import download from '@/utils/request';
// 新建操作文件
export function getUserList() {
return request({
url: '/monitor/doMonitor/getPeoPleList',
method: 'get',
data: {}
})
}
// 新建操作文件
export function creCzData(param) {
return request({
url: '/knowledge/operateDocument/creNewCz',
method: 'post',
data: param
})
}
// 新建产品
export function creCpData(param) {
return request({
url: '/knowledge/operateDocument/creNewCp',
method: 'post',
data: param
})
}
// 新建
export function creGyData(param) {
return request({
url: '/knowledge/operateDocument/creNewGy',
method: 'post',
data: param
})
}
// 查询角色列表
export function findAll(query) {
return request({
url: '/knowledge/operateDocument/queryDoc',
method: 'post',
data: query
})
}
export function findOne(query) {
return request({
url: '/knowledge/operateDocument/findOne',
method: 'get',
params: query
})
}
export function deleteData(ids) {
return request({
url: '/knowledge/operateDocument/deleteDoc',
method: 'post',
params:ids
})
}
export function exportData(url, params, filename, config) {
return download({
url:url,
params:null,
filename:filename,
config:null
})
}

View File

@ -0,0 +1,45 @@
import request from '@/utils/request'
//查询题库树
export function getTree() {
return request({
url: '/knowledge/system/questionBank/tree',
method: 'get'
})
}
//查询题库树
export function getById(id) {
return request({
url: '/knowledge/system/questionBank/getById',
method: 'get',
params:id
})
}
//新增题库树
export function addTree(data) {
return request({
url: '/knowledge/system/questionBank/insert',
method: 'post',
data: data
})
}
//修改题库树
export function update(data) {
return request({
url: '/knowledge/system/questionBank/update',
method: 'post',
data: data
})
}
//删除题库树
export function deleteTree(idList) {
return request({
url: '/knowledge/system/questionBank/delete',
method: 'post',
params:idList
})
}

View File

@ -0,0 +1,46 @@
import request from '@/utils/request'
// 获取题干列表
export function getStemList(params) {
return request({
url: '/knowledge/system/questionStem/findAll',
method: 'get',
params
}
)
}
//新增题干
export function insertStem(data) {
return request({
url: '/knowledge/system/questionStem/insert',
method: 'post',
data:data
}
)
}
//修改题干
export function updateStem(data) {
return request({
url: '/knowledge/system/questionStem/update',
method: 'post',
data
}
)
}
//删除题干
export function deleteStem(idList) {
return request({
url: '/knowledge/system/questionStem/delete',
method: 'post',
params:idList
}
)
}
//查看试题详情
export function findOneStem(id) {
return request({
url: '/knowledge/system/questionStem/findOne?id='+id,
method: 'get'
}
)
}

View File

@ -0,0 +1,69 @@
import request from '@/utils/request'
import download from '@/utils/request';
// 查询角色列表
export function findAll(query) {
return request({
url: '/knowledge/tRegulatoryFramework/findAll',
method: 'post',
data: query
})
}
export function findOne(query) {
return request({
url: '/knowledge/tRegulatoryFramework/findOne',
method: 'get',
params: query
})
}
export function recordsQuery(query) {
return request({
url: '/knowledge/tRegulatoryFramework/recordsQuery',
method: 'get',
params: query
})
}
export function addNew(query) {
return request({
url: '/knowledge/tRegulatoryFramework/insert',
method: 'post',
data: query
})
}
export function updateData(query) {
return request({
url: '/knowledge/tRegulatoryFramework/update',
method: 'post',
data: query
})
}
export function filing(query) {
return request({
url: '/knowledge/tRegulatoryFramework/filing',
method: 'get',
params: query
})
}
export function deleteData(ids) {
return request({
url: '/knowledge/tRegulatoryFramework/delete',
method: 'post',
params:ids
})
}
export function exportData(url, params, filename, config) {
return download({
url:url,
params:null,
filename:filename,
config:null
})
}

View File

@ -0,0 +1,47 @@
import request from '@/utils/request'
// 文件查看
export function findAll(query) {
return request({
url: '/knowledge/system/tArchives/findAll',
method: 'get',
params: query
})
}
//文件保存/新建文件夹
export function save(data) {
return request({
url: '/knowledge/system/tArchives/save',
method: 'post',
data: data
})
}
// 删除文件或文件夹
export function delByIds(ids) {
return request({
url: '/knowledge/system/tArchives/delete',
method: 'post',
params:ids
})
}
// 彻底删除
export function ackDelete(ids) {
return request({
url: '/knowledge/system/tArchives/ackDelete',
method: 'post',
params:ids
})
}
// 还原
export function restore(ids) {
return request({
url: '/knowledge/system/tArchives/restore',
method: 'post',
params:ids
})
}

View File

@ -0,0 +1,63 @@
import request from '@/utils/request'
import download from '@/utils/request';
// 查询角色列表
export function findAll(query) {
return request({
url: '/knowledge/tViolation/findAll',
method: 'post',
data: query
})
}
export function findOne(query) {
return request({
url: '/knowledge/tViolation/findOne',
method: 'get',
params: query
})
}
export function push(query) {
return request({
url: '/knowledge/tViolation/push',
method: 'get',
params: query
})
}
export function addNew(query) {
return request({
url: '/knowledge/tViolation/insert',
method: 'post',
data: query
})
}
export function updateData(query) {
return request({
url: '/knowledge/tViolation/update',
method: 'post',
data: query
})
}
export function deleteData(ids) {
return request({
url: '/knowledge/tViolation/delete',
method: 'post',
params:ids
})
}
export function exportData(url, params, filename, config) {
return download({
url:url,
params:null,
filename:filename,
config:null
})
}

View File

@ -0,0 +1,69 @@
import request from '@/utils/request'
import download from '@/utils/request';
// 查询角色列表
export function findAll(query) {
return request({
url: '/knowledge/tMap/findAll',
method: 'post',
data: query
})
}
export function findOne(query) {
return request({
url: '/knowledge/tMap/findOne',
method: 'get',
params: query
})
}
export function addNew(query) {
return request({
url: '/knowledge/tMap/insert',
method: 'post',
data: query
})
}
export function updateData(query) {
return request({
url: '/knowledge/tMap/update',
method: 'post',
data: query
})
}
export function insertNode(query) {
return request({
url: '/knowledge/tMap/insertNode',
method: 'post',
data: query
})
}
export function updateNode(query) {
return request({
url: '/knowledge/tMap/updateNode',
method: 'post',
data: query
})
}
export function deleteNode(query) {
return request({
url: '/knowledge/tMap/deleteNode',
method: 'get',
params: query
})
}
export function deleteData(ids) {
return request({
url: '/knowledge/tMap/delete',
method: 'post',
params:ids
})
}

View File

@ -0,0 +1,108 @@
import request from '@/utils/request'
import download from '@/utils/request';
// 获取员工列表
export function getUserList() {
return request({
url: '/knowledge/doMonitor/getPeoPleList',
method: 'get',
data: {}
})
}
// 获取文件列表
export function getFileList() {
return request({
url: '/knowledge/doMonitor/getFileList',
method: 'get',
data: {}
})
}
// 落库
export function creMonitor(param) {
return request({
url: '/knowledge/doMonitor/creMonitor',
method: 'post',
data: param
})
}
// 查询角色列表
export function findAll(query) {
return request({
url: '/knowledge/doMonitor/findAll',
method: 'post',
data: query
})
}
export function findTask(query) {
return request({
url: '/knowledge/doMonitor/findTask',
method: 'post',
data: query
})
}
// 删除
export function deleteData(ids) {
return request({
url: '/knowledge/doMonitor/deleteMonitor',
method: 'post',
params:ids
})
}
export function findOne(query) {
return request({
url: '/knowledge/doMonitor/findOne',
method: 'get',
params: query
})
}
export function findOwn(query) {
return request({
url: '/knowledge/doMonitor/findOwn',
method: 'get',
params: query
})
}
export function chgState(param) {
return request({
url: '/knowledge/doMonitor/changeState',
method: 'post',
data: param
})
}
export function fillInfo(param) {
return request({
url: '/knowledge/doMonitor/fillInfo',
method: 'post',
data: param
})
}
export function upReport(param) {
return request({
url: '/knowledge/doMonitor/upReport',
method: 'post',
params: param
})
}
export function exportData(url, params, filename, config) {
return download({
url:url,
params:null,
filename:filename,
config:null
})
}

View File

@ -0,0 +1,54 @@
import request from '@/utils/request'
import download from '@/utils/request';
// 查询角色列表
export function findAll(query) {
return request({
url: '/knowledge/tMonthlyProjectPurchase/findAll',
method: 'post',
data: query
})
}
export function findOne(query) {
return request({
url: '/knowledge/tMonthlyProjectPurchase/findOne',
method: 'get',
params: query
})
}
export function addNew(query) {
return request({
url: '/knowledge/tMonthlyProjectPurchase/insert',
method: 'post',
data: query
})
}
export function updateData(query) {
return request({
url: '/knowledge/tMonthlyProjectPurchase/update',
method: 'post',
data: query
})
}
export function deleteData(ids) {
return request({
url: '/knowledge/tMonthlyProjectPurchase/delete',
method: 'post',
params:ids
})
}
export function exportData(url, params, filename, config) {
return download({
url:url,
params:null,
filename:filename,
config:null
})
}

View File

@ -0,0 +1,91 @@
import request from '@/utils/request'
import download from '@/utils/request';
// 新建操作文件
export function creCzData(param) {
return request({
url: '/knowledge/operateDocument/creNewCz',
method: 'post',
data: param
})
}
// 新建产品
export function creCpData(param) {
return request({
url: '/knowledge/operateDocument/creNewCp',
method: 'post',
data: param
})
}
// 新建
export function creGyData(param) {
return request({
url: '/knowledge/operateDocument/creNewGy',
method: 'post',
data: param
})
}
// 查询角色列表
export function findAll(query) {
return request({
url: '/knowledge/tLaws/findAll',
method: 'post',
data: query
})
}
export function findOne(query) {
return request({
url: '/knowledge/tLaws/findOne',
method: 'get',
params: query
})
}
export function recordsQuery(query) {
return request({
url: '/knowledge/tLaws/recordsQuery',
method: 'get',
params: query
})
}
export function updateData(query) {
return request({
url: '/knowledge/tLaws/update',
method: 'post',
data: query
})
}
export function filing(query) {
return request({
url: '/knowledge/tLaws/filing',
method: 'get',
params: query
})
}
export function deleteData(ids) {
return request({
url: '/knowledge/tLaws/delete',
method: 'post',
params:ids
})
}
export function exportData(url, params, filename, config) {
return download({
url:url,
params:null,
filename:filename,
config:null
})
}

View File

@ -0,0 +1,78 @@
import request from '@/utils/request'
import download from '@/utils/request';
// 新建操作文件
export function getUserList() {
return request({
url: '/monitor/doMonitor/getPeoPleList',
method: 'get',
data: {}
})
}
// 新建操作文件
export function creCzData(param) {
return request({
url: '/knowledge/operateDocument/creNewCz',
method: 'post',
data: param
})
}
// 新建产品
export function creCpData(param) {
return request({
url: '/knowledge/operateDocument/creNewCp',
method: 'post',
data: param
})
}
// 新建
export function creGyData(param) {
return request({
url: '/knowledge/operateDocument/creNewCp',
method: 'post',
data: param
})
}
// 查询角色列表
export function findAll(query) {
return request({
url: '/knowledge/operateDocument/queryDoc',
method: 'post',
data: query
})
}
export function findOne(query) {
return request({
url: '/knowledge/operateDocument/findOne',
method: 'get',
params: query
})
}
export function deleteData(ids) {
return request({
url: '/knowledge/operateDocument/deleteDoc',
method: 'post',
params:ids
})
}
export function exportData(url, params, filename, config) {
return download({
url:url,
params:null,
filename:filename,
config:null
})
}

View File

@ -0,0 +1,65 @@
import request from '@/utils/request'
// 文件查看
export function findAll(query) {
return request({
url: '/knowledge/system/tOtherArchives/findAll',
method: 'get',
params: query
})
}
// 文件查看
export function findAllDocList(query) {
return request({
url: '/knowledge/system/tOtherArchives/findAllDocList',
method: 'get',
params: query
})
}
// 文件查看
export function getParentId(query) {
return request({
url: '/knowledge/system/tOtherArchives/getParentId',
method: 'get',
params: query
})
}
//文件保存/新建文件夹
export function save(data) {
return request({
url: '/knowledge/system/tOtherArchives/save',
method: 'post',
data: data
})
}
// 删除文件或文件夹
export function delByIds(ids) {
return request({
url: '/knowledge/system/tOtherArchives/delete',
method: 'post',
params:ids
})
}
// 彻底删除
export function ackDelete(ids) {
return request({
url: '/knowledge/system/tOtherArchives/ackDelete',
method: 'post',
params:ids
})
}
// 还原
export function restore(ids) {
return request({
url: '/knowledge/system/tOtherArchives/restore',
method: 'post',
params:ids
})
}

View File

@ -0,0 +1,9 @@
import request from '@/utils/request'
export function judge(query) {
return request({
url: '/knowledge/previewFile/judge',
method: 'get',
params: query
})
}

View File

@ -0,0 +1,45 @@
import request from '@/utils/request'
//查询题库树
export function getTree() {
return request({
url: '/knowledge/system/questionBank/tree',
method: 'get'
})
}
//查询题库树
export function getById(id) {
return request({
url: '/knowledge/system/questionBank/getById',
method: 'get',
params:id
})
}
//新增题库树
export function addTree(data) {
return request({
url: '/knowledge/system/questionBank/insert',
method: 'post',
data: data
})
}
//修改题库树
export function update(data) {
return request({
url: '/knowledge/system/questionBank/update',
method: 'post',
data: data
})
}
//删除题库树
export function deleteTree(idList) {
return request({
url: '/knowledge/system/questionBank/delete',
method: 'post',
params:idList
})
}

View File

@ -0,0 +1,46 @@
import request from '@/utils/request'
// 获取题干列表
export function getStemList(params) {
return request({
url: '/knowledge/system/questionStem/findAll',
method: 'get',
params
}
)
}
//新增题干
export function insertStem(data) {
return request({
url: '/knowledge/system/questionStem/insert',
method: 'post',
data:data
}
)
}
//修改题干
export function updateStem(data) {
return request({
url: '/knowledge/system/questionStem/update',
method: 'post',
data
}
)
}
//删除题干
export function deleteStem(idList) {
return request({
url: '/knowledge/system/questionStem/delete',
method: 'post',
params:idList
}
)
}
//查看试题详情
export function findOneStem(id) {
return request({
url: '/knowledge/system/questionStem/findOne?id='+id,
method: 'get'
}
)
}

View File

@ -0,0 +1,69 @@
import request from '@/utils/request'
import download from '@/utils/request';
// 查询角色列表
export function findAll(query) {
return request({
url: '/knowledge/tRegulatoryFramework/findAll',
method: 'post',
data: query
})
}
export function findOne(query) {
return request({
url: '/knowledge/tRegulatoryFramework/findOne',
method: 'get',
params: query
})
}
export function recordsQuery(query) {
return request({
url: '/knowledge/tRegulatoryFramework/recordsQuery',
method: 'get',
params: query
})
}
export function addNew(query) {
return request({
url: '/knowledge/tRegulatoryFramework/insert',
method: 'post',
data: query
})
}
export function updateData(query) {
return request({
url: '/knowledge/tRegulatoryFramework/update',
method: 'post',
data: query
})
}
export function filing(query) {
return request({
url: '/knowledge/tRegulatoryFramework/filing',
method: 'get',
params: query
})
}
export function deleteData(ids) {
return request({
url: '/knowledge/tRegulatoryFramework/delete',
method: 'post',
params:ids
})
}
export function exportData(url, params, filename, config) {
return download({
url:url,
params:null,
filename:filename,
config:null
})
}

View File

@ -0,0 +1,16 @@
import request from '@/utils/request'
export const getDeptTree = (id) => {
return request({
url: `/knowledge/commonApi/getDeptData`, method: 'get'
})
}
export const getUserData = (deptIds,nickName) => {
return request({
url: `/knowledge/commonApi/getUserData`,
method: 'get',
params:{
deptIds:deptIds,
nickName:nickName
}
})
}

View File

@ -0,0 +1,65 @@
import request from '@/utils/request'
// 文件查看
export function findAll(query) {
return request({
url: '/system/tArchives/findAll',
method: 'get',
params: query
})
}
// 文件查看
export function findAllDocList(query) {
return request({
url: '/system/tArchives/findAllDocList',
method: 'get',
params: query
})
}
// 文件查看
export function getParentId(query) {
return request({
url: '/system/tArchives/getParentId',
method: 'get',
params: query
})
}
//文件保存/新建文件夹
export function save(data) {
return request({
url: '/system/tArchives/save',
method: 'post',
data: data
})
}
// 删除文件或文件夹
export function delByIds(ids) {
return request({
url: '/system/tArchives/delete',
method: 'post',
params:ids
})
}
// 彻底删除
export function ackDelete(ids) {
return request({
url: '/system/tArchives/ackDelete',
method: 'post',
params:ids
})
}
// 还原
export function restore(ids) {
return request({
url: '/system/tArchives/restore',
method: 'post',
params:ids
})
}

View File

@ -0,0 +1,66 @@
import request from '@/utils/request'
export function selfDetail(id) {
return request({
url: '/knowledge/system/testPaperAnswerSheet/selfDetail',
method: 'get',
params: {
testPaperInfoId: id
}
})
}
export function canExam(id) {
return request({
url: '/knowledge/system/testPaperAnswerSheet/canExam',
method: 'get',
params: {
testPaperInfoId: id
}
})
}
export function answerUpdate(data) {
return request({
url: '/knowledge/system/testPaperAnswerSheet/update',
method: 'post',
data
})
}
export function answerFindOne(id) {
return request({
url: '/knowledge/system/testPaperAnswerSheet/findOne?id=' + id,
method: 'get',
})
}
export function answerList(params) {
return request({
url: '/knowledge/system/testPaperAnswerSheet/findList',
method: 'get',
params
})
}
export function paperDetail(id) {
return request({
url: '/knowledge/system/testPaperAnswerSheet/paperDetail?id=' + id,
method: 'get'
})
}
export function retake(id) {
return request({
url: '/knowledge/system/testPaperAnswerSheet/retake?id=' + id,
method: 'get'
})
}
export function redressApi(id) {
return request({
url: '/knowledge/system/testPaperAnswerSheet/redress?id=' + id,
method: 'get'
})
}

View File

@ -0,0 +1,39 @@
import request from '@/utils/request'
export function testPaperInfoFindAll(params) {
return request({
url: '/knowledge/system/testPaperInfo/findList',
method: 'get',
params
})
}
export function testPaperInfoFindOne(id) {
return request({
url: '/knowledge/system/testPaperInfo/findOne?id=' + id,
method: 'get'
})
}
export function testPaperInfoDelete(idList) {
return request({
url: '/knowledge/system/testPaperInfo/delete?idList=' + idList,
method: 'post'
})
}
export function findSelfPaper(params) {
return request({
url: '/knowledge/system/testPaperInfo/findSelfPaper',
method: 'get',
params
})
}
export function findPaperInfo(params) {
return request({
url: '/knowledge/system/train/findPaperInfo',
method: 'get',
params
})
}

View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
export function getTaskList(data) {
return request({
url: '/knowledge/system/train/findListByUser',
method: 'get',
params: data
})
}
export function getTaskDetail(id) {
return request({
url: '/knowledge/system/train/findOne?id='+id,
method: 'get'
})
}
export function getMaterial(id) {
return request({
url: '/knowledge/system/train/getMaterial?id='+id,
method: 'get'
})
}
export function findTrainRecordList(data) {
return request({
url: '/knowledge/system/train/findTrainRecordList',
method: 'get',
params: data
})
}
export function addTrainRecord(data) {
return request({
url: '/knowledge/system/trainRecord/save',
method: 'post',
data
})
}
export function addReview(data) {
return request({
url: '/knowledge/system/trainRecord/review',
method: 'post',
data
})
}

View File

@ -0,0 +1,142 @@
import request from '@/utils/request'
export function findTeacherByName(teacherName) {
return request({
url: '/knowledge/system/trainTeacher/findOneByName?teacherName='+teacherName,
method: 'get'
})
}
export function getTranUserTree() {
return request({
url: '/knowledge/system/train/getTree',
method: 'get'
})
}
export function getTranUserList(queryParams) {
return request({
url: '/knowledge/system/train/getTrainUser',
method: 'get',
params:queryParams
})
}
export function coursewarePage(queryParams) {
return request({
url: '/knowledge/system/courseware/page',
method: 'get',
params:queryParams
})
}
export function questionTree() {
return request({
url: '/knowledge/system/questionBank/tree',
method: 'get'
})
}
export function testpaperGeneration(data) {
return request({
url: '/knowledge/system/paperQuestionStem/testpaperGeneration',
method: 'post',
data
})
}
export function trainInsert(data) {
return request({
url: '/knowledge/system/train/insert',
method: 'post',
data
})
}
export function trainUpdate(data) {
return request({
url: '/knowledge/system/train/update',
method: 'post',
data
})
}
export function trainFindInfo(id) {
return request({
url: '/knowledge/system/train/findInfo?id='+id,
method: 'get'
})
}
export function getTrainList(data) {
return request({
url: '/knowledge/system/train/findList',
method: 'get',
params: data
})
}
export function delByIds(ids) {
return request({
url: '/knowledge/system/train/delete',
method: 'post',
params: {
idList: ids
}
})
}
export function selectQuestionByIds(ids) {
return request({
url: '/knowledge/system/paperQuestionStem/changeType',
method: 'post',
params: {
idList: ids
}
})
}
export function dealQuestion(data) {
return request({
url: '/knowledge/system/paperQuestionStem/changeTypeContent',
method: 'post',
data
})
}
export function getTrainRecord(data) {
return request({
url: '/knowledge/system/trainRecord/findList',
method: 'get',
params:data
})
}
export function getReportRecord(data) {
return request({
url: '/knowledge/system/trainReport/findList',
method: 'get',
params:data
})
}
export function getReportDetail(id) {
return request({
url: '/knowledge/system/trainReport/findOne?id='+id,
method: 'get'
})
}
export function submitReport(data) {
return request({
url: '/knowledge/system/trainReport/getPdf',
method: 'post',
data
})
}
export function createPdfByHtml(data) {
return request({
url: '/knowledge/system/trainReport/htmlToPdf',
method: 'post',
data
})
}
export function findReportById(id) {
return request({
url: '/knowledge/system/trainReport/findByTrainId?trainId='+id,
method: 'get'
})
}
export function findListOwn(param) {
return request({
url: '/knowledge/system/trainRecord/findListOwn',
method: 'get',
params:param
})
}

View File

@ -0,0 +1,63 @@
import request from '@/utils/request'
import download from '@/utils/request';
// 查询角色列表
export function findAll(query) {
return request({
url: '/knowledge/tViolation/findAll',
method: 'post',
data: query
})
}
export function findOne(query) {
return request({
url: '/knowledge/tViolation/findOne',
method: 'get',
params: query
})
}
export function push(data) {
return request({
url: '/knowledge/tViolation/push',
method: 'post',
params: data
})
}
export function addNew(query) {
return request({
url: '/knowledge/tViolation/insert',
method: 'post',
data: query
})
}
export function updateData(query) {
return request({
url: '/knowledge/tViolation/update',
method: 'post',
data: query
})
}
export function deleteData(ids) {
return request({
url: '/knowledge/tViolation/delete',
method: 'post',
params:ids
})
}
export function exportData(url, params, filename, config) {
return download({
url:url,
params:null,
filename:filename,
config:null
})
}

View File

@ -0,0 +1,65 @@
// base color
$blue: #324157;
$light-blue: #3A71A8;
$red: #C03639;
$pink: #E65D6E;
$green: #30B08F;
$tiffany: #4AB7BD;
$yellow: #FEC171;
$panGreen: #30B08F;
// 默认菜单主题风格
$base-menu-color: #bfcbd9;
$base-menu-color-active: #f4f4f5;
$base-menu-background: #206bd4;
$base-logo-title-color: #ffffff;
$base-menu-light-color: rgba(0, 0, 0, 0.7);
$base-menu-light-background: #ffffff;
$base-logo-light-title-color: #001529;
$base-sub-menu-background: #206bd4;
$base-sub-menu-hover: #3b7dd9;
// 自定义暗色菜单风格
/**
$base-menu-color:hsla(0,0%,100%,.65);
$base-menu-color-active:#fff;
$base-menu-background:#001529;
$base-logo-title-color: #ffffff;
$base-menu-light-color:rgba(0,0,0,.70);
$base-menu-light-background:#ffffff;
$base-logo-light-title-color: #001529;
$base-sub-menu-background:#000c17;
$base-sub-menu-hover:#001528;
*/
$--color-primary: #409EFF;
$--color-success: #67C23A;
$--color-warning: #E6A23C;
$--color-danger: #F56C6C;
$--color-info: #909399;
$base-sidebar-width: 200px;
// the :export directive is the magic sauce for webpack
// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass
:export {
menuColor: $base-menu-color;
menuLightColor: $base-menu-light-color;
menuColorActive: $base-menu-color-active;
menuBackground: $base-menu-background;
menuLightBackground: $base-menu-light-background;
subMenuBackground: $base-sub-menu-background;
subMenuHover: $base-sub-menu-hover;
sideBarWidth: $base-sidebar-width;
logoTitleColor: $base-logo-title-color;
logoLightTitleColor: $base-logo-light-title-color;
primaryColor: $--color-primary;
successColor: $--color-success;
dangerColor: $--color-danger;
infoColor: $--color-info;
warningColor: $--color-warning;
}

View File

@ -55,12 +55,12 @@ export default {
// (MB)
fileSize: {
type: Number,
default: 5,
default: 500,
},
// , ['png', 'jpg', 'jpeg']
fileType: {
type: Array,
default: () => ["doc", "xls", "ppt", "txt", "pdf"],
default: () => ["doc", "xls", "ppt", "txt", "pdf","mp4","png","jpg","zip","rar","jpeg","xlsx","docx"],
},
//
isShowTip: {

View File

@ -0,0 +1,241 @@
<template>
<div class="upload-file">
<el-upload
multiple
:action="uploadFileUrl"
:before-upload="handleBeforeUpload"
:file-list="fileList"
:limit="limit"
:on-error="handleUploadError"
:on-exceed="handleExceed"
:on-success="handleUploadSuccess"
:show-file-list="false"
:headers="headers"
class="upload-file-uploader"
ref="fileUpload"
>
<!-- 上传按钮 -->
<el-button type="primary">{{name}}</el-button>
</el-upload>
<!-- 上传提示 -->
<div class="el-upload__tip" v-if="showTip">
请上传
<template v-if="fileSize"> 大小不超过 <b style="color: #f56c6c">{{ fileSize }}MB</b></template>
<template v-if="fileType"> 格式为 <b style="color: #f56c6c">{{ fileType.join("/") }}</b></template>
的文件
</div>
<!-- 文件列表 -->
<transition-group class="upload-file-list el-upload-list el-upload-list--text" name="el-fade-in-linear" tag="ul">
<li :key="file.uid" class="el-upload-list__item ele-upload-list__item-content" v-for="(file, index) in fileList">
<el-link @click="down(file)" :underline="false" target="_blank">
<span class="el-icon-document"> {{ getFileName(file.name) }} </span>
</el-link>
<div class="ele-upload-list__item-content-action">
<el-link :underline="false" @click="handleDelete(index)" type="danger">删除</el-link>
</div>
</li>
</transition-group>
</div>
</template>
<script>
import { getAccessToken } from "@/utils/auth";
import { downloadFile } from "@/views/knowledge/views/util/file";
export default {
props: {
value: {
type: [String, Object, Array],
},
position: {
type: String,
default: "bottom",
},
name: {
type: String,
default: "选取文件",
},
buttonType: {
type: String,
default: "common",
},
limit: {
type: Number,
default: 1,
},
fileSize: {
type: Number,
default: 200,
},
fileType: {
type: Array,
default: () => ["doc", "xls", "ppt", "txt", "pdf","mp4","png","jpg","zip","rar","jpeg","xlsx","docx"],
},
isShowTip: {
type: Boolean,
default: true,
},
},
data() {
return {
number: 0,
uploadList: [],
baseUrl: "",
headers: { Authorization: "Bearer " + getAccessToken() }, //
fileList: [],
uploadFileUrl: process.env.VUE_APP_BASE_API + "/admin-api/infra/file/uploadDetail", //
};
},
computed: {
showTip() {
return this.isShowTip && (this.fileType || this.fileSize);
},
},
watch: {
value(val) {
if (val) {
let temp = 1;
const list = Array.isArray(val)? val : this.value.split(",");
this.fileList = list.map((item) => {
if (typeof item === "string") {
item = { name: item, url: item };
}
item.uid = item.uid || new Date().getTime() + temp++;
return item;
});
} else {
this.fileList = [];
}
},
},
methods: {
handleBeforeUpload(file) {
if (this.fileType.length) {
const name = file.name.split(".");
const fileExt = name[name.length - 1];
const isTypeOk = this.fileType.indexOf(fileExt) >= 0;
if (!isTypeOk) {
this.$modal.msgError(`文件格式不正确, 请上传${this.fileType.join("/")}格式文件!`);
return false;
}
}
if (this.fileSize) {
const isLt = file.size / 1024 / 1024 < this.fileSize;
if (!isLt) {
this.$modal.msgError(`上传文件大小不能超过 ${this.fileSize} MB!`);
return false;
}
}
this.$modal.loading("正在上传文件,请稍候...");
this.number++;
return true;
},
down(row) {
console.log(row, 162);
downloadFile(row.url, row.name);
},
handleExceed() {
this.$modal.msgError(`上传文件数量不能超过 ${this.limit} 个!`);
},
handleUploadError(err) {
this.$modal.msgError("上传文件失败");
},
handleUploadSuccess(res, file) {
if (res.code === 0) {
if (res.data) {
this.uploadList.push({
name: res.data.name,
url: res.data.url,
size: res.data.size,
});
this.uploadedSuccessfully();
} else {
this.$modal.closeLoading();
}
} else {
this.number--;
this.$modal.closeLoading();
this.$modal.msgError(res.msg);
this.$refs.fileUpload.handleRemove(file);
this.uploadedSuccessfully();
}
},
handleDelete(index) {
this.fileList.splice(index, 1);
this.$emit("input", this.listToString(this.fileList));
},
uploadedSuccessfully() {
if (this.number > 0 && this.uploadList.length === this.number) {
this.fileList = this.fileList.concat(this.uploadList);
this.uploadList = [];
console.log(179,this.fileList)
this.number = 0;
this.$emit("input", this.fileList);
this.$modal.closeLoading();
}
},
getFileName(name) {
if (name.lastIndexOf("/") > -1) {
return name.slice(name.lastIndexOf("/") + 1);
} else {
return name;
}
},
listToString(list, separator) {
let strs = "";
separator = separator || ",";
for (let i in list) {
if (list[i].url) {
strs += list[i].url + separator;
}
}
return strs!= ""? strs.substr(0, strs.length - 1) : "";
},
},
};
</script>
<style scoped lang="scss">
.upload-file-uploader {
margin-bottom: 5px;
}
.upload-file-list .el-upload-list__item {
border: 1px solid #e4e7ed;
line-height: 2;
margin-bottom: 10px;
position: relative;
}
.upload-file-list .ele-upload-list__item-content {
display: flex;
justify-content: space-between;
align-items: center;
color: inherit;
}
.ele-upload-list__item-content-action .el-link {
margin-right: 10px;
}
.tp-anniu {
width: 115px;
height: 30px;
background: #FFFFFF;
border-radius: 3px 3px 3px 3px;
border: 1px solid #237EFF;
display: flex;
align-items: center;
justify-content: center;
color: #237EFF;
margin: 0px 40px;
}
</style>

View File

@ -20,6 +20,12 @@ import { parseTime, resetForm, handleTree, addBeginAndEndTime, divide} from "@/u
import Pagination from "@/components/Pagination";
// 自定义表格工具扩展
import RightToolbar from "@/components/RightToolbar"
// 图片上传组件
import ImageUpload from "@/components/ImageUpload/index.vue";
// 文件上传组件
import FileUpload from "@/components/FileUpload2/index.vue";
// 图片预览组件
import ImagePreview from "@/components/ImagePreview/index.vue";
// 代码高亮插件
// import hljs from 'highlight.js'
// import 'highlight.js/styles/github-gist.css'
@ -43,6 +49,9 @@ Vue.component('DictTag', DictTag)
Vue.component('DocAlert', DocAlert)
Vue.component('Pagination', Pagination)
Vue.component('RightToolbar', RightToolbar)
Vue.component("ImageUpload", ImageUpload);
Vue.component("ImagePreview", ImagePreview);
Vue.component("FileUpload", FileUpload);
// 字典标签组件
import DictTag from '@/components/DictTag'
import DocAlert from '@/components/DocAlert'
@ -75,7 +84,8 @@ import '@/styles/index.scss'
// 默认点击背景不关闭弹窗
import ElementUI from 'element-ui'
ElementUI.Dialog.props.closeOnClickModal.default = false
import dayjs from "dayjs"
Vue.prototype.$dayjs = dayjs;
/**
* If you don't want to use mock-server
* you want to use MockJs for mock api

View File

@ -97,3 +97,50 @@ export function removeTenantId() {
export class getToken {
}
/**
* 获取预览地址
* @param url 请求地址不带无需带orgin
* @param fullfilename 文件名
* @param watermarkTxt 水印
*/
export function getPreViewUrl(url, fullfilename, watermarkTxt) {
// let Base64 = require('js-base64').Base64
let connectChart = url.indexOf("?") !== -1 ? "&" : "?";
let urlAdded =
website.ossUrl +
url +
connectChart +
"fullfilename=" +
randomString(8) +
"-" +
fullfilename +
"&Authorization=Bearer " +
getToken();
let preViewUrl =
website.preViewUrl + encodeURIComponent(Base64.encode(urlAdded));
if (watermarkTxt) {
preViewUrl += "&watermarkTxt=" + watermarkTxt;
}
return preViewUrl;
}
export function getPreViewUrlForPhone(url, fullfilename, watermarkTxt) {
console.log(url,86)
let connectChart = '&' ;
let urlAdded = website.ossUrl +
url +
connectChart +
'fullfilename=' +
randomString(8) +
'-' +
fullfilename +
'&Authorization=Bearer ' +
"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZGVudGl0eUlkIjoxLCJkZXB0SWQiOjEsIm5pY2tuYW1lIjoiR2xvYmFsIFVzZXIiLCJ0ZW5hbnQtaWQiOjEsInVzZXJuYW1lIjoiR2xvYmFsIFVzZXIiLCJleHAiOjE5NzU2NTcyNzZ9.VuFK-ubqp54VwSL3O8yprt7lMWkc77jfSboxUXtRqQ4";
let preViewUrl =
"https://ylgfscgk.ylgf.com:17031/kkPreview/onlinePreview?url=" + encodeURIComponent(Base64.encode(urlAdded))
console.log(urlAdded,90)
if (watermarkTxt) {
preViewUrl += ('&watermarkTxt=' + watermarkTxt)
}
return preViewUrl;
}

View File

@ -132,6 +132,8 @@ export const DICT_TYPE = {
COMPANY_PROP_STATUS: 'company_prop_status',
//存放类型
COMPANY_DEPOSIT_TYPE: 'company_deposit_type',
COMPANY_COST_TYPE: 'company_cost_type',
}
/**

View File

@ -208,5 +208,42 @@ function handleAuthorized() {
}
return Promise.reject('无效的会话,或者会话已过期,请重新登录。')
}
let downloadLoadingInstance;
// 通用下载方法
export function download(url, params, filename, config) {
downloadLoadingInstance = ElLoading.service({text: "正在下载数据,请稍候", background: "rgba(0, 0, 0, 0.7)",})
return axios.post(url, params, {
transformRequest: [(params) => {
return tansParams(params)
}],
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
responseType: 'blob',
...config
}).then(async (data) => {
const isBlob = blobValidate(data.data);
if (isBlob) {
let blob = new Blob([data.data], {type: "application/vnd.ms-excel"}); // 设置文件类型excel
let url = window.URL.createObjectURL(blob); // 创建一个临时的url指向blob对象
// 创建url之后可以模拟对此文件对象的一系列操作例如预览、下载
let a = document.createElement("a");
a.href = url;
a.download = filename + ".xlsx";
a.click();
// 释放这个临时的对象url
window.URL.revokeObjectURL(url);
} else {
const resText = await data.data.text();
const rspObj = JSON.parse(resText);
const errMsg = errorCode[rspObj.code] || rspObj.msg || errorCode['default']
ElMessage.error(errMsg);
}
downloadLoadingInstance.close();
}).catch((r) => {
console.error(r)
ElMessage.error('下载文件出现错误,请联系管理员!')
downloadLoadingInstance.close();
})
}
export default service

View File

@ -1,36 +1,35 @@
<template>
<div class="app-container">
<!-- 对话框(添加 / 修改) -->
<el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="45%" v-dialogDrag append-to-body>
<el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="60%" v-dialogDrag append-to-body>
<el-form ref="formRef" :model="formData" :rules="formRules" v-loading="formLoading" label-width="100px">
<el-row :gutter="1">
<el-col :span="22">
<el-row :gutter="2">
<el-col :span="11">
<el-form-item label="发动机号码" prop="engineNumber">
<el-input v-model="formData.engineNumber" placeholder="请输入发动机号码" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="1">
<el-col :span="22">
<el-col :span="11">
<el-form-item label="车架号" prop="vin">
<el-input v-model="formData.vin" placeholder="请输入车架号" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="1">
<el-col :span="22">
<el-row :gutter="2">
<el-col :span="11">
<el-form-item label="车牌号" prop="licenseNumber">
<el-input v-model="formData.licenseNumber" placeholder="请输入车牌号" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="1">
<el-col :span="22">
<el-col :span="11">
<el-form-item label="品牌型号" prop="brandAndModel">
<CarBrandSelector v-model="formData.brandAndModel" ref="brandForm" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="2">
<el-col :span="11">
<el-form-item label="保养日期" prop="maintenanceDate">
@ -96,7 +95,7 @@
<el-row :gutter="2">
<el-col :span="11">
<el-form-item label="最近办理业务" prop="recentlyHandledBusiness">
<el-select v-model="formData.recentlyHandledBusiness" placeholder="请选择业务类别">
<el-select v-model="formData.recentlyHandledBusiness" placeholder="请选择业务类别" clearable>
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.DICT_CUS_BUSI_TYPE)" :key="dict.value"
:label="dict.label" :value="dict.value" />
</el-select>

View File

@ -107,7 +107,7 @@
</template>
</el-table-column>
<el-table-column label="发动机号码" align="center" prop="engineNumber" width="180" />
<el-table-column label="车架号" align="center" prop="vin" width="150" />
<el-table-column label="车架号" align="center" prop="vin" width="180" />
<el-table-column label="车辆品牌" align="center" prop="brandStr" />
<el-table-column label="车辆型号" align="center" prop="modelStr" />
<!-- <el-table-column label="保养日期" align="center" prop="maintenanceDate" width="180">
@ -147,12 +147,12 @@
<span>{{ parseTime(scope.row.carRegisterDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="最近办理业务" align="center" prop="recentlyHandledBusiness" width="130">
<el-table-column label="最近办理业务" align="center" prop="recentlyHandledBusiness" width="120">
<template v-slot="scope">
<dict-tag :type="DICT_TYPE.DICT_CUS_BUSI_TYPE" :value="scope.row.recentlyHandledBusiness" />
</template>
</el-table-column>
<el-table-column label="最近办理业务时间" align="center" prop="recentlyHandleBusinessTime" width="150">
<el-table-column label="最近业务时间" align="center" prop="recentlyHandleBusinessTime" width="120">
<template v-slot="scope">
<span>{{ parseTime(scope.row.recentlyHandleBusinessTime, '{y}-{m}-{d}') }}</span>
</template>

View File

@ -71,7 +71,7 @@
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column fixed="right" label="操作" align="center" class-name="small-padding fixed-width" width="200">
<template v-slot="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="openForm(scope.row.id)"
v-hasPermi="['company:property-pos:update']">修改</el-button>

View File

@ -82,9 +82,7 @@
<el-input v-model="formData.voucherNo" placeholder="请输入凭证号" />
</el-form-item>
<el-form-item label="维修/保养周期单位" prop="keepCycleType">
<el-select v-model="formData.keepCycleType" placeholder="请选择维修/保养周期单位">
<el-option label="请选择字典生成" value="" />
</el-select>
<el-input v-model="formData.keepCycleType" placeholder="请选择维修/保养周期单位" />
</el-form-item>
<el-form-item label="维修/保养周期" prop="keepCycle">
<el-input v-model="formData.keepCycle" placeholder="请输入维修/保养周期" />
@ -93,10 +91,10 @@
<el-date-picker clearable v-model="formData.lastKeepDate" type="date" value-format="timestamp"
placeholder="选择上次维修/保养日期" />
</el-form-item>
<el-form-item label="下次维修/保养日期" prop="nextKeepDate">
<!-- <el-form-item label="下次维修/保养日期" prop="nextKeepDate">
<el-date-picker clearable v-model="formData.nextKeepDate" type="date" value-format="timestamp"
placeholder="选择下次维修/保养日期" />
</el-form-item>
</el-form-item> -->
<el-form-item label="附件urls">
<FileUpload v-model="formData.fileUrls" />
</el-form-item>

View File

@ -135,21 +135,25 @@
}}</span>
</template>
</el-table-column>
<el-table-column label="企业id" align="center" prop="corpId" />
<el-table-column label="部门id" align="center" prop="deptId" />
<el-table-column label="存放位置" align="center" prop="posId" />
<el-table-column label="使用人id" align="center" prop="userId" />
<el-table-column label="资产编号" align="center" prop="propNo" />
<el-table-column label="资产名称" align="center" prop="propName" />
<el-table-column label="存放位置" align="center" prop="posId" />
<el-table-column label="资产编号" align="center" prop="propNo" />
<el-table-column label="资产分类" align="center" prop="propCatg" />
<el-table-column label="预计使用年限" align="center" prop="useYear" />
<el-table-column label="价值类型" align="center" prop="costType">
<template v-slot="scope">
<dict-tag :type="DICT_TYPE.COMPANY_COST_TYPE" :value="scope.row.costType" />
</template>
</el-table-column>
<el-table-column label="资产数量" align="center" prop="propNum" />
<el-table-column label="资产原值(元)" align="center" prop="costTotal" />
<el-table-column label="预计使用年限" align="center" prop="useYear" width="100" />
<el-table-column label="资产数量" align="center" prop="propNum" >
<template v-slot="scope">
{{ scope.row.propNum + " " + scope.row.unit }}
</template>
</el-table-column>
<!-- <el-table-column label="数量计量单位" align="center" prop="unit" /> -->
<!-- <el-table-column label="资产原值(元)" align="center" prop="costTotal" /> -->
<el-table-column label="资产状态" align="center" prop="propStatus">
<template v-slot="scope">
<dict-tag :type="DICT_TYPE.COMPANY_PROP_STATUS" :value="scope.row.propStatus" />
@ -157,26 +161,32 @@
</el-table-column>
<el-table-column label="品牌" align="center" prop="brand" />
<el-table-column label="规格型号" align="center" prop="spec" />
<el-table-column label="生产厂家" align="center" prop="factory" />
<el-table-column label="出场序列号/编号" align="center" prop="serialNo" />
<el-table-column label="数量计量单位" align="center" prop="unit" />
<!-- <el-table-column label="生产厂家" align="center" prop="factory" /> -->
<!-- <el-table-column label="出场序列号/编号" align="center" prop="serialNo" /> -->
<el-table-column label="取得日期" align="center" prop="getDate" />
<el-table-column label="出厂日期" align="center" prop="prodDate" />
<!-- <el-table-column label="出厂日期" align="center" prop="prodDate" /> -->
<el-table-column label="供应商" align="center" prop="supplier" />
<el-table-column label="启用日期" align="center" prop="openDate" />
<el-table-column label="净值(元)" align="center" prop="netValue" />
<el-table-column label="凭证号" align="center" prop="voucherNo" />
<el-table-column label="维修/保养周期单位" align="center" prop="keepCycleType" />
<el-table-column label="维修/保养周期" align="center" prop="keepCycle" />
<el-table-column label="上次维修/保养日期" align="center" prop="lastKeepDate" />
<el-table-column label="下次维修/保养日期" align="center" prop="nextKeepDate" />
<el-table-column label="附件urls" align="center" prop="fileUrls" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<el-table-column label="净值(元)" align="center" prop="netValue" width="120" />
<el-table-column label="凭证号" align="center" prop="voucherNo" width="120"/>
<!-- <el-table-column label="维修/保养周期单位" align="center" prop="keepCycleType" /> -->
<el-table-column label="上次维修/保养日期" align="center" prop="lastKeepDate" width="130"/>
<el-table-column label="维修/保养周期" align="center" prop="keepCycle" width="120" >
<template v-slot="scope">
{{ scope.row.keepCycle + " " + scope.row.keepCycleType }}
</template>
</el-table-column>
<el-table-column label="使用人id" align="center" prop="userId" />
<el-table-column label="部门id" align="center" prop="deptId" />
<el-table-column label="企业id" align="center" prop="corpId" />
<!-- <el-table-column label="下次维修/保养日期" align="center" prop="nextKeepDate" /> -->
<!-- <el-table-column label="附件urls" align="center" prop="fileUrls" /> -->
<el-table-column label="创建时间" align="center" prop="createTime" width="120">
<template v-slot="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column fixed="right" label="操作" align="center" class-name="small-padding fixed-width" width="200">
<template v-slot="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="openForm(scope.row.id)"
v-hasPermi="['company:property:update']">修改</el-button>

View File

@ -69,7 +69,7 @@
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column fixed="right" label="操作" align="center" class-name="small-padding fixed-width" width="200">
<template v-slot="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="openForm(scope.row.id)"
v-hasPermi="['company:property-deal:update']">修改</el-button>

View File

@ -93,7 +93,7 @@
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column fixed="right" label="操作" align="center" class-name="small-padding fixed-width" width="200">
<template v-slot="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="openForm(scope.row.id)"
v-hasPermi="['company:property-deal-item:update']">修改</el-button>

View File

@ -53,7 +53,7 @@
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column fixed="right" label="操作" align="center" class-name="small-padding fixed-width" width="200">
<template v-slot="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="openForm(scope.row.id)"
v-hasPermi="['company:property-keep:update']">修改</el-button>

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 673 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="52px" height="45px" viewBox="0 0 52 45" version="1.1"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<filter x="-9.4%" y="-6.2%" width="118.8%" height="122.5%" filterUnits="objectBoundingBox" id="filter-1">
<feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="1" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0" type="matrix" in="shadowBlurOuter1" result="shadowMatrixOuter1"></feColorMatrix>
<feMerge>
<feMergeNode in="shadowMatrixOuter1"></feMergeNode>
<feMergeNode in="SourceGraphic"></feMergeNode>
</feMerge>
</filter>
<rect id="path-2" x="0" y="0" width="48" height="40" rx="4"></rect>
<filter x="-4.2%" y="-2.5%" width="108.3%" height="110.0%" filterUnits="objectBoundingBox" id="filter-4">
<feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="0.5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
</defs>
<g id="配置面板" width="48" height="40" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="setting-copy-2" width="48" height="40" transform="translate(-1190.000000, -136.000000)">
<g id="Group-8" width="48" height="40" transform="translate(1167.000000, 0.000000)">
<g id="Group-5-Copy-5" filter="url(#filter-1)" transform="translate(25.000000, 137.000000)">
<mask id="mask-3" fill="white">
<use xlink:href="#path-2"></use>
</mask>
<g id="Rectangle-18">
<use fill="black" fill-opacity="1" filter="url(#filter-4)" xlink:href="#path-2"></use>
<use fill="#F0F2F5" fill-rule="evenodd" xlink:href="#path-2"></use>
</g>
<rect id="Rectangle-11" fill="#FFFFFF" mask="url(#mask-3)" x="0" y="0" width="48" height="10"></rect>
<rect id="Rectangle-18" fill="#303648" mask="url(#mask-3)" x="0" y="0" width="16" height="40"></rect>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 730 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 865 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 362 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="52px" height="45px" viewBox="0 0 52 45" version="1.1"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<filter x="-9.4%" y="-6.2%" width="118.8%" height="122.5%" filterUnits="objectBoundingBox" id="filter-1">
<feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="1" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0" type="matrix" in="shadowBlurOuter1" result="shadowMatrixOuter1"></feColorMatrix>
<feMerge>
<feMergeNode in="shadowMatrixOuter1"></feMergeNode>
<feMergeNode in="SourceGraphic"></feMergeNode>
</feMerge>
</filter>
<rect id="path-2" x="0" y="0" width="48" height="40" rx="4"></rect>
<filter x="-4.2%" y="-2.5%" width="108.3%" height="110.0%" filterUnits="objectBoundingBox" id="filter-4">
<feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="0.5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
</defs>
<g id="配置面板" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="setting-copy-2" transform="translate(-1254.000000, -136.000000)">
<g id="Group-8" transform="translate(1167.000000, 0.000000)">
<g id="Group-5" filter="url(#filter-1)" transform="translate(89.000000, 137.000000)">
<mask id="mask-3" fill="white">
<use xlink:href="#path-2"></use>
</mask>
<g id="Rectangle-18">
<use fill="black" fill-opacity="1" filter="url(#filter-4)" xlink:href="#path-2"></use>
<use fill="#F0F2F5" fill-rule="evenodd" xlink:href="#path-2"></use>
</g>
<rect id="Rectangle-18" fill="#FFFFFF" mask="url(#mask-3)" x="0" y="0" width="16" height="40"></rect>
<rect id="Rectangle-11" fill="#FFFFFF" mask="url(#mask-3)" x="0" y="0" width="48" height="10"></rect>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 509 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 955 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 570 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -0,0 +1,211 @@
<template>
<div class="el-tree-select">
<el-input
v-model="filterTxt"
style="width: 240px;margin-bottom: 10px"
placeholder="搜索"
@input="filterInput()"
/>
<el-tree
id="tree-option"
ref="treeData"
show-checkbox
:accordion="accordion"
:data="options"
:props="objMap"
:node-key="objMap.value"
:default-expand-all="true"
:expand-on-click-node="false"
:default-expanded-keys="defaultExpandedKey"
:filter-node-method="filterNode"
@check="handleNodeClick"
>
<!-- <template v-if="selfStyle" #default="{ node, data }">-->
<!-- <div class="custom-tree-node">-->
<!-- <div class="f-box-y" v-if="selectId == data.id">-->
<!-- <el-icon color="#fff"><Select /></el-icon>-->
<!-- </div>-->
<!-- <div class="f-box" v-else ></div>-->
<!-- <span>{{ data.label }}</span>-->
<!-- </div>-->
<!-- </template>-->
</el-tree>
</div>
</template>
<script setup>
const { proxy } = getCurrentInstance();
const props = defineProps({
/* 配置项 */
objMap: {
type: Object,
default: () => {
return {
value: 'id', // ID
label: 'label', //
children: 'children' //
}
}
},
selfStyle:{
type: Boolean,
default: () => {
return true
}
},
/* 自动收起 */
accordion: {
type: Boolean,
default: () => {
return false
}
},
needCheck: {
type: Boolean,
default: () => {
return false
}
},
/**当前双向数据绑定的值 */
value: {
type: [String, Number],
default: ''
},
/**当前的数据 */
options: {
type: Array,
default: () => []
},
/**输入框内部的文字 */
placeholder: {
type: String,
default: ''
}
})
const emit = defineEmits(['update:value']);
const filterTxt = ref('');
const selectId = ref('');
const valueId = computed({
get: () => props.value,
set: (val) => {
emit('update:value', val)
}
});
const valueTitle = ref('');
const defaultExpandedKey = ref([]);
function initHandle() {
nextTick(() => {
const selectedValue = valueId.value;
if(selectedValue !== null && typeof (selectedValue) !== 'undefined') {
const node = proxy.$refs.treeData.getNode(selectedValue)
if (node) {
valueTitle.value = node.data[props.objMap.label]
proxy.$refs.treeData.setCurrentKey(selectedValue) //
defaultExpandedKey.value = [selectedValue] //
}
} else {
clearHandle()
}
})
}
function filterInput(){
selectFilterData(filterTxt.value)
}
function handleNodeClick() {
let data = proxy.$refs['treeData'].getCheckedNodes()
let chooseIds ="";
for (let i = 0; i < data.length; i++) {
if(i+1==data.length){
chooseIds = chooseIds+data[i].id
}else {
chooseIds = chooseIds+data[i].id+","
}
}
proxy.$forceUpdate()
proxy.$emit('nodeClick',chooseIds)
}
function selectFilterData(val) {
proxy.$refs.treeData.filter(val)
}
function filterNode(value, data) {
if (!value) return true
return data[props.objMap['label']].indexOf(value) !== -1
}
function clearHandle() {
valueTitle.value = ''
valueId.value = ''
defaultExpandedKey.value = [];
clearSelected()
}
function clearSelected() {
const allNode = document.querySelectorAll('#tree-option .el-tree-node')
allNode.forEach((element) => element.classList.remove('is-current'))
}
onMounted(() => {
initHandle()
})
watch(valueId, () => {
initHandle();
})
</script>
<style lang='scss' scoped>
@import "@/assets/styles/variables.module.scss";
.el-scrollbar .el-scrollbar__view .el-select-dropdown__item {
padding: 0;
background-color: #fff;
height: auto;
}
.el-select-dropdown__item.selected {
font-weight: normal;
}
ul li .el-tree .el-tree-node__content {
height: auto;
padding: 0 20px;
box-sizing: border-box;
}
:deep(.el-tree-node__content:hover),
:deep(.el-tree-node__content:active),
:deep(.is-current > div:first-child),
:deep(.el-tree-node__content:focus) {
background-color: mix(#fff, $--color-primary, 90%);
color: $--color-primary;
}
.f-box{
width: 13px;
height: 13px;
border-radius: 2px;
border: 1px solid #a3a7a8;
margin-right: 5px;
}
.custom-tree-node{
display: flex;
align-items: center;
}
.f-box-y{
width: 13px;
height: 13px;
border-radius: 2px;
border: 1px solid #1890ff;
margin-right: 5px;
background: #1890ff;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
}
</style>

View File

@ -0,0 +1,234 @@
<template>
<div class="el-tree-select">
<el-row :span="24">
<el-col :span="6">
<el-input
v-model="filterTxt"
style="width: 240px;margin-bottom: 10px"
placeholder="搜索"
@input="filterInput()"
/>
<el-tree
id="tree-option"
ref="treeData"
show-checkbox
:accordion="accordion"
:data="treeList"
:props="objMap"
:node-key="objMap.value"
:default-expand-all="true"
:expand-on-click-node="false"
:default-expanded-keys="defaultExpandedKey"
:filter-node-method="filterNode"
@check="handleNodeClick"
>
</el-tree>
</el-col>
<el-col :span="16">
<el-input
v-model="nickName"
style="width: 240px;margin-bottom: 10px;margin-left: 19px"
placeholder="搜索"
@input="getUserList()"
/>
<el-table @selection-change="handleSelectionChange" ref="userRef" :data="userData" row-key="id" style="width: 100%" stripe>
<el-table-column type="selection" width="55" />
<el-table-column fixed prop="nickname" label="名称" :show-overflow-tooltip="true"/>
<el-table-column fixed prop="mobile" label="联系方式" :show-overflow-tooltip="true"/>
</el-table>
</el-col>
</el-row>
</div>
</template>
<script setup name="userData">
import {getDeptTree,getUserData} from "@/api/knowledge/system/system";
const { proxy } = getCurrentInstance();
const nickName =ref('');
const props = defineProps({
/* 配置项 */
objMap: {
type: Object,
default: () => {
return {
value: 'id', // ID
label: 'label', //
children: 'children' //
}
}
},
selfStyle:{
type: Boolean,
default: () => {
return true
}
},
/* 自动收起 */
accordion: {
type: Boolean,
default: () => {
return false
}
},
needCheck: {
type: Boolean,
default: () => {
return false
}
},
/**当前双向数据绑定的值 */
value: {
type: [String, Number],
default: ''
},
/**输入框内部的文字 */
placeholder: {
type: String,
default: ''
}
})
const emit = defineEmits(['update:value']);
const treeList = ref([])
const filterTxt = ref('');
const deptIds = ref('');
const selectId = ref('');
const valueId = computed({
get: () => props.value,
set: (val) => {
emit('update:value', val)
}
});
const valueTitle = ref('');
const defaultExpandedKey = ref([]);
const selectUser=ref([])
function handleSelectionChange(selectData){
selectUser.value = selectData
}
function initHandle() {
nextTick(() => {
const selectedValue = valueId.value;
if(selectedValue !== null && typeof (selectedValue) !== 'undefined') {
const node = proxy.$refs.treeData.getNode(selectedValue)
if (node) {
valueTitle.value = node.data[props.objMap.label]
proxy.$refs.treeData.setCurrentKey(selectedValue) //
defaultExpandedKey.value = [selectedValue] //
}
} else {
clearHandle()
}
})
}
function filterInput(){
selectFilterData(filterTxt.value)
}
defineExpose({
getTreeList,selectUser
});
function getTreeList() {
getDeptTree().then((res) => {
treeList.value = res.data.data
})
}
const userData =ref([])
function getUserList(){
getUserData(deptIds.value,nickName.value).then((res) => {
userData.value = res.data.data
})
}
function handleNodeClick() {
let data = proxy.$refs['treeData'].getCheckedNodes()
let tempData=[]
for (let i = 0; i < data.length; i++) {
tempData.push(data[i].id)
}
deptIds.value = tempData.join(",")
getUserList()
proxy.$forceUpdate()
}
function selectFilterData(val) {
proxy.$refs.treeData.filter(val)
}
function filterNode(value, data) {
if (!value) return true
return data[props.objMap['label']].indexOf(value) !== -1
}
function clearHandle() {
valueTitle.value = ''
valueId.value = ''
defaultExpandedKey.value = [];
clearSelected()
}
function clearSelected() {
const allNode = document.querySelectorAll('#tree-option .el-tree-node')
allNode.forEach((element) => element.classList.remove('is-current'))
}
onMounted(() => {
initHandle()
})
watch(valueId, () => {
initHandle();
})
</script>
<style lang='scss' scoped>
@import "@/assets/styles/variables.module.scss";
.el-scrollbar .el-scrollbar__view .el-select-dropdown__item {
padding: 0;
background-color: #fff;
height: auto;
}
.el-select-dropdown__item.selected {
font-weight: normal;
}
ul li .el-tree .el-tree-node__content {
height: auto;
padding: 0 20px;
box-sizing: border-box;
}
:deep(.el-tree-node__content:hover),
:deep(.el-tree-node__content:active),
:deep(.is-current > div:first-child),
:deep(.el-tree-node__content:focus) {
background-color: mix(#fff, $--color-primary, 90%);
color: $--color-primary;
}
.f-box{
width: 13px;
height: 13px;
border-radius: 2px;
border: 1px solid #a3a7a8;
margin-right: 5px;
}
.custom-tree-node{
display: flex;
align-items: center;
}
.f-box-y{
width: 13px;
height: 13px;
border-radius: 2px;
border: 1px solid #1890ff;
margin-right: 5px;
background: #1890ff;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
}
</style>

View File

@ -0,0 +1,594 @@
<template>
<div class="centenr">
<div class="left-box">
<div class="ds-box" :class="{'actbox' : tabIndex == 1 }" @click="clickType(null,1)">
<span>全部文件 </span>
</div>
<div class="ds-box" :class="{'actbox' : tabIndex == 2 }" @click="clickType(1,2)">
<el-icon :size="22">
<Picture/>
</el-icon>
<div class="size-right">图片</div>
</div>
<div class="ds-box" :class="{'actbox' : tabIndex == 3 }" @click="clickType(2,3)">
<el-icon :size="22">
<Film/>
</el-icon>
<div class="size-right">视频</div>
</div>
<div class="ds-box" :class="{'actbox' : tabIndex == 4 }" @click="clickType(3,4)">
<el-icon :size="22">
<Document/>
</el-icon>
<div class="size-right">文档</div>
</div>
<div class="ds-box" :class="{'actbox' : tabIndex == 5 }" @click="clickType(4,5)">
<el-icon :size="22">
<Headset/>
</el-icon>
<div class="size-right">音频</div>
</div>
<div class="hs-box" :class="{'actbox' : tabIndex == 6 }" @click="getListRecycled(6)">
<span>回收站</span>
</div>
</div>
<div class="right-box">
<div class="right-box-top">
<div class="left-ds-box">
<div style="display: flex; align-items: center">
<el-button class="lan-bottom" @click="openUpload()" v-if="tabIndex != 6">上传文件</el-button>
<el-button class="lan-bottom" @click="Bfolder()" v-if="tabIndex != 6">新建文件夹</el-button>
<el-button class="hong-bottom" v-if="tabIndex != 6" @click="handleDelete">批量删除</el-button>
<el-button class="hong-bottom" v-if="tabIndex == 6" @click="handleRealDelete">批量删除</el-button>
<el-button class="hong-bottom" @click="returnDir" v-if="tabIndex != 6">返回</el-button>
</div>
<div class="input-box">
<!-- <input type="text" @input="findAllDocLists()" v-model="queryParams.originalFilename" placeholder="输入搜索关键词"> -->
<el-input @input="findAllDocLists()" v-model="queryParams.originalFilename" placeholder="输入搜索关键词" />
</div>
</div>
<el-table
v-loading="loading"
ref="multipleTableRef"
:data="tableData"
row-key="id"
style="width: 100%"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55"/>
<el-table-column property="curFilename" label="名称" width="360">
<template #default="scope">
<div style="display: flex;align-items: center" @click="shijian(scope.row)">
<img src="../../assets/images/wjj.png" v-if=" scope.row.type == '0' " @click="enterDir(scope.row)"
style="width: 28px; height: 28px;margin-right: 5px">
<img src="../../assets/images/wd.png" v-if=" scope.row.type == '3' " @click="view(scope.row)"
style="width: 28px; height: 28px;margin-right: 5px">
<img src="../../assets/images/zp.png" v-if=" scope.row.type == '1' " @click="view(scope.row)"
style="width: 28px; height: 28px;margin-right: 5px">
<img src="../../assets/images/yp.png" v-if=" scope.row.type == '4' " @click="view(scope.row)"
style="width: 28px; height: 28px;margin-right: 5px">
<img src="../../assets/images/sp.png" v-if=" scope.row.type == '2' " @click="view(scope.row)"
style="width: 28px; height: 28px;margin-right: 5px">
<div v-if="scope.row.curFilename" style="cursor:pointer" > {{ scope.row.curFilename }}</div>
<div v-else > {{ scope.row.curFilename }}</div>
</div>
</template>
</el-table-column>
<el-table-column property="fileSize" label="大小">
<template #default="scope">
<span >{{ (scope.row.fileSize/(1024*1024)).toFixed(1) }}MB</span>
</template>
</el-table-column>
<el-table-column property="type" label="类型">
<template #default="scope">
<span v-if="scope.row.type == 0">文件夹</span>
<span v-if="scope.row.type == 1">图片</span>
<span v-if="scope.row.type == 2">视频</span>
<span v-if="scope.row.type == 3">文档</span>
<span v-if="scope.row.type == 4">音频</span>
</template>
</el-table-column>
<el-table-column property="createTime" label="创建时间" v-if="tabIndex != 6 ">
<template #default="scope">
<span>{{ formatDate(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column property="updateTime" label="删除日期" v-if="tabIndex == 6 ">
<template #default="scope">
<span>{{ scope.row.updateTime }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<div class="bot-box">
<div style="margin-right: 15px" v-if="tabIndex == 6 " @click="restores(scope.row)">还原</div>
<div style="margin-right: 15px" v-show="scope.row.isDir ==1" v-else @click="down(scope.row)">下载</div>
<div style="margin-right: 15px" v-if="tabIndex == 6" @click="handleRealDelete(scope.row)">删除</div>
<div style="margin-right: 15px" v-else @click="handleDelete(scope.row)">删除</div>
</div>
</template>
</el-table-column>
</el-table>
<div class="box-fy">
<el-pagination background layout="total, sizes, prev, pager, next, jumper" :total="total"
@size-change="pageSizeChangeHandle" @current-change="pageCurrentChangeHandle" :current-page="queryParams.pageNo" />
</div>
</div>
</div>
<el-dialog :visible.sync="centerDialogVisible" title="上传文件" width="500" center>
<div style="display: flex">
<span style="color: red;margin-right: 10px">*</span>
<FileUpload v-if="centerDialogVisible" v-model="fileInfos" :limit="5"></FileUpload>
</div>
<template #footer>
<div class="dialog-footer">
<el-button @click="cancel">取消</el-button>
<el-button type="primary" @click="addFile()">
确定
</el-button>
</div>
</template>
</el-dialog>
<el-dialog :visible.sync="folder" title="新建文件夹" width="500" center>
<div class="wj-box">
<div><span style="color: red">*</span> 名称</div>
<el-input v-model="form.curFilename" style="width: 240px" placeholder="请输入新建文件夹名称"/>
</div>
<template #footer>
<div class="dialog-footer">
<el-button @click="closeDir">取消</el-button>
<!-- <el-button type="primary" @click="folder = false">-->
<el-button type="primary" @click="createDir">
确定
</el-button>
</div>
</template>
</el-dialog>
</div>
</template>
<script>
import { findAll, save, delByIds, ackDelete, restore, getParentId, findAllDocList } from "@/api/knowledge/tarchives/tarchives";
import { getPreViewUrl } from "@/utils/auth";
import { downloadFileUrl, downloadFile } from "../util/file";
export default {
data() {
return {
loading: true,
tabIndex: 1,
folder: false,
input: '',
parentId: '',
tableData: [],
ids: null,
idList: null,
selectIds: null,
total: 0,
form: {},
queryParams: {
originalFilename: "",
parentId: null,
isRecycled: 1,
type: null,
pageNo: 1,
pageSize: 10
},
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" }]
},
centerDialogVisible: false,
presentId: null,
fileInfos: []
};
},
methods: {
formatDate(value) {
const date = new Date(value);
// 使toISOStringYYYY-MM-DD
const isoString = date.toISOString();
// ISO
return isoString.slice(0, 10);
},
padLeftZero(str) {
return ('00' + str).substr(str.length)
},
openUpload(){
console.log(193)
this.centerDialogVisible = true
},
/**
* 上传文件
*/
uploadUrl(obj) {
this.fileInfos = obj;
},
cancel() {
this.centerDialogVisible = false;
this.fileInfos = [];
},
addFile() {
console.log(this.fileInfos,207)
if (!this.fileInfos) {
this.$modal.msgError("请选择文件");
return;
}
this.fileInfos.forEach(fileInfo => {
let data = {
parentId: this.presentId,
originalFilename: fileInfo.name,
fileUrl: fileInfo.url,
fileSize: fileInfo.size
};
save(data).then(res => {
if (res.code === 200) {
this.folder = false;
this.form = {};
} else {
// this.$modal.msgError(res.data.msg);
}
this.getList();
this.centerDialogVisible = false
});
});
this.$modal.msgSuccess("上传成功");
},
shijian(data) {
if (data.type === '0') {
this.enterDir(data);
} else {
this.view(data);
}
},
enterDir(data) {
this.queryParams.pageNo = 1;
if (data.isRecycled === 1 && data.isDir === 0) {
this.queryParams.parentId = data.id;
this.parentId = data.id;
this.form.parentId = data.id;
this.getList();
}
this.presentId = data.id;
},
returnDir() {
let data = {
id: this.presentId
};
this.queryParams.pageNo = 1;
getParentId(data).then(res => {
if (res.data.parentId) {
this.queryParams.parentId = res.data.parentId;
this.form.parentId = res.data.parentId;
this.presentId = res.data.parentId;
} else {
this.queryParams.parentId = '';
this.form.parentId = '';
}
this.getList();
});
},
//
handleSelectionChange(selection) {
let tempId = selection.map(item => item.id);
this.selectIds = tempId.join(',');
this.ids = tempId.join(',');
},
/** 文件查看 */
getList() {
this.loading = true;
findAll(this.queryParams).then(response => {
console.log(response,274)
this.tableData = response.data.records;
this.total = response.data.total;
this.loading = false;
});
},
pageCurrentChangeHandle(val) {
this.loading = true;
this.queryParams.pageNo = val;
findAll(this.queryParams).then(response => {
this.tableData = response.data.records;
this.total = response.data.total;
this.loading = false;
});
},
pageSizeChangeHandle(val) {
this.loading = true;
this.queryParams.pageNo = 1;
this.queryParams.pageSize = val;
findAll(this.queryParams).then(response => {
this.tableData = response.data.records;
this.total = response.data.total;
this.loading = false;
});
},
/** 文件查看 */
findAllDocLists() {
this.loading = true;
findAllDocList(this.queryParams).then(response => {
this.tableData = response.data.records;
this.total = response.data.total;
this.loading = false;
});
},
clickType(type, idx) {
this.queryParams.pageNo = 1;
this.tableData = [];
this.form.parentId = null;
this.tabIndex = idx;
this.loading = true;
this.queryParams.parentId = null;
this.queryParams.isRecycled = 1;
this.queryParams.type = type;
this.getList();
},
getListRecycled(idx) {
this.tabIndex = idx;
this.loading = true;
this.queryParams.type = null;
this.queryParams.parentId = null;
this.queryParams.isRecycled = 0;
this.getList();
},
closeDir() {
this.form = {};
this.folder = false;
},
/** 文件保存 */
createDir() {
if (!this.form.curFilename) {
this.$modal.msgWarning("请填写文件名称");
return;
}
if (this.form.id!== undefined) {
save(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.folder = false;
this.getList();
});
} else {
save(this.form).then(response => {
if (response.code === 200) {
this.$modal.msgSuccess("新增成功");
this.folder = false;
this.form = {};
this.getList();
} else {
this.$modal.msgError(response.msg);
}
});
}
},
/** 文件删除 */
handleDelete(row) {
const ids = row.id || this.selectIds;
this.$modal.confirm('是否确认删除此项数据?').then(() => {
let data = {
ids: ids
};
return delByIds(data);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {
});
},
/** 彻底删除 */
handleRealDelete(row) {
const ids = row.id || this.selectIds;
this.$modal.confirm('是否确认删除此项数据?').then(() => {
let data = {
ids: ids
};
return ackDelete(data);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {
});
},
handleExport() {
this.$download("/knowledge/system/tArchives/export", this.queryParams, `档案管理_${new Date().getTime()}`);
},
/** 还原 */
restores(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认还原此项数据?').then(() => {
let data = {
ids: ids
};
return restore(data);
}).then(() => {
this.getList();
this.$modal.msgSuccess("还原成功");
}).catch(() => {
});
},
down(row) {
downloadFile(row.fileUrl,row.originalFilename);
},
view(row) {
var preViewUrl = getPreViewUrl(downloadFileUrl + "?fileName=" + row.fileUrl, row.fileUrl, "连铝");
window.open(preViewUrl);
},
Bfolder() {
this.folder = true;
}
},
created() {
this.getList();
}
};
</script>
<style scoped lang="scss">
.centenr {
width: 100%;
background: #FFFFFF;
border-radius: 10px;
display: flex;
box-sizing: border-box;
padding: 20px;
}
.left-box {
width: 15%;
border-right: 1px solid #D8D8D8;
}
.right-box {
width: 84%;
box-sizing: border-box;
//padding: 0px 15px;
margin-left: 20px;
}
.actbox {
background: #F1F7FF !important;
color: #237EFF !important;
}
.hs-box {
width: 90%;
height: 40px;
border-radius: 3px;
margin: 0 auto;
display: flex;
align-items: center;
justify-content: center;
border-top: 1px solid #D8D8D8;
margintop: 20px;
cursor: pointer;
}
.ds-box {
width: 90%;
height: 40px;
border-radius: 3px;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto;
margin-bottom: 20px;
cursor: pointer;
}
.size-right {
margin-left: 10px;
cursor: pointer;
}
right-box-top {
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
}
.input-box {
width: 20%;
height: 40px;
border-radius: 8px;
display: flex;
align-items: center;
box-sizing: border-box;
padding: 5px 15px;
}
.left-ds-box {
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 20px;
}
.lan-bottom {
width: 112px;
height: 40px;
background: #0052D9;
border-radius: 3px;
color: #fff;
display: flex;
align-items: center;
justify-content: center;
margin-right: 15px;
cursor: pointer;
}
.dlan-bottom {
width: 112px;
height: 40px;
border: 1px solid #0052D9;
border-radius: 3px;
color: #0052D9;
display: flex;
align-items: center;
justify-content: center;
margin-right: 15px;
cursor: pointer;
}
.hong-bottom {
width: 112px;
height: 40px;
border: 1px solid #D54941;
border-radius: 3px;
color: #D54941;
display: flex;
align-items: center;
justify-content: center;
margin-right: 15px;
cursor: pointer;
}
.box-fy {
width: 100%;
display: flex;
align-items: center;
justify-content: flex-end;
margin-top: 20px;
}
.bot-box {
width: 100%;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
color: #237EFF;
}
.wj-box {
display: flex;
align-items: center;
}
</style>

View File

@ -0,0 +1,68 @@
import request from '@/utils/request'
import {getToken} from "@/utils/auth";
const apiUrl = `/knowledge/api`
// 图片流地址
export const imgUrl = apiUrl + '/image/'
export const uploadFileUrl = apiUrl + '/uploadFile'
// 文件下载地址,后接文件编码
export const downloadFileUrl = apiUrl + '/downloadFile'
export const qrCodeFileUrl = apiUrl + '/qrcodeFile'
export const getImage = (code) => {
return request({
url: imgUrl + '/' + code,
method: 'get',
responseType: 'blob',
})
}
export const deleteImage = key => {
return request({
url: `${apiUrl}/deleteImage`,
method: 'post',
data: { "key": key }
})
}
export const deleteDoc = key => {
return request({
url: `${apiUrl}/deleteDoc`,
method: 'post',
data: { "key": key }
})
}
// 删除文件
export const deleteFile = fileCode => {
return request({
url: `${apiUrl}/deleteFile`,
method: 'post',
data: {
"fileCode": fileCode
}
})
}
// 文件下载
export const downloadFile = (url,fileName) => {
request({
url: url,
method: 'get',
responseType: 'blob'
}).then(res => {
let a = document.createElement('a')
a.style.display = 'none'
a.setAttribute('download', fileName)
a.href = URL.createObjectURL(new Blob([res.data]))
document.body.appendChild(a)
a.click()
URL.revokeObjectURL(a.href)
document.body.removeChild(a)
})
}
export function getDownUrl(url) {
let preViewUrl = downloadFileUrl +"?fileName="+ url + '&Authorization=Bearer ' + getToken()
return preViewUrl
}

View File

@ -6,12 +6,13 @@
</template>
<script>
import iFrame from "@/components/iFrame/index";
import {getAccessToken,getTenantId} from "@/utils/auth";
export default {
name: "GoView",
components: { iFrame },
data() {
return {
url: 'http://192.168.1.17:3000',
url: process.env.VUE_APP_BIG_SCREEN_SERVER+'/?tenantId='+getTenantId()+"&token="+getAccessToken(),
};
},
};