项目模块列表页面调整

master
gegeya 1 year ago
parent a53dd84142
commit 4beb29847c
  1. 244
      ant-design-vue-jeecg/src/views/modulex/ModulexList.vue

@ -4,7 +4,6 @@
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :md="6" :sm="12">
<a-form-item label="模块中文名称">
<j-input v-model="queryParam.moduleName"></j-input>
@ -22,17 +21,32 @@
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="项目名称">
<j-dict-select-tag type="list" v-model="queryParam.projectId" dict-code="projectx,project_name,id" placeholder="请选择" />
<j-dict-select-tag
type="list"
v-model="queryParam.projectId"
dict-code="projectx,project_name,id"
placeholder="请选择"
/>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="上级模块">
<j-dict-select-tag type="list" v-model="queryParam.pid" dict-code="modulex,module_name,id" placeholder="请选择" />
<j-dict-select-tag
type="list"
v-model="queryParam.pid"
dict-code="modulex,module_name,id"
placeholder="请选择"
/>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="6" :sm="12">
<a-form-item label="模块状态">
<j-dict-select-tag type="list" v-model="queryParam.status" placeholder="请选择模块状态" dict-code="a_status"/>
<j-dict-select-tag
type="list"
v-model="queryParam.status"
placeholder="请选择模块状态"
dict-code="a_status"
/>
</a-form-item>
</a-col>
@ -43,12 +57,11 @@
</a-col>
<a-col :md="6" :sm="8">
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<span style="float: left; overflow: hidden" class="table-page-search-submitButtons">
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
</span>
</a-col>
</a-row>
</a-form>
</div>
@ -62,9 +75,10 @@
<!-- table区域-begin -->
<div>
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
<i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a
style="font-weight: 600">{{ selectedRowKeys.length }}</a>
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px">
<i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择
<a style="font-weight: 600">{{ selectedRowKeys.length }}</a
>
<a style="margin-left: 24px" @click="onClearSelected">清空</a>
</div>
@ -74,46 +88,42 @@
:scroll="{ x: true }"
bordered
rowKey="id"
:columns="columns"
:columns="filterColumn"
:dataSource="dataSource"
:pagination="ipagination"
:loading="loading"
:rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
class="j-table-force-nowrap"
@change="handleTableChange">
@change="handleTableChange"
>
<!-- 管理 公用部分-->
<span slot="htmlSlot" slot-scope="text, record">
<a @click="functionManage(record)">功能</a>
<a-divider type="vertical" />
<a @click="tablexManage(record)">实体</a>
<a-divider type="vertical"/>
<!-- <a-divider type="vertical" /> -->
<br />
<a @click="viewVid(record)">字段</a>
</span>
<!--功能 管理员-->
<span slot="actionManage" slot-scope="text, record" v-if="userRole1 === '1'">
<a @click="fabu(record)">发布</a>
<a-divider type="vertical" />
<a @click="tijiao(record)">提交</a>
<a-divider type="vertical" />
<a @click="kaishi(record)">开始</a>
<br />
<a @click="chehui(record)">撤回</a>
<a-divider type="vertical" />
<a @click="bugfankui(record)">BUG反馈</a>
<a-divider type="vertical"/>
<br />
<!-- <a @click="shenhe(record)">审核</a>-->
<!-- <a-divider type="vertical"/>-->
<a @click="fabu(record)">发布</a>
<a-divider type="vertical"/>
<a @click="kaishi(record)">开始</a>
<a-divider type="vertical"/>
<a @click="tijiao(record)">提交</a>
</span>
<!--功能 开发者-->
<!--这里只能用v-else-if / v-else v-if -->
<!-- <span v-else slot="actionManage" slot-scope="text, record">-->
@ -128,17 +138,14 @@
<!-- <a @click="tijiao(record)">提交</a>-->
<!-- </span>-->
<!--操作 -->
<span slot="action1" slot-scope="text, record">
<a @click="fuzhiProject(record)">复制</a>
<a-divider type="vertical" />
<a @click="handleEdit(record)">编辑</a>
<a-divider type="vertical"/>
<!-- <a-divider type="vertical" /> -->
<br />
<a @click="handleDetail(record)">详情</a>
<a-divider type="vertical" />
@ -146,7 +153,12 @@
<a>删除</a>
</a-popconfirm>
</span>
<span slot="filterDropdown">
<a-card>
<!-- /* 多选框 options:指定可选项 defaultValue:默认选中的选项 change:变化时回调 */ -->
<a-checkbox-group :options="checkColumn" :defaultValue="checkColumn" @change="checkChange" />
</a-card>
</span>
</a-table>
</div>
@ -164,12 +176,12 @@ import {mixinDevice} from '@/utils/mixin'
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import ModulexModal from './modules/ModulexModal'
import {getAction} from "@api/manage";
import BugxModal from "@views/modulex/modules/BugxModal";
import store from "@/store";
import {filterObj} from "@/utils/util";
import FieldxList from "@views/fieldx/FieldxList.vue";
import TablexList from "@views/tablex/TablexList.vue";
import { getAction } from "@api/manage"
import BugxModal from "@views/modulex/modules/BugxModal"
import store from "@/store"
import { filterObj } from "@/utils/util"
import FieldxList from "@views/fieldx/FieldxList.vue"
import TablexList from "@views/tablex/TablexList.vue"
export default {
name: 'ModulexList',
@ -192,7 +204,7 @@ export default {
width: 60,
align: "center",
customRender: function (t, r, index) {
return parseInt(index) + 1;
return parseInt(index) + 1
}
},
{
@ -203,7 +215,20 @@ export default {
{
title: '项目',
align: "center",
dataIndex: 'projectId_dictText'
width: 130,
dataIndex: 'projectId_dictText',
customCell: () => {
return {
style: {
wordWrap: 'break-word',
wordBreak: 'break-all',
whiteSpace: 'normal',
minHeight: '50px',
width: '50px',
'text-align': 'left'
}
}
}
},
{
title: '中文名称',
@ -322,23 +347,38 @@ export default {
align: "center",
fixed: "right",
width: 98,
scopedSlots: {customRender: 'htmlSlot'}
scopedSlots: { customRender: 'htmlSlot' },
// customCell: () => {
// return {
// style: {
// 'text-align': 'left'
// }
// }
// }
},
{
title: '功能',
dataIndex: 'actionManage',
align: "center",
fixed: "right",
width:147,
scopedSlots: {customRender: 'actionManage'}
width: 140,
scopedSlots: { customRender: 'actionManage' },
customCell: () => {
return {
style: {
'text-align': 'left'
}
}
}
},
{
title: '操作',
dataIndex: 'action1',
align: "center",
fixed: "right",
width:147,
scopedSlots: {customRender: 'action1'}
width: 100,
scopedSlots: { customRender: 'action1', filterDropdown: 'filterDropdown' }
}
],
url: {
@ -357,29 +397,53 @@ export default {
}
},
created () {
// columnsfilterColumns
this.filterColumn = this.columns
let usercode = store.getters.userInfo.id
//id
this.loginRole(usercode)
//console.log('userole1',this.userRole1)
this.getSuperFieldList();
this.getSuperFieldList()
},
computed: {
importExcelUrl: function () {
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
},
// columnsdataIndex
checkColumn: function () {
return this.columns.map(item => item.title)
}
},
methods: {
//
checkChange (checked) {
// name
console.log(checked) // ['age','address','action']
const columns = this.columns
// columnsdataIndextrue
const filterValue = columns.filter(item => {
if (checked.includes(item.title)) {
// truefilterValue
return true
}
return false
})
// name[false,true,true,true],filterValuename
// filterColumns
this.filterColumn = filterValue
},
fanhui () {
this.$router.push({
/*返回产品*/
path: '/src/views/projectx/ProjectxList',/*在引号中填写返回vue*/
});
})
},
loginRole (id) {
getAction('functionx/functionx/loginrole', { id: id }).then((res) => {
if (res.success) {
//
this.userRole1 = res.result;
this.userRole1 = res.result
//console.log('this.userRole1',this.userRole1)
}
})
@ -388,42 +452,42 @@ export default {
getAction('/modulex/modulex/shenhe', { id: record.id }).then((res) => {
if (res.success) {
//
this.$message.success(res.result);
this.loadData();
this.$message.success(res.result)
this.loadData()
} else {
this.$message.warning(res.message);
this.$message.warning(res.message)
}
})
},
viewVid (record) {
// console.log(record)
let s = null;
let s = null
getAction('/tablex/tablex/list', { moduleId: record.id }).then((res) => {
s = res.result.records
console.log(s)
if (s[0] == null) {
this.$message.error("该模块无实体");
this.$message.error("该模块无实体")
} else {
this.$refs.FieldxList.showModal();
this.$refs.FieldxList.edit(s[0]);
this.$refs.FieldxList.disableSubmit = false;
this.$refs.FieldxList.showModal()
this.$refs.FieldxList.edit(s[0])
this.$refs.FieldxList.disableSubmit = false
}
})
},
bugfankui: function (record) {
this.$refs.BugxModal.add(record.id);
this.$refs.BugxModal.title = "BUG反馈";
this.$refs.BugxModal.disableSubmit = false;
this.$refs.BugxModal.add(record.id)
this.$refs.BugxModal.title = "BUG反馈"
this.$refs.BugxModal.disableSubmit = false
},
chehui (record) {
getAction('/modulex/modulex/cehui', { id: record.id }).then((res) => {
if (res.success) {
//
this.$message.success(res.result);
this.loadData();
this.$message.success(res.result)
this.loadData()
} else {
this.$message.warning(res.message);
this.$message.warning(res.message)
}
})
},
@ -431,10 +495,10 @@ export default {
getAction('/modulex/modulex/tijiao', { id: record.id }).then((res) => {
if (res.success) {
//
this.$message.success(res.result);
this.loadData();
this.$message.success(res.result)
this.loadData()
} else {
this.$message.warning(res.message);
this.$message.warning(res.message)
}
})
},
@ -442,10 +506,10 @@ export default {
getAction('/modulex/modulex/kaishi', { id: record.id }).then((res) => {
if (res.success) {
//
this.$message.success(res.result);
this.loadData();
this.$message.success(res.result)
this.loadData()
} else {
this.$message.warning(res.message);
this.$message.warning(res.message)
}
})
},
@ -453,8 +517,8 @@ export default {
getAction('/modulex/modulex/fabu', { id: record.id }).then((res) => {
if (res.success) {
//
this.$message.success(res.result);
this.loadData();
this.$message.success(res.result)
this.loadData()
}
})
},
@ -469,9 +533,9 @@ export default {
})
},
tablexManage (record) {
this.$refs.TablexList.showModal();
this.$refs.TablexList.edit(record);
this.$refs.TablexList.disableSubmit = false;
this.$refs.TablexList.showModal()
this.$refs.TablexList.edit(record)
this.$refs.TablexList.disableSubmit = false
// this.$router.push({
// path: '/src/views/tablex/TablexList',
// query: {moduleid: record.id,project:this.$route.query.project}
@ -480,7 +544,7 @@ export default {
initDictConfig () {
},
getSuperFieldList () {
let fieldList = [];
let fieldList = []
fieldList.push({ type: 'string', value: 'pid', text: '上级模块id', dictCode: '' })
fieldList.push({ type: 'string', value: 'projectId', text: '项目id', dictCode: '' })
fieldList.push({ type: 'string', value: 'moduleName', text: '中文名称', dictCode: '' })
@ -506,32 +570,32 @@ export default {
},
loadParameter () {
if (this.loadRouteType === false) {
this.projectIdx = this.$route.query.project;
this.projectIdx = this.$route.query.project
// console.log('aaaaaaaaa',this.projectIdx)
// console.log("***********")
this.loadRouteType = true;
this.loadRouteType = true
}
},
loadData (arg) {
if (!this.url.list) {
this.$message.error("请设置url.list属性!");
this.$message.error("请设置url.list属性!")
return
}
// 1
if (arg === 1) {
this.ipagination.current = 1;
this.ipagination.current = 1
}
this.loadParameter();
var params = this.getQueryParams();//
this.loading = true;
this.loadParameter()
var params = this.getQueryParams()//
this.loading = true
getAction(this.url.list, params).then((res) => {
if (res.success) {
//update-begin---author:zhangyafei Date:20201118 for------------
this.dataSource = res.result.records || res.result;
this.dataSource = res.result.records || res.result
if (res.result.total) {
this.ipagination.total = res.result.total;
this.ipagination.total = res.result.total
} else {
this.ipagination.total = 0;
this.ipagination.total = 0
}
//update-end---author:zhangyafei Date:20201118 for------------
} else {
@ -548,19 +612,19 @@ export default {
sqp['superQueryParams'] = encodeURI(this.superQueryParams)
sqp['superQueryMatchType'] = this.superQueryMatchType
}
var param = Object.assign(sqp, this.queryParam, this.isorter, this.filters);
param.field = this.getQueryField();
param.pageNo = this.ipagination.current;
param.pageSize = this.ipagination.pageSize;
var param = Object.assign(sqp, this.queryParam, this.isorter, this.filters)
param.field = this.getQueryField()
param.pageNo = this.ipagination.current
param.pageSize = this.ipagination.pageSize
//param.id=this.id;
//!!!!!!!
// param.projectId = this.$route.query.project;
// console.log('paaaaaaaaaaaaaaaaaaaaa')
return filterObj(param);
return filterObj(param)
},
searchReset () {
this.queryParam = ''
this.loadData();
this.loadData()
},
},

Loading…
Cancel
Save