| | |
| | | <div class="app-container"> |
| | | <el-card class="box-card"> |
| | | <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> |
| | | <el-form-item label="订单编号" prop="orderNumber"> |
| | | <el-form-item label="订单编号" prop="orderNo"> |
| | | <el-input |
| | | v-model="queryParams.orderNumber" |
| | | v-model="queryParams.orderNo" |
| | | placeholder="请输入订单编号" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="发动机号" prop="engineNo"> |
| | | <el-input |
| | | v-model="queryParams.engineNo" |
| | | placeholder="请输入发动机号" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="工时" prop="workingHours"> |
| | | <el-input |
| | | v-model="queryParams.workingHours" |
| | | placeholder="请输入工时" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="当前工位" prop="currentWorkstation"> |
| | | <el-input |
| | | v-model="queryParams.currentWorkstation" |
| | | placeholder="请输入当前工位" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="是否打印" prop="whetherOrPrint"> |
| | | <el-input |
| | | v-model="queryParams.whetherOrPrint" |
| | | placeholder="请输入是否打印" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="10报工" prop="report10"> |
| | | <el-input |
| | | v-model="queryParams.report10" |
| | | placeholder="请输入10报工" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="20报工" prop="report20"> |
| | | <el-input |
| | | v-model="queryParams.report20" |
| | | placeholder="请输入20报工" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="操作人" prop="operator"> |
| | | <el-input |
| | | v-model="queryParams.operator" |
| | | placeholder="请输入操作人" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | <el-form-item label="生产状态" prop="productionStatus"> |
| | | <el-select v-model="queryParams.productionStatus" placeholder="请选择工单状态" clearable> |
| | | <el-option |
| | | v-for="dict in dict.type.order_scheduling_produce_status" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value"/> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item style="float: right"> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> |
| | | <el-button type="warning" icon="el-icon-copy-document" size="mini" @click="advancedQuery">高级查询</el-button> |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-form :model="queryParams" ref="queryParams" size="small" :inline="true" v-show="advancedShowSearch" label-width="68px"> |
| | | <el-form-item label="发动机号" prop="engineNo"> |
| | | <el-input |
| | | v-model="queryParams.engineNo" |
| | | placeholder="请输入发动机号" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="质量状态" prop="qualityStatus"> |
| | | <el-select v-model="queryParams.qualityStatus" placeholder="请选择质量状态" clearable> |
| | | <el-option |
| | | v-for="dict in dict.type.quality_status" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value"/> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="是否打印" prop="whetherOrPrint"> |
| | | <el-select v-model="queryParams.whetherOrPrint" placeholder="请选择是否打印" clearable> |
| | | <el-option |
| | | v-for="dict in dict.type.print_status" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value"/> |
| | | </el-select> |
| | | </el-form-item> |
| | | <br/> |
| | | <el-form-item label="合箱报工" prop="report10"> |
| | | <el-input |
| | | v-model="queryParams.report10" |
| | | placeholder="请输入合箱报工" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="总装报工" prop="report20"> |
| | | <el-input |
| | | v-model="queryParams.report20" |
| | | placeholder="请输入总装报工" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="CVT报工" prop="report30"> |
| | | <el-input |
| | | v-model="queryParams.report30" |
| | | placeholder="请输入CVT报工" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <br/> |
| | | <el-form-item label="操作时间" prop="operateTime"> |
| | | <el-date-picker |
| | | v-model="queryParams.dateConditions" |
| | | type="datetimerange" |
| | | :picker-options="pickerOptions" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | align="right"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-card> |
| | | |
| | | <el-card style="margin-top: 10px" class="box-card"> |
| | |
| | | v-hasPermi="['bs:orderScheduling:export']" |
| | | >导出</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="warning" |
| | | plain |
| | | icon="el-icon-close" |
| | | size="mini" |
| | | @click="handleClose" |
| | | >关闭</el-button> |
| | | </el-col> |
| | | <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
| | | </el-row> |
| | | |
| | | <el-table border v-loading="loading" :data="orderSchedulingList" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55" align="center" /> |
| | | <el-table-column label="订单编号" align="center" prop="orderNumber"> |
| | | <el-table-column label="生产订单" align="center" prop="orderNo" width="130"> |
| | | |
| | | </el-table-column> |
| | | <el-table-column label="发动机号" align="center" prop="engineNo"> |
| | | <el-table-column label="发动机号" align="center" prop="engineNo" width="150"> |
| | | |
| | | </el-table-column> |
| | | <el-table-column label="产品类型" align="center" prop="productType"> |
| | | <!-- <template slot-scope="scope">--> |
| | | <!-- <dict-tag :options="dict.type.${column.dictType}" :value="scope.row.productType"/>--> |
| | | <!-- </template>--> |
| | | </el-table-column> |
| | | <el-table-column label="机型" align="center" prop="model"> |
| | | </el-table-column> |
| | | <el-table-column label="生产状态" align="center" prop="productionStatus"> |
| | | </el-table-column> |
| | | <el-table-column label="工时" align="center" prop="workingHours"> |
| | | </el-table-column> |
| | | <el-table-column label="当前工位" align="center" prop="currentWorkstation"> |
| | | </el-table-column> |
| | | <el-table-column label="质量状态" align="center" prop="qualityStatus"> |
| | | </el-table-column> |
| | | <el-table-column label="是否打印" align="center" prop="whetherOrPrint"> |
| | | </el-table-column> |
| | | <el-table-column label="10报工" align="center" prop="report10"> |
| | | </el-table-column> |
| | | <el-table-column label="20报工" align="center" prop="report20"> |
| | | |
| | | </el-table-column> |
| | | <el-table-column label="合箱上线" align="center" prop="combinedBoxLaunch"> |
| | | |
| | | </el-table-column> |
| | | <el-table-column label="总装下线" align="center" prop="finalAssemblyOffline"> |
| | | |
| | | </el-table-column> |
| | | <el-table-column label="操作人" align="center" prop="operator"> |
| | | |
| | | </el-table-column> |
| | | <el-table-column label="操作时间" align="center" prop="operateTime"> |
| | | |
| | | </el-table-column> |
| | | <el-table-column fixed="right" width="200" label="操作" align="center" class-name="small-padding fixed-width"> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | size="mini" |
| | | type="success" |
| | | plain |
| | | style="width: 72px" |
| | | icon="el-icon-edit" |
| | | @click="handleUpdate(scope.row)" |
| | | v-hasPermi="['bs:orderScheduling:edit']" |
| | | >修改</el-button> |
| | | <el-button |
| | | size="mini" |
| | | type="danger" |
| | | plain |
| | | style="width: 72px" |
| | | icon="el-icon-delete" |
| | | @click="handleDelete(scope.row)" |
| | | v-hasPermi="['bs:orderScheduling:remove']" |
| | | >删除</el-button> |
| | | <dict-tag :options="dict.type.material_type" :value="scope.row.productType"/> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="机型" align="center" prop="model"> |
| | | |
| | | </el-table-column> |
| | | <el-table-column label="生产状态" align="center" prop="productionStatus"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.order_scheduling_produce_status" :value="scope.row.productionStatus"/> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="工时" align="center" prop="workingHours"> |
| | | |
| | | </el-table-column> |
| | | <el-table-column label="当前工位" align="center" prop="currentWorkstation"> |
| | | |
| | | </el-table-column> |
| | | <el-table-column label="质量状态" align="center" prop="qualityStatus"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.quality_status" :value="scope.row.qualityStatus"/> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="是否打印" align="center" prop="whetherOrPrint"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.print_status" :value="scope.row.whetherOrPrint"/> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="合箱报工" align="center" prop="report10"> |
| | | |
| | | </el-table-column> |
| | | <el-table-column label="总装报工" align="center" prop="report20"> |
| | | |
| | | </el-table-column> |
| | | <el-table-column label="CVT报工" align="center" prop="report30"> |
| | | |
| | | </el-table-column> |
| | | <el-table-column label="合箱上线时间" align="center" prop="boxClosingOnlineTime" width="160"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.boxClosingOnlineTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="合箱下线时间" align="center" prop="closingBoxOfflineTime" width="160"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.closingBoxOfflineTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="总装上线时间" align="center" prop="finalAssemblyLaunchTime" width="160"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.finalAssemblyLaunchTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="总装下线时间" align="center" prop="finalAssemblyOfflineTime" width="160"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.finalAssemblyOfflineTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="CVT上线时间" align="center" prop="cvtLaunchTime" width="160"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.cvtLaunchTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="CVT下线时间" align="center" prop="cvtOfflineTime" width="160"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.cvtOfflineTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="操作人" align="center" prop="operator"> |
| | | </el-table-column> |
| | | <el-table-column label="操作时间" align="center" prop="operateTime" width="160"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.operateTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | </el-table> |
| | | </el-card> |
| | | |
| | |
| | | /> |
| | | |
| | | <!-- 添加或修改订单排产对话框 --> |
| | | <el-dialog v-dialogpop-up :title="title" :visible.sync="open" width="500px" append-to-body> |
| | | <el-dialog v-dialogpop-up :title="title" :visible.sync="open" width="700px" append-to-body> |
| | | <span slot="title"> |
| | | <i class="el-icon-s-order"></i> |
| | | {{titleName}} |
| | | </span> |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="80px"> |
| | | <el-form-item label="订单编号" prop="orderNumber"> |
| | | <el-input v-model="form.orderNumber" placeholder="请输入订单编号" /> |
| | | <el-form ref="form" inline :model="form" :rules="rules" label-width="80px"> |
| | | <el-form-item label="订单编号" prop="orderNo"> |
| | | <el-input v-model="form.orderNo" placeholder="请输入订单编号" /> |
| | | </el-form-item> |
| | | <el-form-item label="发动机号" prop="engineNo"> |
| | | <el-input v-model="form.engineNo" placeholder="请输入发动机号" /> |
| | | </el-form-item> |
| | | <el-form-item label="产品类型" prop="productType"> |
| | | <el-select v-model="form.productType" placeholder="请选择产品类型"> |
| | | |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="机型" prop="model"> |
| | | <el-input v-model="form.model" placeholder="请输入机型" /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="工时" prop="workingHours"> |
| | | <el-input v-model="form.workingHours" placeholder="请输入工时" /> |
| | | </el-form-item> |
| | | <el-form-item label="当前工位" prop="currentWorkstation"> |
| | | <el-input v-model="form.currentWorkstation" placeholder="请输入当前工位" /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="是否打印" prop="whetherOrPrint"> |
| | | <el-input v-model="form.whetherOrPrint" placeholder="请输入是否打印" /> |
| | | </el-form-item> |
| | | <el-form-item label="10报工" prop="report10"> |
| | | <el-input v-model="form.report10" placeholder="请输入10报工" /> |
| | | |
| | | <el-form-item label="合箱报工" prop="report10"> |
| | | <el-input v-model="form.report10" placeholder="请输入合箱报工" /> |
| | | </el-form-item> |
| | | <el-form-item label="20报工" prop="report20"> |
| | | <el-input v-model="form.report20" placeholder="请输入20报工" /> |
| | | <el-form-item label="总装报工" prop="report20"> |
| | | <el-input v-model="form.report20" placeholder="请输入总装报工" /> |
| | | </el-form-item> |
| | | <el-form-item label="30报工" prop="report20"> |
| | | <el-input v-model="form.report30" placeholder="请输入30报工" /> |
| | | </el-form-item> |
| | | <el-form-item label="操作人" prop="operator"> |
| | | <el-input v-model="form.operator" placeholder="请输入操作人" /> |
| | | </el-form-item> |
| | | <el-form-item label="状态" prop="status"> |
| | | <el-radio-group v-model="form.status"> |
| | | <!-- <el-radio--> |
| | | <!-- v-for="dict in dict.type.${dictType}"--> |
| | | <!-- :key="dict.value"--> |
| | | <!-- :label="dict.value"--> |
| | | <!-- >{{dict.label}}</el-radio>--> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitForm">确 定</el-button> |
| | |
| | | |
| | | export default { |
| | | name: "OrderScheduling", |
| | | dicts: ['order_scheduling_produce_status','quality_status','print_status','material_type'], |
| | | data() { |
| | | return { |
| | | // 遮罩层 |
| | |
| | | single: true, |
| | | // 非多个禁用 |
| | | multiple: true, |
| | | advancedShowSearch: false, |
| | | // 显示搜索条件 |
| | | showSearch: true, |
| | | // 总条数 |
| | |
| | | queryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | orderNumber: null, |
| | | orderNo: null, |
| | | engineNo: null, |
| | | productType: null, |
| | | model: null, |
| | |
| | | whetherOrPrint: null, |
| | | report10: null, |
| | | report20: null, |
| | | combinedBoxLaunch: null, |
| | | finalAssemblyOffline: null, |
| | | combinedBoxTime: null, |
| | | finalAssemblyTime: null, |
| | | operator: null, |
| | | operateTime: null |
| | | operateTime: null, |
| | | status: null, |
| | | spareField1: null, |
| | | spareField2: null, |
| | | spareField3: null, |
| | | spareField4: null, |
| | | createUser: null, |
| | | updateUser: null, |
| | | remarks: null, |
| | | dateConditions: [], |
| | | }, |
| | | // 表单参数 |
| | | form: {}, |
| | | // 表单校验 |
| | | rules: { |
| | | } |
| | | id: [ |
| | | { required: true, message: "ID不能为空", trigger: "blur" } |
| | | ], |
| | | }, |
| | | pickerOptions: { |
| | | shortcuts: [{ |
| | | text: '最近一周', |
| | | onClick(picker) { |
| | | const end = new Date(); |
| | | const start = new Date(); |
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * 7); |
| | | picker.$emit('pick', [start, end]); |
| | | } |
| | | }, { |
| | | text: '最近一个月', |
| | | onClick(picker) { |
| | | const end = new Date(); |
| | | const start = new Date(); |
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * 30); |
| | | picker.$emit('pick', [start, end]); |
| | | } |
| | | }, { |
| | | text: '最近三个月', |
| | | onClick(picker) { |
| | | const end = new Date(); |
| | | const start = new Date(); |
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * 90); |
| | | picker.$emit('pick', [start, end]); |
| | | } |
| | | }] |
| | | }, |
| | | value1: [new Date(2000, 10, 10, 10, 10), new Date(2000, 10, 11, 10, 10)], |
| | | value2: '' |
| | | }; |
| | | }, |
| | | created() { |
| | | let workOrderNo = this.$route.query.workOrderNo; |
| | | this.queryParams.orderNo = workOrderNo |
| | | this.getList(); |
| | | }, |
| | | methods: { |
| | | advancedQuery(){ |
| | | this.advancedShowSearch = (this.advancedShowSearch) ? this.advancedShowSearch = false : this.advancedShowSearch = true; |
| | | }, |
| | | /** 查询订单排产列表 */ |
| | | getList() { |
| | | this.loading = true; |
| | | console.log(this.queryParams) |
| | | listOrderScheduling(this.queryParams).then(response => { |
| | | this.orderSchedulingList = response.rows; |
| | | this.total = response.total; |
| | |
| | | // 表单重置 |
| | | reset() { |
| | | this.form = { |
| | | orderNumber: null, |
| | | id: null, |
| | | orderNo: null, |
| | | engineNo: null, |
| | | productType: null, |
| | | model: null, |
| | |
| | | whetherOrPrint: null, |
| | | report10: null, |
| | | report20: null, |
| | | combinedBoxLaunch: null, |
| | | finalAssemblyOffline: null, |
| | | combinedBoxTime: null, |
| | | finalAssemblyTime: null, |
| | | operator: null, |
| | | operateTime: null |
| | | operateTime: null, |
| | | status: null, |
| | | spareField1: null, |
| | | spareField2: null, |
| | | spareField3: null, |
| | | spareField4: null, |
| | | createUser: null, |
| | | createTime: null, |
| | | updateUser: null, |
| | | updateTime: null, |
| | | remarks: null, |
| | | report30: null, |
| | | boxClosingOnlineTime: null, |
| | | closingBoxOfflineTime: null, |
| | | finalAssemblyLaunchTime: null, |
| | | finalAssemblyOfflineTime: null, |
| | | cvtLaunchTime: null, |
| | | cvtOfflineTime: null |
| | | }; |
| | | this.resetForm("form"); |
| | | }, |
| | |
| | | }, |
| | | // 多选框选中数据 |
| | | handleSelectionChange(selection) { |
| | | this.ids = selection.map(item => item.orderNumber) |
| | | this.ids = selection.map(item => item.id) |
| | | this.single = selection.length!==1 |
| | | this.multiple = !selection.length |
| | | }, |
| | |
| | | /** 修改按钮操作 */ |
| | | handleUpdate(row) { |
| | | this.reset(); |
| | | const orderNumber = row.orderNumber || this.ids |
| | | getOrderScheduling(orderNumber).then(response => { |
| | | const id = row.id || this.ids |
| | | getOrderScheduling(id).then(response => { |
| | | this.form = response.data; |
| | | this.open = true; |
| | | this.titleName = "修改订单排产"; |
| | |
| | | submitForm() { |
| | | this.$refs["form"].validate(valid => { |
| | | if (valid) { |
| | | if (this.form.orderNumber != null) { |
| | | if (this.form.id != null) { |
| | | updateOrderScheduling(this.form).then(response => { |
| | | this.$modal.msgSuccess("修改成功"); |
| | | this.open = false; |
| | |
| | | }, |
| | | /** 删除按钮操作 */ |
| | | handleDelete(row) { |
| | | const orderNumbers = row.orderNumber || this.ids; |
| | | this.$modal.confirm('是否确认删除订单排产编号为"' + orderNumbers + '"的数据项?').then(function() { |
| | | return delOrderScheduling(orderNumbers); |
| | | const ids = row.id || this.ids; |
| | | this.$modal.confirm('是否确认删除订单排产编号为"' + ids + '"的数据项?').then(function() { |
| | | return delOrderScheduling(ids); |
| | | }).then(() => { |
| | | this.getList(); |
| | | this.$modal.msgSuccess("删除成功"); |
| | |
| | | this.download('bs/orderScheduling/export', { |
| | | ...this.queryParams |
| | | }, `orderScheduling_${new Date().getTime()}.xlsx`) |
| | | }, |
| | | /** 返回按钮操作 */ |
| | | handleClose() { |
| | | const obj = { path: "/main/om/productionOrde" }; |
| | | this.$tab.closeOpenPage(obj); |
| | | } |
| | | } |
| | | }; |