按钮级别的新版本,多级别的组织架构
loulijun2021
2023-08-24 68338b19f9dc2ad9725326b7e699a3e191030cb8
src/views/systemSetting/encodingRules.vue
@@ -2,7 +2,13 @@
  <div>
    <div class="body" :style="{height:mainHeight+'px'}">
      <div class="bodyTopButtonGroup">
        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">新增</el-button>
        <el-button
          v-waves
          :style="{visibility:$buttoncode.includes('Add')?'':'hidden'}"
          type="primary"
          icon="el-icon-circle-plus-outline"
          @click="add('add')"
        >新增</el-button>
      </div>
      <div class="bodyTopFormGroup">
@@ -32,7 +38,22 @@
        </el-form>
        <div
          class="bodyTopFormExpand"
        />
          style="height:5px"
        >
          <!--          <svg-icon-->
          <!--            v-show="mouseHoverType==='mouseout'"-->
          <!--            style="cursor: pointer"-->
          <!--            :icon-class="!isExpandForm?'doubleDown3':'doubleUp3'"-->
          <!--            @mouseenter="mouseHoverType=$event.type"-->
          <!--          />-->
          <!--          <svg-icon-->
          <!--            v-show="mouseHoverType==='mouseenter'"-->
          <!--            style="cursor: pointer"-->
          <!--            :icon-class="!isExpandForm?'doubleDown':'doubleUp'"-->
          <!--            @click="isExpandForm=!isExpandForm"-->
          <!--            @mouseout="mouseHoverType=$event.type"-->
          <!--          />-->
        </div>
      </div>
      <div class="elTableDiv">
@@ -80,11 +101,7 @@
            prop="filingdate"
            label="编码格式"
            sortable="custom"
          >
            <template slot-scope="{row}">
              <div>{{ dateType.find(i=>i.code===row.filingdate).name }}</div>
            </template>
          </el-table-column>
          />
          <el-table-column
            prop="incbit"
            label="自增位数"
@@ -97,6 +114,7 @@
            sortable="custom"
          />
          <el-table-column
            v-if="$buttoncode.toString().length"
            label="操作"
            width="120"
            fixed="right"
@@ -106,12 +124,16 @@
                <el-tooltip class="item" effect="dark" content="编辑" placement="top">
                  <i
                    class="el-icon-edit-outline"
                    :style="{color:$store.state.settings.theme}"
                    :style="{color:$store.state.settings.theme,display:$buttoncode.includes('Update')?'':'none'}"
                    @click="edit('edit',row)"
                  />
                </el-tooltip>
                <el-tooltip v-del-tab-index class="item" effect="dark" content="删除" placement="top">
                  <i class="el-icon-delete" :style="{color:$store.state.settings.theme}" @click="del(row)" />
                  <i
                    class="el-icon-delete"
                    :style="{color:$store.state.settings.theme,display:$buttoncode.includes('Delete')?'':'none'}"
                    @click="del(row)"
                  />
                </el-tooltip>
              </div>
            </template>
@@ -194,7 +216,13 @@
      <span slot="footer" class="dialog-footer">
        <div class="footerButton">
          <el-button v-waves @click="dialogVisibleCancel">取 消</el-button>
          <el-button v-waves type="primary" @click="dialogVisibleConfirm">确 定</el-button>
          <el-button
            v-waves
            type="primary"
            :loading="$store.state.app.buttonIsDisabled"
            :disabled="$store.state.app.buttonIsDisabled"
            @click="dialogVisibleConfirm"
          >确 定</el-button>
        </div>
      </span>
    </el-dialog>
@@ -219,7 +247,6 @@
  directives: { elDragDialog, waves },
  data() {
    return {
      mouseHoverType: 'mouseout',
      isExpandForm: false,
      mainHeight: 0,
      tableHeight: 0,
@@ -244,9 +271,9 @@
      },
      encodingPre: '', // 编码预览
      dateType: [
        { name: '年月日', code: 'YMD' },
        { name: '年月', code: 'YM' },
        { name: '年', code: 'Y' }
        { name: '年月日', code: '年月日' },
        { name: '年月', code: '年月' },
        { name: '年', code: '年' }
      ],
      menuOptionsAll: [],
      menuOptions: [],
@@ -278,11 +305,11 @@
      handler(newValue, oldValue) {
        const date = new Date()
        let newDate = ''
        if (newValue.filingdate === 'YMD') {
        if (newValue.filingdate === '年月日') {
          newDate = date.getFullYear().toString().substring(2, 4) + '' + (date.getMonth() + 1 + '').padStart(2, '0') + '' + (date.getDate() + '').padStart(2, '0')
        } else if (newValue.filingdate === 'YM') {
        } else if (newValue.filingdate === '年月') {
          newDate = date.getFullYear().toString().substring(2, 4) + '' + (date.getMonth() + 1 + '').padStart(2, '0')
        } else if (newValue.filingdate === 'Y') {
        } else if (newValue.filingdate === '年') {
          newDate = date.getFullYear().toString().substring(2, 4) + ''
        }
        this.encodingPre = newValue.prefix + '' + newDate + '' + (1 + '').padStart(newValue.incbit, '0')
@@ -309,7 +336,6 @@
        childrenProperty: 'children'
      })
      this.menuOptions = this.menuOptionsAll.filter(i => i.type === this.dialogForm.type)
      // console.log(this.menuOptions, 2)
    },
    radioChange() {
      this.menuOptions = this.menuOptionsAll.filter(i => i.type === this.dialogForm.type)
@@ -407,17 +433,18 @@
    dialogVisibleConfirm() {
      this.$refs.dialogForm.validate(valid => {
        if (valid) {
          // console.log(this.$refs.cascader.checkedValue, 1)
          this.$store.state.app.buttonIsDisabled = true
          const rightcode = this.$refs.cascader.checkedValue[this.$refs.cascader.checkedValue.length - 1]
          this.dialogForm.rightcode = rightcode
          this.dialogForm.rightname = this.menuOptions[this.menuOptions.findIndex(i => i.menucode === this.$refs.cascader.checkedValue[0])].children.find(i => i.menucode === rightcode).menuname
          SaveEncodingRules(this.dialogForm).then(res => {
            if (res.code === '200') {
              this.$notify.success(this.operation === 'add' ? '添加成功!' : '修改成功!')
              this.dialogVisible = false
              this.$store.state.app.buttonIsDisabled = false
              this.getEncodingRules()
            } else {
              this.$store.state.app.buttonIsDisabled = false
              this.$notify.error(this.operation === 'add' ? '添加失败!' : '修改失败!')
            }
          })
@@ -428,7 +455,7 @@
    getHeight() {
      this.$nextTick(() => {
        this.mainHeight = window.innerHeight - 85
        this.tableHeight = this.mainHeight - 255
        this.tableHeight = this.mainHeight - 240
        this.$refs.tableDataRef.doLayout()
      })
    }