loulijun2021
2023-06-14 062175c7c625ef7763b694dd5dfba8bc7e5e76cd
1.角色清单、安灯设置引入分车间概念
已修改23个文件
639 ■■■■■ 文件已修改
src/api/basicInfo.js 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/basicSettings.js 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Pagination/index.vue 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/Navbar.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/Sidebar/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/store/modules/user.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/request.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/basicSettings/contactUnitList.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/basicSettings/installationLampSetting.vue 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/basicSettings/organizationList.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/basicSettings/roleList.vue 124 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/basicSettings/userList.vue 156 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/deviceManager/checkPosition.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/deviceManager/checkRecord.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/deviceManager/checkStandard.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/deviceManager/deviceGroup.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/deviceManager/deviceList.vue 266 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/deviceManager/deviceType.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/deviceManager/maintainPosition.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/deviceManager/maintainRecord.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/deviceManager/maintainStandard.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/deviceManager/repairRecord.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/login/index.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/basicInfo.js
@@ -58,3 +58,12 @@
    params: data
  })
}
// 通过选择的所属组织查询所属角色类型
export function StorgRoleSelect(data) {
  return request({
    url: 'BaseDate/StorgRoleSelect',
    method: 'get',
    params: data
  })
}
src/api/basicSettings.js
@@ -77,9 +77,9 @@
  })
}
// 用户清单关联角色保存
export function SaveUserAssoctRole(data, usercode) {
export function SaveUserAssoctRole(data, usercode, stu_torgcode) {
  return request({
    url: 'BasicSetting/SaveUserAssoctRole?usercode=' + usercode,
    url: 'BasicSetting/SaveUserAssoctRole?usercode=' + usercode + '&stu_torgcode=' + stu_torgcode,
    method: 'post',
    data
  })
@@ -305,3 +305,10 @@
    params: data
  })
}
export function AnDengShopSearch(data) {
  return request({
    url: 'BasicSetting/AnDengShopSearch',
    method: 'get',
    params: data
  })
}
src/components/Pagination/index.vue
@@ -96,6 +96,7 @@
  background: #f8f8fa;
  padding: 10px 0;
}
.pagination-container.hidden {
  display: none;
}
@@ -109,7 +110,7 @@
</style>
<style lang="scss">
.select_bottom{
.select_bottom {
  //z-index: 2008; position: absolute; left: 147px !important; top: 355px !important; margin: 0px;
  //border: 1px solid #55aaff;
  //.el-select-dropdown {
@@ -130,11 +131,21 @@
  //}
}
.el-pagination button, .el-pagination span:not([class*=suffix]){
.el-pagination button, .el-pagination span:not([class*=suffix]) {
  font-size: 14px;
}
.el-pagination .el-select .el-input .el-input__inner{
.el-pagination .el-select .el-input .el-input__inner {
  line-height: 34px;
  height: 34px;
}
.el-pagination__jump {
  margin-left: 10px;
  margin-right: 10px;
}
.el-pagination__jump .el-input .el-input__inner{
  line-height: 34px;
  height: 34px;
}
src/layout/components/Navbar.vue
@@ -64,6 +64,9 @@
          <el-tooltip class="item" effect="dark" content="全屏" placement="bottom">
            <screenfull id="screenfull" class="right-menu-item hover-effect" />
          </el-tooltip>
          <div style=" font-size: 18px;font-family: 'Microsoft YaHei';color:#AAAAAA;padding:0 8px;cursor: pointer">
            {{ stu_torgname }}
          </div>
          <!--        <el-tooltip content="Global Size" effect="dark" placement="bottom">-->
          <!--          <size-select id="size-select" class="right-menu-item hover-effect" />-->
          <!--        </el-tooltip>-->
@@ -198,7 +201,8 @@
        newpassword: [
          { required: true, validator: validatePassword2, trigger: ['blur', 'change'] }
        ]
      }
      },
      stu_torgname: ''
    }
  },
  inject: [
@@ -207,6 +211,7 @@
  created() {
    this.usercode = getCookie('navTabId')
    this.username = getCookie('username')
    this.stu_torgname = getCookie('stu_torgname') === '' ? '系统管理员' : getCookie('stu_torgname')
  },
  computed: {
    ...mapGetters([
src/layout/components/Sidebar/index.vue
@@ -42,7 +42,7 @@
    <div v-if="!$store.state.settings.menuIsHorizontal" style="position: absolute;bottom: 20px;left: 30px;">
      <div>
        <el-button v-if="$store.state.app.sidebar.opened" type="text" style="font-size: 14px;cursor: pointer">
          新凯迪制造V1.5.31
          新凯迪制造V1.6.52
        </el-button>
        <!--        <el-button type="text"><a href="http://www.ykxkd.com/" target="_blank">新凯迪制造V1.0.01</a></el-button>-->
      </div>
src/store/modules/user.js
@@ -49,6 +49,7 @@
        setCookie('rediskey', res.data.rediskey)
        setCookie('guid', res.data.guid)
        setCookie('stu_torgcode', res.data.stu_torgcode)
        setCookie('stu_torgname', res.data.stu_torgname)
        setCookie('description', res.data.description)
        // }
        // console.log(res.code === '302', 8989)
@@ -144,6 +145,7 @@
          removeCookie('rediskey')
          removeCookie('code')
          removeCookie('stu_torgcode')
          removeCookie('stu_torgname')
          removeCookie('description')
          removeCookie('guid')
src/utils/request.js
@@ -69,6 +69,10 @@
        removeCookie('code')
        removeCookie('guid')
        removeCookie('stu_torgcode')
        removeCookie('stu_torgname')
        removeCookie('description')
        if (getCookie('cloud')) {
          removeCookie('cloud')
          setTimeout(() => {
src/views/basicSettings/contactUnitList.vue
@@ -130,7 +130,7 @@
        :page.sync="form.page"
        :limit.sync="form.rows"
        align="right"
        layout="total,prev, pager, next,sizes"
        layout="total,prev, pager, next,sizes,jumper"
        popper-class="select_bottom"
        @pagination="getCurrentUnitSearch"
      />
src/views/basicSettings/installationLampSetting.vue
@@ -24,7 +24,7 @@
        />
      </div>
      <div class="body_right">
        <el-tabs ref="elTabs" type="border-card" @tab-click="tabClick">
        <el-tabs v-if="shopTree.length!==0" ref="elTabs" type="border-card" @tab-click="tabClick">
          <el-tab-pane v-for="item in AnDengTypeArr" :key="item.id" :label="item.name">
            <div :style="{height: (contentHeight+51)+'px'}">
              <div class="pane_top">
@@ -70,12 +70,15 @@
          </el-tab-pane>
        </el-tabs>
        <el-button
          v-if="shopTree.length!==0"
          style="position: absolute;top: 15px;right:10px;z-index: 1000"
          icon="el-icon-setting"
          @click="setting"
        >自定义呼叫类型
        </el-button>
        <div v-if="shopTree.length===0" style="color: red;margin: 20px 10px">
          请联系系统管理员进行配置!
        </div>
      </div>
    </div>
@@ -246,7 +249,7 @@
import {
  AddUpdateAnDengType, AnDengDigoResponUserSearch, AnDengDigoResponUserSeave, AnDengResponUserCloseSeave,
  AnDengResponUserDeleteSeave,
  AnDengResponUserSearch,
  AnDengResponUserSearch, AnDengShopSearch,
  AnDengTypeSearch,
  DeleteAnDengType
} from '@/api/basicSettings'
@@ -308,12 +311,17 @@
    },
    // 获取左侧车间信息
    async getShopSearch() {
      const res = await ShopSearch()
      const res = await AnDengShopSearch()
      this.shopTree = res.data
      this.$nextTick(() => {
        this.$refs.tree.setCurrentKey(this.shopTree[0].org_code) // 默认选中节点第一个
      })
      return { code: res.code }
      if (this.shopTree.length === 0) {
        return this.$message.info('请联系系统管理员进行配置!')
      } else {
        return { code: res.code }
      }
    },
    // 获取安灯类型
    async getAnDengTypeSearch() {
src/views/basicSettings/organizationList.vue
@@ -184,7 +184,7 @@
        :page.sync="form.page"
        :limit.sync="form.rows"
        align="right"
        layout="total ,prev, pager, next,sizes"
        layout="total ,prev, pager, next, sizes,jumper "
        popper-class="select_bottom"
        @pagination="getOrganizationSearch"
      />
src/views/basicSettings/roleList.vue
@@ -163,7 +163,7 @@
        :page.sync="form.page"
        :limit.sync="form.rows"
        align="right"
        layout="total ,prev, pager, next,sizes"
        layout="total ,prev, pager, next,sizes,jumper"
        popper-class="select_bottom"
        @pagination="getRoleSearch"
      />
@@ -187,6 +187,21 @@
        <el-form-item label="角色名称" prop="RoleName">
          <el-input v-model="dialogForm.RoleName" style="width: 200px" />
        </el-form-item>
        <el-form-item label="所属组织" prop="stu_torgcode">
          <el-cascader
            ref="dialogCascader"
            key="cascaderKey"
            v-model="dialogForm.stu_torgcode"
            filterable
            popper-class="elCascader"
            :options="StuOrgArr"
            :props="defaultProps"
            style="width: 200px;"
            @change="dialogCascaderChange"
          />
        </el-form-item>
        <el-form-item prop="RoleTypeCode" label="角色类型">
          <el-select
            v-model="dialogForm.RoleTypeCode"
@@ -196,7 +211,7 @@
            placeholder="请选择"
          >
            <el-option
              v-for="item in RoleTypeCodeArr2"
              v-for="item in RoleTypeCodeArr3"
              :key="item.roletype_code"
              :label="item.roletype_name"
              :value="item.roletype_code"
@@ -239,7 +254,7 @@
        ref="RoleTypeCodeArr"
        :data="RoleTypeCodeArr"
        border
        height="300"
        height="377"
        highlight-current-row
        :header-cell-style="this.$headerCellStyle"
        :cell-style="this.$cellStyle"
@@ -257,6 +272,32 @@
          label="序号"
          prop="RowNum"
        />
        <el-table-column
          v-if="$store.state.settings.orgType!=='W'"
          prop="roletype_code"
          label="所属组织"
          show-tooltip-when-overflow
          sortable="custom"
        >
          <template slot-scope="{row}">
            <el-cascader
              v-if="row.isVisible===1"
              ref="dialogCascader"
              key="cascaderKey"
              v-model="row.storg_code"
              filterable
              popper-class="elCascader"
              :options="StuOrgArr"
              :props="defaultProps"
              style="width: 200px;"
            />
            <div v-else>
              {{ row.org_name }}
            </div>
          </template>
        </el-table-column>
        <el-table-column
          prop="roletype_code"
          label="类型编码"
@@ -350,14 +391,13 @@
            <el-cascader
              ref="dialogCascaderUser"
              key="cascaderKey"
              v-model="dialogFormUser.orgcode"
              filterable
              popper-class="elCascader"
              :append-to-body="false"
              :options="StuOrgArr"
              :props="defaultProps"
              :style="{width:isIpad? '180px':'200px'}"
              @change="dialogCascaderChange"
            />
            <!--            @focus="getUserOrganization"-->
          </el-form-item>
@@ -613,6 +653,7 @@
import elDragDialog from '@/directive/el-drag-dialog'
import waves from '@/directive/waves'
import TableColumnSettings from '@/components/TableColumnSettings'
import { StorgRoleSelect } from '@/api/basicInfo'
export default {
  name: 'JSQD',
@@ -638,6 +679,7 @@
      total: 10,
      RoleTypeCodeArr: [], // 角色类型编码数组
      RoleTypeCodeArr2: [], // 角色类型编码数组  搜索
      RoleTypeCodeArr3: [], // 新增时的角色类型数组
      RoleTypeCodeArrLength: 0,
      formSetting: {
        page: 1,
@@ -669,13 +711,31 @@
          show: true,
          fixed: false,
          sortable: true
        }, {
          minWidth: 110,
          width: false,
          prop: 'torg_code',
          label: '组织编码',
          id: 5,
          show: false,
          fixed: false,
          sortable: true
        }, {
          minWidth: 110,
          width: false,
          prop: 'org_name',
          label: '所属组织',
          id: 6,
          show: true,
          fixed: false,
          sortable: true
        },
        {
          minWidth: 110,
          width: false,
          prop: 'roletype_code',
          label: '角色类型编码',
          id: 5,
          id: 7,
          show: false,
          fixed: false,
          sortable: true
@@ -685,7 +745,7 @@
          width: false,
          prop: 'roletype_name',
          label: '角色类型',
          id: 6,
          id: 8,
          show: true,
          fixed: false,
          sortable: true
@@ -695,7 +755,7 @@
          width: false,
          prop: 'description',
          label: '角色描述',
          id: 7,
          id: 9,
          show: true,
          fixed: false,
          sortable: true
@@ -705,7 +765,7 @@
          width: false,
          prop: 'is_user',
          label: '关联用户',
          id: 8,
          id: 10,
          show: false,
          fixed: false,
          sortable: true
@@ -715,7 +775,7 @@
          width: false,
          prop: 'is_right',
          label: '分配权限',
          id: 9,
          id: 11,
          show: true,
          fixed: false,
          sortable: true
@@ -725,7 +785,7 @@
          width: false,
          prop: 'lm_user',
          label: '创建人员',
          id: 10,
          id: 12,
          show: true,
          fixed: false,
          sortable: true
@@ -735,7 +795,7 @@
          width: false,
          prop: 'lm_date',
          label: '创建时间',
          id: 11,
          id: 13,
          show: true,
          fixed: false,
          sortable: true
@@ -748,6 +808,7 @@
        RoleId: '',
        RoleCode: '', // 角色编码
        RoleName: '', // 角色名称
        stu_torgcode: getCookie('stu_torgcode'), // 所属组织
        RoleTypeCode: '', // 角色类型
        description: ''//
      },
@@ -761,6 +822,9 @@
        ],
        RoleTypeCode: [
          { required: true, message: '请选择角色类型', trigger: ['blur', 'change'] }
        ],
        stu_torgcode: [
          { required: true, message: '请选择所属组织', trigger: ['blur', 'change'] }
        ]
      },
      settingDialogVisible: false,
@@ -787,7 +851,8 @@
        checkStrictly: true,
        value: 'code',
        label: 'name',
        children: 'children'
        children: 'children',
        emitPath: false
      },
      roleArr: [
        { value: 'Y', label: '是' },
@@ -932,6 +997,10 @@
    add(operation) {
      this.operation = operation
      this.dialogVisible = true
      if (this.$store.state.settings.orgType !== '') {
        this.getStorgRoleSelect(getCookie('stu_torgcode'), this.StuOrgArr.find(i => i.code === getCookie('stu_torgcode')) ? 'D' : 'W')
      }
    },
    // 修改按钮
    edit(operation, row) {
@@ -949,6 +1018,8 @@
        this.dialogForm.RoleName = row.role_name
        this.dialogForm.RoleTypeCode = row.roletype_code
        this.dialogForm.description = row.description
        this.dialogForm.stu_torgcode = row.torg_code
        this.getStorgRoleSelect(row.torg_code, this.StuOrgArr.find(i => i.code === row.torg_code) ? 'D' : 'W')
      })
    },
    // 删除按钮
@@ -974,6 +1045,20 @@
        this.$message.info('已取消删除')
      })
    },
    // 级联选择器
    dialogCascaderChange(val) {
      this.dialogForm.RoleTypeCode = ''
      this.getStorgRoleSelect(val, this.StuOrgArr.find(i => i.code === val) ? 'D' : 'W')
    },
    async   getStorgRoleSelect(stu_torgcode, description) {
      const data = {
        stu_torgcode,
        description
      }
      const { data: res } = await StorgRoleSelect(data)
      this.RoleTypeCodeArr3 = res
    },
    // 对话框关闭事件
    handleClose() {
      this.dialogForm.RoleId = ''
@@ -981,6 +1066,8 @@
      this.dialogForm.RoleName = ''
      this.dialogForm.RoleTypeCode = ''
      this.dialogForm.description = ''
      this.dialogForm.stu_torgcode = getCookie('stu_torgcode')
      this.RoleTypeCodeArr3 = []
      this.$refs.dialogForm.clearValidate()
    },
    // 对话框取消
@@ -998,6 +1085,7 @@
            RoleName: this.dialogForm.RoleName,
            RoleTypeCode: this.dialogForm.RoleTypeCode,
            description: this.dialogForm.description,
            stu_torgcode: this.dialogForm.stu_torgcode,
            OperType: this.operation === 'add' ? 'Add' : 'Update'
            // Operator: getCookie('admin')
          }
@@ -1056,7 +1144,7 @@
      let number = Math.random() * Math.random()// 作为删除时的标识符
      number = number === 0 ? (10 + Math.random()) : number
      const data = { roletype_code: '', roletype_name: '', isVisible: 1, number: number }
      const data = { storg_code: getCookie('stu_torgcode'), roletype_code: '', roletype_name: '', isVisible: 1, number: number }
      this.RoleTypeCodeArr.unshift(data)
    },
    // 删除按钮
@@ -1089,7 +1177,8 @@
      }
      const data = {
        code: row.roletype_code,
        name: row.roletype_name
        name: row.roletype_name,
        flag: row.storg_code
      }
      const res = await RoleTypeAdd([data])
      if (res.code === '200') {
@@ -1215,10 +1304,7 @@
        this.$store.state.app.buttonIsDisabled = false
      }
    },
    // 级联选择器
    dialogCascaderChange(val) {
      this.dialogFormUser.orgcode = val[val.length - 1]
    },
    // 置空按钮
    setRoleAssociationUser() {
      this.dialogFormUser.usercode = ''
src/views/basicSettings/userList.vue
@@ -34,8 +34,9 @@
                popper-class="elCascader"
                :options="StuOrgArr"
                :props="defaultProps"
                @change="cascaderChange"
              />
              <!--              @change="cascaderChange"-->
              <!--              @focus="getUserOrganization"-->
            </el-form-item>
@@ -134,10 +135,27 @@
            <template slot-scope="{row}">
              <div v-if="row[item.prop]==='1'&&row.wagetype">计时制</div>
              <div v-else-if="row[item.prop]==='2'&&row.wagetype">计件制</div>
              <div v-else-if="row[item.prop]==='Y'&& item.prop==='enable'"><i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" />在职</div>
              <div v-else-if="row[item.prop]==='N'&& item.prop==='enable'"><i class="el-icon-info" style="margin-right: 2px" />离职</div>
              <div v-else-if="row[item.prop]==='Y'&& item.prop==='is_role'"><i class="el-icon-share" :style="{color:$store.state.settings.theme}" @click="roleClick({row})" /></div>
              <div v-else-if="row[item.prop]==='N'&& item.prop==='is_role'"><i class="el-icon-share" style="color: rgb(180 ,181, 185)" @click="roleClick({row})" /></div>
              <div v-else-if="row[item.prop]==='Y'&& item.prop==='enable'"><i
                class="el-icon-success"
                :style="{color:$store.state.settings.theme}"
                style="margin-right: 2px"
              />在职
              </div>
              <div v-else-if="row[item.prop]==='N'&& item.prop==='enable'"><i
                class="el-icon-info"
                style="margin-right: 2px"
              />离职
              </div>
              <div v-else-if="row[item.prop]==='Y'&& item.prop==='is_role'"><i
                class="el-icon-share"
                :style="{color:$store.state.settings.theme}"
                @click="roleClick({row})"
              /></div>
              <div v-else-if="row[item.prop]==='N'&& item.prop==='is_role'"><i
                class="el-icon-share"
                style="color: rgb(180 ,181, 185)"
                @click="roleClick({row})"
              /></div>
              <div v-else-if="!row[item.prop]">/</div>
              <div v-else>{{ row[item.prop] }}</div>
            </template>
@@ -318,7 +336,7 @@
        :page.sync="form.page"
        :limit.sync="form.rows"
        align="right"
        layout="total ,prev, pager, next,sizes"
        layout="total ,prev, pager, next,sizes,jumper"
        popper-class="select_bottom"
        @pagination="getUserSearch"
      />
@@ -561,18 +579,11 @@
        <el-table-column
          v-if="$store.state.settings.orgType!=='W'"
          prop="stu_torgcode"
          label="车间名称"
          label="所属组织"
          sortable="custom"
          show-tooltip-when-overflow
        >
          <template slot-scope="{row}">
            <!--            <el-input-->
            <!--              v-if="row.isVisible===1"-->
            <!--              v-model="row.group_code"-->
            <!--              oninput="value=value.replace(/[^0-9a-zA-Z]/g,'')"-->
            <!--              placeholder="请输入"-->
            <!--            />-->
            <el-cascader
              v-if="row.isVisible===1"
              ref="dialogCascader"
@@ -738,6 +749,7 @@
        UserCode: '', // 用户编码
        UserName: '', // 用户名称
        StuOrg: getCookie('stu_torgcode'), // 所属组织
        description: getCookie('description'), // 组织类型
        wagetype: '', // 工资类型
        Enable: '', // 在职状态
        prop: 'lm_date', // 排序字段
@@ -784,13 +796,76 @@
          fixed: false,
          sortable: true
        },
        { minWidth: 110, width: false, prop: 'password', label: '用户密码', id: 5, show: true, fixed: false, sortable: 'custom' },
        { minWidth: 110, width: false, prop: 'stu_torgcode', label: '组织编码', id: 6, show: false, fixed: false, sortable: 'custom' },
        { minWidth: 110, width: false, prop: 'org_name', label: '所属组织', id: 7, show: true, fixed: false, sortable: 'custom' },
        { minWidth: 110, width: false, prop: 'group_code', label: '班组编码', id: 8, show: false, fixed: false, sortable: 'custom' },
        { minWidth: 110, width: false, prop: 'group_name', label: '生产班组', id: 9, show: true, fixed: false, sortable: 'custom' },
        { minWidth: 110, width: false, prop: 'wagetype', label: '工资类型', id: 10, show: true, fixed: false, sortable: 'custom' },
        { minWidth: 110, width: false, prop: 'mobile', label: '联系方式', id: 11, show: true, fixed: false, sortable: 'custom' },
        {
          minWidth: 110,
          width: false,
          prop: 'password',
          label: '用户密码',
          id: 5,
          show: true,
          fixed: false,
          sortable: 'custom'
        },
        {
          minWidth: 110,
          width: false,
          prop: 'stu_torgcode',
          label: '组织编码',
          id: 6,
          show: false,
          fixed: false,
          sortable: 'custom'
        },
        {
          minWidth: 110,
          width: false,
          prop: 'org_name',
          label: '所属组织',
          id: 7,
          show: true,
          fixed: false,
          sortable: 'custom'
        },
        {
          minWidth: 110,
          width: false,
          prop: 'group_code',
          label: '班组编码',
          id: 8,
          show: false,
          fixed: false,
          sortable: 'custom'
        },
        {
          minWidth: 110,
          width: false,
          prop: 'group_name',
          label: '生产班组',
          id: 9,
          show: true,
          fixed: false,
          sortable: 'custom'
        },
        {
          minWidth: 110,
          width: false,
          prop: 'wagetype',
          label: '工资类型',
          id: 10,
          show: true,
          fixed: false,
          sortable: 'custom'
        },
        {
          minWidth: 110,
          width: false,
          prop: 'mobile',
          label: '联系方式',
          id: 11,
          show: true,
          fixed: false,
          sortable: 'custom'
        },
        {
          minWidth: 110,
          width: false,
@@ -897,6 +972,7 @@
      },
      dialogVisibleRoles: false,
      dialogFormRoles: {
        stu_torgcode: '', // 所属组织
        username: '', // 用户名称
        usercode: '', // 用户编码
        rolesArr: [], // 角色类型集合
@@ -1005,26 +1081,29 @@
      this.form.UserName = ''
      this.form.Enable = ''
      this.form.wagetype = ''
      this.form.StuOrg = getCookie('stu_torgcode')
      this.$refs.cascader.checkedValue = ''// 级联选择器的清空
      this.form.description = getCookie('description') === '' ? '' : getCookie('description')
      this.form.StuOrg = getCookie('stu_torgcode') === '' ? '' : getCookie('stu_torgcode')
      // console.log(getCookie('stu_torgcode') === '')
      // if (this.$store.state.settings.orgType === '') {
      //   this.$refs.cascader.checkedValue = ''
      // }
      this.getUserSearch()
    },
    // 级联选择器改变事件
    cascaderChange(val) {
      console.log(val)
      this.form.StuOrg = val[val.length - 1]
      // this.$refs.cascader.checkValue
      this.form.description = this.StuOrgArr.find(i => i.code === val) ? 'D' : 'W'
    },
    dialogCascaderChange(val) {
      console.log(val)
      this.dialogForm.groupcode = ''
      this.getStorgGroupSelect(val)
      this.getStorgGroupSelect(val, this.StuOrgArr2.find(i => i.code === val) ? 'D' : 'W')
    },
    // 获取下拉生产班组
    async getStorgGroupSelect(stu_torgcode) {
    async getStorgGroupSelect(stu_torgcode, description) {
      const data = {
        stu_torgcode,
        description: this.StuOrgArr2.find(i => i.code === stu_torgcode) ? 'D' : 'W'
        description
      }
      const { data: res } = await StorgGroupSelect(data)
      this.usergroupArr = res
@@ -1062,7 +1141,7 @@
        this.dialogForm.Email = row.email
        this.dialogForm.wagetype = row.wagetype
      })
      this.getStorgGroupSelect()
      this.getStorgGroupSelect(row.stu_torgcode, this.StuOrgArr.find(i => i.code === row.stu_torgcode) ? 'D' : 'W')
      this.getUserOrganization2()
    },
    // 删除按钮
@@ -1168,7 +1247,8 @@
      this.dialogFormRoles.username = row.username
      this.dialogFormRoles.usercode = row.usercode
      UserAssociationRole({ usercode: row.usercode }).then(res => {
      this.dialogFormRoles.stu_torgcode = row.stu_torgcode
      UserAssociationRole({ usercode: row.usercode, stu_torgcode: row.stu_torgcode, description: row.description }).then(res => {
        if (res.code === '200') {
          setTimeout(() => {
            loading.close()
@@ -1231,7 +1311,7 @@
    // 用户关联对话框确认事件
    async rolesDialogVisibleConfirm() {
      this.$store.state.app.buttonIsDisabled = true
      const res = await SaveUserAssoctRole(this.dialogFormRoles.roleTreeSelectedArr, this.dialogFormRoles.usercode)
      const res = await SaveUserAssoctRole(this.dialogFormRoles.roleTreeSelectedArr, this.dialogFormRoles.usercode, this.dialogFormRoles.stu_torgcode)
      if (res.code === '200') {
        this.dialogVisibleRoles = false
        this.$message.success('保存成功!')
@@ -1474,7 +1554,6 @@
          this.workingTableData.splice(index, 1)
        }
      })
      // this.getStorgGroupSelect()
    },
    // 生产班组排序
    sortChangeOfWorking({ column, prop, order }) {
@@ -1506,7 +1585,14 @@
      let number = Math.random() * Math.random()// 作为删除时的标识符
      number = number === 0 ? (10 + Math.random()) : number
      const data = { storg_code: getCookie('stu_torgcode'), group_code: '', group_name: '', description: '', isVisible: 1, number: number }
      const data = {
        storg_code: getCookie('stu_torgcode'),
        group_code: '',
        group_name: '',
        description: '',
        isVisible: 1,
        number: number
      }
      this.workingTableData.unshift(data)
    },
    // 删除
src/views/deviceManager/checkPosition.vue
@@ -222,7 +222,7 @@
        :page.sync="form.page"
        :limit.sync="form.rows"
        align="right"
        layout="total,prev, pager, next,sizes"
        layout="total,prev, pager, next,sizes,jumper"
        popper-class="select_bottom"
        @pagination="getDeviceCheckItemSearch"
      />
src/views/deviceManager/checkRecord.vue
@@ -165,7 +165,7 @@
        :page.sync="form.page"
        :limit.sync="form.rows"
        align="right"
        layout="total,prev, pager, next,sizes"
        layout="total,prev, pager, next,sizes,jumper"
        popper-class="select_bottom"
        @pagination="getDeviceCheckTakeSearch"
      />
src/views/deviceManager/checkStandard.vue
@@ -136,7 +136,7 @@
        :page.sync="form.page"
        :limit.sync="form.rows"
        align="right"
        layout="total,prev, pager, next,sizes"
        layout="total,prev, pager, next,sizes,jumper"
        popper-class="select_bottom"
        @pagination="getDeviceCheckStandArdSearch"
      />
src/views/deviceManager/deviceGroup.vue
@@ -176,7 +176,7 @@
        :page.sync="formTop.page"
        :limit.sync="formTop.rows"
        align="right"
        layout="total,prev, pager, next,sizes"
        layout="total,prev, pager, next,sizes,jumper"
        popper-class="select_bottom"
        @pagination="getAdvancedSchedulingSearch"
      />
src/views/deviceManager/deviceList.vue
@@ -5,10 +5,9 @@
      <div class="bodyTopButtonGroup" style="justify-content: space-between">
        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">新增</el-button>
        <div style="display: flex">
          <el-button v-waves icon="el-icon-c-scale-to-original" @click="deviceTypeButton">设备类型</el-button>
          <el-button v-waves icon="el-icon-document-copy" @click="deviceGroupButton">设备组</el-button>
          <!--          <el-button v-waves icon="el-icon-c-scale-to-original" @click="deviceTypeButton">设备类型</el-button>-->
          <!--          <el-button v-waves icon="el-icon-document-copy" @click="deviceGroupButton">设备组</el-button>-->
          <el-button v-waves icon="el-icon-download" @click="upload">导入</el-button>
        </div>
        <!--        <el-button v-waves type="primary" icon="el-icon-upload2" @click="upload">导入</el-button>-->
@@ -62,41 +61,41 @@
                />
              </el-select>
            </el-form-item>
            <el-form-item v-show="isExpandForm" filterable label="设备类型" style="display: flex;">
              <el-select
                v-model="form.DeviceType"
                :popper-append-to-body="false"
                style="width: 200px"
                filterable
                placeholder="请选择"
                @change="deviceTypeChange"
              >
                <!--                @focus="getDeviceTypeSelect"-->
                <el-option
                  v-for="item in DeviceTypeArr"
                  :key="item.code"
                  :label="item.name"
                  :value="item.code"
                />
              </el-select>
            </el-form-item>
            <el-form-item v-show="isExpandForm" label="设备组" style=" display: flex;">
              <el-select
                v-model="form.DeviceGroup"
                filterable
                :popper-append-to-body="false"
                :disabled="form.DeviceType===''"
                style="width: 200px"
                placeholder="请选择"
              >
                <el-option
                  v-for="item in DeviceGroupArr"
                  :key="item.code"
                  :label="item.name"
                  :value="item.code"
                />
              </el-select>
            </el-form-item>
            <!--            <el-form-item v-show="isExpandForm" filterable label="设备类型" style="display: flex;">-->
            <!--              <el-select-->
            <!--                v-model="form.DeviceType"-->
            <!--                :popper-append-to-body="false"-->
            <!--                style="width: 200px"-->
            <!--                filterable-->
            <!--                placeholder="请选择"-->
            <!--                @change="deviceTypeChange"-->
            <!--              >-->
            <!--                &lt;!&ndash;                @focus="getDeviceTypeSelect"&ndash;&gt;-->
            <!--                <el-option-->
            <!--                  v-for="item in DeviceTypeArr"-->
            <!--                  :key="item.code"-->
            <!--                  :label="item.name"-->
            <!--                  :value="item.code"-->
            <!--                />-->
            <!--              </el-select>-->
            <!--            </el-form-item>-->
            <!--            <el-form-item v-show="isExpandForm" label="设备组" style=" display: flex;">-->
            <!--              <el-select-->
            <!--                v-model="form.DeviceGroup"-->
            <!--                filterable-->
            <!--                :popper-append-to-body="false"-->
            <!--                :disabled="form.DeviceType===''"-->
            <!--                style="width: 200px"-->
            <!--                placeholder="请选择"-->
            <!--              >-->
            <!--                <el-option-->
            <!--                  v-for="item in DeviceGroupArr"-->
            <!--                  :key="item.code"-->
            <!--                  :label="item.name"-->
            <!--                  :value="item.code"-->
            <!--                />-->
            <!--              </el-select>-->
            <!--            </el-form-item>-->
          </div>
          <div
            class="bodySearchReset"
@@ -108,24 +107,10 @@
        </el-form>
        <div
          class="bodyTopFormExpand"
        >
          <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" style="margin-top: 0;">
      <div class="elTableDiv">
        <TableColumnSettings
          :list1="tableColumnSettingsArray"
          @tableColumnUpdate="tableColumnUpdate"
@@ -136,10 +121,10 @@
          :data="tableData"
          border
          class="tableFixed"
          :height="isExpandForm?tableHeight:(tableHeight+40)+'px'"
          :height="tableHeight+'px'"
          highlight-current-row
          :row-class-name="tableRowClassName"
          :style="{width: 100+'%',height:isExpandForm?tableHeight:(tableHeight+40)+'px',}"
          :style="{width: 100+'%',height:tableHeight+'px'}"
          :header-cell-style="this.$headerCellStyle"
          :cell-style="this.$cellStyle"
          @sort-change="sortChange"
@@ -303,7 +288,7 @@
        :page.sync="form.page"
        :limit.sync="form.rows"
        align="right"
        layout="total,prev, pager, next,sizes"
        layout="total,prev, pager, next,sizes,jumper"
        popper-class="select_bottom"
        @pagination="getDeviceMangerSearch"
      />
@@ -326,40 +311,40 @@
        <el-form-item label="设备名称" prop="devicename">
          <el-input v-model="dialogForm.devicename" style="width: 200px" />
        </el-form-item>
        <el-form-item label="设备类型" prop="devicetypecode">
          <el-select
            v-model="dialogForm.devicetypecode"
            :popper-append-to-body="false"
            style="width: 200px"
            placeholder="请选择"
            filterable
            @change="devicetypecodeChange"
          >
            <el-option
              v-for="item in DeviceTypeArr"
              :key="item.code"
              :label="item.name"
              :value="item.code"
            />
          </el-select>
        </el-form-item>
        <el-form-item label="设备组" prop="devicegroupcode">
          <el-select
            v-model="dialogForm.devicegroupcode"
            :popper-append-to-body="false"
            :disabled="dialogForm.devicetypecode===''"
            style="width: 200px"
            filterable
            placeholder="请选择"
          >
            <el-option
              v-for="item in DeviceGroupDialogArr"
              :key="item.code"
              :label="item.name"
              :value="item.code"
            />
          </el-select>
        </el-form-item>
        <!--        <el-form-item label="设备类型" prop="devicetypecode">-->
        <!--          <el-select-->
        <!--            v-model="dialogForm.devicetypecode"-->
        <!--            :popper-append-to-body="false"-->
        <!--            style="width: 200px"-->
        <!--            placeholder="请选择"-->
        <!--            filterable-->
        <!--            @change="devicetypecodeChange"-->
        <!--          >-->
        <!--            <el-option-->
        <!--              v-for="item in DeviceTypeArr"-->
        <!--              :key="item.code"-->
        <!--              :label="item.name"-->
        <!--              :value="item.code"-->
        <!--            />-->
        <!--          </el-select>-->
        <!--        </el-form-item>-->
        <!--        <el-form-item label="设备组" prop="devicegroupcode">-->
        <!--          <el-select-->
        <!--            v-model="dialogForm.devicegroupcode"-->
        <!--            :popper-append-to-body="false"-->
        <!--            :disabled="dialogForm.devicetypecode===''"-->
        <!--            style="width: 200px"-->
        <!--            filterable-->
        <!--            placeholder="请选择"-->
        <!--          >-->
        <!--            <el-option-->
        <!--              v-for="item in DeviceGroupDialogArr"-->
        <!--              :key="item.code"-->
        <!--              :label="item.name"-->
        <!--              :value="item.code"-->
        <!--            />-->
        <!--          </el-select>-->
        <!--        </el-form-item>-->
        <el-form-item label="投入日期" prop="importdate">
          <el-date-picker
            v-model="dialogForm.importdate"
@@ -693,6 +678,7 @@
import elDragDialog from '@/directive/el-drag-dialog'
import waves from '@/directive/waves'
import TableColumnSettings from '@/components/TableColumnSettings'
import { getCookie } from '@/utils/auth'
export default {
  name: 'SBQD',
@@ -710,7 +696,7 @@
        DeviceCode: '', // 设备编码
        DeviceName: '', // 设备名称
        Status: '', // 使用状态
        WorkShop: '', // 所属车间
        WorkShop: this.$store.state.settings.orgType !== 'W' ? '' : getCookie('stu_torgcode'), // 所属车间
        DeviceType: '', // 设备类型
        DeviceGroup: '', // 设备组
        prop: 'lm_date', // 排序字段
@@ -750,49 +736,49 @@
          fixed: false,
          sortable: true
        },
        {
          minWidth: false,
          width: 130,
          prop: 'eqptype_code',
          label: '设备类型编码',
          id: 5,
          show: false,
          fixed: false,
          sortable: true
        },
        // {
        //   minWidth: false,
        //   width: 130,
        //   prop: 'eqptype_code',
        //   label: '设备类型编码',
        //   id: 5,
        //   show: false,
        //   fixed: false,
        //   sortable: true
        // },
        // {
        //   minWidth: 110,
        //   width: false,
        //   prop: 'eqptype_name',
        //   label: '设备类型',
        //   id: 6,
        //   show: true,
        //   fixed: false,
        //   sortable: true
        // },
        // {
        //   minWidth: false,
        //   width: 120,
        //   prop: 'eqpgroup_code',
        //   label: '设备组编码',
        //   id: 7,
        //   show: false,
        //   fixed: false,
        //   sortable: true
        // },
        // {
        //   minWidth: 110,
        //   width: false,
        //   prop: 'eqpgroup_name',
        //   label: '设备组',
        //   id: 8,
        //   show: true,
        //   fixed: false,
        //   sortable: true
        // },
        {
          minWidth: 110,
          width: false,
          prop: 'eqptype_name',
          label: '设备类型',
          id: 6,
          show: true,
          fixed: false,
          sortable: true
        },
        {
          minWidth: false,
          width: 120,
          prop: 'eqpgroup_code',
          label: '设备组编码',
          id: 7,
          show: false,
          fixed: false,
          sortable: true
        },
        {
          minWidth: 110,
          width: false,
          prop: 'eqpgroup_name',
          label: '设备组',
          id: 8,
          show: true,
          fixed: false,
          sortable: true
        },
        {
          minWidth: false,
          width: 110,
          prop: 'enable',
          label: '使用状态',
          id: 9,
@@ -801,8 +787,8 @@
          sortable: true
        },
        {
          minWidth: false,
          width: 110,
          minWidth: 110,
          width: false,
          prop: 'input_date',
          label: '投入日期',
          id: 10,
@@ -811,8 +797,8 @@
          sortable: true
        },
        {
          minWidth: false,
          width: 130,
          minWidth: 130,
          width: false,
          prop: 'wksp_code',
          label: '生产车间编码',
          id: 11,
@@ -1015,7 +1001,7 @@
      this.form.DeviceCode = ''
      this.form.DeviceName = ''
      this.form.Status = ''
      this.form.WorkShop = ''
      this.form.WorkShop = this.$store.state.settings.orgType !== 'W' ? '' : getCookie('stu_torgcode')
      this.form.DeviceType = ''
      this.form.DeviceGroup = ''
      this.getDeviceMangerSearch()
@@ -1104,8 +1090,8 @@
            id: this.dialogForm.id,
            devicecode: this.dialogForm.devicecode,
            devicename: this.dialogForm.devicename,
            devicetypecode: this.dialogForm.devicetypecode,
            devicegroupcode: this.dialogForm.devicegroupcode,
            devicetypecode: '',
            devicegroupcode: '',
            importdate: handleDatetime(this.dialogForm.importdate),
            workshopcode: this.dialogForm.workshopcode,
            // linecode: this.dialogForm.linecode,
@@ -1131,7 +1117,7 @@
    getHeight() {
      this.$nextTick(() => {
        this.mainHeight = window.innerHeight - 85
        this.tableHeight = this.mainHeight - 245
        this.tableHeight = this.mainHeight - 195
        this.$refs.tableDataRef.doLayout()
        // if (window.innerHeight < 769) {
        //   this.tableHeight = this.tableHeight - 50
src/views/deviceManager/deviceType.vue
@@ -176,7 +176,7 @@
        :page.sync="formTop.page"
        :limit.sync="formTop.rows"
        align="right"
        layout="total,prev, pager, next,sizes"
        layout="total,prev, pager, next,sizes,jumper"
        popper-class="select_bottom"
        @pagination="getAdvancedSchedulingSearch"
      />
src/views/deviceManager/maintainPosition.vue
@@ -184,7 +184,7 @@
        :page.sync="form.page"
        :limit.sync="form.rows"
        align="right"
        layout="total,prev, pager, next,sizes"
        layout="total,prev, pager, next,sizes,jumper"
        popper-class="select_bottom"
        @pagination="getDeviceMaiItemSearch"
      />
src/views/deviceManager/maintainRecord.vue
@@ -158,7 +158,7 @@
        :page.sync="form.page"
        :limit.sync="form.rows"
        align="right"
        layout="total,prev, pager, next,sizes"
        layout="total,prev, pager, next,sizes,jumper"
        popper-class="select_bottom"
        @pagination="getDeviceRepairTakeSearch"
      />
src/views/deviceManager/maintainStandard.vue
@@ -115,7 +115,7 @@
        :page.sync="form.page"
        :limit.sync="form.rows"
        align="right"
        layout="total,prev, pager, next,sizes"
        layout="total,prev, pager, next,sizes,jumper"
        popper-class="select_bottom"
        @pagination="getDeviceRepairStandArdSearch"
      />
src/views/deviceManager/repairRecord.vue
@@ -176,7 +176,7 @@
        :page.sync="form.page"
        :limit.sync="form.rows"
        align="right"
        layout="total,prev, pager, next,sizes"
        layout="total,prev, pager, next,sizes,jumper"
        popper-class="select_bottom"
        @pagination="getDeviceUpdateSearch"
      />
src/views/login/index.vue
@@ -246,6 +246,7 @@
      removeCookie('userid')
      removeCookie('code')
      removeCookie('stu_torgcode')
      removeCookie('stu_torgname')
      removeCookie('description')
      this.dialogVisible = false
    },