| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- <template>
- <div>
- <el-button size="mini" type="default" @click="editBtn">{{$t('编 辑')}}</el-button>
- <el-drawer
- :title="$t(`编辑角色`)"
- :visible.sync="drawer"
- append-to-body
- :wrapperClosable="false"
- size="30%"
- direction="rtl">
- <div class="drawer__panel">
- <div>
- <el-row>
- <el-form :inline="true" :model="form" :rules="rules" ref="form" size="small" :label-width="tool.onlyZh('100px')" label-position="right" class="demo-form-inline">
- <el-col :span="24">
- <el-form-item :label="$t(`角色名称`)" prop="rolename">
- <el-input v-model="form.rolename" :placeholder="$t(`请输入角色名称`)"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="24">
- <el-form-item :label="$t(`角色描述`)" prop="remarks">
- <el-input v-model="form.remarks" :placeholder="$t(`请输入角色描述`)"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="24">
- <el-form-item :label="$t(`角色类型`)" prop="usertype">
- <el-select v-model="form.usertype" :placeholder="$t(`角色类型`)">
- <el-option v-for="item in options" :key="item.index" :label="$t(item.remarks)" :value="Number(item.value)"></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-form-item :label="$t(`字段限制`)" prop="fielddatatypelimit">
- <el-select v-model="form.fielddatatypelimit" :placeholder="$t(`字段限制`)" @focus="queryField" multiple >
- <el-option v-for="item in fielddatatype" :key="item.index" :label="$t(item.value)" :value="item.value"></el-option>
- </el-select>
- </el-form-item>
- </el-form>
- </el-row>
- </div>
- </div>
- <div class="fixed__btn__panel">
- <el-button size="small" @click="drawer = false" class="normal-btn-width">{{$t('取 消')}}</el-button>
- <el-button size="small" type="primary" @click="onSubmit" class="normal-btn-width">{{$t('确 定')}}</el-button>
- </div>
- </el-drawer>
- </div>
- </template>
- <script>
- import roleContentTemp from './roleContent.vue'
- export default {
- data () {
- return{
- dialogFormVisible:false,
- drawer:false,
- options:[],
- form:{
- "roleid":0,
- "rolename":"",
- "remarks":"",
- "usertype":"",
- "fielddatatypelimit":[]
- },
- rules:{
- rolename: [
- { required: true, message: this.$t('请输入角色名称'), trigger: 'blur' },
- ],
- remarks: [
- { required: true, message: this.$t('请输入角色描述'), trigger: 'blur' },
- ],
- usertype: [
- { required: true, message: this.$t('请选择角色类型'), trigger: 'change' }
- ],
- },
- fielddatatype:[]
- }
- },
- props:['data'],
- components:{
- roleContentTemp
- },
- created () {
- this.usertype()
- },
- methods:{
- editBtn () {
- this.drawer = true
- this.form = Object.assign({},this.form,this.data)
- },
- onSuccess () {
- this.drawer = false
- this.$emit('onSuccess')
- },
- async usertype () {
- let param = {
- "classname": "sysmanage.develop.optiontype.optiontype",
- "method": "optiontypeselect",
- "content": {
- "pageNumber": 1,
- "pageSize": 20,
- "typename": "usertype",
- "parameter": {
- }
- }
- }
- const res = await this.$api.requested(param)
- this.options = res.data
- },
- onSubmit () {
- this.$refs['form'].validate((valid) => {
- if (!valid) return false
- this.$api.requested({
- "classname": "webmanage.role.role",
- "method": "insertormodify_role",
- "content": this.form
- }).then(res=>{
- this.tool.showMessage(res,()=>{
- this.drawer = false
- this.$emit('onSuccess')
- })
- })
- })
- },
- async queryField(){
- if (this.fielddatatype.length == 0){
- const res = await this.$store.dispatch('optiontypeselect','fielddatatype')
- this.fielddatatype = res.data
- }
- }
- }
- }
- </script>
- <style scoped>
- /deep/.el-form-item,.el-select {
- width: 100% !important;
- }
- /deep/.el-form-item__content {
- width: calc(100% - 100px);
- }
- </style>
|