生产问题修改

dev-scheduling
zhangdi 2 weeks ago
parent 6ff8035fef
commit edc17132d4
  1. 1
      package.json
  2. 3
      src/main.js
  3. 9
      src/views/processManagement/components/addTemplateDialog.vue
  4. 6
      src/views/productionManagement/beforeAndAfterPlating/components/afterPlatingEntryDialog.vue
  5. 26
      src/views/productionManagement/beforeAndAfterPlating/components/beforePlatingBoundDialog.vue
  6. 73
      src/views/productionManagement/beforeAndAfterPlating/components/beforePlatingEntryDialog.vue
  7. 22
      src/views/productionManagement/beforeAndAfterPlating/components/handoverRec.vue
  8. 204
      src/views/productionManagement/beforeAndAfterPlating/components/print.vue
  9. 2
      src/views/productionManagement/beforeAndAfterPlating/index.vue
  10. 31
      src/views/productionManagement/blbWorkOrder/components/glass.vue
  11. 29
      src/views/productionManagement/blbWorkOrder/components/others.vue
  12. 83
      src/views/productionManagement/productionMonitoring/index.vue
  13. 76
      src/views/productionManagement/sinTerWorkOrder/index.vue
  14. 83
      src/views/workRate/index.vue

@ -30,6 +30,7 @@
"js-base64": "^3.7.4", "js-base64": "^3.7.4",
"js-cookie": "^3.0.0", "js-cookie": "^3.0.0",
"js-md5": "^0.7.3", "js-md5": "^0.7.3",
"jsbarcode": "^3.12.3",
"jspdf": "^3.0.4", "jspdf": "^3.0.4",
"nprogress": "^0.2.0", "nprogress": "^0.2.0",
"pinyin": "^4.0.0", "pinyin": "^4.0.0",

@ -37,6 +37,8 @@ import tenantDatasource from './views/system/tenantdatasource.vue';
import * as echarts from 'echarts'; import * as echarts from 'echarts';
import 'virtual:svg-icons-register' import 'virtual:svg-icons-register'
import print from 'vue3-print-nb' import print from 'vue3-print-nb'
// import Barcode from 'vue-barcode';
// import print from 'vue3-print-nb' // 打印插件 // import print from 'vue3-print-nb' // 打印插件
@ -70,6 +72,7 @@ app.use(i18n);
app.use(store); app.use(store);
app.use(router); app.use(router);
app.use(print) app.use(print)
// app.component('vue-barcode', Barcode);
// app.use(print) // app.use(print)
app.use(ElementPlus, { app.use(ElementPlus, {
locale: messages[language], locale: messages[language],

@ -678,6 +678,7 @@ export default {
_tempId: this.tempId, // _tempId: this.tempId, //
id: null, id: null,
processNo: this.getProcessNo(this.ruleForm.tableData), processNo: this.getProcessNo(this.ruleForm.tableData),
isMain:'2'
}); });
} }
if (this.activeName == '2') { if (this.activeName == '2') {
@ -796,7 +797,7 @@ export default {
console.log('提交数据:', query); console.log('提交数据:', query);
// //
if (!this.moldAddMore) { if (this.title=='修改') {
update() update()
.then(res => { .then(res => {
this.formLoading = false; this.formLoading = false;
@ -805,7 +806,7 @@ export default {
message: '操作成功!', message: '操作成功!',
}); });
this.$emit('closeDialog'); this.$emit('closeDialog');
// this.getDetail(); this.getDetail();
}) })
.catch(err => { .catch(err => {
this.formLoading = false; this.formLoading = false;
@ -819,8 +820,8 @@ export default {
type: 'success', type: 'success',
message: '操作成功!', message: '操作成功!',
}); });
// this.$emit('closeDialog'); this.$emit('closeDialog');
this.getDetail(); // this.getDetail();
}) })
.catch(err => { .catch(err => {
this.formLoading = false; this.formLoading = false;

@ -70,11 +70,11 @@
</el-table-column> </el-table-column>
<el-table-column label="入库工序名称" prop="processName" align="center" width="120"> <el-table-column label="入库工序名称" prop="processName" align="center" width="120">
</el-table-column> </el-table-column>
<el-table-column label="序号" prop="nextProcessCode" align="center" width="120"> <el-table-column label="序号" prop="nextProcessCode" align="center" width="120">
</el-table-column> </el-table-column>
<el-table-column label="序名称" prop="nextProcessName" align="center" width="120"> <el-table-column label="序名称" prop="nextProcessName" align="center" width="120">
</el-table-column> </el-table-column>
<el-table-column label="序班组/供应商" prop="nextTeamCode" width="200" align="center"> <el-table-column label="序班组/供应商" prop="nextTeamCode" width="200" align="center">
</el-table-column> </el-table-column>
<el-table-column label="入库数量" prop="inQuantity" align="center" width="120"> <el-table-column label="入库数量" prop="inQuantity" align="center" width="120">
</el-table-column> </el-table-column>

@ -32,35 +32,23 @@
height="500px" height="500px"
> >
<el-table-column type="selection" fixed></el-table-column> <el-table-column type="selection" fixed></el-table-column>
<!-- <el-table-column label="单号" prop="paCode" align="center" width="200"></el-table-column> --> <el-table-column label="车间订单" prop="woCode" align="center" width="150">
<el-table-column label="车间订单" prop="woCode" align="center" width="200">
<!-- prop="woCode"<template #header>
<span><i style="color: red">*</i>车间订单</span>
</template>
<template #default="scope">
<el-form-item
:prop="`beforePlatingEntryData[${scope.$index}].woCode`"
:rules="formRules.woCode"
>
<el-input v-model="scope.row.woCode" placeholder="请输入车间订单"></el-input>
</el-form-item>
</template> -->
</el-table-column> </el-table-column>
<el-table-column label="批次号" prop="batchNo" align="center" width="200"></el-table-column> <el-table-column label="批次号" prop="batchNo" align="center" width="150"></el-table-column>
<el-table-column <el-table-column
label="流程卡号" label="流程卡号"
prop="cardNo" prop="cardNo"
align="center" align="center"
width="200" width="150"
></el-table-column> ></el-table-column>
<el-table-column label="出库班组/供应商" prop="teamCode" width="200" align="center"> <el-table-column label="出库班组/供应商" prop="teamCode" width="150" align="center">
</el-table-column> </el-table-column>
<el-table-column label="出库工序号" prop="processCode" align="center"> </el-table-column> <el-table-column label="出库工序号" prop="processCode" align="center"> </el-table-column>
<el-table-column label="出库工序名称" prop="processName" align="center" width="200"> <el-table-column label="出库工序名称" prop="processName" align="center" width="150">
</el-table-column> </el-table-column>
<el-table-column label="下序号" prop="nextProcessCode" align="center"> </el-table-column> <el-table-column label="下序号" prop="nextProcessCode" align="center"> </el-table-column>
<el-table-column label="下序名称" prop="processName" align="center"> </el-table-column> <el-table-column label="下序名称" prop="nextProcessName" align="center"> </el-table-column>
<el-table-column label="下序班组/供应商" prop="nextTeamCode" width="200" align="center"> <el-table-column label="下序班组/供应商" prop="nextTeamCode" width="150" align="center">
</el-table-column> </el-table-column>
<el-table-column label="出库数量" prop="inQuantity" align="center"> </el-table-column> <el-table-column label="出库数量" prop="inQuantity" align="center"> </el-table-column>
</el-table> </el-table>

@ -32,81 +32,26 @@
:height="tableHeight" :height="tableHeight"
> >
<el-table-column type="selection" fixed></el-table-column> <el-table-column type="selection" fixed></el-table-column>
<!-- <el-table-column label="单号" prop="paCode" align="center" width="200"></el-table-column> -->
<el-table-column label="车间订单" prop="woCode" align="center" width="200"> <el-table-column label="车间订单" prop="woCode" align="center" width="150">
<!-- prop="woCode"<template #header>
<span><i style="color: red">*</i>车间订单</span>
</template>
<template #default="scope">
<el-form-item
:prop="`beforePlatingEntryData[${scope.$index}].woCode`"
:rules="formRules.woCode"
>
<el-input v-model="scope.row.woCode" placeholder="请输入车间订单"></el-input>
</el-form-item>
</template> -->
</el-table-column> </el-table-column>
<el-table-column label="批次号" prop="batchNo" align="center" width="200"></el-table-column> <el-table-column label="批次号" prop="batchNo" align="center" width="150"></el-table-column>
<el-table-column <el-table-column
label="流程卡号" label="流程卡号"
prop="cardNo" prop="cardNo"
align="center" align="center"
width="200" width="150"
></el-table-column> ></el-table-column>
<el-table-column label="入库班组/供应商" prop="teamCode" width="200" align="center"> <el-table-column label="入库班组/供应商" prop="teamCode" width="150" align="center">
</el-table-column> </el-table-column>
<el-table-column label="入库工序号" prop="processCode" align="center"> </el-table-column> <el-table-column label="入库工序号" prop="processCode" align="center"> </el-table-column>
<el-table-column label="入库工序名称" prop="processName" align="center" width="200"> <el-table-column label="入库工序名称" prop="processName" align="center" width="150">
</el-table-column> </el-table-column>
<el-table-column label="下序号" prop="nextProcessCode" align="center"> </el-table-column> <el-table-column label="下序号" prop="nextProcessCode" align="center"> </el-table-column>
<el-table-column label="下序名称" prop="processName" align="center"> </el-table-column> <el-table-column label="下序名称" prop="nextProcessName" align="center"> </el-table-column>
<el-table-column label="下序班组/供应商" prop="nextTeamCode" width="200" align="center"> <el-table-column label="下序班组/供应商" prop="nextTeamCode" width="150" align="center">
</el-table-column> </el-table-column>
<el-table-column label="入库数量" prop="inQuantity" align="center"> </el-table-column> <el-table-column label="入库数量" prop="inQuantity" align="center"> </el-table-column>
<!-- <el-table-column label="入库人员" prop="userName" align="center" width="200">
<template #header>
<span><i style="color: red">*</i>入库人员</span>
</template>
<template #default="scope">
<el-form-item
:prop="`beforePlatingEntryData[${scope.$index}].userId`"
:rules="formRules.userId"
>
<el-select
filterable
clearable
v-model="scope.row.userId"
placeholder="请选择入库人员"
>
<el-option
v-for="item in userList"
:key="item.id"
:label="item.realName"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
</template>
</el-table-column>
<el-table-column label="入库时间" prop="createTime" align="center" width="200">
<template #header>
<span><i style="color: red">*</i>入库时间</span>
</template>
<template #default="scope">
<el-form-item
:prop="`beforePlatingEntryData[${scope.$index}].createTime`"
:rules="formRules.createTime"
>
<el-date-picker
v-model="scope.row.createTime"
type="datetime"
placeholder="选择日期时间"
value-format="yyyy-MM-dd HH:mm:ss"
style="width: 100%"
></el-date-picker>
</el-form-item>
</template>
</el-table-column> -->
</el-table> </el-table>
</el-form> </el-form>
@ -257,7 +202,7 @@ export default {
wpId: item.wpId, wpId: item.wpId,
tsId: item.teamId, tsId: item.teamId,
ocId: item.ocId ? item.ocId : null, ocId: item.ocId ? item.ocId : null,
quantity:item.inQuantity quantity: item.inQuantity,
}); });
}); });
savePlateAroundPlateFrontEnter(query) savePlateAroundPlateFrontEnter(query)

@ -31,7 +31,13 @@
</avue-crud> </avue-crud>
<!-- 打印 --> <!-- 打印 -->
<print v-if="printShow" :showPrint="printShow" @cancel="cancel"></print> <print
ref="printNew"
v-if="printShow"
:showPrint="printShow"
:rowData="rowData"
@cancel="cancel"
></print>
</div> </div>
</template> </template>
@ -240,6 +246,7 @@ export default {
}, },
data: [], data: [],
rowData: [],
}; };
}, },
methods: { methods: {
@ -257,10 +264,17 @@ export default {
this.list.push(item.id); this.list.push(item.id);
}); });
this.printShow = true; this.printShow = true;
handoverRecordPrint({ hrIds: this.list.join(',') }).then(res => { this.rowData = this.list;
console.log(res, 'res'); setTimeout(() => {
this.printLoading = false; this.printLoading = false;
}); }, 1000);
// this.$refs.printNew.open()
// handoverRecordPrint({ hrIds: this.list.join(',') }).then(res => {
// console.log(res, 'res');
// this.printLoading = false;
// }).catch(err=>{
// this.printLoading = false;
// })
// this.$refs.printClick.open('prHandoverRecord/print', { // this.$refs.printClick.open('prHandoverRecord/print', {
// list: this.list, // list: this.list,
// hrType: this.hrType // hrType: this.hrType

@ -1,39 +1,51 @@
<template> <template>
<el-dialog v-drag v-loading="loading" title="打印预览" :modelValue="showPrint" :before-close="cancel" :def-width="1200" top="0" fullscreen > <el-dialog
v-drag
v-loading="loading"
title="打印预览"
:modelValue="showPrint"
:before-close="cancel"
:def-width="1200"
top="0"
fullscreen
>
<el-button v-print="printObj" type="primary" class="printButton">打印</el-button> <el-button v-print="printObj" type="primary" class="printButton">打印</el-button>
<div v-if="showPrint" id="printMe" ref="printContent" class="printBox"> <div v-if="showPrint" id="printMe" ref="printContent" class="printBox">
<template v-for="(item, index) in tablist"> <template v-for="(item, index) in tablist">
<table v-if="item.hrType == 1" border="0" class="table_box" style="width: 100%">
<table v-if="item.hrType == 1" border="0" class="table_box" style="width:100%">
<tr class="tr_fist"> <tr class="tr_fist">
<td style="border:0;font-size:20px"> <td style="border: 0; font-size: 20px">
<div class="tableTitleBarcodeCenter" style="transform: translate(-50%);">转工交接单</div> <div class="tableTitleBarcodeCenter" style="transform: translate(-50%)">
转工交接单
</div>
</td> </td>
</tr> </tr>
<tr class="tr_fist"> <tr class="tr_fist">
<td style="border:0;font-size:20px;"> <td style="border: 0; font-size: 20px">
<div class="tableTitleBarcode tableTitleBarcodeCenter" style="height:20px"> <div class="tableTitleBarcode tableTitleBarcodeCenter" style="height: 20px">
<vue-barcode :value="item.hrCode" format="CODE128" class="barCode" width="2" height="36" /> <svg
v-if="item.hrCode"
:ref="`barcode-${index}-${item.hrType}`"
class="barCode"
></svg>
</div> </div>
</td> </td>
</tr> </tr>
<tr class="tr_fist"> <tr class="tr_fist">
<td colspan="10" style="border:0;font-size:12px;padding-bottom:30px"> <td colspan="10" style="border: 0; font-size: 12px; padding-bottom: 30px">
<div class="tableTitle"> <div class="tableTitle">
<div style="z-index:9999">车间订单:{{ item.woCode }}</div> <div style="z-index: 9999">车间订单:{{ item.woCode }}</div>
</div> </div>
</td> </td>
</tr> </tr>
<tr class="tr_fist"> <tr class="tr_fist">
<td>委托车间</td> <td>委托车间</td>
<td>{{ item.entrustDept }}</td> <td>{{ item.entrustDept }}</td>
</tr> </tr>
<tr class="tr_fist"> <tr class="tr_fist">
<td>承制车间</td> <td>承制车间</td>
<td>4A</td> <td>4A</td>
</tr> </tr>
<tr class="tr_fist"> <tr class="tr_fist">
<td rowspan="2" colspan="3">工作订单</td> <td rowspan="2" colspan="3">工作订单</td>
@ -55,9 +67,9 @@
<td colspan="2">{{ item.partCode }}</td> <td colspan="2">{{ item.partCode }}</td>
<td>{{ item.prodIdent }}</td> <td>{{ item.prodIdent }}</td>
<td>{{ item.makeQty }}</td> <td>{{ item.makeQty }}</td>
<td>{{ }}</td> <td>{{}}</td>
<td>{{ item.handoverQty }}</td> <td>{{ item.handoverQty }}</td>
<td>{{ }}</td> <td>{{}}</td>
</tr> </tr>
<tr class="tr_fist"> <tr class="tr_fist">
<td rowspan="2">废品数</td> <td rowspan="2">废品数</td>
@ -66,7 +78,7 @@
<td colspan="2">定额</td> <td colspan="2">定额</td>
<td colspan="2">金额</td> <td colspan="2">金额</td>
<td colspan="3" rowspan="2">转工人:{{ item.createMan }}</td> <td colspan="3" rowspan="2">转工人:{{ item.createMan }}</td>
<td colspan="2" rowspan="3">收件人:{{ }}</td> <td colspan="2" rowspan="3">收件人:{{}}</td>
</tr> </tr>
<tr class="tr_fist"> <tr class="tr_fist">
<td>单件</td> <td>单件</td>
@ -78,36 +90,46 @@
<td>{{ item.scrapQty }}</td> <td>{{ item.scrapQty }}</td>
<td>{{ item.testQty }}</td> <td>{{ item.testQty }}</td>
<td>{{ item.useQty }}</td> <td>{{ item.useQty }}</td>
<td>{{ }}</td> <td>{{}}</td>
<td>{{ }}</td> <td>{{}}</td>
<td>{{ }}</td> <td>{{}}</td>
<td>{{ }}</td> <td>{{}}</td>
<td colspan="3">时间:{{ item.tableDate }}</td> <td colspan="3">时间:{{ item.tableDate }}</td>
</tr> </tr>
</table> </table>
<table v-if="item.hrType == 0" border="0" class="table_box" style="width:100%"> <table v-if="item.hrType == 0" border="0" class="table_box" style="width: 100%">
<tr class="tr_fist"> <tr class="tr_fist">
<td colspan="16" style="border:0;font-size:20px"> <td colspan="16" style="border: 0; font-size: 20px">
<div class="tableTitleBarcode" style="height:50px"> <div class="tableTitleBarcode" style="height: 50px">
<vue-barcode :value="item.hrCode" format="CODE128" class="barCode" width="3" height="36" /> <svg
v-if="item.hrCode"
:ref="`barcode-${index}-${item.hrType}`"
class="barCode"
></svg>
<!-- <vue-barcode
:value="item.hrCode"
format="CODE128"
class="barCode"
width="3"
height="36"
/> -->
</div> </div>
</td> </td>
</tr> </tr>
<tr class="tr_fist"> <tr class="tr_fist">
<td colspan="16" style="border:0;font-size:20px;padding-top:30px"> <td colspan="16" style="border: 0; font-size: 20px; padding-top: 30px">
<div>热表分厂零部件入库支出卡</div> <div>热表分厂零部件入库支出卡</div>
</td> </td>
</tr> </tr>
<tr class="tr_fist" style="border:0"> <tr class="tr_fist" style="border: 0">
<td colspan="16" style="border:0"> <td colspan="16" style="border: 0">
<div style="width:100%;border:1px #000 solid" /> <div style="width: 100%; border: 1px #000 solid" />
</td> </td>
</tr> </tr>
<tr class="tr_fist"> <tr class="tr_fist">
<td colspan="16" style="border:0;font-size:12px"> <td colspan="16" style="border: 0; font-size: 12px">
<div class="tableTitle"> <div class="tableTitle">
<div style="z-index:9999">工作订单:{{ item.poCode }}</div> <div style="z-index: 9999">工作订单:{{ item.poCode }}</div>
<div>车间订单:{{ item.woCode }}</div> <div>车间订单:{{ item.woCode }}</div>
<div>入库单号:{{ item.hrCode }}</div> <div>入库单号:{{ item.hrCode }}</div>
<div>计划部门:{{ item.useDept }}</div> <div>计划部门:{{ item.useDept }}</div>
@ -139,9 +161,9 @@
<td>{{ item.oldCode }}</td> <td>{{ item.oldCode }}</td>
<td>{{ item.makeQty }}</td> <td>{{ item.makeQty }}</td>
<td>{{ item.weight }}</td> <td>{{ item.weight }}</td>
<td>{{ }}</td> <td>{{}}</td>
<td>{{ }}</td> <td>{{}}</td>
<td>{{ }}</td> <td>{{}}</td>
</tr> </tr>
<tr class="tr_fist"> <tr class="tr_fist">
<td colspan="2">批次号</td> <td colspan="2">批次号</td>
@ -149,17 +171,15 @@
<td colspan="2">提交数量</td> <td colspan="2">提交数量</td>
<td>{{ item.handoverQty }}</td> <td>{{ item.handoverQty }}</td>
<td colspan="2">实收数量</td> <td colspan="2">实收数量</td>
<td>{{ }}</td> <td>{{}}</td>
<td>实收重量</td> <td>实收重量</td>
<td>{{ }}</td> <td>{{}}</td>
<td colspan="2">收件人</td> <td colspan="2">收件人</td>
<td>{{ }}</td> <td>{{}}</td>
</tr> </tr>
<tr class="tr_fist"> <tr class="tr_fist">
<td colspan="2">相似物料号</td> <td colspan="2">相似物料号</td>
<td colspan="12">{{ }}</td> <td colspan="12">{{}}</td>
</tr> </tr>
<tr class="tr_fist"> <tr class="tr_fist">
<td>序号</td> <td>序号</td>
@ -177,15 +197,15 @@
<td>支出数</td> <td>支出数</td>
<td>库存数</td> <td>库存数</td>
</tr> </tr>
<tr v-for="(item, index) in 8" class="textTd" style="page-break-inside: avoid"> <tr v-for="(item, index) in 8" class="textTd" style="page-break-inside: avoid">
<td>{{ index+1 }}</td> <td>{{ index + 1 }}</td>
<td /> <td />
<td /> <td />
<td /> <td />
<td /> <td />
<td /> <td />
<td /> <td />
<td>{{ (index+1)*2 }}</td> <td>{{ (index + 1) * 2 }}</td>
<td /> <td />
<td /> <td />
<td /> <td />
@ -194,11 +214,11 @@
<td /> <td />
</tr> </tr>
<tr class="tr_fist"> <tr class="tr_fist">
<td colspan="16" style="border:0;font-size:12px"> <td colspan="16" style="border: 0; font-size: 12px">
<div class="tableTitle"> <div class="tableTitle">
<div>保管员:{{ item.custodian }}</div> <div>保管员:{{ item.custodian }}</div>
<div>库房号:{{ }}</div> <div>库房号:{{}}</div>
<div>库位号:{{ }}</div> <div>库位号:{{}}</div>
<div>车间提交人:{{ item.createMan }}</div> <div>车间提交人:{{ item.createMan }}</div>
<div>计划员:{{ item.planUser }}</div> <div>计划员:{{ item.planUser }}</div>
<div /> <div />
@ -206,43 +226,52 @@
</td> </td>
</tr> </tr>
<tr class="tr_fist"> <tr class="tr_fist">
<td colspan="16" style="border:0;font-size:12px"> <td colspan="16" style="border: 0; font-size: 12px">
<div class="tableTitle"> <div class="tableTitle">
<div style="z-index:9999">审理单号:{{ }}</div> <div style="z-index: 9999">审理单号:{{}}</div>
<div>备注:{{ }}</div> <div>备注:{{}}</div>
<div>使用部门:{{ item.recDept }}</div> <div>使用部门:{{ item.recDept }}</div>
<div>制表日期:{{ item.tableDate }}</div> <div>制表日期:{{ item.tableDate }}</div>
<div /> <div />
</div> </div>
</td> </td>
</tr> </tr>
</table> </table>
<table> <table>
<tr v-for="i in 3" class="tr_fist"> <tr v-for="i in 3" class="tr_fist">
<td colspan="16" style="border:0;font-size:12px"> <td colspan="16" style="border: 0; font-size: 12px">
<div class="tableTitle" /> <div class="tableTitle" />
</td> </td>
</tr> </tr>
</table> </table>
</template> </template>
</div> </div>
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
import { handoverRecordPrint } from '@/api/productionManagement/beforeAndAfterPlating';
// import VueBarcode from 'vue-barcode';
import JsBarcode from 'jsbarcode';
export default { export default {
name: 'Print', name: 'Print',
components: {
// 'vue-barcode': VueBarcode
},
props: { props: {
showPrint: { showPrint: {
type: Boolean, type: Boolean,
default: false default: false,
}, },
idList: { idList: {
type: Array, type: Array,
default: () => [] default: () => [],
} },
rowData: {
type: Array,
default: () => [],
},
}, },
data() { data() {
return { return {
@ -252,34 +281,67 @@ export default {
id: 'printMe', id: 'printMe',
popTitle: '打印66', popTitle: '打印66',
ignoreClass: 'noprint', ignoreClass: 'noprint',
endCallback: (e) => { endCallback: e => {
console.log(e, 5555); console.log(e, 5555);
} },
} },
}; };
}, },
watch: {}, watch: {
// tablist
tablist: {
handler() {
if (this.tablist.length > 0) {
this.$nextTick(() => {
this.generateBarcodes();
});
}
},
deep: true,
},
},
created() {}, created() {},
mounted() {
this.open();
},
methods: { methods: {
generateBarcodes() {
this.tablist.forEach((item, index) => {
const refName = `barcode-${index}-${item.hrType}`;
const el = this.$refs[refName];
if (el && el[0] && item.hrCode) {
JsBarcode(el[0], item.hrCode, {
format: 'CODE128',
width: 2,
height: 36,
displayValue: false,
margin: 0,
});
}
});
},
open() { open() {
this.loading = true; this.loading = true;
this.$ajax handoverRecordPrint({ hrIds: this.rowData.join(',') }).then(res => {
.post('prHandoverRecord/newPrint', { this.tablist = res.data.data;
list: this.idList });
}) // this.$ajax
.then((res) => { // .post('prHandoverRecord/newPrint', {
if (this.$ifAjax(res)) { // list: this.idList
this.tablist = res.data; // })
} // .then((res) => {
this.loading = false; // if (this.$ifAjax(res)) {
}); // this.tablist = res.data;
// }
// this.loading = false;
// });
}, },
cancel() { cancel() {
this.tablist = []; this.tablist = [];
this.$emit('cancel'); this.$emit('cancel');
} },
} },
}; };
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">

@ -10,7 +10,7 @@
<!-- 维护记录 --> <!-- 维护记录 -->
<maintainRecords v-if="tabPosition == 'maintainRecords'"></maintainRecords> <maintainRecords v-if="tabPosition == 'maintainRecords'"></maintainRecords>
<!-- 入库记录 --> <!-- 入库 -->
<handoverRec v-if="tabPosition == 'handoverRec'"></handoverRec> <handoverRec v-if="tabPosition == 'handoverRec'"></handoverRec>
<!-- 镀后入库表格数据 --> <!-- 镀后入库表格数据 -->
<template v-if="tabPosition == 'afterPlatingEntry'"> <template v-if="tabPosition == 'afterPlatingEntry'">

@ -29,7 +29,7 @@
<!-- <el-button type="primary" @click="queryOrdersHandle('')">全部</el-button> --> <!-- <el-button type="primary" @click="queryOrdersHandle('')">全部</el-button> -->
</template> </template>
<template #menu="scope"> <template #menu="scope">
<el-row> <!-- <el-row>
<el-col :span="6"> <el-col :span="6">
<el-button type="text" @click="clickProduction(scope.row)">生产监控</el-button> <el-button type="text" @click="clickProduction(scope.row)">生产监控</el-button>
</el-col> </el-col>
@ -45,7 +45,30 @@
<el-col :span="6" v-if="scope.row.runStatus < 15"> <el-col :span="6" v-if="scope.row.runStatus < 15">
<el-button type="text" @click="handleClose(scope.row)">关闭</el-button> <el-button type="text" @click="handleClose(scope.row)">关闭</el-button>
</el-col> </el-col>
</el-row> </el-row> -->
<el-button type="text" @click="clickProduction(scope.row)">生产监控</el-button>
<el-button type="text" @click="printCraftCard_new(scope.row)">流程卡</el-button>
<el-dropdown size="small" style="margin-top: 2px; margin-left: 10px">
<span class="el-dropdown-link">
更多
<el-icon class="el-icon--right">
<arrow-down />
</el-icon>
</span>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item v-if="scope.row.runStatus === 2">
<el-button type="text" @click="priorityFn(scope.row)">优先级</el-button>
</el-dropdown-item>
<el-dropdown-item v-if="[2, 3, 4, 6].includes(scope.row.runStatus)">
<el-button type="text" @click="handleBatches(scope.row)">分批</el-button>
</el-dropdown-item>
<el-dropdown-item v-if="scope.row.runStatus < 15">
<el-button type="text" @click="handleClose(scope.row)">关闭</el-button>
</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
</template> </template>
</avue-crud> </avue-crud>
<el-dialog append-to-body v-model="printDialog" title="打印标签"> <el-dialog append-to-body v-model="printDialog" title="打印标签">
@ -175,7 +198,7 @@ export default {
editBtnIcon: ' ', editBtnIcon: ' ',
viewBtnText: '详情', viewBtnText: '详情',
labelWidth: 120, labelWidth: 120,
menuWidth: 220, menuWidth: 180,
dialogWidth: 1200, dialogWidth: 1200,
dialogClickModal: false, dialogClickModal: false,
searchEnter: true, searchEnter: true,
@ -598,7 +621,7 @@ export default {
getList( getList(
page.currentPage, page.currentPage,
page.pageSize, page.pageSize,
Object.assign(params, this.query, { yieldType: '120003' }) Object.assign(params, this.query, { yieldType: '12003' })
).then(res => { ).then(res => {
this.data = res.data.data.records; this.data = res.data.data.records;
this.loading = false; this.loading = false;

@ -29,7 +29,30 @@
<!-- <el-button type="primary" @click="queryOrdersHandle('')">全部</el-button> --> <!-- <el-button type="primary" @click="queryOrdersHandle('')">全部</el-button> -->
</template> </template>
<template #menu="scope"> <template #menu="scope">
<el-row> <el-button type="text" @click="clickProduction(scope.row)">生产监控</el-button>
<el-button type="text" @click="printCraftCard_new(scope.row)">流程卡</el-button>
<el-dropdown size="small" style="margin-top: 2px; margin-left: 10px">
<span class="el-dropdown-link">
更多
<el-icon class="el-icon--right">
<arrow-down />
</el-icon>
</span>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item v-if="scope.row.runStatus === 2">
<el-button type="text" @click="priorityFn(scope.row)">优先级</el-button>
</el-dropdown-item>
<el-dropdown-item v-if="[2, 3, 4, 6].includes(scope.row.runStatus)">
<el-button type="text" @click="handleBatches(scope.row)">分批</el-button>
</el-dropdown-item>
<el-dropdown-item v-if="scope.row.runStatus < 15">
<el-button type="text" @click="handleClose(scope.row)">关闭</el-button>
</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
<!-- <el-row>
<el-col :span="6"> <el-col :span="6">
<el-button type="text" @click="clickProduction(scope.row)">生产监控</el-button> <el-button type="text" @click="clickProduction(scope.row)">生产监控</el-button>
</el-col> </el-col>
@ -45,7 +68,7 @@
<el-col :span="6" v-if="scope.row.runStatus < 15"> <el-col :span="6" v-if="scope.row.runStatus < 15">
<el-button type="text" @click="handleClose(scope.row)">关闭</el-button> <el-button type="text" @click="handleClose(scope.row)">关闭</el-button>
</el-col> </el-col>
</el-row> </el-row> -->
</template> </template>
</avue-crud> </avue-crud>
<el-dialog append-to-body v-model="printDialog" title="打印标签"> <el-dialog append-to-body v-model="printDialog" title="打印标签">
@ -175,7 +198,7 @@ export default {
editBtnIcon: ' ', editBtnIcon: ' ',
viewBtnText: '详情', viewBtnText: '详情',
labelWidth: 120, labelWidth: 120,
menuWidth: 220, menuWidth: 180,
dialogWidth: 1200, dialogWidth: 1200,
dialogClickModal: false, dialogClickModal: false,
searchEnter: true, searchEnter: true,

@ -29,32 +29,38 @@
</template> </template>
<template #menu="scope"> <template #menu="scope">
<el-row> <el-button type="text" @click="clickProduction(scope.row)">生产监控</el-button>
<el-col :span="6"> <el-button type="text" @click="printCraftCard_new(scope.row)">流程卡</el-button>
<el-button type="text" @click="clickProduction(scope.row)">生产监控</el-button> <el-dropdown size="small" style="margin-top: 2px;margin-left:10px">
</el-col> <span class="el-dropdown-link">
<el-col :span="6"> 更多
<el-button type="text" @click="printCraftCard_new(scope.row)">流程卡</el-button> <el-icon class="el-icon--right">
</el-col> <arrow-down />
<el-col :span="6" v-if="scope.row.runStatus === 2"> </el-icon>
<el-button type="text" @click="priorityFn(scope.row)">优先级</el-button> </span>
</el-col> <template #dropdown>
<el-col :span="6" v-if="[2, 3, 4, 6].includes(scope.row.runStatus)"> <el-dropdown-menu>
<el-button type="text" @click="handleBatches(scope.row)">分批</el-button> <el-dropdown-item v-if="scope.row.runStatus === 2">
</el-col> <el-button type="text" @click="priorityFn(scope.row)">优先级</el-button>
<el-col :span="6" v-if="scope.row.runStatus === 3 || scope.row.runStatus === 4"> </el-dropdown-item>
<el-button type="text" @click="handleAbnormal(scope.row)">异常申报</el-button> <el-dropdown-item v-if="[2, 3, 4, 6].includes(scope.row.runStatus)">
</el-col> <el-button type="text" @click="handleBatches(scope.row)">分批</el-button>
<el-col :span="6" v-if="scope.row.runStatus <= 6 && scope.row.runStatus !== 5"> </el-dropdown-item>
<el-button type="text" @click="handleOutsource(scope.row)">转外协</el-button> <el-dropdown-item v-if="scope.row.runStatus === 3 || scope.row.runStatus === 4">
</el-col> <el-button type="text" @click="handleAbnormal(scope.row)">异常申报</el-button>
<el-col :span="6" v-if="scope.row.runStatus <= 6 && scope.row.runStatus !== 5"> </el-dropdown-item>
<el-button type="text" @click="handleSintering(scope.row)">转烧结</el-button> <el-dropdown-item v-if="scope.row.runStatus <= 6 && scope.row.runStatus !== 5">
</el-col> <el-button type="text" @click="handleOutsource(scope.row)">转外协</el-button>
<el-col :span="6" v-if="scope.row.runStatus < 15"> </el-dropdown-item>
<el-button type="text" @click="handleClose(scope.row)">关闭</el-button> <el-dropdown-item v-if="scope.row.runStatus <= 6 && scope.row.runStatus !== 5">
</el-col> <el-button type="text" @click="handleSintering(scope.row)">转烧结</el-button>
</el-row> </el-dropdown-item>
<el-dropdown-item v-if="scope.row.runStatus < 15">
<el-button type="text" @click="handleClose(scope.row)">关闭</el-button>
</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
</template> </template>
</avue-crud> </avue-crud>
<!-- 打印标签 --> <!-- 打印标签 -->
@ -185,7 +191,7 @@ export default {
editBtnText: '修改', editBtnText: '修改',
viewBtnText: '详情', viewBtnText: '详情',
labelWidth: 120, labelWidth: 120,
menuWidth: 240, menuWidth: 180,
dialogWidth: 1200, dialogWidth: 1200,
dialogClickModal: false, dialogClickModal: false,
searchEnter: true, searchEnter: true,
@ -762,4 +768,25 @@ export default {
}; };
</script> </script>
<style></style> <style lang="scss" scoped>
:deep(.el-dropdown-link) {
cursor: pointer;
color: var(--el-color-primary);
display: flex;
align-items: center;
font-size: 12px; // el-button type="text"
&:hover {
color: var(--el-color-primary-light-3);
}
}
:deep(.el-dropdown-menu__item) {
font-size: 12px; //
padding: 8px 16px;
&:hover {
background-color: var(--el-fill-color-light);
}
}
</style>

@ -30,15 +30,38 @@
<el-button type="success" plain @click="queryOrdersHandle('15')">已完工</el-button> <el-button type="success" plain @click="queryOrdersHandle('15')">已完工</el-button>
</template> </template>
<template #menu="scope"> <template #menu="scope">
<el-row> <el-button type="text" @click="clickProduction(scope.row)">生产监控</el-button>
<el-button type="text" @click="printCraftCard_new(scope.row)">流程卡</el-button>
<el-dropdown size="small" style="margin-top: 2px; margin-left: 10px">
<span class="el-dropdown-link">
更多
<el-icon class="el-icon--right">
<arrow-down />
</el-icon>
</span>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item v-if="scope.row.runStatus === 2">
<el-button type="text" @click="priorityFn(scope.row)">优先级</el-button>
</el-dropdown-item>
<el-dropdown-item v-if="[2, 3, 4, 6].includes(scope.row.runStatus)">
<el-button type="text" @click="handleBatches(scope.row)">分批</el-button>
</el-dropdown-item>
<el-dropdown-item v-if="scope.row.runStatus < 15">
<el-button type="text" @click="handleClose(scope.row)">关闭</el-button>
</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
<!-- <el-row>
<el-col :span="6"> <el-col :span="6">
<el-button type="text" @click="clickProduction(scope.row)">生产监控</el-button>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-button type="text" @click="printCraftCard_new(scope.row)">流程卡</el-button>
</el-col> </el-col>
<el-col :span="6" v-if="scope.row.runStatus === 2"> <el-col :span="6" >
<el-button type="text" @click="priorityFn(scope.row)">优先级</el-button>
</el-col> </el-col>
<el-col :span="6" v-if="[2, 3, 4, 6].includes(scope.row.runStatus)"> <el-col :span="6" v-if="[2, 3, 4, 6].includes(scope.row.runStatus)">
<el-button type="text" @click="handleBatches(scope.row)">分批</el-button> <el-button type="text" @click="handleBatches(scope.row)">分批</el-button>
@ -46,7 +69,7 @@
<el-col :span="6" v-if="scope.row.runStatus < 15"> <el-col :span="6" v-if="scope.row.runStatus < 15">
<el-button type="text" @click="handleClose(scope.row)">关闭</el-button> <el-button type="text" @click="handleClose(scope.row)">关闭</el-button>
</el-col> </el-col>
</el-row> </el-row> -->
<!-- <el-button <!-- <el-button
type="text" type="text"
@ -108,7 +131,6 @@
@closeDialog="closeDialog" @closeDialog="closeDialog"
></productionMonitoringDialog> ></productionMonitoringDialog>
<!-- 生产监控 --> <!-- 生产监控 -->
<workRate <workRate
v-if="isWorkRateOpen" v-if="isWorkRateOpen"
@ -136,12 +158,12 @@ export default {
closedDialog, closedDialog,
abnormalDialog, abnormalDialog,
productionMonitoringDialog, productionMonitoringDialog,
workRate workRate,
}, },
data() { data() {
return { return {
itemData: [], itemData: [],
isWorkRateOpen: false, isWorkRateOpen: false,
isPriorityOpen: false, isPriorityOpen: false,
showAbnormal: false, showAbnormal: false,
showRadio: true, showRadio: true,
@ -189,7 +211,7 @@ isWorkRateOpen: false,
viewBtnText: '详情', viewBtnText: '详情',
labelWidth: 120, labelWidth: 120,
// searchLabelWidth: 120, // searchLabelWidth: 120,
menuWidth: 220, menuWidth: 180,
dialogWidth: 1200, dialogWidth: 1200,
dialogClickModal: false, dialogClickModal: false,
searchEnter: true, searchEnter: true,
@ -569,7 +591,7 @@ isWorkRateOpen: false,
}, },
// //
clickProduction(row) { clickProduction(row) {
this.rowItem = row; this.rowItem = row;
this.isWorkRateOpen = true; this.isWorkRateOpen = true;
}, },
// //
@ -604,14 +626,13 @@ isWorkRateOpen: false,
handlePrint() { handlePrint() {
if (this.selectionList.length == 0) { if (this.selectionList.length == 0) {
this.$message.error('请先选择数据'); this.$message.error('请先选择数据');
return false return false;
} }
if(this.selectionList.length > 1){ if (this.selectionList.length > 1) {
this.$message.error('只能选择一条数据'); this.$message.error('只能选择一条数据');
return false return false;
} }
window.open(window.PROCESS_FLOW_CARD_PRINT_SUPPORT+'?yold='+this.selectionList[0].yoId); window.open(window.PROCESS_FLOW_CARD_PRINT_SUPPORT + '?yold=' + this.selectionList[0].yoId);
}, },
// //
handleAbnormal(row) { handleAbnormal(row) {
@ -676,4 +697,25 @@ isWorkRateOpen: false,
}; };
</script> </script>
<style></style> <style lang="scss" scoped>
:deep(.el-dropdown-link) {
cursor: pointer;
color: var(--el-color-primary);
display: flex;
align-items: center;
font-size: 12px; // el-button type="text"
&:hover {
color: var(--el-color-primary-light-3);
}
}
:deep(.el-dropdown-menu__item) {
font-size: 12px; //
padding: 8px 16px;
&:hover {
background-color: var(--el-fill-color-light);
}
}
</style>

@ -7,22 +7,39 @@
@close="closeDialog" @close="closeDialog"
fullscreen fullscreen
> >
<el-descriptions title="订单信息"></el-descriptions> <el-descriptions title="订单信息">
<template #extra>
<el-button type="primary" @click="refreshData" :loading="refreshLoading">刷新</el-button>
</template>
</el-descriptions>
<div class="order-box"> <div class="order-box">
<div class="order-item" v-for="(item, index) in displayOrderItems" :key="index"> <div
{{ item.label }} class="order-item"
<span v-for="(item, index) in displayOrderItems"
v-if="item.clickable" :key="index"
style="cursor: pointer; font-weight: 500" :class="{ 'expand-item': item.isExpandBtn }"
@dblclick="item.clickHandler" >
>{{ item.value }}</span <!-- 展开按钮 -->
> <template v-if="item.isExpandBtn">
<span v-else-if="item.style" :style="item.style">{{ item.value }}</span> <el-button type="text" @click="toggleOrderInfo" class="expand-btn">
<span v-else>{{ item.value }}</span> {{ orderInfoExpanded ? '收起 ▲' : '展开更多 ▼' }}
</el-button>
</template>
<template v-else>
{{ item.label }}
<span
v-if="item.clickable"
style="cursor: pointer; font-weight: 500"
@dblclick="item.clickHandler"
>{{ item.value }}</span
>
<span v-else-if="item.style" :style="item.style">{{ item.value }}</span>
<span v-else>{{ item.value }}</span>
</template>
</div> </div>
<!-- 展开/收起按钮 --> <!-- 展开/收起按钮 -->
<div class="order-item" style="width: 100%; text-align: center; margin-top: 10px"> <div class="order-item" style="width: 100%; text-align: center" v-if="orderInfoExpanded">
<el-button type="text" @click="toggleOrderInfo" class="expand-btn"> <el-button type="text" @click="toggleOrderInfo" class="expand-btn">
{{ orderInfoExpanded ? '收起 ▲' : '展开更多 ▼' }} {{ orderInfoExpanded ? '收起 ▲' : '展开更多 ▼' }}
</el-button> </el-button>
@ -565,7 +582,7 @@ export default {
}; };
return [ return [
{ label: '车间订单号', value: this.detailsForm.orderWoCode || '' }, { label: '车间订单号', value: this.detailsForm.woCode || '' },
{ label: '流程卡号', value: this.detailsForm.cardNo || '' }, { label: '流程卡号', value: this.detailsForm.cardNo || '' },
{ {
label: '零件号', label: '零件号',
@ -652,15 +669,27 @@ export default {
displayOrderItems() { displayOrderItems() {
if (this.orderInfoExpanded) { if (this.orderInfoExpanded) {
// //
return this.orderItems; // this.orderItems.forEach(item => {
// item.isExpandBtn = true; //
// });
return this.orderItems;
} else { } else {
// 10 2 // 9 10 ""
return this.orderItems.slice(0, 10); const items = this.orderItems.slice(0, 9);
return [
...items,
{
label: '',
value: '',
isExpandBtn: true, //
},
];
} }
}, },
}, },
data() { data() {
return { return {
refreshLoading:false,
processSelectLoading: false, processSelectLoading: false,
selectedItemId: null, selectedItemId: null,
selectedItemInfo: {}, selectedItemInfo: {},
@ -712,6 +741,13 @@ export default {
}); });
}, },
methods: { methods: {
refreshData() {
this.refreshLoading = true
this.getOrderDetail();
setTimeout(() => {
this.refreshLoading = false
}, 500);
},
// / // /
toggleOrderInfo() { toggleOrderInfo() {
this.orderInfoExpanded = !this.orderInfoExpanded; this.orderInfoExpanded = !this.orderInfoExpanded;
@ -906,6 +942,21 @@ i {
width: 20%; width: 20%;
margin-bottom: 10px; margin-bottom: 10px;
} }
//
.expand-item {
width: 100%;
text-align: left;
margin-top: 5px;
}
}
.expand-btn {
font-size: 13px;
color: #409eff;
padding: 5px 10px;
&:hover {
color: #66b1ff;
}
} }
:deep(.el-collapse-item__header) { :deep(.el-collapse-item__header) {
background-color: rgb(246, 248, 252); background-color: rgb(246, 248, 252);

Loading…
Cancel
Save