| | |
| | | <a-row :gutter="24"> |
| | | <a-col :md="6" :sm="24"> |
| | | <a-form-item label="关键词" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-input placeholder="请输入关键词查询" v-model="queryParam.name"></a-input> |
| | | <a-input placeholder="请输入关键词查询" v-model="queryParam.keyword"></a-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="6" :sm="24"> |
| | | <a-form-item label="备注" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-input placeholder="请输入备注查询" v-model="queryParam.description"></a-input> |
| | | </a-form-item> |
| | | <a-form-item label="防护类型" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-select |
| | | optionFilterProp="children" |
| | | :dropdownMatchSelectWidth="false" |
| | | showSearch allow-clear style="width: 100%" |
| | | placeholder="请选择防护类型" |
| | | v-model="queryParam.type"> |
| | | <a-select-option v-for="(type,index) in typeList" :value="type.itemValue" :key="index"> |
| | | {{ type.itemText }} |
| | | </a-select-option> |
| | | </a-select> |
| | | </a-form-item> |
| | | </a-col> |
| | | <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> |
| | | <a-col :md="6" :sm="24"> |
| | |
| | | </div> |
| | | <!-- 操作按钮区域 --> |
| | | <div class="table-operator" style="margin-top: 5px"> |
| | | <a-button v-if="btnEnableList.indexOf(1)>-1" @click="handleAdd" type="primary" icon="plus">新增</a-button> |
| | | <a-button v-if="btnEnableList.indexOf(1)>-1" @click="batchDel" icon="delete">删除</a-button> |
| | | <a-button v-if="btnEnableList.indexOf(1)>-1" @click="batchSetStatus(true)" icon="check-square">启用</a-button> |
| | | <a-button v-if="btnEnableList.indexOf(1)>-1" @click="batchSetStatus(false)" icon="close-square">禁用</a-button> |
| | | <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button> |
| | | <a-button @click="batchDel" icon="delete">删除</a-button> |
| | | <a-button @click="batchSetStatus(true)" icon="check-square">启用</a-button> |
| | | <a-button @click="batchSetStatus(false)" icon="close-square">禁用</a-button> |
| | | </div> |
| | | <!-- table区域-begin --> |
| | | <div> |
| | |
| | | :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" |
| | | @change="handleTableChange"> |
| | | <span slot="action" slot-scope="text, record"> |
| | | <a @click="handleSetFunction(record)">分配功能</a> |
| | | <a-divider type="vertical" /> |
| | | <a @click="handleSetPushBtn(record.id, record.name)">分配按钮</a> |
| | | <a-divider type="vertical" /> |
| | | <a @click="handleEdit(record)">编辑</a> |
| | | <a-divider v-if="btnEnableList.indexOf(1)>-1" type="vertical" /> |
| | | <a-popconfirm v-if="btnEnableList.indexOf(1)>-1" title="确定删除吗?" @confirm="() => handleDelete(record.id)"> |
| | | <a-divider type="vertical" /> |
| | | <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)"> |
| | | <a>删除</a> |
| | | </a-popconfirm> |
| | | <a-modal v-model="roleModalVisible" title="操作提示" @ok="handleRoleTip(record)"> |
| | | <p>保存角色已经操作成功!现在继续<b>分配功能</b>吗?</p> |
| | | </a-modal> |
| | | |
| | | </span> |
| | | <span slot="typeTitle"> |
| | | <!-- <span slot="typeTitle"> |
| | | 防护类型 |
| | | <a-tooltip title="1、全部数据-该角色对应的用户可以看到全部单据;2、本机构数据-该角色对应的用户可以看到自己所在机构的全部单据; |
| | | 3、个人数据-该角色对应的用户只可以看到自己的单据。单据是指采购入库、销售出库等"> |
| | | <a-tooltip title=""> |
| | | <a-icon type="question-circle" /> |
| | | </a-tooltip> |
| | | </span> |
| | | </span> --> |
| | | <!-- 状态渲染模板 --> |
| | | |
| | | |
| | | <template slot="type" slot-scope="type"> |
| | | <a-tag color="green">{{ getDictItemLabel(typeList,type) }}</a-tag> |
| | | </template> |
| | | |
| | | <template slot="customRenderFlag" slot-scope="enabled"> |
| | | <a-tag v-if="enabled" color="green">启用</a-tag> |
| | | <a-tag v-if="!enabled" color="orange">禁用</a-tag> |
| | |
| | | </div> |
| | | <!-- table区域-end --> |
| | | <!-- 表单区域 --> |
| | | <role-modal ref="modalForm" @ok="roleModalFormOk"></role-modal> |
| | | <security-modal ref="modalForm" @ok="roleModalFormOk"></security-modal> |
| | | <role-function-modal ref="roleFunctionModal" @ok="roleFunctionModalFormOk"></role-function-modal> |
| | | <role-push-btn-modal ref="rolePushBtnModal" @ok="modalFormOk"></role-push-btn-modal> |
| | | <a-modal v-model="roleFunctionModalVisible" title="操作提示" @ok="handleRoleFunctionTip"> |
| | | <p>分配功能已经操作成功!现在继续<b>分配按钮</b>吗?</p> |
| | | </a-modal> |
| | | |
| | | </a-card> |
| | | </a-col> |
| | | </a-row> |
| | | </template> |
| | | <!-- f r o m 7 5 2 7 1 8 9 2 0 --> |
| | | <script> |
| | | import RoleModal from './modules/RoleModal' |
| | | import SecurityModal from './modules/SecurityModal' |
| | | import RoleFunctionModal from './modules/RoleFunctionModal' |
| | | import RolePushBtnModal from './modules/RolePushBtnModal' |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import JDate from '@/components/jeecg/JDate' |
| | | import {getAction,deleteAction,postAction } from '@/api/manage' |
| | | export default { |
| | | name: "RoleList", |
| | | name: "SecurityList", |
| | | mixins:[JeecgListMixin], |
| | | components: { |
| | | RoleModal, |
| | | SecurityModal, |
| | | RoleFunctionModal, |
| | | RolePushBtnModal, |
| | | JDate |
| | | }, |
| | | data () { |
| | | return { |
| | | description: '角色管理页面', |
| | | roleModalVisible: false, |
| | | description: '高级安全防护管理页面', |
| | | roleFunctionModalVisible: false, |
| | | currentRoleId: '', |
| | | labelCol: { |
| | |
| | | }, |
| | | // 查询条件 |
| | | queryParam: { |
| | | name: '', |
| | | description: '', |
| | | keyword: '', |
| | | type: '', |
| | | }, |
| | | // 表头 |
| | | columns: [ |
| | |
| | | title: '关键词', align:"left", dataIndex: 'keyword', width: 120 |
| | | }, |
| | | { |
| | | align:"left", dataIndex: 'type', width: 100, |
| | | slots: { title: 'typeTitle' } |
| | | title:' 防护类型',align:"left", dataIndex: 'type', width: 100, |
| | | slots: { title: 'typeTitle' }, |
| | | scopedSlots: { customRender: 'type' } |
| | | }, |
| | | { title: '状态',dataIndex: 'status',width:60,align:"center", |
| | | scopedSlots: { customRender: 'customRenderFlag' } |
| | |
| | | deleteBatch: "/config-security/deleteBatch", |
| | | batchSetStatusUrl: "/config-security/batchSetStatus" |
| | | }, |
| | | typeList:[], |
| | | } |
| | | }, |
| | | computed: { |
| | |
| | | return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; |
| | | } |
| | | }, |
| | | |
| | | mounted(){ |
| | | this.loadDictData(); |
| | | }, |
| | | methods: { |
| | | handleSetFunction(record) { |
| | | this.$refs.roleFunctionModal.edit(record); |
| | | this.$refs.roleFunctionModal.title = "分配功能给:" + record.name + "【分配之后请继续分配按钮】" |
| | | this.$refs.roleFunctionModal.disableSubmit = false; |
| | | |
| | | searchQuery() { |
| | | this.ipagination.current = 1; |
| | | this.loadData(); |
| | | }, |
| | | |
| | | loadData(arg) { |
| | | //加载数据 若传入参数1则加载第一页的内容 |
| | | // this.ipagination.current = 1; |
| | | |
| | | let params = this.queryParam |
| | | params.currentPage = this.ipagination.current; |
| | | params.pageSize = this.ipagination.pageSize; |
| | | |
| | | this.loading = true; |
| | | getAction(this.url.list, params).then((res) => { |
| | | if (res.code===200) { |
| | | this.dataSource = res.data.rows; |
| | | this.ipagination.total = res.data.total; |
| | | this.tableAddTotalRow(this.columns, this.dataSource) |
| | | this.realityPriceTotal = res.data.realityPriceTotal |
| | | } else if(res.code===510){ |
| | | this.$message.warning(res.data) |
| | | } else { |
| | | this.$message.warning(res.data.message) |
| | | } |
| | | this.loading = false; |
| | | }) |
| | | }, |
| | | |
| | | loadDictData() { |
| | | // 安全防护类型 |
| | | var dictCode='securityType' |
| | | getAction(`/sysDict/items/dict-code/${dictCode}`).then((res)=>{ |
| | | if(res.code === 200){ |
| | | this.typeList = res.data; |
| | | }else{ |
| | | this.$message.info(res.data); |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | getDictItemLabel(list, value) { |
| | | const item = list.find(item => item.itemValue === value); |
| | | return item ? item.itemText : null; |
| | | }, |
| | | handleSetPushBtn(roleId, roleName) { |
| | | this.$refs.rolePushBtnModal.edit(roleId); |
| | |
| | | roleModalFormOk() { |
| | | //重载列表 |
| | | this.loadData() |
| | | this.roleModalVisible = true |
| | | }, |
| | | roleFunctionModalFormOk(id) { |
| | | //重载列表 |
| | |
| | | this.roleFunctionModalVisible = true |
| | | this.currentRoleId = id |
| | | }, |
| | | handleRoleTip(record) { |
| | | if(record) { |
| | | this.roleModalVisible = false |
| | | this.handleSetFunction(record) |
| | | } |
| | | }, |
| | | handleRoleFunctionTip() { |
| | | if(this.currentRoleId) { |
| | | this.roleFunctionModalVisible = false |
| | | let roleName = '' |
| | | for (let i = 0; i < this.dataSource.length; i++) { |
| | | if(this.dataSource[i].id == this.currentRoleId) { |
| | | roleName = this.dataSource[i].name |
| | | } |
| | | } |
| | | this.handleSetPushBtn(this.currentRoleId, roleName) |
| | | } |
| | | }, |
| | | |
| | | handleAdd: function () { |
| | | this.$refs.modalForm.add(); |
| | | this.$refs.modalForm.title = "新增【保存之后请继续分配功能】"; |
| | | this.$refs.modalForm.title = "新增"; |
| | | this.$refs.modalForm.disableSubmit = false; |
| | | }, |
| | | handleEdit: function (record) { |
| | | console.log("edit", record); |
| | | this.$refs.modalForm.edit(record); |
| | | this.$refs.modalForm.title = "编辑【保存之后请继续分配功能】"; |
| | | this.$refs.modalForm.title = "编辑"; |
| | | this.$refs.modalForm.disableSubmit = false; |
| | | if(this.btnEnableList.indexOf(1)===-1) { |
| | | this.$refs.modalForm.isReadOnly = true |
| | | } |
| | | } |
| | | }, |
| | | handleDelete(id) { |
| | | deleteAction(this.url.delete+`/${id}`, {id: id}).then((res) => { |
| | | if (res.code === 200) { |
| | | this.loadData(); |
| | | this.$message.success(res.message); |
| | | } else { |
| | | this.$message.warning(res.message); |
| | | } |
| | | }); |
| | | }, |
| | | batchDel() { |
| | | if (this.selectedRowKeys.length <= 0) { |
| | | this.$message.warning('请选择一条记录!'); |
| | | return; |
| | | } |
| | | let ids = ""; |
| | | this.selectedRowKeys.forEach(function(val) { |
| | | ids+=val+","; |
| | | }); |
| | | ids = ids.substring(0,ids.length-1); |
| | | deleteAction(this.url.deleteBatch, {ids: ids}).then((res) => { |
| | | if(res.code === 200){ |
| | | this.$message.success(res.msg); |
| | | this.loadData(); |
| | | this.selectedRowKeys = []; |
| | | } else { |
| | | this.$message.warning(res.msg); |
| | | } |
| | | }); |
| | | }, |
| | | batchSetStatus: function (status) { |
| | | if(!this.url.batchSetStatusUrl){ |
| | | this.$message.error("请设置url.batchSetStatusUrl属性!") |
| | | return |
| | | } |
| | | if (this.selectedRowKeys.length <= 0) { |
| | | this.$message.warning('请选择一条记录!'); |
| | | return; |
| | | } else { |
| | | var ids = ""; |
| | | for (var a = 0; a < this.selectedRowKeys.length; a++) { |
| | | ids += this.selectedRowKeys[a] + ","; |
| | | } |
| | | var that = this; |
| | | this.$confirm({ |
| | | title: "确认操作", |
| | | content: "是否操作选中数据?", |
| | | onOk: function () { |
| | | that.loading = true; |
| | | postAction(that.url.batchSetStatusUrl, {status: status, ids: ids}).then((res) => { |
| | | if(res.code === 200){ |
| | | that.loadData() |
| | | } else { |
| | | that.$message.warning(res.data.message); |
| | | } |
| | | }).finally(() => { |
| | | that.loading = false; |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | } |
| | | } |
| | | </script> |