| | |
| | | <!-- <TableLayout> --> |
| | | <keep-alive><TableLayout v-permissions="['ext:plansext:query']"> |
| | | <!-- 搜索表单 --> |
| | | <el-form slot="search-form" ref="searchForm" :model="searchForm" label-suffix=":" label-width="90px" inline> |
| | | <el-form-item label="搜索信息" prop="mixParam"> |
| | | <el-input v-model="searchForm.mixParam" placeholder="请输入物料名称/编码/工序名称" @keypress.enter.native="search"></el-input> |
| | | <el-form slot="search-form" ref="searchForm" :model="searchForm" label-suffix=":" label-width="110px" inline> |
| | | <el-form-item label="物料信息" prop="mixParam"> |
| | | <el-input v-model="searchForm.mixParam" placeholder="请输入物料名称/编码" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="成品计划" prop="workPlanCode"> |
| | | <el-input v-model="searchForm.workPlanCode" placeholder="请输入成品计划编码" @keypress.enter.native="search"></el-input> |
| | |
| | | <el-form-item label="批次号" prop="batch"> |
| | | <el-input v-model="searchForm.batch" placeholder="请输入" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="计划日期" prop="planDate"> |
| | | <el-form-item label="计划结束日期" prop="planDate"> |
| | | <el-date-picker |
| | | value-format="yyyy-MM-dd" |
| | | v-model="time" |
| | |
| | | <!-- 表格和分页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar"> |
| | | <!-- <li v-permissions="['ext:plansext:importExcel']"> |
| | | <li v-permissions="['ext:plansext:distribute']"><el-button type="primary" @click="plansDistribute">批量分配</el-button></li> |
| | | <li v-permissions="['ext:plansext:importExcel']"> |
| | | <ImportButton |
| | | text="导入" |
| | | template-name="plans_import_template.xlsx" |
| | | template-path="template/plans_import_template.xlsx" |
| | | template-path="/template/plans_import_template.xlsx" |
| | | action="/ext/plansExt/importBatch" |
| | | @success="search" |
| | | /> |
| | | </li> --> |
| | | </li> |
| | | <!-- <li v-permissions="['ext:plansext:create']"><el-button type="primary" @click="$refs.operaPlansExtWindow.open('新建生产计划')" >新建</el-button></li> --> |
| | | <!-- <li v-permissions="['ext:plansext:publish']"><el-button type="primary" @click="planRelease" >发布</el-button></li> --> |
| | | <li v-permissions="['ext:plansext:distribute']"><el-button type="primary" @click="plansDistribute">批量分配</el-button></li> |
| | | <li v-permissions="['ext:plansext:exportExcel']"><el-button type="primary" :loading="isWorking.export" @click="exportExcel">导出</el-button></li> |
| | | <!-- <li v-permissions="['ext:plansext:exportExcel']"><el-button type="primary" :loading="isWorking.export" @click="exportExcel">导出</el-button></li> --> |
| | | <!-- <li v-permissions="['ext:plansext:planpink']"><el-button type="primary" @click="$refs.operaWTransferExtWindow.open('计划领料')">计划领料</el-button></li> --> |
| | | <!-- <li v-permissions="['ext:plansext:stockpink']"><el-button type="primary" @click="$refs.operaPlanStaock.open('库存领料')">库存领料</el-button></li> --> |
| | | <!-- <li v-permissions="['ext:plansext:delete']"><el-button type="danger" plain @click="deleteByIdInBatch">批量删除</el-button></li> --> |
| | |
| | | @row-style="rowStyle" |
| | | > |
| | | <el-table-column type="selection" fixed="left" width="55"></el-table-column> |
| | | <el-table-column prop="id" label="计划序号" fixed="left" min-width="80px"></el-table-column> |
| | | <el-table-column prop="id" label="计划序号" fixed="left" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span>{{ row.id }}</span><el-tag type="danger" size="mini" v-if="row.hasExpire">延期</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="mmodel.name" fixed="left" label="物料名称" show-overflow-tooltip min-width="140px"> |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" class="materail" @click="showPlan(row.id)"> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="mmodel.code" label="物料编码" min-width="160px"> |
| | | </el-table-column> |
| | | <el-table-column prop="planDate" label="计划日期" min-width="100px"></el-table-column> |
| | | |
| | | <el-table-column prop="fmodel.name" label="工厂" min-width="100px"></el-table-column> |
| | | <el-table-column prop="pmodel.name" label="工序" show-overflow-tooltip min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span class="long-title-style">{{ row.pmodel ? row.pmodel.name : '-' }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="batch" label="生产批次号" show-overflow-tooltip min-width="140px"></el-table-column> |
| | | <el-table-column prop="num" label="计划数量" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span>{{ row.num + (row.umodel ? row.umodel.name : '') }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="batch" label="生产批次号" show-overflow-tooltip min-width="140px"></el-table-column> |
| | | <el-table-column prop="urgent" label="优先级" min-width="60px"></el-table-column> |
| | | <el-table-column prop="workPlanStartDate" label="计划开始日期" min-width="100px"> |
| | | <!-- <template slot-scope="{row}"> |
| | | {{ row.workPlanStartDate ? row.workPlanStartDate.substring(0, row.workPlanStartDate.length-9) : '-' }} |
| | | </template> --> |
| | | </el-table-column> |
| | | <el-table-column prop="workPlanEndDate" label="计划结束日期" min-width="100px"> |
| | | <!-- <template slot-scope="{row}"> |
| | | {{ row.workPlanEndDate ? row.workPlanEndDate.substring(0, row.workPlanEndDate.length-9) : '-' }} |
| | | </template> --> |
| | | </el-table-column> |
| | | |
| | | <el-table-column label="计划状态" min-width="80px"> |
| | | <template slot-scope="{row}"> |
| | | {{ statusToStr(row.status) }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="计划类型" min-width="80px"> |
| | | <template slot-scope="{row}"> |
| | | <span :style="typeColor(row.type)">{{ typeToStr(row.type) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="暂停" min-width="60px"> |
| | | <template slot-scope="{row}"> |
| | | {{ row.paused == 0 ? '否' : '是' }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="workPlanCode" label="成品计划编码" min-width="140px"></el-table-column> |
| | | <el-table-column prop="distributNoDoneNum" label="已分配未报工数量" min-width="140px"> |
| | | <template slot-scope="{row}"> |
| | | <span>{{row.distributNoDoneNum ? (row.distributNoDoneNum + (row.umodel ? row.umodel.name : '')) : '-' }}</span> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="qulifiedNum" label="合格数量" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span>{{row.qulifiedNum ? (row.qulifiedNum + (row.umodel ? row.umodel.name : '')) : '-' }}</span> |
| | | <span class="valid-style">{{row.qulifiedNum ? (row.qulifiedNum + (row.umodel ? row.umodel.name : '')) : '-' }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="unqulifiedNum" label="不良数量" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span>{{row.unqulifiedNum ? (row.unqulifiedNum + (row.umodel ? row.umodel.name : '')) : '-' }}</span> |
| | | <span class="unvalid-style">{{row.unqulifiedNum ? (row.unqulifiedNum + (row.umodel ? row.umodel.name : '')) : '-' }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="urgent" label="优先级" min-width="60px"></el-table-column> |
| | | <el-table-column label="暂停" min-width="60px"> |
| | | <template slot-scope="{row}"> |
| | | {{ row.paused == 0 ? '否' : '是' }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="workPlanCode" label="主计划编码" min-width="140px"></el-table-column> |
| | | <el-table-column label="类型" min-width="80px"> |
| | | <template slot-scope="{row}"> |
| | | <span :style="typeColor(row.type)">{{ typeToStr(row.type) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="publishDate" label="发布日期" min-width="100px"> |
| | |
| | | <span>{{ row.publishDate || '-' }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="userId" label="计划员" min-width="160px"> |
| | | <el-table-column prop="usermodel.realname" label="计划员" min-width="160px"> |
| | | <template slot-scope="{row}"> |
| | | <span class="long-title-style"> {{ row.usermodel.realname + " " + row.usermodel.mobile }}</span> |
| | | </template> |
| | |
| | | factoryId: null, |
| | | status: null, |
| | | mixParam: null, |
| | | endDate: null, |
| | | startDate: null, |
| | | planDateStartDate: null, |
| | | planDateEndDate: null, |
| | | batch: null, |
| | | type: null, |
| | | workPlanCode: null |
| | |
| | | }, |
| | | methods: { |
| | | selectDate (v) { |
| | | this.searchForm.startDate = v[0] |
| | | this.searchForm.endDate = v[1] |
| | | this.searchForm.planDateStartDate = v[0] |
| | | this.searchForm.planDateEndDate = v[1] |
| | | this.search() |
| | | }, |
| | | selectFactroy (v) { |
| | | this.searchForm.procedureIdList = [] |
| | |
| | | }, |
| | | reset () { |
| | | this.$refs.searchForm.resetFields() |
| | | this.searchForm.startDate = null |
| | | this.searchForm.endDate = null |
| | | this.searchForm.planDateStartDate = null |
| | | this.searchForm.planDateEndDate = null |
| | | this.time = [] |
| | | this.search() |
| | | }, |
| | |
| | | showPlan (id) { |
| | | planDetailById(id) |
| | | .then(res => { |
| | | // console.log(res) |
| | | this.$refs.operaPlansDetailExtWindow.open('详情', res) |
| | | }) |
| | | .catch(err => { |
| | |
| | | if (index === 0) { |
| | | sums[index] = '合计'; |
| | | return; |
| | | } else if (index === 1 || index === 8 || index === 9 || index === 16 || index === 17) { |
| | | } else if (index === 1 || index === 6 || index === 8 || index === 9 || index === 14 || index === 16 || index === 17) { |
| | | sums[index] = '-'; |
| | | return; |
| | | } else if (index === 8 ) { |