From f22632090bf67d3670f2c438e38dc31c3b43588e Mon Sep 17 00:00:00 2001 From: shijing Date: Tue, 3 Mar 2026 13:54:50 +0800 Subject: [PATCH 1/4] =?UTF-8?q?fix:=E7=A6=85=E9=81=93344?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/statistics/good_check_gx.vue | 120 +++++++++++++++++++------ 1 file changed, 93 insertions(+), 27 deletions(-) diff --git a/src/views/statistics/good_check_gx.vue b/src/views/statistics/good_check_gx.vue index adf9ed3f..5347b899 100644 --- a/src/views/statistics/good_check_gx.vue +++ b/src/views/statistics/good_check_gx.vue @@ -268,6 +268,12 @@ + + + + + + @@ -327,6 +333,15 @@ + + + + + + + + + @@ -352,6 +367,35 @@ 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -623,44 +667,66 @@ export default { propert = '外观检验_缺陷_破损'; }else if(index==53&&column.label=='发白'){ propert = '外观检验_缺陷_发白'; - }else if(index==54&&column.label=='漏光'){ + }else if(index==54&&column.label=='裂'){ + propert = '外观检验_缺陷_裂'; + }else if(index==55&&column.label=='光圈'){ + propert = '外观检验_缺陷_光圈'; + }else if(index==56&&column.label=='漏光'){ propert = '外观检验_缺陷_漏光'; - }else if(index == 57&&column.label=='返修数'){ + }else if(index == 59&&column.label=='返修数'){ propert = '外观检验_返修_count_real'; - }else if(index==58&&column.label=='合格数'){ + }else if(index==60&&column.label=='合格数'){ propert = '外观检验_返修_count_ok_full'; - }else if(index==59&&column.label=='黑圈变形'){ + }else if(index==61&&column.label=='黑圈变形'){ propert = '外观检验_返修_缺陷_黑圈变形'; - }else if(index==60&&column.label=='气泡'){ + }else if(index==62&&column.label=='气泡'){ propert = '外观检验_返修_缺陷_气泡'; - }else if(index==61&&column.label=='浅气泡(B)'){ + }else if(index==63&&column.label=='浅气泡(B)'){ propert = '外观检验_返修_缺陷_浅气泡(B)'; - }else if(index==62&&column.label=='浅划麻(B)'){ + }else if(index==64&&column.label=='浅划麻(B)'){ propert = '外观检验_返修_缺陷_浅划麻(B)'; - }else if(index==63&&column.label=='双面划麻'){ + }else if(index==65&&column.label=='双面划麻'){ propert = '外观检验_返修_缺陷_双面划麻'; - }else if(index==64&&column.label=='浅水纹(B)'){ + }else if(index==66&&column.label=='浅水纹(B)'){ propert = '外观检验_返修_缺陷_浅水纹(B)'; - }else if(index==65&&column.label=='重水纹'){ + }else if(index==67&&column.label=='重水纹'){ propert = '外观检验_返修_缺陷_重水纹'; - }else if(index==66&&column.label=='大崩'){ + }else if(index==68&&column.label=='大崩'){ propert = '外观检验_返修_缺陷_大崩'; - }else if(index==67&&column.label=='小崩边(B)'){ + }else if(index==69&&column.label=='小崩边(B)'){ propert = '外观检验_返修_缺陷_小崩边(B)'; - }else if(index==68&&column.label=='倒角'){ + }else if(index==70&&column.label=='倒角'){ propert = '外观检验_返修_缺陷_倒角'; - }else if(index==69&&column.label=='棕点'){ + }else if(index==71&&column.label=='棕点'){ propert = '外观检验_返修_缺陷_棕点'; - }else if(index==70&&column.label=='漏光'){ + }else if(index==72&&column.label=='漏光'){ propert = '外观检验_返修_缺陷_漏光'; - }else if(index==71&&column.label=='黑圈缺口'){ + }else if(index==73&&column.label=='黑圈缺口'){ propert = '外观检验_返修_缺陷_黑圈缺口'; - }else if(index==72&&column.label=='破损'){ + }else if(index==74&&column.label=='破损'){ propert = '外观检验_返修_缺陷_破损'; - }else if(index==73&&column.label=='尺寸小'){ + }else if(index==75&&column.label=='发白'){ + propert = '外观检验_返修_缺陷_发白'; + }else if(index==76&&column.label=='裂'){ + propert = '外观检验_返修_缺陷_裂'; + }else if(index==77&&column.label=='光圈'){ + propert = '外观检验_返修_缺陷_光圈'; + }else if(index==78&&column.label=='尺寸小'){ propert = '外观检验_返修_缺陷_尺寸小'; }else if(column.label=='外观总合格数'){ propert = '外观检验_完全总合格数'; + }else if(index==83&&column.label=='黑圈变形'){ + propert = '外观检验_抽检_缺陷_黑圈变形'; + }else if(index==84&&column.label=='黑圈缺口'){ + propert = '外观检验_抽检_缺陷_黑圈缺口'; + }else if(index==85&&column.label=='光圈'){ + propert = '外观检验_抽检_缺陷_光圈'; + }else if(index==86&&column.label=='发白'){ + propert = '外观检验_抽检_缺陷_发白'; + }else if(index==87&&column.label=='漏光'){ + propert = '外观检验_抽检_缺陷_漏光'; + }else if(index==88&&column.label=='抽检不合格'){ + propert = '外观检验_抽检_缺陷_抽检不合格'; } if (propert!=='') { const values = data.map((item) => @@ -689,24 +755,24 @@ export default { sums[index] = ((sums[index-1]/sums[28])*100).toFixed(4); } } - if(index==74){ + if(index==79){ let sum = 0; if(sums[29]){ sum += sums[29]; } - if(sums[58]){ - sum += sums[58]; + if(sums[60]){ + sum += sums[60]; } sums[index] = sum; } - if(index==75){ - if(sums[74]&&sums[28]){ - sums[index] = ((sums[74]/sums[28])*100).toFixed(2); + if(index==80){ + if(sums[79]&&sums[28]){ + sums[index] = ((sums[79]/sums[28])*100).toFixed(2); } } - if(index==76){ - if(sums[75]&&sums[24]){ - sums[index] = ((sums[75]*sums[24])/100).toFixed(2); + if(index==81){ + if(sums[80]&&sums[24]){ + sums[index] = ((sums[80]*sums[24])/100).toFixed(2); } } }); From 6df332211cf23bbd174bd79c8c39d17057fe53e7 Mon Sep 17 00:00:00 2001 From: shijing Date: Wed, 4 Mar 2026 10:50:17 +0800 Subject: [PATCH 2/4] =?UTF-8?q?fix:=E7=A6=85=E9=81=93350?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/wpm_bx/mlogbw_check_table.vue | 82 +++++++++++++++---------- 1 file changed, 48 insertions(+), 34 deletions(-) diff --git a/src/views/wpm_bx/mlogbw_check_table.vue b/src/views/wpm_bx/mlogbw_check_table.vue index 58e75b41..da5c555e 100644 --- a/src/views/wpm_bx/mlogbw_check_table.vue +++ b/src/views/wpm_bx/mlogbw_check_table.vue @@ -35,38 +35,38 @@ - - - - - - - - - - + + + + + + + + + - - - - - - - - - -
- + + 序号物料批次物料编号生产设备扭转日期{{ item.testitem_name }}{{ item.defect_name }}备注操作序号物料批次物料编号生产设备扭转日期{{ item.testitem_name }}{{ item.defect_name }}备注操作
- + + + {{ index + 1 }} + {{ row.mlogb__batch }} + {{ row.number }} ——{{ row.wpr_number_out }} + {{ row.equip_name }}{{ row.equip_number }} +
{{ row.work_start_time}}
+ {{ row[item.testitem_name] }} @@ -97,14 +97,14 @@ - + + + {{ row.note }} + @@ -1134,21 +1134,33 @@ table { width: max-content; } table { + color: #606266; border-top: 1px solid #ebeef5; border-left: 1px solid #ebeef5; } +tbody tr:nth-child(odd) { + background-color: #f5f7fa; + +} +tr{ + min-height: 40px; +} td { - height: 25px; + padding: 5px; + min-height: 40px; + line-height: 30px; text-align: left; border-right: 1px solid #ebeef5; border-bottom: 1px solid #ebeef5; } th{ - height: 34px; + padding: 12px 0; + min-height: 40px; + font-size: 12px; + color: #909399; word-break: break-all; border-right: 1px solid #ebeef5; border-bottom: 1px solid #ebeef5; - /* background-color: #5ca969; */ } input{ width: 100%; @@ -1156,8 +1168,12 @@ input{ border: none; padding: 0 2px; } -.w_30{ - width: 30px; +.checkboxInput{ + width: 14px; + height: 14px; +} +.w_50{ + width: 50px; } .w_80{ width: 80px; @@ -1174,21 +1190,19 @@ input{ .w_180{ width: 180px; } -.inlineBlock{ - display: inline-block; -} + .padding_4{ padding: 4px; /* 添加内边距 */ } .btn{ - margin: 2px 2px; + margin:0 5px; border: none; color: #ffffff; font-size: 12px; border-radius: 4px; width: 55px; - height: 20px; - line-height: 20px; + height: 30px; + line-height: 28px; } .btn_red{ background: #ff0000; From 17bc6c8428011a00fafbfc3eccbd3f83e454e6d4 Mon Sep 17 00:00:00 2001 From: shijing Date: Wed, 4 Mar 2026 10:50:55 +0800 Subject: [PATCH 3/4] =?UTF-8?q?fix:=E6=8E=92=E6=89=B3=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6=E6=96=87=E6=A1=88=E6=8F=90?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/statistics/bxerp/workHoursPB.vue | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/views/statistics/bxerp/workHoursPB.vue b/src/views/statistics/bxerp/workHoursPB.vue index c4d8f2ba..b6445730 100644 --- a/src/views/statistics/bxerp/workHoursPB.vue +++ b/src/views/statistics/bxerp/workHoursPB.vue @@ -3,6 +3,8 @@
+ 毛坯检测时间: + 排扳时间: From 42bc028585380de36f5eeb72a4d6436698520df9 Mon Sep 17 00:00:00 2001 From: TianyangZhang Date: Wed, 4 Mar 2026 16:36:57 +0800 Subject: [PATCH 4/4] =?UTF-8?q?feat:gx-hrm=20=E4=BA=BA=E5=91=98=E8=BD=AC?= =?UTF-8?q?=E6=AD=A3=E7=AD=89=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/model/hrm.js | 81 +++++++- src/views/hrm/contract.vue | 66 +++++++ src/views/hrm/contract_form.vue | 311 +++++++++++++++++++++++++++++++ src/views/hrm/employee.vue | 65 +++++++ src/views/hrm/leave.vue | 2 +- src/views/hrm/probation.vue | 119 ++++++++++++ src/views/hrm/probation_form.vue | 239 ++++++++++++++++++++++++ src/views/hrm/transfer_form.vue | 4 +- src/views/ofm/archive.vue | 13 +- 9 files changed, 887 insertions(+), 13 deletions(-) create mode 100644 src/views/hrm/contract.vue create mode 100644 src/views/hrm/contract_form.vue create mode 100644 src/views/hrm/probation.vue create mode 100644 src/views/hrm/probation_form.vue diff --git a/src/api/model/hrm.js b/src/api/model/hrm.js index c1cd53a9..04617bae 100644 --- a/src/api/model/hrm.js +++ b/src/api/model/hrm.js @@ -58,8 +58,15 @@ export default { name: "导出", req: async function(data){ return await http.get( - `${config.API_URL}/hrm/employee/export_excel/`, - data + `${config.API_URL}/hrm/employee/export_excel/`, data + ); + } + }, + import_excel: { + name: "导入", + req: async function(data){ + return await http.post( + `${config.API_URL}/hrm/employee/import_excel/`, data ); } } @@ -266,6 +273,41 @@ export default { } }, }, + empperson: { + list: { + name: "人员入职信息", + req: async function(data){ + return await http.get( + `${config.API_URL}/hrm/empperson/`, + data + ); + } + }, + item: { + name: "人员申请", + req: async function(id){ + return await http.get( + `${config.API_URL}/hrm/empperson/${id}/`, + ); + } + }, + create: { + name: "人员新增", + req: async function(data){ + return await http.post( + `${config.API_URL}/hrm/empperson/`, + data); + } + }, + delete: { + name: "人员删除", + req: async function(id){ + return await http.delete( + `${config.API_URL}/hrm/empperson/${id}/` + ); + } + }, + }, leave: { list: { name: "人员请假", @@ -336,4 +378,39 @@ export default { } }, }, + probation: { + list: { + name: "人员转正", + req: async function(data){ + return await http.get( + `${config.API_URL}/hrm/probation/`, + data + ); + } + }, + item: { + name: "人员转正申请", + req: async function(id){ + return await http.get( + `${config.API_URL}/hrm/probation/${id}/`, + ); + } + }, + create: { + name: "人员转正新增", + req: async function(data){ + return await http.post( + `${config.API_URL}/hrm/probation/`, + data); + } + }, + delete: { + name: "人员转正删除", + req: async function(id){ + return await http.delete( + `${config.API_URL}/hrm/probation/${id}/` + ); + } + }, + }, } diff --git a/src/views/hrm/contract.vue b/src/views/hrm/contract.vue new file mode 100644 index 00000000..f3d921d5 --- /dev/null +++ b/src/views/hrm/contract.vue @@ -0,0 +1,66 @@ + + \ No newline at end of file diff --git a/src/views/hrm/contract_form.vue b/src/views/hrm/contract_form.vue new file mode 100644 index 00000000..9d1ea8df --- /dev/null +++ b/src/views/hrm/contract_form.vue @@ -0,0 +1,311 @@ + + + \ No newline at end of file diff --git a/src/views/hrm/employee.vue b/src/views/hrm/employee.vue index ce0ed742..763f2b46 100644 --- a/src/views/hrm/employee.vue +++ b/src/views/hrm/employee.vue @@ -73,6 +73,43 @@ icon="el-icon-download" @click="exportExcel" >导出 + 导入 + + + + 选择文件 + + + + +
@@ -278,8 +315,14 @@ export default { save: false, permission: false, }, + importFilePath:'', deptData: [], apiObj: this.$API.hrm.employee.list, + importApiObj: { + post: (formData) => { + return this.$API.hrm.employee.import_excel.req(formData) + } + }, query: {}, tdevice: [], selection: [], @@ -288,6 +331,8 @@ export default { }, dis: false, showBindBlt: false, + importVisible: false, + cLoading: false, bltList: [], bindName: "", bindType: 10, @@ -338,6 +383,25 @@ export default { }); this.deptData = genTree(res); }, + submitImport() { + if (!this.importFilePath) { + this.$message.warning('请先选择并上传文件') + return + } + this.cLoading = true + this.$API.hrm.employee.import_excel.req({ + file_path: this.importFilePath + }) + .then(() => { + this.$message.success('导入成功') + this.importVisible = false + this.$refs.table.refresh() + this.importFilePath = '' // 可选:清空 + }) + .finally(() => { + this.cLoading = false + }) + }, //人员证书添加 // Addcertificate(row) { // this.$router.push({ @@ -480,6 +544,7 @@ export default { console.log(that.bltList); }); }, + handleBindBlt(type, row) { // this.dis = false; debugger; diff --git a/src/views/hrm/leave.vue b/src/views/hrm/leave.vue index 4670e5d4..b1dd758f 100644 --- a/src/views/hrm/leave.vue +++ b/src/views/hrm/leave.vue @@ -45,7 +45,7 @@ :query="query" @row-click="(row)=>{t_id=row.id;mode='show';drawerVisible=true;}" > - + diff --git a/src/views/hrm/probation.vue b/src/views/hrm/probation.vue new file mode 100644 index 00000000..babf9b03 --- /dev/null +++ b/src/views/hrm/probation.vue @@ -0,0 +1,119 @@ + + \ No newline at end of file diff --git a/src/views/hrm/probation_form.vue b/src/views/hrm/probation_form.vue new file mode 100644 index 00000000..e780677d --- /dev/null +++ b/src/views/hrm/probation_form.vue @@ -0,0 +1,239 @@ + + + \ No newline at end of file diff --git a/src/views/hrm/transfer_form.vue b/src/views/hrm/transfer_form.vue index 93905a33..9d1ea8df 100644 --- a/src/views/hrm/transfer_form.vue +++ b/src/views/hrm/transfer_form.vue @@ -13,7 +13,6 @@ - @@ -230,7 +229,7 @@ export default { }, watch: { formData: { - handler(val){ + handle(val){ Object.assign(this.ticket_data,{ original_slary: val.original_slary, new_slary: val.new_slary, @@ -307,7 +306,6 @@ export default { this.formData.start_date = obj.start_date; } }, - } } \ No newline at end of file diff --git a/src/views/ofm/archive.vue b/src/views/ofm/archive.vue index 11d03faf..dbf50b70 100644 --- a/src/views/ofm/archive.vue +++ b/src/views/ofm/archive.vue @@ -108,27 +108,26 @@ - + - + - + - + - + - +