loulijun2021
2022-08-05 d33eacc1f85ac3a736b33ba4713a19aae466d711
src/views/jcsz/zzjg.vue
@@ -48,7 +48,7 @@
          stripe
          :style="{width: 100+'%',height:tableHeight+'px'}"
          highlight-current-row
          :height="tableHeight"
          :height="tableHeight+'px'"
          :header-cell-style="this.$headerCellStyle"
          :cell-style="this.$cellStyle"
          @sort-change="sortChange"
@@ -62,47 +62,61 @@
            prop="RowNum"
            width="50"
            label="序号"
            fixed
          />
          <el-table-column
            prop="org_code"
            label="组织编码"
            sortable="custom"
            min-width="110"
          />
          <el-table-column
            prop="org_name"
            label="组织名称"
            sortable="custom"
            min-width="110"
          />
          <el-table-column
            prop="description"
            label="组织类型"
            width="110"
            sortable="custom"
          >
            <template slot-scope="{row}">
              <div v-if="row.description==='F'">工厂</div>
              <!--              <div v-if="row.description==='F'">工厂</div>-->
              <div v-if="row.description==='D'">部门</div>
              <div v-if="row.description==='W'">车间</div>
              <div v-if="row.description==='K'">科室</div>
              <div v-if="row.description==='L'">生产线</div>
              <!--              <div v-if="row.description==='K'">科室</div>-->
              <!--              <div v-if="row.description==='L'">生产线</div>-->
            </template>
          </el-table-column>
          <el-table-column
            prop="parentorg_name"
            label="上级单位"
            sortable="custom"
          />
            min-widt="110"
          >
            <template slot-scope="{row}">
              <div v-if="row.parentorg_name===null">/</div>
              <div v-else>{{ row.parentorg_name }}</div>
            </template>
          </el-table-column>
          <el-table-column
            prop="lm_user"
            label="创建人员"
            width="110"
            sortable="custom"
          />
          <el-table-column
            prop="lm_date"
            label="创建时间"
            width="160"
            sortable="custom"
          />
          <el-table-column
            fixed="right"
            label="操作"
            width="120"
          >
            <template slot-scope="{row}">
              <div class="operationClass">
@@ -129,7 +143,7 @@
    <el-dialog
      :title="operation==='add'?'新增':'编辑'"
      :visible.sync="dialogVisible"
      width="60%"
      width="800px"
      top="15vh"
      :close-on-click-modal="false"
      @closed="handleClose"
@@ -139,6 +153,7 @@
        <el-form-item label="组织类型" prop="OrgType">
          <el-radio-group
            v-model="dialogForm.OrgType"
            :disabled="operation==='edit'"
            @change="changeRadio"
          >
            <el-radio
@@ -155,7 +170,7 @@
        <el-form-item label="组织名称" prop="OrgName">
          <el-input v-model="dialogForm.OrgName" style="width: 200px" />
        </el-form-item>
        <el-form-item v-if="dialogFormOrgTypeSelected!=='F'" prop="SupUnit" label="上级单位">
        <el-form-item v-if="dialogForm.OrgType!=='部门'" prop="SupUnit" label="上级单位">
          <el-select
            v-model="dialogForm.SupUnit"
            style="width: 200px"
@@ -186,11 +201,10 @@
import Pagination from '@/components/Pagination'
import { AddUpdateOrganization, DeleteOrganization, OrganizationSearch, PrentOrganization } from '@/api/jcsz'
import { getCookie } from '@/utils/auth'
import { getNewEncodingRules } from '@/utils/global'
const SER_HZ = /^[\u4e00-\u9fa5]+$/
export default {
  name: 'Zzjg',
  name: 'ZZJG',
  components: {
    Pagination
  },
@@ -230,24 +244,23 @@
        rows: 20 // 每页多少条
      },
      OrgTypeArr: [
        { label: '工厂', value: 'F' },
        // { label: '工厂', value: 'F' },
        { label: '部门', value: 'D' },
        { label: '车间', value: 'W' },
        { label: '科室', value: 'K' },
        { label: '生产线', value: 'L' }
        { label: '车间', value: 'W' }
        // { label: '科室', value: 'K' },
        // { label: '生产线', value: 'L' }
      ],
      total: 10,
      tableData: [],
      dialogVisible: false,
      dialogForm: {
        OrgType: '',
        OrgType: '部门',
        OrgCode: '',
        OrgName: '',
        SupUnit: ''// 上级单位
      },
      SupUnitArr: [],
      dialogFormOrgTypeSelected: '',
      operation: '',
      dialogFormRules: {
        OrgType: [
@@ -332,18 +345,8 @@
    },
    // 单选框改变时
    async changeRadio(val) {
      if (val.length > 1) {
        this.OrgTypeArr.forEach(item => {
          if (item.label === val) {
            this.dialogFormOrgTypeSelected = item.value
          }
        })
        this.dialogForm.SupUnit = ''
      } else {
        this.dialogFormOrgTypeSelected = val
      }
      if (this.dialogFormOrgTypeSelected !== 'F') {
        const { data: res } = await PrentOrganization({ orgcode: this.dialogFormOrgTypeSelected })
      if (this.dialogForm.OrgType !== '部门') {
        const { data: res } = await PrentOrganization({ orgcode: this.OrgTypeArr.find(item => item.label === this.dialogForm.OrgType).value })
        this.SupUnitArr = res
      }
    },
@@ -361,17 +364,19 @@
    edit(operation, row) {
      this.operation = operation
      this.dialogVisible = true
      if (row.description === 'F') {
        this.dialogForm.OrgType = '工厂'
      } else if (row.description === 'D') {
      // if (row.description === 'F') {
      //   this.dialogForm.OrgType = '工厂'
      // } else
      if (row.description === 'D') {
        this.dialogForm.OrgType = '部门'
      } else if (row.description === 'W') {
        this.dialogForm.OrgType = '车间'
      } else if (row.description === 'K') {
        this.dialogForm.OrgType = '科室'
      } else if (row.description === 'L') {
        this.dialogForm.OrgType = '生产线'
      }
      // else if (row.description === 'K') {
      //   this.dialogForm.OrgType = '科室'
      // } else if (row.description === 'L') {
      //   this.dialogForm.OrgType = '生产线'
      // }
      this.$nextTick(() => {
        this.changeRadio(this.dialogForm.OrgType)
        this.dialogForm.OrgCode = row.org_code
@@ -398,7 +403,7 @@
    },
    // 对话框关闭事件
    handleClose() {
      this.dialogForm.OrgType = ''
      this.dialogForm.OrgType = '部门'
      this.dialogForm.OrgCode = ''
      this.dialogForm.OrgName = ''
      this.dialogForm.SupUnit = ''
@@ -413,17 +418,18 @@
      this.$refs.dialogForm.validate(valid => {
        if (valid) {
          const data = {
            OrganType: this.dialogFormOrgTypeSelected,
            OrganType: this.dialogForm.OrgType === '部门' ? 'D' : 'W',
            OrganCode: this.dialogForm.OrgCode,
            OrganName: this.dialogForm.OrgName,
            RightCode: '',
            numvalue: '',
            // RightCode: this.operation === 'add' ? getCookie('ruleCode') : '',
            // numvalue: this.operation === 'add' ? this.numvalue : '',
            SupUnit: this.dialogFormOrgTypeSelected === 'F' ? '0' : this.dialogForm.SupUnit,
            SupUnit: this.dialogForm.OrgType === '部门' ? '0' : this.dialogForm.SupUnit,
            OperType: this.operation === 'add' ? 'Add' : 'Update',
            Operator: getCookie('admin')
          }
          AddUpdateOrganization(data).then(res => {
            if (res.code === '200') {
              this.$message.success(this.operation === 'add' ? '添加成功!' : '修改成功!')
@@ -440,7 +446,10 @@
    getHeight() {
      this.$nextTick(() => {
        this.mainHeight = window.innerHeight - 250
        this.tableHeight = this.mainHeight - 100
        this.tableHeight = this.mainHeight - 50
        if (window.innerHeight < 769) {
          this.tableHeight = this.tableHeight - 50
        }
      })
    }
  }
@@ -495,9 +504,9 @@
  color: #606266;
}
//::v-deep .el-dialog__body {
//  padding: 20px 100px !important;
//}
::v-deep .el-dialog__body {
  padding: 20px 100px !important;
}
::v-deep .el-radio__input.is-checked .el-radio__inner {
  background-color: $main_color;