代码生成支持复选框
This commit is contained in:
		
							parent
							
								
									be778ba370
								
							
						
					
					
						commit
						5c6adb25fc
					
				@ -157,6 +157,23 @@
 | 
			
		||||
            <el-option label="请选择字典生成" value="" />
 | 
			
		||||
          </el-select>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
#elseif($column.htmlType == "checkbox" && "" != $dictType)
 | 
			
		||||
        <el-form-item label="${comment}">
 | 
			
		||||
          <el-checkbox-group v-model="form.${field}">
 | 
			
		||||
            <el-checkbox
 | 
			
		||||
              v-for="dict in ${field}Options"
 | 
			
		||||
              :key="dict.dictValue"
 | 
			
		||||
              :label="dict.dictValue">
 | 
			
		||||
              {{dict.dictLabel}}
 | 
			
		||||
            </el-checkbox>
 | 
			
		||||
          </el-checkbox-group>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
#elseif($column.htmlType == "checkbox" && $dictType)
 | 
			
		||||
        <el-form-item label="${comment}">
 | 
			
		||||
          <el-checkbox-group v-model="form.${field}">
 | 
			
		||||
            <el-checkbox>请选择字典生成</el-checkbox>
 | 
			
		||||
          </el-checkbox-group>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
#elseif($column.htmlType == "radio" && "" != $dictType)
 | 
			
		||||
        <el-form-item label="${comment}">
 | 
			
		||||
          <el-radio-group v-model="form.${field}">
 | 
			
		||||
@ -312,7 +329,7 @@ export default {
 | 
			
		||||
#end
 | 
			
		||||
    // $comment字典翻译
 | 
			
		||||
    ${column.javaField}Format(row, column) {
 | 
			
		||||
      return this.selectDictLabel(this.${column.javaField}Options, row.${column.javaField});
 | 
			
		||||
      return this.selectDictLabel#if($column.htmlType == "checkbox")s#end(this.${column.javaField}Options, row.${column.javaField});
 | 
			
		||||
    },
 | 
			
		||||
#end
 | 
			
		||||
#end
 | 
			
		||||
@ -328,6 +345,9 @@ export default {
 | 
			
		||||
#if($column.htmlType == "radio")
 | 
			
		||||
        $column.javaField: "0"#if($velocityCount != $columns.size()),#end
 | 
			
		||||
 | 
			
		||||
#elseif($column.htmlType == "checkbox")
 | 
			
		||||
        $column.javaField: []#if($velocityCount != $columns.size()),#end
 | 
			
		||||
 | 
			
		||||
#else
 | 
			
		||||
        $column.javaField: undefined#if($velocityCount != $columns.size()),#end
 | 
			
		||||
 | 
			
		||||
@ -361,6 +381,11 @@ export default {
 | 
			
		||||
      }
 | 
			
		||||
      get${BusinessName}(row.${pkColumn.javaField}).then(response => {
 | 
			
		||||
        this.form = response.data;
 | 
			
		||||
#foreach ($column in $columns)
 | 
			
		||||
#if($column.htmlType == "checkbox")
 | 
			
		||||
        this.form.$column.javaField = this.form.${column.javaField}.split(",");
 | 
			
		||||
#end
 | 
			
		||||
#end
 | 
			
		||||
        this.open = true;
 | 
			
		||||
        this.title = "修改${functionName}";
 | 
			
		||||
      });
 | 
			
		||||
@ -369,6 +394,11 @@ export default {
 | 
			
		||||
    submitForm: function() {
 | 
			
		||||
      this.#[[$]]#refs["form"].validate(valid => {
 | 
			
		||||
        if (valid) {
 | 
			
		||||
#foreach ($column in $columns)
 | 
			
		||||
#if($column.htmlType == "checkbox")
 | 
			
		||||
          this.form.$column.javaField = this.form.${column.javaField}.join(",");
 | 
			
		||||
#end
 | 
			
		||||
#end
 | 
			
		||||
          if (this.form.${pkColumn.javaField} != undefined) {
 | 
			
		||||
            update${BusinessName}(this.form).then(response => {
 | 
			
		||||
              if (response.code === 200) {
 | 
			
		||||
 | 
			
		||||
@ -185,6 +185,23 @@
 | 
			
		||||
            <el-option label="请选择字典生成" value="" />
 | 
			
		||||
          </el-select>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
#elseif($column.htmlType == "checkbox" && "" != $dictType)
 | 
			
		||||
        <el-form-item label="${comment}">
 | 
			
		||||
          <el-checkbox-group v-model="form.${field}">
 | 
			
		||||
            <el-checkbox
 | 
			
		||||
              v-for="dict in ${field}Options"
 | 
			
		||||
              :key="dict.dictValue"
 | 
			
		||||
              :label="dict.dictValue">
 | 
			
		||||
              {{dict.dictLabel}}
 | 
			
		||||
            </el-checkbox>
 | 
			
		||||
          </el-checkbox-group>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
#elseif($column.htmlType == "checkbox" && $dictType)
 | 
			
		||||
        <el-form-item label="${comment}">
 | 
			
		||||
          <el-checkbox-group v-model="form.${field}">
 | 
			
		||||
            <el-checkbox>请选择字典生成</el-checkbox>
 | 
			
		||||
          </el-checkbox-group>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
#elseif($column.htmlType == "radio" && "" != $dictType)
 | 
			
		||||
        <el-form-item label="${comment}">
 | 
			
		||||
          <el-radio-group v-model="form.${field}">
 | 
			
		||||
@ -326,7 +343,7 @@ export default {
 | 
			
		||||
#end
 | 
			
		||||
    // $comment字典翻译
 | 
			
		||||
    ${column.javaField}Format(row, column) {
 | 
			
		||||
      return this.selectDictLabel(this.${column.javaField}Options, row.${column.javaField});
 | 
			
		||||
      return this.selectDictLabel#if($column.htmlType == "checkbox")s#end(this.${column.javaField}Options, row.${column.javaField});
 | 
			
		||||
    },
 | 
			
		||||
#end
 | 
			
		||||
#end
 | 
			
		||||
@ -342,6 +359,9 @@ export default {
 | 
			
		||||
#if($column.htmlType == "radio")
 | 
			
		||||
        $column.javaField: "0"#if($velocityCount != $columns.size()),#end
 | 
			
		||||
 | 
			
		||||
#elseif($column.htmlType == "checkbox")
 | 
			
		||||
        $column.javaField: []#if($velocityCount != $columns.size()),#end
 | 
			
		||||
 | 
			
		||||
#else
 | 
			
		||||
        $column.javaField: undefined#if($velocityCount != $columns.size()),#end
 | 
			
		||||
 | 
			
		||||
@ -378,6 +398,11 @@ export default {
 | 
			
		||||
      const ${pkColumn.javaField} = row.${pkColumn.javaField} || this.ids
 | 
			
		||||
      get${BusinessName}(${pkColumn.javaField}).then(response => {
 | 
			
		||||
        this.form = response.data;
 | 
			
		||||
#foreach ($column in $columns)
 | 
			
		||||
#if($column.htmlType == "checkbox")
 | 
			
		||||
        this.form.$column.javaField = this.form.${column.javaField}.split(",");
 | 
			
		||||
#end
 | 
			
		||||
#end
 | 
			
		||||
        this.open = true;
 | 
			
		||||
        this.title = "修改${functionName}";
 | 
			
		||||
      });
 | 
			
		||||
@ -386,6 +411,11 @@ export default {
 | 
			
		||||
    submitForm: function() {
 | 
			
		||||
      this.#[[$]]#refs["form"].validate(valid => {
 | 
			
		||||
        if (valid) {
 | 
			
		||||
#foreach ($column in $columns)
 | 
			
		||||
#if($column.htmlType == "checkbox")
 | 
			
		||||
          this.form.$column.javaField = this.form.${column.javaField}.join(",");
 | 
			
		||||
#end
 | 
			
		||||
#end
 | 
			
		||||
          if (this.form.${pkColumn.javaField} != undefined) {
 | 
			
		||||
            update${BusinessName}(this.form).then(response => {
 | 
			
		||||
              if (response.code === 200) {
 | 
			
		||||
 | 
			
		||||
@ -18,7 +18,7 @@ import './assets/icons' // icon
 | 
			
		||||
import './permission' // permission control
 | 
			
		||||
import { getDicts } from "@/api/system/dict/data";
 | 
			
		||||
import { getConfigKey } from "@/api/system/config";
 | 
			
		||||
import { parseTime, resetForm, addDateRange, selectDictLabel, download, handleTree } from "@/utils/ruoyi";
 | 
			
		||||
import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, download, handleTree } from "@/utils/ruoyi";
 | 
			
		||||
import Pagination from "@/components/Pagination";
 | 
			
		||||
 | 
			
		||||
// 全局方法挂载
 | 
			
		||||
@ -28,6 +28,7 @@ Vue.prototype.parseTime = parseTime
 | 
			
		||||
Vue.prototype.resetForm = resetForm
 | 
			
		||||
Vue.prototype.addDateRange = addDateRange
 | 
			
		||||
Vue.prototype.selectDictLabel = selectDictLabel
 | 
			
		||||
Vue.prototype.selectDictLabels = selectDictLabels
 | 
			
		||||
Vue.prototype.download = download
 | 
			
		||||
Vue.prototype.handleTree = handleTree
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -77,6 +77,21 @@ export function selectDictLabel(datas, value) {
 | 
			
		||||
	return actions.join('');
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 回显数据字典(字符串数组)
 | 
			
		||||
export function selectDictLabels(datas, value, separator) {
 | 
			
		||||
	var actions = [];
 | 
			
		||||
	var currentSeparator = undefined === separator ? "," : separator;
 | 
			
		||||
	var temp = value.split(currentSeparator);
 | 
			
		||||
	Object.keys(value.split(currentSeparator)).some((val) => {
 | 
			
		||||
        Object.keys(datas).some((key) => {
 | 
			
		||||
            if (datas[key].dictValue == ('' + temp[val])) {
 | 
			
		||||
				actions.push(datas[key].dictLabel + currentSeparator);
 | 
			
		||||
			}
 | 
			
		||||
		})
 | 
			
		||||
	})
 | 
			
		||||
	return actions.join('').substring(0, actions.join('').length - 1);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 通用下载方法
 | 
			
		||||
export function download(fileName) {
 | 
			
		||||
	window.location.href = baseURL + "/common/download?fileName=" + encodeURI(fileName) + "&delete=" + true;
 | 
			
		||||
@ -98,10 +113,10 @@ export function sprintf(str) {
 | 
			
		||||
 | 
			
		||||
// 转换字符串,undefined,null等转化为""
 | 
			
		||||
export function praseStrEmpty(str) {
 | 
			
		||||
    if (!str || str == "undefined" || str == "null") {
 | 
			
		||||
        return "";
 | 
			
		||||
    }
 | 
			
		||||
    return str;
 | 
			
		||||
	if (!str || str == "undefined" || str == "null") {
 | 
			
		||||
		return "";
 | 
			
		||||
	}
 | 
			
		||||
	return str;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@ -120,15 +135,15 @@ export function handleTree(data, id, parentId, children, rootId) {
 | 
			
		||||
	//对源数据深度克隆
 | 
			
		||||
	const cloneData = JSON.parse(JSON.stringify(data))
 | 
			
		||||
	//循环所有项
 | 
			
		||||
	const treeData =  cloneData.filter(father => {
 | 
			
		||||
	  let branchArr = cloneData.filter(child => {
 | 
			
		||||
		//返回每一项的子级数组
 | 
			
		||||
		return father[id] === child[parentId]
 | 
			
		||||
	  });
 | 
			
		||||
	  branchArr.length > 0 ? father.children = branchArr : '';
 | 
			
		||||
	  //返回第一层
 | 
			
		||||
	  return father[parentId] === rootId;
 | 
			
		||||
	const treeData = cloneData.filter(father => {
 | 
			
		||||
		let branchArr = cloneData.filter(child => {
 | 
			
		||||
			//返回每一项的子级数组
 | 
			
		||||
			return father[id] === child[parentId]
 | 
			
		||||
		});
 | 
			
		||||
		branchArr.length > 0 ? father.children = branchArr : '';
 | 
			
		||||
		//返回第一层
 | 
			
		||||
		return father[parentId] === rootId;
 | 
			
		||||
	});
 | 
			
		||||
	return treeData != '' ? treeData : data;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -120,7 +120,7 @@ create table sys_role (
 | 
			
		||||
-- ----------------------------
 | 
			
		||||
-- 初始化-角色信息表数据
 | 
			
		||||
-- ----------------------------
 | 
			
		||||
insert into sys_role values('1', '系统管理员',  'admin',  1, 1, '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '系统管理员');
 | 
			
		||||
insert into sys_role values('1', '超级管理员',  'admin',  1, 1, '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '超级管理员');
 | 
			
		||||
insert into sys_role values('2', '普通角色',    'common', 2, 2, '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '普通角色');
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user