ludc
2024-12-27 5388172791b961806c13c3ddd0af1fbdbb437940
Source/plt-web/plt-web-ui/src/views/systemModel/mangeModel/index.vue
@@ -6,8 +6,8 @@
          <avue-tree :key="refresh" ref="tree" :data="treeData" :option="treeOption" node-key="id"
                     @node-click="nodeClick">
          <span slot-scope="{ node, data }" class="el-tree-node__label">
           <span style="font-size: 15px">
              <i :class="data.icon"></i>
            <span style="display: flex">
              <icon-show :name="data.icon"></icon-show>
                {{ (node || {}).label }}
            </span>
          </span>
@@ -69,18 +69,39 @@
          <el-button icon="el-icon-close" plain size="small" type="danger" @click="deleteOperationClickHandler">删除
          </el-button>
        </div>
        <el-form ref="form" :model="form" label-width="85px" style="max-height: calc(100vh - 200px);overflow: auto;">
        <el-form ref="form" :model="form" label-width="100px" style="max-height: calc(100vh - 200px);overflow: auto;">
          <span v-if="form.category !== 1">
            <el-form-item label="模块名:">
            <el-form-item>
               <span slot="label" style="display:inline-block;">
                菜单标识:
                 <el-tooltip class="item" effect="dark" content="请输入英文字符,并保证唯一性!" placement="top-start">
                   <i class='el-icon-star-on' style="color: #F56C6C"/>
                </el-tooltip>
               </span>
              <el-input v-model="form.alias" :disabled="!editStatus && !addStatus"
                      placeholder="请输入英文字符,并保证唯一性!"></el-input>
            </el-form-item>
            <el-form-item>
               <span slot="label" style="display:inline-block;">
                模块名:
                 <i class='el-icon-star-on' style="color: #F56C6C"/>
               </span>
            <el-input v-model="form.name" :disabled="!editStatus && !addStatus" placeholder="请输入模块名"></el-input>
          </el-form-item>
          <el-form-item label="模块别名:">
            <el-input v-model="form.alias" :disabled="!editStatus && !addStatus" placeholder="模块别名用来记录日志使用"></el-input>
          </el-form-item>
                <el-form-item v-if="form.functionType === 0" label="C/S:">
            </el-form-item>
           <el-form-item>
               <span slot="label" style="display:inline-block;">
                序号:
                  <el-tooltip class="item" content="数字,描述该模块在其父模块下的显示顺序" effect="dark" placement="top-start">
                   <i class='el-icon-star-on' style="color: #F56C6C"/>
                </el-tooltip>
               </span>
            <el-input v-model="form.sort" :disabled="!editStatus && !addStatus"
                      placeholder="数字,描述该模块在其父模块下的显示顺序"></el-input>
            </el-form-item>
            <el-form-item v-if="form.functionType === 0" label="C/S:">
            <el-input v-model="form.pathC" :disabled="!editStatus && !addStatus" :rows="2" placeholder="请输入C/S路径"
                      type="textarea"></el-input>
          </el-form-item>
            </el-form-item>
          <el-form-item v-if="form.functionType === 0" label="B/S:">
            <el-input v-model="form.path" :disabled="!editStatus && !addStatus" :rows="2" placeholder="请输入B/S路径"
                      type="textarea"></el-input>
@@ -89,14 +110,9 @@
            <el-input v-model="form.resourceDotNet" :disabled="!editStatus && !addStatus" :rows="2"
                      placeholder="请输入.NET" type="textarea"></el-input>
          </el-form-item>
          <el-form-item label="序号:">
            <el-input v-model="form.sort" :disabled="!editStatus && !addStatus"
                      placeholder="数字,描述该模块在其父模块下的显示顺序"></el-input>
          </el-form-item>
          <el-form-item label="图标:">
              <avue-input-icon v-model="form.source" :disabled="!editStatus && !addStatus" :icon-list="iconList"
                               placeholder="请选择图标">
              </avue-input-icon>
              <input-icon v-model="form.source" :disabled="!editStatus && !addStatus" placeholder="请选择图标">
              </input-icon>
          </el-form-item>
          <el-form-item label="描述:">
            <el-input v-model="form.remark" :disabled="!editStatus && !addStatus" :rows="3" placeholder="请输入描述"
@@ -192,13 +208,11 @@
} from "@/api/systemModel/mangeModel/api"
import func from "@/util/func";
import basicOption from "@/util/basic-option";
import iconList from "@/config/iconList";
export default {
  name: "index",
  data() {
    return {
      iconList: iconList,
      tipList: [],
      upFileType: ['xls', 'xlsx'],
      fileUrl: 'api/hmSysModConfigController/importModule',
@@ -243,7 +257,7 @@
        lazy: true,
        treeLoad: (node, resolve) => {
          const params = {
            parentId: node.level === 0 ? "systemManagmentNode" : node.data.id,
            parentId: node.level === 0 ? "system" : node.data.id,
            modeType: node.level === 0 ? "firstNode" : node.data.modeType,
          }
          getSysModelTreeMenuByPID(params).then(res => {
@@ -253,7 +267,7 @@
                id: item.id,
                name: item.name,
                leaf: !item.hasChildren,
                icon: item.source || 'el-icon-s-home'
                icon: item.source || 'iconoir:home'
              }
            }))
          })
@@ -314,6 +328,10 @@
        this.$message.error('模块名不能为空');
        return
      }
      if (!this.form.alias) {
        this.$message.error('菜单标识不能为空');
        return
      }
      if (this.form.name.length > 128) {
        this.$message.error('模块名长度不能超过128!');
        return
@@ -356,6 +374,10 @@
    editSaveClickHandler() {
      if (!this.form.name) {
        this.$message.error('模块名不能为空');
        return
      }
      if (!this.form.alias) {
        this.$message.error('菜单标识不能为空');
        return
      }
      if (this.form.name.length > 128) {
@@ -418,8 +440,6 @@
      exportFunctionSql({isFunction: true}).then(res => {
        func.downloadFileByBlobHandler(res);
        this.$message.success('导出成功');
      }).catch(err => {
        this.$message.error(err);
      });
    },
@@ -558,5 +578,4 @@
  justify-content: left;
  margin-bottom: 15px;
}
</style>