| src/views/bbgl/bzgz.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/bbgl/rygz.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/scgl/sckbg.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/views/bbgl/bzgz.vue
@@ -88,163 +88,337 @@ </div> <div class="elTableDiv"> <el-table ref="tableDataRef" class="tableFixed" :data="tableData" :height="isExpandForm?tableHeight:(tableHeight+40)+'px'" border :summary-method="getSummaries" show-summary :row-class-name="tableRowClassName" :style="{width: 100+'%',height:isExpandForm?tableHeight:(tableHeight+40)+'px',}" highlight-current-row :header-cell-style="this.$headerCellStyle" :cell-style="this.$cellStyle" @sort-change="sortChange" > <el-table-column prop="RowNum" width="50" fixed label="序号" /> <el-table-column prop="wo_code" label="工单编号" width="160" sortable="custom" /> <el-table-column prop="partcode" label="产品编码" width="160" show-tooltip-when-overflow sortable="custom" /> <el-table-column prop="partname" label="产品名称" width="160" show-tooltip-when-overflow sortable="custom" /> <el-table-column prop="partspec" label="产品规格" width="150" show-tooltip-when-overflow sortable="custom" > <template slot-scope="{row}"> <div v-if="row.partspec">{{ row.partspec }}</div> <div v-else>/</div> </template> </el-table-column> <el-table-column prop="stepcode" label="工序编码" width="110" show-tooltip-when-overflow sortable="custom" /> <el-table-column prop="stepname" label="工序名称" width="110" show-tooltip-when-overflow sortable="custom" /> <el-table-column prop="task_qty" label="任务数量" width="110" show-tooltip-when-overflow sortable="custom" /> <el-table-column prop="group_name" label="生产班组" width="110" show-tooltip-when-overflow sortable="custom" /> <el-table-column prop="good_qty" label="报工数量" width="110" sortable="custom" /> <el-table-column prop="unprice" label="工序单价" width="110" sortable="custom" > <template slot-scope="{row}"> <div v-if="row.unprice">{{ row.unprice }} 元</div> <div v-else>/</div> </template> </el-table-column> <el-table-column prop="usermoney" label="记件工资" width="110" sortable="custom" > <template slot-scope="{row}"> <div v-if="row.usermoney">{{ row.usermoney }} 元</div> <div v-else>/</div> </template> </el-table-column> <el-table-column prop="lm_user" label="操作人" width="110" sortable="custom" /> <el-table-column prop="report_date" label="操作时间" width="160" sortable="custom" /> <el-tabs type="border-card" style="margin-top: 10px" @tab-click="tabClick"> <el-tab-pane label="末道工序"> <div class="elTableDiv" style="margin: 0 auto 10px;"> <el-table ref="tableDataRef" class="tableFixed" :data="tableData" :height="isExpandForm?(tableHeight-70):(tableHeight-30)+'px'" border :summary-method="getSummaries" show-summary :row-class-name="tableRowClassName" :style="{width: 100+'%',height:isExpandForm?(tableHeight-70):(tableHeight-30)+'px',}" highlight-current-row :header-cell-style="this.$headerCellStyle" :cell-style="this.$cellStyle" @sort-change="sortChange" > <el-table-column prop="RowNum" width="50" fixed label="序号" /> <el-table-column prop="wo_code" label="工单编号" width="160" sortable="custom" /> <el-table-column prop="partcode" label="产品编码" width="160" show-tooltip-when-overflow sortable="custom" /> <el-table-column prop="partname" label="产品名称" width="160" show-tooltip-when-overflow sortable="custom" /> <el-table-column prop="partspec" label="产品规格" width="150" show-tooltip-when-overflow sortable="custom" > <template slot-scope="{row}"> <div v-if="row.partspec">{{ row.partspec }}</div> <div v-else>/</div> </template> </el-table-column> <el-table-column prop="stepcode" label="工序编码" width="110" show-tooltip-when-overflow sortable="custom" /> <el-table-column prop="stepname" label="工序名称" width="110" show-tooltip-when-overflow sortable="custom" /> <el-table-column prop="task_qty" label="任务数量" width="110" show-tooltip-when-overflow sortable="custom" /> <el-table-column prop="group_name" label="生产班组" width="110" show-tooltip-when-overflow sortable="custom" > <template slot-scope="{row}"> <div v-if="row.group_name">{{ row.group_name }}</div> <div v-else>/</div> </template> </el-table-column> <el-table-column prop="good_qty" label="报工数量" width="110" sortable="custom" /> <el-table-column prop="unprice" label="工序单价" width="110" sortable="custom" > <template slot-scope="{row}"> <div v-if="row.unprice">{{ row.unprice }} 元</div> <div v-else>/</div> </template> </el-table-column> <el-table-column prop="usermoney" label="记件工资" width="110" sortable="custom" > <template slot-scope="{row}"> <div v-if="row.usermoney">{{ row.usermoney }} 元</div> <div v-else>/</div> </template> </el-table-column> <el-table-column prop="lm_user" label="操作人" width="110" sortable="custom" /> <el-table-column prop="report_date" label="操作时间" width="160" sortable="custom" /> <el-table-column label="查看明细" width="120" fixed="right" > <template slot-scope="{row}"> <div class="operationClass"> <el-tooltip class="item" effect="dark" content="人员明细" placement="top"> <!-- <i class="el-icon-edit-outline" @click="edit('edit',row)" />--> <i class="el-icon-tickets" :style="{color:$store.state.settings.theme}" style="cursor: pointer;margin-right: 15px" @click="edit('edit',row)" /> </el-tooltip> <!-- <el-tooltip v-del-tab-index class="item" effect="dark" content="删除" placement="top">--> <!-- <i class="el-icon-delete" @click="del(row)" />--> <!-- </el-tooltip>--> </div> </template> </el-table-column> </el-table> </div> <!--分页--> <pagination :total="total" :page.sync="form.page" :limit.sync="form.rows" align="right" layout="total,prev, pager, next,sizes" popper-class="select_bottom" @pagination="getGroupSalaryReportSearch" /> <el-table-column label="查看明细" width="120" fixed="right" > <template slot-scope="{row}"> <div class="operationClass"> <el-tooltip class="item" effect="dark" content="人员明细" placement="top"> <!-- <i class="el-icon-edit-outline" @click="edit('edit',row)" />--> <i class="el-icon-tickets" :style="{color:$store.state.settings.theme}" style="cursor: pointer;margin-right: 15px" @click="edit('edit',row)" /> </el-tooltip> <!-- <el-tooltip v-del-tab-index class="item" effect="dark" content="删除" placement="top">--> <!-- <i class="el-icon-delete" @click="del(row)" />--> <!-- </el-tooltip>--> </div> </template> </el-table-column> </el-table> </div> <!--分页--> <pagination :total="total" :page.sync="form.page" :limit.sync="form.rows" align="right" layout="total,prev, pager, next,sizes" popper-class="select_bottom" @pagination="getGroupSalaryReportSearch" /> </el-tab-pane> <el-tab-pane label="逐道工序"> <div class="elTableDiv" style="margin: 0 auto 10px;"> <el-table ref="tableDataRef2" class="tableFixed" :data="tableData" :height="isExpandForm?(tableHeight-70):(tableHeight-30)+'px'" border :summary-method="getSummaries" show-summary :row-class-name="tableRowClassName" :style="{width: 100+'%',height:isExpandForm?(tableHeight-70):(tableHeight-30)+'px',}" highlight-current-row :header-cell-style="this.$headerCellStyle" :cell-style="this.$cellStyle" @sort-change="sortChange" > <el-table-column prop="RowNum" width="50" fixed label="序号" /> <el-table-column prop="wo_code" label="工单编号" width="160" sortable="custom" /> <el-table-column prop="partcode" label="产品编码" width="160" show-tooltip-when-overflow sortable="custom" /> <el-table-column prop="partname" label="产品名称" width="160" show-tooltip-when-overflow sortable="custom" /> <el-table-column prop="partspec" label="产品规格" width="150" show-tooltip-when-overflow sortable="custom" > <template slot-scope="{row}"> <div v-if="row.partspec">{{ row.partspec }}</div> <div v-else>/</div> </template> </el-table-column> <el-table-column prop="stepcode" label="工序编码" width="110" show-tooltip-when-overflow sortable="custom" /> <el-table-column prop="stepname" label="工序名称" width="110" show-tooltip-when-overflow sortable="custom" /> <el-table-column prop="task_qty" label="任务数量" width="110" show-tooltip-when-overflow sortable="custom" /> <el-table-column prop="group_name" label="生产班组" width="110" show-tooltip-when-overflow sortable="custom" > <template slot-scope="{row}"> <div v-if="row.group_name">{{ row.group_name }}</div> <div v-else>/</div> </template> </el-table-column> <el-table-column prop="good_qty" label="报工数量" width="110" sortable="custom" /> <el-table-column prop="unprice" label="工序单价" width="110" sortable="custom" > <template slot-scope="{row}"> <div v-if="row.unprice">{{ row.unprice }} 元</div> <div v-else>/</div> </template> </el-table-column> <el-table-column prop="usermoney" label="记件工资" width="110" sortable="custom" > <template slot-scope="{row}"> <div v-if="row.usermoney">{{ row.usermoney }} 元</div> <div v-else>/</div> </template> </el-table-column> <el-table-column prop="lm_user" label="操作人" width="110" sortable="custom" /> <el-table-column prop="report_date" label="操作时间" width="160" sortable="custom" /> <el-table-column label="查看明细" width="120" fixed="right" > <template slot-scope="{row}"> <div class="operationClass"> <el-tooltip class="item" effect="dark" content="人员明细" placement="top"> <!-- <i class="el-icon-edit-outline" @click="edit('edit',row)" />--> <i class="el-icon-tickets" :style="{color:$store.state.settings.theme}" style="cursor: pointer;margin-right: 15px" @click="edit('edit',row)" /> </el-tooltip> <!-- <el-tooltip v-del-tab-index class="item" effect="dark" content="删除" placement="top">--> <!-- <i class="el-icon-delete" @click="del(row)" />--> <!-- </el-tooltip>--> </div> </template> </el-table-column> </el-table> </div> <!--分页--> <pagination :total="total" :page.sync="form.page" :limit.sync="form.rows" align="right" layout="total,prev, pager, next,sizes" popper-class="select_bottom" @pagination="getGroupSalaryReportSearch" /> </el-tab-pane> </el-tabs> </div> <el-dialog @@ -325,6 +499,7 @@ groupcode: '', // 生产班组 username: '', // 操作人员 operdate: '', // 操作时间 compute: 'last', // 计件方式 逐道工序:contin 末道工序:last prop: 'lm_date', // 排序字段 order: 'desc', // 排序字段 page: 1, // 第几页 @@ -375,6 +550,12 @@ window.addEventListener('resize', this.getHeight) this.getHeight() }, // updated() { // this.$nextTick(() => { // this.$refs.tableDataRef.doLayout() // this.$refs.tableDataRef2.doLayout() // }) // }, methods: { handleRequest() { this.getGroupSalaryReportSearch().then(res => { @@ -410,6 +591,7 @@ }) this.$nextTick(() => { this.$refs.tableDataRef.doLayout() this.$refs.tableDataRef2.doLayout() }) return sums @@ -428,6 +610,7 @@ groupcode: this.form.groupcode, username: this.form.username, operdate: tempDate, compute: this.form.compute, prop: this.form.prop, order: this.form.order, page: this.form.page, @@ -444,6 +627,11 @@ async getMesOrderStepReportSelectUserGroup() { const { data: res } = await MesOrderStepReportSelectUserGroup() this.groupArr = res }, tabClick(val) { // console.log(val.label) this.form.compute = val.label === '末道工序' ? 'last' : 'contin' this.getGroupSalaryReportSearch() }, // 排序改变时 sortChange({ column, prop, order }) { @@ -472,7 +660,8 @@ stepname: this.form.stepname, groupcode: this.form.groupcode, username: this.form.username, operdate: tempDate operdate: tempDate, compute: this.form.compute } const { data: res } = await GroupSalaryReportExcelSearch(data) @@ -582,6 +771,7 @@ this.mainHeight = window.innerHeight - 85 this.tableHeight = this.mainHeight - 255 this.$refs.tableDataRef.doLayout() this.$refs.tableDataRef2.doLayout() }) }, tableRowClassName({ row, rowIndex }) { src/views/bbgl/rygz.vue
@@ -86,146 +86,302 @@ </div> </div> <div class="elTableDiv"> <el-table ref="tableDataRef" class="tableFixed" :data="tableData" :height="isExpandForm?tableHeight:(tableHeight+40)+'px'" border :summary-method="getSummaries" show-summary :row-class-name="tableRowClassName" :style="{width: 100+'%',height:isExpandForm?tableHeight:(tableHeight+40)+'px',}" highlight-current-row :header-cell-style="this.$headerCellStyle" :cell-style="this.$cellStyle" @sort-change="sortChange" > <el-table-column prop="RowNum" width="50" fixed label="序号" /> <el-table-column prop="wo_code" label="工单编号" width="160" sortable="custom" /> <el-table-column prop="partcode" label="产品编码" width="160" show-tooltip-when-overflow sortable="custom" /> <el-table-column prop="partname" label="产品名称" width="160" show-tooltip-when-overflow sortable="custom" /> <el-table-column prop="partspec" label="产品规格" width="160" show-tooltip-when-overflow sortable="custom" > <template slot-scope="{row}"> <div v-if="row.partspec">{{ row.partspec }}</div> <div v-else>/</div> </template> </el-table-column> <el-table-column prop="stepcode" label="工序编码" width="110" show-tooltip-when-overflow sortable="custom" /> <el-table-column prop="stepname" label="工序名称" width="110" show-tooltip-when-overflow sortable="custom" /> <el-table-column prop="task_qty" label="任务数量" width="110" show-tooltip-when-overflow sortable="custom" /> <el-table-column prop="group_name" label="生产班组" width="110" show-tooltip-when-overflow sortable="custom" /> <el-table-column prop="report_qty" label="报工数量" width="110" sortable="custom" > <template slot-scope="{row}"> <div v-if="row.report_qty">{{ row.report_qty }}</div> <div v-else>/</div> </template> </el-table-column> <el-table-column prop="unprice" label="工序单价" width="110" sortable="custom" > <template slot-scope="{row}"> <div v-if="row.unprice">{{ row.unprice }} 元</div> <div v-else>/</div> </template> </el-table-column> <el-table-column prop="usermoney" label="个人记件工资" width="130" sortable="custom" > <template slot-scope="{row}"> <div v-if="row.usermoney">{{ row.usermoney }} 元</div> <div v-else>/</div> </template> </el-table-column> <el-table-column prop="username" label="报工人员" width="110" sortable="custom" /> <el-table-column prop="report_date" label="报工时间" width="160" sortable="custom" /> <el-tabs type="border-card" style="margin-top: 10px" @tab-click="tabClick"> <el-tab-pane label="末道工序"> <div class="elTableDiv"> <el-table ref="tableDataRef2" class="tableFixed" :data="tableData" :height="isExpandForm?(tableHeight-70):(tableHeight-30)+'px'" border :summary-method="getSummaries" show-summary :row-class-name="tableRowClassName" :style="{width: 100+'%',height:isExpandForm?(tableHeight-70):(tableHeight-30)+'px',}" highlight-current-row :header-cell-style="this.$headerCellStyle" :cell-style="this.$cellStyle" @sort-change="sortChange" > <el-table-column prop="RowNum" width="50" fixed label="序号" /> <el-table-column prop="wo_code" label="工单编号" width="160" sortable="custom" /> <el-table-column prop="partcode" label="产品编码" width="160" show-tooltip-when-overflow sortable="custom" /> <el-table-column prop="partname" label="产品名称" width="160" show-tooltip-when-overflow sortable="custom" /> <el-table-column prop="partspec" label="产品规格" width="160" show-tooltip-when-overflow sortable="custom" > <template slot-scope="{row}"> <div v-if="row.partspec">{{ row.partspec }}</div> <div v-else>/</div> </template> </el-table-column> <el-table-column prop="stepcode" label="工序编码" width="110" show-tooltip-when-overflow sortable="custom" /> <el-table-column prop="stepname" label="工序名称" width="110" show-tooltip-when-overflow sortable="custom" /> <el-table-column prop="task_qty" label="任务数量" width="110" show-tooltip-when-overflow sortable="custom" /> <el-table-column prop="group_name" label="生产班组" width="110" show-tooltip-when-overflow sortable="custom" > <template slot-scope="{row}"> <div v-if="row.group_name">{{ row.group_name }}</div> <div v-else>/</div> </template> </el-table-column> <el-table-column prop="report_qty" label="报工数量" width="110" sortable="custom" > <template slot-scope="{row}"> <div v-if="row.report_qty">{{ row.report_qty }}</div> <div v-else>/</div> </template> </el-table-column> <el-table-column prop="unprice" label="工序单价" width="110" sortable="custom" > <template slot-scope="{row}"> <div v-if="row.unprice">{{ row.unprice }} 元</div> <div v-else>/</div> </template> </el-table-column> <el-table-column prop="usermoney" label="个人记件工资" width="130" sortable="custom" > <template slot-scope="{row}"> <div v-if="row.usermoney">{{ row.usermoney }} 元</div> <div v-else>/</div> </template> </el-table-column> <el-table-column prop="username" label="报工人员" width="110" sortable="custom" /> <el-table-column prop="report_date" label="报工时间" width="160" sortable="custom" /> </el-table> </div> <!--分页--> <pagination :total="total" :page.sync="form.page" :limit.sync="form.rows" align="right" layout="total,prev, pager, next,sizes" popper-class="select_bottom" @pagination="getPeopleSalaryReportSearch" /> </el-table> </div> <!--分页--> <pagination :total="total" :page.sync="form.page" :limit.sync="form.rows" align="right" layout="total,prev, pager, next,sizes" popper-class="select_bottom" @pagination="getPeopleSalaryReportSearch" /> </el-tab-pane> <el-tab-pane label="逐道工序"> <div class="elTableDiv"> <el-table ref="tableDataRef" class="tableFixed" :data="tableData" :height="isExpandForm?(tableHeight-70):(tableHeight-30)+'px'" border :summary-method="getSummaries" show-summary :row-class-name="tableRowClassName" :style="{width: 100+'%',height:isExpandForm?(tableHeight-70):(tableHeight-30)+'px',}" highlight-current-row :header-cell-style="this.$headerCellStyle" :cell-style="this.$cellStyle" @sort-change="sortChange" > <el-table-column prop="RowNum" width="50" fixed label="序号" /> <el-table-column prop="wo_code" label="工单编号" width="160" sortable="custom" /> <el-table-column prop="partcode" label="产品编码" width="160" show-tooltip-when-overflow sortable="custom" /> <el-table-column prop="partname" label="产品名称" width="160" show-tooltip-when-overflow sortable="custom" /> <el-table-column prop="partspec" label="产品规格" width="160" show-tooltip-when-overflow sortable="custom" > <template slot-scope="{row}"> <div v-if="row.partspec">{{ row.partspec }}</div> <div v-else>/</div> </template> </el-table-column> <el-table-column prop="stepcode" label="工序编码" width="110" show-tooltip-when-overflow sortable="custom" /> <el-table-column prop="stepname" label="工序名称" width="110" show-tooltip-when-overflow sortable="custom" /> <el-table-column prop="task_qty" label="任务数量" width="110" show-tooltip-when-overflow sortable="custom" /> <el-table-column prop="group_name" label="生产班组" width="110" show-tooltip-when-overflow sortable="custom" > <template slot-scope="{row}"> <div v-if="row.group_name">{{ row.group_name }}</div> <div v-else>/</div> </template> </el-table-column> <el-table-column prop="report_qty" label="报工数量" width="110" sortable="custom" > <template slot-scope="{row}"> <div v-if="row.report_qty">{{ row.report_qty }}</div> <div v-else>/</div> </template> </el-table-column> <el-table-column prop="unprice" label="工序单价" width="110" sortable="custom" > <template slot-scope="{row}"> <div v-if="row.unprice">{{ row.unprice }} 元</div> <div v-else>/</div> </template> </el-table-column> <el-table-column prop="usermoney" label="个人记件工资" width="130" sortable="custom" > <template slot-scope="{row}"> <div v-if="row.usermoney">{{ row.usermoney }} 元</div> <div v-else>/</div> </template> </el-table-column> <el-table-column prop="username" label="报工人员" width="110" sortable="custom" /> <el-table-column prop="report_date" label="报工时间" width="160" sortable="custom" /> </el-table> </div> <!--分页--> <pagination :total="total" :page.sync="form.page" :limit.sync="form.rows" align="right" layout="total,prev, pager, next,sizes" popper-class="select_bottom" @pagination="getPeopleSalaryReportSearch" /> </el-tab-pane> </el-tabs> </div> <el-dialog @@ -303,6 +459,7 @@ groupcode: '', // 生产班组 reportname: '', // 操作人员 reportdate: '', // 操作时间 compute: 'last', // 计件方式 prop: 'partcode', // 排序字段 order: 'desc', // 排序字段 page: 1, // 第几页 @@ -346,6 +503,12 @@ } } }, // updated() { // this.$nextTick(() => { // this.$refs.tableDataRef.doLayout() // this.$refs.tableDataRef2.doLayout() // }) // }, created() { this.handleRequest() }, @@ -390,6 +553,7 @@ this.$nextTick(() => { this.$refs.tableDataRef.doLayout() this.$refs.tableDataRef2.doLayout() }) return sums @@ -406,6 +570,7 @@ partspec: this.form.partspec, stepname: this.form.stepname, groupcode: this.form.groupcode, compute: this.form.compute, reportname: this.form.reportname, reportdate: tempDate, prop: this.form.prop, @@ -425,6 +590,10 @@ async getMesOrderStepReportSelectUserGroup() { const { data: res } = await MesOrderStepReportSelectUserGroup() this.groupArr = res }, tabClick(val) { this.form.compute = val.label === '末道工序' ? 'last' : 'contin' this.getPeopleSalaryReportSearch() }, // 排序改变时 sortChange({ column, prop, order }) { @@ -452,6 +621,7 @@ partspec: this.form.partspec, stepname: this.form.stepname, groupcode: this.form.groupcode, compute: this.form.compute, reportname: this.form.reportname, reportdate: tempDate } @@ -563,6 +733,7 @@ this.mainHeight = window.innerHeight - 85 this.tableHeight = this.mainHeight - 255 this.$refs.tableDataRef.doLayout() this.$refs.tableDataRef2.doLayout() }) }, tableRowClassName({ row, rowIndex }) { @@ -693,11 +864,12 @@ justify-content: center; } .tableFixed{ ::v-deep .el-table__fixed-right{ .tableFixed { ::v-deep .el-table__fixed-right { height: 100% !important; } ::v-deep .el-table__fixed{ ::v-deep .el-table__fixed { height: 100% !important; } } src/views/scgl/sckbg.vue
@@ -593,7 +593,16 @@ <el-form-item v-if="dialogTitle==='自制报工'" label="下道工序:"> <div style="width: 200px">{{ dialogForm.nextstepname }}</div> </el-form-item> <el-form-item v-if="dialogTitle==='自制报工'" prop="usergroupcode" label="生产班组:"> <el-form-item v-if="dialogTitle==='自制报工'" prop="reckway" label="计件方式:"> <el-radio-group v-model="dialogForm.reckway" style="width: 200px;" @change="reckwayChange"> <el-radio label="group">班组</el-radio> <el-radio label="person">个人</el-radio> </el-radio-group> </el-form-item> <el-form-item v-if="dialogTitle==='自制报工'&&dialogForm.reckway==='group'" prop="usergroupcode" label="生产班组:"> <el-select v-model="dialogForm.usergroupcode" style="width: 200px;" @@ -608,6 +617,23 @@ /> </el-select> </el-form-item> <el-form-item v-if="dialogTitle==='自制报工'&&dialogForm.reckway==='person'" prop="operation" label="报工人员:"> <el-select v-model="dialogForm.operation" style="width: 200px;" placeholder="请选择" @change="usergroupChange" > <el-option v-for="item in OperationArr" :key="item.usercode" :label="item.username" :value="item.usercode" /> </el-select> </el-form-item> <el-form-item v-if="dialogTitle==='自制报工'" label="设备名称:" prop="eqpcode"> <el-select v-model="dialogForm.eqpcode" @@ -649,24 +675,25 @@ <!-- <el-form-item v-if="dialogTitle==='自制报工'" label="报工人员:">--> <!-- <el-input v-model="dialogForm.remarks" type="textarea" style="width: 200px;" />--> <!-- </el-form-item>--> <el-form-item v-if="dialogTitle==='自制报工'" label="报工人:"> <el-select v-model="dialogForm.operation" style="width: 200px;" placeholder="请选择" > <el-option v-for="item in OperationArr" :key="item.usercode" :label="item.username" :value="item.usercode" /> </el-select> </el-form-item> <!-- 注释--> <!-- <el-form-item v-if="dialogTitle==='自制报工'" label="报工人:">--> <!-- <el-select--> <!-- v-model="dialogForm.operation"--> <!-- style="width: 200px;"--> <!-- placeholder="请选择"--> <!-- >--> <!-- <el-option--> <!-- v-for="item in OperationArr"--> <!-- :key="item.usercode"--> <!-- :label="item.username"--> <!-- :value="item.usercode"--> <!-- />--> <!-- </el-select>--> <!-- </el-form-item>--> <el-form-item v-if="dialogTitle==='自制报工'" label="备注:"> <el-input v-model="dialogForm.remarks" type="textarea" style="width: 200px;" /> </el-form-item> <div v-if="dialogTitle==='自制报工'"> <div v-if="dialogTitle==='自制报工'&&dialogForm.reckway==='group'"> <i class="el-icon-s-operation" :style="{color:$store.state.settings.theme}" /> 人员列表 <el-button v-waves type="primary" style="margin: 10px 0" @click="userAdd">增行</el-button> <el-table @@ -693,7 +720,7 @@ show-tooltip-when-overflow > <template slot-scope="{row}"> <div v-if="row.isVisible===0">{{ row.username }}</div> <el-select v-if="row.isVisible===1" v-model="row.username" @@ -708,8 +735,25 @@ :value="item.usercode" /> </el-select> <div v-else>{{ row.username }}</div> </template> </el-table-column> <el-table-column prop="ratio" label="分配比例(%)" show-tooltip-when-overflow > <template slot-scope="{row}"> <el-input v-if="row.isVisible===1||row.isVisible===2" v-model="row.ratio" oninput="value=value.replace(/[^0-9.]/g,'')" placeholder="请输入" /> <div v-else> {{ row.ratio }}</div> </template> </el-table-column> <el-table-column prop="RowNum" label="操作" @@ -717,9 +761,10 @@ > <template slot-scope="{row}"> <div class="operationClass"> <el-button v-if="row.isVisible===0" v-waves type="text" @click="userDel(row)">删除</el-button> <el-button v-if="row.isVisible===1&&!userIsSave" v-waves type="text" @click="userSave(row)">保存</el-button> <el-button v-if="(row.isVisible===1&&!userIsSave)||row.isVisible===2" v-waves type="text" @click="userSave(row)">保存</el-button> <el-button v-if="row.isVisible===1" v-waves type="text" @click="userCancel(row)">取消</el-button> <el-button v-if="row.isVisible===0" v-waves type="text" @click="userDel(row)">删除</el-button> <el-button v-if="row.isVisible===0" v-waves type="text" @click="editRatio(row)">修改比例</el-button> </div> </template> </el-table-column> @@ -1062,20 +1107,21 @@ <div style="width: 200px">{{ badDialogForm.ng_qty }}</div> </el-form-item> <el-form-item label="维修人员:"> <el-select v-model="badDialogForm.operation" style="width: 200px;" placeholder="请选择" > <el-option v-for="item in OperationArr" :key="item.usercode" :label="item.username" :value="item.usercode" /> </el-select> </el-form-item> <!-- 注释--> <!-- <el-form-item label="维修人员:">--> <!-- <el-select--> <!-- v-model="badDialogForm.operation"--> <!-- style="width: 200px;"--> <!-- placeholder="请选择"--> <!-- >--> <!-- <el-option--> <!-- v-for="item in OperationArr"--> <!-- :key="item.usercode"--> <!-- :label="item.username"--> <!-- :value="item.usercode"--> <!-- />--> <!-- </el-select>--> <!-- </el-form-item>--> </el-form> <div style="margin-bottom:20px"> @@ -1310,6 +1356,8 @@ startqtySum: '', // 不能超过的数值 reckway: 'group', // 计件方式 operation: getCookie('navTabId'), // 报工人(收料人) remarks: ''// 备注 @@ -1354,6 +1402,9 @@ ], startqty: [ { required: true, message: '请输入报工数量', trigger: ['blur', 'change'] } ], operation: [ { required: true, message: '请选择报工人员', trigger: ['blur', 'change'] } ] }, activeName: '', @@ -1454,7 +1505,16 @@ this.getMesOrderSelectUserAll() // 获取所有人员 }, methods: { // 计件方式值改变时 reckwayChange() { this.dialogForm.usergroupcode = '' this.dialogForm.operation = '' this.userTableData = [] // console.log(this.$refs.dialogForm, 'log') // this.$nextTick(() => { // this.$refs.dialogForm.resetFields() // }) }, tableRowClassName({ row, rowIndex }) { return 'custom-row' }, @@ -1871,12 +1931,46 @@ number = number === 0 ? (10 + Math.random()) : number item.isVisible = 0 item.number = number // item.ratio = parseFloat((100 / this.userTableData.length).toFixed(2)) }) this.ZZuserArr = [...this.ZZuserArr].filter(x => [...this.userTableData].every(y => y.usercode !== x.usercode)) this.calculatedValue() this.$refs.tableDataRef.doLayout() }, calculatedValue() { const total = 100; let value = 0 this.userTableData.forEach(item => { item.ratio = parseFloat((100 / this.userTableData.length).toFixed(2)) value += item.ratio }) console.log(value, 1) if (value !== total) { // let temp = this.userTableData // temp[temp.length-1].ratio=temp[temp.length-1].ratio+(total-value) this.userTableData[ this.userTableData.length - 1].ratio = parseFloat((this.userTableData[ this.userTableData.length - 1].ratio + (total - value)).toFixed(2)) } }, // 修改分配比列 editRatio(row) { // console.log(row, 'row') this.userTableData.forEach((item, index) => { if (item.number === row.number) { const number = Math.random() * Math.random()// 作为删除时的标识符 this.userTableData.splice(index, 1, { usercode: row.usercode, username: row.username, ratio: row.ratio, isVisible: 2, number: number === 0 ? (10 + Math.random()) : number }) } }) }, // 用户添加 userAdd() { if (this.userTableData.find(i => i.isVisible === 1)) { @@ -1885,7 +1979,8 @@ let number = Math.random() * Math.random()// 作为删除时的标识符 number = number === 0 ? (10 + Math.random()) : number console.log(this.userTableData, 6) this.userTableData.unshift({ usercode: '', username: '', isVisible: 1, number: number }) this.userTableData.unshift({ usercode: '', username: '', isVisible: 1, number: number, ratio: 0 }) this.calculatedValue() }, // 用户列表删除 userDel(row) { @@ -1899,12 +1994,17 @@ this.userTableData.splice(index, 1) } }) this.calculatedValue() }, // 用户列表保存 userSave(row) { console.log(row, 123) if (row.usercode === '') { return this.$message.info('人员名称不能为空!') } if (row.ratio === '') { return this.$message.info('分配比列不能为空!') } this.ZZuserArr.forEach((item, index) => { @@ -1981,7 +2081,11 @@ this.dialogForm.startqtySum = '' // 不能超过的数值 this.dialogForm.reckway = '' // 计件方式 this.dialogForm.nextstepcode = '' // 下道工序编码 this.dialogForm.reckway = 'group' this.dialogForm.remarks = '' // 备注 this.dialogForm.operation = getCookie('navTabId') // 报工人(收料人) @@ -2055,7 +2159,8 @@ this.dialogVisible = false this.$message.success('收料成功!') if (this.dialogForm.nextstepcode === '') { this.WXprint2(this.OperationArr.find(item => item.usercode === this.dialogForm.inuser).username) // this.WXprint2(this.OperationArr.find(item => item.usercode === this.dialogForm.inuser).username) this.WXprint2(this.OperationArr.find(item => item.usercode === getCookie('navTabId')).username) this.dialogVisible2 = true } this.tabClick() @@ -2093,14 +2198,8 @@ if (parseFloat(this.dialogForm.startqtySum) < parseFloat(this.dialogForm.startqty) + parseFloat(this.dialogForm.noputqty)) { return this.$message.info('报工数量加不良数量不能大于了未报数量!') } if (this.userTableData.length < 1) { if (this.userTableData.length < 1 && this.dialogForm.reckway === 'group') { return this.$message.info('人员列表不能为空!') } if (parseFloat(this.dialogForm.noputqty) > 0) { if (this.dialogForm.badcode.length < 1) { return this.$message.info('请选择不良原因!') } } // this.userTableData = [...new Set(this.userTableData)]// 数组去重 this.userTableData = this.userTableData.filter(item => item.usercode !== '') @@ -2108,8 +2207,26 @@ this.userTableData = this.userTableData.filter((currentValue, currentIndex, selfArr) => { return selfArr.findIndex(item => item.usercode === currentValue.usercode) === currentIndex }) if (this.dialogForm.reckway === 'group') { let sum = 0 this.userTableData.forEach(item => { sum += item.ratio }) if (sum !== 100) { return this.$message.info('分配比例总和必须为100!') } } if (parseFloat(this.dialogForm.noputqty) > 0) { if (this.dialogForm.badcode.length < 1) { return this.$message.info('请选择不良原因!') } } // console.log(this.userTableData, 1) const reportuser = this.userTableData.map(item => item.usercode).join(';') // const reportuser = this.userTableData.map(item => item.usercode).join(';')// 主要改的是这里的格式 console.log(this.dialogForm.operation, 'dialogForm.operation') const data = { mesordercode: this.dialogForm.wo_code, // 工单编号 partcode: this.dialogForm.partcode, // 产品编码 @@ -2117,23 +2234,28 @@ stepcode: this.dialogForm.stepcode, // 工序编码 eqpcode: this.dialogForm.eqpcode, // 设备编码 usergroupcode: this.dialogForm.usergroupcode, // 班组编码 reportuser: reportuser, // 报工人员 // reportuser: reportuser, // 报工人员 reportuser: this.dialogForm.reckway === 'group' ? this.userTableData : [{ usercode: this.dialogForm.operation, ratio: 100 }], taskqty: this.dialogForm.planqty, // 任务数量 // startqty: this.dialogForm.startqty, // 开工数量 startqty: this.dialogForm.reportqty, // 开工数量 // reportqty: this.dialogForm.reportqty, // 报工数量 reportqty: this.dialogForm.startqty, // 报工数量 remarks: this.dialogForm.remarks, // 备注 reckway: this.dialogForm.reckway, // 计件方式 ngqty: this.dialogForm.noputqty === '' ? 0 : this.dialogForm.noputqty, // 不良数量 badcode: this.dialogForm.badcode.length < 1 ? '' : this.dialogForm.badcode.join(';')// 不良原因 } // console.log(JSON.stringify(data), 'data') console.log(data, 'data') this.$store.state.app.buttonIsDisabled = true SavaMesOrderStepReport(data).then(res => { if (res.code === '200') { this.dialogVisible = false this.$message.success('报工成功!') if (this.dialogForm.nextstepcode === '') { this.ZZprint2(this.OperationArr.find(item => item.usercode === this.dialogForm.operation).username) this.ZZprint2(this.OperationArr.find(item => item.usercode === getCookie('navTabId')).username) this.dialogVisible2 = true } this.tabClick() @@ -2224,11 +2346,11 @@ Data: this.badTableDataDialog } this.$store.state.app.buttonIsDisabled = true EditOrderNgStepSeave(data, this.badDialogForm.operation).then(res => { EditOrderNgStepSeave(data, getCookie('navTabId')).then(res => { if (res.code === '200' || res.code === '301') { this.getBadList() this.badDialogVisible = false this.badPrint(this.OperationArr.find(item => item.usercode === this.badDialogForm.operation).username) this.badPrint(this.OperationArr.find(item => item.usercode === getCookie('navTabId')).username) this.dialogVisible2 = true this.$message.success('保存成功!')