|
|
@@ -7,7 +7,38 @@
|
|
|
}})个
|
|
|
</div>
|
|
|
|
|
|
- <div class="rx-bc"> </div>
|
|
|
+ <div class="title_box rx-bc mt6">
|
|
|
+ <div
|
|
|
+ v-if="!isDetails && isEngrave"
|
|
|
+ class="rx-bc"
|
|
|
+ style="margin-left: 20px"
|
|
|
+ >
|
|
|
+ <el-button type="text" size="mini" @click="batchEngrave()"
|
|
|
+ >批量填写刻码</el-button
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div
|
|
|
+ v-if="!isDetails && isDisposal"
|
|
|
+ class="rx-bc"
|
|
|
+ style="margin-left: 20px"
|
|
|
+ >
|
|
|
+ <el-button type="text" size="mini" @click="batchDisposal()"
|
|
|
+ >批量处置</el-button
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <!-- <div
|
|
|
+ class="rx-bc"
|
|
|
+ v-if="!isDetails && isChoose"
|
|
|
+ style="margin-left: 20px"
|
|
|
+ ><el-button type="text" size="mini" @click="batchDelete()"
|
|
|
+ >批量删除</el-button
|
|
|
+ >
|
|
|
+ </div> -->
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <!-- <div class="rx-bc"> </div> -->
|
|
|
</div>
|
|
|
|
|
|
<el-table
|
|
|
@@ -26,13 +57,23 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
|
|
|
- <el-table-column label="编码" prop="code" minWidth="110">
|
|
|
+ <el-table-column
|
|
|
+ label="编码"
|
|
|
+ prop="code"
|
|
|
+ minWidth="110"
|
|
|
+ show-overflow-tooltip
|
|
|
+ >
|
|
|
<template slot-scope="{ row, $index }">
|
|
|
{{ row.code }}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
|
|
|
- <el-table-column label="名称" prop="name" minWidth="110">
|
|
|
+ <el-table-column
|
|
|
+ label="名称"
|
|
|
+ prop="name"
|
|
|
+ minWidth="110"
|
|
|
+ show-overflow-tooltip
|
|
|
+ >
|
|
|
<template slot-scope="{ row, $index }">
|
|
|
{{ row.name }}
|
|
|
</template>
|
|
|
@@ -81,19 +122,19 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
|
|
|
- <el-table-column label="型号" prop="modelType">
|
|
|
+ <el-table-column label="型号" prop="modelType" show-overflow-tooltip>
|
|
|
<template slot-scope="{ row, $index }">
|
|
|
{{ row.modelType }}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
|
|
|
- <el-table-column label="规格" prop="specification">
|
|
|
+ <el-table-column label="规格" prop="specification" show-overflow-tooltip>
|
|
|
<template slot-scope="{ row, $index }">
|
|
|
{{ row.specification }}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
|
|
|
- <el-table-column label="牌号" prop="brandNum">
|
|
|
+ <el-table-column label="牌号" prop="brandNum" show-overflow-tooltip>
|
|
|
<template slot-scope="{ row, $index }">
|
|
|
{{ row.brandNum }}
|
|
|
</template>
|
|
|
@@ -197,7 +238,7 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
|
|
|
- <el-table-column label="处置" prop="">
|
|
|
+ <el-table-column label="处置" prop="" width="120">
|
|
|
<template slot-scope="{ row, $index }">
|
|
|
<el-select
|
|
|
size="mini"
|
|
|
@@ -205,6 +246,7 @@
|
|
|
filterable
|
|
|
v-model="row.extInfo.taskId"
|
|
|
placeholder="请选择"
|
|
|
+ style="width: 100px"
|
|
|
>
|
|
|
<el-option
|
|
|
v-for="item in stepsList"
|
|
|
@@ -234,11 +276,81 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
+
|
|
|
+ <el-dialog
|
|
|
+ title="刻码"
|
|
|
+ v-if="dialogEngrave"
|
|
|
+ :visible.sync="dialogEngrave"
|
|
|
+ width="30%"
|
|
|
+ :before-close="handleClose"
|
|
|
+ append-to-body
|
|
|
+ >
|
|
|
+ <el-form ref="form" :model="form" label-width="90px">
|
|
|
+ <el-form-item label="刻码区间">
|
|
|
+ <el-input
|
|
|
+ size="mini"
|
|
|
+ type="number"
|
|
|
+ v-model="form.minNumber"
|
|
|
+ placeholder="请输入刻码最小值"
|
|
|
+ prop="digit"
|
|
|
+ style="width: 180px"
|
|
|
+ />
|
|
|
+ -
|
|
|
+ <el-input
|
|
|
+ size="mini"
|
|
|
+ type="number"
|
|
|
+ v-model="form.maxNumber"
|
|
|
+ placeholder="请输入刻码最大值"
|
|
|
+ prop="digit"
|
|
|
+ style="width: 180px"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="dialogEngrave = false">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="batchEngraveConfirm()"
|
|
|
+ >确 定</el-button
|
|
|
+ >
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
+ <el-dialog
|
|
|
+ title="处置类型"
|
|
|
+ v-if="dialogVisible"
|
|
|
+ :visible.sync="dialogVisible"
|
|
|
+ width="30%"
|
|
|
+ :before-close="handleClose"
|
|
|
+ append-to-body
|
|
|
+ >
|
|
|
+ <el-form ref="form" :model="form" label-width="80px">
|
|
|
+ <el-form-item label="处置类型">
|
|
|
+ <el-select
|
|
|
+ size="mini"
|
|
|
+ filterable
|
|
|
+ v-model="form.taskId"
|
|
|
+ placeholder="请选择"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in stepsList"
|
|
|
+ :label="item.taskTypeName"
|
|
|
+ :value="item.taskId"
|
|
|
+ :key="item.taskId"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="dialogVisible = false">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="batchConfirm()">确 定</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
import { getTaskInstanceList } from '@/api/produce/job';
|
|
|
+
|
|
|
export default {
|
|
|
props: {
|
|
|
item: {
|
|
|
@@ -258,17 +370,43 @@
|
|
|
isWarehousing: {
|
|
|
type: Boolean,
|
|
|
default: false
|
|
|
+ },
|
|
|
+ isChoose: {
|
|
|
+ type: Boolean,
|
|
|
+ default: false
|
|
|
+ },
|
|
|
+ isEngrave: {
|
|
|
+ type: Boolean,
|
|
|
+ default: false
|
|
|
+ },
|
|
|
+ isDisposal: {
|
|
|
+ type: Boolean,
|
|
|
+ default: false
|
|
|
}
|
|
|
},
|
|
|
|
|
|
data() {
|
|
|
return {
|
|
|
- stepsList: []
|
|
|
+ stepsList: [],
|
|
|
+ selection: [],
|
|
|
+ form: {
|
|
|
+ taskId: '',
|
|
|
+ minNumber: '',
|
|
|
+ maxNumber: ''
|
|
|
+ },
|
|
|
+ dialogVisible: false,
|
|
|
+ dialogEngrave: false,
|
|
|
+ batchVisible: false
|
|
|
};
|
|
|
},
|
|
|
|
|
|
mounted() {
|
|
|
this.getTaskFn();
|
|
|
+ if (this.list.length != 0) {
|
|
|
+ this.list.forEach((item) => {
|
|
|
+ item.extInfo.taskId = item.extInfo.taskId + '';
|
|
|
+ });
|
|
|
+ }
|
|
|
},
|
|
|
|
|
|
computed: {
|
|
|
@@ -285,6 +423,111 @@
|
|
|
return item.taskId != -2;
|
|
|
});
|
|
|
});
|
|
|
+ },
|
|
|
+
|
|
|
+ batchDisposal() {
|
|
|
+ this.form.taskId = '';
|
|
|
+ this.dialogVisible = true;
|
|
|
+ },
|
|
|
+
|
|
|
+ batchEngrave() {
|
|
|
+ this.form.minNumber = '';
|
|
|
+ this.form.maxNumber = '';
|
|
|
+ this.dialogEngrave = true;
|
|
|
+ },
|
|
|
+
|
|
|
+ batchConfirm() {
|
|
|
+ if (!this.form.taskId) {
|
|
|
+ this.$message({ message: '请选择处置类型', type: 'warning' });
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ const data = this.stepsList.find((it) => it.taskId == this.form.taskId);
|
|
|
+
|
|
|
+ this.list.forEach((item, index) => {
|
|
|
+ this.$set(this.list[index].extInfo, 'taskId', this.form.taskId);
|
|
|
+ this.$set(this.list[index].extInfo, 'taskName', data.taskTypeName);
|
|
|
+ });
|
|
|
+
|
|
|
+ this.$forceUpdate();
|
|
|
+
|
|
|
+ this.dialogVisible = false;
|
|
|
+ },
|
|
|
+
|
|
|
+ handleClose() {
|
|
|
+ this.dialogVisible = false;
|
|
|
+ this.dialogEngrave = false;
|
|
|
+ this.batchVisible = false;
|
|
|
+ },
|
|
|
+
|
|
|
+ batchEngraveConfirm() {
|
|
|
+ if (!this.form.minNumber) {
|
|
|
+ this.$message({ message: '请输入最小刻码', type: 'warning' });
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!this.form.maxNumber) {
|
|
|
+ this.$message({ message: '请输入最大刻码', type: 'warning' });
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (Number(this.form.minNumber) > Number(this.form.maxNumber)) {
|
|
|
+ this.$message({
|
|
|
+ message: '最小刻码不能大于最大刻码',
|
|
|
+ type: 'warning'
|
|
|
+ });
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ this.list.forEach((item, index) => {
|
|
|
+ this.$set(this.list[index].extInfo, 'engrave', '');
|
|
|
+ });
|
|
|
+
|
|
|
+ const engraveNumber =
|
|
|
+ Number(this.form.maxNumber) - Number(this.form.minNumber) + 1;
|
|
|
+
|
|
|
+ console.log(engraveNumber, '刻码数量');
|
|
|
+
|
|
|
+ for (let i = 0; i < engraveNumber; i++) {
|
|
|
+ if (this.list.length < i) return;
|
|
|
+
|
|
|
+ this.$set(
|
|
|
+ this.list[i].extInfo,
|
|
|
+ 'engrave',
|
|
|
+ Number(this.form.minNumber) + i
|
|
|
+ );
|
|
|
+ }
|
|
|
+ this.$forceUpdate();
|
|
|
+ this.dialogEngrave = false;
|
|
|
+ },
|
|
|
+
|
|
|
+ batchDelete() {
|
|
|
+ if (!this.selection.length) {
|
|
|
+ this.$message.warning('请至少选择一条数据');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ let ids = this.selection.map((item) => item.id || item.instanceId);
|
|
|
+ this.$confirm('确定要删除选中的报工信息吗?', '提示', {
|
|
|
+ type: 'warning'
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ // console.log(total, '总数------------------');
|
|
|
+ ids.forEach((sitem, sindex) => {
|
|
|
+ this.list.forEach((item, index) => {
|
|
|
+ let id = item.id || item.instanceId;
|
|
|
+ if (id == sitem) {
|
|
|
+ this.list.splice(index, 1);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ if (this.list.length == 0) {
|
|
|
+ this.$set(this.item.workReportInfo, 'formedNum', 0);
|
|
|
+ this.$set(this.item.workReportInfo, 'notFormedNum', 0);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(() => {});
|
|
|
}
|
|
|
}
|
|
|
};
|