koushanshan пре 3 година
родитељ
комит
392ca21b4d

+ 2 - 0
src/api/pages/pdm/collect.js

@@ -25,6 +25,8 @@ export default {
     checkBarCodeNodeUndo:'/check_bar_code_node_undo',
     checkBarCodeNodeUndo:'/check_bar_code_node_undo',
     //保存产品报损
     //保存产品报损
     scrap:'/scrap',
     scrap:'/scrap',
+    //产品报损验证条码
+    checkBarCodeScrap:'/check_bar_code_scrap',
     //产品报损撤销验证条码
     //产品报损撤销验证条码
     checkBarCodeScrapUndo:'/check_bar_code_scrap_undo',
     checkBarCodeScrapUndo:'/check_bar_code_scrap_undo',
     //产品报损撤销
     //产品报损撤销

+ 16 - 0
src/api/pages/pdm/work-record.js

@@ -0,0 +1,16 @@
+/**
+ *   @desc   : 报工记录
+ *   @date   : 2023/4/10 16:10
+ *   @author : 寇珊珊
+ */
+export default {
+  workRecordService:{
+    prefix:'/mdm-server/pdm/work_record/',
+    //查询
+    search:{key:'/search',url:'/list_by'},
+  }
+}
+
+
+
+

+ 1 - 0
src/components/base/edit-table/edit-table.vue

@@ -1282,6 +1282,7 @@ export default {
       //数值
       //数值
       if (colItem.type === 'number') {
       if (colItem.type === 'number') {
         // 如果是这里必须是负数,需要自动转为负数
         // 如果是这里必须是负数,需要自动转为负数
+        console.log(111111111,colItem,colItem.negative,2222222222, parseFloat(row[field]))
         let neg = typeof colItem.negative == 'function' ? colItem.negative() : colItem.negative;
         let neg = typeof colItem.negative == 'function' ? colItem.negative() : colItem.negative;
         if (neg && parseFloat(row[field]) > 0) {
         if (neg && parseFloat(row[field]) > 0) {
           this.tableData[rowIndex][field] = -1 * parseFloat(row[field]);
           this.tableData[rowIndex][field] = -1 * parseFloat(row[field]);

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

@@ -1464,6 +1464,25 @@ export default {
           {field: 'modelKindName', width: '150'},
           {field: 'modelKindName', width: '150'},
         ]
         ]
       }
       }
+      // 工种
+      else if (self.type === self.$config.MagnifierType.workJob) {
+        self.service = this.$service.commonService
+        self.methodsName = 'getJobByPage'
+        self.methodsNameDetail = 'getJobByPage'
+        self.searchContent = [
+          {
+            valueFormat: {code: 'jobName'},
+            itemName: 'blameJobName',
+          },
+        ]
+        self.selectKey = 'jobId'
+        self.selectLabel = 'jobName'
+        self.columns = [
+          {field: 'jobName', title:this.$t('blameJobName'), width: 'auto'},
+          {field: 'workKindName', title:this.$t('workKind'), width: 'auto'},
+          {field: 'workUnit',  width: 'auto'},
+        ]
+      }
     }
     }
   },
   },
   mounted() {
   mounted() {

+ 26 - 0
src/config/index.js

@@ -291,6 +291,7 @@ export default {
   processTypeException: {
   processTypeException: {
     CHKCAR007: 'CHK-CAR-007',
     CHKCAR007: 'CHK-CAR-007',
     CHKCAR008: 'CHK-UNS-008',
     CHKCAR008: 'CHK-UNS-008',
+    CHKCAR009: 'CHK-UNS-009',
   },
   },
 
 
   /**
   /**
@@ -871,6 +872,8 @@ export default {
     getModelMouldByPage:'getModelMouldByPage',
     getModelMouldByPage:'getModelMouldByPage',
     //湿温度计
     //湿温度计
     thmeterRecordByPage: 'thmeterRecordByPage',
     thmeterRecordByPage: 'thmeterRecordByPage',
+    //报工工种
+    workJob: 'workJob',
   },
   },
 
 
   /**
   /**
@@ -1667,6 +1670,29 @@ export default {
   },
   },
 
 
   /**
   /**
+   *   @desc   : 报工状态
+   *   @date   : 2023/4/10 11:39
+   *   @author : 寇珊珊
+   */
+  workKind: {
+    code: '报工类型',
+    jiShi: '报工类型-计时',
+    jiJian: '报工类型-计件',
+  },
+
+  /**
+   *   @desc   : 报工记录查询保证状态
+   *   @date   : 2023/4/11 13:49
+   *   @author : 寇珊珊
+   */
+  workKindSearchEnum: {
+    jiJian: '计件',
+    jiShi: '计时',
+
+  },
+
+
+  /**
    * @desc   : 成线状态
    * @desc   : 成线状态
    * @author : 洪旭东
    * @author : 洪旭东
    * @date   : 2023-02-07 15:25
    * @date   : 2023-02-07 15:25

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

@@ -366,6 +366,7 @@ export const columns = {
   chooseDefect: '选择缺陷',
   chooseDefect: '选择缺陷',
   saveDetail: '保存至明细',
   saveDetail: '保存至明细',
   clearDefect: '清空',
   clearDefect: '清空',
+  userMessage:'员工信息',
 
 
   categoryCode: '分类编码',
   categoryCode: '分类编码',
   categoryName: '分类名称',
   categoryName: '分类名称',
@@ -826,6 +827,16 @@ export const columns = {
   humidity: '湿度(%RH)',
   humidity: '湿度(%RH)',
   thmeterRecord: '湿温度计',
   thmeterRecord: '湿温度计',
 
 
+  //报工
+  workRecord:'报工记录',
+  workKind:'计件类型',
+  workUnit:'计件单位',
+  workJobName:'报工名称',
+  workQuantity:'报工数量',
+  workTimes:'报工工时',
+  wordAmount:'报工金额',
+  flgOvertime:'加班标识',
+
   //工位打卡
   //工位打卡
   replaceStaffName: '替班员工',
   replaceStaffName: '替班员工',
   saveOffWork: '下班(F)',
   saveOffWork: '下班(F)',
@@ -1027,6 +1038,8 @@ export const messages = {
   W_133: '请选择至少一条责任员工',
   W_133: '请选择至少一条责任员工',
   W_134: '移动端报表不能预览',
   W_134: '移动端报表不能预览',
   W_135: '暂存报表不能预览',
   W_135: '暂存报表不能预览',
+  W_136: '当前暂无此生产工号,请重新输入',
+  W_137: '请保存至少一条明细',
   E_001: '系统出现异常,请联系管理员。',
   E_001: '系统出现异常,请联系管理员。',
   Q_001: '当前页面的数据有过更改,请确认需要保存吗?',
   Q_001: '当前页面的数据有过更改,请确认需要保存吗?',
   Q_002: '确定要进行{param}操作吗?',
   Q_002: '确定要进行{param}操作吗?',

+ 180 - 143
src/view/core/job/index.vue

@@ -33,7 +33,8 @@
                primaryKey="jobId"
                primaryKey="jobId"
                :height="tableHeight"
                :height="tableHeight"
                @pageChange="pageSizeChange">
                @pageChange="pageSizeChange">
-        <DkTableColumn field="jobName" type="link" @on-link="handleLink(Object.assign($event,{button:'edit'}))"></DkTableColumn>
+        <DkTableColumn field="jobName" type="link"
+                       @on-link="handleLink(Object.assign($event,{button:'edit'}))"></DkTableColumn>
         <DkTableColumn field="displayNo" sum></DkTableColumn>
         <DkTableColumn field="displayNo" sum></DkTableColumn>
         <DkTableColumn field="flgValid" type="switch" @on-switch-change="onSwitchChange"
         <DkTableColumn field="flgValid" type="switch" @on-switch-change="onSwitchChange"
                        :switch-disabled="false"></DkTableColumn>
                        :switch-disabled="false"></DkTableColumn>
@@ -52,11 +53,23 @@
       <DkForm ref="formInline" v-model="formData" :col-count="1">
       <DkForm ref="formInline" v-model="formData" :col-count="1">
         <!--工种名称-->
         <!--工种名称-->
         <DkFormItem prop="jobName" :required="true">
         <DkFormItem prop="jobName" :required="true">
-          <InputPop v-model="formData.jobName" ref="jobName" />
+          <InputPop v-model="formData.jobName" ref="jobName"/>
         </DkFormItem>
         </DkFormItem>
         <!--显示顺序-->
         <!--显示顺序-->
         <DkFormItem prop="displayNo" :required="true" :data-type="$config.dataType.number">
         <DkFormItem prop="displayNo" :required="true" :data-type="$config.dataType.number">
-          <InputNumberPop v-model="formData.displayNo" :digits=0 :min="0" />
+          <InputNumberPop v-model="formData.displayNo" :digits=0 :min="0"/>
+        </DkFormItem>
+        <!--报工类型-->
+        <DkFormItem prop="workKind">
+          <SelectPop v-model="formData.workKind" ref="workKind" :multiple="false"
+                     :options="workKindList"
+                     labelKey="kindName"
+                     valueKey="kindCode">
+          </SelectPop>
+        </DkFormItem>
+        <!--报工单位-->
+        <DkFormItem prop="workUnit">
+          <InputPop v-model="formData.workUnit" ref="workUnit"/>
         </DkFormItem>
         </DkFormItem>
         <!--    备注    -->
         <!--    备注    -->
         <DkFormItem prop="remarks">
         <DkFormItem prop="remarks">
@@ -68,154 +81,178 @@
 </template>
 </template>
 
 
 <script>
 <script>
-import {indexMixin} from '@/mixins'
-import qs from 'qs';
-import {request} from "@/api/base";
+  import { indexMixin } from '@/mixins'
+  import qs from 'qs'
+  import { request } from '@/api/base'
 
 
-export default {
-  name: 'job',
-  mixins: [indexMixin],
-  data() {
-    let self = this
-    return {
-      editAddModal: false,
-      modalTitle: '',//新建编辑弹窗名称
-      submitType: '',//新建编辑提交类型
-      formData: {
-        ftyId: 0,
-        jobName: '',
-        displayNo: 0,
-        remarks: ''
-      },
-      searchContent: [
-        {
-          itemCode: 'jobName',
+  export default {
+    name: 'job',
+    mixins: [indexMixin],
+    data() {
+      let self = this
+      return {
+        editAddModal: false,
+        modalTitle: '',//新建编辑弹窗名称
+        submitType: '',//新建编辑提交类型
+        formData: {
+          ftyId: 0,
+          jobName: '',
+          displayNo: 0,
+          remarks: '',
+          workKind: null,//报工类型
+          workUnit: null//报工单位
         },
         },
-        self.$config.flgValidSearch // 有效标识
-      ]
-    }
-  },
-  methods: {
-    // region  一览界面操作
-    /**
-     * @desc   : switch停用启用
-     * @author : 沈博
-     * @date   : 2022年12月13日15:38:58
-     */
-    onSwitchChange(param) {
-      if (param.flgValid) {
-        this.excuteNoParam(this.$service.jobService, this.$service.jobService.enable, [param.jobId])
-      } else {
-        this.excuteNoParam(this.$service.jobService, this.$service.jobService.disable, [param.jobId])
+        searchContent: [
+          {
+            itemCode: 'jobName',
+          },
+          self.$config.flgValidSearch // 有效标识
+        ],
+        workKindList: [],//报工类型
       }
       }
     },
     },
-    /**
-     * @desc   : 获取数据
-     * @author : 周兴
-     * @date   : 2022年12月13日15:04:17
-     */
-    getData(params) {
-      // 查询数据
-      return this.excute(this.$service.jobService, this.$service.jobService.selectByCond, params);
-    },
-    // endregion
+    methods: {
+      /**
+       *   @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
+          }
+        })
+      },
+      // region  一览界面操作
+      /**
+       * @desc   : switch停用启用
+       * @author : 沈博
+       * @date   : 2022年12月13日15:38:58
+       */
+      onSwitchChange(param) {
+        if (param.flgValid) {
+          this.excuteNoParam(this.$service.jobService, this.$service.jobService.enable, [param.jobId])
+        } else {
+          this.excuteNoParam(this.$service.jobService, this.$service.jobService.disable, [param.jobId])
+        }
+      },
+      /**
+       * @desc   : 获取数据
+       * @author : 周兴
+       * @date   : 2022年12月13日15:04:17
+       */
+      getData(params) {
+        // 查询数据
+        return this.excute(this.$service.jobService, this.$service.jobService.selectByCond, params)
+      },
+      // endregion
 
 
-    // region 新建/编辑
-    /**
-     * @desc   : 新建按钮点击事件
-     * @author : 沈博
-     * @date   : 2022年12月13日10:28:36
-     */
-    add() {
-      this.modalTitle = this.setTitle(this.$config.formMode.add, 'jobName')
-      this.modalParams = {
-        button: this.$config.formMode.add,
-      }
-      this.editAddModal = true
-    },
-    /**
-     * @desc   : 加载数据
-     * @author : 周兴
-     * @date   : 2023/1/6 12:58
-     */
-    initData(type) {
-      if (type === this.$config.formMode.add) {
-        // 加载最大序号
-        this.getMaxDisplayNo(this.$config.displayNoTable.job);
-      }
-    },
-    /**
-     * @desc   : 编辑按钮事件
-     * @author : 沈博
-     * @date   : 2022年12月13日10:13:23
-     */
-    edit(rows) {
-      this.modalParams = {
-        button: this.$config.formMode.edit,
-        closeFlag: true
-      }
-      this.modalTitle = this.setTitle(this.$config.formMode.edit, 'jobName')
-      if (rows.length > 0) {
-        this.detail(rows[0].jobId)
-      }
-      this.editAddModal = true
-    },
-    /**
-     * @desc   : 通过id查询
-     * @author : 沈博
-     * @date   : 2022/5/5 13:15
-     */
-    detail(id) {
-      this.excuteNoParam(this.$service.jobService, this.$service.jobService.selectById,
-        [id], false).then(res => {//调用api查询方法
-        if (res.code === this.$config.SUCCESS_CODE) {
-          this.formData = res.data
+      // region 新建/编辑
+      /**
+       * @desc   : 新建按钮点击事件
+       * @author : 沈博
+       * @date   : 2022年12月13日10:28:36
+       */
+      add() {
+        this.modalTitle = this.setTitle(this.$config.formMode.add, 'jobName')
+        this.modalParams = {
+          button: this.$config.formMode.add,
         }
         }
-      })
-    },
-    /**
-     * @desc   : 给参数赋值
-     * @author :沈博
-     * @date   : 2022年12月13日10:56:56
-     */
-    clear() {
-      this.formData = {
-        jobName: '',
-        jobId: null,
-        remarks: '',
-        displayNo: 0
-      };
-      // 获取最大显示顺序
-      this.getMaxDisplayNo(this.$config.displayNoTable.job);
-    },
-    /**
-     * @desc   : 给参数赋值
-     * @author :沈博
-     * @date   : 2022年12月13日10:56:56
-     */
-    setParams() {
-      this.params = this.formData
-    },
-    /**
-     * @desc   : 保存数据
-     * @author :沈博
-     * @date   : 2022年12月13日10:56:56
-     */
-    saveData() {
-      if (this.modalParams.button === this.$config.formMode.add) {
-        delete this.params.modelId // 解决提示主键重复的问题,删除主键代码
-        return this.excute(this.$service.jobService, this.$service.jobService.insert, this.params)
-      } else {
-        return this.excute(this.$service.jobService, this.$service.jobService.update, this.params)
-      }
+        //获取报工类型
+        this.getWorkKind()
+        this.editAddModal = true
+      },
+      /**
+       * @desc   : 加载数据
+       * @author : 周兴
+       * @date   : 2023/1/6 12:58
+       */
+      initData(type) {
+        if (type === this.$config.formMode.add) {
+          // 加载最大序号
+          this.getMaxDisplayNo(this.$config.displayNoTable.job)
+        }
+      },
+      /**
+       * @desc   : 编辑按钮事件
+       * @author : 沈博
+       * @date   : 2022年12月13日10:13:23
+       */
+      edit(rows) {
+        this.modalParams = {
+          button: this.$config.formMode.edit,
+          closeFlag: true
+        }
+        this.modalTitle = this.setTitle(this.$config.formMode.edit, 'jobName')
+        if (rows.length > 0) {
+          this.detail(rows[0].jobId)
+        }
+        //获取报工类型
+        this.getWorkKind()
+        this.editAddModal = true
+      },
+      /**
+       * @desc   : 通过id查询
+       * @author : 沈博
+       * @date   : 2022/5/5 13:15
+       */
+      detail(id) {
+        this.excuteNoParam(this.$service.jobService, this.$service.jobService.selectById,
+          [id], false).then(res => {//调用api查询方法
+          if (res.code === this.$config.SUCCESS_CODE) {
+            this.formData = res.data
+          }
+        })
+      },
+      /**
+       * @desc   : 给参数赋值
+       * @author :沈博
+       * @date   : 2022年12月13日10:56:56
+       */
+      clear() {
+        this.formData = {
+          jobName: '',
+          jobId: null,
+          remarks: '',
+          displayNo: 0,
+          workKind: null,//报工类型
+          workUnit: null
+        }
+        // 获取最大显示顺序
+        this.getMaxDisplayNo(this.$config.displayNoTable.job)
+      },
+      /**
+       * @desc   : 给参数赋值
+       * @author :沈博
+       * @date   : 2022年12月13日10:56:56
+       */
+      setParams() {
+        this.params = this.formData
+      },
+      /**
+       * @desc   : 保存数据
+       * @author :沈博
+       * @date   : 2022年12月13日10:56:56
+       */
+      saveData() {
+        if (this.modalParams.button === this.$config.formMode.add) {
+          delete this.params.modelId // 解决提示主键重复的问题,删除主键代码
+          return this.excute(this.$service.jobService, this.$service.jobService.insert, this.params)
+        } else {
+          return this.excute(this.$service.jobService, this.$service.jobService.update, this.params)
+        }
+      },
+      // endregion
     },
     },
-    // endregion
-  },
-  created() {
-    this.primaryKey = 'jobId'  // 设置主键Id
-    this.routeObjName = 'job'  // 设置路由名称
+    created() {
+      this.primaryKey = 'jobId'  // 设置主键Id
+      this.routeObjName = 'job'  // 设置路由名称
+    }
   }
   }
-}
 </script>
 </script>
 
 
 <style scoped>
 <style scoped>

+ 3 - 4
src/view/mst/model/index.vue

@@ -111,11 +111,10 @@
                      valueKey="categoryId">
                      valueKey="categoryId">
           </SelectPop>
           </SelectPop>
         </DkFormItem>
         </DkFormItem>
-
         <!--   限制装载量    -->
         <!--   限制装载量    -->
-        <DkFormItem prop="limitLoadQty" required :data-type="$config.dataType.number"
+        <DkFormItem prop="limitLoadQty" :required="true" :data-type="$config.dataType.number"
                     v-if="this.formType==$config.formCode.modelCarrier">
                     v-if="this.formType==$config.formCode.modelCarrier">
-          <InputNumberPop v-model="formData.limitLoadQty" :clearable="false" :min="0"/>
+          <InputNumberPop v-model="formData.limitLoadQty" :min=0 :clearable="false" />
         </DkFormItem>
         </DkFormItem>
 
 
         <!--   区域内唯一    -->
         <!--   区域内唯一    -->
@@ -221,7 +220,7 @@ export default {
         modelName: '',
         modelName: '',
         modelCode: '',
         modelCode: '',
         modelCategory: null,
         modelCategory: null,
-        limitLoadQty: '',
+        limitLoadQty: 0,
         flgRangeOnly: '',
         flgRangeOnly: '',
         remarks: '',
         remarks: '',
         stdNum: 1,
         stdNum: 1,

+ 8 - 8
src/view/mst/product-defect-fine/index.vue

@@ -33,8 +33,8 @@
                :choose-flag="false"
                :choose-flag="false"
                @pageChange="pageSizeChange">
                @pageChange="pageSizeChange">
 
 
-        <DkTableColumn field="fineName" type="link" @on-link="handleLink(Object.assign($event,{button:'edit'}))"></DkTableColumn>
-        <DkTableColumn field="fineCode"></DkTableColumn>
+        <DkTableColumn field="fineCode" type="link" @on-link="handleLink(Object.assign($event,{button:'edit'}))"></DkTableColumn>
+        <DkTableColumn field="fineName"></DkTableColumn>
         <DkTableColumn field="deductNum"></DkTableColumn>
         <DkTableColumn field="deductNum"></DkTableColumn>
         <DkTableColumn field="displayNo"></DkTableColumn>
         <DkTableColumn field="displayNo"></DkTableColumn>
         <DkTableColumn field="flgValid" type="switch" @on-switch-change="onSwitchChange"
         <DkTableColumn field="flgValid" type="switch" @on-switch-change="onSwitchChange"
@@ -53,14 +53,14 @@
       :title="modalTitle"
       :title="modalTitle"
     >
     >
       <DkForm ref="formInline" v-model="formData" :col-count="1">
       <DkForm ref="formInline" v-model="formData" :col-count="1">
-        <!--  扣罚名称  -->
-        <DkFormItem prop="fineName" required>
-          <InputPop v-model="formData.fineName" ref="fineName"/>
-        </DkFormItem>
         <!--  扣罚编码  -->
         <!--  扣罚编码  -->
         <DkFormItem prop="fineCode" required>
         <DkFormItem prop="fineCode" required>
           <InputPop v-model="formData.fineCode" ref="fineCode"/>
           <InputPop v-model="formData.fineCode" ref="fineCode"/>
         </DkFormItem>
         </DkFormItem>
+        <!--  扣罚名称  -->
+        <DkFormItem prop="fineName" required>
+          <InputPop v-model="formData.fineName" ref="fineName"/>
+        </DkFormItem>
         <!--   扣除数     -->
         <!--   扣除数     -->
         <DkFormItem prop="deductNum" required data-type="number">
         <DkFormItem prop="deductNum" required data-type="number">
           <InputNumberPop v-model="formData.deductNum" :clearable="false" :min="0" :digits="2" :max="100"/>
           <InputNumberPop v-model="formData.deductNum" :clearable="false" :min="0" :digits="2" :max="100"/>
@@ -101,10 +101,10 @@ export default {
       // 查询条件
       // 查询条件
       searchContent: [
       searchContent: [
         {
         {
-          itemCode: 'fineName',
+          itemCode: 'fineCode',
         },
         },
         {
         {
-          itemCode: 'fineCode',
+          itemCode: 'fineName',
         },
         },
         self.$config.flgValidSearch // 有效标识
         self.$config.flgValidSearch // 有效标识
       ],
       ],

+ 0 - 1
src/view/pdm/data-collection/climbKiln-add.vue

@@ -17,7 +17,6 @@
                              :multiple="false"
                              :multiple="false"
                              :disabled="stationFlag"
                              :disabled="stationFlag"
                              :other-condition="{flowNodeId:flowNodeId}"
                              :other-condition="{flowNodeId:flowNodeId}"
-
                              @ok="chooseStation"></SelectMagnifier>
                              @ok="chooseStation"></SelectMagnifier>
           </DkFormItem>
           </DkFormItem>
           <!--生产工号-->
           <!--生产工号-->

+ 13 - 3
src/view/pdm/data-collection/register-add.vue

@@ -28,7 +28,7 @@
           <!--装载具/卸载具-->
           <!--装载具/卸载具-->
           <DkFormItem
           <DkFormItem
             :required="true" prop="carCode"
             :required="true" prop="carCode"
-            v-if=" opnKind && (opnKind !=$config.processType.productCode)"
+            v-if=" opnKind && (opnKind !=$config.processType.productCode) && !punchTheClock"
             :label="opnKind ==$config.processType.dressKilnCar?$t('dressKilnCar'):
             :label="opnKind ==$config.processType.dressKilnCar?$t('dressKilnCar'):
                     (opnKind ==$config.processType.unloadKilnCar?$t('unloadKilnCar'):
                     (opnKind ==$config.processType.unloadKilnCar?$t('unloadKilnCar'):
                     (opnKind ==$config.processType.kilnCode?$t('vehicleCode'):$t('newCarCode'))
                     (opnKind ==$config.processType.kilnCode?$t('vehicleCode'):$t('newCarCode'))
@@ -46,7 +46,7 @@
           </DkFormItem>
           </DkFormItem>
           <!--产品条码-->
           <!--产品条码-->
           <DkFormItem
           <DkFormItem
-            v-if="opnKind && (opnKind ==$config.processType.productCode || opnKind ==$config.processType.dressKilnCar)"
+            v-if="opnKind && (opnKind ==$config.processType.productCode || opnKind ==$config.processType.dressKilnCar) && !punchTheClock"
             :required="true" prop="barCode">
             :required="true" prop="barCode">
             <InputPop :readonly="opnKind && opnKind ==$config.processType.dressKilnCar?
             <InputPop :readonly="opnKind && opnKind ==$config.processType.dressKilnCar?
                                 !dressKilnCarFlag:
                                 !dressKilnCarFlag:
@@ -155,6 +155,7 @@
         labelFormData: {},
         labelFormData: {},
         getBarCodeMessage: null,//产品条码信息
         getBarCodeMessage: null,//产品条码信息
         onProdUserCodeFlag: false,//校验打卡标识
         onProdUserCodeFlag: false,//校验打卡标识
+        punchTheClock:false,//打卡标识
       }
       }
     },
     },
     methods: {
     methods: {
@@ -167,6 +168,7 @@
         if (row && row[0]) {
         if (row && row[0]) {
           this.formData.stationId = row[0].stationId
           this.formData.stationId = row[0].stationId
           this.formData.stationName = row[0].stationName
           this.formData.stationName = row[0].stationName
+          this.punchTheClock=false
           //校验打卡
           //校验打卡
           this.onProdUserCode()
           this.onProdUserCode()
         }
         }
@@ -208,7 +210,14 @@
                     this.closeTag(this.$route)
                     this.closeTag(this.$route)
                   }
                   }
                 })
                 })
-            } else {
+            }
+            //此工序有配置工位,工位不能为空
+            else if (res.code !== this.$config.SUCCESS_CODE &&
+              this.$config.processTypeException.CHKCAR009 == res.exception) {
+              this.$Message.error(res.message)
+              this.punchTheClock=true
+            }
+            else {
               this.$Message.error(res.message)
               this.$Message.error(res.message)
             }
             }
           })
           })
@@ -352,6 +361,7 @@
               this.opnKind == this.$config.processType.exchangeKilnCar &&
               this.opnKind == this.$config.processType.exchangeKilnCar &&
               this.formData.carCode) {
               this.formData.carCode) {
             } else {
             } else {
+              this.formData.carCode = null
               this.$Message.error(res.message)
               this.$Message.error(res.message)
             }
             }
           })
           })

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

@@ -55,13 +55,18 @@
           <DkFormItem prop="productName">
           <DkFormItem prop="productName">
             <InputPop ref="productName" v-model="formData.productName" :readonly="true"/>
             <InputPop ref="productName" v-model="formData.productName" :readonly="true"/>
           </DkFormItem>
           </DkFormItem>
+        </DkForm>
+      </DkPanel>
+      <!--报损信息-->
+      <DkPanel prop="LossReportingInformation">
+        <!--  下拉区域  -->
+        <DkForm slot="content" ref="formInline" v-model="LossReportingFormData" style="width: 95%">
           <!--撤销原因-->
           <!--撤销原因-->
           <DkFormItem :required="true" prop="undoReason">
           <DkFormItem :required="true" prop="undoReason">
-            <InputPop ref="undoReason" v-model="formData.undoReason"/>
+            <InputPop ref="undoReason" v-model="LossReportingFormData.undoReason"/>
           </DkFormItem>
           </DkFormItem>
         </DkForm>
         </DkForm>
       </DkPanel>
       </DkPanel>
-      <div>
         <!--明细-->
         <!--明细-->
         <DkPanel prop="details">
         <DkPanel prop="details">
           <div slot="content" :style="'height: ' + tableHeight + 'px'">
           <div slot="content" :style="'height: ' + tableHeight + 'px'">
@@ -75,7 +80,7 @@
             ></EditTable>
             ></EditTable>
           </div>
           </div>
         </DkPanel>
         </DkPanel>
-      </div>
+
     </DkCollapse>
     </DkCollapse>
     <!--      下部分按钮区域-->
     <!--      下部分按钮区域-->
     <DkSaveButton ref="saveButton" :loading="loading" @save="save" @close="close"></DkSaveButton>
     <DkSaveButton ref="saveButton" :loading="loading" @save="save" @close="close"></DkSaveButton>
@@ -99,7 +104,6 @@
         formData: {
         formData: {
           barCode: '',
           barCode: '',
           ftyId: this.$store.state.user.ftyId,
           ftyId: this.$store.state.user.ftyId,
-          undoReason: null,//撤销原因
           productId: null,
           productId: null,
           productCode: null,
           productCode: null,
           productName: null,
           productName: null,
@@ -111,6 +115,9 @@
           pdtFlowNodeName: null,//完成工序
           pdtFlowNodeName: null,//完成工序
           carrierCode: null,//所在载具
           carrierCode: null,//所在载具
         },
         },
+        LossReportingFormData:{
+          undoReason: null,//撤销原因
+        },
         // 明细列表
         // 明细列表
         detailColumns: [
         detailColumns: [
           // 产品条码
           // 产品条码
@@ -158,6 +165,7 @@
               this.formData.pdtFlowNodeName = res.data.pdtFlowNodeName
               this.formData.pdtFlowNodeName = res.data.pdtFlowNodeName
               this.formData.carrierCode = res.data.carrierCode
               this.formData.carrierCode = res.data.carrierCode
             } else {
             } else {
+              this.formData.barCode= null
               this.$Message.error(res.message)
               this.$Message.error(res.message)
             }
             }
           })
           })
@@ -226,7 +234,7 @@
         }
         }
         this.params = {
         this.params = {
           barCodeList: this.barCodeList,
           barCodeList: this.barCodeList,
-          undoReason: this.formData.undoReason,
+          undoReason: this.LossReportingFormData.undoReason,
         }
         }
       },
       },
       /**
       /**
@@ -239,6 +247,10 @@
           this.$Message.error(this.$t('W_132'))
           this.$Message.error(this.$t('W_132'))
           return false
           return false
         }
         }
+        if (this.detailList.length == 0) {
+          this.$Message.error(this.$t('W_137'))
+          return false
+        }
         return true
         return true
       },
       },
       /**
       /**
@@ -258,7 +270,7 @@
         if (!value) {
         if (!value) {
           this.detailList = []
           this.detailList = []
           this.barCodeList = []
           this.barCodeList = []
-          this.formData.undoReason = null
+          this.LossReportingFormData.undoReason = null
         }
         }
         this.formData.barCode = null
         this.formData.barCode = null
         this.formData.productId = null
         this.formData.productId = null

+ 35 - 9
src/view/pdm/prod-defect/add.vue

@@ -18,7 +18,7 @@
           <!--产品条码-->
           <!--产品条码-->
           <DkFormItem :required="true" prop="barCode">
           <DkFormItem :required="true" prop="barCode">
             <InputPop ref="barCode" v-model="formData.barCode" @on-enter="onBarCode"
             <InputPop ref="barCode" v-model="formData.barCode" @on-enter="onBarCode"
-                      @on-blur="onBarCode"/>
+                      @on-blur="onBarCode" @on-clear="clearFromData"/>
           </DkFormItem>
           </DkFormItem>
           <!--产品型号-->
           <!--产品型号-->
           <DkFormItem prop="modelCode">
           <DkFormItem prop="modelCode">
@@ -100,7 +100,7 @@
         </DkForm>
         </DkForm>
       </DkPanel>
       </DkPanel>
       <!--责任员工-->
       <!--责任员工-->
-      <DkPanel prop="chooseDetails">
+      <DkPanel prop="userMessage">
         <div slot="content">
         <div slot="content">
           <!--责任员工-->
           <!--责任员工-->
           <DkTable slot="right" ref="staff-table-select" :data="staffList" multiple
           <DkTable slot="right" ref="staff-table-select" :data="staffList" multiple
@@ -109,8 +109,8 @@
                    :pageTotalFlag="false"
                    :pageTotalFlag="false"
                    :linkClickChecked="true"
                    :linkClickChecked="true"
                    name="table">
                    name="table">
-            <DkTableColumn field="jobName" :title="$t('jobName')" ></DkTableColumn>
-            <DkTableColumn field="staffName" :title="$t('staffName')" ></DkTableColumn>
+            <DkTableColumn field="jobName" :title="$t('jobName')"></DkTableColumn>
+            <DkTableColumn field="staffName" :title="$t('staffName')"></DkTableColumn>
             <DkTableColumn field="staffCode" :title="$t('staffCode')" width="auto"></DkTableColumn>
             <DkTableColumn field="staffCode" :title="$t('staffCode')" width="auto"></DkTableColumn>
           </DkTable>
           </DkTable>
         </div>
         </div>
@@ -205,13 +205,34 @@
     },
     },
     methods: {
     methods: {
       /**
       /**
+       *   @desc   : 清空基本信息
+       *   @date   : 2023/4/11 15:04
+       *   @author : 寇珊珊
+       */
+      clearFromData() {
+        this.formData = {
+          barCode: '',
+          productId: null,
+          productCode: null,
+          productName: null,
+          logoName: null,//商标
+          colourName: null,//釉色
+          moldingDate: null,//成型日期
+          modelCode: null,//产品型号
+          finishTime: null,//完成时间
+          pdtFlowNodeName: null,//完成工序
+          carrierCode: null,//所在载具
+          moldlineName: null,//成型线
+        }
+      },
+      /**
        *   @desc   : 产品条码失焦事件
        *   @desc   : 产品条码失焦事件
        *   @date   : 2023/2/28 9:28
        *   @date   : 2023/2/28 9:28
        *   @author : 寇珊珊
        *   @author : 寇珊珊
        */
        */
       onBarCode() {
       onBarCode() {
         if (this.formData.barCode) {
         if (this.formData.barCode) {
-          this.excuteNoParam(this.$service.collectService, this.$service.collectService.checkBarCodeNodeUndo, [this.formData.barCode]).then(res => {
+          this.excuteNoParam(this.$service.collectService, this.$service.collectService.checkBarCodeScrap, [this.formData.barCode]).then(res => {
             if (res.code === this.$config.SUCCESS_CODE) {
             if (res.code === this.$config.SUCCESS_CODE) {
               this.formData.productId = res.data.uniqueId
               this.formData.productId = res.data.uniqueId
               this.formData.productCode = res.data.modelCode
               this.formData.productCode = res.data.modelCode
@@ -225,6 +246,7 @@
               this.formData.carrierCode = res.data.carrierCode
               this.formData.carrierCode = res.data.carrierCode
               this.formData.moldlineName = res.data.moldlineName
               this.formData.moldlineName = res.data.moldlineName
             } else {
             } else {
+              this.formData.barCode = null
               this.$Message.error(res.message)
               this.$Message.error(res.message)
             }
             }
           })
           })
@@ -306,7 +328,7 @@
        *   @author : 寇珊珊
        *   @author : 寇珊珊
        */
        */
       addRow() {
       addRow() {
-        if(this.formData.barCode) {
+        if (this.formData.barCode) {
           //校验名称是否重复
           //校验名称是否重复
           if (!this.validDataRow()) {
           if (!this.validDataRow()) {
             return
             return
@@ -371,15 +393,19 @@
        *   @date   : 2023/4/6 10:33
        *   @date   : 2023/4/6 10:33
        *   @author : 寇珊珊
        *   @author : 寇珊珊
        */
        */
-      validData(){
-        if(this.formData.barCode){
+      validData() {
+        if (this.formData.barCode) {
           this.$Message.error(this.$t('W_132'))
           this.$Message.error(this.$t('W_132'))
           return false
           return false
         }
         }
-        if(this.$refs['staff-table-select'].$refs.table.getCheckboxRecords().length==0){
+        if (this.$refs['staff-table-select'].$refs.table.getCheckboxRecords().length == 0) {
           this.$Message.error(this.$t('W_133'))
           this.$Message.error(this.$t('W_133'))
           return false
           return false
         }
         }
+        if (this.detailList.length == 0) {
+          this.$Message.error(this.$t('W_137'))
+          return false
+        }
         return true
         return true
       },
       },
       /**
       /**

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

@@ -37,10 +37,10 @@
         <!--产品条码-->
         <!--产品条码-->
         <DkTableColumn field="uniqueCode" :title="$t('appProductCode')"></DkTableColumn>
         <DkTableColumn field="uniqueCode" :title="$t('appProductCode')"></DkTableColumn>
         <!--产品编码-->
         <!--产品编码-->
-        <DkTableColumn field="modelCode"></DkTableColumn>
+        <DkTableColumn field="modelCode" :title="$t('productCode')"></DkTableColumn>
         <!--产品名称-->
         <!--产品名称-->
         <DkTableColumn field="modelName"></DkTableColumn>
         <DkTableColumn field="modelName"></DkTableColumn>
-        <!--产品型号-->
+        <!--模具编码-->
         <DkTableColumn field="modelMouldCode" width="200px"></DkTableColumn>
         <DkTableColumn field="modelMouldCode" width="200px"></DkTableColumn>
         <!--成型线-->
         <!--成型线-->
         <DkTableColumn field="moldlineName"></DkTableColumn>
         <DkTableColumn field="moldlineName"></DkTableColumn>
@@ -87,7 +87,8 @@
           },
           },
           {
           {
             //产品型号
             //产品型号
-            itemCode: 'mouldCode',
+            itemCode: 'modelCode',
+            itemName: 'productCode',
           },
           },
           {
           {
             //责任工号
             //责任工号

+ 1 - 0
src/view/pdm/prod-defect/reverse.vue

@@ -150,6 +150,7 @@
               this.formData.blameUserCode = res.data.productionDefectList[0].blameUserCode//责任工号
               this.formData.blameUserCode = res.data.productionDefectList[0].blameUserCode//责任工号
               this.formData.remarks = res.data.productionDefectList[0].remarks//备注
               this.formData.remarks = res.data.productionDefectList[0].remarks//备注
             } else {
             } else {
+              this.formData.barCode= null
               this.$Message.error(res.message)
               this.$Message.error(res.message)
             }
             }
           })
           })

+ 22 - 10
src/view/pdm/thmeter-record/index.vue

@@ -19,20 +19,23 @@
 
 
     <!--  查询条件区域  -->
     <!--  查询条件区域  -->
     <div id="search-cond-div" ref="search-cond-div" style="margin-top: 1px;padding: 0">
     <div id="search-cond-div" ref="search-cond-div" style="margin-top: 1px;padding: 0">
-      <SearchCond ref="searchCond" v-model="searchCond" :type="this.$config.pageCode['position']"
+      <SearchCond ref="searchCond" v-model="searchCond"
                   @collapse-change="collapseChange" :set-flag="false"
                   @collapse-change="collapseChange" :set-flag="false"
                   :search-content="searchContent"></SearchCond>
                   :search-content="searchContent"></SearchCond>
     </div>
     </div>
     <div>
     <div>
       <DkTable :id="'table-'+$options.name" ref="table-select" :data="tableData"
       <DkTable :id="'table-'+$options.name" ref="table-select" :data="tableData"
+               @pageChange="pageSizeChange"
                :pageFlag="true"
                :pageFlag="true"
                :page-total="pageInfo.total"
                :page-total="pageInfo.total"
                :current-page="pageInfo.currentPage"
                :current-page="pageInfo.currentPage"
                :choose-flag="false"
                :choose-flag="false"
-               :height="this.tableHeight" primaryKey="recordId"
-      >
+               :height="this.tableHeight"
+               primaryKey="recordId"
+               name="table">
         <!--湿温度计编码-->
         <!--湿温度计编码-->
-        <DkTableColumn field="thmeterCode"></DkTableColumn>
+        <DkTableColumn field="thmeterCode" type="link"
+                       @on-link="handleLink(Object.assign($event,{button:'edit'}))"></DkTableColumn>
         <!--湿温度计名称-->
         <!--湿温度计名称-->
         <DkTableColumn field="thmeterName"></DkTableColumn>
         <DkTableColumn field="thmeterName"></DkTableColumn>
         <!--记录时间-->
         <!--记录时间-->
@@ -118,9 +121,9 @@
           // 湿温度计名称
           // 湿温度计名称
           { field: 'thmeterName', type: 'disabled', width: 'auto', },
           { field: 'thmeterName', type: 'disabled', width: 'auto', },
           //温度
           //温度
-          { field: 'temperature', type: 'number', width: 'auto', },
+          { field: 'temperature', type: 'number', max: 99999, width: 'auto', },
           //湿度
           //湿度
-          { field: 'humidity', type: 'number', width: 'auto', },
+          { field: 'humidity', type: 'number', max: 99999, width: 'auto', },
           // 备注
           // 备注
           { field: 'remarks', type: 'text', width: 'auto' },
           { field: 'remarks', type: 'text', width: 'auto' },
         ],
         ],
@@ -155,10 +158,20 @@
           i.recordTime = this.formData.recordTime.format()
           i.recordTime = this.formData.recordTime.format()
           i.ftyId = 1
           i.ftyId = 1
         }
         }
+        //校验名称是否重复
+        if (!this.validData()) {
+          return
+        }
+      },
+      /**
+       *   @desc   : 校验重复数据
+       *   @date   : 2023/4/11 14:30
+       *   @author : 寇珊珊
+       */
+      validData() {
         this.params = this.detailData.filter(it => it.temperature || it.humidity || it.remarks)
         this.params = this.detailData.filter(it => it.temperature || it.humidity || it.remarks)
         if (this.params && this.params.length == 0) {
         if (this.params && this.params.length == 0) {
           this.$Message.error(this.$t('W_130'))
           this.$Message.error(this.$t('W_130'))
-          this.loading = false
         }
         }
       },
       },
       /**
       /**
@@ -179,7 +192,7 @@
       add() {
       add() {
         //获取温湿度计
         //获取温湿度计
         this.getThmeter()
         this.getThmeter()
-        this.modalTitle = this.setTitle(this.$config.formMode.add, this.formType)
+        this.modalTitle = this.setTitle(this.$config.formMode.add, 'thmeterRecord')
         this.modalParams = {
         this.modalParams = {
           button: this.$config.formMode.add,
           button: this.$config.formMode.add,
         }
         }
@@ -195,7 +208,7 @@
           button: this.$config.formMode.edit,
           button: this.$config.formMode.edit,
           closeFlag: true
           closeFlag: true
         }
         }
-        this.modalTitle = this.setTitle(this.$config.formMode.edit, this.formType)
+        this.modalTitle = this.setTitle(this.$config.formMode.edit, 'thmeterRecord')
         if (rows.length > 0) {
         if (rows.length > 0) {
           this.detail(rows[0].recordId)
           this.detail(rows[0].recordId)
         }
         }
@@ -233,7 +246,6 @@
     },
     },
     created() {
     created() {
       this.routeObjName = 'thmeterRecord'  // 设置路由名称
       this.routeObjName = 'thmeterRecord'  // 设置路由名称
-      this.formType === this.$config.formCode.thmeterRecord
     }
     }
   }
   }
 </script>
 </script>

+ 377 - 3
src/view/pdm/work-record/index.vue

@@ -1,11 +1,385 @@
+<!-- @desc:报工记录  @auth:寇珊珊  @time:2023年4月10日14:33:01 -->
 <template>
 <template>
+  <div class="main-div">
+    <!--按钮区-->
+    <BaseIndexButtonGroup id="BaseIndexButtonGroup">
+      <template #left>
+        <!--    查询    -->
+        <BaseIndexButton right-button="carrier-flow-pdt-select" ref="search" name="search"></BaseIndexButton>
+        <!--    清空条件    -->
+        <BaseIndexButton right-button="carrier-flow-pdt-clear" ref="clear" name="clear"></BaseIndexButton>
+        <!--    编辑    -->
+        <BaseIndexButton right-button="productDefect-edit" ref="edit" name="edit"></BaseIndexButton>
+      </template>
+      <template #right>
+        <!--   新建     -->
+        <BaseIndexButton right-button="productDefect-add" ref="add" name="add"></BaseIndexButton>
+      </template>
+    </BaseIndexButtonGroup>
 
 
+    <!--  查询条件区域  -->
+    <div id="search-cond-div" ref="search-cond-div" style="margin-top: 1px;padding: 0">
+      <SearchCond ref="searchCond" v-model="searchCond"
+                  @collapse-change="collapseChange" :set-flag="false"
+                  :search-content="searchContent"></SearchCond>
+    </div>
+    <!--  列表区  -->
+    <div :style="'height: ' + tableHeight + 'px'" class="split-div-class">
+      <!--     产品报损     -->
+      <DkTable slot="content" :id="'table-'+$options.name" ref="table-select" :data="tableData"
+               :pageFlag="true"
+               @pageChange="pageSizeChange"
+               :page-total="pageInfo.total"
+               :current-page="pageInfo.currentPage"
+               :height="this.tableHeight" primaryKey="prodId"
+               :choose-flag="false">
+        <!--报工名称-->
+        <DkTableColumn field="jobName" :title="$t('workJobName')" type="link"
+                       @on-link="handleLink(Object.assign($event,{button:'edit'}))"></DkTableColumn>
+        <!--报工类型-->
+        <DkTableColumn field="workKindName" :title="$t('workKind')"></DkTableColumn>
+        <!--报工数量-->
+        <DkTableColumn field="workQuantity" :dataType="$config.dataType.number"></DkTableColumn>
+        <!--报工时间-->
+        <DkTableColumn field="workTimes" :dataType="$config.dataType.number"></DkTableColumn>
+        <!--报工金额-->
+        <DkTableColumn field="wordAmount" :dataType="$config.dataType.number"></DkTableColumn>
+        <!--报工单位-->
+        <DkTableColumn field="workUnit"></DkTableColumn>
+        <!--产品编码-->
+        <DkTableColumn field="productCode"></DkTableColumn>
+        <!--产品名称-->
+        <DkTableColumn field="productName"></DkTableColumn>
+        <!--加班标识-->
+        <DkTableColumn field="flgOvertime" type="switch" :switch-disabled="true"></DkTableColumn>
+        <!--有效标识-->
+        <DkTableColumn field="flgValid" type="switch" @on-switch-change="onSwitchChange"
+                       :switch-disabled="false"></DkTableColumn>
+        <!--备注-->
+        <DkTableColumn field="remarks" width="auto"></DkTableColumn>
+      </DkTable>
+    </div>
+
+    <!--新建、编码-->
+    <DkModal
+      :loading="loading"
+      v-model="editAddModal"
+      ref="modal_editAdd"
+      @modalOk="save"
+      :title="modalTitle"
+    >
+      <DkForm ref="formInline" v-model="formData" :col-count="1">
+        <!--生产工号-->
+        <DkFormItem :required="true" prop="userCode" :label="$t('prodUserCode')">
+          <InputPop ref="userCode" v-model="formData.userCode"
+                    :readonly="modalParams.button == $config.formMode.edit"
+                    @on-enter="onProdUserCode"
+                    @on-blur="onProdUserCode"/>
+        </DkFormItem>
+        <!--选择工种-->
+        <DkFormItem prop="jobId" :required="true" :data-type="this.$config.dataType.number">
+          <SelectMagnifier v-model="formData.jobId" :display-text="formData.jobName"
+                           :type="$config.MagnifierType.workJob"
+                           :multiple="false"
+                           :other-condition="{workFlag:true}"
+                           :disabled="modalParams.button==$config.formMode.edit"
+                           @ok="chooseJob"></SelectMagnifier>
+        </DkFormItem>
+        <!--选择产品-->
+        <DkFormItem prop="pdtModelId" :label="$t('pdtModelName')">
+          <SelectMagnifier v-model="formData.pdtModelId"
+                           :multiple="false"
+                           :display-text="formData.productCode"
+                           :type="$config.MagnifierType.product"
+                           @ok="chooseMould"></SelectMagnifier>
+        </DkFormItem>
+        <!--报工类型-->
+        <DkFormItem prop="workKind">
+          <SelectPop v-model="formData.workKind" ref="workKind" :multiple="false"
+                     :options="workKindList"
+                     labelKey="kindName"
+                     valueKey="kindCode">
+          </SelectPop>
+        </DkFormItem>
+        <!--报工单位-->
+        <DkFormItem prop="workUnit">
+          <InputPop v-model="formData.workUnit" ref="workUnit"/>
+        </DkFormItem>
+        <!--报工数量-->
+        <DkFormItem prop="workQuantity" v-if="formData.workKind ==$config.workKind.jiJian">
+          <InputNumberPop v-model="formData.workQuantity" :clearable="false"
+                          :min="1" :max="9+1"/>
+        </DkFormItem>
+        <!--报工时间-->
+        <DkFormItem prop="workTimes" v-if="formData.workKind ==$config.workKind.jiShi">
+          <InputNumberPop v-model="formData.workTimes"/>
+        </DkFormItem>
+        <!--加班标识-->
+        <DkFormItem prop="flgOvertime">
+          <DkSwitch v-model="formData.flgOvertime" :clearable="false" @on-change="flgOvertimeHandleChange"></DkSwitch>
+        </DkFormItem>
+        <!--报工金额-->
+        <DkFormItem prop="wordAmount" :data-type="$config.dataType.number"
+                    v-if="formData.flgOvertime">
+          <InputNumberPop v-model="formData.wordAmount"/>
+        </DkFormItem>
+        <!--    备注    -->
+        <DkFormItem prop="remarks">
+          <InputPop v-model="formData.remarks" textareaFlag/>
+        </DkFormItem>
+      </DkForm>
+    </DkModal>
+  </div>
 </template>
 </template>
 
 
 <script>
 <script>
-export default {
-name: "work-record"
-}
+  import { indexMixin } from '@/mixins'
+
+  export default {
+    name: 'work-record',
+    mixins: [indexMixin],
+    data() {
+      let self = this
+      return {
+        searchContent: [
+          {
+            //报工名称
+            itemCode: 'jobName',
+            itemName: 'workJobName',
+          },
+          {
+            //计件类型
+            itemCode: 'workKindList',
+            itemName: 'workKind',
+            valueFormat: {
+              data: [
+                {valueKey: '报工类型-计时', workKind: self.$config.workKindSearchEnum.jiShi},
+                {valueKey: '报工类型-计件', workKind: self.$config.workKindSearchEnum.jiJian}],
+              valueKey: 'valueKey',
+              labelKey: 'workKind',
+              default: ['报工类型-计时', '报工类型-计件']
+            },
+            valueKind: self.$config.docUserInput.mChoice
+          },
+          {
+            //产品编码
+            itemCode: 'productCode',
+          },
+          self.$config.flgValidSearch // 有效标识
+        ],
+        ftyId: self.$store.state.user.ftyId,
+        editAddModal: false,
+        modalTitle: '',//新建编辑弹窗名称
+        submitType: '',//新建编辑提交类型
+        defectKind: null,// 类型
+        formData: {
+          userId: null,//生产工号Id
+          userCode: null,//生产工号
+          jobId: null,//工种Id
+          jobName: null,//工种
+          pdtModelId: null,//产品型号id
+          productCode: null,//产品型号
+          workKind: null,//报工类型
+          workUnit: null,//报工单位
+          workQuantity: null,//报工数量
+          workTimes: null,//报工时间
+          flgOvertime: false,//加班标识
+          wordAmount: null,//报工金额
+          remarks: null,
+        },
+        workKindList: [],//报工类型集合
+        productList: [],//产品集合
+      }
+    },
+    methods: {
+      /**
+       *   @desc   : switch停用启用
+       *   @date   : 2023/4/10 14:39
+       *   @author : 寇珊珊
+       */
+      onSwitchChange(param) {
+        if (param.flgValid) {
+          this.excuteNoParam(this.$service.workRecordService, this.$service.workRecordService.enable, [param.recordId])
+        } else {
+          this.excuteNoParam(this.$service.workRecordService, this.$service.workRecordService.disable, [param.recordId])
+        }
+      },
+      /**
+       *   @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 : 寇珊珊
+       */
+      onProdUserCode() {
+        if (this.formData.userCode) {
+          let params = {
+            ftyId: this.ftyId,
+            userCodeSame: this.formData.userCode
+          }
+          this.excute(this.$service.commonService, this.$service.commonService.getUser, params).then(res => {
+            if (res.code === this.$config.SUCCESS_CODE) {
+              if (res.data && res.data.length == 0) {
+                this.$Message.error(this.$t('W_136'))
+              } else {
+                this.formData.userId = res.data[0].userId
+              }
+            } else {
+              this.$Message.error(res.message)
+            }
+          })
+        }
+      },
+      /**
+       *   @desc   : 选择工种
+       *   @date   : 2023/4/10 16:45
+       *   @author : 寇珊珊
+       */
+      chooseJob(rows) {
+        if (rows && rows.length > 0) {
+          this.formData.jobName = rows[0].jobName
+          this.formData.workKind = rows[0].workKind
+          this.formData.workUnit = rows[0].workUnit
+        }
+      },
+      /**
+       *   @desc   : 选择型号
+       *   @date   : 2023/3/23 13:36
+       *   @author : 寇珊珊
+       */
+      chooseMould(rows) {
+        if (rows && rows.length > 0) {
+          this.formData.productCode = rows[0].modelCode
+        }
+      },
+      /**
+       *   @desc   : 加班标识改变事件
+       *   @date   : 2023/4/11 13:20
+       *   @author : 寇珊珊
+       */
+      flgOvertimeHandleChange(value) {
+        if (!value) {
+          this.formData.wordAmount = 0
+        }
+      },
+      /**
+       *   @desc   : 清空参数
+       *   @date   : 2022/12/21
+       *   @author : 洪旭东
+       */
+      clear() {
+        this.formData = {
+          userId: null,//生产工号Id
+          userCode: null,//生产工号
+          jobId: null,//工种Id
+          pdtModelId: null,//产品型号id
+          productCode: null,//产品型号
+          workKind: null,//报工类型
+          workUnit: null,//报工单位
+          workQuantity: null,//报工数量
+          workTimes: null,//报工时间
+          flgOvertime: false,//加班标识
+          wordAmount: null,//报工金额
+          remarks: null,
+        }
+      },
+      /**
+       *   @desc   : 给参数赋值
+       *   @date   : 2023/4/10 14:40
+       *   @author : 寇珊珊
+       */
+      setParams() {
+        this.params = { ...this.formData }
+      },
+      /**
+       *   @desc   : 保存数据
+       *   @date   : 2023/4/10 14:40
+       *   @author : 寇珊珊
+       */
+      saveData() {
+        return this.modalParams.button === this.$config.formMode.add
+          ? this.excute(this.$service.workRecordService, this.$service.workRecordService.insert, this.params)
+          : this.excute(this.$service.workRecordService, this.$service.workRecordService.update, this.params)
+      },
+      /**
+       *   @desc   : 新建
+       *   @date   : 2023/4/10 14:40
+       *   @author : 寇珊珊
+       */
+      add() {
+        this.modalTitle = this.setTitle(this.$config.formMode.add, 'workRecord')
+        this.modalParams = {
+          button: this.$config.formMode.add,
+        }
+        //获取报工类型
+        this.getWorkKind()
+        this.editAddModal = true
+      },
+      /**
+       *   @desc   : 编辑
+       *   @date   : 2023/4/10 14:40
+       *   @author : 寇珊珊
+       */
+      edit(rows) {
+        this.modalParams = {
+          button: this.$config.formMode.edit,
+          closeFlag: true
+        }
+        this.modalTitle = this.setTitle(this.$config.formMode.edit, 'workRecord')
+        //获取报工类型
+        this.getWorkKind()
+        //根据id获取
+        this.detail(rows[0].recordId)
+        this.editAddModal = true
+      },
+      /**
+       *   @desc   : 通过id查询
+       *   @date   : 2023/4/10 14:40
+       *   @author : 寇珊珊
+       */
+      detail(id) {
+        this.excuteNoParam(this.$service.workRecordService, this.$service.workRecordService.selectById,
+          [id], false).then(res => {//调用api查询方法
+          if (res.code === this.$config.SUCCESS_CODE) {
+            this.formData = res.data
+          }
+        })
+      },
+      /**
+       * @desc   : 调用同一路由,需要使用这个方法去设置created的方法
+       * @author : 周兴
+       * @date   : 2023/2/27 13:03
+       */
+      createdInit() {
+        // this.primaryKey = 'dataId'     // 设置主键
+        // console.log('formType',this.formType)
+      },
+      /**
+       *   @desc   : 获取数据
+       *   @date   : 2023/2/27 14:11
+       *   @author : 寇珊珊
+       */
+      getData(params) {
+        return this.excute(this.$service.workRecordService, this.$service.workRecordService.search.url, params)
+      },
+    },
+    created() {
+      this.routeObjName = 'workRecord'  // 设置路由名称
+    }
+  }
 </script>
 </script>
 
 
 <style scoped>
 <style scoped>