koushanshan 3 tahun lalu
induk
melakukan
2ac0d44d8d

+ 2 - 0
src/api/pages/common/common.js

@@ -143,6 +143,8 @@ export default {
     thmeterRecord:'get_thmeter_record',
     //查询标签打印项目
     getLabelPrintItem: 'get_label_print_item',
+    //获取员工用于报工记录查询
+    getStaffWithWork: 'get_staff_with_work',
   },
   appCommonService: {
     prefix: 'mdm-server/app/mst/common/',

+ 4 - 4
src/components/base/edit-table/edit-table.vue

@@ -1284,10 +1284,10 @@ export default {
       //数值
       if (colItem.type === 'number') {
         // 如果是这里必须是负数,需要自动转为负数
-        let neg = typeof colItem.negative == 'function' ? colItem.negative() : colItem.negative;
-        if (neg && parseFloat(row[field]) > 0) {
-          this.tableData[rowIndex][field] = -1 * parseFloat(row[field]);
-        }
+        // let neg = typeof colItem.negative == 'function' ? colItem.negative() : colItem.negative;
+        // if (neg && parseFloat(row[field]) > 0) {
+        //   this.tableData[rowIndex][field] = -1 * parseFloat(row[field]);
+        // }
         this.calc(field, rowIndex)               //计算
       } else if (colItem.type === 'text') { // 文本
         if (colItem.field != 'remarks' && (colItem.upperFlag == undefined || colItem.upperFlag)) {

+ 17 - 0
src/components/business/select-magnifier/select-magnifier.vue

@@ -1486,6 +1486,23 @@ export default {
           {field: 'workUnit',  width: 'auto'},
         ]
       }
+      // 获取员工用于报工记录查询
+      if (self.type === self.$config.MagnifierType.getStaffWithWork) {
+        self.service = this.$service.commonService
+        self.methodsName = 'getStaffWithWork'
+        self.methodsNameDetail = 'getStaffWithWork'
+        self.searchContent = [
+          {itemCode: 'userId'},
+          {itemCode: 'jobId'},
+        ]
+        self.selectKey = 'staffId'
+        self.selectLabel = 'staffName'
+        self.columns = [
+          {field: 'jobName',width: '200'},
+          {field: 'staffCode', width: '200'},
+          {field: 'staffName', width: '200'},
+        ]
+      }
     }
   },
   mounted() {

+ 72 - 3
src/components/main/components/side-menu/side-menu.vue

@@ -8,7 +8,7 @@
     </div>
     <slot></slot>
     <div v-show="!collapsed" style="width: 100%;text-align: center;margin-bottom: 20px;margin-top: 20px">
-      <Input v-model="menuName" clearable
+      <Input v-model="menuName" clearable @on-enter="selectRoute"
              class="search-menu" :placeholder="$t('inputWords', {'search-name': $t('functionName')})"/>
     </div>
     <Menu ref="menu" v-show="!collapsed" :active-name="activeName" :open-names="openedNames" :accordion="accordion"
@@ -74,6 +74,7 @@
 import SideMenuItem from './side-menu-item.vue'
 import CollapsedMenu from './collapsed-menu.vue'
 import mixin from './mixin'
+import {convertToChildrenMain, handleMenu} from '@/libs/tools/user-tools'
 
 export default {
   name: 'SideMenu',
@@ -128,7 +129,8 @@ export default {
       menuName: '',
       menuListData: [],
       collapsed: false,
-      overTimer: null
+      overTimer: null,
+      functionList : JSON.parse(sessionStorage.getItem('menu')),//获取初始路由
     }
   },
   methods: {
@@ -306,7 +308,74 @@ export default {
     updateOpenName(name) {
       if (name === this.$config.homeName) this.openedNames = []
       else this.openedNames = this.getOpenedNamesByActiveName(name)
-    }
+    },
+    /**
+     *   @desc   : 父级路由赋值
+     *   @date   : 2023/4/12 15:58
+     *   @author : 寇珊珊
+     */
+    setParentMenu(value){
+      //父级
+      let middleRankList = this.functionList.filter(it => it.id === value.parentId)
+      let topLevelList=[]
+      for(let item of middleRankList){
+        //父级的父级
+        topLevelList = this.functionList.filter(it => it.id === item.parentId)
+      }
+      let parentList = middleRankList.concat(topLevelList)
+      return parentList
+    },
+    /**
+     *   @desc   : 判断是否存在子级
+     *   @date   : 2023/4/12 17:07
+     *   @author : 寇珊珊
+     */
+    checkChildren(value) {
+      let list = this.functionList.filter(it => it.parentId === value.id)
+      let arr = []
+      for (let i of  list) {
+        //没有找到返回-1
+        if (i.name.indexOf(this.menuName)== -1) {
+          arr.push(i)
+        }
+      }
+      return arr
+    },
+    /**
+     *   @desc   : 查询路由
+     *   @date   : 2023/4/12 15:26
+     *   @author : 寇珊珊
+     */
+    selectRoute() {
+      if (this.menuName) {
+        let functionList = JSON.parse(sessionStorage.getItem('menu'))
+        if (!functionList) return
+        let list = []
+        for (let i of functionList) {
+          //没有找到返回-1
+          if (i.name.indexOf(this.menuName)!= -1) {
+            //判断是否存在子级
+            let checkChildrenList = this.checkChildren(i)
+            if(checkChildrenList.length==0){
+              list.push(i)
+            }
+            //父级赋值
+            let arr = this.setParentMenu(i)
+            for(let i of arr){
+              if (list.filter(it => it.id == i.id).length == 0) {
+                list.push(i)
+              }
+            }
+          }
+        }
+        if (list && list.length > 0) {
+          list = handleMenu(list);
+          this.menuListData = [...convertToChildrenMain(list)]
+        }
+      } else {
+        this.menuListData = [...this.menuList]
+      }
+    },
   },
   computed: {
     textColor() {

+ 2 - 0
src/config/index.js

@@ -883,6 +883,8 @@ export default {
     thmeterRecordByPage: 'thmeterRecordByPage',
     //报工工种
     workJob: 'workJob',
+    //获取员工用于报工记录查询
+    getStaffWithWork: 'getStaffWithWork',
   },
 
   /**

+ 2 - 0
src/locale/lang/zh-CN.js

@@ -848,6 +848,8 @@ export const columns = {
   wordAmount:'报工金额',
   flgOvertime:'加班标识',
   workJob:'报工工种',
+  flgExchange:'替班标识',
+  workStaff:'员工',
 
   //工位打卡
   replaceStaffName: '替班员工',

+ 6 - 0
src/view/core/user/index.vue

@@ -281,6 +281,12 @@ export default {
       this.getUserRightList(userId).then(res => {
         if (res.code === this.$config.SUCCESS_CODE) {
           this.menuList = res.data;
+          //判断选中用户是否拥有超级管理员权限
+          if(rows[0].roleIds && rows[0].roleIds.length>0){
+            if(rows[0].roleIds.map(map =>map == -1).length>0){
+              //todo  看看这里如何给checked的disbled 的值
+            }
+          }
           this.$Function({title: this.$t('featuresList'), data: this.menuList},
             {
               ok: (data) => {

+ 1 - 1
src/view/mst/mould-check/form.vue

@@ -14,7 +14,7 @@
             <InputPop ref="checkName" v-model="formData.checkName"/>
           </DkFormItem>
           <!--生产时间-开始-->
-          <DkFormItem prop="makeTimeStart">
+          <DkFormItem prop="makeTimeStart" >
             <DatePickerPop ref="makeTimeStart" :readonly="typeData==$config.formMode.edit"
                            v-model="formData.makeTimeStart" type="datetime"/>
           </DkFormItem>

+ 1 - 1
src/view/pdm/carrier-flow-pdt/index.vue

@@ -190,8 +190,8 @@
         this.excute(this.$service.carrieFlowPdtService, this.$service.carrieFlowPdtService.getOn.url, param).then(res => {
           if (res.code === this.$config.SUCCESS_CODE) {
             this.$Message.success(res.message)
-            this.editAddModal = false
             this.formData.productCode = null
+            this.formData.carrierRangeId = null
             this.getDetail(1)
           }
         })

+ 4 - 1
src/view/pdm/data-collection/finishCheck-add.vue

@@ -63,7 +63,7 @@
         v-show="formData.barCode && formData.opnGradeKind&& formData.opnGradeKind != $config.gradeKindType.excellent">
         <DkPanel prop="chooseDefect">
           <!--添加行按钮-->
-          <DkButton slot="content" type="success" @click="addRow" size="small"
+          <DkButton slot="content" type="success" @click="addRow" size="small" :disabled="addRowFlag"
                     style="float: left;position: relative; bottom: 35px;left: 110px;">{{ $v('saveDetail') }}
           </DkButton>
           <!--清空-->
@@ -301,6 +301,7 @@
         labelFormData: {},
         getBarCodeMessage: null,//产品条码信息
         onProdUserCodeFlag: false,//校验打卡标识
+        addRowFlag:true,//保存至明细可用标识
       }
     },
     methods: {
@@ -358,6 +359,7 @@
        */
       onBarCode() {
         if (this.formData.barCode) {
+          this.addRowFlag =false
           let params = {
             ftyId: this.formData.ftyId,
             barCode: this.formData.barCode,
@@ -860,6 +862,7 @@
         if (!this.validDataAddRow()) {
           return
         }
+        this.addRowFlag=true
         this.detailList[0].info = null
         this.detailList[0].blameStaffName = this.$refs['staff-table-select'].$refs.table.getCheckboxRecords().map(map => map.staffName).toString()
         this.detailList[0].prodDefectStaffList = this.$refs['staff-table-select'].$refs.table.getCheckboxRecords()

+ 4 - 1
src/view/pdm/data-collection/halfCheck-add.vue

@@ -63,7 +63,7 @@
         v-show="formData.barCode && formData.opnGradeKind&& formData.opnGradeKind != $config.gradeKindType.excellent">
         <DkPanel prop="chooseDefect">
           <!--添加行按钮-->
-          <DkButton slot="content" type="success" @click="addRow" size="small"
+          <DkButton slot="content" type="success" @click="addRow" size="small" :disabled="addRowFlag"
                     style="float: left;position: relative; bottom: 35px;left: 110px;">{{ $v('saveDetail') }}
           </DkButton>
           <!--清空-->
@@ -301,6 +301,7 @@
         labelFormData: {},
         getBarCodeMessage: null,//产品条码信息
         onProdUserCodeFlag: false,//校验打卡标识
+        addRowFlag:true,//保存至明细可用标识
       }
     },
     methods: {
@@ -358,6 +359,7 @@
        */
       onBarCode() {
         if (this.formData.barCode) {
+          this.addRowFlag=true
           let params = {
             ftyId: this.formData.ftyId,
             barCode: this.formData.barCode,
@@ -860,6 +862,7 @@
         if (!this.validDataAddRow()) {
           return
         }
+        this.addRowFlag=true
         this.detailList[0].info = null
         this.detailList[0].blameStaffName = this.$refs['staff-table-select'].$refs.table.getCheckboxRecords().map(map => map.staffName).toString()
         this.detailList[0].prodDefectStaffList = this.$refs['staff-table-select'].$refs.table.getCheckboxRecords()

+ 4 - 4
src/view/pdm/data-collection/recover.vue

@@ -5,13 +5,13 @@
     <BaseIndexButtonGroup id="BaseIndexButtonGroup">
       <template #left>
         <!--    查询    -->
-        <BaseIndexButton right-button="register-select" ref="search" name="search"></BaseIndexButton>
+        <BaseIndexButton right-button="recover-select" ref="search" name="search"></BaseIndexButton>
         <!--    清空条件    -->
-        <BaseIndexButton right-button="register-clear" ref="clear" name="clear"></BaseIndexButton>
+        <BaseIndexButton right-button="recover-clear" ref="clear" name="clear"></BaseIndexButton>
       </template>
       <template #right>
         <!--   新建     -->
-        <BaseIndexButton right-button="user-add" ref="add" name="add"></BaseIndexButton>
+        <BaseIndexButton right-button="recover-add" ref="add" name="add"></BaseIndexButton>
       </template>
     </BaseIndexButtonGroup>
 
@@ -134,7 +134,7 @@
        */
       getData(params) {
         params.flowNodeId = this.flowNodeId
-        return this.excute(this.$service.produceService, this.$service.produceService.selectByCond.url, params)
+        return this.excute(this.$service.produceService, this.$service.produceService.search.url, params)
       },
 
     },

+ 6 - 3
src/view/pdm/process-node-reverse/add.vue

@@ -8,7 +8,7 @@
     <DkCollapse>
       <DkPanel prop="essentialInformation">
         <!--添加行按钮-->
-        <DkButton slot="content" type="success" @click="addRow" size="small"
+        <DkButton slot="content" type="success" @click="addRow" size="small" :disabled="addRowFlag"
                   style="float: left;position: absolute; top: 9px;left: 120px;">{{ $v('saveDetail') }}
         </DkButton>
         <div style="clear:both"></div>
@@ -57,8 +57,8 @@
           </DkFormItem>
         </DkForm>
       </DkPanel>
-      <!--报损信息-->
-      <DkPanel prop="LossReportingInformation">
+      <!--撤销信息-->
+      <DkPanel prop="reverseMessage">
         <!--  下拉区域  -->
         <DkForm slot="content" ref="formInline" v-model="LossReportingFormData" style="width: 95%">
           <!--撤销原因-->
@@ -142,6 +142,7 @@
           { field: 'productName', type: 'disabled', width: 'auto' },
         ],
         detailList: [],
+        addRowFlag:true,//保存至明细可用标识
       }
     },
     methods: {
@@ -152,6 +153,7 @@
        */
       onBarCode() {
         if (this.formData.barCode) {
+          this.addRowFlag =false
           let param ={
             barCode:this.formData.barCode
           }
@@ -189,6 +191,7 @@
        */
       addRow() {
         if(this.formData.barCode){
+          this.addRowFlag=true
           //校验名称是否重复
           if (!this.validDataRow()) {
             return

+ 3 - 1
src/view/pdm/process-node-reverse/index.vue

@@ -119,7 +119,8 @@
           },
         ],
         ftyId: self.$store.state.user.ftyId,
-        flgUndo: self.$config.reverseFlgUndo.flg
+        flgUndo: self.$config.reverseFlgUndo.flg,
+        flgNodeReverse: self.$config.reverseFlgUndo.flg
       }
     },
     methods: {
@@ -141,6 +142,7 @@
        */
       getData(params) {
         params.flgUndo = this.flgUndo
+        params.flgNodeReverse = this.flgNodeReverse
         return this.excute(this.$service.processNodeReverseService, this.$service.processNodeReverseService.search.url, params)
       },
 

+ 1 - 1
src/view/pdm/prod-check/form.vue

@@ -20,7 +20,7 @@
                              :disabled="typeData==$config.formMode.edit"
                              @ok="chooseProcessNode"></SelectMagnifier>
           </DkFormItem>
-          <!--完成时间-开始-->
+          <!--开始时间-开始-->
           <DkFormItem prop="finishTimeStart"  :data-type="$config.dataType.date">
             <DatePickerPop ref="finishTimeStart" :readonly="typeData==$config.formMode.edit"
                            v-model="formData.finishTimeStart" type="datetime"/>

+ 8 - 14
src/view/pdm/prod-defect/add.vue

@@ -9,7 +9,7 @@
       <!--基本信息-->
       <DkPanel prop="essentialInformation">
         <!--添加行按钮-->
-        <DkButton slot="content" type="success" @click="addRow" size="small"
+        <DkButton slot="content" type="success" @click="addRow" size="small" :disabled="addRowFlag"
                   style="float: left;position: absolute; top: 9px;left: 120px;">{{ $v('saveDetail') }}
         </DkButton>
         <div style="clear:both"></div>
@@ -32,10 +32,6 @@
           <DkFormItem prop="pdtFlowNodeName" :label="$t('reasonPdtFlowNodeName')">
             <InputPop ref="pdtFlowNodeName" v-model="formData.pdtFlowNodeName" :readonly="true"/>
           </DkFormItem>
-          <!--完成时间-->
-          <DkFormItem prop="finishTime">
-            <InputPop ref="finishTime" v-model="formData.finishTime" :readonly="true"/>
-          </DkFormItem>
           <!--所在载具-->
           <DkFormItem prop="carrierCode" :label="$t('reasonCarrierCode')">
             <InputPop ref="carrierCode" v-model="formData.carrierCode" :readonly="true"/>
@@ -90,7 +86,7 @@
             <SelectMagnifier v-model="LossReportingFormData.blameUserId" :display-text="LossReportingFormData.userName"
                              :type="$config.MagnifierType.user"
                              :multiple="false"
-                             :search-info="{userType:2}"
+                             :other-condition="{userType:2}"
                              @ok="chooseBlameUser"></SelectMagnifier>
           </DkFormItem>
           <!--   备注     -->
@@ -160,7 +156,6 @@
           colourName: null,//釉色
           moldingDate: null,//成型日期
           modelCode: null,//产品型号
-          finishTime: null,//完成时间
           pdtFlowNodeName: null,//完成工序
           carrierCode: null,//所在载具
           moldlineName: null,//成型线
@@ -184,11 +179,9 @@
           // 产品条码
           { field: 'barCode', type: 'disabled', width: 'auto' },
           //产品型号
-          { field: 'modelCode', type: 'disabled', width: 'auto' },
+          { field: 'modelCode', title: self.$t('modelMouldCode'), type: 'disabled', width: 'auto' },
           // 成型日期
           { field: 'moldingDate', type: 'disabled', width: 'auto' },
-          //完成时间
-          { field: 'finishTime', type: 'disabled', width: 'auto' },
           //完成工序
           { field: 'pdtFlowNodeName', title: self.$t('reasonPdtFlowNodeName'), type: 'disabled', width: 'auto' },
           //所在载具
@@ -203,6 +196,7 @@
           { field: 'productName', type: 'disabled', width: 'auto' },
         ],
         staffList: [],//责任员工
+        addRowFlag:true,//保存至明细可用标识
       }
     },
     methods: {
@@ -221,7 +215,6 @@
           colourName: null,//釉色
           moldingDate: null,//成型日期
           modelCode: null,//产品型号
-          finishTime: null,//完成时间
           pdtFlowNodeName: null,//完成工序
           carrierCode: null,//所在载具
           moldlineName: null,//成型线
@@ -234,6 +227,7 @@
        */
       onBarCode() {
         if (this.formData.barCode) {
+          this.addRowFlag =false
           let param ={
             barCode:this.formData.barCode
           }
@@ -246,7 +240,6 @@
               this.formData.colourName = res.data.colourName
               this.formData.moldingDate = res.data.moldingDate
               this.formData.modelCode = res.data.modelMouldCode
-              this.formData.finishTime = res.data.finishTime
               this.formData.pdtFlowNodeName = res.data.pdtFlowNodeName
               this.formData.carrierCode = res.data.carrierCode
               this.formData.moldlineName = res.data.moldlineName
@@ -267,6 +260,8 @@
           this.LossReportingFormData.blameUserId = row[0].userId
           this.LossReportingFormData.userName = row[0].userName
           this.getStaff(this.LossReportingFormData.blameUserId)
+        }else{
+          this.staffList=[]
         }
       },
       /**
@@ -334,6 +329,7 @@
        */
       addRow() {
         if (this.formData.barCode) {
+          this.addRowFlag=true
           //校验名称是否重复
           if (!this.validDataRow()) {
             return
@@ -349,7 +345,6 @@
           list[0].colourName = this.formData.colourName//釉色
           list[0].moldingDate = this.formData.moldingDate//成型时间
           list[0].modelCode = this.formData.modelCode//型号编码
-          list[0].finishTime = this.formData.finishTime//完成时间
           list[0].pdtFlowNodeName = this.formData.pdtFlowNodeName//完成工序
           list[0].carrierCode = this.formData.carrierCode//所在载具
           list[0].moldlineName = this.formData.moldlineName//成型线
@@ -448,7 +443,6 @@
         this.formData.moldingDate = null
         this.formData.moldlineName = null
         this.formData.modelCode = null
-        this.formData.finishTime = null
         this.formData.pdtFlowNodeName = null
         this.formData.carrierCode = null
       },

+ 1 - 3
src/view/pdm/prod-defect/index.vue

@@ -39,15 +39,13 @@
         <!--产品编码-->
         <DkTableColumn field="modelCode" :title="$t('productCode')"></DkTableColumn>
         <!--产品名称-->
-        <DkTableColumn field="modelName"></DkTableColumn>
+        <DkTableColumn field="modelName" :title="$t('productName')"></DkTableColumn>
         <!--模具编码-->
         <DkTableColumn field="modelMouldCode" width="200px"></DkTableColumn>
         <!--成型线-->
         <DkTableColumn field="moldlineName"></DkTableColumn>
         <!--成型日期-->
         <DkTableColumn field="moldingDate"></DkTableColumn>
-        <!--完成时间-->
-        <DkTableColumn field="finishTime"></DkTableColumn>
         <!--成型工号-->
         <DkTableColumn field="moldingUserCode" :title="$t('moldingUser')"></DkTableColumn>
         <!--所在载具-->

+ 9 - 4
src/view/pdm/prod-defect/reverse.vue

@@ -8,7 +8,7 @@
     <DkCollapse>
       <DkPanel prop="essentialInformation">
         <!--添加行按钮-->
-        <DkButton slot="content" type="success" @click="addRow" size="small"
+        <DkButton slot="content" type="success" @click="addRow" size="small" :disabled="addRowFlag"
                   style="float: left;position: absolute; top: 9px;left: 120px;">{{ $v('saveDetail') }}
         </DkButton>
         <div style="clear:both"></div>
@@ -53,8 +53,8 @@
           </DkFormItem>
         </DkForm>
       </DkPanel>
-      <!--报损信息-->
-      <DkPanel prop="LossReportingInformation">
+      <!--撤销信息-->
+      <DkPanel prop="reverseMessage">
         <!--  下拉区域  -->
         <DkForm slot="content" ref="formInline" v-model="LossReportingFormData" style="width: 95%">
           <!--撤销原因-->
@@ -134,6 +134,7 @@
           { field: 'remarks', type: 'disabled', width: 'auto' },
         ],
         detailList: [],
+        addRowFlag:true,//保存至明细可用标识
       }
     },
     methods: {
@@ -144,6 +145,7 @@
        */
       onBarCode() {
         if (this.formData.barCode) {
+          this.addRowFlag =false
           let param ={
             barCode:this.formData.barCode
           }
@@ -157,7 +159,8 @@
               this.formData.scrapAgoNodeName = res.data.scrapAgoNodeName//报损工序
               this.formData.pdtDefectName = res.data.productionDefectList[0].pdtDefectName//损柸原因
               this.formData.blameUserCode = res.data.productionDefectList[0].blameUserCode//责任工号
-              this.formData.remarks = res.data.productionDefectList[0].remarks//备注
+              //todo zdl  备注要取产品报损时的备注 2023年4月17日16:50:32
+              this.formData.remarks = res.data.prodRemarks//备注
             } else {
               this.formData.barCode = null
               this.$Message.error(res.message)
@@ -172,6 +175,7 @@
        */
       delSubmitTable(row, rowIndex) {
         this.detailList.splice(rowIndex, 1)
+        this.barCodeList.splice(rowIndex, 1)
       },
       /**
        *   @desc   : 添加行
@@ -180,6 +184,7 @@
        */
       addRow() {
         if (this.formData.barCode) {
+          this.addRowFlag=true
           //校验名称是否重复
           if (!this.validDataRow()) {
             return

+ 56 - 31
src/view/pdm/work-record/index.vue

@@ -33,9 +33,13 @@
                :current-page="pageInfo.currentPage"
                :height="this.tableHeight" primaryKey="prodId"
                :choose-flag="false">
+        <!--生产工号-->
+        <DkTableColumn field="userCode" :title="$t('prodUserCode')"></DkTableColumn>
         <!--报工名称-->
-        <DkTableColumn field="jobName" :title="$t('workJobName')" type="link"
+        <DkTableColumn field="jobName" :title="$t('workJob')" type="link"
                        @on-link="handleLink(Object.assign($event,{button:'edit'}))"></DkTableColumn>
+        <!--员工编码-->
+        <DkTableColumn field="staffCode" ></DkTableColumn>
         <!--报工类型-->
         <DkTableColumn field="workKindName" :title="$t('workKind')"></DkTableColumn>
         <!--报工数量-->
@@ -50,6 +54,8 @@
         <DkTableColumn field="productCode"></DkTableColumn>
         <!--产品名称-->
         <DkTableColumn field="productName"></DkTableColumn>
+        <!--替班标识-->
+        <DkTableColumn field="flgExchange" type="switch" :switch-disabled="true"></DkTableColumn>
         <!--加班标识-->
         <DkTableColumn field="flgOvertime" type="switch" :switch-disabled="true"></DkTableColumn>
         <!--有效标识-->
@@ -85,6 +91,27 @@
                            :disabled="modalParams.button==$config.formMode.edit"
                            @ok="chooseJob"></SelectMagnifier>
         </DkFormItem>
+        <!--替班标识-->
+        <DkFormItem prop="flgExchange" >
+          <DkSwitch v-model="formData.flgExchange" :clearable="false"></DkSwitch>
+        </DkFormItem>
+        <!--员工-->
+        {{formData.staffId}}
+        <DkFormItem :required="true" prop="staffId" :label="$t('workStaff')" :data-type="this.$config.dataType.number">
+          <SelectMagnifier v-model="formData.staffId" :display-text="formData.staffName" v-show="!formData.flgExchange"
+                           :type="$config.MagnifierType.getStaffWithWork"
+                           :multiple="false"
+                           :other-condition="{jobId:formData.jobId,userId:formData.userId}"
+                           :disabled="((!formData.userId || !formData.jobId) && modalParams.button==$config.formMode.add)
+                           || modalParams.button==$config.formMode.edit"
+                           @ok="onStaff"></SelectMagnifier>
+          <SelectMagnifier v-model="formData.staffId" :display-text="formData.staffName" v-show="formData.flgExchange"
+                           :type="$config.MagnifierType.staff"
+                           :multiple="false"
+                           :disabled="((!formData.userId || !formData.jobId) && modalParams.button==$config.formMode.add)
+                           || modalParams.button==$config.formMode.edit"
+                           @ok="onStaff"></SelectMagnifier>
+        </DkFormItem>
         <!--选择产品-->
         <DkFormItem prop="pdtModelId" :label="$t('pdtModelName')">
           <SelectMagnifier v-model="formData.pdtModelId"
@@ -94,16 +121,12 @@
                            @ok="chooseMould"></SelectMagnifier>
         </DkFormItem>
         <!--报工类型-->
-        <DkFormItem prop="workKind">
-          <SelectPop v-model="formData.workKind" ref="workKind" :multiple="false"
-                     :options="workKindList"
-                     labelKey="kindName"
-                     valueKey="kindCode">
-          </SelectPop>
+        <DkFormItem prop="workKindName" :label="$t('workKind')">
+          <InputPop v-model="formData.workKindName" ref="workKindName" :readonly="true"/>
         </DkFormItem>
         <!--报工单位-->
         <DkFormItem prop="workUnit">
-          <InputPop v-model="formData.workUnit" ref="workUnit"/>
+          <InputPop v-model="formData.workUnit" ref="workUnit" :readonly="true"/>
         </DkFormItem>
         <!--报工数量-->
         <DkFormItem prop="workQuantity" v-if="formData.workKind ==$config.workKind.jiJian">
@@ -115,7 +138,7 @@
           <InputNumberPop v-model="formData.workTimes"/>
         </DkFormItem>
         <!--加班标识-->
-        <DkFormItem prop="flgOvertime">
+        <DkFormItem prop="flgOvertime" v-if="formData.workKind ==$config.workKind.jiShi">
           <DkSwitch v-model="formData.flgOvertime" :clearable="false" @on-change="flgOvertimeHandleChange"></DkSwitch>
         </DkFormItem>
         <!--报工金额-->
@@ -143,9 +166,14 @@
       return {
         searchContent: [
           {
+            //生产工号
+            itemCode: 'userCode',
+            itemName: 'prodUserCode',
+          },
+          {
             //报工名称
             itemCode: 'jobName',
-            itemName: 'workJobName',
+            itemName: 'workJob',
           },
           {
             //计件类型
@@ -179,15 +207,18 @@
           jobName: null,//工种
           pdtModelId: null,//产品型号id
           productCode: null,//产品型号
-          workKind: null,//报工类型
+          workKind: null,//报工类型(保存用)
+          workKindName: null,//报工类型
           workUnit: null,//报工单位
           workQuantity: null,//报工数量
           workTimes: null,//报工时间
           flgOvertime: false,//加班标识
+          flgExchange:false,//替班标识
           wordAmount: null,//报工金额
           remarks: null,
+          staffId:null,//员工id
+          staffName:null//员工名称
         },
-        workKindList: [],//报工类型集合
         productList: [],//产品集合
       }
     },
@@ -205,21 +236,6 @@
         }
       },
       /**
-       *   @desc   : 获取报工类型
-       *   @date   : 2023/4/10 11:37
-       *   @author : 寇珊珊
-       */
-      getWorkKind() {
-        let params = {
-          kindType: this.$config.workKind.code,
-        }
-        this.excute(this.$service.commonService, this.$service.commonService.getDataKind, params, false).then(res => {//调用api查询方法
-          if (res.code === this.$config.SUCCESS_CODE) {
-            this.workKindList = res.data
-          }
-        })
-      },
-      /**
        *   @desc   : 生产工号失焦事件
        *   @date   : 2023/4/10 15:03
        *   @author : 寇珊珊
@@ -252,10 +268,21 @@
         if (rows && rows.length > 0) {
           this.formData.jobName = rows[0].jobName
           this.formData.workKind = rows[0].workKind
+          this.formData.workKindName = rows[0].workKindName
           this.formData.workUnit = rows[0].workUnit
         }
       },
       /**
+       *   @desc   : 选择员工
+       *   @date   : 2023/4/17 14:44
+       *   @author : 寇珊珊
+       */
+      onStaff(rows){
+        if (rows && rows.length > 0) {
+          this.formData.staffName = rows[0].staffName
+        }
+      },
+      /**
        *   @desc   : 选择型号
        *   @date   : 2023/3/23 13:36
        *   @author : 寇珊珊
@@ -293,6 +320,8 @@
           workTimes: null,//报工时间
           flgOvertime: false,//加班标识
           wordAmount: null,//报工金额
+          staffId:null,//员工ID
+          staffName:null,//员工名称
           remarks: null,
         }
       },
@@ -324,8 +353,6 @@
         this.modalParams = {
           button: this.$config.formMode.add,
         }
-        //获取报工类型
-        this.getWorkKind()
         this.editAddModal = true
       },
       /**
@@ -339,8 +366,6 @@
           closeFlag: true
         }
         this.modalTitle = this.setTitle(this.$config.formMode.edit, 'workRecord')
-        //获取报工类型
-        this.getWorkKind()
         //根据id获取
         this.detail(rows[0].recordId)
         this.editAddModal = true