数据锁定

This commit is contained in:
邓皓元 2019-04-08 14:07:57 +08:00
parent 3d9c55add9
commit 5b3d51d90d
7 changed files with 286 additions and 198 deletions

View File

@ -1,6 +1,13 @@
<template>
<div>
<Modal :closable="false" :mask-closable="false" :title="'添加权限'" @on-visible-change="visibleChange" v-model="my_show" width="600">
<Modal
:closable="false"
:mask-closable="false"
:title="'添加权限'"
@on-visible-change="visibleChange"
v-model="my_show"
width="600"
>
<div class="page-edit-wrap uinn-lr20 uinn-tb5">
<div class="ui-list">
<div class="ui-list-title">类型</div>
@ -110,7 +117,12 @@
<div class="ui-list-title">窗口高度</div>
<div class="ui-list-content">
<p>
<InputNumber :max="1000" :min="window.min" class="w-p-100" v-model.trim="params.height"></InputNumber>
<InputNumber
:max="1000"
:min="window.min"
class="w-p-100"
v-model.trim="params.height"
></InputNumber>
</p>
<ul class="common-tips-wraper umar-t5">
<li class="t-title">提示</li>
@ -123,7 +135,12 @@
<div class="ui-list-title">窗口宽度</div>
<div class="ui-list-content">
<p>
<InputNumber :max="500" :min="window.min" class="w-p-100" v-model.trim="params.width"></InputNumber>
<InputNumber
:max="500"
:min="window.min"
class="w-p-100"
v-model.trim="params.width"
></InputNumber>
</p>
<ul class="common-tips-wraper umar-t5">
<li class="t-title">提示</li>
@ -164,7 +181,7 @@
<Option value="import">导入操作</Option>
<Option value="upload">上传文件</Option>
<Option value="jurisdiction">分配权限</Option>
<Option value="locked">锁定权限</Option>
<Option value="locked">数据锁定</Option>
</Select>
</div>
</div>
@ -186,7 +203,13 @@
<div class="ui-list-title">排序</div>
<div class="ui-list-content">
<div>
<InputNumber :max="100" :min="0" @on-blur="numberBlur" class="w-p-100" v-model.trim="params.displayorder"></InputNumber>
<InputNumber
:max="100"
:min="0"
@on-blur="numberBlur"
class="w-p-100"
v-model.trim="params.displayorder"
></InputNumber>
</div>
<ul class="common-tips-wraper umar-t5">
<li class="t-title">提示</li>

View File

@ -1,206 +1,252 @@
<template>
<div class="page-wrap">
<div class="page-handle-wrap">
<ul class="handle-wraper bd-b">
<div class="handle-item">
<Button v-has="'create'" type="primary" icon="md-add" @click="openEdit">添加</Button>
<div class="page-wrap">
<div class="page-handle-wrap">
<ul class="handle-wraper bd-b">
<div class="handle-item">
<Button v-has="'create'" type="primary" icon="md-add" @click="openEdit">添加</Button>
</div>
<div class="handle-item">
<Button v-has="'destroy'" icon="md-trash" @click="destroy">批量删除</Button>
</div>
<div class="handle-item">
<Button icon="md-refresh" @click="index(1)">刷新</Button>
</div>
</ul>
</div>
<Row type="flex" justify="start" class="uinn-lr10" v-if="tree.length">
<Col span="8">
<Spin size="large" fix v-if="page_loading.show"></Spin>
<Tree
:data="tree"
show-checkbox
@on-select-change="treeSelectChange"
@on-check-change="treeCheckChange"
></Tree>
</Col>
<Col span="12" v-has="'update'">
<div class="page-edit-wrap">
<div class="ui-list">
<div class="ui-list-title">类型</div>
<div class="ui-list-content lh-32">
<RadioGroup v-model="params.type">
<Radio :label="0" :disabled="params.type?true:false">
<Icon type="ios-list-outline"></Icon>
<span>页面菜单</span>
</Radio>
<Radio :label="1" :disabled="params.type?false:true">
<Icon type="log-in"></Icon>
<span>操作按钮</span>
</Radio>
</RadioGroup>
</div>
</div>
<div class="ui-list">
<div class="ui-list-title">
<span class="title-require">*</span>名称
</div>
<div class="ui-list-content">
<p>
<Input v-model.trim="params.title" :maxlength="15"></Input>
</p>
<ul class="common-tips-wraper umar-t5">
<li class="t-title">提示</li>
<li class="t-content">长度在1-15之间</li>
</ul>
</div>
</div>
<div class="ui-list">
<div class="ui-list-title">
<span class="title-require">*</span>标识
</div>
<div class="ui-list-content">
<p>
<Input v-model.trim="params.name" :maxlength="30"></Input>
</p>
<ul class="common-tips-wraper umar-t5">
<li class="t-title">提示</li>
<li class="t-content">以英文字母开头,长度在1-30之间</li>
</ul>
</div>
</div>
<template v-if="params.type==0">
<div class="ui-list">
<div class="ui-list-title">
<span class="title-require">*</span>描述
</div>
<div class="ui-list-content">
<Input type="textarea" :row="5" v-model.trim="params.description" :maxlength="255"></Input>
<ul class="common-tips-wraper umar-t5">
<li class="t-title">提示</li>
<li class="t-content">长度在1-255之间</li>
</ul>
</div>
</div>
<div class="handle-item">
<Button v-has="'destroy'" icon="md-trash" @click="destroy">批量删除</Button>
<div class="ui-list">
<div class="ui-list-title">
<span class="title-require">*</span>路径
</div>
<div class="ui-list-content">
<Input v-model.trim="params.path"></Input>
</div>
</div>
<div class="handle-item">
<Button icon="md-refresh" @click="index(1)">刷新</Button>
<div class="ui-list">
<div class="ui-list-title">打开方式</div>
<div class="ui-list-content lh-32">
<RadioGroup v-model="params.open">
<Radio :label="0">
<span>iframe窗口</span>
</Radio>
<Radio :label="1">
<span>打开新窗口</span>
</Radio>
<Radio :label="2">
<span>弹出窗口</span>
</Radio>
<Radio :label="3">
<span>vue组件</span>
</Radio>
</RadioGroup>
</div>
</div>
</ul>
</div>
<Row type="flex" justify="start" class="uinn-lr10" v-if="tree.length">
<Col span="8">
<Spin size="large" fix v-if="page_loading.show"></Spin>
<Tree
:data="tree"
show-checkbox
@on-select-change="treeSelectChange"
@on-check-change="treeCheckChange">
</Tree>
</Col>
<Col span="12" v-has="'update'">
<div class="page-edit-wrap">
<div class="ui-list">
<div class="ui-list-title">类型</div>
<div class="ui-list-content lh-32">
<RadioGroup v-model="params.type">
<Radio :label="0" :disabled="params.type?true:false">
<Icon type="ios-list-outline"></Icon>
<span>页面菜单</span>
</Radio>
<Radio :label="1" :disabled="params.type?false:true">
<Icon type="log-in"></Icon>
<span>操作按钮</span>
</Radio>
</RadioGroup>
</div>
</div>
<div class="ui-list">
<div class="ui-list-title"><span class="title-require">*</span>名称</div>
<div class="ui-list-content">
<p><Input v-model.trim="params.title" :maxlength="15"></Input></p>
<ul class="common-tips-wraper umar-t5">
<li class="t-title">提示</li>
<li class="t-content">长度在1-15之间</li>
</ul>
</div>
</div>
<div class="ui-list">
<div class="ui-list-title"><span class="title-require">*</span>标识</div>
<div class="ui-list-content">
<p><Input v-model.trim="params.name" :maxlength="30"></Input></p>
<ul class="common-tips-wraper umar-t5">
<li class="t-title">提示</li>
<li class="t-content">以英文字母开头,长度在1-30之间</li>
</ul>
</div>
</div>
<template v-if="params.type==0">
<div class="ui-list">
<div class="ui-list-title"><span class="title-require">*</span>描述</div>
<div class="ui-list-content">
<Input type="textarea" :row="5" v-model.trim="params.description" :maxlength="255"></Input>
<ul class="common-tips-wraper umar-t5">
<li class="t-title">提示</li>
<li class="t-content">长度在1-255之间</li>
</ul>
</div>
</div>
<div class="ui-list">
<div class="ui-list-title"><span class="title-require">*</span>路径</div>
<div class="ui-list-content">
<Input v-model.trim="params.path"></Input>
</div>
</div>
<div class="ui-list">
<div class="ui-list-title">打开方式</div>
<div class="ui-list-content lh-32">
<RadioGroup v-model="params.open">
<Radio :label="0"><span>iframe窗口</span></Radio>
<Radio :label="1"><span>打开新窗口</span></Radio>
<Radio :label="2"><span>弹出窗口</span></Radio>
<Radio :label="3"><span>vue组件</span></Radio>
</RadioGroup>
</div>
</div>
<div class="ui-list">
<div class="ui-list-title">窗口高度</div>
<div class="ui-list-content">
<p><InputNumber class="w-p-100" :max="1000" :min="window.min" v-model.trim="params.height"></InputNumber></p>
<ul class="common-tips-wraper umar-t5">
<li class="t-title">提示</li>
<li class="t-content">最小值{{window.min}}最大值1000</li>
</ul>
</div>
</div>
<div class="ui-list">
<div class="ui-list-title">窗口宽度</div>
<div class="ui-list-content">
<p><InputNumber class="w-p-100" :max="500" :min="window.min" v-model.trim="params.width"></InputNumber></p>
<ul class="common-tips-wraper umar-t5">
<li class="t-title">提示</li>
<li class="t-content">最小值{{window.min}}最大值500</li>
</ul>
</div>
</div>
<div class="ui-list">
<div class="ui-list-title"><span class="title-require">*</span>图标</div>
<div class="ui-list-content">
<div class="ui-line lh-32">
<Button type="primary" ghost class="va-t" @click="openIcon">选择图标</Button>
<span class="ui-icon-wrap va-t" v-show="params.icon">
<Icon :type="params.icon" class="white-color va-m" size="25"></Icon>
</span>
</div>
</div>
</div>
</template>
<template v-else>
<div class="ui-list">
<div class="ui-list-title"><span class="title-require">*</span>按钮权限类型</div>
<div class="ui-list-content">
<Select v-model="params.description">
<Option value="show">查看操作</Option>
<Option value="create">添加操作</Option>
<Option value="update">编辑操作</Option>
<Option value="destroy">删除操作</Option>
<Option value="enable">启用操作</Option>
<Option value="disable">禁用操作</Option>
<Option value="output">导出操作</Option>
<Option value="import">导入操作</Option>
<Option value="upload">上传文件</Option>
<Option value="jurisdiction">分配权限</Option>
</Select>
</div>
</div>
</template>
<div class="ui-list">
<div class="ui-list-title">状态</div>
<div class="ui-list-content">
<div class="ui-line lh-32">
<Switch size="large" :true-value="1" :false-value="0" v-model="params.status">
<span slot="open">启用</span>
<span slot="close">禁用</span>
</Switch>
</div>
</div>
</div>
<div class="ui-list">
<div class="ui-list-title">排序</div>
<div class="ui-list-content">
<div><InputNumber class="w-p-100" :min="0" :max="100" v-model.trim="params.displayorder" @on-blur="numberBlur"></InputNumber></div>
<ul class="common-tips-wraper umar-t5">
<li class="t-title">提示</li>
<li class="t-content">排序值为0-100间的整数(数值越大排序越靠前)</li>
</ul>
</div>
</div>
<div class="ui-list">
<div class="ui-list-title"></div>
<div class="ui-list-content">
<Button type="primary" class="btn w-80 umar-r10" icon="md-create" :disabled="id?false:true" :loading="loading" @click="save">修改</Button>
<Button type="primary" ghost class="btn w-80" @click="clear">重置</Button>
</div>
</div>
<div class="ui-list">
<div class="ui-list-title">窗口高度</div>
<div class="ui-list-content">
<p>
<InputNumber
class="w-p-100"
:max="1000"
:min="window.min"
v-model.trim="params.height"
></InputNumber>
</p>
<ul class="common-tips-wraper umar-t5">
<li class="t-title">提示</li>
<li class="t-content">最小值{{window.min}}最大值1000</li>
</ul>
</div>
</div>
</Col>
</Row>
<ui-none :show="!tree.length"></ui-none>
<div class="ui-list">
<div class="ui-list-title">窗口宽度</div>
<div class="ui-list-content">
<p>
<InputNumber
class="w-p-100"
:max="500"
:min="window.min"
v-model.trim="params.width"
></InputNumber>
</p>
<ul class="common-tips-wraper umar-t5">
<li class="t-title">提示</li>
<li class="t-content">最小值{{window.min}}最大值500</li>
</ul>
</div>
</div>
<ui-icon
:show.sync="iconObj.show"
:type="iconObj.type"
@on-success="selectIconSuccess">
</ui-icon>
<div class="ui-list">
<div class="ui-list-title">
<span class="title-require">*</span>图标
</div>
<div class="ui-list-content">
<div class="ui-line lh-32">
<Button type="primary" ghost class="va-t" @click="openIcon">选择图标</Button>
<span class="ui-icon-wrap va-t" v-show="params.icon">
<Icon :type="params.icon" class="white-color va-m" size="25"></Icon>
</span>
</div>
</div>
</div>
</template>
<ui-edit
:show.sync="editObj.show"
:data="editObj.data"
@on-success="index">
</ui-edit>
</div>
<template v-else>
<div class="ui-list">
<div class="ui-list-title">
<span class="title-require">*</span>按钮权限类型
</div>
<div class="ui-list-content">
<Select v-model="params.description">
<Option value="show">查看操作</Option>
<Option value="create">添加操作</Option>
<Option value="update">编辑操作</Option>
<Option value="destroy">删除操作</Option>
<Option value="enable">启用操作</Option>
<Option value="disable">禁用操作</Option>
<Option value="output">导出操作</Option>
<Option value="import">导入操作</Option>
<Option value="upload">上传文件</Option>
<Option value="jurisdiction">分配权限</Option>
<Option value="locked">数据锁定</Option>
</Select>
</div>
</div>
</template>
<div class="ui-list">
<div class="ui-list-title">状态</div>
<div class="ui-list-content">
<div class="ui-line lh-32">
<Switch size="large" :true-value="1" :false-value="0" v-model="params.status">
<span slot="open">启用</span>
<span slot="close">禁用</span>
</Switch>
</div>
</div>
</div>
<div class="ui-list">
<div class="ui-list-title">排序</div>
<div class="ui-list-content">
<div>
<InputNumber
class="w-p-100"
:min="0"
:max="100"
v-model.trim="params.displayorder"
@on-blur="numberBlur"
></InputNumber>
</div>
<ul class="common-tips-wraper umar-t5">
<li class="t-title">提示</li>
<li class="t-content">排序值为0-100间的整数(数值越大排序越靠前)</li>
</ul>
</div>
</div>
<div class="ui-list">
<div class="ui-list-title"></div>
<div class="ui-list-content">
<Button
type="primary"
class="btn w-80 umar-r10"
icon="md-create"
:disabled="id?false:true"
:loading="loading"
@click="save"
>修改</Button>
<Button type="primary" ghost class="btn w-80" @click="clear">重置</Button>
</div>
</div>
</div>
</Col>
</Row>
<ui-none :show="!tree.length"></ui-none>
<ui-icon :show.sync="iconObj.show" :type="iconObj.type" @on-success="selectIconSuccess"></ui-icon>
<ui-edit :show.sync="editObj.show" :data="editObj.data" @on-success="index"></ui-edit>
</div>
</template>
<script src="./js/index.js"></script>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
<!DOCTYPE html><html><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=\favicon.ico><script src=\config.js></script><title></title><link href=/css/chunk-01a502ce.e5be0e8f.css rel=prefetch><link href=/css/chunk-996b1e80.5cadf3d0.css rel=prefetch><link href=/js/chunk-00ae0766.3874cd10.js rel=prefetch><link href=/js/chunk-01a502ce.2ffdd3a1.js rel=prefetch><link href=/js/chunk-07a274ec.c3ad5dec.js rel=prefetch><link href=/js/chunk-996b1e80.d3b45e46.js rel=prefetch><link href=/css/app.d71a8195.css rel=preload as=style><link href=/css/chunk-vendors.3c3b2e85.css rel=preload as=style><link href=/js/app.1056b004.js rel=preload as=script><link href=/js/chunk-vendors.ed6443e8.js rel=preload as=script><link href=/css/chunk-vendors.3c3b2e85.css rel=stylesheet><link href=/css/app.d71a8195.css rel=stylesheet></head><body><noscript><strong>很抱歉如果没有启用JavaScript程序不能正常工作若要继续使用请启用它。</strong></noscript><div id=app></div><script src=/js/chunk-vendors.ed6443e8.js></script><script src=/js/app.1056b004.js></script></body></html>
<!DOCTYPE html><html><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=\favicon.ico><script src=\config.js></script><title></title><link href=/css/chunk-01a502ce.e5be0e8f.css rel=prefetch><link href=/css/chunk-996b1e80.5cadf3d0.css rel=prefetch><link href=/js/chunk-00ae0766.3874cd10.js rel=prefetch><link href=/js/chunk-01a502ce.b2793a6c.js rel=prefetch><link href=/js/chunk-07a274ec.c3ad5dec.js rel=prefetch><link href=/js/chunk-996b1e80.d3b45e46.js rel=prefetch><link href=/css/app.d71a8195.css rel=preload as=style><link href=/css/chunk-vendors.3c3b2e85.css rel=preload as=style><link href=/js/app.6a9ce39d.js rel=preload as=script><link href=/js/chunk-vendors.ed6443e8.js rel=preload as=script><link href=/css/chunk-vendors.3c3b2e85.css rel=stylesheet><link href=/css/app.d71a8195.css rel=stylesheet></head><body><noscript><strong>很抱歉如果没有启用JavaScript程序不能正常工作若要继续使用请启用它。</strong></noscript><div id=app></div><script src=/js/chunk-vendors.ed6443e8.js></script><script src=/js/app.6a9ce39d.js></script></body></html>