loulijun2021
2022-06-26 d597f9a4d8c83b149694354a7369057f80e5faac
1.优化代码递交
已修改6个文件
185 ■■■■ 文件已修改
src/layout/components/Sidebar/index.vue 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/TagsView/index.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/permission.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/store/modules/permission.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/jcsz/jsqd.vue 108 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/zzmx/gylx.vue 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/Sidebar/index.vue
@@ -82,7 +82,9 @@
  color: white;
  font-size: 18px;
}
.el-button--text:focus{
  color: white;
}
#app .sidebar-container .el-submenu .el-menu-item {
  background-color: transparent !important;
}
src/layout/components/TagsView/index.vue
@@ -16,12 +16,12 @@
        <span v-if="!isAffix(tag)" class="el-icon-close" @click.prevent.stop="closeSelectedTag(tag)" />
      </router-link>
    </scroll-pane>
    <!--    <ul v-show="visible" :style="{left:left+'px',top:top+'px'}" class="contextmenu">-->
    <!--      <li @click="refreshSelectedTag(selectedTag)">刷新</li>-->
    <!--      <li v-if="!isAffix(selectedTag)" @click="closeSelectedTag(selectedTag)">关闭</li>-->
    <!--      <li @click="closeOthersTags">关闭其他</li>-->
    <!--      <li @click="closeAllTags(selectedTag)">关闭所有</li>-->
    <!--    </ul>-->
    <ul v-show="visible" :style="{left:left+'px',top:top+'px'}" class="contextmenu">
      <li @click="refreshSelectedTag(selectedTag)">刷新</li>
      <li v-if="!isAffix(selectedTag)" @click="closeSelectedTag(selectedTag)">关闭</li>
      <li @click="closeOthersTags">关闭其他</li>
      <li @click="closeAllTags(selectedTag)">关闭所有</li>
    </ul>
  </div>
</template>
src/permission.js
@@ -27,7 +27,6 @@
      NProgress.done()
    } else {
      const hasGetUserInfo = store.getters.name
      console.log(hasGetUserInfo, 1)
      if (hasGetUserInfo) {
        next()
      } else {
src/store/modules/permission.js
@@ -13,8 +13,9 @@
/**
 * 把后台返回菜单组装成routes要求的格式
 * @param {*} routes
 * @param {*} menu
 */
export function getAsyncRoutes(routes2, menu) {
export function getAsyncRoutes(routes, menu) {
  const menuCode = []// 将后端code取出存成数组形式
  menu.forEach(item => {
    menuCode.push(item.code)
@@ -25,12 +26,10 @@
    }
  })
  const routes = routes2
  const newRoutes = []
  const newRoutes = [] // 新路由
  routes.forEach(item => {
    if (menuCode.includes(item.code) && item.children && item.children.length > 0) {
      console.log(item)
      const children = []
      let flag = false// 判断是否有children存进去
      item.children.forEach(it => {
@@ -90,7 +89,6 @@
  generateRoutes({ commit }, menu) {
    return new Promise(resolve => {
      const newRoutes = getAsyncRoutes(asyncRoutes, menu)
      console.log(newRoutes, 2)
      commit('SET_ROUTES', newRoutes)
      resolve(newRoutes)
    })
src/views/jcsz/jsqd.vue
@@ -17,7 +17,13 @@
              <el-input v-model="form.RoleName" placeholder="请输入" style="width: 200px" />
            </el-form-item>
            <el-form-item label="角色类型" style=" display: flex;">
              <el-select v-model="form.RoleTypeCode" :popper-append-to-body="false" filterable style="width: 200px" placeholder="请选择">
              <el-select
                v-model="form.RoleTypeCode"
                :popper-append-to-body="false"
                filterable
                style="width: 200px"
                placeholder="请选择"
              >
                <el-option
                  v-for="item in RoleTypeCodeArr2"
                  :key="item.roletype_code"
@@ -301,6 +307,7 @@
              ref="dialogCascaderUser"
              key="cascaderKey"
              filterable
              popper-class="elCascader"
              :append-to-body="false"
              :options="StuOrgArr"
              :props="defaultProps"
@@ -966,31 +973,51 @@
      const rightPCArrFlag = res[0][0].flag
      const rightAPPArrFlag = res[1][0].flag
      let waitFlag = false// 回显等待是否放行
      // 1.第一种情况PC和APP都一次都没选中时    PC未选中,APP未选中
      if (rightPCArrFlag === 'N' && rightAPPArrFlag === 'N') {
        pcIsSelected1 = true
        this.dialogFormRight.rightCurrentCode = this.dialogFormRight.rightPCArr[0].code
      }
      // 2.第二种情况PC已选中,APP未选中
      if (rightPCArrFlag === 'Y' && rightAPPArrFlag === 'N') {
        pcIsSelected1 = true
        pcIsSelected2 = true
        setTimeout(() => {
          this.$nextTick(() => {
            $('input:checkbox').eq(0).prop('checked', true)// 自定义单选框回显
          })
        const interval = setInterval(() => {
          if ($('input:checkbox').length > 0) {
            waitFlag = true
          }
          if (waitFlag) {
            clearInterval(interval)
            this.$nextTick(() => {
              $("input[name='PC']").eq(0).prop('checked', true)// 自定义单选框回显
            })
          }
        }, 100)
        this.dialogFormRight.rightCurrentCode = this.dialogFormRight.rightPCArr[0].code
      }
      // 3.第三种情况PC未选中,APP已选中
      if (rightPCArrFlag === 'N' && rightAPPArrFlag === 'Y') {
        appIsSelected1 = true
        appIsSelected2 = true
        setTimeout(() => {
          this.$nextTick(() => {
            $('input:checkbox').eq(1).prop('checked', true)// 自定义单选框回显
          })
        const interval = setInterval(() => {
          if ($('input:checkbox').length > 0) {
            waitFlag = true
          }
          if (waitFlag) {
            clearInterval(interval)
            this.$nextTick(() => {
              $("input[name='APP']").eq(0).prop('checked', true)// 自定义单选框回显
            })
          }
        }, 100)
        this.dialogFormRight.rightCurrentCode = this.dialogFormRight.rightAPPArr[0].code
      }
      // 4.第四种情况PC已选中,APP已选中
@@ -999,12 +1026,20 @@
        pcIsSelected2 = true
        appIsSelected1 = false
        appIsSelected2 = true
        setTimeout(() => {
          this.$nextTick(() => {
            $('input:checkbox').eq(0).prop('checked', true)// 自定义单选框回显
            $('input:checkbox').eq(1).prop('checked', true)// 自定义单选框回显
          })
        const interval = setInterval(() => {
          if ($('input:checkbox').length > 0) {
            waitFlag = true
          }
          if (waitFlag) {
            clearInterval(interval)
            this.$nextTick(() => {
              $("input[name='PC']").eq(0).prop('checked', true)// 自定义单选框回显
              $("input[name='APP']").eq(0).prop('checked', true)// 自定义单选框回显
            })
          }
        }, 100)
        this.dialogFormRight.rightCurrentCode = this.dialogFormRight.rightPCArr[0].code
      }
      this.dialogFormRight.rightOperationArr.push({
@@ -1285,11 +1320,12 @@
  border: none;
  padding: 0 20px;
}
::v-deep .el-button--primary:hover {
  border: none;
}
::v-deep .el-button--info{
::v-deep .el-button--info {
  //background-color: $main_color !important;
  height: 30px;
  display: flex;
@@ -1383,8 +1419,8 @@
    }
    input[type=checkbox]:checked::after {
      content: "✓";
      //content: "√";
      //content: "✓";
      content: "√";
      color: #fff;
      font-size: 12px;
      font-weight: bold;
@@ -1421,6 +1457,7 @@
  height: 30px;
  line-height: 30px;
}
::v-deep .el-input__inner:focus {
  border-color: $main_color;
}
@@ -1483,28 +1520,55 @@
::v-deep .el-radio.is-bordered + .el-radio.is-bordered {
  margin: 10px 30px 0px 0;
}
.body ::v-deep .el-divider{
.body ::v-deep .el-divider {
  border: 1px solid #eee;
  width: 99%;
  margin: 10px auto;
}
.body ::v-deep .el-form-item{
.body ::v-deep .el-form-item {
  margin-bottom: 0;
}
::v-deep .el-input__inner:focus {
  border-color: $main_color;
}
::v-deep .el-select .el-input__inner:focus{
::v-deep .el-select .el-input__inner:focus {
  border-color: $main_color;
}
::v-deep .el-select-dropdown__item.selected{
::v-deep .el-select-dropdown__item.selected {
  color: $main_color;
}
::v-deep .el-textarea__inner:focus{
::v-deep .el-textarea__inner:focus {
  border-color: $main_color;
}
</style>
<style lang="scss">
.elCascader {
  //.el-cascader-node.in-active-path, .el-cascader-node.is-active, .el-cascader-node.is-selectable.in-checked-path {
  //  color: #42b983 ;
  //}
  .el-cascader-node.is-selectable.in-checked-path {
    color: #42b983;
  }
  .el-radio__input.is-checked .el-radio__inner {
    background-color: #42b983;
    border-color: #42b983;
  }
  .el-radio__input.is-checked .el-radio__inner:hover {
    border-color: #42b983;
  }
  .el-input__inner {
    border-color: #42b983 !important;
  }
}
</style>
src/views/zzmx/gylx.vue
@@ -156,17 +156,18 @@
          <div class="settingDiv">
            <!--   实现工艺设置动态添加-->
            <div v-for="(tag,index) in dynamicTags" :key="tag.id" style="display: flex;align-items: center">
              <div style="display: flex;align-items: center;position: relative">
              <div style="display: flex;align-items: center;position: relative;">
                <div class="orderNumber">{{ index }}</div>
                <el-tooltip class="item" effect="dark" :content="tag.label" placement="top">
                  <!--                  @close="handleTagClose(tag.label)"-->
                  <!--                  :closable="index!==0"-->
                  <el-tag
                    v-if="flag||tag.label!==flagSelected"
                    :closable="index!==0"
                    :disable-transitions="false"
                    class="elTag"
                    :class="tagClass(tag.label)"
                    :effect="tag.effect"
                    @close="handleTagClose(tag.label)"
                    @click="elTagClick(tag)"
                  >
                    <!--                <div class="orderNumber">{{ index }}</div>-->
@@ -174,10 +175,11 @@
                    <i class="el-icon-edit" @click="tagEdit(tag)" />
                  </el-tag>
                </el-tooltip>
                <i v-if="index!==0" class="el-icon-close" @click="handleTagClose(tag.label)" />
                <el-autocomplete
                  v-if="!flag&&tag.label===flagSelected"
                  :ref="'saveTagInput'+tag.id"
                  v-model="value"
                  v-model="tagValue"
                  class="input-new-tag"
                  size="small"
                  :fetch-suggestions="querySearch"
@@ -262,7 +264,7 @@
      ],
      total: 10,
      tableData: [],
      dialogVisible: true,
      dialogVisible: false,
      dialogForm: {
        OrgType: '',
        OrgCode: '',
@@ -270,14 +272,14 @@
        SupUnit: ''// 上级单位
      },
      dynamicTags: [// 工艺设置数组
        { id: 1, label: '标签一', effect: 'light' },
        { id: 1, label: '标签一标签一标签一标签一标签一标签一', effect: 'light' },
        { id: 2, label: '标签二', effect: 'light' },
        { id: 3, label: '标签三', effect: 'light' }
      ],
      tagSelectedId: '', // tag选择中id
      flag: true,
      flagSelected: '', // 判断是否选中
      value: '',
      tagValue: '',
      restaurants: [],
      addDisabled: false,
@@ -345,7 +347,7 @@
      console.log(this.value)
      this.addDisabled = false
      this.flagSelect = ''
      this.value = ''
      this.tagValue = ''
      this.flag = !this.flag
    },
    tagEdit(tag) {
@@ -353,7 +355,7 @@
      this.addDisabled = true
      this.flagSelected = tag.label
      this.value = tag.label
      this.tagValue = tag.label
      this.flag = !this.flag
      this.$nextTick(_ => {
        this.$refs['saveTagInput' + tag.id][0].focus()
@@ -692,9 +694,10 @@
实现工艺设置动态添加样式
*/
.orderNumber{
.orderNumber {
}
.el-icon-edit {
  width: 16px;
  height: 16px;
@@ -702,11 +705,25 @@
  padding: 3px 0 0 3px;
  margin-left: 5px;
  cursor: pointer;
  position: absolute;
  right: 3px;
  bottom: 8px;
}
.el-icon-edit:hover {
  background-color: #99a9bf;
  color: #FFFFFF;
}
 .el-icon-close {
  position: absolute ;
  top: -5px ;
  z-index: 100 ;
  cursor: pointer;
  padding: 1px 0 0 1px ;
}
.el-icon-close:hover {
  background-color: #99a9bf;
}
.el-tag--dark {
@@ -721,13 +738,6 @@
  display: flex;
  justify-content: center;
  color: $main_color;
}
::v-deep .el-tag__close {
  padding: 1px 0 0 1px !important;
}
::v-deep .el-tag__close:hover {
  background-color: #99a9bf;
}
::v-deep .el-button--success {
@@ -750,7 +760,8 @@
  display: flex;
  width: 100%;
  height: 40px;
  overflow-y: scroll;
  overflow-x: scroll;
  overflow-y: hidden;
  align-items: center;
}
@@ -758,6 +769,9 @@
  margin-left: 0;
  width: 100px;
  position: relative;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
</style>