123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005 |
- <template>
- <el-card shadow="always" :body-style="{ padding: '10px' }">
- <div class="app-container">
- <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
- <el-form-item label="订单编号" prop="orderNumber">
- <el-input
- v-model="queryParams.orderNumber"
- placeholder="请输入订单编号"
- clearable
- @keyup.enter.native="handleQueryDz"
- />
- </el-form-item>
- <!-- <el-form-item label="合同编号" prop="contractNo">-->
- <!-- <el-input-->
- <!-- v-model="queryParams.contractNo"-->
- <!-- placeholder="请输入合同编号"-->
- <!-- clearable-->
- <!-- @keyup.enter.native="handleQueryDz"-->
- <!-- />-->
- <!-- </el-form-item>-->
- <el-form-item label="完成时间" prop="completiontime">
- <el-date-picker
- v-model="queryParams.completiontime"
- type="date"
- @keyup.enter.native="handleQueryDz"
- format="yyyy 年 MM 月 dd 日"
- value-format="yyyy-MM-dd"
- placeholder="请输入完成时间">
- </el-date-picker>
- </el-form-item>
- <el-form-item label="计划状态:" prop="taskStatus">
- <el-select
- v-model="queryParams.taskStatus"
- placeholder="请选择投产状态"
- clearable
- filterable
- >
- <el-option
- v-for="item in dict.type.tczt"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item>
- <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQueryDz">搜索</el-button>
- <el-button icon="el-icon-refresh" size="mini" @click="resetQueryDz">重置</el-button>
- </el-form-item>
- </el-form>
- <el-row >
- <el-radio-group v-model="queryParams.tabPosition" style="margin-bottom: 30px;float: right" @change="tabHandleClick" >
- <el-radio-button label="1">普通</el-radio-button>
- <el-radio-button label="2">焊接</el-radio-button>
- </el-radio-group>
- </el-row>
- <div class="mb8 btn-wrap">
- <el-row :gutter="10" class="mb8">
- <el-col :span="1.5">
- <el-button
- type="primary"
- plain
- icon="el-icon-plus"
- size="mini"
- @click="handleAdd"
- v-hasPermi="['amichi:tasks:add']"
- >新增</el-button>
- </el-col>
- <el-col :span="1.5">
- <el-button
- type="success"
- plain
- icon="el-icon-edit"
- size="mini"
- :disabled="single"
- @click="handleUpdate"
- v-hasPermi="['amichi:tasks:edit']"
- >修改</el-button>
- </el-col>
- <el-col :span="1.5">
- <el-button
- type="danger"
- plain
- icon="el-icon-delete"
- size="mini"
- :disabled="multiple"
- @click="handleDelete"
- v-hasPermi="['amichi:tasks:remove']"
- >删除</el-button>
- </el-col>
- <el-col :span="1.5">
- <el-button
- type="warning"
- plain
- icon="el-icon-download"
- size="mini"
- @click="handleExport"
- v-hasPermi="['amichi:tasks:export']"
- >导出</el-button>
- </el-col>
- <el-col :span="1.5">
- <el-button
- :disabled="!selection.length"
- type="info"
- icon="el-icon-s-help"
- size="mini"
- @click="handleAuto"
- >自动排产</el-button>
- </el-col>
- <el-col :span="1.5" v-show="queryParams.tabPosition==1">
- <el-button
- type="primary"
- plain
- icon="el-icon-plus"
- size="mini"
- @click="pullPlan"
- >拉取流转卡生产计划</el-button>
- </el-col>
- <el-col :span="1.5" v-show="queryParams.tabPosition==2">
- <el-button
- type="primary"
- plain
- icon="el-icon-plus"
- size="mini"
- @click="pullWeldPlan"
- >拉取焊接生产计划</el-button>
- </el-col>
- <right-toolbar
- :showCount.sync="showCount"
- :showSearch.sync="showSearch"
- :counts="true"
- @queryTable="getPlanList"
- ></right-toolbar>
- </el-row>
- </div>
- <el-table
- :data="tableData"
- @selection-change="handleSelectionChange"
- style="width: 100%;margin-top:20px">
- <el-table-column
- type="selection"
- align="center"
- width="55">
- </el-table-column>
- <el-table-column type="expand" width="30">
- <template slot-scope="scopes">
- <el-table :data="scopes.row.planTaskDetails" border
- style="width:calc(100% - 80px);float:right" id="child_tab">
- <el-table-column align="center" label="需求单据" prop="demandDocument"/>
- <el-table-column align="center" label="物料编码" prop="materialId" />
- <el-table-column align="center" label="物料名称" prop="materialName"/>
- <el-table-column align="center" label="型号" prop="modelNumber" />
- <el-table-column align="center" label="规格" prop="specification" />
- <el-table-column align="center" label="单位" prop="materialUnit" />
- <el-table-column align="center" label="数量(台)" >
- <template slot-scope="scope">
- {{ formatNumber(scope.row.quantity) }}
- </template>
- </el-table-column>
- <el-table-column label="操作" align="center" class-name="small-padding fixed-width" v-if="scopes.row.isWeldSheet!=2">
- <template slot-scope="scope">
- <el-dropdown @command="(command)=>{handleCommand(command, scope.row)}">
- <el-button type="success">
- 操作<i class="el-icon-arrow-down el-icon--right"></i>
- </el-button>
- <el-dropdown-menu slot="dropdown">
- <el-dropdown-item icon="el-icon-edit" command="catxlh">流转卡序列号</el-dropdown-item>
- </el-dropdown-menu>
- </el-dropdown>
- </template>
- </el-table-column>
- </el-table>
- </template>
- </el-table-column>
- <el-table-column
- label="任务编号"
- align="center"
- prop="planNumber">
- </el-table-column>
- <el-table-column
- label="订单号"
- align="center"
- prop="orderNumber">
- </el-table-column>
- <el-table-column
- prop="creationtimeString"
- label="单据日期"
- align="center">
- <template slot-scope="scope">
- {{ formatDateTime(scope.row.creationtimeString) }}
- </template>
- </el-table-column>
- <!-- <el-table-column-->
- <!-- label="合同号"-->
- <!-- align="center"-->
- <!-- prop="contractNumber">-->
- <!-- </el-table-column>-->
- <el-table-column
- label="总台数"
- align="center"
- prop="quantity">
- <template slot-scope="scope">
- {{ formatNumber(scope.row.quantity) }}
- </template>
- </el-table-column>
- <el-table-column
- label="特殊要求"
- align="center"
- :show-overflow-tooltip='true'
- width="200"
- prop="specialRequirements">
- </el-table-column>
- <!-- <el-table-column-->
- <!-- label="完成时间"-->
- <!-- align="center"-->
- <!-- prop="completionTime">-->
- <!-- </el-table-column>-->
- <el-table-column
- label="完成时间"
- align="center"
- prop="completionTime">
- <template slot-scope="scope">
- {{ formatDateTime(scope.row.completionTime) }}
- </template>
- </el-table-column>
- <el-table-column
- label="计划状态"
- align="center"
- prop="taskStatus">
- <template v-slot="scope">
- <dict-tag :options="dict.type.tczt" :value="scope.row.taskStatus"/>
- </template>
- </el-table-column>
- <el-table-column
- label="备注"
- align="center"
- :show-overflow-tooltip='true'
- prop="remark">
- </el-table-column>
- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
- <template slot-scope="scope">
- <el-dropdown @command="(command)=>{handleCommand(command, scope.row)}">
- <el-button type="warning">
- 操作<i class="el-icon-arrow-down el-icon--right"></i>
- </el-button>
- <el-dropdown-menu slot="dropdown">
- <el-dropdown-item icon="el-icon-edit" command="handleUpdate">修改</el-dropdown-item>
- <el-dropdown-item icon="el-icon-delete" command="handleDelete">删除</el-dropdown-item>
- <el-dropdown-item icon="el-icon-edit" v-if="scope.row.taskStatus==0" command="tc">投产</el-dropdown-item>
- <el-dropdown-item icon="el-icon-s-open" v-if="scope.row.isWeldSheet==1" command="printFlowCard">打印流转卡</el-dropdown-item>
- <el-dropdown-item icon="el-icon-s-open" v-if="scope.row.isWeldSheet!=1" command="printWeldCard">打印流焊接单</el-dropdown-item>
- </el-dropdown-menu>
- </el-dropdown>
- </template>
- </el-table-column>
- </el-table>
- <pagination
- v-show="total > 0"
- :total="total"
- :page.sync="queryParams.pageNum"
- :limit.sync="queryParams.pageSize"
- @pagination="getPlanList"
- />
- <!-- 自动排产 -->
- <el-dialog title="自动排产" :visible.sync="autoShow" width="1200px">
- <el-form
- :model="autoForm"
- ref="autoForm"
- :rules="autoFormRules"
- label-width="80px"
- :inline="false"
- size="normal"
- >
- <el-form-item label="排产类型" prop="schedulingType">
- <!-- <el-input v-model="form.schedulingType"></el-input> -->
- <el-select
- v-model="autoForm.schedulingType"
- placeholder="请选择排产类型"
- style="width: 1078px"
- clearable
- filterable
- >
- <el-option
- v-for="item in dict.type.schedule_type"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- </el-form>
- <div class="noneHoveTable">
- <!--物料清单表格-->
- <el-table
- :data="bomFormTableData"
- style="width: 100%"
- :row-class-name="tableRowClassName">
- <el-table-column
- prop="fbillno"
- label="单据编号"
- align="center">
- </el-table-column>
- <el-table-column
- prop="demandDocument"
- label="订单号"
- align="center">
- </el-table-column>
- <el-table-column
- prop="fmaterialid2Fnumber"
- label="物料编码"
- align="center">
- </el-table-column>
- <el-table-column
- show-overflow-tooltip
- prop="fmaterialname1"
- label="物料名称"
- align="center">
- </el-table-column>
- <el-table-column
- prop="fPonpBaseproperty"
- align="center"
- show-overflow-tooltip
- label="型号">
- </el-table-column>
- <el-table-column
- show-overflow-tooltip
- prop="fPonpBaseproperty"
- align="center"
- label="规格">
- </el-table-column>
- <!-- <el-table-column-->
- <!-- prop="workingProcedure"-->
- <!-- align="center"-->
- <!-- label="工作工序">-->
- <!-- </el-table-column>-->
- <el-table-column
- prop="fmustqty"
- align="center"
- label="需求量">
- </el-table-column>
- <el-table-column
- prop="sumQuantity"
- align="center"
- label="物料库存量">
- </el-table-column>
- </el-table>
- </div>
- <pagination
- v-show="qtTotal > 0"
- :total="qtTotal"
- :page.sync="qtQueryParams.pageNum"
- :limit.sync="qtQueryParams.pageSize"
- @pagination="viewPlannedMaterialStatus"
- />
- <template #footer>
- <span>
- <el-button type="info" @click="autoShow = false">取消</el-button>
- <el-button type="primary" @click="autoConfirmHandler"
- >确认</el-button
- >
- </span>
- </template>
- </el-dialog>
- <!-- 投产表单-->
- <el-dialog title="计划投产" :visible.sync="tcShow" width="1000px">
- <el-form
- :model="tcForm"
- ref="tcForm"
- :rules="tcFormRules"
- label-width="80px"
- >
- <el-row type="flex" class="row-bg" justify="space-between">
- <el-col :span="24">
- <el-form-item label="流程模板" prop="processKey">
- <el-select
- v-model="tcForm.processKey"
- placeholder="请选择流程模板类型"
- style="width: 880px"
- >
- <el-option
- v-for="item in listProcess"
- :key="item.resultMap.value"
- :label="item.resultMap.processName"
- :value="item.resultMap.processKey"
- >
- </el-option>
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row type="flex" class="row-bg" justify="space-between">
- <el-col :span="24">
- <el-form-item label="任务名称" prop="planName">
- <el-input v-model="tcForm.planName" placeholder="请输入任务名称" />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row type="flex" class="row-bg" justify="space-between">
- <el-col :span="24">
- <el-form-item label="投产数量" prop="quantity">
- <el-input v-model="tcForm.quantity" placeholder="请输入投产数量" />
- </el-form-item>
- </el-col>
- <!-- <el-col :span="12">-->
- <!-- <el-form-item label="完成时间" prop="completiontime">-->
- <!-- <el-input v-model="tcForm.completiontime" placeholder="请输入完成时间" />-->
- <!-- </el-form-item>-->
- <!-- </el-col>-->
- </el-row>
- <!-- <el-row type="flex" class="row-bg" justify="space-between">-->
- <!-- <el-col :span="12">-->
- <!-- <el-form-item label="数据" prop="requirementDate">-->
- <!-- <el-input v-model="tcForm.requirementDate" placeholder="请输入数据" />-->
- <!-- </el-form-item>-->
- <!-- </el-col>-->
- <!-- <el-col :span="12">-->
- <!-- <el-form-item label="机壳-端盖" prop="shell">-->
- <!-- <el-input v-model="tcForm.shell" placeholder="请输入机壳-端盖" />-->
- <!-- </el-form-item>-->
- <!-- </el-col>-->
- <!-- </el-row>-->
- <!-- <el-row type="flex" class="row-bg" justify="space-between">-->
- <!-- <el-col :span="12">-->
- <!-- <el-form-item label="开关" prop="switching">-->
- <!-- <el-input v-model="tcForm.switching" placeholder="请输入开关" />-->
- <!-- </el-form-item>-->
- <!-- </el-col>-->
- <!-- <el-col :span="12">-->
- <!-- <el-form-item label="颜色" prop="colour">-->
- <!-- <el-input v-model="tcForm.colour" placeholder="请输入颜色" />-->
- <!-- </el-form-item>-->
- <!-- </el-col>-->
- <!-- </el-row>-->
- <!-- <el-row type="flex" class="row-bg" justify="space-between">-->
- <!-- <el-col :span="12">-->
- <!-- <el-form-item label="铭牌" prop="nameplate">-->
- <!-- <el-input v-model="tcForm.nameplate" placeholder="请输入铭牌" />-->
- <!-- </el-form-item>-->
- <!-- </el-col>-->
- <!-- <el-col :span="12">-->
- <!-- <el-form-item label="说明书" prop="instructions">-->
- <!-- <el-input v-model="tcForm.instructions" placeholder="请输入说明书" />-->
- <!-- </el-form-item>-->
- <!-- </el-col>-->
- <!-- </el-row>-->
- <!-- <el-row type="flex" class="row-bg" justify="space-between">-->
- <!-- <el-col :span="12">-->
- <!-- <el-form-item label="合格证" prop="certificate">-->
- <!-- <el-input v-model="tcForm.certificate" placeholder="请输入合格证" />-->
- <!-- </el-form-item>-->
- <!-- </el-col>-->
- <!-- <el-col :span="12">-->
- <!-- <el-form-item label="包装箱" prop="packingbox">-->
- <!-- <el-input v-model="tcForm.packingbox" placeholder="请输入包装箱" />-->
- <!-- </el-form-item>-->
- <!-- </el-col>-->
- <!-- </el-row>-->
- <!-- <el-row type="flex" class="row-bg" justify="space-between">-->
- <!-- <el-col :span="24">-->
- <!-- <el-form-item label="特殊要求" prop="certificate">-->
- <!-- <el-input v-model="tcForm.special" placeholder="请输入特殊要求" />-->
- <!-- </el-form-item>-->
- <!-- </el-col>-->
- <!-- </el-row>-->
- </el-form>
- <template #footer>
- <span>
- <el-button @click="tcShow=false">取消投产</el-button>
- <el-button type="primary" @click="confirmedCommissioning">确认投产</el-button
- >
- </span>
- </template>
- </el-dialog>
- <!-- 工序流转卡弹窗 -->
- <el-dialog :title="title" :visible.sync="flowCardOpen" width="1000px" append-to-body>
- <!--弹窗头部搜索-->
- <el-form :model="flowCardQueryParams" ref="flowCardQueryForm" size="small" :inline="true" label-width="68px">
- <el-form-item label="序列号" prop="serialNumber">
- <el-input
- v-model="flowCardQueryParams.serialNumber"
- placeholder="序列号"
- clearable
- @keyup.enter.native="flowCardQueryHandleQuery"
- />
- </el-form-item>
- <el-form-item>
- <el-button type="primary" icon="el-icon-search" size="mini" @click="flowCardQueryHandleQuery">搜索</el-button>
- <el-button icon="el-icon-refresh" size="mini" @click="flowCardQueryResetQuery">重置</el-button>
- <!-- <el-button type="danger" icon="el-icon-brush" size="mini" @click="flowCardBM">补码</el-button>-->
- </el-form-item>
- </el-form>
- <!--弹窗内的表格-->
- <el-table
- :data="flowCardQueryTableData"
- border
- v-loading="flowCardQueryLoading"
- style="width: 100%">
- <el-table-column
- type="selection"
- align="center"
- width="55">
- </el-table-column>
- <el-table-column align="center" prop="demandDocumentNumber" label="需求单据号"></el-table-column>
- <el-table-column align="center" prop="serialNumber" label="序列号"></el-table-column>
- <el-table-column align="center" prop="printQuantity" label="数量">
- <template slot-scope="scope">
- {{ formatToInteger(scope.row.printQuantity) }}
- </template>
- </el-table-column>
- </el-table>
- <pagination
- v-show="flowCardQueryTotal>0"
- :total="flowCardQueryTotal"
- :page.sync="flowCardQueryParams.pageNum"
- :limit.sync="flowCardQueryParams.pageSize"
- @pagination="getListFlowCard"
- />
- </el-dialog>
- </div>
- </el-card>
- </template>
- <script>
- import {addInstruction, getPlanList,getPlanOne,viewPlannedMaterialStatus } from "@/api/amichi/planTask/index";
- import {listTableData,btnCommonApi} from "@/api/tablelist/commonTable.js";
- import { getToken } from "@/utils/auth";
- import {jdProductionOrderPull,jdProductionWeldPlanOrderPullApi, listProductionCardFlow} from "@/api/amichi/productionCardFlow/productionCardFlow";
- export default {
- name: "listInfo",
- dicts: ["schedule_type","tczt","scheduling_state"],
- components: {
- },
- data() {
- return {
- flowCardQueryTableData:[],
- flowCardQueryLoading:true,
- flowCardQueryTotal:0,
- flowCardQueryParams:{
- documentNumber:"",
- pageNum: 1,
- pageSize: 10,
- },
- flowCardOpen:false,
- bomFormTableData: [],
- showCount:false,
- tableData:[],
- planOne:{},
- orderNumebrs:[],
- listProcess:[],
- tcForm:{},
- tcFormRules:{
- processKey: [
- { required: true, message: '请选择流程模版', trigger: 'change' }
- ],
- planName: [
- { required: true, message: '请输入任务名称', trigger: 'blur' }
- ]
- },
- tcShow:false,
- showSearch:true,
- // 自动排产数据 start
- autoShow: false,
- autoForm: {
- schedulingType: "",
- },
- autoFormRules: {
- schedulingType: [
- { required: true, message: "请选择排产类型", trigger: "change" },
- ],
- },
- // 自动排产数据 end
- QueryfromLoading: false,
- selection: [], //选中数组
- // 遮罩层
- loading: true,
- // 选中数组
- ids: [],
- // 非单个禁用
- single: true,
- // 非多个禁用
- multiple: true,
- // 总条数
- total: 0,
- // 弹出层标题
- title: "",
- // 表单参数
- form: {},
- rules: {},
- // excel共通导入数据
- upload: {
- // 是否显示弹出层
- open: false,
- // 弹出层标题(
- title: "",
- // 是否禁用上传
- isUploading: false,
- // 是否更新已经存在的数据
- updateSupport: 0,
- // 设置上传的请求头部
- headers: { Authorization: "Bearer " + getToken() },
- // 上传的地址
- url: process.env.VUE_APP_BASE_API1 + "common/uploadData",
- },
- qtQueryParams:{
- pageNum: 1, // 第几页
- pageSize: 10, // 每页大小
- ids:[]
- },
- qtTotal:0,
- selectionString:[],
- // 排序方式 默认降序
- sortOrder: true,
- // 共通查询参数接受子组件的参数
- queryParams: {
- pageNum: 1, // 第几页
- pageSize: 10, // 每页大小
- orderByColumn: "", // 根据某列排序
- isAsc: "", // desc(降序)或 asc(升序)
- tabPosition:"1"
- },
- };
- },
- computed: {
- formattedTableData() {
- return this.tableData.map(item => ({
- ...item,
- printQuantity: Math.floor(item.printQuantity)
- }));
- },
- shouldShowOperationColumn() {
- return this.tableData.some(row => row.isWeldSheet === 2);
- }
- },
- filters: {
- formatNumber(value) {
- if (!value) return '';
- return value.toFixed(2);
- }
- },
- created() {
- //查询表格数据
- this.getPlanList(this.queryParams);
- },
- mounted() {
- },
- methods: {
- formatDateTime(dateTimeString) {
- if (!dateTimeString) return '';
- const date = new Date(dateTimeString);
- const year = date.getFullYear();
- const month = String(date.getMonth() + 1).padStart(2, '0');
- const day = String(date.getDate()).padStart(2, '0');
- // const hours = String(date.getHours()).padStart(2, '0');
- // const minutes = String(date.getMinutes()).padStart(2, '0');
- // const seconds = String(date.getSeconds()).padStart(2, '0');
- return `${year}-${month}-${day}`;
- },
- //拉取焊接生产订单
- pullWeldPlan(){
- console.log("好吊,你居然能拉取焊接订单")
- jdProductionWeldPlanOrderPullApi().then(response => {
- if(response.code==200){
- this.$message.success("拉取场内计划成功");
- }else {
- this.$message.success("拉取场内计划失败");
- }
- });
- },
- printWeldCard(row){
- this.orderNumebrs=[];
- console.log("欢迎打印焊接单据")
- console.log(row.orderNumber);
- this.orderNumebrs.push(row.orderNumber)
- //完整写法
- this.$router.push({
- path: '/amichi/print/FlowWeldCardPrint',
- query: {
- "orderNumberS": this.orderNumebrs,
- }
- });
- },
- tabHandleClick(){
- console.log(this.queryParams.tabPosition,"dfakljdkjf")
- this.getPlanList();
- },
- formatToFixedTwo(value) {
- if (value !== null && value !== undefined) {
- return Number(value).toFixed(2);
- }
- return '';
- },
- formatToInteger(value) {
- if (value !== null && value !== undefined) {
- return Math.floor(value);
- }
- return '';
- },
- //拉取场内生产计划增量
- pullPlan(){
- jdProductionOrderPull().then(response => {
- if(response.code==200){
- this.$message.success("拉取场内计划成功");
- }else {
- this.$message.success("拉取场内计划失败");
- }
- });
- },
- //查询表单重置
- flowCardQueryResetQuery(){
- this.resetForm("flowCardQueryForm");
- this.getListFlowCard();
- },
- //查询
- flowCardQueryHandleQuery(){
- console.log("工序流转卡数据查询");
- this.getListFlowCard();
- },
- //补码操作
- flowCardBM(row){
- console.log("补码")
- },
- formatNumber(value) {
- if (value === null || value === undefined) return '';
- return Number(value).toFixed(2);
- },
- // 多选框选中数据
- handleSelectionChange(selectionString) {
- //过滤出是否是选了,已经排产的数据
- this.selectionString=selectionString
- this.ids = selectionString.map(item => item.id)
- this.selection=selectionString.map(item => item.id)
- this.single = selectionString.length!==1
- this.multiple = !selectionString.length
- },
- // 自动排产确认回调
- autoConfirmHandler() {
- this.$refs.autoForm.validate(async (valid) => {
- if (valid) {
- //走生成采购单逻辑
- //过滤出来需求量大于库存量的物料信息
- const outOfStockProducts = this.bomFormTableData.filter(product => product.stockQuantity < product.quantityToBeDelivered);
- console.log(outOfStockProducts)
- this.autoForm.bomFormTableDataS=outOfStockProducts;
- //走排产逻辑
- this.autoForm.planIds = this.selection;
- let res = await addInstruction(this.autoForm);
- if (res.code == 200) {
- //查询表格数据
- this.getPlanList(this.queryParams);
- this.$message.success("排产成功");
- this.autoShow = false;
- } else {
- this.$message.error(res.msg);
- }
- } else {
- console.log("error submit!!");
- return false;
- }
- });
- },
- // 自动排产回调
- handleAuto() {
- //判断是否排过产了
- let result = this.selectionString.filter(obj => String(obj.taskStatus) != "2");
- if(result.length>0){
- let strArry=[]
- result.forEach(item=>{
- strArry.push(item.planNumber)
- });
- this.$message.warning("计划编号: "+strArry.join(",")+"不是待排产状态,不能重新排产");
- return;
- }
- this.viewPlannedMaterialStatus();
- },
- viewPlannedMaterialStatus(){
- // 查询当前选择计划的物料清单信息
- this.qtQueryParams.ids=this.selection
- viewPlannedMaterialStatus(this.qtQueryParams).then(res=>{
- console.log(res.code==501);
- if(res.code==501){
- this.$message.warning(res.msg);
- return;
- }else {
- //自动排产弹框展示
- this.bomFormTableData=res.rows;
- this.qtTotal=res.total;
- this.autoShow = true;
- }
- })
- },
- //物料不够就变红
- tableRowClassName({row, rowIndex}) {
- if (row.fmustqty -row.sumQuantity>0) {
- return 'warning-row';
- }else {
- return '';
- }
- },
- //确认投产
- confirmedCommissioning() {
- this.$refs["tcForm"].validate((valid) => {
- if (valid) {
- let objParam = {
- "basicMap": {
- btnKey: "69e23221-5054-4f93-84c5-ba5cb9efd4c2",
- btnType: "INITIATED",
- tableName: "production_planning_management",
- visible:true
- },
- btnParametersMap: {task_status: "1"},
- commMap:{
- process_key: this.tcForm.processKey,
- plan_name:this.tcForm.planName,
- },
- conditionMap: {id: this.tcForm.id}
- };
- console.log(objParam);
- btnCommonApi(objParam).then(res=>{
- console.log(res);
- if(res.code=200){
- this.$modal.msgSuccess("投产成功");
- this.getPlanList();
- this.tcShow=false;
- }
- })
- } else {
- return false;
- }
- });
- },
- handleExport(){},
- handleDelete(){},
- handleUpdate(){},
- //下拉菜单点击事件
- handleCommand(command, row) {
- switch (command) {
- case "handleUpdate":
- this.handleUpdate(row)
- break;
- case "handleDelete":
- this.handleDelete(row)
- break;
- case "tc":
- this.tc(row)
- break;
- case "printFlowCard":
- this.printFlowCard(row);
- break;
- case "catxlh":
- this.catxlh(row);
- break;
- case "printWeldCard":
- this.printWeldCard(row);
- break;
- default:
- break;
- }
- },
- //打印流转卡
- printFlowCard(row){
- this.orderNumebrs=[];
- console.log("欢迎打印工序流转卡")
- console.log(row.orderNumber);
- this.orderNumebrs.push(row.orderNumber)
- //完整写法
- this.$router.push({
- path: '/amichi/print/FlowCardPrint',
- query: {
- "orderNumberS": this.orderNumebrs,
- }
- });
- },
- //展示序列号
- catxlh(row){
- this.flowCardOpen=true;
- this.title = "工序流转卡列表";
- this.flowCardQueryParams={
- demandDocumentNumber:row.demandDocument,
- }
- this.getListFlowCard();
- },
- getListFlowCard(){
- this.flowCardQueryLoading = true;
- listProductionCardFlow(this.flowCardQueryParams).then(response => {
- this.flowCardQueryTableData = response.rows;
- this.flowCardQueryTotal = response.total;
- this.flowCardQueryLoading = false;
- });
- },
- //投产
- tc(row){
- console.log(row);
- if(row.taskStatus==2){
- this.$modal.msgWarning("当前计划未排产请先排产");
- return;
- }
- this.tcShow=true;
- this.queryProcessTemplate();
- // this.getPlanOne({"id":row.id});
- this.tcForm=row;
- },
- //查询一条计划信息
- getPlanOne(obj){
- getPlanOne(obj).then(res => {
- console.log(res);
- this.planOne=res.data;
- this.tcForm=res.data;
- })
- },
- //查询流程模板
- queryProcessTemplate(){
- let myQueryParams={
- basicMap:{},
- queryMap:{
- del_flag:'0',
- process_version:'0'
- }
- };
- myQueryParams.basicMap={
- tableName:'bpm_process'
- };
- listTableData(myQueryParams).then(res => {
- console.log(res.data)
- this.listProcess=res.rows;
- })
- },
- //新增计划
- handleAdd(){
- },
- //计划列表渲染
- getPlanList(){
- this.queryParams.planType=0
- getPlanList(this.queryParams).then((res) => {
- console.log(res.data);
- this.tableData=res.rows;
- this.total = res.total;
- });
- },
- /** 重置按钮操作 */
- resetQueryDz() {
- this.resetForm("queryForm");
- this.handleQueryDz();
- },
- /** 搜索按钮操作 */
- handleQueryDz() {
- this.queryParams.pageNum = 1;
- this.getPlanList(this.queryParams);
- },
- }
- };
- </script>
- <style scoped lang="scss">
- .dialog_loading {
- display: flex;
- justify-content: center;
- width: 100%;
- font-size: 30px;
- }
- .el-tooltip__popper{
- max-width:20%;
- }
- .el-tooltip__popper,.el-tooltip__popper.is-dark{
- background:rgb(48, 65, 86) !important;
- color: #fff !important;
- line-height: 24px;
- }
- ::v-deep .el-table .warning-row{
- background: red !important;
- //color: #fff;
- }
- ::v-deep .el-table .success-row {
- background: red !important;
- //color: #fff;
- }
- /* 修改鼠标经过表格的颜色 */
- .noneHoveTable .el-table--enable-row-hover .el-table__body tr:hover>td{
- background-color: #FAFAFA !important;
- }
- </style>
|