value
2024-05-22 bc2023d47d12934448b343221dac69fecde20b9f
人员明细功能修改
已修改6个文件
206 ■■■■■ 文件已修改
src/assets/api/controller.js 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/do/b1-inspect-order-plan/Inspection.vue 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/view/a6-personnel-detail.vue 155 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/view/b1-inspect-order-plan.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/view/b1-inspection-order.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
static/js/menu.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/api/controller.js
@@ -233,7 +233,9 @@
  selectDepartment: "/department/selectDepartment", //人员架构树
  addDepartment: "/department/addDepartment", //添加部门
  delDepartment: "/department/delDepartment", //删除部门
  showUserById: "/department/showUserById", //根据选择的树展示相关的人员
  selectDepartmentLim: "/department/selectDepartmentLim", //获取部门树
  addDepartmentLims: "/department/addDepartmentLims", //添加部门
  delDepartmentLims: "/department/delDepartmentLims", //删除部门
}
const report = {
src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -241,9 +241,10 @@
                    <el-input v-else-if="getInspectionValueType(n.i) == 2" class="table_input" type="textarea"
                      v-model="n.v.v"
                      :disabled="getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')"
                      @change="saveInsContext()" />
                      @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)" />
                    <el-select v-else-if="getInspectionValueType(n.i) == 5" class="table_input" v-model="n.v.v"
                      :disabled="state>1" @visible-change="e=>getDic(e,n.i)" @change="saveInsContext()">
                      :disabled="state>1" @visible-change="e=>getDic(e,n.i)"
                       @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)">
                      <el-option v-for="(e, i) in enumList" :key="i" :label="e.label" :value="e.value"></el-option>
                    </el-select>
                    <span :style="`font-family:${n.v.ff} !important;`"
@@ -272,14 +273,14 @@
                    <span :style="`font-family:${n.v.ff} !important;`">{{getTell(n.i)}}</span>
                  </template>
                  <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='最终值' && state==1">
                    <el-input class="table_input" type="textarea"
                    <!-- <el-input class="table_input" type="textarea"
                      :disabled="getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')"
                      v-model="n.v.v" @change="saveInsContext()" v-if="getInspectionValueType(n.i) == 2"></el-input>
                    <el-select v-else-if="getInspectionValueType(n.i) == 5" class="table_input" v-model="n.v.v"
                      :disabled="state>1" @visible-change="e=>getDic(e,n.i)" @change="saveInsContext()">
                      <el-option v-for="(e, i) in enumList" :key="i" :label="e.label" :value="e.value"></el-option>
                    </el-select>
                    <span v-else :style="`font-family:${n.v.ff} !important;`">{{n.v.v}}</span>
                    </el-select> -->
                    <span :style="`font-family:${n.v.ff} !important;`">{{n.v.v}}</span>
                  </template>
                  <span v-else :style="`font-family:${n.v.ff} !important;`">{{n.v.v}}</span>
                </div>
@@ -843,7 +844,6 @@
                if (b[0].r == a.r) {
                  b.forEach(c => {
                    if (c.c == a.c) {
                      if (!isNaN(parseFloat(c.v.v))) {
                        var tableCode = ''
                        for (var d in this.comparisonList) {
                          if (c.c == this.comparisonList[d].value) {
@@ -851,7 +851,12 @@
                            break
                          }
                        }
                      if(this.getInspectionValueType(item.i)==1){
                        if (!isNaN(parseFloat(c.v.v))) {
                        comValue[(tableCode + (c.r + 1))] = parseFloat(c.v.v)
                        }
                      }else{
                        comValue[(tableCode + (c.r + 1))] = c.v.v
                      }
                    }
                  })
@@ -865,24 +870,22 @@
                let comp = ask.map((m, i) => {
                  if (m.includes('=')) {
                    return res == m.split('=')[1]
                  }
                  if (m.includes('≥')) {
                  } else if (m.includes('≥')) {
                    return res >= m.split('≥')[1]
                  }
                  if (m.includes('≤')) {
                  }else if (m.includes('≤')) {
                    return res <= m.split('≤')[1]
                  }
                  if (m.includes('<')) {
                  }else if (m.includes('<')) {
                    return res < m.split('<')[1]
                  }
                  if (m.includes('>')) {
                  }else if (m.includes('>')) {
                    return res > m.split('>')[1]
                  }
                })
                if(this.getInspectionValueType(item.i)==1){
                if (comp.every(m => m)) {
                  item.v.v = 1
                } else {
                  item.v.v = 0
                  }
                }
                this.saveInsContext()
              }
@@ -922,14 +925,18 @@
                  valueList.forEach(b => {
                    str = str.replace(b.name, b.value)
                  })
                  if (item.v.f.includes('/') > -1) {
                  if (item.v.f.includes('/')) {
                    if (Object.getOwnPropertyNames(comValue).length == valueList.length) {
                      comResult = eval(str)
                    } else {
                      comResult = ''
                    }
                  } else {
                    if(this.getInspectionValueType(item.i)==1){
                    comResult = eval(str)
                    }else{
                      comResult = str
                    }
                  }
                  break;
              }
@@ -937,8 +944,12 @@
                if (a[0].r == item.r && comResult != '') {
                  for (var b in a) {
                    if (a[b].c == item.c) {
                      try{
                      let val = parseFloat(comResult.toFixed(3))
                      a[b].v.v = isNaN(val) ? '' : val
                      }catch(e){
                        a[b].v.v = comResult
                      }
                      break
                    }
                  }
src/components/view/a6-personnel-detail.vue
@@ -10,6 +10,7 @@
        background-color: white;
        padding: 15px;
    }
  .el-tree{
    height: calc(100% - 37px);
    overflow-y: auto;
@@ -56,6 +57,7 @@
        user-select: none;
    overflow-y: auto;
    }
  .sort{
    width: 80% !important;
    overflow: hidden;
@@ -112,8 +114,7 @@
            <el-tree :data="list" ref="tree" :props="{ children: 'children', label: 'name' }" node-key="id"
                :filter-node-method="filterNode" @node-click="handleNodeClick" highlight-current @node-expand="nodeOpen"
                @node-collapse="nodeClose" v-loading="treeLoad" :expand-on-click-node="false"
                :default-expanded-keys="expandedKeys"
        :default-checked-keys="[1]">
        :default-expanded-keys="expandedKeys" :default-checked-keys="[1]">
                <div class="custom-tree-node" slot-scope="{ node, data }">
                    <el-row style="width: 100%;">
                        <el-col :span="21" :class="{sort:node.level>3}">
@@ -137,17 +138,19 @@
          <div class="search">
            <div class="search_thing">
              <div class="search_label">人员名称:</div>
              <div class="search_input"><el-input size="small" placeholder="请输入" clearable v-model="componentData.entity.name"></el-input></div>
              <div class="search_input">
                <el-input size="small" placeholder="请输入" clearable v-model="componentData.entity.name"
                  @keyup.enter.native="refreshTable()" @clear="refreshTable"></el-input>
            </div>
            <div class="search_thing" style="padding-left: 30px;width: 120px;">
              <el-button size="small" @click="refresh()">重 置</el-button>
                <el-button size="small" type="primary" @click="refreshTable()">查 询</el-button>
              <div class="search_label">
                <el-button type="primary" size="small" @click="selectUserDia = true">添加</el-button>
              </div>
            </div>
          </div>
                </el-col>
            </el-row>
            <el-row class="standard_table" v-loading="tableLoad">
                <ValueTable ref="ValueTable" :url="$api.department.showUserById" :componentData="componentData" />
        <ValueTable ref="ValueTable" :url="$api.user.selectUserList" :componentData="componentData" />
            </el-row>
        </div>
        <el-dialog title="架构新增" :visible.sync="addDia" width="400px">
@@ -166,6 +169,15 @@
                <el-button type="primary" @click="addStandardTree" :loading="addLoad">确 定</el-button>
            </span>
        </el-dialog>
    <el-dialog title="选择用户" :visible.sync="selectUserDia" width="70%">
        <div class="body" style="height: 60vh;" v-if="selectUserDia">
            <ValueTable ref="ValueTable2" :url="$api.user.selectUserList" :componentData="componentData2" />
        </div>
        <span slot="footer" class="dialog-footer">
            <el-button @click="selectUserDia = false">取 消</el-button>
            <el-button type="primary" @click="selectUser">确 定</el-button>
        </span>
    </el-dialog>
    </div>
</template>
@@ -177,41 +189,7 @@
        },
        data() {
            return {
        datathirdParty:[{
          id: 1,
          label: '一级 1',
          children: [{
            id: 4,
            label: '二级 1-1',
            children: [{
              id: 9,
              label: '三级 1-1-1'
            }, {
              id: 10,
              label: '三级 1-1-2'
            }]
          }]
        }, {
          id: 2,
          label: '一级 2',
          children: [{
            id: 5,
            label: '二级 2-1'
          }, {
            id: 6,
            label: '二级 2-2'
          }]
        }, {
          id: 3,
          label: '一级 3',
          children: [{
            id: 7,
            label: '二级 3-1'
          }, {
            id: 8,
            label: '二级 3-2'
          }]
        }],
        datathirdParty: [],
        defaultProps: {
          children: 'children',
          label: 'label'
@@ -229,12 +207,11 @@
                treeLoad: false,
                addPower: false,
                tableLoad: false,
                delStandardProduct: false,
                addStandardProduct: false,
                componentData: {
                    entity: {
            name:'',
            departId:'',
            departLimsId: '',
                        orderBy: {
                            field: 'id',
                            order: 'asc'
@@ -245,12 +222,50 @@
                    showSelect: false,
                    select: false,
                    do: [],
          isPage: false,
                    tagField: {
            state: {
              select: [{
                value: 1,
                type: 'success',
                label: '启用'
              }, {
                value: 0,
                type: 'danger',
                label: '停用'
              }]
            }
                    },
                    selectField: {},
                },
                expandedKeys: []
        expandedKeys: [],
        selectUserDia: false,
        componentData2: {
            entity: {
                isCustom: 0,
                orderBy: {
                    field: 'id',
                    order: 'asc'
                }
            },
            isIndex: true,
            showSelect: true,
            select: false,
            do: [],
            tagField: {
                state: {
                    select: [{
                        value: 1,
                        type: 'success',
                        label: '启用'
                    }, {
                        value: 0,
                        type: 'danger',
                        label: '停用'
                    }]
                }
            },
            selectField: {},
        }
            }
        },
        mounted() {
@@ -258,7 +273,6 @@
            this.selectTreeList()
        },
        methods: {
            filterNode(value, data) {
                if (!value) return true;
                return data.name.indexOf(value) !== -1;
@@ -285,7 +299,7 @@
                }
                this.selectTree = data2.replace(' - ', '')
        this.addOb.fatherId = val.id;
        this.componentData.entity.departId = val.id;
        this.componentData.entity.departLimsId = val.id;
        this.refreshTable()
            },
            getNodeParent(val) {
@@ -299,7 +313,7 @@
                    type: "error"
                }).then(() => {
                    this.treeLoad = true
                    this.$axios.post(this.$api.department.delDepartment, {
          this.$axios.post(this.$api.department.delDepartmentLims, {
                        id: data.id
                    }).then(res => {
                        if (res.code == 201) return
@@ -316,18 +330,16 @@
            },
            selectTreeList() {
                this.treeLoad = true
                this.$axios.get(this.$api.department.selectDepartment).then(res => {
        this.$axios.get(this.$api.department.selectDepartmentLim).then(res => {
                    this.list = res.data
                    this.list.forEach(a => {
                        a.children.forEach(b => {
                            b.children.forEach(c => {
                                this.expandedKeys.push(c.id)
                            })
              this.expandedKeys.push(b.id)
                        })
                    })
                    this.treeLoad = false
          this.componentData.entity.departId = this.list[0].id;
          this.selectTree = '全部'
          this.componentData.entity.departLimsId = this.list[0].id;
          this.selectTree = this.list[0].name
          this.refreshTable()
                })
            },
@@ -337,7 +349,7 @@
                    return
                }
                this.addLoad = true
                this.$axios.post(this.$api.department.addDepartment, this.addOb, {
        this.$axios.post(this.$api.department.addDepartmentLims, this.addOb, {
                    headers: {
                        'Content-Type': 'application/json'
                    }
@@ -367,38 +379,35 @@
            getPower() {
                let power = JSON.parse(sessionStorage.getItem('power'))
                let add = false
                let upStandardProduct = false
                let delStandardMethod = false
                let delStandardProduct = false
                let addStandardProduct = false
                let delStandardTree = false
                for (var i = 0; i < power.length; i++) {
                    if (power[i].menuMethod == 'addStandardTree') {
          if (power[i].menuMethod == 'addDepartmentLims') {
                        add = true
                    }
                    if (power[i].menuMethod == 'upStandardProductList') {
                        upStandardProduct = true
                    }
                    if (power[i].menuMethod == 'delStandardMethodByFLSSM') {
                        delStandardMethod = true
                    }
                    if (power[i].menuMethod == 'delStandardProductByIds') {
                        delStandardProduct = true
                    }
                    if (power[i].menuMethod == 'addStandardProduct') {
                        addStandardProduct = true
                    }
                    if (power[i].menuMethod == 'delStandardTree') {
          if (power[i].menuMethod == 'delDepartmentLims') {
                        delStandardTree = true
                    }
                }
                this.addPower = add
                this.upStandardProduct = upStandardProduct
                this.delStandardMethod = delStandardMethod
                this.delStandardProduct = delStandardProduct
                this.addStandardProduct = addStandardProduct
                this.delStandardTree = delStandardTree
            },
      selectUser() {
          let selects = this.$refs.ValueTable2.multipleSelection
          if (selects.length == 0) {
              this.$message.error('未选择数据')
              return
          }
          delete selects['orderBy']
          delete selects['updateUser']
          delete selects['updateTime']
          this.user = selects
          this.selectUserDia = false
      }
        }
    }
</script>
src/components/view/b1-inspect-order-plan.vue
@@ -170,7 +170,7 @@
            <div class="search_thing">
        <div class="search_label" style="width:90px">交接人员:</div>
        <div class="search_input">
          <el-select v-model="connectPerson" placeholder="请选择" style="width: 100%;">
          <el-select v-model="connectPerson" placeholder="请选择" style="width: 100%;" filterable>
            <el-option
              v-for="item in personList"
              :key="item.value"
src/components/view/b1-inspection-order.vue
@@ -181,7 +181,7 @@
                        <el-col class="search_thing" style="width: 95%;">
                            <div class="search_label"><span class="required-span" v-show="distributeData.type==2">* </span>指派人员:</div>
                            <div class="search_input">
                                <el-select v-model="distributeData.userId" placeholder="请选择" size="small" style="width: 100%;" clearable>
                                <el-select v-model="distributeData.userId" placeholder="请选择" size="small" style="width: 100%;" clearable filterable>
                                    <el-option v-for="(item,i) in personList" :key="i" :label="item.label" :value="item.value">
                                    </el-option>
                                </el-select>
static/js/menu.js
@@ -298,7 +298,7 @@
            i: "font icon-erjidaohang",
            u: "a6-personnel-detail",
            g: "6.2 人员",
            p: "selectUserList"
            p: "selectDepartmentLim"
        }, {
            v: "人员培训",
            i: "font icon-erjidaohang",