Merge branch 'test_dispaly' of https://git.code.tencent.com/lian-cbtc/jl-client into test_dispaly
This commit is contained in:
commit
d8686ec6af
145
src/api/projectConfig.js
Normal file
145
src/api/projectConfig.js
Normal file
@ -0,0 +1,145 @@
|
|||||||
|
import request from '@/utils/request';
|
||||||
|
|
||||||
|
/** 后端项目配置分页 */
|
||||||
|
export function getBackProjectConfigByPage(params) {
|
||||||
|
return request({
|
||||||
|
url: `/api/project/page`,
|
||||||
|
method: 'get',
|
||||||
|
params
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 全量后端项目配置 */
|
||||||
|
export function getAllBackProjectConfig() {
|
||||||
|
return request({
|
||||||
|
url: `/api/project/all`,
|
||||||
|
method: 'get'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 主键获取后端项目配置 */
|
||||||
|
export function getBackProjectConfigById(id) {
|
||||||
|
return request({
|
||||||
|
url: `/api/project/${id}`,
|
||||||
|
method: 'get'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 删除后端项目配置 */
|
||||||
|
export function deleteBackProjectConfig(id) {
|
||||||
|
return request({
|
||||||
|
url: `/api/project/del/${id}`,
|
||||||
|
method: 'delete'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 更新后端项目配置 */
|
||||||
|
export function updateBackProjectConfig(data) {
|
||||||
|
return request({
|
||||||
|
url: `/api/project/update`,
|
||||||
|
method: 'put',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 保存后端项目配置 */
|
||||||
|
export function saveBackProjectConfig(data) {
|
||||||
|
return request({
|
||||||
|
url: `/api/project/save`,
|
||||||
|
method: 'POST',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 获取后端项目列表,关联时使用 */
|
||||||
|
export function getBackProjectConfigList(id) {
|
||||||
|
return request({
|
||||||
|
url: `/api/project/simple`,
|
||||||
|
method: 'get'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 前端项目配置分页 */
|
||||||
|
export function getFrontProjectConfigByPage(params) {
|
||||||
|
return request({
|
||||||
|
url: `/api/project/viewSetting/page`,
|
||||||
|
method: 'get',
|
||||||
|
params
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 全量前端项目配置 */
|
||||||
|
export function getAllFrontProjectConfig() {
|
||||||
|
return request({
|
||||||
|
url: `/api/project/viewSetting/all`,
|
||||||
|
method: 'get'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 获取前端项目配置 */
|
||||||
|
export function getFrontProjectConfigById(id) {
|
||||||
|
return request({
|
||||||
|
url: `/api/project/viewSetting/${id}`,
|
||||||
|
method: 'get'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 删除前端项目配置 */
|
||||||
|
export function deleteFrontProjectConfig(id) {
|
||||||
|
return request({
|
||||||
|
url: `/api/project/viewSetting/del/${id}`,
|
||||||
|
method: 'delete'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 更新前端项目配置 */
|
||||||
|
export function updateFrontProjectConfig(data) {
|
||||||
|
return request({
|
||||||
|
url: `/api/project/viewSetting/update`,
|
||||||
|
method: 'put',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 保存前端项目配置 */
|
||||||
|
export function saveFrontProjectConfig(data) {
|
||||||
|
return request({
|
||||||
|
url: `/api/project/viewSetting/save`,
|
||||||
|
method: 'POST',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 登录时根据前端标识获取配置 */
|
||||||
|
export function getFrontProjectConfigByLogin(markKey) {
|
||||||
|
return request({
|
||||||
|
url: `/api/project/viewSetting/project/${markKey}`,
|
||||||
|
method: 'get'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 登录时获取全量前端配置 */
|
||||||
|
export function getAllFrontProjectConfigByLogin(markKey) {
|
||||||
|
return request({
|
||||||
|
url: `/api/project/viewSetting/simple/all`,
|
||||||
|
method: 'get'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 检查项目code */
|
||||||
|
export function checkBackProjectExist(params) {
|
||||||
|
return request({
|
||||||
|
url: `/api/project/check/code`,
|
||||||
|
method: 'get',
|
||||||
|
params
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 检查项目markKey */
|
||||||
|
export function checkFrontProjectExist(params) {
|
||||||
|
return request({
|
||||||
|
url: `/api/project/check/markKey`,
|
||||||
|
method: 'get',
|
||||||
|
params
|
||||||
|
});
|
||||||
|
}
|
@ -104,5 +104,7 @@ export default {
|
|||||||
projectServer: 'Project Server',
|
projectServer: 'Project Server',
|
||||||
audioResourcesManage: 'Audio Resources Manage',
|
audioResourcesManage: 'Audio Resources Manage',
|
||||||
iscsDeviceManage: 'ISCS Device Manage',
|
iscsDeviceManage: 'ISCS Device Manage',
|
||||||
iscsResourcesManage: 'ISCS Resources Manage'
|
iscsResourcesManage: 'ISCS Resources Manage',
|
||||||
|
projectManage: 'Project Manage',
|
||||||
|
frontProjectConfigManage:'Front Project Config Manage'
|
||||||
};
|
};
|
||||||
|
@ -108,5 +108,7 @@ export default {
|
|||||||
projectServer: '项目域名',
|
projectServer: '项目域名',
|
||||||
audioResourcesManage: '音频资源管理',
|
audioResourcesManage: '音频资源管理',
|
||||||
iscsDeviceManage: 'ISCS设备管理',
|
iscsDeviceManage: 'ISCS设备管理',
|
||||||
iscsResourcesManage: 'ISCS资源管理'
|
iscsResourcesManage: 'ISCS资源管理',
|
||||||
|
projectManage: '项目管理',
|
||||||
|
frontProjectConfigManage:'前端项目配置管理'
|
||||||
};
|
};
|
||||||
|
@ -208,6 +208,9 @@ const UploadPdfList = () => import('@/views/uploadPdf/list');
|
|||||||
const ThirdLogin = () => import('@/views/thirdLogin');
|
const ThirdLogin = () => import('@/views/thirdLogin');
|
||||||
const ProjectServer = () => import('@/views/system/serverManage');
|
const ProjectServer = () => import('@/views/system/serverManage');
|
||||||
const VoiceManage = () => import('@/views/fileManage/voiceManage');
|
const VoiceManage = () => import('@/views/fileManage/voiceManage');
|
||||||
|
const ProjectManage = () => import('@/views/system/projectManage');
|
||||||
|
const FrontProjectConfigManage = () => import('@/views/system/frontProjectConfigManage');
|
||||||
|
|
||||||
const IscsDeviceManage = () => import('@/views/system/iscsDeviceManage');
|
const IscsDeviceManage = () => import('@/views/system/iscsDeviceManage');
|
||||||
const IscsResourcesManage = () => import('@/views/system/iscsResourcesManage');
|
const IscsResourcesManage = () => import('@/views/system/iscsResourcesManage');
|
||||||
|
|
||||||
@ -1336,6 +1339,20 @@ export const asyncRouter = [
|
|||||||
meta: {
|
meta: {
|
||||||
i18n: 'router.audioResourcesManage'
|
i18n: 'router.audioResourcesManage'
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path:'projectManage',
|
||||||
|
component: ProjectManage,
|
||||||
|
meta: {
|
||||||
|
i18n: 'router.projectManage'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path:'frontProjectConfigManage',
|
||||||
|
component: FrontProjectConfigManage,
|
||||||
|
meta: {
|
||||||
|
i18n: 'router.frontProjectConfigManage'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
123
src/views/system/frontProjectConfigManage/add.vue
Normal file
123
src/views/system/frontProjectConfigManage/add.vue
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
<template>
|
||||||
|
<el-dialog v-dialogDrag :title="title" :visible.sync="dialogVisible" width="500px" :before-close="handleClose" center :close-on-click-modal="false">
|
||||||
|
<el-form ref="ruleForm" :model="formModel" :rules="rules" label-width="130px">
|
||||||
|
<el-form-item label="配置编码:" prop="markKey">
|
||||||
|
<el-input v-model="formModel.markKey" style="width: 260px;" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="关联项目:" prop="project">
|
||||||
|
<el-select v-model="formModel.project" placeholder="请选择" style="width: 260px;">
|
||||||
|
<el-option
|
||||||
|
v-for="item in projectList"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<span slot="footer" class="dialog-footer">
|
||||||
|
<el-button v-loading="loading" type="primary" @click="doSave">{{ $t('global.confirm') }}</el-button>
|
||||||
|
<el-button @click="handleClose">{{ $t('global.cancel') }}</el-button>
|
||||||
|
</span>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import { updateFrontProjectConfig, saveFrontProjectConfig, checkFrontProjectExist} from '@/api/projectConfig';
|
||||||
|
export default {
|
||||||
|
name:'AddProjectConfig',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
dialogVisible: false,
|
||||||
|
projectList:[],
|
||||||
|
formModel: {
|
||||||
|
id:'',
|
||||||
|
markKey: '', // 配置编码
|
||||||
|
project: 'DEFAULT' // 关联项目
|
||||||
|
// view_setting: '', // 前端服务设置
|
||||||
|
},
|
||||||
|
loading: false
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
rules() {
|
||||||
|
const crules = {
|
||||||
|
markKey: [
|
||||||
|
{ required: true, message: '请输入配置编码', trigger: 'blur' }
|
||||||
|
]
|
||||||
|
// project: [
|
||||||
|
// { required: true, message: '请选择关联项目', trigger: 'blur' },
|
||||||
|
// { required: true, message: '请选择关联项目', trigger: 'change' }
|
||||||
|
// ]
|
||||||
|
};
|
||||||
|
return crules;
|
||||||
|
},
|
||||||
|
title() {
|
||||||
|
return this.formModel.id ? '修改前端配置' : '创建前端配置';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
doShow({projectMap, row}) {
|
||||||
|
this.dialogVisible = true;
|
||||||
|
this.projectList = Object.values(projectMap);
|
||||||
|
if (row) {
|
||||||
|
this.formModel.id = row.id;
|
||||||
|
this.formModel.markKey = row.markKey;
|
||||||
|
this.formModel.project = row.project;
|
||||||
|
} else {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.ruleForm.resetFields();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handleClose() {
|
||||||
|
this.formModel = {
|
||||||
|
id:'',
|
||||||
|
markKey: '', // 配置编码
|
||||||
|
project: '' // 关联项目
|
||||||
|
};
|
||||||
|
this.$refs.ruleForm.resetFields();
|
||||||
|
this.dialogVisible = false;
|
||||||
|
this.loading = false;
|
||||||
|
},
|
||||||
|
doSave() {
|
||||||
|
this.$refs.ruleForm.validate((valid) => {
|
||||||
|
if (valid) {
|
||||||
|
this.loading = true;
|
||||||
|
const data = Object.assign({}, this.formModel);
|
||||||
|
// 检查项目markKey
|
||||||
|
checkFrontProjectExist({markKey:data.markKey}).then(res=>{
|
||||||
|
if (!res.data) {
|
||||||
|
if (data.id) {
|
||||||
|
// 更新前端项目配置
|
||||||
|
updateFrontProjectConfig(data).then(resp => {
|
||||||
|
this.$message.success('修改前端配置成功!');
|
||||||
|
this.handleClose();
|
||||||
|
this.$emit('reloadTable');
|
||||||
|
}).catch(error => {
|
||||||
|
this.$message.error(error.message);
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
delete data.id;
|
||||||
|
// 保存前端项目配置
|
||||||
|
saveFrontProjectConfig(data).then(resp => {
|
||||||
|
this.$message.success('创建前端配置成功!');
|
||||||
|
this.handleClose();
|
||||||
|
this.$emit('reloadTable');
|
||||||
|
}).catch(error => {
|
||||||
|
this.$message.error(error.message);
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.loading = false;
|
||||||
|
this.$message.error('此前端配置已存在,请修改配置编码');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
132
src/views/system/frontProjectConfigManage/index.vue
Normal file
132
src/views/system/frontProjectConfigManage/index.vue
Normal file
@ -0,0 +1,132 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<QueryListPage ref="queryListPage" :pager-config="pagerConfig" :query-form="queryForm" :query-list="queryList" />
|
||||||
|
<add-project-config ref="addProjectConfig" @reloadTable="reloadTable" />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import { getFrontProjectConfigByPage, deleteFrontProjectConfig, getBackProjectConfigList} from '@/api/projectConfig';
|
||||||
|
import AddProjectConfig from './add';
|
||||||
|
export default {
|
||||||
|
name:'FrontProjectConfigManage',
|
||||||
|
components: {
|
||||||
|
AddProjectConfig
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
pagerConfig: {
|
||||||
|
pageSize: 'pageSize',
|
||||||
|
pageIndex: 'pageNum'
|
||||||
|
},
|
||||||
|
queryForm: {
|
||||||
|
labelWidth: '120px',
|
||||||
|
reset: true,
|
||||||
|
queryObject: {
|
||||||
|
markKey: {
|
||||||
|
type: 'text',
|
||||||
|
label: '配置编码'
|
||||||
|
},
|
||||||
|
project:{
|
||||||
|
type: 'select',
|
||||||
|
label: '关联项目',
|
||||||
|
config: {
|
||||||
|
data: []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
projectMap:{},
|
||||||
|
queryList: {
|
||||||
|
query: this.getFrontProjectListByPage,
|
||||||
|
selectCheckShow: false,
|
||||||
|
indexShow: true,
|
||||||
|
columns: [
|
||||||
|
{
|
||||||
|
title: '配置编码',
|
||||||
|
prop: 'markKey'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '关联项目',
|
||||||
|
prop: 'project',
|
||||||
|
type: 'tag',
|
||||||
|
columnValue: (row) => { return this.projectMap[row.project] ? this.projectMap[row.project].label : ''; },
|
||||||
|
tagType: (row) => { return 'success'; }
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'button',
|
||||||
|
title: this.$t('global.operate'),
|
||||||
|
width: '300',
|
||||||
|
buttons: [
|
||||||
|
{
|
||||||
|
name: '编辑',
|
||||||
|
handleClick: this.handleEdit
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: this.$t('global.delete'),
|
||||||
|
handleClick: this.handleDelete,
|
||||||
|
type: 'danger'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
// view_setting: 前端服务设置
|
||||||
|
// status:0删除,1有效
|
||||||
|
],
|
||||||
|
actions: [
|
||||||
|
{ text: this.$t('global.add'), handler: this.createProjectConfig}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
// 获取后端项目列表,关联时使用
|
||||||
|
getBackProjectConfigList().then(resp => {
|
||||||
|
if (resp.data && resp.data.length > 0) {
|
||||||
|
this.projectMap['DEFAULT'] = {label:'默认', value:'DEFAULT'};
|
||||||
|
resp.data.forEach(each=>{
|
||||||
|
this.projectMap[each.value] = each;
|
||||||
|
});
|
||||||
|
this.queryForm.queryObject.project.config.data = Object.values(this.projectMap);
|
||||||
|
}
|
||||||
|
}).catch(error => {
|
||||||
|
console.log(error);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
// 前端项目配置分页
|
||||||
|
async getFrontProjectListByPage(params) {
|
||||||
|
let res = '';
|
||||||
|
res = await getFrontProjectConfigByPage(params);
|
||||||
|
res.data.list.filter(item => {
|
||||||
|
return item.status == 1;
|
||||||
|
});
|
||||||
|
return res;
|
||||||
|
},
|
||||||
|
handleEdit(index, row) {
|
||||||
|
this.$refs.addProjectConfig.doShow({projectMap:this.projectMap, row:row});
|
||||||
|
},
|
||||||
|
createProjectConfig() {
|
||||||
|
this.$refs.addProjectConfig.doShow({projectMap:this.projectMap});
|
||||||
|
},
|
||||||
|
// 删除前端项目配置
|
||||||
|
handleDelete(index, row) {
|
||||||
|
this.$confirm('此操作将删除该项目配置数据!', this.$t('global.tips'), {
|
||||||
|
confirmButtonText: this.$t('global.confirm'),
|
||||||
|
cancelButtonText: this.$t('global.cancel'),
|
||||||
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
deleteFrontProjectConfig(row.id).then(response => {
|
||||||
|
this.$message.success(this.$t('system.deleteSuccess'));
|
||||||
|
this.reloadTable();
|
||||||
|
}).catch(() => {
|
||||||
|
this.reloadTable();
|
||||||
|
this.$messageBox(this.$t('error.deleteFailed'));
|
||||||
|
});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
reloadTable() {
|
||||||
|
this.queryList.reload();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
128
src/views/system/projectManage/add.vue
Normal file
128
src/views/system/projectManage/add.vue
Normal file
@ -0,0 +1,128 @@
|
|||||||
|
<template>
|
||||||
|
<el-dialog v-dialogDrag :title="title" :visible.sync="dialogVisible" width="500px" :before-close="handleClose" center :close-on-click-modal="false">
|
||||||
|
<el-form ref="ruleForm" :model="formModel" :rules="rules" label-width="130px">
|
||||||
|
<el-form-item label="项目编码:" prop="code">
|
||||||
|
<el-input v-model="formModel.code" style="width: 200px;" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="项目名称:" prop="name">
|
||||||
|
<el-input v-model="formModel.name" style="width: 200px;" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="项目描述:" prop="description">
|
||||||
|
<el-input v-model="formModel.description" style="width: 260px;" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="关联项目:" prop="viewShow">
|
||||||
|
<el-switch v-model="formModel.viewShow" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<span slot="footer" class="dialog-footer">
|
||||||
|
<el-button v-loading="loading" type="primary" @click="doSave">{{ $t('global.confirm') }}</el-button>
|
||||||
|
<el-button @click="handleClose">{{ $t('global.cancel') }}</el-button>
|
||||||
|
</span>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import { saveBackProjectConfig, updateBackProjectConfig, checkBackProjectExist} from '@/api/projectConfig';
|
||||||
|
export default {
|
||||||
|
name: 'AddProject',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
dialogVisible: false,
|
||||||
|
formModel: {
|
||||||
|
id: '',
|
||||||
|
code: '', // 项目编码
|
||||||
|
name: '', // 项目名称
|
||||||
|
description: '', // 描述
|
||||||
|
viewShow:false // 是否可关联项目下拉选择,0否,1是
|
||||||
|
},
|
||||||
|
loading: false
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
rules() {
|
||||||
|
const crules = {
|
||||||
|
code: [
|
||||||
|
{ required: true, message: '请输入项目编码', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
name: [
|
||||||
|
{ required: true, message: '请输入项目名称', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
description: [
|
||||||
|
{ required: true, message: '请输入项目描述', trigger: 'blur' }
|
||||||
|
]
|
||||||
|
};
|
||||||
|
return crules;
|
||||||
|
},
|
||||||
|
title() {
|
||||||
|
return this.formModel.id ? '修改项目' : '创建项目';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
doShow(row) {
|
||||||
|
this.dialogVisible = true;
|
||||||
|
if (row) {
|
||||||
|
this.formModel.id = row.id;
|
||||||
|
this.formModel.code = row.code;
|
||||||
|
this.formModel.name = row.name;
|
||||||
|
this.formModel.description = row.description;
|
||||||
|
this.formModel.viewShow = !!row.viewShow;
|
||||||
|
} else {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.ruleForm.resetFields();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handleClose() {
|
||||||
|
this.formModel = {
|
||||||
|
id: '',
|
||||||
|
code: '', // 项目编码
|
||||||
|
name: '', // 项目名称
|
||||||
|
description: '', // 描述
|
||||||
|
viewShow:false // 是否可关联项目下拉选择,0否,1是
|
||||||
|
};
|
||||||
|
this.$refs.ruleForm.resetFields();
|
||||||
|
this.dialogVisible = false;
|
||||||
|
this.loading = false;
|
||||||
|
},
|
||||||
|
doSave() {
|
||||||
|
this.$refs.ruleForm.validate((valid) => {
|
||||||
|
if (valid) {
|
||||||
|
this.loading = true;
|
||||||
|
const data = Object.assign({}, this.formModel);
|
||||||
|
data.viewShow = data.viewShow ? 1 : 0;
|
||||||
|
// 检查项目code
|
||||||
|
checkBackProjectExist({code:data.code}).then(res=>{
|
||||||
|
if (!res.data) {
|
||||||
|
if (data.id) {
|
||||||
|
// 更新后端项目配置
|
||||||
|
updateBackProjectConfig(data).then(resp => {
|
||||||
|
this.$message.success('修改项目成功!');
|
||||||
|
this.handleClose();
|
||||||
|
this.$emit('reloadTable');
|
||||||
|
}).catch(error => {
|
||||||
|
this.$message.error(error.message);
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
delete data.id;
|
||||||
|
// 保存后端项目配置
|
||||||
|
saveBackProjectConfig(data).then(resp => {
|
||||||
|
this.$message.success('创建项目成功!');
|
||||||
|
this.handleClose();
|
||||||
|
this.$emit('reloadTable');
|
||||||
|
}).catch(error => {
|
||||||
|
this.$message.error(error.message);
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.loading = false;
|
||||||
|
this.$message.error('此项目已存在,请修改项目编码');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
118
src/views/system/projectManage/index.vue
Normal file
118
src/views/system/projectManage/index.vue
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<QueryListPage ref="queryListPage" :pager-config="pagerConfig" :query-form="queryForm" :query-list="queryList" />
|
||||||
|
<add-project ref="addProject" @reloadTable="reloadTable" />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import { getBackProjectConfigByPage, deleteBackProjectConfig} from '@/api/projectConfig';
|
||||||
|
import AddProject from './add';
|
||||||
|
// getBackProjectConfigById
|
||||||
|
export default {
|
||||||
|
name:'ProjectManage',
|
||||||
|
components: {
|
||||||
|
AddProject
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
pagerConfig: {
|
||||||
|
pageSize: 'pageSize',
|
||||||
|
pageIndex: 'pageNum'
|
||||||
|
},
|
||||||
|
queryForm: {
|
||||||
|
labelWidth: '120px',
|
||||||
|
reset: true,
|
||||||
|
queryObject: {
|
||||||
|
code: {
|
||||||
|
type: 'text',
|
||||||
|
label: '项目编码'
|
||||||
|
},
|
||||||
|
name: {
|
||||||
|
type: 'text',
|
||||||
|
label: '项目名称'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
queryList: {
|
||||||
|
query: this.getProjectListByPage,
|
||||||
|
selectCheckShow: false,
|
||||||
|
indexShow: true,
|
||||||
|
columns: [
|
||||||
|
{
|
||||||
|
title: '项目编码',
|
||||||
|
prop: 'code'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '项目名称',
|
||||||
|
prop: 'name'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '描述',
|
||||||
|
prop: 'description'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '关联项目选择',
|
||||||
|
prop: 'viewShow',
|
||||||
|
type: 'tag',
|
||||||
|
columnValue: (row) => { return row.viewShow ? '是' : '否'; },
|
||||||
|
tagType: (row) => { return 'success'; }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'button',
|
||||||
|
title: this.$t('global.operate'),
|
||||||
|
width: '300',
|
||||||
|
buttons: [
|
||||||
|
{
|
||||||
|
name: '编辑',
|
||||||
|
handleClick: this.handleEdit
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: this.$t('global.delete'),
|
||||||
|
handleClick: this.handleDelete,
|
||||||
|
type: 'danger'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
actions: [
|
||||||
|
{ text: this.$t('global.add'), handler: this.createProject}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
async getProjectListByPage(params) {
|
||||||
|
let res = '';
|
||||||
|
res = await getBackProjectConfigByPage(params);
|
||||||
|
res.data.list.filter(item => {
|
||||||
|
return item.status == 1;
|
||||||
|
});
|
||||||
|
return res;
|
||||||
|
},
|
||||||
|
handleEdit(index, row) {
|
||||||
|
this.$refs.addProject.doShow(row);
|
||||||
|
},
|
||||||
|
createProject() {
|
||||||
|
this.$refs.addProject.doShow();
|
||||||
|
},
|
||||||
|
handleDelete(index, row) {
|
||||||
|
this.$confirm('此操作将删除该项目数据!', this.$t('global.tips'), {
|
||||||
|
confirmButtonText: this.$t('global.confirm'),
|
||||||
|
cancelButtonText: this.$t('global.cancel'),
|
||||||
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
deleteBackProjectConfig(row.id).then(response => {
|
||||||
|
this.$message.success(this.$t('system.deleteSuccess'));
|
||||||
|
this.reloadTable();
|
||||||
|
}).catch(() => {
|
||||||
|
this.reloadTable();
|
||||||
|
this.$messageBox(this.$t('error.deleteFailed'));
|
||||||
|
});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
reloadTable() {
|
||||||
|
this.queryList.reload();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
Loading…
Reference in New Issue
Block a user