|
|
@@ -1,5638 +0,0 @@
|
|
|
-<template>
|
|
|
- <div>
|
|
|
- <header>
|
|
|
- <div style="height: 50px;">
|
|
|
- <el-button type="primary" size="large" class="bt" style="color:white;font-size: 15px;font-weight: bold;width: 70px" @click="onBZ" >班组维护</el-button>
|
|
|
- <el-button type="primary" size="large" class="bt" style="color:white;font-size: 15px;font-weight: bold;width: 90px" @click="onchanliang" v-if="zdtreeType === true" >日产量上报</el-button>
|
|
|
- <el-button type="primary" size="large" class="bt" style="color:white;font-size: 15px;font-weight: bold;width: 60px" @click="onOver" title="完工按钮" >完工</el-button>
|
|
|
- <el-button type="primary" size="large" class="bt" style="color:white;font-size: 15px;font-weight: bold;width: 70px" @click="onzhicheng" >制程检验</el-button>
|
|
|
- <el-button type="primary" size="large" class="bt" style="color:white;font-size: 15px;font-weight: bold;width: 70px" @click="ondianjian" >设备点检</el-button>
|
|
|
- <el-button type="primary" size="large" class="bt" style="color:white;font-size: 15px;font-weight: bold;width: 70px" @click="onxuncha" >管理巡查</el-button>
|
|
|
- <el-button type="primary" size="large" class="bt" style="color:white;font-size: 15px;font-weight: bold;width: 95px" @click="onstatus" >设置机台状态</el-button>
|
|
|
- <el-button type="primary" size="large" class="bt" style="color:white;font-size: 15px;font-weight: bold;width: 70px" @click="onyinban">印版领退</el-button>
|
|
|
- <el-button type="primary" size="large" class="bt" style="color:white;font-size: 15px;font-weight: bold;width: 70px" @click="onClear" >换型清场</el-button>
|
|
|
- <el-button type="primary" size="large" class="bt" style="color:white;font-size: 15px;font-weight: bold;width: 70px" @click="pd_gdprintonClick" >工单打印</el-button>
|
|
|
- <el-button type="primary" size="large" class="bt" style="color:white;font-size: 15px;font-weight: bold;width: 95px" @click="gzSel" >员工工资查询</el-button>
|
|
|
- <el-button type="primary" size="large" class="bt" style="color:white;font-size: 15px;font-weight: bold;width: 70px" @click="oncomplaints" >客诉记录</el-button>
|
|
|
- <el-button type="primary" size="large" class="bt" style="color:white;font-size: 15px;font-weight: bold;width: 120px" @click="deldbcl_onclick" :disabled="dbclSelection === ''" title="当班产量明细" >当班产量明细删除</el-button>
|
|
|
- </div>
|
|
|
- </header>
|
|
|
-
|
|
|
- <el-container>
|
|
|
- <el-container>
|
|
|
- <el-main>
|
|
|
-<div class="gva-search-box" style=" overflow: hidden; padding: 0; margin-top:20px;display: flex;">
|
|
|
- <div style="flex: 1; border: 0px magenta solid; margin: 0; padding: 0; margin-left: 20px; margin-top: 20px; color: red;">
|
|
|
-
|
|
|
- <el-row :gutter="20">
|
|
|
- <el-col :span="5">
|
|
|
- <el-form-item label="机台号" prop="id" label-width="60" class="zy-label"><el-input v-model="formData.机台号" placeholder=""/></el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="6">
|
|
|
- <el-form-item label="工单编号" prop="id"><el-input v-model="formData.工单编号" placeholder="" /></el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label=" "prop="name"><el-input v-model="formData.产品名称" placeholder="" /></el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <el-row :gutter="20">
|
|
|
- <el-col :span="7">
|
|
|
- <el-form-item label="印件编号" style="font-size: 1.5vh;" prop="id"><el-input v-model="formData.印件号" placeholder="" /></el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="15">
|
|
|
- <el-form-item label="工序名称" prop="name"><el-input v-model="formData.工序名称" placeholder="" /></el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <el-row :gutter="20">
|
|
|
- <el-col :span="4">
|
|
|
- <el-form-item label="班组成员" prop="id"></el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <el-row :gutter="1">
|
|
|
- <!-- 循环生成 el-input 组件 -->
|
|
|
- <el-col v-for="i in 6" :span="4" :key="i">
|
|
|
- <el-input v-model="formData[`sczl_bh${i}`]" placeholder="" />
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <el-row :gutter="1">
|
|
|
- <!-- 循环生成 el-input 组件 -->
|
|
|
- <el-col v-for="i in 6" :span="4" :key="i">
|
|
|
- <el-input v-model="formData[`sczl_name${i}`]" placeholder="" class="red-input"/>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </div>
|
|
|
- <!-- overflow: hidden;flex: 1; -->
|
|
|
- <div style="border: 0px lawngreen solid; margin: 0; padding: 0;width:34%;">
|
|
|
- <el-table tooltip-effect="dark" :data="selectData" row-key="ID" highlight-current-row="true" border
|
|
|
- :row-style="{ height: '20px'}" :cell-style="{ padding: '0px'}"
|
|
|
- :header-row-style="{ height: '20px'}" style="width:100%;height: 30vh;" @row-dblclick="handleSelectClick" >
|
|
|
- <el-table-column prop="process" label="印件及工序"width="280" />
|
|
|
- <el-table-column prop="completed" label="已完成板数" width="160" />
|
|
|
- </el-table>
|
|
|
- </div>
|
|
|
-</div>
|
|
|
-
|
|
|
- <div class="gva-table-box" style="margin-top: 20px;">
|
|
|
- <el-tabs v-model="activName" type="card" @tab-click="duohandleClick" >
|
|
|
- <el-tab-pane label="设备作业清单" @click.native="showTable('设备作业清单', 'first')" name="first" :class="{ 'active-tab': activeTab === 'first' }" style="font-size: 16px;">
|
|
|
- <el-table ref="multipleTable"
|
|
|
- :show-overflow-tooltip="true"
|
|
|
- highlight-current-row="true"
|
|
|
- :cell-class-name="sbzyqdsatusCellClass"
|
|
|
- :row-style="{ height: '40px' }"
|
|
|
- :cell-style="{ padding: '0px' }"
|
|
|
- :header-row-style="{ height: '40px' }"
|
|
|
- :header-cell-style="{ padding: '0px' }"
|
|
|
- @contextmenu.prevent="yjonRightClick"
|
|
|
- @row-click="yjupdateCompanyFunc"
|
|
|
- style="width: 100%;height: 330px;color:purple;font-weight: bold;" border tooltip-effect="dark"
|
|
|
- :data="sbzyData"
|
|
|
- row-key="ID"
|
|
|
- @selection-change="handleSelectionChange">
|
|
|
-<!-- <el-table-column type="selection" width="55" />-->
|
|
|
- <!-- <el-table-column align="left" label="选择" prop="bh" width="80"/> -->
|
|
|
- <el-table-column align="left" sortable label="工单编号|质量信息" prop="工单编号|质量信息" width="168"/>
|
|
|
- <el-table-column align="left" sortable label="印件资料" prop="印件资料" width="340" />
|
|
|
- <el-table-column align="left" sortable label="工序名称" prop="工序名称" width="300" />
|
|
|
- <el-table-column align="left" sortable label="计划产量/已完成" prop="计划产量/已完成" width="160"/>
|
|
|
- <el-table-column align="left" sortable label="装版时数" prop="装版时数" width="120"/>
|
|
|
- <el-table-column align="left" sortable label="工序产能" prop="工序产能" width="120"/>
|
|
|
- <el-table-column align="left" sortable label="计划工时" prop="计划工时" width="120"/>
|
|
|
- <el-table-column align="left" sortable label="计划生产时段" prop="计划生产时段" width="210" />
|
|
|
- <el-table-column align="left" sortable label="排产备注" prop="排产备注" width="120" />
|
|
|
- <el-table-column align="left" sortable label="产品名称" prop="产品名称" width="270" />
|
|
|
- </el-table>
|
|
|
- </el-tab-pane>
|
|
|
-
|
|
|
-
|
|
|
- <el-tab-pane label="班组人员及分配比例" @click="showTable('班组人员及分配比例')" name="second">
|
|
|
- <el-table ref="multipleTable"
|
|
|
- :show-overflow-tooltip="true"
|
|
|
- highlight-current-row="true"
|
|
|
- :row-style="{ height: '40px' }"
|
|
|
- :cell-style="{ padding: '0px' }"
|
|
|
- :header-row-style="{ height: '40px' }"
|
|
|
- :header-cell-style="{ padding: '0px' }"
|
|
|
- @contextmenu.prevent="bzonRightClick"
|
|
|
- @row-dblclick="gyupdateCompanyFunc"
|
|
|
- :row-class-name="rowClassStyle"
|
|
|
- :cell-class-name="bzryplanUsageCellClass"
|
|
|
- style="width: 100%;height: 400px;color:purple;font-weight: bold;"
|
|
|
- border
|
|
|
- tooltip-effect="dark"
|
|
|
- :data="FPData"
|
|
|
- row-key="ID"
|
|
|
- @selection-change="handleSelectionChange"
|
|
|
- @row-click="clickybupdate">
|
|
|
- <el-table-column type="selection" label="选择" width="55" />
|
|
|
- <el-table-column align="left" label="班组号" prop="班组号" width="80" />
|
|
|
- <el-table-column align="left" label="组员1" prop="0" width="240" />
|
|
|
- <el-table-column align="left" label="组员2" prop="1" width="240" />
|
|
|
- <el-table-column align="left" label="组员3" prop="2" width="240" />
|
|
|
- <el-table-column align="left" label="组员4" prop="3" width="240" />
|
|
|
- <el-table-column align="left" label="组员5" prop="4" width="220" />
|
|
|
- <el-table-column align="left" label="组员6" prop="5" width="100" />
|
|
|
- <el-table-column align="left" label="组员7" prop="6" width="100" />
|
|
|
- <el-table-column align="left" label="组员8" prop="7" width="100" />
|
|
|
- <el-table-column align="left" label="组员9" prop="8" width="100" />
|
|
|
- <el-table-column align="left" label="组员10" prop="9_正品版" width="120" />
|
|
|
- </el-table>
|
|
|
- </el-tab-pane>
|
|
|
-
|
|
|
- <el-tab-pane label="当班产量明细" @click="showsTable('当班产量明细')" name="third">
|
|
|
- <el-table ref="multipleTable" highlight-current-row="true" :show-overflow-tooltip="true" :row-style="{ height: '40px' }"
|
|
|
- :cell-style="{ padding: '0px'}" :header-row-style="{ height: '40px' }" :header-cell-style="{ padding: '0px' }"
|
|
|
- @row-dblclick="ybupdateCompanyFunc" style="width: 100%;height: 400px;color:purple;font-weight: bold;" border tooltip-effect="dark"
|
|
|
- :data="CLMXData" row-key="ID" @selection-change="dbclmxSelectionChange">
|
|
|
- <el-table-column type="selection" width="55" />
|
|
|
- <el-table-column align="left" label="生产时段" prop="生产时间段" width="180"/>
|
|
|
- <el-table-column align="left" label="工单编号" prop="工单编号" width="120" />
|
|
|
- <el-table-column align="left" label="产品名称" prop="产品名称" width="240" />
|
|
|
- <el-table-column align="left" label="印件及工序" prop="印件及工序" width="320"/>
|
|
|
- <el-table-column align="left" label="标牌号" prop="标牌号" width="80"/>
|
|
|
- <el-table-column align="left" label="产量" prop="产量" width="100"/>
|
|
|
- <el-table-column align="left" label="制程废品" prop="制程废品" width="100" />
|
|
|
- <el-table-column align="left" label="制程次品" prop="制程次品" width="100" />
|
|
|
- <el-table-column align="left" label="前工序废" prop="前工序废" width="100" />
|
|
|
- <el-table-column align="left" label="来料异常" prop="来料异常" width="100"/>
|
|
|
- <el-table-column align="left" label="装版工时" prop="装版工时" width="100" />
|
|
|
- <el-table-column align="left" label="保养工时" prop="保养工时" width="100" />
|
|
|
- <el-table-column align="left" label="打样工时" prop="打样工时" width="100"/>
|
|
|
- <el-table-column align="left" label="异常停机工时" prop="异常停机工时" width="120"/>
|
|
|
- <el-table-column align="left" label="通电工时" prop="通电工时" width="100"/>
|
|
|
- <el-table-column align="left" label="码开始行" prop="码开始行" width="100" />
|
|
|
- <el-table-column align="left" label="码结束行" prop="码结束行" width="100" />
|
|
|
- <el-table-column align="left" label="码包" prop="码包" width="100" />
|
|
|
- <el-table-column align="left" label="主电表" prop="主电表" width="100"/>
|
|
|
- <el-table-column align="left" label="辅电表" prop="辅电表" width="100" />
|
|
|
- <el-table-column align="left" label="色度数" prop="色度" width="100" />
|
|
|
- </el-table>
|
|
|
- </el-tab-pane>
|
|
|
-
|
|
|
- <el-tab-pane label="检验记录" @click="showTable('检验记录')" name="fourth">
|
|
|
- <el-table ref="multipleTable" :row-style="{ height: '40px' }" :cell-style="{ padding: '0px'}" :header-row-style="{ height: '40px' }"
|
|
|
- :header-cell-style="{ padding: '0px' }" :show-overflow-tooltip="true" highlight-current-row="true"
|
|
|
- style="width: 100%;height: 400px;color:purple;font-weight: bold;" border tooltip-effect="dark" :data="JYData" row-key="ID" @selection-change="handleSelectionChange">
|
|
|
- <!--<el-table-column type="selection" width="55" />-->
|
|
|
- <el-table-column align="left" label="工单编号" prop="工单编号" width="120"/>
|
|
|
- <el-table-column align="left" label="印件号" prop="印件号" width="120" />
|
|
|
- <el-table-column align="left" label="工序名称" prop="工序名称" width="430" />
|
|
|
- <el-table-column align="left" label="检验项目" prop="检验项目" width="1140"/>
|
|
|
- <el-table-column v-for="time in columnNames" :key="time" :label="time" :prop="time" align="center" width="120"></el-table-column>
|
|
|
- </el-table>
|
|
|
- </el-tab-pane>
|
|
|
-
|
|
|
- </el-tabs>
|
|
|
- <!-- <div class="gva-pagination">
|
|
|
- <el-pagination
|
|
|
- layout="total, sizes, prev, pager, next, jumper"
|
|
|
- :current-page="page"
|
|
|
- :page-size="pageSize"
|
|
|
- :page-sizes="[10, 30, 50, 100]"
|
|
|
- :total="total"
|
|
|
- @current-change="handleCurrentChange"
|
|
|
- @size-change="handleSizeChange"
|
|
|
- />
|
|
|
- </div> -->
|
|
|
- </div>
|
|
|
- <el-dialog v-model="dialogFormVisible" :before-close="closeDialog" :title="type==='create'?'添加':'修改'" destroy-on-close>
|
|
|
- <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
|
|
|
- <el-tab-pane label="当日上报产量" @click="showTable('工艺资料')" name="first">
|
|
|
- <el-table ref="multipleTable"
|
|
|
- :show-overflow-tooltip="true"
|
|
|
- :row-style="{ height: '20px' }"
|
|
|
- :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
|
|
|
- :header-cell-style="{ padding: '0px' }"
|
|
|
- highlight-current-row="true"
|
|
|
- style="width: 100%;height: 400px" border tooltip-effect="dark" :data="gytableData" row-key="ID" @selection-change="handleSelectionChange">
|
|
|
- <el-table-column type="selection" width="55" />
|
|
|
- <el-table-column align="left" label="选择" prop="工单编号" width="100"/>
|
|
|
- <el-table-column align="left" label="产品名称" prop="重点工序" width="100"/>
|
|
|
- <el-table-column align="left" label="工序" prop="工序备注" width="240"/>
|
|
|
- <el-table-column align="left" label="备注" prop="机组" width="100"/>
|
|
|
- <el-table-column align="left" label="产量" prop="小时产能" width="100"/>
|
|
|
- <el-table-column align="left" label="千件工价" prop="生产工时" width="100"/>
|
|
|
- <el-table-column align="left" label="日定额" prop="辅助工时" width="100"/>
|
|
|
- <el-table-column align="left" label="补产标准" prop="印刷方式" width="100"/>
|
|
|
- <el-table-column align="left" label="难度系数" prop="版距" width="100"/>
|
|
|
- <el-table-column align="left" label="印刷方式" prop="创建用户" width="120"/>
|
|
|
- <el-table-column align="left" label="组员1" prop="Gy0_gxh" width="240" />
|
|
|
- <el-table-column align="left" label="组员2" prop="gy0_gxmc" width="240" />
|
|
|
- <el-table-column align="left" label="组员3" prop="add_gxmc" width="240" />
|
|
|
- <el-table-column align="left" label="组员4" prop="Gy0_Ks" width="240" />
|
|
|
- <el-table-column align="left" label="组员5" prop="Gy0_ls" width="100" />
|
|
|
- <el-table-column align="left" label="组员6" prop="备注" width="100" />
|
|
|
- <el-table-column align="left" label="组员7" prop="工价系数" width="100" />
|
|
|
- <el-table-column align="left" label="组员8" prop="损耗系数" width="100" />
|
|
|
- <el-table-column align="left" label="组员9" prop="Gy0_Ms" width="100" />
|
|
|
- <el-table-column align="left" label="组员10" prop="人工检_正品版" width="120" />
|
|
|
- <el-table-column align="left" label="制程废品" prop="Sys_id" width="100" />
|
|
|
- <el-table-column align="left" label="制程次品" prop="建档日期" width="100" />
|
|
|
- <el-table-column align="left" label="前工序废" prop="更新日期" width="100" />
|
|
|
- <el-table-column align="left" label="来料异常" prop="YB_方案" width="100"/>
|
|
|
- <el-table-column align="left" label="装版工时" prop="YB_Yjno" width="100" />
|
|
|
- <el-table-column align="left" label="保养工时" prop="印版类别" width="100" />
|
|
|
- <el-table-column align="left" label="打样工时" prop="存货编码" width="100"/>
|
|
|
- <el-table-column align="left" label="异常停机工时" prop="印版名称" width="120"/>
|
|
|
- <el-table-column align="left" label="通电工时" prop="考核印数" width="100"/>
|
|
|
- <el-table-column align="left" label="码开始行" prop="Sys_id" width="100" />
|
|
|
- <el-table-column align="left" label="码结束行" prop="建档日期" width="100" />
|
|
|
- <el-table-column align="left" label="码包" prop="更新日期" width="100" />
|
|
|
- <el-table-column align="left" label="主电表" prop="YB_方案" width="100"/>
|
|
|
- <el-table-column align="left" label="辅电表" prop="YB_Yjno" width="100" />
|
|
|
- <el-table-column align="left" label="色度数" prop="印版类别" width="100" />
|
|
|
- <el-table-column align="left" label="用户" prop="YB_Yjno" width="100" />
|
|
|
- <el-table-column align="left" label="更新时间" prop="印版类别" width="100" />
|
|
|
- </el-table>
|
|
|
- </el-tab-pane>
|
|
|
-
|
|
|
- <el-tab-pane label="当日制程检验记录" @click="showTable('印件资料')" name="second">
|
|
|
- <el-table ref="multipleTable"
|
|
|
- :row-style="{ height: '20px' }"
|
|
|
- :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
|
|
|
- :header-cell-style="{ padding: '0px' }"
|
|
|
- :show-overflow-tooltip="true"
|
|
|
- highlight-current-row="true"
|
|
|
- style="width: 100%;height: 400px" border tooltip-effect="dark" :data="drzcData" row-key="ID" @selection-change="handleSelectionChange">
|
|
|
- <el-table-column type="selection" width="55" />
|
|
|
- <el-table-column align="left" label="工单编号" prop="工单编号" width="120"/>
|
|
|
- <el-table-column align="left" label="印件号" prop="印件号" width="120" />
|
|
|
- <el-table-column align="left" label="工序名称" prop="工序名称" width="330" />
|
|
|
- <el-table-column align="left" label="检验项目" prop="检验项目" width="120"/>
|
|
|
- <el-table-column
|
|
|
- v-for="time in columnNames"
|
|
|
- :key="time"
|
|
|
- :label="time"
|
|
|
- :prop="time"
|
|
|
- align="center"
|
|
|
- width="120"
|
|
|
- ></el-table-column>
|
|
|
- </el-table>
|
|
|
- </el-tab-pane>
|
|
|
- </el-tabs>
|
|
|
- </el-dialog>
|
|
|
-
|
|
|
- <el-dialog v-model="detailShow" fullscreen style="font-size: 50px;font-weight: bold;" lock-scroll :before-close="closeDetailShow" title="机台班组维护" destroy-on-close>
|
|
|
- <div>
|
|
|
- <el-table ref="multipleTable" :row-style="{ height: '50px' }" :header-cell-style="{ padding: '0px' }"
|
|
|
- :cell-style="{ padding: '0px' ,color:'blue'}" :header-row-style="{ height: '40px' }"
|
|
|
- :show-overflow-tooltip="true" highlight-current-row="true" @row-click="BZhandle"
|
|
|
- style="width: 100%;height: 300px;margin-top: 0px;font-weight: bold;" border tooltip-effect="dark"
|
|
|
- :data="bzData" row-key="ID" @selection-change="BZSelectionChange">
|
|
|
- <!-- <el-table-column type="selection" width="55" /> -->
|
|
|
- <el-table-column align="left" label="机台" prop="JTMC" width="70"/>
|
|
|
- <el-table-column align="left" label="班组" prop="班组号" width="60"/>
|
|
|
- <el-table-column align="left" label="组员1" prop="0" width="195"/>
|
|
|
- <el-table-column align="left" label="组员2" prop="1" width="195"/>
|
|
|
- <el-table-column align="left" label="组员3" prop="2" width="195"/>
|
|
|
- <el-table-column align="left" label="组员4" prop="3" width="195"/>
|
|
|
- <el-table-column align="left" label="组员5" prop="4" width="195"/>
|
|
|
- <el-table-column align="left" label="组员6" prop="5" width="195"/>
|
|
|
- <el-table-column align="left" label="组员7" prop="6" width="180"/>
|
|
|
- <el-table-column align="left" label="组员8" prop="7" width="100"/>
|
|
|
- <el-table-column align="left" label="组员9" prop="8" width="100"/>
|
|
|
- <el-table-column align="left" label="特殊组员" prop="9" width="100"/>
|
|
|
- <el-table-column align="left" label="UNIQID" prop="ID" width="100"/>
|
|
|
- </el-table>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div style="margin-top:100px;font-weight: bold;color:purple">
|
|
|
- <el-row :gutter="20">
|
|
|
-
|
|
|
- <el-col :span="10">
|
|
|
- <el-form-item label="机台编号" prop="id">
|
|
|
- <el-select v-model="selectedOption" placeholder="请选择">
|
|
|
- <el-option v-for="item in dropdownOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
-
|
|
|
- <el-col :span="10">
|
|
|
- <el-form-item label="班组编号" prop="id">
|
|
|
- <el-select v-model="BZMC" placeholder="" >
|
|
|
- <el-option label="A 班" value="A 班"></el-option>
|
|
|
- <el-option label="B 班" value="B 班"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
-
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <div style="display: flex;font-weight: bold;color:purple">
|
|
|
- <div class="groupbox float-div" style="height: 20vh; width: 130vh;font-weight: bold;color:purple;font-size: 2.5vh;">
|
|
|
- <span class="grouptitle">组员及分配比例</span>
|
|
|
- <el-row :gutter="10" style="margin-top: 0px; height: 5vh;">
|
|
|
- <el-col :span="2"><span></span></el-col>
|
|
|
- <el-col :span="2"></el-col>
|
|
|
- <el-col :span="2"></el-col>
|
|
|
- <el-col :span="2"></el-col>
|
|
|
- <el-col :span="2"></el-col>
|
|
|
- <el-col :span="2"></el-col>
|
|
|
- <el-col :span="2"></el-col>
|
|
|
- <el-col :span="2"></el-col>
|
|
|
- <el-col :span="2"></el-col>
|
|
|
- <el-col :span="3"></el-col>
|
|
|
- <el-col :span="3"><el-form-item label="特殊组员" prop="id"></el-form-item></el-col>
|
|
|
- </el-row>
|
|
|
- <el-row :gutter="10" style="margin-top: 0px;">
|
|
|
- <el-col :span="3"><el-input v-model="formDatas.code1" @keyup.enter.native="getbzyg($event, '1')"/></el-col>
|
|
|
- <el-col :span="3"><el-input v-model="formDatas.code2" @keyup.enter.native="getbzyg($event, '2')"/></el-col>
|
|
|
- <el-col :span="3"><el-input v-model="formDatas.code3" @keyup.enter.native="getbzyg($event, '3')"/></el-col>
|
|
|
- <el-col :span="3"><el-input v-model="formDatas.code4" @keyup.enter.native="getbzyg($event, '4')"/></el-col>
|
|
|
- <el-col :span="3"><el-input v-model="formDatas.code5" @keyup.enter.native="getbzyg($event, '5')"/></el-col>
|
|
|
- <el-col :span="3"><el-input v-model="formDatas.code6" @keyup.enter.native="getbzyg($event, '6')"/></el-col>
|
|
|
- <el-col :span="3"><el-input v-model="formDatas.code7" @keyup.enter.native="getbzyg($event, '7')"/></el-col>
|
|
|
- <el-col :span="3"><el-input v-model="formDatas.code8" @keyup.enter.native="getbzyg($event, '8')"/></el-col>
|
|
|
- </el-row>
|
|
|
- <el-row :gutter="10" style="margin-top: 1px;font-weight: bold;color:purple">
|
|
|
- <el-col :span="3"><el-input v-model="formDatas.name1" placeholder="" /></el-col>
|
|
|
- <el-col :span="3"><el-input v-model="formDatas.name2" placeholder="" /></el-col>
|
|
|
- <el-col :span="3"> <el-input v-model="formDatas.name3" placeholder="" /></el-col>
|
|
|
- <el-col :span="3"> <el-input v-model="formDatas.name4" placeholder="" /></el-col>
|
|
|
- <el-col :span="3"><el-input v-model="formDatas.name5" placeholder="" /></el-col>
|
|
|
- <el-col :span="3"><el-input v-model="formDatas.name6" placeholder="" /></el-col>
|
|
|
- <el-col :span="3"><el-input v-model="formDatas.name7" placeholder="" /></el-col>
|
|
|
- <el-col :span="3"><el-input v-model="formDatas.name8" placeholder="" /></el-col>
|
|
|
- </el-row>
|
|
|
- <el-row :gutter="10" style="margin-top: 1px;font-weight: bold;color:purple">
|
|
|
- <el-col :span="3"><el-input v-model="formDatas.percentage1" placeholder="" /></el-col>
|
|
|
- <el-col :span="3"><el-input v-model="formDatas.percentage2" placeholder="" /></el-col>
|
|
|
- <el-col :span="3"><el-input v-model="formDatas.percentage3" placeholder="" /></el-col>
|
|
|
- <el-col :span="3"><el-input v-model="formDatas.percentage4" placeholder="" /></el-col>
|
|
|
- <el-col :span="3"><el-input v-model="formDatas.percentage5" placeholder="" /></el-col>
|
|
|
- <el-col :span="3"><el-input v-model="formDatas.percentage6" placeholder="" /></el-col>
|
|
|
- <el-col :span="3"><el-input v-model="formDatas.percentage7" placeholder="" /></el-col>
|
|
|
- <el-col :span="3"><el-input v-model="formDatas.percentage8" placeholder="" /></el-col>
|
|
|
- </el-row>
|
|
|
- </div>
|
|
|
- <div style="height: 50vh; width: 15vh;margin-top: 3vh;">
|
|
|
- <el-button type="text"></el-button>
|
|
|
- <el-button style="margin-bottom: 1vh; width:15vh;background-color:cornflowerblue;font-size: 2.0vh;font-weight: bold; color: white;" @click="addBz" >新 增</el-button>
|
|
|
- <el-button style="margin-bottom: 1vh;width:15vh;background-color:cornflowerblue;font-size: 2.0vh;font-weight: bold; color: white;" @click="selectBz" >更新当前班组</el-button>
|
|
|
- <el-button style="margin-bottom: 1vh;width:15vh;background-color:cornflowerblue;font-size: 2.0vh;font-weight: bold; color: white;" @click="delBz" >删除当前班组</el-button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </el-dialog>
|
|
|
-
|
|
|
-<!-- 组员及分配比例-->
|
|
|
- <el-dialog v-model="blModel" :before-close="() => blModel = false" style="width: 20%">
|
|
|
- <el-form>
|
|
|
- <div>
|
|
|
- <el-table :data="employeeData" border :show-overflow-tooltip="true" :cell-class-name="blplanUsageCellClass" @row-click="tablebllickHandler($event)">
|
|
|
- <el-table-column prop="员工编号" label="员工编号"></el-table-column>
|
|
|
- <el-table-column prop="ygxm" label="员工姓名"></el-table-column>
|
|
|
- </el-table>
|
|
|
- </div>
|
|
|
- </el-form>
|
|
|
- </el-dialog>
|
|
|
-
|
|
|
-
|
|
|
- <el-dialog v-model="complaintsShow" fullscreen style="font-size: 50px;font-weight: bold;"
|
|
|
- lock-scroll :before-close="closecomplaintsShow" title="产品客诉查询" destroy-on-close>
|
|
|
- <el-table ref="multipleTable"
|
|
|
- :row-style="{ height: '20px' }" :header-cell-style="{ padding: '0px' }"
|
|
|
- :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
|
|
|
- :show-overflow-tooltip="true" highlight-current-row="true" @row-click="complaintshandle"
|
|
|
- style="width: 100%;height: 30vh;margin-top: 0px;" border tooltip-effect="dark"
|
|
|
- :data="complaintsData" row-key="ID" @selection-change="complaintsSelectionChange">
|
|
|
- <!-- <el-table-column type="selection" width="55" /> -->
|
|
|
- <el-table-column align="left" label="产品编号" prop="产品编号" width="120"/>
|
|
|
- <el-table-column align="left" label="产品名称" prop="产品名称" width="200"/>
|
|
|
- <el-table-column align="left" label="客诉日期" prop="客诉日期" width="120"/>
|
|
|
- <el-table-column align="left" label="客诉单号" prop="客诉单号" width="120"/>
|
|
|
- <el-table-column align="left" label="客诉方式" prop="客诉方式" width="100"/>
|
|
|
- <el-table-column align="left" label="订单编号" prop="订单编号" width="100"/>
|
|
|
- <el-table-column align="left" label="缺陷关键字" prop="缺陷关键字" width="140"/>
|
|
|
- <el-table-column align="left" label="客诉性质" prop="客诉性质" width="100"/>
|
|
|
- <el-table-column align="left" label="主要责任部门" prop="主要责任部门" width="140"/>
|
|
|
- <el-table-column align="left" label="次要责任部门" prop="次要责任部门" width="140"/>
|
|
|
- </el-table>
|
|
|
- <el-row :gutter="20" style="margin-bottom: 1px;margin-top: 0px;">
|
|
|
- <el-col :span="6" style="margin-bottom: 1px;margin-top: 0px;">
|
|
|
- <el-form-item label="客户编号" prop="id" style="margin-bottom: 1px;margin-top: 0px;">
|
|
|
- <el-input v-model="selectedRowData.客户编号" style="margin-bottom: 1px;margin-top: 0px;" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="15" style="margin-bottom: 1px;margin-top: 0px;">
|
|
|
- <el-form-item label="客户名称" prop="id" style="margin-bottom: 1px;margin-top: 0px;">
|
|
|
- <el-input v-model="selectedRowData.客户名称" style="margin-bottom: 1px;margin-top: 0px;" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row :gutter="20" style="margin-bottom: 1px;margin-top: 0px;">
|
|
|
- <el-col :span="6" style="margin-bottom: 1px;margin-top: 0px;">
|
|
|
- <el-form-item label="客诉单号" prop="id" style="margin-bottom: 1px;margin-top: 0px;">
|
|
|
- <el-input v-model="selectedRowData.客诉单号" style="margin-bottom: 1px;margin-top: 0px;" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="5" style="margin-bottom: 1px;margin-top: 0px;">
|
|
|
- <el-form-item label="客诉日期" prop="id" style="margin-bottom: 1px;margin-top: 0px;">
|
|
|
- <el-input v-model="selectedRowData.客诉日期" style="margin-bottom: 1px;margin-top: 0px;" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="5" style="margin-bottom: 1px;margin-top: 0px;">
|
|
|
- <el-form-item label="方式" prop="id" style="margin-bottom: 1px;margin-top: 0px;">
|
|
|
- <el-input v-model="selectedRowData.客诉方式" style="margin-bottom: 1px;margin-top: 0px;" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="5" style="margin-bottom: 1px;margin-top: 0px;">
|
|
|
- <el-form-item label="批次号" prop="id" style="margin-bottom: 1px;margin-top: 0px;">
|
|
|
- <el-input v-model="selectedRowData.订单编号" style="margin-bottom: 1px;margin-top: 0px;" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
-
|
|
|
- <el-row :gutter="20" style="margin-bottom: 1px;margin-top: 0px;">
|
|
|
- <el-col :span="20" style="margin-bottom: 1px;margin-top: 0px;">
|
|
|
- <el-form-item label="反馈问题" prop="id" style="margin-bottom: 1px;margin-top: 0px;">
|
|
|
- <el-input v-model="selectedRowData.客诉描述" style="margin-bottom: 1px;margin-top: 0px;" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <el-row :gutter="20" style="margin-bottom: 1px;margin-top: 0px;">
|
|
|
- <el-col :span="20" style="margin-bottom: 1px;margin-top: 0px;">
|
|
|
- <el-form-item label="缺陷关键字" prop="id" style="margin-bottom: 1px;margin-top: 0px;">
|
|
|
- <el-input v-model="selectedRowData.缺陷关键字" style="margin-bottom: 1px;margin-top: 0px;" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <el-row :gutter="20" style="margin-bottom: 1px;margin-top: 0px;">
|
|
|
- <el-col :span="5" style="margin-bottom: 1px;margin-top: 0px;">
|
|
|
- <el-form-item label="性质" prop="id" style="margin-bottom: 1px;margin-top: 0px;">
|
|
|
- <el-input v-model="selectedRowData.客诉性质" style="margin-bottom: 1px;margin-top: 0px;" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="5" style="margin-bottom: 1px;margin-top: 0px;">
|
|
|
- <el-form-item label="扣分" prop="id" style="margin-bottom: 1px;margin-top: 0px;">
|
|
|
- <el-input v-model="selectedRowData.扣分" style="margin-bottom: 1px;margin-top: 0px;" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row :gutter="20" style="margin-bottom: 1px;margin-top: 0px;">
|
|
|
- <el-col :span="20" style="margin-bottom: 1px;margin-top: 0px;">
|
|
|
- <el-form-item label="主责任部门" prop="id" style="margin-bottom: 1px;margin-top: 0px;">
|
|
|
- <el-input v-model="selectedRowData.主要责任部门" style="margin-bottom: 1px;margin-top: 0px;" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row :gutter="20" style="margin-bottom: 1px;margin-top: 0px;">
|
|
|
- <el-col :span="20" style="margin-bottom: 1px;margin-top: 0px;">
|
|
|
- <el-form-item label="次责任部门" prop="id" style="margin-bottom: 1px;margin-top: 0px;">
|
|
|
- <el-input v-model="selectedRowData.次要责任部门" style="margin-bottom: 1px;margin-top: 0px;" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </el-dialog>
|
|
|
-
|
|
|
- <el-dialog v-model="dianjianVisible" title="设备点检记录" destroy-on-close fullscreen style="font-size: 3.5vh;font-weight: bold;" >
|
|
|
- <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-col :span="4" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-form-item label="设备编号" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-input v-model="JTMC" placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="10" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-row style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-col style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-input v-model="formData.产品名称" placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <div style="display: flex;">
|
|
|
- <div style="flex: 0.1;margin-top: 0px;">
|
|
|
- <el-aside width="25vh" style="margin: 0; height: 50vh; margin-top: 0px;">
|
|
|
- <div class="JKWTree-tree" style="height: 100%; border-right: 1px solid #ebeef5;">
|
|
|
- <el-tree :data="dianjiantreeData" :props="defaultProps" highlight-current="true"
|
|
|
- @node-click="dianjianNodeClick" @node-dblclick="handleNodeDoubleClick"></el-tree>
|
|
|
- </div>
|
|
|
- </el-aside>
|
|
|
- </div>
|
|
|
- <div style="flex: 1; margin: 0;">
|
|
|
- <el-table tooltip-effect="dark" :data="dianjianselectData"
|
|
|
- row-key="ID" highlight-current-row="true" :show-overflow-tooltip="true"
|
|
|
- border @row-click="dianjianhandle"
|
|
|
- style="width:119vh; height:45vh; margin-top: 5px;"
|
|
|
- @row-dblclick="handleSelectClick" :row-class-name="rowClassName">
|
|
|
- <el-table-column prop="检验项目" label="检验项目" width="320" />
|
|
|
- <el-table-column prop="点检方法" label="点检方法" width="180" />
|
|
|
- <el-table-column v-slot="scope" label="正常" width="70" >
|
|
|
- <el-checkbox v-model="scope.row.zc" @click="zcClick(scope.row)"></el-checkbox>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column v-slot="scope" label="异常" width="70" >
|
|
|
- <el-checkbox v-model="scope.row.yc" @click="ycClick(scope.row)"></el-checkbox>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column v-slot="scope" label="备注说明" width="180" >
|
|
|
- <el-input v-model="scope.row.remark"/>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column v-slot="scope" label="不检测" >
|
|
|
- <el-checkbox v-model="scope.row.notjc" @click="notjcClick(scope.row)"></el-checkbox>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- <el-row :gutter="24">
|
|
|
- <el-col :span="17">
|
|
|
- <el-input v-model="pandingfangfa" style="margin-top=0px; height: 40px; margin-bottom: 0px;" />
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <template #footer>
|
|
|
- <div class="dialog-footer">
|
|
|
- <el-button @click="closedianjianDialog"style="height: 50px;width: 100px;font-size: 2.5vh;font-weight: bold;">关 闭</el-button>
|
|
|
- <el-button type="primary" style="height: 50px;width: 100px;font-size: 2.5vh;font-weight: bold;"@click="dianjianDialog">提 交</el-button>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-dialog>
|
|
|
-
|
|
|
- <el-dialog v-model="zhichengVisible" title="制程检验记录" destroy-on-close fullscreen style="font-size: 3.5vh;font-weight: bold;" >
|
|
|
- <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-col :span="5" style="margin-top=0px; margin-bottom: 0px;">
|
|
|
- <el-form-item label="工单编号" prop="id" style="margin-top=0px; margin-bottom: 0px;">
|
|
|
- <el-input v-model="xunchaData.order" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
-
|
|
|
- <el-col :span="15" style="margin-top=0px; margin-bottom: 0px;">
|
|
|
- <el-row style="margin-top=0px; margin-bottom: 0px;">
|
|
|
- <el-col style="margin-top=0px; margin-bottom: 0px;">
|
|
|
- <el-input v-model="xunchaData.product_name" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </el-col>
|
|
|
- <el-col :span="4" style="margin-top=0px; margin-bottom: 0px;">
|
|
|
- <el-form-item label="流程单" prop="id" style="margin-top=0px; margin-bottom: 0px;">
|
|
|
- <el-input v-model="xunchaData.lcdh" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
-
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-col :span="5" style="margin-top=0px; margin-bottom: 0px;">
|
|
|
- <el-form-item label="印件编号" prop="id" style="margin-top=0px; margin-bottom: 0px;">
|
|
|
- <el-input v-model="xunchaData.yjno" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="15" style="margin-top=0px; margin-bottom: 0px;">
|
|
|
- <el-input v-model="xunchaData.gxmc" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <div style="display: flex;margin-top: 20px;">
|
|
|
- <div style="flex: 0.1;">
|
|
|
- <el-aside width="32vh" style="margin: 0;">
|
|
|
- <div class="JKWTree-tree" style="height: 100%; border-right: 1px solid #ebeef5;">
|
|
|
- <el-tree :data="zhichengtreeData" :props="defaultProps" highlight-current="true"
|
|
|
- @node-click="zhichengNodeClick"></el-tree>
|
|
|
- </div>
|
|
|
- </el-aside>
|
|
|
- </div>
|
|
|
- <div v-if="zhichengstatus" style="flex: 0; margin: 0;">
|
|
|
- <el-tabs v-model="activNames" type="card" @tab-click="handleClick">
|
|
|
- <el-tab-pane label="指标检验" @click="showTable('指标检验')" name="first">
|
|
|
- <el-table
|
|
|
- tooltip-effect="dark"
|
|
|
- :data="zhibiaoselectData"
|
|
|
- row-key="ID"
|
|
|
- highlight-current-row="true"
|
|
|
- :show-overflow-tooltip="true"
|
|
|
- border
|
|
|
- style="width:140vh; height:60vh;"
|
|
|
- :row-class-name="rowClassName">
|
|
|
- <el-table-column prop="检验项目" label="检验项目" width="110" />
|
|
|
-
|
|
|
- <el-table-column label="不检测" width="70">
|
|
|
- <template v-slot="scope">
|
|
|
- <el-radio v-model="scope.row.selected" label="不检测">
|
|
|
- <span style="visibility: hidden;">不检测</span>
|
|
|
- </el-radio>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
-
|
|
|
- <el-table-column label="合格" width="60">
|
|
|
- <template v-slot="scope">
|
|
|
- <el-radio v-model="scope.row.selected" label="合格">
|
|
|
- <span style="visibility: hidden;">合格</span>
|
|
|
- </el-radio>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
-
|
|
|
- <el-table-column label="不合格" width="70">
|
|
|
- <template v-slot="scope">
|
|
|
- <el-radio v-model="scope.row.selected" label="不合格">
|
|
|
- <span style="visibility: hidden;">不合格</span>
|
|
|
- </el-radio>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
-
|
|
|
- <el-table-column prop="检测方法" label="检测方法" width="90" />
|
|
|
- <el-table-column prop="检验频率" label="检验频率" width="200" />
|
|
|
- <el-table-column prop="相关标准" label="相关标准" width="600" />
|
|
|
- </el-table>
|
|
|
- </el-tab-pane>
|
|
|
-
|
|
|
- <el-tab-pane label="附加检验记录" @click="showTable('附加检验记录')" name="second">
|
|
|
- <el-table tooltip-effect="dark"
|
|
|
- :data="fujiaselectData"
|
|
|
- row-key="ID"
|
|
|
- highlight-current-row="true"
|
|
|
- :show-overflow-tooltip="true"
|
|
|
- border @row-click="dianjianhandle"
|
|
|
- style="width:140vh; height:60vh;"
|
|
|
- @row-dblclick="handleSelectClick"
|
|
|
-
|
|
|
- :row-class-name="rowClassName">
|
|
|
- <el-table-column v-slot="scope" label="不检测" width="75" >
|
|
|
- <el-checkbox v-model="scope.row.notjc"></el-checkbox>
|
|
|
- </el-table-column>
|
|
|
-
|
|
|
- <!-- 缺陷及记录列,转换为输入框 -->
|
|
|
- <el-table-column label="缺陷及记录" width="720">
|
|
|
- <template #default="scope">
|
|
|
- <el-input v-model="scope.row['缺陷备注']" placeholder="请输入缺陷及记录"></el-input>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
-
|
|
|
-
|
|
|
- <!-- <el-table-column prop="缺陷备注" label="缺陷及记录" width="720" /> -->
|
|
|
-
|
|
|
- <el-table-column prop="编号" label="编号" width="80" />
|
|
|
-
|
|
|
- </el-table>
|
|
|
- </el-tab-pane>
|
|
|
-
|
|
|
- </el-tabs>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <template #footer>
|
|
|
- <div v-if="zhichengstatus" class="dialog-footer">
|
|
|
- <el-button @click="closezhichengDialog"style="height: 50px;width: 100px;font-size: 2.5vh;font-weight: bold;">关 闭</el-button>
|
|
|
- <el-button type="primary" @click="zhichengDialog"style="height: 50px;width: 100px;font-size: 2.5vh;font-weight: bold;">提 交</el-button>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-dialog>
|
|
|
-
|
|
|
- <el-dialog
|
|
|
- v-model="huanxingVisible"
|
|
|
- title="换型清场"
|
|
|
- destroy-on-close
|
|
|
- fullscreen
|
|
|
- style="font-size: 50px;font-weight: bold;"
|
|
|
- >
|
|
|
- <header>
|
|
|
- <div style="height: 50px;margin-left: 1vh;">
|
|
|
- <el-button type="primary" @click="onHxadd" >新增</el-button>
|
|
|
- <el-button type="primary" @click="onHxedit" >修改</el-button>
|
|
|
- <el-button type="primary" @click="onHxdel" >删除</el-button>
|
|
|
- <el-button type="primary" @click="onHxsave" v-if="huanxingType" >提交</el-button>
|
|
|
- </div>
|
|
|
- </header>
|
|
|
- <div style="display: flex;">
|
|
|
- <div style="flex: 0.1;">
|
|
|
- <el-aside width="26vh" style="margin: 0;">
|
|
|
- <div class="JKWTree-tree" style="height: 60vh; border-right: 1px solid #ebeef5;">
|
|
|
- <el-tree :data="huanxingtreeData" :props="defaultProps" highlight-current="true"
|
|
|
- @node-click="huanxingNodeClick"></el-tree>
|
|
|
- </div>
|
|
|
- </el-aside>
|
|
|
- </div>
|
|
|
- <div v-if="huanxingstatus" style="flex: 0; margin: 0;">
|
|
|
- <el-tabs v-model="activNames" type="card" @tab-click="handleClick">
|
|
|
- <el-tab-pane label="换型清场明细信息" @click="showTable('换型清场明细信息')" name="first">
|
|
|
- <div style="width:70vh">
|
|
|
- <el-descriptions :column="9" border>
|
|
|
- <el-descriptions-item :span="9">
|
|
|
- <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-col :span="6" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-form-item label="日期:" prop="id" style="margin-top=0px; margin-bottom: 0px;">
|
|
|
- <el-input v-model="huanxingData.日期" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="2" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
-
|
|
|
- </el-col>
|
|
|
- <el-col :span="6" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-form-item label="机台编号:" prop="id" style="margin-top=0px; margin-bottom: 0px;">
|
|
|
- <el-input v-model="huanxingData.机台编号" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="1" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
-
|
|
|
- </el-col>
|
|
|
- <el-col :span="6" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-form-item label="班组:" prop="id" style="margin-top=0px; margin-bottom: 0px;">
|
|
|
- <el-input v-model="huanxingData.班组" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </el-descriptions-item>
|
|
|
- <el-descriptions-item label="清场原因 从" :span="9">
|
|
|
- <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-col :span="8" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-form-item label="工单编号:" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-input v-model="huanxingData.工单编号A" placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="16" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-form-item label="印件名称:" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-input v-model="huanxingData.印件名称A" placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-form-item label="印件工序:" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-input v-model="huanxingData.印件工序A" placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="6" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- </el-col>
|
|
|
- <el-col :span="6" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-form-item label="码包号" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-input v-model="huanxingData.码包号A" placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </el-descriptions-item>
|
|
|
- <el-descriptions-item label="清场原因 到" :span="9">
|
|
|
- <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-col :span="8" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-form-item label="工单编号:" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-input v-model="huanxingData.工单编号B" placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="16" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-form-item label="印件名称:" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-input v-model="huanxingData.印件名称B" placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-form-item label="印件工序:" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-input v-model="huanxingData.印件工序B" placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="6" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- </el-col>
|
|
|
- <el-col :span="6" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-form-item label="码包号" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-input v-model="huanxingData.码包B" placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </el-descriptions-item>
|
|
|
- <el-descriptions-item label="清场确认项目" :span="9">
|
|
|
-
|
|
|
- <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-form-item label="菲林_标样_签样品_留样品" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-checkbox v-model="huanxingData.项目1"></el-checkbox>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-form-item label="版材_纸张_电化铝_油墨" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-checkbox v-model="huanxingData.项目2"></el-checkbox>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-form-item label="过版纸_废品_次品" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-checkbox v-model="huanxingData.项目3"></el-checkbox>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-form-item label="半成品_成品_零头" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-checkbox v-model="huanxingData.项目4"></el-checkbox>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
-
|
|
|
- <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-form-item label="操作台桌面_抽屉_地面" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-checkbox v-model="huanxingData.项目5"></el-checkbox>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
-
|
|
|
- </el-descriptions-item>
|
|
|
- <el-descriptions-item label="清场确认人" :span="9">
|
|
|
- <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-form-item label="机长签字" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-input v-model="huanxingData.机长" placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-form-item label="带班主管签字" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-input v-model="huanxingData.班长" placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-form-item label="质量巡查员签字" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
|
|
|
- <el-input v-model="huanxingData.质量巡查员" placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </el-descriptions-item>
|
|
|
- </el-descriptions>
|
|
|
- </div>
|
|
|
-
|
|
|
- </el-tab-pane>
|
|
|
-
|
|
|
- <el-tab-pane label="当前设备换型记录" @click="showTable('当前设备换型记录')" name="second">
|
|
|
- <el-table
|
|
|
- tooltip-effect="dark"
|
|
|
- :data="huanxingselectData"
|
|
|
- row-key="ID"
|
|
|
- highlight-current-row="true"
|
|
|
- :show-overflow-tooltip="true"
|
|
|
- border @row-click="dianjianhandle"
|
|
|
- style="width:70vh; height:50vh;"
|
|
|
- @row-dblclick="handleSelectClick"
|
|
|
- :row-class-name="rowClassName"
|
|
|
- >
|
|
|
- <el-table-column
|
|
|
- prop="日期"
|
|
|
- label="日期"
|
|
|
- width="160"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="机台编号"
|
|
|
- label="机台编号"
|
|
|
- width="90"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="班组"
|
|
|
- label="班组"
|
|
|
- width="70"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="工单编号A"
|
|
|
- label="工单编号A"
|
|
|
- width="95"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="印件名称A"
|
|
|
- label="印件名称A"
|
|
|
- width="130"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="印件工序A"
|
|
|
- label="印件工序A"
|
|
|
- width="150"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="码包号A"
|
|
|
- label="码包号A"
|
|
|
- width="80"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="工单编号B"
|
|
|
- label="工单编号B"
|
|
|
- width="100"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="印件名称B"
|
|
|
- label="印件名称B"
|
|
|
- width="100"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="印件工序B"
|
|
|
- label="印件工序B"
|
|
|
- width="150"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="码包号B"
|
|
|
- label="码包号B"
|
|
|
- width="80"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="清场项目A"
|
|
|
- label="菲林_标样_签样品_留样品"
|
|
|
- width="190"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="清场项目B"
|
|
|
- label="版材_纸张_电化铝_油墨"
|
|
|
- width="190"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="清场项目C"
|
|
|
- label="过版纸_废品_次品"
|
|
|
- width="170"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="清场项目D"
|
|
|
- label="半成品_成品_零头"
|
|
|
- width="170"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="清场项目E"
|
|
|
- label="操作台桌面_抽屉_地面"
|
|
|
- width="180"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="机长"
|
|
|
- label="机长"
|
|
|
- width="80"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="班长"
|
|
|
- label="带班长"
|
|
|
- width="80"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="质量巡查员"
|
|
|
- label="质量巡查员"
|
|
|
- width="100"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="创建时间"
|
|
|
- label="创建时间"
|
|
|
- width="120"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="UNIQID"
|
|
|
- label="UNIQID"
|
|
|
- width="80"
|
|
|
- />
|
|
|
- </el-table>
|
|
|
- </el-tab-pane>
|
|
|
- </el-tabs>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </el-dialog>
|
|
|
-
|
|
|
- <el-dialog
|
|
|
- v-model="yinbanVisible"
|
|
|
- title="印版领退"
|
|
|
- destroy-on-close
|
|
|
- fullscreen
|
|
|
- style="font-size: 50px;font-weight: bold;"
|
|
|
- >
|
|
|
- <header>
|
|
|
- <div style="height: 50px;margin-left: 1vh;">
|
|
|
- <el-button type="primary" @click="onYbout" >领出</el-button>
|
|
|
- <el-button type="primary" @click="onYbback" >收回</el-button>
|
|
|
- </div>
|
|
|
- </header>
|
|
|
- <el-row :gutter="24">
|
|
|
- <el-col :span="4">
|
|
|
- <el-form-item label="工单编号" prop="id">
|
|
|
- <el-input v-model="formData.工单编号" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="6">
|
|
|
- <el-form-item prop="id">
|
|
|
- <el-input v-model="formData.productCode" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="14">
|
|
|
- <el-form-item prop="id">
|
|
|
- <el-input v-model="formData.产品名称" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <div style="display: flex;">
|
|
|
- <div style="flex: 1;">
|
|
|
- <el-aside width="20vh" style="margin: 0;">
|
|
|
- <div class="JKWTree-tree" style="height: 100%; border-right: 1px solid #ebeef5;">
|
|
|
- <el-tree :data="yinbantreeData" :props="defaultProps" highlight-current="true"
|
|
|
- @node-click="yinbanNodeClick" @node-dblclick="handleNodeDoubleClick"></el-tree>
|
|
|
- </div>
|
|
|
- </el-aside>
|
|
|
- </div>
|
|
|
- <div style="flex: 1; margin: 0;">
|
|
|
- <el-table
|
|
|
- tooltip-effect="dark"
|
|
|
- :data="yinbanselectData"
|
|
|
- row-key="ID"
|
|
|
- highlight-current-row="true"
|
|
|
- :show-overflow-tooltip="true"
|
|
|
- border @row-click="dianjianhandle"
|
|
|
- style="width:150vh; height:50vh;"
|
|
|
- @row-dblclick="handleSelectClick"
|
|
|
- :row-class-name="rowClassName"
|
|
|
- @selection-change="handleybSelectionChange"
|
|
|
- >
|
|
|
- <el-table-column type="selection" width="55" align="center" label=""></el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="存货编码"
|
|
|
- label="存货编码"
|
|
|
- width="100"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="存货名称"
|
|
|
- label="存货名称"
|
|
|
- width="180"
|
|
|
- />
|
|
|
-
|
|
|
- <el-table-column
|
|
|
- prop="印版名称"
|
|
|
- label="印版名称"
|
|
|
- width="180"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="供方批号"
|
|
|
- label="供方批号"
|
|
|
- width="150"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="制造日期"
|
|
|
- label="制造日期"
|
|
|
- width="170"
|
|
|
- />
|
|
|
-
|
|
|
- <el-table-column
|
|
|
- prop="印数"
|
|
|
- label="印数"
|
|
|
- width="80"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="印版类别"
|
|
|
- label="印版类别"
|
|
|
- width="90"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="客户编号"
|
|
|
- label="客户编号"
|
|
|
- width="90"
|
|
|
- />
|
|
|
-
|
|
|
- <el-table-column
|
|
|
- prop="客户名称"
|
|
|
- label="客户名称"
|
|
|
- width="180"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="产品编号"
|
|
|
- label="产品编号"
|
|
|
- width="100"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="产品名称"
|
|
|
- label="产品名称"
|
|
|
- width="180"
|
|
|
- />
|
|
|
-
|
|
|
- <el-table-column
|
|
|
- prop="UniqId"
|
|
|
- label="UNIQID"
|
|
|
- width="80"
|
|
|
- />
|
|
|
- </el-table>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </el-dialog>
|
|
|
-
|
|
|
- <el-dialog
|
|
|
- v-model="xunchaVisible"
|
|
|
- title="管理人员现场巡查记录"
|
|
|
- destroy-on-close
|
|
|
- fullscreen
|
|
|
- style="font-size: 3.5vh;font-weight: bold;"
|
|
|
- >
|
|
|
- <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-col :span="4" style="margin-top=0px; margin-bottom: 0px;">
|
|
|
- <el-form-item label="工单编号" prop="id" style="margin-top=0px; margin-bottom: 0px; color: red;">
|
|
|
- <el-input v-model="xunchaData.order" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
-
|
|
|
- <el-col :span="9" style="margin-top=0px; margin-bottom: 0px;">
|
|
|
- <el-row style="margin-top=0px; margin-bottom: 0px;">
|
|
|
- <el-col style="margin-top=0px; margin-bottom: 0px;">
|
|
|
- <el-input v-model="xunchaData.product_name" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </el-col>
|
|
|
- <el-col :span="4" style="margin-top=0px; margin-bottom: 0px;">
|
|
|
- <el-form-item label="工号 " prop="id" style="margin-top=0px; margin-bottom: 0px;">
|
|
|
- <el-input v-model="xunchaData.sczl_bh" @keyup.enter.native="getxunchayg($event)" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="4" style="margin-top=0px; margin-bottom: 0px;">
|
|
|
- <el-form-item label="流程单" prop="id" style="margin-top=0px; margin-bottom: 0px;">
|
|
|
- <el-input v-model="xunchaData.lcdh" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
-
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-col :span="3" style="margin-top=0px; margin-bottom: 0px;">
|
|
|
- <el-form-item label="印件编号" prop="id" style="margin-top=0px; margin-bottom: 0px;">
|
|
|
- <el-input v-model="xunchaData.yjno" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="10" style="margin-top=0px; margin-bottom: 0px;">
|
|
|
- <el-row style="margin-top=0px; margin-bottom: 0px;">
|
|
|
- <el-col style="margin-top=0px; margin-bottom: 0px;">
|
|
|
- <el-input v-model="xunchaData.gxmc" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </el-col>
|
|
|
- <el-col :span="4" style="margin-top=0px; margin-bottom: 0px;">
|
|
|
- <el-form-item label="姓名" prop="id" style="margin-top=0px; margin-bottom: 0px;">
|
|
|
- <el-input v-model="xunchaData.sczl_name" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
-
|
|
|
- <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-col :span="13" style="margin-top=0px; margin-bottom: 0px;">
|
|
|
- <el-form-item label="检验备注" prop="id" style="margin-top=0px; margin-bottom: 0px;">
|
|
|
- <el-input v-model="xunchaData.remark" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
-
|
|
|
-
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <div style="display: flex; margin-top: 20px;">
|
|
|
- <div style="flex: 0.1;">
|
|
|
- <el-aside width="20vh" style="margin: 0;">
|
|
|
- <div class="JKWTree-tree" style="height: 100%; border-right: 1px solid #ebeef5;">
|
|
|
- <el-tree :data="xunchatreeData" :props="defaultProps" highlight-current="true"
|
|
|
- @node-click="xunchaNodeClick" @node-dblclick="handleNodeDoubleClick"></el-tree>
|
|
|
- </div>
|
|
|
- </el-aside>
|
|
|
- </div>
|
|
|
- <div style="flex: 1; margin: 0;">
|
|
|
- <el-table
|
|
|
- tooltip-effect="dark"
|
|
|
- :data="xunchaselectData"
|
|
|
- row-key="ID"
|
|
|
- highlight-current-row="true"
|
|
|
- border @row-click="dianjianhandle"
|
|
|
- style="width:170vh; height:42vh;"
|
|
|
- @row-dblclick="handleSelectClick"
|
|
|
- :row-class-name="rowClassName"
|
|
|
- :show-overflow-tooltip="true"
|
|
|
- >
|
|
|
- <el-table-column
|
|
|
- prop="工单编号"
|
|
|
- label="工单编号"
|
|
|
- width="85"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="印件号"
|
|
|
- label="印件号"
|
|
|
- width="70"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="工序名称"
|
|
|
- label="工序名称"
|
|
|
- width="240"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="流程单号"
|
|
|
- label="流程单号"
|
|
|
- width="85"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="设备编号"
|
|
|
- label="设备编号"
|
|
|
- width="85"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="班组编号"
|
|
|
- label="班组编号"
|
|
|
- width="85"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="检验备注"
|
|
|
- label="检验备注"
|
|
|
- width="85"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="现场管理人员"
|
|
|
- label="现场管理人员"
|
|
|
- width="150"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="提交时间"
|
|
|
- label="提交时间"
|
|
|
- width="165"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="开工时间"
|
|
|
- label="开工时间"
|
|
|
- width="165"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="分钟差数"
|
|
|
- label="分钟差数"
|
|
|
- width="85"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="归属时段"
|
|
|
- label="归属时段"
|
|
|
- width="165"
|
|
|
- />
|
|
|
- </el-table>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <template #footer>
|
|
|
- <div class="dialog-footer">
|
|
|
- <el-button @click="closexunchaDialog" style="height: 50px;width: 100px;font-size: 2.5vh;font-weight: bold;">关 闭</el-button>
|
|
|
- <el-button type="primary" style="height: 50px;width: 100px;font-size: 2.5vh;font-weight: bold;" @click="xunchaDialog">提 交</el-button>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-dialog>
|
|
|
-
|
|
|
-
|
|
|
- <el-dialog v-model="chanliangVisible" title="日产量上报" fullscreen :show-close="false" style="font-size: 2vh;font-weight: bold;padding: 0px 16px 10px 16px" >
|
|
|
- <div style="font-size: 1.5vh; font-weight: bold;color: red;">
|
|
|
- <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="工单编号" prop="id" style="margin-top=0px; margin-bottom: 0px;">
|
|
|
- <el-input style="margin-top=0px; margin-bottom: 1px;" v-model="formData3.order" id="工单编号" @keydown="ent($event, 'rate10', '工单编号', '产品名称')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="10" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="产品名称" prop="id" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="formData3.product_name" id="产品名称" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '工单编号', '产品名称', '工序名称')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="10" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="工序名称" prop="id" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="formData3.gxmc" id="工序名称" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '产品名称', '工序名称', '印件号')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="印件号" prop="id" label-width="60" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="formData3.yjno" style="margin-top=0px; margin-bottom: 1px;" id="印件号" @keydown="ent($event, '工序名称', '印件号', '印件名称')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="10" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="印件名称" prop="id" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="formData3.yj_name" id="印件名称" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '印件号', '印件名称', '工艺名称')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="工艺名称" prop="id" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="formData3.gy_name" id="工艺名称" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '印件名称', '工艺名称', 'gxh')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="2" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="" prop="id" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="formData3.gxh" id="gxh" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '工艺名称', 'gxh', '日期')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-col :span="1" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- </el-col>
|
|
|
- <el-col :span="5" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="日期" prop="id" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="formData3.日期" id="日期" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, 'gxh', '日期', '流程标牌')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="5" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="流程标牌" prop="id" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="formData3.流程标牌" id="流程标牌" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '日期', '流程标牌', '上机时间')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="5" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="上机时间" prop="id" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="formData3.上机时间" id="上机时间" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '流程标牌', '上机时间', '下机时间')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="5" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="下机时间" prop="" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="formData3.下机时间" style="margin-top=0px; margin-bottom: 1px;" id="下机时间" @keydown="ent($event, '上机时间', '下机时间', '产量')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="3">
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </div>
|
|
|
-<!-- <div style="margin-top: 20px;">-->
|
|
|
- <div style="margin-top: 5px;">
|
|
|
- <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-col :span="1" style="margin-top=0px; margin-bottom: 1px;"></el-col>
|
|
|
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="产量" prop="id" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="formData3.产量" id="产量" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '下机时间', '产量', '制程废品')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="制程废品" prop="id" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="formData3.制程废品" id="制程废品" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '产量', '制程废品', '制程次品')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="5" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="制程次品" prop="id" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="formData3.制程次品" id="制程次品" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '制程废品', '制程次品', '前工序废')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="5" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="前工序废" prop="" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="formData3.前工序废" id="前工序废" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '制程次品', '前工序废', '来料异常')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="5" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="来料异常" prop="" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="formData3.来料异常" id="来料异常" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '前工序废', '来料异常', '联数')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
-
|
|
|
- <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-col :span="1" style="margin-top=0px; margin-bottom: 1px;"></el-col>
|
|
|
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="联数" prop="" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="formData3.Gy0_ls" id="联数" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '来料异常', '联数', '墨色')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="墨色" prop="" label-width="60" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="formData3.Gy0_ms" id="墨色" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '联数', '墨色', '装版总时长')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="装版总时长" prop="id" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="formData3.装版总时长" disabled id="装版总时长" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '墨色', '装版总时长', '打样总工时')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="打样总工时" label-width="100" prop="id" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="formData3.打样总工时" disabled style="margin-top=0px; margin-bottom: 1px;" id="打样总工时" @keydown="ent($event, '装版总时长', '打样总工时', '通电工时')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="通电工时" prop="id" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="formData3.通电工时" style="margin-top=0px; margin-bottom: 1px;" id="通电工时" @keydown="ent($event, '打样总工时', '通电工时', '定额代号')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row :gutter="20" style="margin-top=0px; margin-bottom: 1vh;">
|
|
|
- <el-col :span="1" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- </el-col>
|
|
|
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="定额代号" prop="id" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="formData3.定额代号" id="定额代号" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '通电工时', '定额代号', '码包')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- </el-col>
|
|
|
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="码包" prop="id" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="formData3.码包" style="margin-top=0px; margin-bottom: 1px;" id="码包" @keydown="ent($event, '定额代号', '码包', '主电表')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="主电表" prop="id" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="formData3.主电表" style="margin-top=0px; margin-bottom: 1px;" id="主电表" @keydown="ent($event, '码包', '主电表', '辅电表')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="辅电表" prop="id" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="formData3.辅电表" id="辅电表" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '主电表', '辅电表', 'bzdh')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <div style="display: flex;">
|
|
|
- <div style="width: 248vh;">组员及分配比例</div>
|
|
|
- <div style="width: 22vh;">特殊组员</div>
|
|
|
- <div style="">拉料人员</div>
|
|
|
- </div>
|
|
|
- <el-row :gutter="10" style="margin-top: 1vh;">
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="formData3.sczl_bzdh" id="bzdh" @keydown="ent($event, '辅电表', 'bzdh', 'bh1')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="formData3.sczl_bh1" id="bh1" @keydown="ent($event, 'bzdh', 'bh1', 'bh2')" @keyup.enter.native="getygsubmit($event, '1')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="formData3.sczl_bh2" id="bh2" @keydown="ent($event, 'bh1', 'bh2', 'bh3')" @keyup.enter.native="getygsubmit($event, '2')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="formData3.sczl_bh3" id="bh3" @keydown="ent($event, 'bh2', 'bh3', 'bh4')" @keyup.enter.native="getygsubmit($event, '3')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="formData3.sczl_bh4" id="bh4" @keydown="ent($event, 'bh3', 'bh4', 'bh5')" @keyup.enter.native="getygsubmit($event, '4')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="formData3.sczl_bh5" id="bh5" @keydown="ent($event, 'bh4', 'bh5', 'bh6')" @keyup.enter.native="getygsubmit($event, '5')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="formData3.sczl_bh6" id="bh6" @keydown="ent($event, 'bh5', 'bh6', 'bh7')" @keyup.enter.native="getygsubmit($event, '6')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="formData3.sczl_bh7" id="bh7" @keydown="ent($event, 'bh6', 'bh7', 'bh8')" @keyup.enter.native="getygsubmit($event, '7')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="formData3.sczl_bh8" id="bh8" @keydown="ent($event, 'bh7', 'bh8', 'bh9')" @keyup.enter.native="getygsubmit($event, '8')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="formData3.sczl_bh9" id="bh9" @keydown="ent($event, 'bh8', 'bh9', 'bh10')" @keyup.enter.native="getygsubmit($event, '9')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="formData3.sczl_bh10" id="bh10" @keydown="ent($event, 'bh9', 'bh10', 'bh11')" @keyup.enter.native="getygsubmit($event, '10')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-select v-model="formData3.sczl_bh11" id="bh11" @change="GetLl('create')">
|
|
|
- <el-option label="" value="" />
|
|
|
- <el-option label="李有文" value="李有文" />
|
|
|
- <el-option label="张杭强" value="张杭强" />
|
|
|
- <el-option label="朱喜文" value="朱喜文" />
|
|
|
- <el-option label="刘旭青" value="刘旭青" />
|
|
|
- <el-option label="刘芳民" value="刘芳民" />
|
|
|
- <el-option label="李当林" value="李当林" />
|
|
|
- <el-option label="王赞文" value="王赞文" />
|
|
|
- </el-select>
|
|
|
- <!-- <el-input v-model="formData3.sczl_bh11" id="bh11" @keyup.enter.native="getygsubmit($event, '11','1')" placeholder="" /> -->
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-<!-- 19231 -->
|
|
|
- <el-row :gutter="10" style="margin-top: 10px;">
|
|
|
- <el-col :span="2">
|
|
|
-
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="formData3.sczl_name1" id="name1" @keydown="ent($event, 'bh11', 'name1', 'name2')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="formData3.sczl_name2" id="name2" @keydown="ent($event, 'name1', 'name2', 'name3')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="formData3.sczl_name3" id="name3" @keydown="ent($event, 'name2', 'name3', 'name4')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="formData3.sczl_name4" id="name4" @keydown="ent($event, 'name3', 'name4', 'name5')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="formData3.sczl_name5" id="name5" @keydown="ent($event, 'name4', 'name5', 'name6')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="formData3.sczl_name6" id="name6" @keydown="ent($event, 'name5', 'name6', 'name7')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="formData3.sczl_name7" id="name7" @keydown="ent($event, 'name6', 'name7', 'name8')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="formData3.sczl_name8" id="name8" @keydown="ent($event, 'name7', 'name8', 'name9')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="formData3.sczl_name9" id="name9" @keydown="ent($event, 'name8', 'name9', 'name10')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="formData3.sczl_name10" id="name10" @keydown="ent($event, 'name9', 'name10', 'name11')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="formData3.sczl_name11" id="name11" @keydown="ent($event, 'name10', 'name11', 'rate1')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row :gutter="10" style="margin-top: 10px;">
|
|
|
- <el-col :span="2"></el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="formData3.sczl_rate1" id="rate1" @keydown="ent($event, 'name11', 'rate1', 'rate2')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="formData3.sczl_rate2" id="rate2" @keydown="ent($event, 'rate1', 'rate2', 'rate3')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="formData3.sczl_rate3" id="rate3" @keydown="ent($event, 'rate2', 'rate3', 'rate4')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="formData3.sczl_rate4" id="rate4" @keydown="ent($event, 'rate3', 'rate4', 'rate5')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="formData3.sczl_rate5" id="rate5" @keydown="ent($event, 'rate4', 'rate5', 'rate6')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="formData3.sczl_rate6" id="rate6" @keydown="ent($event, 'rate5', 'rate6', 'rate7')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="formData3.sczl_rate7" id="rate7" @keydown="ent($event, 'rate6', 'rate7', 'rate8')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="formData3.sczl_rate8" id="rate8" @keydown="ent($event, 'rate7', 'rate8', 'rate9')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="formData3.sczl_rate9" id="rate9" @keydown="ent($event, 'rate8', 'rate9', 'rate10')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="formData3.sczl_rate10" id="rate10" @keydown="ent($event, 'rate9', 'rate10', '工单编号')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </div>
|
|
|
- <el-table
|
|
|
- tooltip-effect="dark"
|
|
|
- :data="chanliangselectData" row-key="ID"
|
|
|
- highlight-current-row="true" border
|
|
|
- style="width:100%" height="40vh"
|
|
|
- @row-dblclick="batchaddSelectClick" :selectable="row => rowSelectable(row)" @selection-change="chanliangSelectionChange">
|
|
|
- <el-table-column type="selection" width="55" align="center" label=""></el-table-column>
|
|
|
- <el-table-column prop="batch" label="物料编号" width="150" />
|
|
|
- <el-table-column
|
|
|
- prop="BOM_物料名称"
|
|
|
- label="物料名称"
|
|
|
- width="400"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="采购单号"
|
|
|
- label="采购单号"
|
|
|
- width="150"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- prop="st_wlbh"
|
|
|
- label="供方批次"
|
|
|
- width="400"
|
|
|
- />
|
|
|
- <el-table-column prop="卷号" label="卷号" width="150" />
|
|
|
- <el-table-column prop="Uniqid" label="UniqID" width="150"/>
|
|
|
- </el-table>
|
|
|
-
|
|
|
- <!-- </el-scrollbar> -->
|
|
|
- <template #footer>
|
|
|
- <div class="dialog-footer">
|
|
|
- <el-button @click="closeDialog" style="height: 50px;width: 100px;font-size: 2.5vh;font-weight: bold;">关 闭</el-button>
|
|
|
- <el-button type="primary" style="height: 50px;width: 100px;font-size: 2.5vh;font-weight: bold;" :disabled="isSubmitting" @click="chanliangenterDialog">提 交</el-button>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-dialog>
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- <!-- JP机台独立页面 -->
|
|
|
- <el-dialog v-model="JPchanliangVisible" :before-close="JPcloseDialog" style="width: 100%;height: 100%;;margin: 0px auto" :title="'班组产量提报'" destroy-on-close>
|
|
|
- <el-row>
|
|
|
- <el-form :model="JPformdata" label-position="right" ref="elFormRef" :rules="rule" >
|
|
|
- <el-row :gutter="24">
|
|
|
- <el-form-item label="工单编号:" prop="customerCode" class="mab" label-width="90">
|
|
|
- <el-input v-model="JPformdata['工单编号']" style="width: 110px;" placeholder="Enter回车" id="工单编号" @blur="JPgetCPMCsubmit()" @keydown="JPent($event)"/>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="产品名称:" prop="customerName" class="mab" label-width="130">
|
|
|
- <el-input v-model="JPformdata['产品名称']" style="width: 520px;" id="产品名称" @keydown="JPent($event)"/>
|
|
|
- </el-form-item>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <el-row :gutter="24">
|
|
|
- <el-form-item label="印件号:" prop="customerCode" class="mab" label-width="90">
|
|
|
- <el-input v-model="JPformdata['印件号']" style="width: 110px;" id="印件号" placeholder="Enter回车" @keydown="JPent($event)"/>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="印件名称:" prop="customerName" class="mab" label-width="130">
|
|
|
- <el-input v-model="JPformdata['印件名称']" style="width: 520px;" id="印件名称" @keydown="JPent($event)"/>
|
|
|
- </el-form-item>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <el-row :gutter="24">
|
|
|
- <el-form-item label="工序号:" prop="customerCode" class="mab" label-width="90">
|
|
|
- <el-input v-model="JPformdata['工序号']" style="width: 110px;" id="工序号" placeholder="Enter回车" @blur="JPgetGXsubmit()" @keydown="JPent($event)"/>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="工序名称" prop="customerName" class="mab" label-width="130">
|
|
|
- <el-input v-model="JPformdata['工序名称']" style="width: 520px;" id="工序名称" @keydown="JPent($event)"/>
|
|
|
- </el-form-item>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <el-row :gutter="24">
|
|
|
- <el-form-item label="日期:" prop="customerCode" class="mab" label-width="80">
|
|
|
- <el-date-picker v-model="JPformdata['日期']" style="width: 130px;" type="datetime" format="YYYY/MM/DD" value-format="YYYY-MM-DD" @keydown="ent1($event)"/>
|
|
|
- <!-- <el-input v-model="JPformdata['日期']" style="width: 110px;" id="日期" @keydown="JPent($event)"/> -->
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="流程标牌:" prop="customerCode" class="mab" label-width="130">
|
|
|
- <el-input v-model="JPformdata['流程标牌']" style="width: 110px;" id="流程标牌" @keydown="JPent($event)"/>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="检验类别:" prop="customerCode" class="mab" label-width="90">
|
|
|
- <el-input v-model="JPformdata['检验类别']" style="width: 110px;" id="检验类别" @keydown="JPent($event)"/>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="废品率系数:" prop="customerCode" class="mab" label-width="100">
|
|
|
- <el-input v-model="JPformdata['废品率系数']" style="width: 110px;" id="废品率系数" @keydown="JPent($event)"/>
|
|
|
- </el-form-item>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <el-row :gutter="24">
|
|
|
- <el-form-item label="计件箱数:" prop="customerCode" class="mab" label-width="540">
|
|
|
- <el-input v-model="JPformdata['计件箱数']" style="width: 110px;" id="计件箱数" @keydown="JPent($event)"/>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="每箱数量:" prop="customerCode" class="mab" label-width="100">
|
|
|
- <el-input v-model="JPformdata['每箱数量']" style="width: 110px;" id="每箱数量" @keydown="JPent($event)"/>
|
|
|
- </el-form-item>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <el-row :gutter="24">
|
|
|
- <el-form-item label="换膜总工时" prop="customerCode" class="mab" label-width="90">
|
|
|
- <el-input v-model="JPformdata['换膜总工时']" style="width: 110px;" id="换膜总工时" @keydown="JPent($event)"/>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="通电工时:" prop="customerCode" class="mab" label-width="130">
|
|
|
- <el-input v-model="JPformdata['通电工时']" style="width: 110px;" id="通电工时" @keydown="JPent($event)"/>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="定额代号:" prop="customerCode" class="mab" label-width="90">
|
|
|
- <el-input v-model="JPformdata['定额代号']" style="width: 160px;" id="定额代号" @keydown="JPent($event)"/>
|
|
|
- </el-form-item>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <div style="display: flex;">
|
|
|
- <div>组员及分配比例</div>
|
|
|
- </div>
|
|
|
- <el-row :gutter="10" style="margin-top: 1vh;">
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="JPformdata['bzdh']" id="bzdh" @keydown="JPent($event)"/>
|
|
|
- </el-col>
|
|
|
- <el-col v-for="i in 10" :key="i" :span="2">
|
|
|
- <el-input v-model="JPformdata['组员' + i]['编号']" :id="'bh' + i" @keydown="JPent($event,i,'1')"/>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <el-row :gutter="10" style="margin-top: 1vh;">
|
|
|
- <el-col :span="2">
|
|
|
- <!-- 空列,用于对齐 -->
|
|
|
- </el-col>
|
|
|
- <el-col v-for="i in 10" :key="i" :span="2">
|
|
|
- <el-input v-model="JPformdata['组员' + i]['姓名']" :id="'xm' + i" @keydown="JPent($event)"/>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <el-row :gutter="10" style="margin-top: 1vh;">
|
|
|
- <el-col :span="2">
|
|
|
- <!-- 空列,用于对齐 -->
|
|
|
- </el-col>
|
|
|
- <el-col v-for="i in 10" :key="i" :span="2">
|
|
|
- <el-input v-model="JPformdata['组员' + i]['比例']" :id="'bl' + i" @keydown="JPent($event)" />
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </el-form>
|
|
|
- </el-row>
|
|
|
- <template #footer>
|
|
|
- <div class="dialog-footer" style="margin-right: 8%;">
|
|
|
- <el-button @click="JPcloseDialog" style="height: 50px;width: 100px;font-size: 2.5vh;font-weight: bold;">关 闭</el-button>
|
|
|
- <el-button type="primary" style="height: 50px;width: 100px;font-size: 2.5vh;font-weight: bold;" @click="JPchanliangenterDialog">提 交</el-button>
|
|
|
- </div>
|
|
|
- <!-- <div class="dialog-footer" style="text-align: right;">
|
|
|
- <el-button @click="JPcloseDialog">取 消</el-button>
|
|
|
- <el-button type="primary" @click="JPenterDialog">确 定</el-button>
|
|
|
- </div> -->
|
|
|
- </template>
|
|
|
- </el-dialog>
|
|
|
-
|
|
|
- <!-- JP检品独立 印件选择-->
|
|
|
- <el-dialog v-model="JPdialogSelectVisible_Yj" title="选择" destroy-on-close width="600px" @keydown="JPselect_Yj($event)" >
|
|
|
- <el-table tooltip-effect="dark" :data="JPselectData_Yj"
|
|
|
- row-key="ID" highlight-current-row="true"
|
|
|
- border style="width:100%"
|
|
|
- @row-dblclick="JPhandleSelectClick_Yj" >
|
|
|
- <el-table-column prop="yjno" label="印件号" width="80" />
|
|
|
- <el-table-column prop="yjmc" label="印件名称" width="480" />
|
|
|
- </el-table>
|
|
|
- </el-dialog>
|
|
|
-
|
|
|
-
|
|
|
- <!-- JP检品独立 印件选择 -->
|
|
|
- <el-dialog v-model="JPdialogSelectVisible_Gx" title="选择" destroy-on-close width="600px" >
|
|
|
- <el-table tooltip-effect="dark" :data="JPselectData_Gx"
|
|
|
- row-key="ID" highlight-current-row="true"
|
|
|
- border style="width:100%"
|
|
|
- @row-dblclick="JPhandleSelectClick_Gx">
|
|
|
- <el-table-column prop="name" label="" width="560" />
|
|
|
- </el-table>
|
|
|
- </el-dialog>
|
|
|
-
|
|
|
- <el-dialog v-model="JPdialogSelectVisible_LX" title="选择" destroy-on-close width="300px" >
|
|
|
- <el-table
|
|
|
- :data="JPtableData"
|
|
|
- ref="table"
|
|
|
- @row-dblclick="JPhandleRowClick"
|
|
|
- highlight-current-row>
|
|
|
- <el-table-column prop="name" label="名称" width="150"></el-table-column>
|
|
|
- <el-table-column prop="type" label="类别" width="100"></el-table-column>
|
|
|
- </el-table>
|
|
|
- </el-dialog>
|
|
|
-
|
|
|
- <!--JP检品机 当日上报产量 组员及分配比例-->
|
|
|
- <el-dialog v-model="JPblModellist" :before-close="() => JPblModellist = false" style="width: 20%">
|
|
|
- <el-form>
|
|
|
- <div>
|
|
|
- <el-table :data="JPemployeeDatalist" border :show-overflow-tooltip="true" :cell-class-name="JPblplanUsageCellClass" @row-click="JPtablebllickHandlerlist($event)">
|
|
|
- <el-table-column prop="员工编号" label="员工编号"></el-table-column>
|
|
|
- <el-table-column prop="ygxm" label="员工姓名"></el-table-column>
|
|
|
- </el-table>
|
|
|
- </div>
|
|
|
- </el-form>
|
|
|
- </el-dialog>
|
|
|
-
|
|
|
- <!-- 日产量上报拉料 -->
|
|
|
- <el-dialog v-model="llblModellist" :before-close="() => llblModellist = false" style="width: 20%">
|
|
|
- <el-form>
|
|
|
- <div>
|
|
|
- <el-table :data="llemployeeDatalist" border :show-overflow-tooltip="true" :cell-class-name="JPblplanUsageCellClass" @row-click="lltablebllickHandlerlist($event)">
|
|
|
- <el-table-column prop="员工编号" label="员工编号"></el-table-column>
|
|
|
- <el-table-column prop="ygxm" label="员工姓名"></el-table-column>
|
|
|
- </el-table>
|
|
|
- </div>
|
|
|
- </el-form>
|
|
|
- </el-dialog>
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- <el-dialog
|
|
|
- v-model="bzchanliangVisible"
|
|
|
- title="班组产量修改"
|
|
|
- destroy-on-close
|
|
|
- width="140vh"
|
|
|
- style="height: 60vh;"
|
|
|
- >
|
|
|
- <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="工单编号" prop="id" style="margin-top=0px; margin-bottom: 0px;">
|
|
|
- <el-input style="margin-top=0px; margin-bottom: 1px;" v-model="dbformData.order" id="工单编号" disabled @keydown="ent($event, 'rate10', '工单编号', '产品名称')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
-
|
|
|
- <el-col :span="10" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="产品名称" prop="id" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="dbformData.product_name" id="产品名称" style="margin-top=0px; margin-bottom: 1px;" disabled @keydown="ent($event, '工单编号', '产品名称', '工序名称')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="10" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="工序名称" prop="id" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="dbformData.gxmc" id="工序名称" style="margin-top=0px; margin-bottom: 1px;" disabled @keydown="ent($event, '产品名称', '工序名称', '印件号')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
-
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="印件号" prop="id" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="dbformData.yjno" style="margin-top=0px; margin-bottom: 1px;" id="印件号" disabled @keydown="ent($event, '工序名称', '印件号', '印件名称')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
-
|
|
|
- <el-col :span="10" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="印件名称" prop="id" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="dbformData.yj_name" id="印件名称" style="margin-top=0px; margin-bottom: 1px;" disabled @keydown="ent($event, '印件号', '印件名称', '工艺名称')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="工艺名称" prop="id" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="dbformData.gy_name" id="工艺名称" style="margin-top=0px; margin-bottom: 1px;" disabled @keydown="ent($event, '印件名称', '工艺名称', 'gxh')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="2" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="" prop="id" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="dbformData.gxh" id="gxh" style="margin-top=0px; margin-bottom: 1px;" disabled @keydown="ent($event, '工艺名称', 'gxh', '日期')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-col :span="1" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- </el-col>
|
|
|
- <el-col :span="5" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="日期" prop="id" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="dbformData.日期" id="日期" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, 'gxh', '日期', '流程标牌')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
-
|
|
|
- <el-col :span="5" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="流程标牌" prop="id" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="dbformData.流程标牌" id="流程标牌" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '日期', '流程标牌', '上机时间')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="5" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="上机时间" prop="id" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="dbformData.上机时间" id="上机时间" disabled style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '流程标牌', '上机时间', '下机时间')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="5" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="下机时间" prop="" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="dbformData.下机时间" style="margin-top=0px; margin-bottom: 1px;" id="下机时间" disabled @keydown="ent($event, '上机时间', '下机时间', '产量')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="3">
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-col :span="1" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- </el-col>
|
|
|
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="产量" prop="id" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="dbformData.产量" id="产量" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '下机时间', '产量', '制程废品')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="制程废品" prop="id" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="dbformData.制程废品" id="制程废品" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '产量', '制程废品', '制程次品')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="3" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="制程次品" prop="id" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="dbformData.制程次品" id="制程次品" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '制程废品', '制程次品', '前工序废')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="3" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="前工序废" prop="" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="dbformData.前工序废" id="前工序废" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '制程次品', '前工序废', '来料异常')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="3" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="来料异常" prop="" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="dbformData.来料异常" id="来料异常" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '前工序废', '来料异常', '联数')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="3" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="联数" prop="" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="dbformData.联数" id="联数" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '来料异常', '联数', '墨色')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="3" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="墨色" prop="" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="dbformData.墨色" id="墨色" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '联数', '墨色', '装版总时长')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
-
|
|
|
- <el-row :gutter="20" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="装版总时长" prop="id" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="dbformData.装版总时长" id="装版总时长" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '墨色', '装版总时长', '打样总工时')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="打样总工时" prop="id" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="dbformData.打样总工时" style="margin-top=0px; margin-bottom: 1px;" id="打样总工时" @keydown="ent($event, '装版总时长', '打样总工时', '通电工时')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="通电工时" prop="id" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="dbformData.通电工时" style="margin-top=0px; margin-bottom: 1px;" id="通电工时" @keydown="ent($event, '打样总工时', '通电工时', '定额代号')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
-
|
|
|
- <el-row :gutter="20" style="margin-top=0px; margin-bottom: 1vh;">
|
|
|
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="定额代号" prop="id" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="dbformData.定额代号" id="定额代号" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '通电工时', '定额代号', '码包')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- </el-col>
|
|
|
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="码包" prop="id" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="dbformData.码包" style="margin-top=0px; margin-bottom: 1px;" id="码包" @keydown="ent($event, '定额代号', '码包', '主电表')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="主电表" prop="id" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="dbformData.主电表" style="margin-top=0px; margin-bottom: 1px;" id="主电表" @keydown="ent($event, '码包', '主电表', '辅电表')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-form-item label="辅电表" prop="id" style="margin-top=0px; margin-bottom: 1px;">
|
|
|
- <el-input v-model="dbformData.辅电表" id="辅电表" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '主电表', '辅电表', 'bzdh')" placeholder="" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <div style="display: flex;">
|
|
|
- <div style="width: 116vh;">组员及分配比例</div>
|
|
|
- <div style="width: 11vh;">特殊组员</div>
|
|
|
- <div>拉料人员</div>
|
|
|
- </div>
|
|
|
- <el-row :gutter="10" style="margin-top: 1vh;">
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="BZMC" id="bzdh" disabled @keydown="ent($event, '辅电表', 'bzdh', 'bh1')" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="dbformData.sczl_bh1" id="bh1" disabled @keydown="ent($event, 'bzdh', 'bh1', 'bh2')" @keyup.enter.native="getygsubmit($event, '1')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="dbformData.sczl_bh2" id="bh2" disabled @keydown="ent($event, 'bh1', 'bh2', 'bh3')" @keyup.enter.native="getygsubmit($event, '2')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="dbformData.sczl_bh3" id="bh3" disabled @keydown="ent($event, 'bh2', 'bh3', 'bh4')" @keyup.enter.native="getygsubmit($event, '3')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="dbformData.sczl_bh4" id="bh4" disabled @keydown="ent($event, 'bh3', 'bh4', 'bh5')" @keyup.enter.native="getygsubmit($event, '4')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="dbformData.sczl_bh5" id="bh5" disabled @keydown="ent($event, 'bh4', 'bh5', 'bh6')" @keyup.enter.native="getygsubmit($event, '5')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="dbformData.sczl_bh6" id="bh6" disabled @keydown="ent($event, 'bh5', 'bh6', 'bh7')" @keyup.enter.native="getygsubmit($event, '6')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="dbformData.sczl_bh7" id="bh7" disabled @keydown="ent($event, 'bh6', 'bh7', 'bh8')" @keyup.enter.native="getygsubmit($event, '7')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="dbformData.sczl_bh8" id="bh8" disabled @keydown="ent($event, 'bh7', 'bh8', 'bh9')" @keyup.enter.native="getygsubmit($event, '8')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="dbformData.sczl_bh9" id="bh9" disabled @keydown="ent($event, 'bh8', 'bh9', 'bh10')" @keyup.enter.native="getygsubmit($event, '9')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="dbformData.sczl_bh10" id="bh10" disabled @keydown="ent($event, 'bh9', 'bh10', 'bh11')" @keyup.enter.native="getygsubmit($event, '10')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-select v-model="dbformData.sczl_bh11" id="bh11" @change="GetLl('update')">
|
|
|
- <el-option label="" value="" />
|
|
|
- <el-option label="李有文" value="李有文" />
|
|
|
- <el-option label="张杭强" value="张杭强" />
|
|
|
- <el-option label="朱喜文" value="朱喜文" />
|
|
|
- <el-option label="刘旭青" value="刘旭青" />
|
|
|
- <el-option label="刘芳民" value="刘芳民" />
|
|
|
- <el-option label="李当林" value="李当林" />
|
|
|
- <el-option label="王赞文" value="王赞文" />
|
|
|
- </el-select>
|
|
|
- <!-- <el-input v-model="dbformData.sczl_bh11" id="bh11" @keydown="ents($event, 'bh10', 'bh11', 'name1')" @keyup.enter.native="getlaliaoyg($event)" placeholder="" /> -->
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- <el-row :gutter="10" style="margin-top: 10px;">
|
|
|
- <el-col :span="2">
|
|
|
-
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="dbformData.sczl_name1" id="name1" disabled @keydown="ent($event, 'bh11', 'name1', 'name2')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="dbformData.sczl_name2" id="name2" disabled @keydown="ent($event, 'name1', 'name2', 'name3')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="dbformData.sczl_name3" id="name3" disabled @keydown="ent($event, 'name2', 'name3', 'name4')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="dbformData.sczl_name4" id="name4" disabled @keydown="ent($event, 'name3', 'name4', 'name5')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="dbformData.sczl_name5" id="name5" disabled @keydown="ent($event, 'name4', 'name5', 'name6')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="dbformData.sczl_name6" id="name6" disabled @keydown="ent($event, 'name5', 'name6', 'name7')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="dbformData.sczl_name7" id="name7" disabled @keydown="ent($event, 'name6', 'name7', 'name8')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="dbformData.sczl_name8" id="name8" disabled @keydown="ent($event, 'name7', 'name8', 'name9')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="dbformData.sczl_name9" id="name9" disabled @keydown="ent($event, 'name8', 'name9', 'name10')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="dbformData.sczl_name10" id="name10" disabled @keydown="ent($event, 'name9', 'name10', 'name11')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="dbformData.sczl_name11" id="name11" @keydown="ent($event, 'name10', 'name11', 'rate1')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <el-row :gutter="10" style="margin-top: 10px;">
|
|
|
- <el-col :span="2">
|
|
|
-
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="dbformData.sczl_rate1" id="rate1" disabled @keydown="ent($event, 'name11', 'rate1', 'rate2')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="dbformData.sczl_rate2" id="rate2" disabled @keydown="ent($event, 'rate1', 'rate2', 'rate3')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="dbformData.sczl_rate3" id="rate3" disabled @keydown="ent($event, 'rate2', 'rate3', 'rate4')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="dbformData.sczl_rate4" id="rate4" disabled @keydown="ent($event, 'rate3', 'rate4', 'rate5')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="dbformData.sczl_rate5" id="rate5" disabled @keydown="ent($event, 'rate4', 'rate5', 'rate6')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="dbformData.sczl_rate6" id="rate6" disabled @keydown="ent($event, 'rate5', 'rate6', 'rate7')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="dbformData.sczl_rate7" id="rate7" disabled @keydown="ent($event, 'rate6', 'rate7', 'rate8')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="dbformData.sczl_rate8" id="rate8" disabled @keydown="ent($event, 'rate7', 'rate8', 'rate9')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="dbformData.sczl_rate9" id="rate9" disabled @keydown="ent($event, 'rate8', 'rate9', 'rate10')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <el-input v-model="dbformData.sczl_rate10" id="rate10" disabled @keydown="ent($event, 'rate9', 'rate10', '工单编号')" placeholder="" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <!-- </el-scrollbar> -->
|
|
|
- <template #footer>
|
|
|
- <div class="dialog-footer" style="margin-right: 200px">
|
|
|
- <el-button @click="bzcloseDialog" style="width: 110px;height: 50px;font-size: 24px;">取 消</el-button>
|
|
|
- <el-button type="primary" @click="bzchanliangenterDialog" style="width: 110px;height: 50px;font-size: 24px;">确 定</el-button>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-dialog>
|
|
|
-
|
|
|
- <el-dialog v-model="gzSelVisible" title="员工工资明细查询"
|
|
|
- destroy-on-close fullscreen
|
|
|
- style="font-size: 50px;font-weight: bold;"
|
|
|
- >
|
|
|
- <el-button v-for="ygbh in gz_bzbh" type="primary" @click="gz_ontable(ygbh)">{{ ygbh }}</el-button>
|
|
|
- <!-- 数据展示 -->
|
|
|
- <el-table ref="gz_multipleTable" style="width: 100%;height: 40vh;padding-top: 5px;" tooltip-effect="dark" :data="gz_tableData" row-key="ID"
|
|
|
- highlight-current-row="true" border :show-overflow-tooltip="true"
|
|
|
- :row-style="{ height: '20px' }"
|
|
|
- :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
|
|
|
- :header-cell-style="{ padding: '0px' }"
|
|
|
- >
|
|
|
- <el-table-column v-for="column in tableCols1"
|
|
|
- :key="column.prop" :prop="column.prop"
|
|
|
- :label="column.label" :width="column.width"
|
|
|
- show-overflow-tooltip="true" sortable
|
|
|
- />
|
|
|
- </el-table>
|
|
|
- <!-- 数据展示 -->
|
|
|
- <el-table ref="gz_multipleTable2" style="width: 100%;height: 40vh;padding-top: 30px;" tooltip-effect="dark" :data="gz_tableData2" row-key="ID"
|
|
|
- highlight-current-row="true" border
|
|
|
- :row-style="{ height: '20px' }"
|
|
|
- :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
|
|
|
- :header-cell-style="{ padding: '0px' }"
|
|
|
- :show-overflow-tooltip="true"
|
|
|
- >
|
|
|
- <el-table-column v-for="column in tableCols2"
|
|
|
- :key="column.prop" :prop="column.prop"
|
|
|
- :label="column.label" :width="column.width"
|
|
|
- show-overflow-tooltip="true" sortable
|
|
|
- />
|
|
|
- </el-table>
|
|
|
- </el-dialog>
|
|
|
-
|
|
|
- <Shebeizhuangtai
|
|
|
- v-if="dialogSbyxgl"
|
|
|
- v-model="dialogSbyxgl"
|
|
|
- title="【01.30 08:30】【JY01#--海德堡对开八色平版胶印机(JY08-01)】【2311116-->钻石(荷花)盒包装纸】【01--胶印】"
|
|
|
- :formData="formData"
|
|
|
- />
|
|
|
-
|
|
|
- </el-main>
|
|
|
- </el-container>
|
|
|
- </el-container>
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-<PrintPage ref="printPageRef" />
|
|
|
-
|
|
|
- </div>
|
|
|
-</template>
|
|
|
-
|
|
|
-
|
|
|
-<script setup>
|
|
|
-
|
|
|
-import {
|
|
|
- createCompany,
|
|
|
- deleteCompany,
|
|
|
- deleteCompanyByIds,
|
|
|
- updateCompany,
|
|
|
- findCompany,
|
|
|
- getCompanyList
|
|
|
-} from '@/api/company'
|
|
|
-
|
|
|
-import {
|
|
|
- EquipmentSchedulingEdit,
|
|
|
- Procedure,
|
|
|
- teamDel, workOrderListDetail
|
|
|
-} from "@/api/yunyin/yunying";
|
|
|
-
|
|
|
-import {
|
|
|
- ProcessInspectionRecordsItemAdd,
|
|
|
- AdditionalInspectionRecordAdd,
|
|
|
- getMac,
|
|
|
- remodelGetTab,
|
|
|
- setMachineTeam,
|
|
|
- ModelChangeRecord,
|
|
|
- ComplaintRecord,
|
|
|
- RemodelDetail,
|
|
|
- MachineTeamAdd,
|
|
|
- remodelDataAdd,
|
|
|
- remodelDataEdit,
|
|
|
- remodelDataDel,
|
|
|
- PrintDetailAdd,
|
|
|
- PrintDetailEdit,
|
|
|
- chanliangEdit,
|
|
|
- ChanliangDel,
|
|
|
- MachineWorkOrderEdit
|
|
|
-} from '@/api/jixiaoguanli/baogong'
|
|
|
-
|
|
|
-import {
|
|
|
- facilityTab,
|
|
|
- facilitychanLiang,
|
|
|
- facilityInspect,
|
|
|
- facilityProduction,
|
|
|
- facilityTeam,
|
|
|
- facilityMachineList,
|
|
|
- facilitySpotCheckItem,
|
|
|
- facilityInspectionItem,
|
|
|
- reportProduceInfo,
|
|
|
- reportName,
|
|
|
- getStaffNameTwo,
|
|
|
- reportInfo,
|
|
|
- reportMachineMac,
|
|
|
- facilityWorklist,
|
|
|
- setProcessStatus,
|
|
|
- submitDailyProduction,
|
|
|
- facilityDetail,
|
|
|
- inspectionRecord,
|
|
|
- getYg,
|
|
|
- submitPatrolRecord,
|
|
|
- getMachineMac,
|
|
|
- setMachineStatus,
|
|
|
- fieldInspectionRecord,
|
|
|
- InspectionItemAdd,
|
|
|
- ProcessInspectionRecordsItem,
|
|
|
- MachineDetailList,
|
|
|
- facilityPrintGetTab,
|
|
|
- facilityPrintDetail,
|
|
|
- facilityProcedure,
|
|
|
- dailysearch,
|
|
|
- dailygetGzByYgbh,
|
|
|
- MachineChanliangDetail,
|
|
|
- ChanliangPrintDetail,
|
|
|
- ChanliangProcessDetail,
|
|
|
- JpUploade,
|
|
|
- getTimelist
|
|
|
-} from '@/api/jixiaoguanli/jitairibaobiao'
|
|
|
-
|
|
|
-import {
|
|
|
- demoCustomer
|
|
|
-} from "@/api/demo";
|
|
|
-
|
|
|
-// 全量引入格式化工具 请按需保留
|
|
|
-import { getDictFunc, formatDate, formatBoolean, filterDict, ReturnArrImg, onDownloadFile } from '@/utils/format'
|
|
|
-import { ElMessage, ElMessageBox } from 'element-plus'
|
|
|
-import { ref, reactive } from 'vue'
|
|
|
-import Shebeizhuangtai from '@/view/performance/09-workOrderVerification/componets/shebeizhuangtai.vue'
|
|
|
-import { useUserStore } from '@/pinia/modules/user'
|
|
|
-import PrintPage from '../yunyin/shengchanguanli/components/print.vue'
|
|
|
-
|
|
|
-const printPageRef = ref()
|
|
|
-const userStore = useUserStore()
|
|
|
-const sys_id='['+userStore.userInfo.userName+'/'+userStore.userInfo.nickName+']'
|
|
|
-const dialogSbyxgl=ref(false)
|
|
|
-const zhichengstatus=ref(false)
|
|
|
-const yinbanselectData = ref([])
|
|
|
-defineOptions({
|
|
|
- name: 'Company'
|
|
|
-})
|
|
|
-const xunchatreeData=ref([{label: '现场巡查记录',} ])
|
|
|
-const activName=ref('first')
|
|
|
-const activNames=ref('first')
|
|
|
-let checked3=ref(false)
|
|
|
-const detailData = reactive([])
|
|
|
-const treeData=ref([])
|
|
|
-const huanxingtreeData=ref([])
|
|
|
-const huanxingselectData = ref([])
|
|
|
-const huanxingData = ref({})
|
|
|
-const dbformData=ref({})
|
|
|
-const huanxingstatus=ref(false)
|
|
|
-const zhichengtreeData=ref([{
|
|
|
- label: '首件与过程确认'
|
|
|
-},{
|
|
|
- label: '机台检验'
|
|
|
-},{
|
|
|
- label: 'IPQC检验'
|
|
|
-}])
|
|
|
-let dianjiantreeData;
|
|
|
-let JTMC=ref()
|
|
|
-let CJMC=ref()
|
|
|
-const sbzyData = reactive([])
|
|
|
-const FPData = reactive([])
|
|
|
-const CLMXData = reactive([])
|
|
|
-let JYData = reactive([])
|
|
|
-
|
|
|
-//工单打印
|
|
|
-const pd_gdprintonClick = () => {
|
|
|
- if(formData.value.工单编号==''){
|
|
|
- ElMessage({ type: 'warning', message: '未获取到工单' });
|
|
|
- return
|
|
|
- }
|
|
|
- printPageRef.value.open(formData.value.工单编号)
|
|
|
-}
|
|
|
-
|
|
|
-//键盘 input框跳转
|
|
|
-const ent = (event,id1,id2,id3) => {
|
|
|
-
|
|
|
- if (event.keyCode === 13 || event.keyCode === 40) { // Enter 或向下箭头
|
|
|
- const idMap = {
|
|
|
- 'bh1': '1',
|
|
|
- 'bh2': '2',
|
|
|
- 'bh3': '3',
|
|
|
- 'bh4': '4',
|
|
|
- 'bh5': '5',
|
|
|
- 'bh6': '6',
|
|
|
- 'bh7': '7',
|
|
|
- 'bh8': '8',
|
|
|
- 'bh9': '9',
|
|
|
- 'bh10': '10',
|
|
|
- 'bh11': '11',
|
|
|
- };
|
|
|
- if (idMap.hasOwnProperty(id2) && event.keyCode === 13) {
|
|
|
- getygsubmit('', idMap[id2]);
|
|
|
- }else if(id3!=''){
|
|
|
- document.getElementById(id3).focus()
|
|
|
- }
|
|
|
- } else if (event.keyCode === 38) { // 向上箭头
|
|
|
- if(id1!=''){
|
|
|
- document.getElementById(id1).focus()
|
|
|
- }
|
|
|
- }else if (event.keyCode === 8) { // 删除箭头
|
|
|
- if(id1!='' && document.getElementById(id2).value==''){
|
|
|
- document.getElementById(id1).focus()
|
|
|
- }
|
|
|
- console.log(document.getElementById(id2).value)
|
|
|
- }else if (event.keyCode === 37) { // 向左箭头
|
|
|
- if(id1!='' && document.getElementById(id2).selectionStart==0){
|
|
|
- document.getElementById(id1).focus()
|
|
|
- }
|
|
|
- }else if (event.keyCode === 39) { // 向右箭头
|
|
|
- if(id3!='' && document.getElementById(id2).selectionStart == document.getElementById(id2).value.length){
|
|
|
- document.getElementById(id3).focus()
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-const huanxingNodeClick = (node) => {
|
|
|
- //存放当前节点的nodeId
|
|
|
- if(node.machine){
|
|
|
- // console.log(node.label.split('/')[1])
|
|
|
- huanxingstatus.value=true
|
|
|
- formData.value.huanxingId=node.label.split('/')[1]
|
|
|
- remodelDetail(node.label.split('/')[1])
|
|
|
- modelChangeRecord(node.machine)
|
|
|
- }else{
|
|
|
- console.log('2')
|
|
|
- }
|
|
|
-}
|
|
|
-const modelChangeRecord = async (val) => {
|
|
|
- const response = await ModelChangeRecord({machine:val});
|
|
|
- if (response.code === 0) {
|
|
|
- huanxingselectData.value=response.data
|
|
|
- }
|
|
|
-}
|
|
|
-const remodelDetail = async (val) => {
|
|
|
- const response = await RemodelDetail({UniqId:val});
|
|
|
- if (response.code === 0) {
|
|
|
- huanxingData.value=response.data
|
|
|
- if(response.data.项目1==1){
|
|
|
- huanxingData.value.项目1=true
|
|
|
- }else{
|
|
|
- huanxingData.value.项目1=false
|
|
|
- }
|
|
|
- if(response.data.项目2==1){
|
|
|
- huanxingData.value.项目2=true
|
|
|
- }else{
|
|
|
- huanxingData.value.项目2=false
|
|
|
- }
|
|
|
- if(response.data.项目3==1){
|
|
|
- huanxingData.value.项目3=true
|
|
|
- }else{
|
|
|
- huanxingData.value.项目3=false
|
|
|
- }
|
|
|
- if(response.data.项目4==1){
|
|
|
- huanxingData.value.项目4=true
|
|
|
- }else{
|
|
|
- huanxingData.value.项目4=false
|
|
|
- }
|
|
|
- if(response.data.项目5==1){
|
|
|
- huanxingData.value.项目5=true
|
|
|
- }else{
|
|
|
- huanxingData.value.项目5=false
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
-const handleNodeClick = (nodeData,node) => {
|
|
|
-}
|
|
|
-
|
|
|
-const classbz=ref([])
|
|
|
-const FacilityProduction = async (addr) => {
|
|
|
- if(JTMC === '' || JTMC === null){
|
|
|
- return false;
|
|
|
- }
|
|
|
- const response = await facilityProduction({machine:JTMC});
|
|
|
- if (response.code === 0) {
|
|
|
- if(response.data){
|
|
|
- formData.value.机台号=JTMC.split('#')[0]
|
|
|
- formData.value.工单编号 = response.data.工单编号;
|
|
|
- formData.value.印件号 = response.data.印件号;
|
|
|
- formData.value.工序号 = response.data.工序名称.substring(0,2);
|
|
|
- formData.value.工序名称 = response.data.工序名称;
|
|
|
- formData.value.产品名称 = response.data.产品名称;
|
|
|
- formData.value.产品代号 = response.data.产品代号;
|
|
|
- formData.value.班组成员 = response.data.班组成员;
|
|
|
- formData.value.班组Id=response.data.班组Id
|
|
|
- formData.value.machine=JTMC
|
|
|
- formData.value.状态=response.data.状态
|
|
|
- formData.value.定额代号=response.data.定额代号
|
|
|
- formData.value.addr=addr
|
|
|
- BZMC.value=response.data.班组编号
|
|
|
- // 填充sczl_bh和sczl_name字段
|
|
|
- let sczl_bhkey=''
|
|
|
- let sczl_namekey=''
|
|
|
- if (response.data.班组成员) {
|
|
|
- for (let i = 0; i < Math.min(Object.keys(response.data.班组成员).length, 9); i++) {
|
|
|
- sczl_bhkey=`sczl_bh${i+1}`
|
|
|
- sczl_namekey=`sczl_name${i+1}`
|
|
|
- formData.value[sczl_bhkey] = response.data.班组成员[i]['编号'];
|
|
|
- formData.value[sczl_namekey] = response.data.班组成员[i]['姓名'];
|
|
|
- classbz.value[i]=response.data.班组成员[i]['编号']
|
|
|
- }
|
|
|
- formData.value.class=classbz.value.join(',')
|
|
|
- }
|
|
|
- if(response.data.工单编号){
|
|
|
- InspectionRecord()
|
|
|
- FacilityDetail()
|
|
|
- }
|
|
|
- }
|
|
|
- //完工1
|
|
|
- if(CJMC === '' || CJMC === null){
|
|
|
- console.log("CJMC空")
|
|
|
- return false;
|
|
|
- }else{
|
|
|
- const responses = await MachineDetailList({workshop:CJMC});
|
|
|
- if(responses.code===0){
|
|
|
- responses.data.map(item=>{
|
|
|
- if(item.设备编号==JTMC){
|
|
|
- formData.value.status=item.状态
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
- }
|
|
|
- FacilityWorklist()
|
|
|
- FacilityTeam(JTMC)
|
|
|
- }
|
|
|
-}
|
|
|
-//设备工作清单
|
|
|
-const FacilityWorklist = async () => {
|
|
|
- console.log(JTMC)
|
|
|
- if (!JTMC.endsWith('#')) {
|
|
|
- JTMC += '#';
|
|
|
- }
|
|
|
- const response = await facilityWorklist({machine:JTMC});
|
|
|
-
|
|
|
- console.log("设备运行跟踪数据 ↓↓↓↓↓↓↓↓↓↓↓")
|
|
|
- console.log(response)
|
|
|
-
|
|
|
- if (response.code === 0) {
|
|
|
- sbzyData.splice(0, sbzyData.length, ...response.data);
|
|
|
- response.data.map(item=>{
|
|
|
- if(item['工单编号|质量信息'].substring(0, 7)==formData.value.工单编号){
|
|
|
- formData.value.productCode=item.产品代号
|
|
|
- }
|
|
|
- })
|
|
|
- selectData.value=[]
|
|
|
- if(formData.value.工单编号 === undefined){
|
|
|
- return false;
|
|
|
- }
|
|
|
- const res = await facilityProcedure({ Gd_gdbh: formData.value.工单编号 })
|
|
|
- console.log("印件及工序已完成板数 ↓↓↓↓↓↓↓↓↓↓↓")
|
|
|
- console.log(res)
|
|
|
- if (res.code === 0) {
|
|
|
- selectData.value = res.data
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-const bzcloseDialog = async () => {
|
|
|
- bzchanliangVisible.value=false
|
|
|
-}
|
|
|
-const dbclmxhandleSelectionChange = async (row) => {
|
|
|
- console.log(row)
|
|
|
-}
|
|
|
-const ybupdateCompanyFunc = async (row) => {
|
|
|
- console.log(currentBz.value)
|
|
|
- dbformData.value = {};
|
|
|
- if(currentBz.value){
|
|
|
- let sczl_bhkey = ''
|
|
|
- let sczl_namekey = ''
|
|
|
- let percentagekey = ''
|
|
|
- if (currentBz.value[9]) {
|
|
|
- for (let i = 1; i <= 10; i++) {
|
|
|
- sczl_bhkey = `sczl_bh${i}`
|
|
|
- sczl_namekey = `sczl_name${i}`
|
|
|
- percentagekey = `sczl_rate${i}`
|
|
|
- dbformData.value[sczl_bhkey] = '';
|
|
|
- dbformData.value[sczl_namekey] = '';
|
|
|
- dbformData.value[percentagekey] = '';
|
|
|
- }
|
|
|
- dbformData.value.code10 = currentBz.value[9].split(' ')[0];
|
|
|
- dbformData.value.name10 = currentBz.value[9].split(' ')[1]
|
|
|
- dbformData.value.percentage10 = parseFloat(currentBz.value[9].split(' ')[2].split('(')[1].split(')')[0])/100
|
|
|
- for (let i = 1; i <= Math.min(Object.keys(currentBz.value).length - 4, 6); i++) {
|
|
|
- sczl_bhkey = `sczl_bh${i}`
|
|
|
- sczl_namekey = `sczl_name${i}`
|
|
|
- percentagekey = `sczl_rate${i}`
|
|
|
- dbformData.value[sczl_bhkey] = currentBz.value[i - 1].split(' ')[0];
|
|
|
- dbformData.value[sczl_namekey] = currentBz.value[i - 1].split(' ')[1];
|
|
|
- if(isNaN(parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0]))){
|
|
|
- dbformData.value[percentagekey] = currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0];
|
|
|
- }else{
|
|
|
- dbformData.value[percentagekey] = parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0])/100;
|
|
|
- }
|
|
|
- }
|
|
|
- } else {
|
|
|
- for (let i = 1; i <= 10; i++) {
|
|
|
- sczl_bhkey = `sczl_bh${i}`
|
|
|
- sczl_namekey = `sczl_name${i}`
|
|
|
- percentagekey = `sczl_rate${i}`
|
|
|
- dbformData.value[sczl_bhkey] = '';
|
|
|
- dbformData.value[sczl_namekey] = '';
|
|
|
- dbformData.value[percentagekey] = '';
|
|
|
- }
|
|
|
- for (let i = 1; i <= Math.min(Object.keys(currentBz.value).length - 3, 6); i++) {
|
|
|
- sczl_bhkey = `sczl_bh${i}`
|
|
|
- sczl_namekey = `sczl_name${i}`
|
|
|
- percentagekey = `sczl_rate${i}`
|
|
|
- dbformData.value[sczl_bhkey] = currentBz.value[i - 1].split(' ')[0];
|
|
|
- dbformData.value[sczl_namekey] = currentBz.value[i - 1].split(' ')[1];
|
|
|
- if(isNaN(parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0]))){
|
|
|
- dbformData.value[percentagekey] = currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0];
|
|
|
- }else{
|
|
|
- dbformData.value[percentagekey] = parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0])/100;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- console.log(row)
|
|
|
- dbformData.value.order=row.工单编号
|
|
|
- dbformData.value.product_name=row.产品名称
|
|
|
- dbformData.value.gxmc=row.gxmc
|
|
|
- dbformData.value.yjno=row.yjno
|
|
|
- dbformData.value.yj_name=row.产品名称
|
|
|
- dbformData.value.gy_name=row.gxmc
|
|
|
- dbformData.value.gxh=row.gxmc.split('-')[0]
|
|
|
- dbformData.value.日期=row.sj1.split(' ')[0]
|
|
|
- dbformData.value.流程标牌=row.标牌号
|
|
|
- dbformData.value.上机时间=row.sj1
|
|
|
- dbformData.value.下机时间=row.sj2
|
|
|
- dbformData.value.下机时间=row.sj2
|
|
|
- dbformData.value.产量=row.产量
|
|
|
- dbformData.value.制程废品=row.制程废品
|
|
|
- dbformData.value.制程次品=row.制程次品
|
|
|
- dbformData.value.前工序废=row.前工序废
|
|
|
- dbformData.value.来料异常=row.来料异常
|
|
|
- dbformData.value.联数=row.ls
|
|
|
- dbformData.value.墨色=row.色度
|
|
|
- dbformData.value.装版总时长=row.装版工时
|
|
|
- dbformData.value.打样总工时=row.打样工时
|
|
|
- dbformData.value.通电工时=row.通电工时
|
|
|
- dbformData.value.定额代号=row.dedh
|
|
|
- dbformData.value.码包=row.码包
|
|
|
- dbformData.value.主电表=row.主电表
|
|
|
- dbformData.value.辅电表=row.辅电表
|
|
|
- dbformData.value.sczl_bh11=row.拉料
|
|
|
- dbformData.value.sczl_name11=row.拉料姓名
|
|
|
- dbformData.value.UniqId=row.UniqId
|
|
|
- bzchanliangVisible.value=true
|
|
|
-}
|
|
|
-const chanliangEdits = async() => {
|
|
|
- const response = await chanliangEdit({
|
|
|
- sczl_num: dbformData.value.流程标牌,
|
|
|
- sczl_rq: `${dbformData.value.日期} 00:00:00`,
|
|
|
- sczl_cl: dbformData.value.产量,
|
|
|
- sczl_zcfp:dbformData.value.制程废品,
|
|
|
- sczl_zccp:dbformData.value.制程次品,
|
|
|
- sczl_前工序废:dbformData.value.前工序废,
|
|
|
- sczl_来料少数:dbformData.value.来料异常,
|
|
|
- sczl_ls:dbformData.value.联数,
|
|
|
- sczl_ms:dbformData.value.墨色,
|
|
|
- sczl_装版总工时:dbformData.value.装版总时长,
|
|
|
- sczl_打样总工时:dbformData.value.打样总工时,
|
|
|
- sczl_设备运行工时:dbformData.value.通电工时,
|
|
|
- sczl_dedh:dbformData.value.定额代号,
|
|
|
- 码包:dbformData.value.码包,
|
|
|
- 主电表:dbformData.value.主电表,
|
|
|
- 辅电表:dbformData.value.辅电表,
|
|
|
- sczl_bh98:dbformData.value.sczl_bh11,
|
|
|
- UniqId:dbformData.value.UniqId
|
|
|
- })
|
|
|
- if (response.code === 0) {
|
|
|
- bzchanliangVisible.value=false
|
|
|
- FacilityProduction()
|
|
|
- ElMessage({
|
|
|
- type: 'success',
|
|
|
- message: '成功'
|
|
|
- })
|
|
|
- }
|
|
|
-}
|
|
|
-const roww = ref(null)
|
|
|
-//班组人员及分配比例单机
|
|
|
-const clickybupdate = async (row) => {
|
|
|
- console.log(row)
|
|
|
- roww.value = row
|
|
|
- console.log('班组人员及分配比例单机')
|
|
|
-}
|
|
|
-//班组人员及分配比例双击
|
|
|
-const gyupdateCompanyFunc = async (row) => {
|
|
|
- console.log('班组人员及分配比例双击')
|
|
|
-}
|
|
|
-//班组人员及分配比例右键
|
|
|
-const bzonRightClick = async (row) => {
|
|
|
- console.log(roww.value)
|
|
|
- if(roww.value === null || roww.value === ''){
|
|
|
- ElMessage({type: 'warning',message: '请选择 设备作业清单工单后,再操作此功能' })
|
|
|
- }else{
|
|
|
- ElMessageBox.confirm('确定切换班组吗?', '提示', {
|
|
|
- confirmButtonText: '确定',
|
|
|
- cancelButtonText: '取消',
|
|
|
- type: 'warning'
|
|
|
- }).then(() => {
|
|
|
- console.log(1121111)
|
|
|
- SetMachineTeams(roww.value)
|
|
|
- })
|
|
|
- }
|
|
|
-}
|
|
|
-//数据接口调用
|
|
|
-const SetMachineTeams = async(row) => {
|
|
|
- console.log(formData.value.工单编号)
|
|
|
- console.log(row)
|
|
|
- console.log(55555555)
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- const res = await setMachineTeam({
|
|
|
- machine: JTMC.split("#")[0],
|
|
|
- order: formData.value.工单编号,
|
|
|
- yjno: formData.value.印件号,
|
|
|
- gy_name:formData.value.工序名称,
|
|
|
- sczl_bzdh:row.班组号,
|
|
|
- status:'生产',
|
|
|
- production_now:0,
|
|
|
- production_all:0,
|
|
|
- team_id:row.ID
|
|
|
- })
|
|
|
- console.log(res)
|
|
|
- if (res.code === 0) {
|
|
|
- FacilityProduction()
|
|
|
- ElMessage({
|
|
|
- type: 'success',
|
|
|
- message: '成功'
|
|
|
- })
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-const setTeams = async(row) => {
|
|
|
- formData.value.班组Id=row.ID
|
|
|
- BZMC.value=row.班组号
|
|
|
- console.log(row)
|
|
|
- let sczl_namekey=''
|
|
|
- for (let i = 1; i <= 10; i++) {
|
|
|
- sczl_bhkey = `sczl_bh${i}`
|
|
|
- sczl_namekey = `sczl_name${i}`
|
|
|
- formData.value[sczl_bhkey] = '';
|
|
|
- formData.value[sczl_namekey] = '';
|
|
|
- }
|
|
|
- for (let i = 0; i < Object.keys(row).length-4; i++) {
|
|
|
- sczl_bhkey=`sczl_bh${i+1}`
|
|
|
- sczl_namekey=`sczl_name${i+1}`
|
|
|
- formData.value[sczl_bhkey] =row[i].split(' ')[0];
|
|
|
- formData.value[sczl_namekey] = row[i].split(' ')[1];
|
|
|
- // console.log(formData)
|
|
|
- }
|
|
|
- console.log(formData)
|
|
|
-
|
|
|
-}
|
|
|
-//检验记录
|
|
|
-const InspectionRecord = async () => {
|
|
|
- JYData=[]
|
|
|
- const response = await inspectionRecord({machine:JTMC,Gd_gdbh:formData.value.工单编号,team:BZMC.value});
|
|
|
- if(response.code==0){
|
|
|
- // 提取 inspectiontime 作为列名
|
|
|
- // Extract inspectiontime as columnNames
|
|
|
- columnNames = response.data.inspectiontime;
|
|
|
-
|
|
|
- // Populate drzcData with row data
|
|
|
- for (const key in response.data) {
|
|
|
- if (key !== 'inspectiontime') {
|
|
|
- const item = response.data[key];
|
|
|
- const rowData = {
|
|
|
- '工单编号': item['工单编号'],
|
|
|
- '印件号': item['印件号'],
|
|
|
- '工序名称': item['工序名称'],
|
|
|
- '检验项目': item['检验项目']
|
|
|
- };
|
|
|
-
|
|
|
- // Initialize time columns with '—'
|
|
|
- columnNames.forEach(time => {
|
|
|
- rowData[time] = '';
|
|
|
- });
|
|
|
-
|
|
|
- // Split inspectresult and fill the corresponding time columns
|
|
|
- const results = item['inspectresult'].split(',');
|
|
|
- results.forEach(result => {
|
|
|
- if (columnNames.includes(result)) {
|
|
|
- rowData[result] = '√';
|
|
|
- }else{rowData[result] = ''}
|
|
|
- });
|
|
|
-
|
|
|
- // Add the row data to drzcData
|
|
|
- JYData.push(rowData);
|
|
|
- }
|
|
|
- }
|
|
|
- console.log(JYData);
|
|
|
- }
|
|
|
-}
|
|
|
-//当班产量明细
|
|
|
-const FacilityDetail = async () => {
|
|
|
- const today = new Date();
|
|
|
- const year = today.getFullYear();
|
|
|
- const month = String(today.getMonth() + 1).padStart(2, '0'); // 月份从 0 开始,需要补零
|
|
|
- const day = String(today.getDate()).padStart(2, '0');
|
|
|
- const hours = String(today.getHours()).padStart(2, '0');
|
|
|
- const minutes = String(today.getMinutes()).padStart(2, '0');
|
|
|
- const seconds = String(today.getSeconds()).padStart(2, '0');
|
|
|
- const currentHour = today.getHours(); // 获取当前的小时
|
|
|
- let currentDate = `${year}-${month}-${day}`;
|
|
|
- formData.value.production_now=0
|
|
|
- formData.value.production_all=0
|
|
|
-
|
|
|
- console.log("machine--->"+JTMC)
|
|
|
- console.log("Gd_gdbh--->"+formData.value.工单编号)
|
|
|
- console.log("team--->"+BZMC.value)
|
|
|
- if (!JTMC.endsWith('#')) {
|
|
|
- JTMC += '#';
|
|
|
- }
|
|
|
- const response = await facilityDetail({ machine: JTMC, Gd_gdbh: formData.value.工单编号, team:BZMC.value });
|
|
|
- console.log(response)
|
|
|
- console.log("↑↑↑↑facilityDetail_01 ↑↑↑↑↑↑")
|
|
|
-
|
|
|
- // 日产量上报上机时间
|
|
|
- if (response.code === 0) {
|
|
|
- if(response.data === null){
|
|
|
- if (currentHour < 8 || (currentHour === 8 && minutes < 30)) {
|
|
|
- // 如果当前时间早于08:30, 则设置为前一天的晚班时间20:30
|
|
|
- // 需要将日期减一天
|
|
|
- const yesterDay = new Date(today.getTime() - 86400000); // 减去一天的毫秒数
|
|
|
- const yearYesterday = yesterDay.getFullYear();
|
|
|
- const monthYesterday = String(yesterDay.getMonth() + 1).padStart(2, '0');
|
|
|
- const dayYesterday = String(yesterDay.getDate()).padStart(2, '0');
|
|
|
- formData.value.上机时间 = `${yearYesterday}-${monthYesterday}-${dayYesterday} 20:30:00`;
|
|
|
- } else {
|
|
|
- // 如果当前时间晚于或等于08:30, 则设置为当天的白班时间08:30
|
|
|
- formData.value.上机时间 = `${currentDate} 08:30:00`;
|
|
|
- }
|
|
|
- }else{
|
|
|
- // formData.value.上机时间 = response.data.sj1
|
|
|
- formData.value.上机时间 = currentDate.split('-')[0]+'-'+response.data[0]['生产时间段'].split('>')[1]+':00'
|
|
|
- }
|
|
|
- CLMXData.splice(0, CLMXData.length, ...Object.values(response.data));
|
|
|
- formData.value.production_now=response.data[0].产量
|
|
|
- formData.value.production_all=response.data.total.产量
|
|
|
- }
|
|
|
-};
|
|
|
-
|
|
|
-//获取拉料人员
|
|
|
-const GetLl = (falg) => {
|
|
|
- let llyg = {
|
|
|
- '李有文':2024,
|
|
|
- '张杭强':2023,
|
|
|
- '朱喜文':2022,
|
|
|
- '刘旭青':2021,
|
|
|
- '刘芳民':2020,
|
|
|
- '李当林':2019,
|
|
|
- '王赞文':2018,
|
|
|
- }
|
|
|
- switch(falg){
|
|
|
- case 'create':
|
|
|
- if(formData3.value.sczl_bh11){
|
|
|
- formData3.value.sczl_name11 = formData3.value.sczl_bh11
|
|
|
- formData3.value.sczl_bh11 = llyg[formData3.value.sczl_bh11]
|
|
|
- }
|
|
|
- break;
|
|
|
- case 'update':
|
|
|
- if(dbformData.value.sczl_bh11){
|
|
|
- dbformData.value.sczl_name11 = dbformData.value.sczl_bh11
|
|
|
- dbformData.value.sczl_bh11 = llyg[dbformData.value.sczl_bh11]
|
|
|
- }
|
|
|
- break;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-// 19231
|
|
|
-const llemployeeDatalist = ref('')
|
|
|
-const llblModellist = ref(false)
|
|
|
-//员工编号回车事件
|
|
|
-const getygsubmit = async (key,i,val) => {
|
|
|
- const response = await getYg({sczl_bh:formData3.value.sczl_bh11});
|
|
|
- // console.log(response)
|
|
|
- if (response.code === 0) {
|
|
|
- if(response.data.length === 1){
|
|
|
- formData3.value.sczl_bh11= response.data[0].ygxm
|
|
|
- formData3.value.sczl_name11= response.data[0].员工编号
|
|
|
- }else{
|
|
|
- llblModellist.value = true;
|
|
|
- llemployeeDatalist.value = response.data // 假设响应数据是数组
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
-const llclickedlist = ref(false);
|
|
|
- const lltablebllickHandlerlist = async (row, column, event) => {
|
|
|
- if (llclickedlist.value) {
|
|
|
- // 如果已经点击过一次,则不再执行操作
|
|
|
- return;
|
|
|
- }
|
|
|
- // let nextIndex = 1;
|
|
|
- // while (formData3.value.sczl_bh11 !== '') {
|
|
|
- // nextIndex++;
|
|
|
- // if (nextIndex > 10) {
|
|
|
- // // 如果所有字段都已经填满,则不做任何事情并退出函数
|
|
|
- // return;
|
|
|
- // }
|
|
|
- // }
|
|
|
- console.log(row)
|
|
|
- // 将选定的值分配给下一个空的代码和名称字段
|
|
|
- formData3.value.sczl_bh11 = row.员工编号;
|
|
|
- formData3.value.sczl_name11 = row.ygxm;
|
|
|
- llblModellist.value = false;
|
|
|
- llclickedlist.value = true;
|
|
|
- setTimeout(() => {
|
|
|
- llclickedlist.value = false;
|
|
|
- }, 300); // 300毫秒内再次点击将不会触发事件,你可以根据需要调整这个延迟时间
|
|
|
- };
|
|
|
-
|
|
|
-const blModel = ref(false)
|
|
|
-const employeeData = ref('')
|
|
|
-const getbzyg = async (value,key) => {
|
|
|
- let bzyg=''
|
|
|
- bzyg=`code${key}`
|
|
|
- let bzxm=''
|
|
|
- bzxm=`name${key}`
|
|
|
- console.log(formDatas.value[bzyg])
|
|
|
- const response = await getYg({sczl_bh:formDatas.value[bzyg]});
|
|
|
- console.log(response)
|
|
|
- if (response.code === 0) {
|
|
|
- if(response.data.length === 1){
|
|
|
- formDatas.value[bzxm]= response.data[0].ygxm
|
|
|
- formDatas.value[bzyg]= response.data[0].员工编号
|
|
|
- }else{
|
|
|
- blModel.value = true;
|
|
|
- console.log(response.data)
|
|
|
- employeeData.value = response.data // 假设响应数据是数组
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-const clicked = ref(false);
|
|
|
-const tablebllickHandler = async (row, column, event) => {
|
|
|
- if (clicked.value) {
|
|
|
- // 如果已经点击过一次,则不再执行操作
|
|
|
- return;
|
|
|
- }
|
|
|
- let nextIndex = 1;
|
|
|
- while (formDatas.value[`code${nextIndex}`] !== '' && formDatas.value[`name${nextIndex}`] !== '') {
|
|
|
- nextIndex++;
|
|
|
- if (nextIndex > 8) {
|
|
|
- // 如果所有字段都已经填满,则不做任何事情并退出函数
|
|
|
- return;
|
|
|
- }
|
|
|
- }
|
|
|
- // 将选定的值分配给下一个空的代码和名称字段
|
|
|
- formDatas.value[`code${nextIndex}`] = row.员工编号;
|
|
|
- formDatas.value[`name${nextIndex}`] = row.ygxm;
|
|
|
- blModel.value = false;
|
|
|
- clicked.value = true;
|
|
|
- setTimeout(() => {
|
|
|
- clicked.value = false;
|
|
|
- }, 300); // 300毫秒内再次点击将不会触发事件,你可以根据需要调整这个延迟时间
|
|
|
-};
|
|
|
-
|
|
|
-const getxunchayg = async (value) => {
|
|
|
- const response = await getYg({sczl_bh:xunchaData.value.sczl_bh});
|
|
|
- if (response.code === 0) {
|
|
|
- xunchaData.value.sczl_name=response.data[0].ygxm
|
|
|
- xunchaData.value.sczl_bh=response.data[0].员工编号
|
|
|
- }
|
|
|
-}
|
|
|
-const getlaliaoyg = async (value) => {
|
|
|
- const response = await getYg({sczl_bh:dbformData.value.sczl_bh11});
|
|
|
- if (response.code === 0) {
|
|
|
- dbformData.value.sczl_name11=response.data.ygxm
|
|
|
- }
|
|
|
-}
|
|
|
-//获取员工信息
|
|
|
-const GetYg = async (value,inputName) => {
|
|
|
- const response = await getYg({sczl_bh:value});
|
|
|
- if (response.code === 0) {
|
|
|
- let Bname = 'sczl_name' + inputName;
|
|
|
- let Bbh = 'sczl_bh' + inputName;
|
|
|
- console.log(Bbh)
|
|
|
- formData3.value[Bname]=response.data.ygxm
|
|
|
- formData3.value[Bbh]=response.data.员工编号
|
|
|
- }
|
|
|
-}
|
|
|
-// 验证规则
|
|
|
-const rule = reactive({})
|
|
|
-
|
|
|
-const searchRule = reactive({
|
|
|
- createdAt: [
|
|
|
- { validator: (rule, value, callback) => {
|
|
|
- if (searchInfo.value.startCreatedAt && !searchInfo.value.endCreatedAt) {
|
|
|
- callback(new Error('请填写结束日期'))
|
|
|
- } else if (!searchInfo.value.startCreatedAt && searchInfo.value.endCreatedAt) {
|
|
|
- callback(new Error('请填写开始日期'))
|
|
|
- } else if (searchInfo.value.startCreatedAt && searchInfo.value.endCreatedAt && (searchInfo.value.startCreatedAt.getTime() === searchInfo.value.endCreatedAt.getTime() || searchInfo.value.startCreatedAt.getTime() > searchInfo.value.endCreatedAt.getTime())) {
|
|
|
- callback(new Error('开始日期应当早于结束日期'))
|
|
|
- } else {
|
|
|
- callback()
|
|
|
- }
|
|
|
- }, trigger: 'change' }
|
|
|
- ],
|
|
|
-})
|
|
|
-const elFormRef = ref()
|
|
|
-const elSearchFormRef = ref()
|
|
|
-
|
|
|
-// =========== 表格控制部分 ===========
|
|
|
-const page = ref(1)
|
|
|
-const total = ref(0)
|
|
|
-const pageSize = ref(10)
|
|
|
-const tableData = ref([])
|
|
|
-const zhibiaoselectData=ref([])
|
|
|
-const yinbanVisible = ref(false)
|
|
|
-const huanxingType=ref(false)
|
|
|
-const huanxingStatus=ref(0)
|
|
|
-const yinbantreeData=ref([])
|
|
|
-const fujiaselectData=ref([])
|
|
|
-const searchInfo = ref({})
|
|
|
-const onHxadd = () => {
|
|
|
- huanxingstatus.value=true
|
|
|
- huanxingType.value=true
|
|
|
- huanxingStatus.value=1
|
|
|
- huanxingData.value.班组=''
|
|
|
- huanxingData.value.码包B=''
|
|
|
- huanxingData.value.工单编号A=''
|
|
|
- huanxingData.value.印件工序A=''
|
|
|
- huanxingData.value.码包号A=''
|
|
|
- huanxingData.value.工单编号B=''
|
|
|
- huanxingData.value.印件工序B=''
|
|
|
- huanxingData.value.机长=''
|
|
|
- huanxingData.value.班长=''
|
|
|
- huanxingData.value.质量巡查员=''
|
|
|
- huanxingData.value.印件名称A=''
|
|
|
- huanxingData.value.印件名称B=''
|
|
|
- huanxingData.value.项目1=false
|
|
|
- huanxingData.value.项目2=false
|
|
|
- huanxingData.value.项目3=false
|
|
|
- huanxingData.value.项目4=false
|
|
|
- huanxingData.value.项目5=false
|
|
|
-}
|
|
|
-const onHxedit = () => {
|
|
|
- huanxingType.value=true
|
|
|
- huanxingStatus.value=2
|
|
|
-}
|
|
|
-const onHxdel = () => {
|
|
|
- ElMessageBox.confirm('确定要删除吗?', '提示', {
|
|
|
- confirmButtonText: '确定',
|
|
|
- cancelButtonText: '取消',
|
|
|
- type: 'warning'
|
|
|
- }).then(() => {
|
|
|
- remodelDataDels()
|
|
|
- })
|
|
|
-}
|
|
|
-
|
|
|
-const remodelDataDels = async() => {
|
|
|
- const response = await remodelDataDel({
|
|
|
- UniqId:formData.value.huanxingId
|
|
|
- })
|
|
|
- if (response.code === 0) {
|
|
|
- ElMessage({
|
|
|
- type: 'success',
|
|
|
- message: '删除成功!'
|
|
|
- })
|
|
|
- huanxingtreeData.value=[]
|
|
|
- huanxingselectData.value=[]
|
|
|
- huanxingData.value={}
|
|
|
- formData.value.huanxingId=''
|
|
|
- huanxingstatus.value=false
|
|
|
- RemodelGetTab()
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-const onHxsave = () => {
|
|
|
- if(huanxingData.value.项目1==true){
|
|
|
- huanxingData.value.项目1=1
|
|
|
- }else{
|
|
|
- huanxingData.value.项目1=0
|
|
|
- }
|
|
|
- if(huanxingData.value.项目2==true){
|
|
|
- huanxingData.value.项目2=1
|
|
|
- }else{
|
|
|
- huanxingData.value.项目2=0
|
|
|
- }
|
|
|
- if(huanxingData.value.项目3==true){
|
|
|
- huanxingData.value.项目3=1
|
|
|
- }else{
|
|
|
- huanxingData.value.项目3=0
|
|
|
- }
|
|
|
- if(huanxingData.value.项目4==true){
|
|
|
- huanxingData.value.项目4=1
|
|
|
- }else{
|
|
|
- huanxingData.value.项目4=0
|
|
|
- }
|
|
|
- if(huanxingData.value.项目5==true){
|
|
|
- huanxingData.value.项目5=1
|
|
|
- }else{
|
|
|
- huanxingData.value.项目5=0
|
|
|
- }
|
|
|
-
|
|
|
- if(huanxingStatus.value==1){
|
|
|
- remodelDataAdds()
|
|
|
- }
|
|
|
- if(huanxingStatus.value==2){
|
|
|
- remodelDataEdits()
|
|
|
- console.log(huanxingData)
|
|
|
- }
|
|
|
- huanxingType.value=false
|
|
|
- huanxingStatus.value=0
|
|
|
-}
|
|
|
-
|
|
|
-const remodelDataAdds = async() => {
|
|
|
- const response = await remodelDataAdd({
|
|
|
- 日期:huanxingData.value.日期,
|
|
|
- 班组:huanxingData.value.班组,
|
|
|
- 机台编号:huanxingData.value.机台编号,
|
|
|
- 工单编号A:huanxingData.value.工单编号A,
|
|
|
- 印件工序A:huanxingData.value.印件工序A,
|
|
|
- 码包号A:huanxingData.value.码包号A,
|
|
|
- 工单编号B:huanxingData.value.工单编号B,
|
|
|
- 印件工序B:huanxingData.value.印件工序B,
|
|
|
- 码包号B:huanxingData.value.码包B,
|
|
|
- 清场项目A:huanxingData.value.项目1,
|
|
|
- 清场项目B:huanxingData.value.项目2,
|
|
|
- 清场项目C:huanxingData.value.项目3,
|
|
|
- 清场项目D:huanxingData.value.项目4,
|
|
|
- 清场项目E:huanxingData.value.项目5,
|
|
|
- 机长:huanxingData.value.机长,
|
|
|
- 班长:huanxingData.value.班长,
|
|
|
- 质量巡查员:huanxingData.value.质量巡查员
|
|
|
- })
|
|
|
- if (response.code === 0) {
|
|
|
- ElMessage({
|
|
|
- type: 'success',
|
|
|
- message: '新增成功!'
|
|
|
- })
|
|
|
- RemodelGetTab()
|
|
|
- modelChangeRecord(JTMC)
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-const remodelDataEdits = async() => {
|
|
|
- const response = await remodelDataEdit({
|
|
|
- 日期:huanxingData.value.日期,
|
|
|
- 班组:huanxingData.value.班组,
|
|
|
- 机台编号:huanxingData.value.机台编号,
|
|
|
- 工单编号A:huanxingData.value.工单编号A,
|
|
|
- 印件工序A:huanxingData.value.印件工序A,
|
|
|
- 码包号A:huanxingData.value.码包号A,
|
|
|
- 工单编号B:huanxingData.value.工单编号B,
|
|
|
- 印件工序B:huanxingData.value.印件工序B,
|
|
|
- 码包号B:huanxingData.value.码包B,
|
|
|
- 清场项目A:huanxingData.value.项目1,
|
|
|
- 清场项目B:huanxingData.value.项目2,
|
|
|
- 清场项目C:huanxingData.value.项目3,
|
|
|
- 清场项目D:huanxingData.value.项目4,
|
|
|
- 清场项目E:huanxingData.value.项目5,
|
|
|
- 机长:huanxingData.value.机长,
|
|
|
- 班长:huanxingData.value.班长,
|
|
|
- 质量巡查员:huanxingData.value.质量巡查员,
|
|
|
- UniqId:formData.value.huanxingId
|
|
|
- })
|
|
|
- if (response.code === 0) {
|
|
|
- ElMessage({
|
|
|
- type: 'success',
|
|
|
- message: '修改成功!'
|
|
|
- })
|
|
|
- }
|
|
|
-}
|
|
|
-// 重置
|
|
|
-const onReset = () => {
|
|
|
- searchInfo.value = {}
|
|
|
- getTableData()
|
|
|
-}
|
|
|
-
|
|
|
-// 搜索
|
|
|
-const onSubmit = () => {
|
|
|
- elSearchFormRef.value?.validate(async(valid) => {
|
|
|
- if (!valid) return
|
|
|
- page.value = 1
|
|
|
- pageSize.value = 10
|
|
|
- getTableData()
|
|
|
- })
|
|
|
-}
|
|
|
-
|
|
|
-// 分页
|
|
|
-const handleSizeChange = (val) => {
|
|
|
- pageSize.value = val
|
|
|
- getTableData()
|
|
|
-}
|
|
|
-
|
|
|
-// 修改页面容量
|
|
|
-const handleCurrentChange = (val) => {
|
|
|
- page.value = val
|
|
|
- getTableData()
|
|
|
-}
|
|
|
-
|
|
|
-const getTableData = async () => {
|
|
|
- const response = await facilityTab();
|
|
|
- if (response.code === 0 && response.data) {
|
|
|
- const workshops = response.data; // 车间数据
|
|
|
-
|
|
|
- // 在推送新项之前将 treeData 重置为空数组
|
|
|
- treeData.value = []; // 使用 .value 访问响应式引用的值
|
|
|
-
|
|
|
- for (const workshopName in workshops) {
|
|
|
- const workshopNode = {
|
|
|
- label: workshopName,
|
|
|
- children: [],
|
|
|
- level: 1 // 添加层级属性
|
|
|
- };
|
|
|
-
|
|
|
- const machines = workshops[workshopName]; // 车间下的机器
|
|
|
-
|
|
|
- for (const machineName in machines) {
|
|
|
- const machineNode = {
|
|
|
- label: machineName,
|
|
|
- children: [],
|
|
|
- level: 2, // 添加层级属性
|
|
|
- parentNode: workshopNode
|
|
|
- };
|
|
|
-
|
|
|
- // Now that machineNode is initialized, you can refer to it
|
|
|
- const childrenNodes = machines[machineName].map(dateTime => {
|
|
|
- const dateOnly = dateTime.split(' ')[0];
|
|
|
- return {
|
|
|
- label: dateOnly,
|
|
|
- level: 3, // 添加层级属性
|
|
|
- parentNode: machineNode
|
|
|
- };
|
|
|
- });
|
|
|
-
|
|
|
- // Assign the childrenNodes to the machineNode's children property
|
|
|
- machineNode.children = childrenNodes;
|
|
|
-
|
|
|
- // Finally, push the machineNode to the workshopNode's children array
|
|
|
- workshopNode.children.push(machineNode);
|
|
|
- }
|
|
|
-
|
|
|
- // 将 workshopNode 推送到响应式 treeData 数组
|
|
|
- treeData.value.push(workshopNode);
|
|
|
- }
|
|
|
- }
|
|
|
-};
|
|
|
-// 查询
|
|
|
-const getTableList = async() => {
|
|
|
- const table = await getCompanyList({ page: page.value, pageSize: pageSize.value, ...searchInfo.value })
|
|
|
- if (table.code === 0) {
|
|
|
- tableData.value = table.data.list
|
|
|
- total.value = table.data.total
|
|
|
- page.value = table.data.page
|
|
|
- pageSize.value = table.data.pageSize
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-// getTableData()
|
|
|
-//删除
|
|
|
-function onDel() {
|
|
|
-
|
|
|
-}
|
|
|
-//完工按钮
|
|
|
-//完工1
|
|
|
-function onOver() {
|
|
|
- // console.log(wangongbh.value)
|
|
|
- // return;
|
|
|
- if(formData.value.工单编号 === '' || formData.value.工单编号 === null){
|
|
|
- ElMessage({type: 'warning', message: '请选择切换完工工单'})
|
|
|
- return false;
|
|
|
- }else{
|
|
|
- SetProcessStatus()
|
|
|
- FacilityProduction()
|
|
|
- }
|
|
|
-}
|
|
|
-//完工事件
|
|
|
-const SetProcessStatus = async () => {
|
|
|
- console.log(formData.value.工单编号);
|
|
|
- console.log(formData.value.印件号);
|
|
|
- console.log(formData.value.工序号);
|
|
|
- const response = await setProcessStatus({order:formData.value.工单编号,yjno:formData.value.印件号,gxh:formData.value.工序号});
|
|
|
- console.log(response)
|
|
|
- if (response.code === 0) {1
|
|
|
- FacilityProduction()
|
|
|
- }
|
|
|
-}
|
|
|
-import { nextTick } from 'vue';
|
|
|
-//设备点检
|
|
|
-function ondianjian() {
|
|
|
- getSpotCheckItem(JTMC).then(treeData => {
|
|
|
- if (treeData) {
|
|
|
- // 如果获取成功,treeData 就是我们需要的树形结构数据
|
|
|
- dianjiantreeData = treeData;
|
|
|
- console.log(dianjiantreeData);
|
|
|
- // 使用 nextTick 来确保在更新 dianjianVisible 后立即刷新视图
|
|
|
- nextTick(() => {
|
|
|
- dianjianVisible.value = true;
|
|
|
- });
|
|
|
- // 这里可以处理treeData,例如将其赋值给某个状态管理变量或者用于渲染界面
|
|
|
- } else {
|
|
|
- // 如果获取失败,则treeData为null
|
|
|
- console.log('获取巡检项目树形结构数据失败');
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
-}
|
|
|
-//机台印版领用->右侧详情
|
|
|
-const facilityPrintDetailItem = async (value) => {
|
|
|
- try {
|
|
|
- formData.value.code=value
|
|
|
- // 调用接口获取巡检项目数据
|
|
|
- const response = await facilityPrintDetail({ workOrder: formData.value.工单编号,code:value,productCode:formData.value.productCode });
|
|
|
- console.log("机台印版领用")
|
|
|
- // 检查接口返回的状态码
|
|
|
- if (response.code === 0) {
|
|
|
- console.log(response)
|
|
|
- yinbanselectData.value=response.data
|
|
|
- }
|
|
|
- } catch (error) {
|
|
|
- // 捕获并打印异常
|
|
|
- console.error("获取数据出错:" + error);
|
|
|
- return null;
|
|
|
- }
|
|
|
-};
|
|
|
-const yinbanNodeClick = (node, check, nodeData) => {
|
|
|
- if (node.children && node.children.length > 0) {
|
|
|
- // 点击的是父节点,且有子节点
|
|
|
- // 执行相应的父节点单击事件处理逻辑
|
|
|
- // 这里可以添加你想要的处理逻辑,比如展开/折叠节点等
|
|
|
- } else {
|
|
|
- // 点击的是子节点,或者没有子节点
|
|
|
- // 执行相应的子节点单击事件处理逻辑
|
|
|
- yinbanselectData.value=[]
|
|
|
- facilityPrintDetailItem(node.code)
|
|
|
- }
|
|
|
-};
|
|
|
-const onyinban = async() => {
|
|
|
- console.log(formData.value)
|
|
|
- if(formData.value.产品代号==''){
|
|
|
- ElMessage({
|
|
|
- type: 'warning',
|
|
|
- message: '该工单没有产品编号'
|
|
|
- })
|
|
|
- return false
|
|
|
- }
|
|
|
- const res = await facilityPrintGetTab({productCode:formData.value.产品代号})
|
|
|
- if(res.code===0){
|
|
|
- if(res.data==null){
|
|
|
- ElMessage({type: 'warning',message: '该产品没有印版资料'})
|
|
|
- return false
|
|
|
- }
|
|
|
- yinbantreeData.value=[{
|
|
|
- label:'产品印版库',
|
|
|
- children:res.data.map(item=>({
|
|
|
- label:item.印版分类,
|
|
|
- code:item.编号
|
|
|
- }))
|
|
|
- }]
|
|
|
- console.log(res.data.map(item=>({
|
|
|
- label:item.印版分类,
|
|
|
- code:item.编号
|
|
|
- })))
|
|
|
- yinbanVisible.value = true;
|
|
|
- }
|
|
|
-}
|
|
|
-const onYbout = async() => {
|
|
|
- yinbanSelection.value.map((item)=>{
|
|
|
- item.Yb_工单编号=formData.value.工单编号
|
|
|
- item.Yb_存货编码=item.存货编码
|
|
|
- item.Yb_供方批号=item.供方批号
|
|
|
- item.Yb_领用机台=JTMC
|
|
|
- item.Yb_印数=item.印数
|
|
|
- item.Sys_id=`[${formData.value.addr}/${JTMC}]`
|
|
|
- delete item.UniqId
|
|
|
- delete item.产品名称
|
|
|
- delete item.产品编号
|
|
|
- delete item.供方批号
|
|
|
- delete item.制造日期
|
|
|
- delete item.印数
|
|
|
- delete item.印版名称
|
|
|
- delete item.印版类别
|
|
|
- delete item.存货名称
|
|
|
- delete item.存货编码
|
|
|
- delete item.客户名称
|
|
|
- delete item.客户编号
|
|
|
- return item
|
|
|
- })
|
|
|
- console.log(yinbanSelection.value)
|
|
|
- if(yinbanSelection.value.length<1){
|
|
|
- ElMessage({type: 'error',message: '暂无印版数据 请确认!'})
|
|
|
- }else{
|
|
|
- const response = await PrintDetailAdd(yinbanSelection.value)
|
|
|
- if(response.code===0){
|
|
|
- facilityPrintDetailItem(formData.value.code)
|
|
|
- ElMessage({type: 'success', message: '成功!'})
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-}
|
|
|
-const onYbback = async() => {
|
|
|
- const arr=[]
|
|
|
- yinbanSelection.value.map((item)=>{
|
|
|
- if(item.UniqId===null){
|
|
|
- }else{
|
|
|
- arr.push(item.UniqId)
|
|
|
- }
|
|
|
- })
|
|
|
- const response = await PrintDetailEdit({id:arr.join(',')})
|
|
|
- if(response.code===0){
|
|
|
- facilityPrintDetailItem(formData.value.code)
|
|
|
- ElMessage({type: 'success',message: '成功!'})
|
|
|
- }
|
|
|
-}
|
|
|
-const onzhicheng = async () => {
|
|
|
- zhichengstatus.value=false
|
|
|
- xunchaData.value=[]
|
|
|
- const response = await reportProduceInfo({machine:JTMC.split("#")[0]});
|
|
|
- if (response.code === 0) {
|
|
|
- xunchaData.value.order=response.data.order
|
|
|
- xunchaData.value.yjno=response.data.yjno
|
|
|
- xunchaData.value.product_name=response.data.product_name
|
|
|
- xunchaData.value.gxmc=response.data.gxmc
|
|
|
- xunchaData.value.lcdh=0
|
|
|
- xunchaData.value.sczl_bh=''
|
|
|
- xunchaData.value.sczl_name=''
|
|
|
- xunchaData.value.remark=''
|
|
|
- zhichengVisible.value = true;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-//班组产量提报 JP检品机单独页面
|
|
|
-const JPchanliangVisible = ref(false)
|
|
|
-const JPformdata = reactive({
|
|
|
- '工单编号':'',
|
|
|
- '产品名称':'',
|
|
|
- '印件号':'',
|
|
|
- '印件名称':'',
|
|
|
- '工序号':'',
|
|
|
- '工序名称':'',
|
|
|
- '日期':'',
|
|
|
- '流程标牌':'',
|
|
|
- '检验类别':'',
|
|
|
- '废品率系数':'',
|
|
|
- '计件箱数':'',
|
|
|
- '每箱数量':'',
|
|
|
- '换膜总工时':'',
|
|
|
- '通电工时':'',
|
|
|
- '定额代号':'',
|
|
|
- '组员1': {'编号': '','姓名': '','比例': '',},
|
|
|
- '组员2': {'编号': '','姓名': '','比例': '',},
|
|
|
- '组员3': {'编号': '','姓名': '','比例': '',},
|
|
|
- '组员4': {'编号': '','姓名': '','比例': '',},
|
|
|
- '组员5': {'编号': '','姓名': '','比例': '',},
|
|
|
- '组员6': {'编号': '','姓名': '','比例': '',},
|
|
|
- '组员7': {'编号': '','姓名': '','比例': '',},
|
|
|
- '组员8': {'编号': '','姓名': '','比例': '',},
|
|
|
- '组员9': {'编号': '','姓名': '','比例': '',},
|
|
|
- '组员10': {'编号': '','姓名': '','比例': '',}
|
|
|
-})
|
|
|
-//班组产量提报 JP检品机 班组产量提报确定
|
|
|
-const JPchanliangenterDialog = async() => {
|
|
|
- console.log(JPformdata)
|
|
|
- const JPformattedData = {
|
|
|
- sczl_jtbh:JTMC+'#',
|
|
|
- sczl_gdbh:JPformdata['工单编号'],
|
|
|
- sczl_yjno:JPformdata['印件号'],
|
|
|
- sczl_gxh:JPformdata['工序号'],
|
|
|
- sczl_gxmc:JPformdata['工序名称'],
|
|
|
- sczl_rq: JPformdata['日期'],
|
|
|
- sczl_num: JPformdata['流程标牌'],
|
|
|
- sczl_type: JPformdata['检验类别'],
|
|
|
- sczl_废品率系数: JPformdata['废品率系数'],
|
|
|
- sczl_cl: JPformdata['计件箱数'],
|
|
|
- sczl_Pgcl: JPformdata['每箱数量'],
|
|
|
- sczl_装版工时: JPformdata['换膜总工时'],
|
|
|
- sczl_设备运行工时: JPformdata['通电工时'],
|
|
|
- sczl_dedh: JPformdata['定额代号'],
|
|
|
- sczl_bzdh: JPformdata['bzdh'],
|
|
|
- sczl_bh1: JPformdata.组员1['编号'],
|
|
|
- sczl_bh2: JPformdata.组员2['编号'],
|
|
|
- sczl_bh3: JPformdata.组员3['编号'],
|
|
|
- sczl_bh4: JPformdata.组员4['编号'],
|
|
|
- sczl_bh5: JPformdata.组员5['编号'],
|
|
|
- sczl_bh6: JPformdata.组员6['编号'],
|
|
|
- sczl_bh7: JPformdata.组员7['编号'],
|
|
|
- sczl_bh8: JPformdata.组员8['编号'],
|
|
|
- sczl_bh9: JPformdata.组员9['编号'],
|
|
|
- sczl_bh10: JPformdata.组员10['编号'],
|
|
|
- sczl_bh98:'',
|
|
|
- sczl_rate1: JPformdata.组员1['比例'],
|
|
|
- sczl_rate2: JPformdata.组员2['比例'],
|
|
|
- sczl_rate3: JPformdata.组员3['比例'],
|
|
|
- sczl_rate4: JPformdata.组员4['比例'],
|
|
|
- sczl_rate5: JPformdata.组员5['比例'],
|
|
|
- sczl_rate6: JPformdata.组员6['比例'],
|
|
|
- sczl_rate7: JPformdata.组员7['比例'],
|
|
|
- sczl_rate8: JPformdata.组员8['比例'],
|
|
|
- sczl_rate9: JPformdata.组员9['比例'],
|
|
|
- sczl_rate10: JPformdata.组员10['比例'],
|
|
|
-
|
|
|
- }
|
|
|
- console.log(JPformattedData)
|
|
|
- // return false
|
|
|
- const JpUploade_edit = await JpUploade(JPformattedData);
|
|
|
- console.log(JpUploade_edit)
|
|
|
- if (JpUploade_edit.code === 0) {
|
|
|
- JPchanliangVisible.value = false
|
|
|
- ElMessage({type: 'success',message: '添加成功'})
|
|
|
- FacilityDetail()
|
|
|
- } else {
|
|
|
- ElMessage({type: 'error',message: '添加失败'})
|
|
|
- }
|
|
|
-
|
|
|
-}
|
|
|
-//印件选择
|
|
|
-const JPdialogSelectVisible_Yj = ref(false)
|
|
|
-const JPselectData_Yj = reactive([])
|
|
|
-// 处理选择框
|
|
|
-const JPhandleSelectClick_Yj = (row, column, event) => {
|
|
|
- const { yjno, yjmc, ls } = row
|
|
|
- JPformdata['印件号'] = yjno
|
|
|
- JPformdata['印件名称'] = yjmc
|
|
|
- JPdialogSelectVisible_Yj.value = false
|
|
|
-}
|
|
|
-const JPselect_Yj = (event) => {
|
|
|
- if (event.keyCode === 40) { // 向下箭头
|
|
|
- if (currentIndex.value < JPselectData_Yj.length - 1) {
|
|
|
- currentIndex.value++;
|
|
|
- JPsetCurrent_Yj(JPselectData_Yj[currentIndex.value]);
|
|
|
- } else {
|
|
|
- currentIndex.value = 0;
|
|
|
- JPsetCurrent_Yj(JPselectData_Yj[currentIndex.value]); // 到达最后一行时回到第一行
|
|
|
- }
|
|
|
- } else if (event.keyCode === 38) { // 向上箭头
|
|
|
- if (currentIndex.value > 0) {
|
|
|
- currentIndex.value--;
|
|
|
- JPsetCurrent_Yj(JPselectData_Yj[currentIndex.value]);
|
|
|
- } else {
|
|
|
- currentIndex.value = JPselectData_Yj.length - 1;
|
|
|
- JPsetCurrent_Yj(JPselectData_Yj[currentIndex.value]); // 到达第一行时回到最后一行
|
|
|
- }
|
|
|
- } else if (event.keyCode === 13) { // 回车键
|
|
|
- JPdialogSelectVisible_Yj.value = false;
|
|
|
- }
|
|
|
-}
|
|
|
-//工序选择
|
|
|
- const JPdialogSelectVisible_Gx = ref(false)
|
|
|
- const JPselectData_Gx = reactive([])
|
|
|
-const JPtable_Gx = ref()
|
|
|
- // 处理选择框
|
|
|
- const JPhandleSelectClick_Gx = (row, column, event) => {
|
|
|
- const { gxh, name, gxmc } = row
|
|
|
- JPformdata['工序号'] = gxh
|
|
|
- JPformdata['工序名称'] = name
|
|
|
- JPdialogSelectVisible_Gx.value = false
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
-//班组产量提报 回车JPent
|
|
|
-const JPemployeeDatalist = ref('')
|
|
|
-const JPblModellist = ref(false)
|
|
|
-const JPdialogSelectVisible_LX = ref(false)
|
|
|
-
|
|
|
-const JPblplanUsageCellClass = ({row, column, rowIndex, columnIndex}) =>{
|
|
|
- if (column.property === '员工编号' || column.property === 'ygxm') {
|
|
|
- return 'plan-usage-low';
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-const JPtableData = ref([
|
|
|
- { name: '废品版', type: '废品版' },
|
|
|
- { name: '正品版', type: '正品版' },
|
|
|
-])
|
|
|
-
|
|
|
-const JPhandleRowClick = async (row) => {
|
|
|
- JPformdata['检验类别'] = row['name']
|
|
|
- JPdialogSelectVisible_LX.value = false
|
|
|
-}
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-const JPent = async (event,key,val) => {
|
|
|
- if(event.keyCode === 13){
|
|
|
- //组员及比例分配
|
|
|
- if(event.keyCode === 13 && val === '1'){
|
|
|
- let bzyg=''
|
|
|
- bzyg=`组员${key}`
|
|
|
- let bzxm=''
|
|
|
- bzxm=`组员${key}`
|
|
|
- if(JPformdata[bzyg]['编号']){
|
|
|
- const getYg_response = await getYg({sczl_bh:JPformdata[bzyg]['编号']});
|
|
|
- // console.log(getYg_response)
|
|
|
- if (getYg_response.code === 0) {
|
|
|
- if(getYg_response.data.length === 1){
|
|
|
- JPformdata[bzyg]['姓名'] = getYg_response.data[0].ygxm
|
|
|
- JPformdata[bzyg]['编号'] = getYg_response.data[0].员工编号
|
|
|
- }else{
|
|
|
- JPblModellist.value = true;
|
|
|
- // console.log(getYg_response.data)
|
|
|
- JPemployeeDatalist.value = getYg_response.data // 假设响应数据是数组
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- if(event.target.id === '检验类别'){
|
|
|
- JPdialogSelectVisible_LX.value = true
|
|
|
- }
|
|
|
- if(event.target.id === '印件号'){
|
|
|
- if(JPformdata['工单编号']!=''){
|
|
|
- //获取印件名称
|
|
|
- console.log(JPformdata['工单编号'])
|
|
|
- ChanliangPrintDetail({gdbh:JPformdata['工单编号']}).then(response=>{
|
|
|
- if (response.code === 0) {
|
|
|
- if(response.data){
|
|
|
- if(response.data.length==1){
|
|
|
- JPformdata['印件号'] = response.data[0].yjno
|
|
|
- JPformdata['印件名称'] = response.data[0].yjmc
|
|
|
- setColorReadonly('印件名称')
|
|
|
- }else{
|
|
|
- JPselectData_Yj.splice(0, JPselectData_Yj.length, ...response.data)
|
|
|
- JPdialogSelectVisible_Yj.value=true
|
|
|
- }
|
|
|
-
|
|
|
- }else{
|
|
|
- ElMessage({
|
|
|
- type: 'error',
|
|
|
- message: response.msg
|
|
|
- })
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- }else{
|
|
|
- ElMessage({
|
|
|
- type: 'error',
|
|
|
- message: '印件编号不存在, 将恢复默认值, 请仔细确认数据准确性!'
|
|
|
- })
|
|
|
- }
|
|
|
- }
|
|
|
- if(event.target.id === '工序号'){
|
|
|
- //弹出选择
|
|
|
- ChanliangProcessDetail({gdbh:JPformdata['工单编号'],yjno:JPformdata['印件号'],machine:''}).then(response=>{
|
|
|
- // console.log(response)
|
|
|
- if (response.code === 0) {
|
|
|
- if(response.data){
|
|
|
- if(response.data.length === 1){
|
|
|
- JPformdata['工序号']=response.data[0].gxh
|
|
|
- JPformdata['工序名称']=response.data[0].name
|
|
|
- }else{
|
|
|
- JPselectData_Gx.splice(0, JPselectData_Gx.length, ...response.data)
|
|
|
- JPdialogSelectVisible_Gx.value = true
|
|
|
- }
|
|
|
- }else{
|
|
|
- ElMessage({
|
|
|
- type: 'error',
|
|
|
- message: response.msg
|
|
|
- })
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- const inputs = document.getElementsByTagName('input');
|
|
|
- const currentIndex = Array.from(inputs).indexOf(event.target);
|
|
|
- if (event.keyCode === 13 || event.keyCode === 40) { // Enter 或向下箭头
|
|
|
- let nextIndex = currentIndex + 1;
|
|
|
- while (nextIndex < inputs.length) {
|
|
|
- if (inputs[nextIndex].disabled) {
|
|
|
- console.log("当前输入框为disabled,跳过");
|
|
|
- nextIndex++; // 跳过disabled的输入框
|
|
|
- continue;
|
|
|
- }
|
|
|
- if (!inputs[nextIndex].readOnly) {
|
|
|
- nextTick(() => {
|
|
|
- inputs[nextIndex].focus();
|
|
|
- inputs[nextIndex].select();
|
|
|
- });
|
|
|
- break;
|
|
|
- }
|
|
|
- nextIndex++;
|
|
|
- }
|
|
|
- }
|
|
|
- else if (event.keyCode === 38) { // 向上箭头
|
|
|
- for (let i = currentIndex - 1; i >= 0; i--) {
|
|
|
- if (!inputs[i].readOnly) {
|
|
|
- nextTick(()=>{
|
|
|
- inputs[i].focus();
|
|
|
- inputs[i].select();
|
|
|
- })
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- } else if (event.keyCode === 8) { // 删除箭头
|
|
|
- if (event.target.selectionStart === 0) {
|
|
|
- for (let i = currentIndex - 1; i >= 0; i--) {
|
|
|
- if (!inputs[i].readOnly) {
|
|
|
- nextTick(()=>{
|
|
|
- inputs[i].focus();
|
|
|
- inputs[i].setSelectionRange(0, 0);
|
|
|
- })
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- } else if (event.keyCode === 37) { // 向左箭头
|
|
|
- if (event.target.selectionStart === 0) {
|
|
|
- for (let i = currentIndex - 1; i >= 0; i--) {
|
|
|
- if (!inputs[i].readOnly) {
|
|
|
- nextTick(()=>{
|
|
|
- inputs[i].focus();
|
|
|
- inputs[i].select();
|
|
|
- })
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- } else if (event.keyCode === 39) { // 向右箭头
|
|
|
- if (event.target.selectionStart === event.target.value.length) {
|
|
|
- for (let i = currentIndex + 1; i < inputs.length; i++) {
|
|
|
- if (!inputs[i].readOnly) {
|
|
|
- nextTick(()=>{
|
|
|
- inputs[i].focus();
|
|
|
- inputs[i].select();
|
|
|
- })
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- const JPclickedlist = ref(false);
|
|
|
- const JPtablebllickHandlerlist = async (row, column, event) => {
|
|
|
- if (JPclickedlist.value) {
|
|
|
- // 如果已经点击过一次,则不再执行操作
|
|
|
- return;
|
|
|
- }
|
|
|
- let nextIndex = 1;
|
|
|
- while (JPformdata[`组员${nextIndex}`]['编号'] !== '') {
|
|
|
- nextIndex++;
|
|
|
- if (nextIndex > 10) {
|
|
|
- // 如果所有字段都已经填满,则不做任何事情并退出函数
|
|
|
- return;
|
|
|
- }
|
|
|
- }
|
|
|
- // 将选定的值分配给下一个空的代码和名称字段
|
|
|
- JPformdata[`组员${nextIndex-1}`]['编号'] = row.员工编号;
|
|
|
- JPformdata[`组员${nextIndex-1}`]['姓名'] = row.ygxm;
|
|
|
- JPblModellist.value = false;
|
|
|
- JPclickedlist.value = true;
|
|
|
- setTimeout(() => {
|
|
|
- JPclickedlist.value = false;
|
|
|
- }, 300); // 300毫秒内再次点击将不会触发事件,你可以根据需要调整这个延迟时间
|
|
|
- };
|
|
|
-
|
|
|
-//班组产量提报 JP检品机 班组产量提报取消
|
|
|
-const JPcloseDialog = async() => {
|
|
|
- JPchanliangVisible.value = false
|
|
|
-}
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-//日产量上报提交按钮默认开启
|
|
|
-const isSubmitting = ref(false)
|
|
|
-
|
|
|
-//日产量上报 按钮
|
|
|
-//班组产量提报 打开新增页面
|
|
|
-const onchanliang = async() => {
|
|
|
- // console.log(JTMC)
|
|
|
- //判断是否为JP 检品机器【是检品机独立页面】
|
|
|
- if (JTMC.startsWith('JP')) {
|
|
|
- // JP日产量上报开启
|
|
|
- JPchanliangVisible.value = true
|
|
|
- //获取当天日期接口
|
|
|
- getTimelistsss();
|
|
|
- //获取产量上报数据信息接口
|
|
|
- getMachineReportInfos();
|
|
|
- } else{
|
|
|
- //日产量上报弹窗开启
|
|
|
- isSubmitting.value = false
|
|
|
- ReportInfo();
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-//班组产量提报 获取当天日期接口
|
|
|
-const getTimelistsss = async () => {
|
|
|
- const getTimelistss = await getTimelist();
|
|
|
- JPformdata['日期'] = getTimelistss.data.date
|
|
|
-}
|
|
|
-
|
|
|
-//班组产量提报 获取产量上报数据信息接口
|
|
|
-const getMachineReportInfos = async () => {
|
|
|
- const getMachineReportInfos = await reportInfo({machine:JTMC = JTMC.replace(/#/g, '')});
|
|
|
- console.log(getMachineReportInfos)
|
|
|
- JPformdata['bzdh'] = getMachineReportInfos.data.class.sczl_bzdh
|
|
|
- JPformdata['工单编号'] = getMachineReportInfos.data.order_info.order
|
|
|
- JPformdata['产品名称'] = getMachineReportInfos.data.order_info.product_name
|
|
|
- JPformdata['定额代号'] = getMachineReportInfos.data.order_info.dedh
|
|
|
-
|
|
|
-
|
|
|
- JPformdata['印件号'] = getMachineReportInfos.data.order_info.yjno
|
|
|
- JPformdata['印件名称'] = getMachineReportInfos.data.order_info.yj_name
|
|
|
- JPformdata['工序号'] = getMachineReportInfos.data.order_info.gxh
|
|
|
- JPformdata['工序名称'] = getMachineReportInfos.data.order_info.gy_name
|
|
|
- for (let i = 1; i <= 10; i++) {
|
|
|
- JPformdata[`组员${i}`]['编号'] = getMachineReportInfos.data.class[`sczl_bh${i}`];
|
|
|
- }
|
|
|
- for (let i = 1; i <= 10; i++) {
|
|
|
- JPformdata[`组员${i}`]['姓名'] = getMachineReportInfos.data.class[`sczl_name${i}`];
|
|
|
- }
|
|
|
- for (let i = 1; i <= 10; i++) {
|
|
|
- JPformdata[`组员${i}`]['比例'] = getMachineReportInfos.data.class[`sczl_rate${i}`];
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-
|
|
|
-//日产量详情获取 日产量上报
|
|
|
-const ReportInfo = async () => {
|
|
|
- const getTimelistss = await getTimelist();
|
|
|
- console.log(getTimelistss)
|
|
|
- console.log("获取下机时间")
|
|
|
- console.log(formData)
|
|
|
-
|
|
|
- //4.1获取报工单其他信息接口
|
|
|
- const response = await reportInfo({ machine: JTMC.split("#")[0] });
|
|
|
- // console.log(response)
|
|
|
- // console.log("reportInfo_01")
|
|
|
-
|
|
|
- // const today = new Date();
|
|
|
- // const year = today.getFullYear();
|
|
|
- // const month = String(today.getMonth() + 1).padStart(2, '0'); // 月份从 0 开始,需要补零
|
|
|
- // const day = String(today.getDate()).padStart(2, '0');
|
|
|
- // const hours = String(today.getHours()).padStart(2, '0');
|
|
|
- // const minutes = String(today.getMinutes()).padStart(2, '0');
|
|
|
- // const seconds = String(today.getSeconds()).padStart(2, '0');
|
|
|
- // const currentHour = today.getHours(); // 获取当前的小时
|
|
|
- // let currentDate = `${year}-${month}-${day}`;
|
|
|
- // if (!JTMC.endsWith('#')) {
|
|
|
- // JTMC += '#';
|
|
|
- // }
|
|
|
-
|
|
|
- // console.log("machine--->"+JTMC)
|
|
|
- // console.log("Gd_gdbh--->"+formData.value.工单编号)
|
|
|
- // console.log("team--->"+BZMC.value)
|
|
|
-
|
|
|
- // const facilityDetailresponse = await facilityDetail({ machine: JTMC, Gd_gdbh: formData.value.工单编号, team:BZMC.value });
|
|
|
- // console.log(facilityDetailresponse)
|
|
|
- // console.log("↑↑↑↑facilityDetail_01 ↑↑↑↑↑↑")
|
|
|
-
|
|
|
- // // 日产量上报上机时间
|
|
|
- // // if (facilityDetailresponse.code === 0) {
|
|
|
- // if(facilityDetailresponse.data === null || facilityDetailresponse.data.length === 0){
|
|
|
- // if (currentHour < 8 || (currentHour === 8 && minutes < 30)) {
|
|
|
- // // 如果当前时间早于08:30, 则设置为前一天的晚班时间20:30
|
|
|
- // // 需要将日期减一天
|
|
|
- // const yesterDay = new Date(today.getTime() - 86400000); // 减去一天的毫秒数
|
|
|
- // const yearYesterday = yesterDay.getFullYear();
|
|
|
- // const monthYesterday = String(yesterDay.getMonth() + 1).padStart(2, '0');
|
|
|
- // const dayYesterday = String(yesterDay.getDate()).padStart(2, '0');
|
|
|
- // formData.value.上机时间 = `${yearYesterday}-${monthYesterday}-${dayYesterday} 20:30:00`;
|
|
|
- // } else {
|
|
|
- // // 如果当前时间晚于或等于08:30, 则设置为当天的白班时间08:30
|
|
|
- // formData.value.上机时间 = `${currentDate} 08:30:00`;
|
|
|
- // }
|
|
|
- // }
|
|
|
- // // }
|
|
|
- // console.log(formData.value.上机时间)
|
|
|
-
|
|
|
- // 日产量上报上机时间
|
|
|
- if (response.code === 0) {
|
|
|
- const { order_info, class: classInfo } = response.data;
|
|
|
- const newData = {
|
|
|
- order: order_info.order,
|
|
|
- yjno: order_info.yjno,
|
|
|
- gxh: order_info.gxh,
|
|
|
- gxmc: order_info.gxmc,
|
|
|
- product_name: order_info.product_name,
|
|
|
- yj_name: order_info.yj_name,
|
|
|
- gy_name: order_info.gy_name,
|
|
|
- 日期:getTimelistss.data.date,
|
|
|
- 下机时间:getTimelistss.data.hours,
|
|
|
- 上机时间:formData.value.上机时间,
|
|
|
- 装版总时长:0,
|
|
|
- 定额代号:formData.value.定额代号,
|
|
|
- sczl_jtbh: JTMC.split("#")[0],
|
|
|
- sczl_bzdh: classInfo.sczl_bzdh,
|
|
|
- sys_id: classInfo.sys_id,
|
|
|
- sys_rq: classInfo.sys_rq,
|
|
|
- mod_rq: classInfo.mod_rq,
|
|
|
- UniqId: classInfo.UniqId,
|
|
|
- sczl_bh1: classInfo.sczl_bh1,
|
|
|
- sczl_bh2: classInfo.sczl_bh2,
|
|
|
- sczl_bh3: classInfo.sczl_bh3,
|
|
|
- sczl_bh4: classInfo.sczl_bh4,
|
|
|
- sczl_bh5: classInfo.sczl_bh5,
|
|
|
- sczl_bh6: classInfo.sczl_bh6,
|
|
|
- sczl_bh7: classInfo.sczl_bh7,
|
|
|
- sczl_bh8: classInfo.sczl_bh8,
|
|
|
- sczl_bh9: classInfo.sczl_bh9,
|
|
|
- sczl_bh10: classInfo.sczl_bh10,
|
|
|
- sczl_name1: classInfo.sczl_name1,
|
|
|
- sczl_name2: classInfo.sczl_name2,
|
|
|
- sczl_name3: classInfo.sczl_name3,
|
|
|
- sczl_name4: classInfo.sczl_name4,
|
|
|
- sczl_name5: classInfo.sczl_name5,
|
|
|
- sczl_name6: classInfo.sczl_name6,
|
|
|
- sczl_name7: classInfo.sczl_name7,
|
|
|
- sczl_name8: classInfo.sczl_name8,
|
|
|
- sczl_name9: classInfo.sczl_name9,
|
|
|
- sczl_name10: classInfo.sczl_name10,
|
|
|
- sczl_rate1: classInfo.sczl_rate1,
|
|
|
- sczl_rate2: classInfo.sczl_rate2,
|
|
|
- sczl_rate3: classInfo.sczl_rate3,
|
|
|
- sczl_rate4: classInfo.sczl_rate4,
|
|
|
- sczl_rate5: classInfo.sczl_rate5,
|
|
|
- sczl_rate6: classInfo.sczl_rate6,
|
|
|
- sczl_rate7: classInfo.sczl_rate7,
|
|
|
- sczl_rate8: classInfo.sczl_rate8,
|
|
|
- sczl_rate9: classInfo.sczl_rate9,
|
|
|
- sczl_rate10: classInfo.sczl_rate10,
|
|
|
- Gy0_ms:order_info.Gy0_ms,
|
|
|
- Gy0_ls:order_info.Gy0_ls,
|
|
|
- };
|
|
|
- formData3.value = { ...formData3.value, ...newData };
|
|
|
- formData3.value.流程标牌 = ''
|
|
|
- chanliangselectData.splice(0, chanliangselectData.length, ...response.data.bom)
|
|
|
- chanliangVisible.value = true
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-//日产量上报提交按钮
|
|
|
-const chanliangenterDialog = async () => {
|
|
|
- SubmitDailyProduction()
|
|
|
- isSubmitting.value = false
|
|
|
-}
|
|
|
-const bzchanliangenterDialog = async () => {
|
|
|
- chanliangEdits()
|
|
|
-}
|
|
|
-//日报表上传
|
|
|
-const SubmitDailyProduction = async () => {
|
|
|
- const restoredData = {
|
|
|
- sczl_gdbh:formData3.value.order,
|
|
|
- sczl_yjno:formData3.value.yjno,
|
|
|
- sczl_gxh:formData3.value.gxh,
|
|
|
- sczl_gxmc: formData3.value.gxmc,
|
|
|
- sczl_bzdh: formData3.value.sczl_bzdh,
|
|
|
- sczl_bh1: formData3.value.sczl_bh1,
|
|
|
- sczl_bh2: formData3.value.sczl_bh2,
|
|
|
- sczl_bh3: formData3.value.sczl_bh3,
|
|
|
- sczl_bh4: formData3.value.sczl_bh4,
|
|
|
- sczl_bh5: formData3.value.sczl_bh5,
|
|
|
- sczl_bh6: formData3.value.sczl_bh6,
|
|
|
- sczl_bh7: formData3.value.sczl_bh7,
|
|
|
- sczl_bh8: formData3.value.sczl_bh8,
|
|
|
- sczl_bh9: formData3.value.sczl_bh9,
|
|
|
- sczl_bh10: formData3.value.sczl_bh10,
|
|
|
- sczl_bh98:formData3.value.sczl_bh11,
|
|
|
- sczl_rate1: formData3.value.sczl_rate1,
|
|
|
- sczl_rate2: formData3.value.sczl_rate2,
|
|
|
- sczl_rate3: formData3.value.sczl_rate3,
|
|
|
- sczl_rate4: formData3.value.sczl_rate4,
|
|
|
- sczl_rate5: formData3.value.sczl_rate5,
|
|
|
- sczl_rate6: formData3.value.sczl_rate6,
|
|
|
- sczl_rate7: formData3.value.sczl_rate7,
|
|
|
- sczl_rate8: formData3.value.sczl_rate8,
|
|
|
- sczl_rate9: formData3.value.sczl_rate9,
|
|
|
- sczl_rate10: formData3.value.sczl_rate10,
|
|
|
- sczl_jtbh: formData3.value.sczl_jtbh,
|
|
|
- sczl_rq: formData3.value.日期,
|
|
|
- sczl_num: formData3.value.流程标牌,
|
|
|
- sczl_sj1: formData3.value.上机时间,
|
|
|
- sczl_sj2: formData3.value.下机时间,
|
|
|
- sczl_cl: formData3.value.产量,
|
|
|
- sczl_zcfp: formData3.value.制程废品,
|
|
|
- sczl_zccp: formData3.value.制程次品,
|
|
|
- last_fp: formData3.value.前工序废,
|
|
|
- less_sl: formData3.value.来料异常,
|
|
|
- sczl_ls: formData3.value.Gy0_ls,
|
|
|
- sczl_ms: formData3.value.Gy0_ms,
|
|
|
- zb_time: formData3.value.装版总时长,
|
|
|
- dy_time: formData3.value.打样总工时,
|
|
|
- run_time: formData3.value.通电工时,
|
|
|
- sczl_dedh: formData3.value.定额代号,
|
|
|
- code: formData3.value.码包,
|
|
|
- main_meter: formData3.value.主电表,
|
|
|
- auxiliary_meter: formData3.value.辅电表,
|
|
|
- bom: formData3.value.formattedArray
|
|
|
- }
|
|
|
- console.log(restoredData)
|
|
|
- //4.2日产量上报 添加
|
|
|
- const response = await submitDailyProduction(restoredData);
|
|
|
- console.log(response)
|
|
|
- if (response.code === 0) {
|
|
|
- FacilityDetail()
|
|
|
- isSubmitting.value = true
|
|
|
- chanliangVisible.value = false
|
|
|
- ElMessage({type: 'success',message: '成功'})
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-const chanliangselectData = reactive([])
|
|
|
-const chanliangVisible = ref(false)
|
|
|
-const bzchanliangVisible = ref(false)
|
|
|
-const huanxingVisible = ref(false)
|
|
|
-const xunchaVisible = ref(false)
|
|
|
-//客诉记录
|
|
|
-const complaintsShow = ref(false)
|
|
|
-const complaintsData = ref([])
|
|
|
-function oncomplaints() {
|
|
|
- Complaints()
|
|
|
-}
|
|
|
-const multipleTable = ref(null)
|
|
|
-const dbclSelection = ref('')
|
|
|
-//当班产量明细复选框
|
|
|
-const dbclmxSelectionChange = (selection, type) => {
|
|
|
- console.log(selection);
|
|
|
- // 如果选择项多于一个,弹出提示并撤销选择
|
|
|
- if (selection.length > 1) {
|
|
|
- ElMessage({type: 'warning',message: '您只能选择一条进行删除!'})
|
|
|
- // 重置选择项
|
|
|
- dbclSelection.value = ''; // 清空之前的选择
|
|
|
- selection.splice(0, selection.length); // 清空当前选择数组
|
|
|
- return false;
|
|
|
- }else{
|
|
|
- const ids = selection.map(item => item.UniqId);
|
|
|
- dbclSelection.value = ids.join(',');
|
|
|
- console.log(dbclSelection.value)
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-//当班产量明细删除按钮
|
|
|
-const deldbcl_onclick = async () => {
|
|
|
- // console.log(dbclSelection.value)
|
|
|
- // return false;
|
|
|
- if (dbclSelection.value !== '') {
|
|
|
- try {
|
|
|
- //产量上报数据删除
|
|
|
- const res1 = await ChanliangDel({UniqId: dbclSelection.value})
|
|
|
- if(res1.code === 0){
|
|
|
- ElMessage.success(dbclSelection.value+'当班产量明细删除成功')
|
|
|
- dbclSelection.value = ''; // 清空当前选择记录
|
|
|
- CLMXData.value = []; // 清空表格数据
|
|
|
- // 清除表格选择
|
|
|
- if (multipleTable.value) {
|
|
|
- multipleTable.value.clearSelection();
|
|
|
- }
|
|
|
- //当班产量明细 显示最新数据
|
|
|
- const response = await facilityDetail({ machine: JTMC, Gd_gdbh: formData.value.工单编号, team: BZMC.value });
|
|
|
- console.log(response);
|
|
|
- // if (response.code === 0) {
|
|
|
-
|
|
|
- // }
|
|
|
-
|
|
|
- if (response.data === null) {
|
|
|
- CLMXData.splice(0, CLMXData.length, ...Object.values([]));
|
|
|
- return false;
|
|
|
- }else{
|
|
|
- CLMXData.splice(0, CLMXData.length, ...Object.values(response.data));
|
|
|
- formData.value.production_now=response.data[0].产量
|
|
|
- formData.value.production_all=response.data.total.产量
|
|
|
- return false;
|
|
|
- }
|
|
|
- }
|
|
|
- } catch(err) {
|
|
|
- ElMessage.error(err)
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-
|
|
|
-// 客诉记录表格填充
|
|
|
-const Complaints = async() => {
|
|
|
- complaintsData.value=[]
|
|
|
- selectedRowData.value={}
|
|
|
- const res = await ComplaintRecord({productCode :formData.value.productCode})
|
|
|
- if (res.msg === '成功') {
|
|
|
- complaintsData.value=res.data;
|
|
|
- selectedRowData.value=complaintsData.value[0]
|
|
|
- complaintsShow.value=true
|
|
|
- }else{
|
|
|
- ElMessage({type: 'success',message: '未找到该产品客诉记录!'})
|
|
|
- }
|
|
|
-}
|
|
|
-const selectedRowData = ref({
|
|
|
-
|
|
|
-})
|
|
|
-//客诉表格单击
|
|
|
-const complaintshandle = (val, row) => {
|
|
|
- selectedRowData.value=val
|
|
|
-};
|
|
|
-//设置机台状态
|
|
|
-function onstatus() {
|
|
|
- FacilityProduction().then(()=>{
|
|
|
- dialogSbyxgl.value=true
|
|
|
- })
|
|
|
- // SetMachineStatus()
|
|
|
- // ReportProduceInfo()
|
|
|
-}
|
|
|
-function onClear() {
|
|
|
- huanxingtreeData.value=[]
|
|
|
- huanxingselectData.value=[]
|
|
|
- huanxingData.value={}
|
|
|
- huanxingstatus.value=false
|
|
|
- huanxingVisible.value=true
|
|
|
- RemodelGetTab()
|
|
|
-}
|
|
|
-
|
|
|
-const gzSelVisible = ref(false)
|
|
|
-const gz_tableData = reactive([])
|
|
|
-const gz_tableData2 = reactive([])
|
|
|
-let gz_bzbh = [];
|
|
|
-
|
|
|
-const tableCols1 = [
|
|
|
- { label: '员工编号', prop: 'bh', width: '105' },
|
|
|
- { label: '员工姓名', prop: '员工姓名', width: '105' },
|
|
|
- { label: '日期', prop: 'sczl_rq', width: '120' },
|
|
|
- { label: '计件工资', prop: '计件工资', width: '105' },
|
|
|
- { label: '加班工资', prop: '加班工资', width: '105' },
|
|
|
- { label: '计时时数', prop: '计时时数', width: '105' },
|
|
|
- { label: '计时工资', prop: '计时工资', width: '135' },
|
|
|
- { label: '日工资合计', prop: '日工资合计', width: '135' },
|
|
|
- { label: '分摊比例', prop: 'Rate', width: '135' },
|
|
|
-]
|
|
|
-const tableCols2 = [
|
|
|
- { label: '日期', prop: 'sczl_rq', width: '100' },
|
|
|
- { label: '工单编号', prop: 'sczl_gdbh', width: '105' },
|
|
|
- { label: '产品名称', prop: 'Gd_cpmc', width: '120' },
|
|
|
- { label: '印件及工序', prop: 'sczl_type', width: '120' },
|
|
|
- { label: '机台', prop: 'sczl_jtbh', width: '87' },
|
|
|
- { label: '车头产量', prop: '班组车头产量', width: '105' },
|
|
|
- { label: '计件产量', prop: '计件产量', width: '105' },
|
|
|
- { label: '补产产量', prop: '补产产量', width: '105' },
|
|
|
- { label: '核算产量', prop: '核算产量', width: '105' },
|
|
|
- { label: '达标定额', prop: '达标定额', width: '105' },
|
|
|
- { label: '千件工价', prop: '千件工价', width: '105' },
|
|
|
- { label: '计件工资', prop: '个人计件工资', width: '105' },
|
|
|
- { label: '加班工资', prop: '个人加班工资', width: '105' },
|
|
|
- { label: '装版工时', prop: '装版工时', width: '120' },
|
|
|
- { label: '保养工时', prop: '保养工时', width: '105' },
|
|
|
- { label: '打样工时', prop: '打样工时', width: '105' },
|
|
|
- { label: '异常停机', prop: '异常停机工时', width: '105' },
|
|
|
- { label: '补产标准', prop: '补产标准', width: '120' },
|
|
|
- { label: '分摊比例', prop: 'Rate', width: '105' },
|
|
|
-]
|
|
|
-
|
|
|
-//员工工资查询
|
|
|
-const gzSel = () =>{
|
|
|
- if(formData.value.班组成员.length==0){
|
|
|
- ElMessage({ type: 'warning', message: '未获取到员工' });
|
|
|
- return
|
|
|
- }
|
|
|
- for (let index in formData.value.班组成员) {
|
|
|
- gz_bzbh[index] = formData.value.班组成员[index]['编号']
|
|
|
- }
|
|
|
- gzSelVisible.value=true
|
|
|
-}
|
|
|
-// 查询
|
|
|
-const gz_ontable = (ygbh) => {
|
|
|
- // 创建一个Date对象
|
|
|
- var currentDate = new Date();
|
|
|
- // 获取年份
|
|
|
- var year = currentDate.getFullYear();
|
|
|
- // 获取月份(注意,月份从0开始,所以需要加1)
|
|
|
- var month = currentDate.getMonth() + 1;
|
|
|
- if (month < 10) {
|
|
|
- month = "0" + month;
|
|
|
- }
|
|
|
- var date = year+ "" +month
|
|
|
- const response = dailysearch({date: date, search: ygbh}).then(response=>{
|
|
|
- if (response.code === 0) {
|
|
|
- const originalData = response.data;
|
|
|
- const summaryData = generateSummaryData(originalData);
|
|
|
- // 将合计数据插入到原始数据中
|
|
|
- const combinedData = [];
|
|
|
- originalData.forEach((item, index) => {
|
|
|
- combinedData.push(item);
|
|
|
- const nextItem = originalData[index + 1];
|
|
|
- if (nextItem==undefined) {
|
|
|
- // 如果下一个员工姓名与当前不同,插入合计数据
|
|
|
- const currentSummary = summaryData.shift();
|
|
|
- combinedData.push(currentSummary);
|
|
|
- }
|
|
|
- });
|
|
|
- // 更新表格数据
|
|
|
- gz_tableData.splice(0, gz_tableData.length, ...combinedData);
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- dailygetGzByYgbh({date:date,code:ygbh}).then(response=>{
|
|
|
- if(response.code==0){
|
|
|
- gz_tableData2.splice(0, gz_tableData2.length, ...response.data);
|
|
|
- }
|
|
|
- })
|
|
|
-}
|
|
|
-
|
|
|
-const generateSummaryData = (data) => {
|
|
|
- const summaryData = [];
|
|
|
- let currentName = null;
|
|
|
- let currentSummary = null;
|
|
|
- data.forEach((item) => {
|
|
|
- const name = item['员工姓名'].trim(); // 获取员工姓名并去除空格
|
|
|
- if (name !== currentName) {
|
|
|
- // 如果员工姓名发生改变,说明需要插入合计数据
|
|
|
- if (currentSummary) {
|
|
|
- // 将上一个员工的合计数据插入到数组中
|
|
|
- summaryData.push(currentSummary);
|
|
|
- }
|
|
|
- // 创建新的合计数据
|
|
|
- currentSummary = {
|
|
|
- '员工姓名': name,
|
|
|
- '日期': 0,
|
|
|
- '计件工资': 0,
|
|
|
- '加班工资': 0,
|
|
|
- '计时时数': 0,
|
|
|
- '计时工资': 0,
|
|
|
- '日工资合计': 0
|
|
|
- };
|
|
|
- currentName = name;
|
|
|
- }
|
|
|
- // 更新合计数据
|
|
|
- currentSummary['日期']++;
|
|
|
- currentSummary['计件工资'] += parseFloat(item['计件工资']);
|
|
|
- currentSummary['加班工资'] += parseFloat(item['加班工资']);
|
|
|
- currentSummary['计时时数'] += parseFloat(item['计时时数']);
|
|
|
- currentSummary['计时工资'] += parseFloat(item['计时工资']);
|
|
|
- currentSummary['日工资合计'] += parseFloat(item['日工资合计']);
|
|
|
- currentSummary['员工姓名']='合计('+currentSummary['日期']+'天)';
|
|
|
- });
|
|
|
-
|
|
|
- // 将最后一个员工的合计数据插入到数组中
|
|
|
- if (currentSummary) {
|
|
|
- summaryData.push(currentSummary);
|
|
|
- }
|
|
|
-
|
|
|
- // 将日期填充到表格中
|
|
|
- summaryData.forEach((summary) => {
|
|
|
- summary['计件工资'] = summary['计件工资'].toFixed(2); // 保留两位小数
|
|
|
- summary['加班工资'] = summary['加班工资'].toFixed(2);
|
|
|
- summary['计时时数'] = summary['计时时数'].toFixed(2);
|
|
|
- summary['计时工资'] = summary['计时工资'].toFixed(2);
|
|
|
- summary['日工资合计'] = summary['日工资合计'].toFixed(2);
|
|
|
- });
|
|
|
- return summaryData;
|
|
|
-};
|
|
|
-
|
|
|
-
|
|
|
-const RemodelGetTab = async() => {
|
|
|
- const response = await remodelGetTab()
|
|
|
- let arr=[]
|
|
|
- if (response.code === 0) {
|
|
|
- huanxingtreeData.value=[{label:JTMC,children:response.data[JTMC].map(item=>({
|
|
|
- label:item,
|
|
|
- machine:JTMC
|
|
|
- }))}]
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-//提交巡查记录
|
|
|
-function onxuncha() {
|
|
|
- xunchaData.value=[]
|
|
|
- ReportProduceInfo()
|
|
|
-}
|
|
|
-//巡检弹窗确定
|
|
|
-const xunchaDialog = async () => {
|
|
|
- SubmitPatrolRecord()
|
|
|
-}
|
|
|
-const closexunchaDialog = async () => {
|
|
|
- xunchaVisible.value=false
|
|
|
-}
|
|
|
-
|
|
|
-const dianjianDialog = async () => {
|
|
|
- dianjianselectData.splice(0, dianjianselectData.length, ...dianjianselectData.map(item=>{
|
|
|
- if(item.zc==true){
|
|
|
- item.status='正常'
|
|
|
- }
|
|
|
- if(item.yc==true){
|
|
|
- item.status='异常'
|
|
|
- }
|
|
|
- if(item.notjc==true){
|
|
|
- item.status='不检测'
|
|
|
- }
|
|
|
- item.itemName=item.检验项目
|
|
|
- item.method=item.点检方法
|
|
|
- item.standard=item.判定标准
|
|
|
- delete item.notjc
|
|
|
- delete item.zc
|
|
|
- delete item.yc
|
|
|
- delete item.检验项目
|
|
|
- delete item.点检方法
|
|
|
- delete item.判定标准
|
|
|
- return item
|
|
|
- }))
|
|
|
- const response = await InspectionItemAdd(dianjianselectData);
|
|
|
- if (response.code === 0) {
|
|
|
- ElMessage({type: 'success',message: '成功'})
|
|
|
- dianjianVisible.value=false
|
|
|
- }
|
|
|
-}
|
|
|
-//制程检验记录提交按钮
|
|
|
-const zhichengDialog = async () => {
|
|
|
- // console.log(fujiaselectData.value)
|
|
|
- let arr =[]
|
|
|
- zhibiaoselectData.value.map(item=>{
|
|
|
- if(item.zc==true){
|
|
|
- item.result='合格'
|
|
|
- item.item=item.检验项目
|
|
|
- item.instrument=item.检测方法
|
|
|
- item.standard=item.相关标准
|
|
|
- delete item.notjc
|
|
|
- delete item.zc
|
|
|
- delete item.yc
|
|
|
- delete item.检验项目
|
|
|
- delete item.检测方法
|
|
|
- delete item.相关标准
|
|
|
- delete item.检验频率
|
|
|
- arr.push(item)
|
|
|
- return item
|
|
|
- }
|
|
|
- if(item.yc==true){
|
|
|
- item.result='不合格'
|
|
|
- item.item=item.检验项目
|
|
|
- item.instrument=item.检测方法
|
|
|
- item.standard=item.相关标准
|
|
|
- delete item.notjc
|
|
|
- delete item.zc
|
|
|
- delete item.yc
|
|
|
- delete item.检验项目
|
|
|
- delete item.检测方法
|
|
|
- delete item.相关标准
|
|
|
- delete item.检验频率
|
|
|
- arr.push(item)
|
|
|
- return item
|
|
|
- }
|
|
|
- if(item.notjc==true){
|
|
|
- item.result='不检测'
|
|
|
- item.item=item.检验项目
|
|
|
- item.instrument=item.检测方法
|
|
|
- item.standard=''
|
|
|
- delete item.notjc
|
|
|
- delete item.zc
|
|
|
- delete item.yc
|
|
|
- delete item.检验项目
|
|
|
- delete item.检测方法
|
|
|
- delete item.相关标准
|
|
|
- delete item.检验频率
|
|
|
- // arr.push(item)
|
|
|
- return item
|
|
|
- }
|
|
|
- })
|
|
|
- console.log(fujiaselectData.value)
|
|
|
-
|
|
|
- let arrs=[]
|
|
|
- let fujiastatus=0
|
|
|
- fujiaselectData.value.map(item=>{
|
|
|
- if(item.notjc==true){
|
|
|
- return item
|
|
|
- }else{
|
|
|
- fujiastatus=1
|
|
|
- item.remark=item.缺陷备注
|
|
|
- delete item.notjc
|
|
|
- delete item.缺陷备注
|
|
|
- delete item.编号
|
|
|
- arrs.push(item)
|
|
|
- return item
|
|
|
- }
|
|
|
- })
|
|
|
- console.log(arrs)
|
|
|
- if(fujiastatus==1){
|
|
|
- const responses = await AdditionalInspectionRecordAdd(arrs);
|
|
|
- fujiastatus=0
|
|
|
- }
|
|
|
-
|
|
|
- // 使用filter方法过滤掉所有result为"不检测"的对象
|
|
|
- const filteredData = zhibiaoselectData.value.filter(item => item.selected !== "不检测");
|
|
|
- console.log(filteredData);
|
|
|
- const response = await ProcessInspectionRecordsItemAdd(filteredData);
|
|
|
- if (response.code === 0) {
|
|
|
- ElMessage({type: 'success',message: '成功'})
|
|
|
- InspectionRecord()
|
|
|
- zhichengVisible.value=false
|
|
|
- zhibiaoselectData.value=[]
|
|
|
- fujiaselectData.value=[]
|
|
|
- }
|
|
|
-}
|
|
|
-const closedianjianDialog = async () => {
|
|
|
- dianjianVisible.value=false
|
|
|
-}
|
|
|
-const closezhichengDialog = async () => {
|
|
|
- zhichengVisible.value=false
|
|
|
-}
|
|
|
-
|
|
|
-//获取机台生产信息
|
|
|
-const ReportProduceInfo = async (value,inputName) => {
|
|
|
- const response = await reportProduceInfo({machine:JTMC.split("#")[0]});
|
|
|
- if (response.code === 0) {
|
|
|
- xunchaData.value.order=response.data.order
|
|
|
- xunchaData.value.yjno=response.data.yjno
|
|
|
- xunchaData.value.product_name=response.data.product_name
|
|
|
- xunchaData.value.gxmc=response.data.gxmc
|
|
|
- xunchaData.value.lcdh=0
|
|
|
- xunchaData.value.sczl_bh=''
|
|
|
- xunchaData.value.sczl_name=''
|
|
|
- xunchaData.value.remark=''
|
|
|
- FieldInspectionRecord()
|
|
|
- xunchaVisible.value=true
|
|
|
- }
|
|
|
-}
|
|
|
-// 假设 xunchaselectData 是一个 ref 对象
|
|
|
-const xunchaselectData = ref([]);
|
|
|
-const xunchaData = ref([]);
|
|
|
-
|
|
|
-// 在 FieldInspectionRecord 方法中填充数据
|
|
|
-const FieldInspectionRecord = async () => {
|
|
|
- const response = await fieldInspectionRecord({ workOrder: xunchaData.value.order, team: BZMC.value});
|
|
|
- console.log(response);
|
|
|
- if (response.code === 0) {
|
|
|
- xunchaselectData.value = response.data;
|
|
|
- }
|
|
|
-}
|
|
|
-//获取机台编号
|
|
|
-const GetMachineMac = async (addr) => {
|
|
|
- console.log(addr);
|
|
|
- const response = await getMachineMac({ addr: addr });
|
|
|
- if (response.code === 0) {
|
|
|
- if(response.data===null){
|
|
|
- // JTMC = 'JY01#';
|
|
|
- // CJMC='胶印车间';
|
|
|
- // FacilityProduction(addr);
|
|
|
- ElMessage({
|
|
|
- type: 'error',
|
|
|
- message: '未获取到机台编号请确认MAC地址或与管理员联系'
|
|
|
- })
|
|
|
- }else{
|
|
|
- // 将接口返回的数据添加到树型结构中
|
|
|
- let newNode = {
|
|
|
- label: response.data["使用部门"],
|
|
|
- level: 1,
|
|
|
- children: [
|
|
|
- {
|
|
|
- label: response.data["设备编号"],
|
|
|
- level: 2,
|
|
|
- }
|
|
|
- ]
|
|
|
- };
|
|
|
- treeData.value.push(newNode);
|
|
|
- CJMC=newNode.label
|
|
|
- JTMC = newNode.children[0].label;
|
|
|
- formData.value.机台号=JTMC
|
|
|
- // console.log('【'+MAC.value+'/'+JTMC+'】')
|
|
|
- FacilityProduction(addr);
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
-const MAC=ref()
|
|
|
-const GetAddr = () => {
|
|
|
- var xmlhttp = null;
|
|
|
- var res;
|
|
|
- if (window.XMLHttpRequest) {
|
|
|
- xmlhttp = new XMLHttpRequest();
|
|
|
- } else if (window.ActiveXObject) {
|
|
|
- xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
|
|
|
- }
|
|
|
- // 2. 设置回调函数
|
|
|
- xmlhttp.onreadystatechange = function() {
|
|
|
- if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
|
|
|
- res = eval('('+xmlhttp.response+')');
|
|
|
- let result = ''
|
|
|
- for (let i = 0; i < res.macAddress.length; i++) {
|
|
|
- if (i % 2 === 0 && i !== 0) {
|
|
|
- result += '-' // 根据实际需求修改分隔符
|
|
|
- }
|
|
|
- result += res.macAddress[i]
|
|
|
- }
|
|
|
- MAC.value=result
|
|
|
- GetMachineMac(result)
|
|
|
- }
|
|
|
- }
|
|
|
- // 3. 打开一个连接http://10.10.4.42/
|
|
|
- xmlhttp.open("get", "http://127.0.0.1:8090/init")
|
|
|
- // 5. 发送
|
|
|
- xmlhttp.send();
|
|
|
-}
|
|
|
-GetAddr()
|
|
|
-//提交巡查记录
|
|
|
-const SubmitPatrolRecord = async () => {
|
|
|
- console.log(JTMC.split("#")[0])
|
|
|
- const response = await submitPatrolRecord({
|
|
|
- type:'现场巡查记录',
|
|
|
- machine:JTMC.split("#")[0],
|
|
|
- order:xunchaData.value.order,
|
|
|
- yjno:xunchaData.value.yjno,
|
|
|
- process:xunchaData.value.lcdh,
|
|
|
- no:xunchaData.value.sczl_bh,
|
|
|
- name:xunchaData.value.sczl_name,
|
|
|
- remark:xunchaData.value.remark,
|
|
|
- });
|
|
|
- console.log(response)
|
|
|
- if (response.code === 0) {
|
|
|
- ElMessage({
|
|
|
- type: 'success',
|
|
|
- message: '成功'
|
|
|
- })
|
|
|
- xunchaVisible.value=false
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-
|
|
|
-// let formattedArray
|
|
|
-// 产量单选
|
|
|
-const chanliangSelectionChange = (val) => {
|
|
|
- // if(val.length>0){
|
|
|
- // multipleSelection.value = val
|
|
|
- // const lenth=val.length
|
|
|
- // lastCellValue=val[lenth-1].UniqId
|
|
|
- // console.log(val)
|
|
|
- // val.splice(0, val.length); // 清空 val 数组
|
|
|
- // console.log(lastCellValue)
|
|
|
- // }
|
|
|
- const selectedItems =val
|
|
|
- // 存储batch和st_wlbh的数组
|
|
|
- formData3.value.formattedArray = selectedItems.map(item => `${item.batch}-${item.st_wlbh}`).join(',');
|
|
|
- console.log(formData3.value.formattedArray);
|
|
|
- // console.log(selectedItems)
|
|
|
-}
|
|
|
-const handleybSelectionChange = (val) => {
|
|
|
- yinbanSelection.value = []
|
|
|
- if(val.length>0){
|
|
|
- yinbanSelection.value = val
|
|
|
- }
|
|
|
-}
|
|
|
-//获取设备点检->检验项目
|
|
|
-const FacilityInspectionItem = async (value) => {
|
|
|
- try {
|
|
|
- // 调用接口获取巡检项目数据
|
|
|
- const response = await facilityInspectionItem({ unitName: value ,machine:JTMC.split("#")[0]});
|
|
|
- // 检查接口返回的状态码
|
|
|
- if (response.code === 0) {
|
|
|
- console.log(response)
|
|
|
- dianjianselectData.splice(0, dianjianselectData.length, ...response.data.map(item=>{
|
|
|
- item.notjc=true;
|
|
|
- item.zc=false;
|
|
|
- item.yc=false;
|
|
|
- item.remark=''
|
|
|
- item.unitName=value
|
|
|
- item.team=BZMC.value
|
|
|
- item.machine=JTMC
|
|
|
- return item
|
|
|
- }))
|
|
|
- }
|
|
|
- } catch (error) {
|
|
|
- // 捕获并打印异常
|
|
|
- console.error("获取巡检项目数据出错:" + error);
|
|
|
- return null;
|
|
|
- }
|
|
|
-};
|
|
|
-
|
|
|
-//树形结构单机
|
|
|
-const dianjianselectData = reactive([])
|
|
|
-
|
|
|
-
|
|
|
-const dianjianNodeClick = (node, check, nodeData) => {
|
|
|
-
|
|
|
- // console.log('111')
|
|
|
- if (node.children && node.children.length > 0) {
|
|
|
- // 点击的是父节点,且有子节点
|
|
|
- // 执行相应的父节点单击事件处理逻辑
|
|
|
- // 这里可以添加你想要的处理逻辑,比如展开/折叠节点等
|
|
|
- } else {
|
|
|
- // 点击的是子节点,或者没有子节点
|
|
|
- // 执行相应的子节点单击事件处理逻辑
|
|
|
- FacilityInspectionItem(node.label)
|
|
|
- }
|
|
|
-};
|
|
|
-const category =ref()
|
|
|
-const zhichengNodeClick = (node, check) => {
|
|
|
- if(node.label){
|
|
|
- zhichengstatus.value=true
|
|
|
- category.value=node.label
|
|
|
- processInspectionRecordsItem()
|
|
|
- }
|
|
|
-};
|
|
|
-const processInspectionRecordsItem = async (value) => {
|
|
|
- const response = await ProcessInspectionRecordsItem({ process: xunchaData.value.gxmc });
|
|
|
-
|
|
|
- if (response.code === 0) {
|
|
|
- zhibiaoselectData.value=response.data.首件.指标检验.map(item=>{
|
|
|
- item.notjc=true;
|
|
|
- item.zc=false;
|
|
|
- item.yc=false;
|
|
|
- item.remark=''
|
|
|
- item.category=category.value
|
|
|
- item.workOrder=xunchaData.value.order
|
|
|
- item.yjno=xunchaData.value.yjno
|
|
|
- item.flow=xunchaData.value.lcdh
|
|
|
- item.team=BZMC.value
|
|
|
- item.machine=JTMC.split("#")[0]
|
|
|
- item.selected = '不检测';
|
|
|
- return item
|
|
|
- })
|
|
|
- fujiaselectData.value=response.data.首件.附加.map(item=>{
|
|
|
- item.notjc=true;
|
|
|
- item.workOrder=xunchaData.value.order
|
|
|
- item.yjno=xunchaData.value.yjno
|
|
|
- item.flow=xunchaData.value.lcdh
|
|
|
- item.machine=JTMC.split("#")[0]
|
|
|
- return item
|
|
|
- })
|
|
|
-
|
|
|
- }
|
|
|
-};
|
|
|
-const notjcClick = (val) => {
|
|
|
- try {
|
|
|
- if(val.notjc==false){
|
|
|
- val.zc=false
|
|
|
- val.yc==false
|
|
|
- }else{
|
|
|
- val.zc=true
|
|
|
- val.yc==false
|
|
|
- }
|
|
|
- } catch (error) {
|
|
|
- console.error('An error occurred:', error);
|
|
|
- }
|
|
|
-};
|
|
|
-const zcClick = (val) => {
|
|
|
- try {
|
|
|
- if(val.notjc==false){
|
|
|
- if(val.zc==false){
|
|
|
- val.yc=false
|
|
|
- }else{
|
|
|
- val.yc==true
|
|
|
- }
|
|
|
- }{
|
|
|
- val.zc=true
|
|
|
- }
|
|
|
- } catch (error) {
|
|
|
- console.error('An error occurred:', error);
|
|
|
- }
|
|
|
-};
|
|
|
-const ycClick = (val) => {
|
|
|
- try {
|
|
|
- if(val.notjc==false){
|
|
|
- if(val.yc==false){
|
|
|
- val.zc=false
|
|
|
- }else{
|
|
|
- val.zc=true
|
|
|
- }
|
|
|
- }else{
|
|
|
- val.yc=true
|
|
|
- }
|
|
|
- } catch (error) {
|
|
|
- console.error('An error occurred:', error);
|
|
|
- }
|
|
|
-};
|
|
|
-
|
|
|
-let pandingfangfa=ref()
|
|
|
-//检验项目单击
|
|
|
-const dianjianhandle = async (val, row) => {
|
|
|
- try {
|
|
|
- console.log(val.判定标准);
|
|
|
- pandingfangfa.value = val.判定标准;
|
|
|
- } catch (error) {
|
|
|
- console.error('An error occurred:', error);
|
|
|
- }
|
|
|
-};
|
|
|
-
|
|
|
-const rowClassName = (row, column) => {
|
|
|
- try {
|
|
|
- if (row.unchecked) {
|
|
|
- return 'row-yellow';
|
|
|
- }
|
|
|
- return '';
|
|
|
- } catch (error) {
|
|
|
- console.error('An error occurred:', error);
|
|
|
- return '';
|
|
|
- }
|
|
|
-};
|
|
|
-//点击label获取表格数据
|
|
|
-function duohandleClick(table) {
|
|
|
- console.log(table.props.label)
|
|
|
- if(table.props.label === '设备作业清单'){
|
|
|
- FacilityWorklist();
|
|
|
- }
|
|
|
- if(table.props.label === '班组人员及分配比例'){
|
|
|
- FacilityTeam(JTMC)
|
|
|
- }
|
|
|
- if(table.props.label=='当班产量明细'){
|
|
|
- FacilityDetail()
|
|
|
- zdtreeType.value=true
|
|
|
- }else{
|
|
|
- zdtreeType.value=false
|
|
|
- }
|
|
|
- if(table.props.label === '检验记录'){
|
|
|
- InspectionRecord()
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-// 异步函数,用于获取指定设备的巡检项目,并且将结果格式化为树形结构数据
|
|
|
-const getSpotCheckItem = async (machineName) => {
|
|
|
- try {
|
|
|
- // 调用接口获取巡检项目数据
|
|
|
- const response = await facilitySpotCheckItem({ machine: machineName });
|
|
|
- // 检查接口返回的状态码
|
|
|
- if (response.code === 0) {
|
|
|
- // 构建树形结构数据
|
|
|
- const childrenData = Object.entries(response.data).map(([id, label]) => {
|
|
|
- return {
|
|
|
- id, // 子节点的唯一标识
|
|
|
- label, // 子节点的标签
|
|
|
- children: [] // 初始化子节点数组
|
|
|
- };
|
|
|
- });
|
|
|
-
|
|
|
- // 创建包含父节点的树形结构数据
|
|
|
- const treeData = [{
|
|
|
- id: machineName, // 父节点的唯一标识
|
|
|
- label: machineName, // 父节点的标签
|
|
|
- children: childrenData // 子节点数据
|
|
|
- }];
|
|
|
-
|
|
|
- // 返回构建好的树形结构数据
|
|
|
- return treeData;
|
|
|
- } else {
|
|
|
- // 如果接口返回的状态码不是0,打印错误信息
|
|
|
- console.error("接口返回错误:" + response.msg);
|
|
|
- return null;
|
|
|
- }
|
|
|
- } catch (error) {
|
|
|
- // 捕获并打印异常
|
|
|
- console.error("获取巡检项目数据出错:" + error);
|
|
|
- return null;
|
|
|
- }
|
|
|
-};
|
|
|
-
|
|
|
-// 班组人员及分配比例
|
|
|
-const FacilityTeam = async (value) => {
|
|
|
- console.log('班组人员及分配比例:'+value)
|
|
|
- if (!value.endsWith('#')) {
|
|
|
- value += '#';
|
|
|
- }
|
|
|
- const response = await facilityTeam({ machine: value });
|
|
|
- if (response.code === 0) {
|
|
|
- // 清空 bzData 数组
|
|
|
- bzData.splice(0, bzData.length);
|
|
|
- response.data.map(item=>{
|
|
|
- if(formData.value['班组Id']==item.ID){
|
|
|
- currentBz.value=item
|
|
|
- formDatas.value = {};
|
|
|
- let sczl_bhkey = ''
|
|
|
- let sczl_namekey = ''
|
|
|
- let percentagekey = ''
|
|
|
- if (currentBz.value[9]) {
|
|
|
- for (let i = 1; i <= 10; i++) {
|
|
|
- sczl_bhkey = `code${i}`
|
|
|
- sczl_namekey = `name${i}`
|
|
|
- percentagekey = `percentage${i}`
|
|
|
- formDatas.value[sczl_bhkey] = '';
|
|
|
- formDatas.value[sczl_namekey] = '';
|
|
|
- formDatas.value[percentagekey] = '';
|
|
|
- }
|
|
|
- formDatas.value.code8 = currentBz.value[9].split(' ')[0];
|
|
|
- formDatas.value.name8 = currentBz.value[9].split(' ')[1]
|
|
|
- formDatas.value.percentage8 = parseFloat(currentBz.value[9].split(' ')[2].split('(')[1].split(')')[0])/100
|
|
|
- for (let i = 1; i <= Math.min(Object.keys(currentBz.value).length - 4, 6); i++) {
|
|
|
- sczl_bhkey = `code${i}`
|
|
|
- sczl_namekey = `name${i}`
|
|
|
- percentagekey = `percentage${i}`
|
|
|
- formDatas.value[sczl_bhkey] = currentBz.value[i - 1].split(' ')[0];
|
|
|
- formDatas.value[sczl_namekey] = currentBz.value[i - 1].split(' ')[1];
|
|
|
- if(isNaN(parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0]))){
|
|
|
- formDatas.value[percentagekey] = currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0];
|
|
|
- }else{
|
|
|
- formDatas.value[percentagekey] = parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0])/100;
|
|
|
- }
|
|
|
- }
|
|
|
- } else {
|
|
|
- for (let i = 1; i <= 10; i++) {
|
|
|
- sczl_bhkey = `code${i}`
|
|
|
- sczl_namekey = `name${i}`
|
|
|
- percentagekey = `percentage${i}`
|
|
|
- formDatas.value[sczl_bhkey] = '';
|
|
|
- formDatas.value[sczl_namekey] = '';
|
|
|
- formDatas.value[percentagekey] = '';
|
|
|
- }
|
|
|
- for (let i = 1; i <= Math.min(Object.keys(currentBz.value).length - 3, 6); i++) {
|
|
|
- sczl_bhkey = `code${i}`
|
|
|
- sczl_namekey = `name${i}`
|
|
|
- percentagekey = `percentage${i}`
|
|
|
- formDatas.value[sczl_bhkey] = currentBz.value[i - 1].split(' ')[0];
|
|
|
- formDatas.value[sczl_namekey] = currentBz.value[i - 1].split(' ')[1];
|
|
|
- if(isNaN(parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0]))){
|
|
|
- formDatas.value[percentagekey] = currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0];
|
|
|
- }else{
|
|
|
- formDatas.value[percentagekey] = parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0])/100;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- // console.log(formDatas)
|
|
|
- }
|
|
|
- })
|
|
|
- // 遍历接口返回的数据,并给每个对象添加 JTMC 属性
|
|
|
- const updatedData = response.data.map(item => {
|
|
|
- return { ...item, JTMC: value }; // 添加 JTMC 属性
|
|
|
- });
|
|
|
- FPData.splice(0, FPData.length, ...updatedData)
|
|
|
- // 将更新后的数据添加到 bzData 数组
|
|
|
- bzData.push(...updatedData);
|
|
|
- }
|
|
|
-};
|
|
|
-//班组维护
|
|
|
-function onBZ() {
|
|
|
- FacilityTeam(JTMC)
|
|
|
- fetchData()
|
|
|
- detailShow.value=true
|
|
|
-}
|
|
|
-
|
|
|
-
|
|
|
-// 下拉框选项数据
|
|
|
- const dropdownOptions = ref([]);
|
|
|
- // 选中的选项
|
|
|
- const selectedOption = ref('');
|
|
|
- // 获取接口数据并转换为下拉框需要的格式
|
|
|
-const fetchData = async () => {
|
|
|
- try {
|
|
|
- // Simulate API call
|
|
|
- const response = await facilityMachineList();
|
|
|
- if (response.code === 0) {
|
|
|
- // Transform data format
|
|
|
- const options = response.data.map((item) => ({
|
|
|
- label: item,
|
|
|
- value: item
|
|
|
- }));
|
|
|
- dropdownOptions.value = options;
|
|
|
-
|
|
|
- // Default to selecting the first option
|
|
|
- const defaultOption = options.find(option => option.value.split('|')[0] === JTMC);
|
|
|
- if (defaultOption) {
|
|
|
- selectedOption.value = defaultOption.value;
|
|
|
- } else if (options.length > 0) {
|
|
|
- // 如果 myDefaultValue 不在选项中,选择第一个选项
|
|
|
- selectedOption.value = options[0].value;
|
|
|
- }
|
|
|
- }
|
|
|
- } catch (error) {
|
|
|
- console.error('Error fetching data:', error);
|
|
|
- // Handle the error appropriately
|
|
|
- }
|
|
|
-};
|
|
|
-// formData
|
|
|
-let BZMC=ref()
|
|
|
-let lastCellValue=ref()
|
|
|
-let parts =reactive([])
|
|
|
-const formData3= ref({
|
|
|
- order:'',
|
|
|
- yjno:'',
|
|
|
- gxh:'',
|
|
|
- gxmc:'',
|
|
|
- product_name:'',
|
|
|
- yj_name:'',
|
|
|
- gy_name:'',
|
|
|
- sczl_jtbh:'',
|
|
|
- sczl_bzdh:'',
|
|
|
- sys_id:'',
|
|
|
- sys_rq:'',
|
|
|
- mod_rq:'',
|
|
|
- UniqId:'',
|
|
|
- sczl_bh1:'',
|
|
|
- sczl_bh2:'',
|
|
|
- sczl_bh3:'',
|
|
|
- sczl_bh4:'',
|
|
|
- sczl_bh5:'',
|
|
|
- sczl_bh6:'',
|
|
|
- sczl_bh7:'',
|
|
|
- sczl_bh8:'',
|
|
|
- sczl_bh9:'',
|
|
|
- sczl_bh10:'',
|
|
|
- sczl_bh11:'',
|
|
|
- sczl_name1:'',
|
|
|
- sczl_name2:'',
|
|
|
- sczl_name3:'',
|
|
|
- sczl_name4:'',
|
|
|
- sczl_name5:'',
|
|
|
- sczl_name6:'',
|
|
|
- sczl_name7:'',
|
|
|
- sczl_name8:'',
|
|
|
- sczl_name9:'',
|
|
|
- sczl_name10:'',
|
|
|
- sczl_name11:'',
|
|
|
- sczl_rate1:'',
|
|
|
- sczl_rate2:'',
|
|
|
- sczl_rate3:'',
|
|
|
- sczl_rate4:'',
|
|
|
- sczl_rate5:'',
|
|
|
- sczl_rate6:'',
|
|
|
- sczl_rate7:'',
|
|
|
- sczl_rate8:'',
|
|
|
- sczl_rate9:'',
|
|
|
- sczl_rate10:'',
|
|
|
- 日期:'',
|
|
|
- 流程标牌:'',
|
|
|
- 上机时间:'',
|
|
|
- 下机时间:'',
|
|
|
- 产量:'',
|
|
|
- 制程废品:'',
|
|
|
- 制程次品:'',
|
|
|
- 前工序废:'',
|
|
|
- 来料异常:'',
|
|
|
- Gy0_ms:'',
|
|
|
- Gy0_ls:'',
|
|
|
- 装版总工时:'',
|
|
|
- 打样总工时:'',
|
|
|
- 通电工时:'',
|
|
|
- 定额代号:'',
|
|
|
- 码包:'',
|
|
|
- 主电表:'',
|
|
|
- 辅电表:'',
|
|
|
- formattedArray:'',
|
|
|
-})
|
|
|
-// 自动化生成的字典(可能为空)以及字段
|
|
|
-const formData= ref({
|
|
|
- // 工单编号:'',
|
|
|
- // 印件号:'',
|
|
|
- // 工序名称:'',
|
|
|
- // 产品名称:'',
|
|
|
- // sczl_bh1:'',
|
|
|
- // sczl_bh2:'',
|
|
|
- // sczl_bh3:'',
|
|
|
- // sczl_bh4:'',
|
|
|
- // sczl_bh5:'',
|
|
|
- // sczl_bh6:'',
|
|
|
- // sczl_bh7:'',
|
|
|
- // sczl_bh8:'',
|
|
|
- // sczl_bh9:'',
|
|
|
- // sczl_bh10:'',
|
|
|
- // sczl_name1:'',
|
|
|
- // sczl_name2:'',
|
|
|
- // sczl_name3:'',
|
|
|
- // sczl_name4:'',
|
|
|
- // sczl_name5:'',
|
|
|
- // sczl_name6:'',
|
|
|
- // sczl_name7:'',
|
|
|
- // sczl_name8:'',
|
|
|
- // sczl_name9:'',
|
|
|
- // sczl_name10:'',
|
|
|
- // 班组:'',
|
|
|
- // order:'',
|
|
|
- // yjno:'',
|
|
|
- // product_name:'',
|
|
|
- // gxmc:'',
|
|
|
-})
|
|
|
-const formDatasData= reactive([])
|
|
|
-
|
|
|
-const formDatas = ref({
|
|
|
- code1:'',
|
|
|
- code2:'',
|
|
|
- code3:'',
|
|
|
- code4:'',
|
|
|
- code5:'',
|
|
|
- code6:'',
|
|
|
- code7:'',
|
|
|
- code8:'',
|
|
|
- code9:'',
|
|
|
- code10:'',
|
|
|
- name1:'',
|
|
|
- name2:'',
|
|
|
- name3:'',
|
|
|
- name4:'',
|
|
|
- name5L:'',
|
|
|
- name6:'',
|
|
|
- name7:'',
|
|
|
- name8:'',
|
|
|
- name9:'',
|
|
|
- name10:'',
|
|
|
- percentage1:'',
|
|
|
- percentage2:'',
|
|
|
- percentage3:'',
|
|
|
- percentage4:'',
|
|
|
- percentage5:'',
|
|
|
- percentage6:'',
|
|
|
- percentage7:'',
|
|
|
- percentage8:'',
|
|
|
- percentage9:'',
|
|
|
- percentage10:'',
|
|
|
-})
|
|
|
-
|
|
|
-const currentBz ={}
|
|
|
-//班组单击
|
|
|
-const BZhandle = (val) => {
|
|
|
- currentBz.value = val
|
|
|
- formDatas.value = {};
|
|
|
- let sczl_bhkey = ''
|
|
|
- let sczl_namekey = ''
|
|
|
- let percentagekey = ''
|
|
|
- if (currentBz.value[9]) {
|
|
|
- for (let i = 1; i <= 9; i++) {
|
|
|
- sczl_bhkey = `code${i}`
|
|
|
- sczl_namekey = `name${i}`
|
|
|
- percentagekey = `percentage${i}`
|
|
|
- formDatas.value[sczl_bhkey] = '';
|
|
|
- formDatas.value[sczl_namekey] = '';
|
|
|
- formDatas.value[percentagekey] = '';
|
|
|
- }
|
|
|
- formDatas.value.code8 = currentBz.value[9].split(' ')[0];
|
|
|
- formDatas.value.name8 = currentBz.value[9].split(' ')[1]
|
|
|
- formDatas.value.percentage8 = parseFloat(currentBz.value[9].split(' ')[2].split('(')[1].split(')')[0])/100
|
|
|
- for (let i = 1; i <= Math.min(Object.keys(currentBz.value).length - 5, 6); i++) {
|
|
|
- sczl_bhkey = `code${i}`
|
|
|
- sczl_namekey = `name${i}`
|
|
|
- percentagekey = `percentage${i}`
|
|
|
- formDatas.value[sczl_bhkey] = currentBz.value[i - 1].split(' ')[0];
|
|
|
- formDatas.value[sczl_namekey] = currentBz.value[i - 1].split(' ')[1];
|
|
|
- if(isNaN(parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0]))){
|
|
|
- formDatas.value[percentagekey] = currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0];
|
|
|
- }else{
|
|
|
- formDatas.value[percentagekey] = parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0])/100;
|
|
|
- }
|
|
|
- }
|
|
|
- } else {
|
|
|
- for (let i = 1; i <= 10; i++) {
|
|
|
- sczl_bhkey = `code${i}`
|
|
|
- sczl_namekey = `name${i}`
|
|
|
- percentagekey = `percentage${i}`
|
|
|
- formDatas.value[sczl_bhkey] = '';
|
|
|
- formDatas.value[sczl_namekey] = '';
|
|
|
- formDatas.value[percentagekey] = '';
|
|
|
- }
|
|
|
- for (let i = 1; i <= Math.min(Object.keys(currentBz.value).length - 4, 6); i++) {
|
|
|
- sczl_bhkey = `code${i}`
|
|
|
- sczl_namekey = `name${i}`
|
|
|
- percentagekey = `percentage${i}`
|
|
|
- formDatas.value[sczl_bhkey] = currentBz.value[i - 1].split(' ')[0];
|
|
|
- formDatas.value[sczl_namekey] = currentBz.value[i - 1].split(' ')[1];
|
|
|
- if(isNaN(parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0]))){
|
|
|
- formDatas.value[percentagekey] = currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0];
|
|
|
- }else{
|
|
|
- formDatas.value[percentagekey] = parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0])/100;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- // console.log(formDatas)
|
|
|
- // for (const key in val) {
|
|
|
- // if (val[key] === 0) {
|
|
|
- // break;
|
|
|
- // }
|
|
|
- // const parts = val[key].split(/[\s()]+/);
|
|
|
- // const code = parts[0];
|
|
|
- // const name = parts[1];
|
|
|
- // const percentage = parts[2];
|
|
|
- //
|
|
|
- // // 根据索引填充不同的字段
|
|
|
- // const index = parseInt(key) + 1; // 索引从1开始
|
|
|
- // formDatas.value['code' + index] = code;
|
|
|
- // formDatas.value['name' + index] = name;
|
|
|
- // formDatas.value['percentage' + index] = percentage;
|
|
|
- BZMC.value=val.班组号
|
|
|
- // }
|
|
|
-};
|
|
|
-//机台班组维护新增按钮
|
|
|
-const addBz = async() => {
|
|
|
- // console.log(selectedOption.value)
|
|
|
- console.log("机台编号"+selectedOption.value.split('|')[0])
|
|
|
- console.log("班组编号"+BZMC.value)
|
|
|
- console.log(formDatas.value.code1)
|
|
|
- if(formDatas.value.code1 === '' || formDatas.value.code1 === null){
|
|
|
- ElMessage({
|
|
|
- type: 'warning',
|
|
|
- message: '组员为空请添加组员'
|
|
|
- })
|
|
|
- }else{
|
|
|
- // 班组维护->班组添加【接口】
|
|
|
- const response = await MachineTeamAdd({
|
|
|
- sczl_jtbh: selectedOption.value.split('|')[0],
|
|
|
- sczl_bzdh: BZMC.value,
|
|
|
- sczl_bh1: formDatas.value.code1,
|
|
|
- sczl_bh2: formDatas.value.code2,
|
|
|
- sczl_bh3: formDatas.value.code3,
|
|
|
- sczl_bh4: formDatas.value.code4,
|
|
|
- sczl_bh5: formDatas.value.code5,
|
|
|
- sczl_bh6: formDatas.value.code6,
|
|
|
- sczl_bh7: formDatas.value.code7,
|
|
|
- sczl_bh8: formDatas.value.code10,
|
|
|
- sczl_bh9: formDatas.value.code9,
|
|
|
- sczl_bh10: formDatas.value.code8,
|
|
|
- sczl_rate1: formDatas.value.percentage1,
|
|
|
- sczl_rate2: formDatas.value.percentage2,
|
|
|
- sczl_rate3: formDatas.value.percentage3,
|
|
|
- sczl_rate4: formDatas.value.percentage4,
|
|
|
- sczl_rate5: formDatas.value.percentage5,
|
|
|
- sczl_rate6: formDatas.value.percentage6,
|
|
|
- sczl_rate7: formDatas.value.percentage7,
|
|
|
- sczl_rate8: formDatas.value.percentage10,
|
|
|
- sczl_rate9: formDatas.value.percentage9,
|
|
|
- sczl_rate10: formDatas.value.percentage8,
|
|
|
- sys_id: '【'+MAC.value+'/'+JTMC+'】'
|
|
|
- })
|
|
|
- if (response.code === 0) {
|
|
|
- FacilityProduction()
|
|
|
- ElMessage({ type: 'success',message: '成功' });
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- // console.log("新增班组刷新")
|
|
|
- // console.log(BZMC.value)
|
|
|
- // const facilityTeamlist = await facilityTeam({ machine:BZMC.value});
|
|
|
- // if (facilityTeamlist.code === 0) {
|
|
|
- // // 清空 bzData 数组
|
|
|
- // bzData.splice(0, bzData.length);
|
|
|
- // facilityTeamlist.data.map(item=>{
|
|
|
- // if(formData.value['班组Id']==item.ID){
|
|
|
- // currentBz.value=item
|
|
|
- // formDatas.value = {};
|
|
|
- // let sczl_bhkey = ''
|
|
|
- // let sczl_namekey = ''
|
|
|
- // let percentagekey = ''
|
|
|
- // if (currentBz.value[9]) {
|
|
|
- // for (let i = 1; i <= 10; i++) {
|
|
|
- // sczl_bhkey = `code${i}`
|
|
|
- // sczl_namekey = `name${i}`
|
|
|
- // percentagekey = `percentage${i}`
|
|
|
- // formDatas.value[sczl_bhkey] = '';
|
|
|
- // formDatas.value[sczl_namekey] = '';
|
|
|
- // formDatas.value[percentagekey] = '';
|
|
|
- // }
|
|
|
- // formDatas.value.code8 = currentBz.value[9].split(' ')[0];
|
|
|
- // formDatas.value.name8 = currentBz.value[9].split(' ')[1]
|
|
|
- // formDatas.value.percentage8 = parseFloat(currentBz.value[9].split(' ')[2].split('(')[1].split(')')[0])/100
|
|
|
- // for (let i = 1; i <= Math.min(Object.keys(currentBz.value).length - 4, 6); i++) {
|
|
|
- // sczl_bhkey = `code${i}`
|
|
|
- // sczl_namekey = `name${i}`
|
|
|
- // percentagekey = `percentage${i}`
|
|
|
- // formDatas.value[sczl_bhkey] = currentBz.value[i - 1].split(' ')[0];
|
|
|
- // formDatas.value[sczl_namekey] = currentBz.value[i - 1].split(' ')[1];
|
|
|
- // if(isNaN(parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0]))){
|
|
|
- // formDatas.value[percentagekey] = currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0];
|
|
|
- // }else{
|
|
|
- // formDatas.value[percentagekey] = parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0])/100;
|
|
|
- // }
|
|
|
- // }
|
|
|
- // } else {
|
|
|
- // for (let i = 1; i <= 10; i++) {
|
|
|
- // sczl_bhkey = `code${i}`
|
|
|
- // sczl_namekey = `name${i}`
|
|
|
- // percentagekey = `percentage${i}`
|
|
|
- // formDatas.value[sczl_bhkey] = '';
|
|
|
- // formDatas.value[sczl_namekey] = '';
|
|
|
- // formDatas.value[percentagekey] = '';
|
|
|
- // }
|
|
|
- // for (let i = 1; i <= Math.min(Object.keys(currentBz.value).length - 3, 6); i++) {
|
|
|
- // sczl_bhkey = `code${i}`
|
|
|
- // sczl_namekey = `name${i}`
|
|
|
- // percentagekey = `percentage${i}`
|
|
|
- // formDatas.value[sczl_bhkey] = currentBz.value[i - 1].split(' ')[0];
|
|
|
- // formDatas.value[sczl_namekey] = currentBz.value[i - 1].split(' ')[1];
|
|
|
- // if(isNaN(parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0]))){
|
|
|
- // formDatas.value[percentagekey] = currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0];
|
|
|
- // }else{
|
|
|
- // formDatas.value[percentagekey] = parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0])/100;
|
|
|
- // }
|
|
|
- // }
|
|
|
- // }
|
|
|
- // console.log(formDatas)
|
|
|
- // }
|
|
|
- // })
|
|
|
- // // 遍历接口返回的数据,并给每个对象添加 JTMC 属性
|
|
|
- // const updatedData = response.data.map(item => {
|
|
|
- // return { ...item, JTMC: value }; // 添加 JTMC 属性
|
|
|
- // });
|
|
|
- // FPData.splice(0, FPData.length, ...updatedData)
|
|
|
- // // 将更新后的数据添加到 bzData 数组
|
|
|
- // bzData.push(...updatedData);
|
|
|
- // // FPData.push(...updatedData)
|
|
|
- // console.log(FPData)
|
|
|
- // }
|
|
|
-
|
|
|
-}
|
|
|
-//机台班组维护更新当前班组
|
|
|
-const selectBz = async() => {
|
|
|
- // console.log(currentBz.value)
|
|
|
- // return false;
|
|
|
- if(currentBz.value){
|
|
|
- BZMC.value = currentBz.value.班组号
|
|
|
- let sczl_bhkey=''
|
|
|
- let sczl_namekey=''
|
|
|
- // if (currentBz.value) {
|
|
|
- // for (let i = 1; i <= 6; i++) {
|
|
|
- // sczl_bhkey=`sczl_bh${i}`
|
|
|
- // sczl_namekey=`sczl_name${i}`
|
|
|
- // formData.value[sczl_bhkey] = '';
|
|
|
- // formData.value[sczl_namekey] = '';
|
|
|
- // }
|
|
|
- // for (let i = 1; i <= Math.min(Object.keys(currentBz.value).length-4, 6); i++) {
|
|
|
- // sczl_bhkey=`sczl_bh${i}`
|
|
|
- // sczl_namekey=`sczl_name${i}`
|
|
|
- // console.log(currentBz.value[i-1].split(' '))
|
|
|
- // formData.value[sczl_bhkey] = currentBz.value[i-1].split(' ')[0];
|
|
|
- // formData.value[sczl_namekey] = currentBz.value[i-1].split(' ')[1];
|
|
|
- // classbz.value[i-1]=currentBz.value[i-1].split(' ')[0]
|
|
|
- // }
|
|
|
- // formData.value.class=classbz.value.join(',')
|
|
|
- // }
|
|
|
- if (currentBz.value[9]) {
|
|
|
- for (let i = 1; i <= 9; i++) {
|
|
|
- sczl_bhkey=`sczl_bh${i}`
|
|
|
- sczl_namekey=`sczl_name${i}`
|
|
|
- formData.value[sczl_bhkey] = '';
|
|
|
- formData.value[sczl_namekey] = '';
|
|
|
- }
|
|
|
- formData.value.sczl_bh10 = currentBz.value[9].split(' ')[0];
|
|
|
- formData.value.sczl_name10=currentBz.value[9].split(' ')[1]
|
|
|
- for (let i = 1; i <= Math.min(Object.keys(currentBz.value).length-5, 6); i++) {
|
|
|
- sczl_bhkey=`sczl_bh${i}`
|
|
|
- sczl_namekey=`sczl_name${i}`
|
|
|
- console.log(currentBz.value[i-1].split(' '))
|
|
|
- formData.value[sczl_bhkey] = currentBz.value[i-1].split(' ')[0];
|
|
|
- formData.value[sczl_namekey] = currentBz.value[i-1].split(' ')[1];
|
|
|
- classbz.value[i-1]=currentBz.value[i-1].split(' ')[0]
|
|
|
- }
|
|
|
- classbz.value.push(currentBz.value[9].split(' ')[0])
|
|
|
- formData.value.class=classbz.value.join(',')
|
|
|
- console.log(formData.value)
|
|
|
- }else{
|
|
|
- for (let i = 1; i <= 10; i++) {
|
|
|
- sczl_bhkey=`sczl_bh${i}`
|
|
|
- sczl_namekey=`sczl_name${i}`
|
|
|
- formData.value[sczl_bhkey] = '';
|
|
|
- formData.value[sczl_namekey] = '';
|
|
|
- }
|
|
|
- for (let i = 1; i <= Math.min(Object.keys(currentBz.value).length-4, 6); i++) {
|
|
|
- sczl_bhkey=`sczl_bh${i}`
|
|
|
- sczl_namekey=`sczl_name${i}`
|
|
|
- console.log(currentBz.value[i-1].split(' '))
|
|
|
- formData.value[sczl_bhkey] = currentBz.value[i-1].split(' ')[0];
|
|
|
- formData.value[sczl_namekey] = currentBz.value[i-1].split(' ')[1];
|
|
|
- classbz.value[i-1]=currentBz.value[i-1].split(' ')[0]
|
|
|
- }
|
|
|
- formData.value.class=classbz.value.join(',')
|
|
|
- }
|
|
|
-
|
|
|
-// console.log(formData)
|
|
|
-// console.log(formData)
|
|
|
-// console.log(formData)
|
|
|
-
|
|
|
-
|
|
|
- const response = await setMachineTeam({
|
|
|
- machine: JTMC.split("#")[0],
|
|
|
- order:formData.value.工单编号,
|
|
|
- yjno:formData.value.印件号,
|
|
|
- gy_name:formData.value.工序名称,
|
|
|
- sczl_bzdh:BZMC.value,
|
|
|
- status:'生产',
|
|
|
- production_now:0,
|
|
|
- production_all:0,
|
|
|
- team_id:currentBz.value.ID
|
|
|
- })
|
|
|
- if(response.code===0){
|
|
|
- detailShow.value = false
|
|
|
- ElMessage({type: 'success',message: '成功'})
|
|
|
- FacilityProduction()
|
|
|
- }
|
|
|
- // currentBz.value={}
|
|
|
- }
|
|
|
-}
|
|
|
-const delBz = async() => {
|
|
|
- const UniqId = currentBz.value.ID
|
|
|
- if(currentBz.value){
|
|
|
- ElMessageBox.confirm('确定要删除吗?', '提示', {
|
|
|
- confirmButtonText: '确定',
|
|
|
- cancelButtonText: '取消',
|
|
|
- type: 'warning'
|
|
|
- }).then(() => {
|
|
|
- console.log(UniqId)
|
|
|
- const response = teamDel({UniqId:UniqId})
|
|
|
- response.then(result => {
|
|
|
- if(result.code===0){
|
|
|
- ElMessage({type: 'success',message: '成功'})
|
|
|
- console.log(response)
|
|
|
- FacilityProduction()
|
|
|
- }
|
|
|
- });
|
|
|
- })
|
|
|
- currentBz.value={}
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-// ============== 表格控制部分结束 ===============
|
|
|
-// 获取需要的字典 可能为空 按需保留
|
|
|
-const setOptions = async () =>{}
|
|
|
-// 获取需要的字典 可能为空 按需保留
|
|
|
-setOptions()
|
|
|
-
|
|
|
-// 多选数据
|
|
|
-const multipleSelection = ref([])
|
|
|
-const yinbanSelection = ref([])
|
|
|
-// 多选
|
|
|
-const handleSelectionChange = (val) => {
|
|
|
- multipleSelection.value = val
|
|
|
-}
|
|
|
-const zdtreeType = ref(false)
|
|
|
-const selectData = ref([])
|
|
|
-const showsTable = (val,tab) => {}
|
|
|
-// 点击showTable 行数据时出发点击事件
|
|
|
-const showTable = (val,tab) => {
|
|
|
-}
|
|
|
-
|
|
|
-// 删除行
|
|
|
-const deleteRow = (row) => {
|
|
|
- ElMessageBox.confirm('确定要删除吗?', '提示', {
|
|
|
- confirmButtonText: '确定',
|
|
|
- cancelButtonText: '取消',
|
|
|
- type: 'warning'
|
|
|
- }).then(() => {
|
|
|
- deleteCompanyFunc(row)
|
|
|
- })
|
|
|
-}
|
|
|
-
|
|
|
-// 批量删除控制标记
|
|
|
-const deleteVisible = ref(false)
|
|
|
-// 多选删除
|
|
|
-const onDelete = async() => {
|
|
|
- const ids = []
|
|
|
- if (multipleSelection.value.length === 0) {
|
|
|
- ElMessage({type: 'warning',message: '请选择要删除的数据'})
|
|
|
- return
|
|
|
- }
|
|
|
- multipleSelection.value &&
|
|
|
- multipleSelection.value.map(item => {
|
|
|
- ids.push(item.ID)
|
|
|
- })
|
|
|
- const res = await deleteCompanyByIds({ ids })
|
|
|
- if (res.code === 0) {
|
|
|
- ElMessage({type: 'success', message: '删除成功'})
|
|
|
- if (tableData.value.length === ids.length && page.value > 1) {
|
|
|
- page.value--
|
|
|
- }
|
|
|
- deleteVisible.value = false
|
|
|
- getTableData()
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-// 行为控制标记(弹窗内部需要增还是改)
|
|
|
-const type = ref('')
|
|
|
-
|
|
|
-// 更新行
|
|
|
-const updateCompanyFunc = async(row) => {
|
|
|
- const res = await findCompany({ ID: row.ID })
|
|
|
- type.value = 'update'
|
|
|
- if (res.code === 0) {
|
|
|
- formData.value = res.data.recompany
|
|
|
- dialogFormVisible.value = true
|
|
|
- }
|
|
|
-}
|
|
|
-const rowws = ref(null)
|
|
|
-const wangongbh = ref(null)
|
|
|
-//设备作业清单单机
|
|
|
-const yjupdateCompanyFunc = async(row) => {
|
|
|
- console.log(row)
|
|
|
- rowws.value = row
|
|
|
- wangongbh.value = row['工单编号|质量信息'].replace(/\|$/, '')
|
|
|
- console.log("通过 "+row['工单编号|质量信息'].replace(/\|$/, '')+" 获取右上角数据↓↓↓↓↓")
|
|
|
- const res = await Procedure({ Gd_gdbh: row['工单编号|质量信息'].replace(/\|$/, '') })
|
|
|
- console.log(res)
|
|
|
- selectData.value = res.data;
|
|
|
-}
|
|
|
-//设备作业清单右键
|
|
|
-const yjonRightClick = async(row) => {
|
|
|
- console.log(rowws.value)
|
|
|
- if(rowws.value === null || rowws.value === ''){
|
|
|
- ElMessage({type: 'warning',message: '请选择 设备作业清单工单后,再操作此功能' })
|
|
|
- }else{
|
|
|
- ElMessageBox.confirm('确定切换当前工单为工作工单吗?', '提示', {
|
|
|
- confirmButtonText: '确定',
|
|
|
- cancelButtonText: '取消',
|
|
|
- type: 'warning'
|
|
|
- }).then(() => {
|
|
|
- location.reload();
|
|
|
- setMachineTeams(rowws.value)
|
|
|
- })
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-const setMachineTeams = async(row) => {
|
|
|
- const res = await setMachineTeam({
|
|
|
- machine: JTMC.split("#")[0],
|
|
|
- order:row['工单编号|质量信息'].split('|')[0],
|
|
|
- yjno:row['印件资料'].split('-')[0],
|
|
|
- gy_name:row['工序名称'],
|
|
|
- sczl_bzdh:BZMC.value,
|
|
|
- status:'生产',
|
|
|
- production_now:0,
|
|
|
- production_all:0,
|
|
|
- team_id:formData.value.班组Id
|
|
|
- })
|
|
|
- MachineWorkOrderEdits(row)
|
|
|
- if (res.code === 0) {
|
|
|
- ElMessage({
|
|
|
- type: 'success',
|
|
|
- message: '成功'
|
|
|
- })
|
|
|
- }
|
|
|
-}
|
|
|
-const MachineWorkOrderEdits = async(row) => {
|
|
|
- const res = await MachineWorkOrderEdit({
|
|
|
- UniqId:row.UniqId,
|
|
|
- machine: JTMC,
|
|
|
- })
|
|
|
- console.log(res)
|
|
|
- if (res.code === 0) {
|
|
|
- SetMachineStatus(row)
|
|
|
- }
|
|
|
-}
|
|
|
-//设置机台状态
|
|
|
-const SetMachineStatus = async (row) => {
|
|
|
- let classString = '';
|
|
|
- const sczl_bh_values = [formData.value.sczl_bh1, formData.value.sczl_bh2, formData.value.sczl_bh3, formData.value.sczl_bh4, formData.value.sczl_bh5, formData.value.sczl_bh6];
|
|
|
- for (let i = 0; i < sczl_bh_values.length; i++) {
|
|
|
- if (sczl_bh_values[i]) {
|
|
|
- classString += sczl_bh_values[i] + ',';
|
|
|
- }
|
|
|
- }
|
|
|
- // 去除最后一个逗号
|
|
|
- classString = classString.slice(0, -1);
|
|
|
-
|
|
|
- console.log("获取"+row['印件号'])
|
|
|
- // return false;
|
|
|
-
|
|
|
- const response = await setMachineStatus({
|
|
|
- machine: JTMC.split("#")[0],
|
|
|
- order:row['工单编号|质量信息'].split('|')[0],
|
|
|
- yjno:row['印件号'],
|
|
|
- gy_name:row['工序名称'],
|
|
|
- status:'生产',
|
|
|
- production_now:0,
|
|
|
- production_all:0,
|
|
|
- class:classString
|
|
|
- });
|
|
|
- if (response.code === 0) {
|
|
|
- FacilityProduction(JTMC)
|
|
|
- }
|
|
|
-}
|
|
|
-const EquipmentSchedulingEdits = async(row) => {
|
|
|
- const today = new Date();
|
|
|
- const year = today.getFullYear();
|
|
|
- const month = String(today.getMonth() + 1).padStart(2, '0'); // 月份从 0 开始,需要补零
|
|
|
- const day = String(today.getDate()).padStart(2, '0');
|
|
|
- const hours = String(today.getHours()).padStart(2, '0');
|
|
|
- const minutes = String(today.getMinutes()).padStart(2, '0');
|
|
|
- const seconds = String(today.getSeconds()).padStart(2, '0');
|
|
|
- const currentDate = `${year}-${month}-${day}`;
|
|
|
- const currentTime = `${year}-${month}-${day} ${hours}:${minutes}`;
|
|
|
- const currenttime = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
|
|
|
-
|
|
|
- console.log(row)
|
|
|
- const res = await EquipmentSchedulingEdit([{
|
|
|
- capacity:row.工序产能,
|
|
|
- ProductionHours:row.计划工时,
|
|
|
- AuxiliaryHours:row.装版时数,
|
|
|
- shift:row.班组,
|
|
|
- remark:row.排产备注,
|
|
|
- start:row.最早开工时间,
|
|
|
- projectTime:currentTime,
|
|
|
- UniqId:row.UniqId
|
|
|
- }])
|
|
|
- if (res.code === 0) {
|
|
|
- FacilityProduction()
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-// 删除行
|
|
|
-const deleteCompanyFunc = async (row) => {
|
|
|
- const res = await deleteCompany({ ID: row.ID })
|
|
|
- if (res.code === 0) {
|
|
|
- ElMessage({
|
|
|
- type: 'success',
|
|
|
- message: '删除成功'
|
|
|
- })
|
|
|
- if (tableData.value.length === 1 && page.value > 1) {
|
|
|
- page.value--
|
|
|
- }
|
|
|
- getTableData()
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-// 弹窗控制标记
|
|
|
-const dialogFormVisible = ref(false)
|
|
|
-const dianjianVisible = ref(false)
|
|
|
-const zhichengVisible = ref(false)
|
|
|
-// 查看详情控制标记
|
|
|
-const detailShow = ref(false)
|
|
|
-const bzData = reactive([])
|
|
|
-// 打开详情弹窗
|
|
|
-const openDetailShow = () => {
|
|
|
- detailShow.value = true
|
|
|
-}
|
|
|
-
|
|
|
-
|
|
|
-// 打开详情
|
|
|
-const getDetails = async (row) => {
|
|
|
- // 打开弹窗
|
|
|
- const res = await findCompany({ ID: row.ID })
|
|
|
- if (res.code === 0) {
|
|
|
- formData.value = res.data.recompany
|
|
|
- openDetailShow()
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-
|
|
|
-// 关闭详情弹窗
|
|
|
-const closeDetailShow = () => {
|
|
|
- detailShow.value = false
|
|
|
-}
|
|
|
-
|
|
|
-
|
|
|
-// 打开弹窗
|
|
|
-const openDialog = () => {}
|
|
|
-let drzcData=[]
|
|
|
-let columnNames=[]
|
|
|
-//当日制程检验记录
|
|
|
-const FacilityInspect = async () => {
|
|
|
- const response = await facilityInspect({machine:'JY01#',date:'2024-01-04'});
|
|
|
- console.log(response)
|
|
|
- if(response.code==0){
|
|
|
- // 提取 inspectiontime 作为列名
|
|
|
- // Extract inspectiontime as columnNames
|
|
|
- columnNames = response.data.inspectiontime;
|
|
|
-
|
|
|
- // Populate drzcData with row data
|
|
|
- for (const key in response.data) {
|
|
|
- if (key !== 'inspectiontime') {
|
|
|
- const item = response.data[key];
|
|
|
- const rowData = {
|
|
|
- '工单编号': item['工单编号'],
|
|
|
- '印件号': item['印件号'],
|
|
|
- '工序名称': item['工序名称'],
|
|
|
- '检验项目': item['检验项目']
|
|
|
- };
|
|
|
-
|
|
|
- // Initialize time columns with '—'
|
|
|
- columnNames.forEach(time => {
|
|
|
- rowData[time] = '';
|
|
|
- });
|
|
|
-
|
|
|
- // Split inspectresult and fill the corresponding time columns
|
|
|
- const results = item['inspectresult'].split(',');
|
|
|
- results.forEach(result => {
|
|
|
- if (columnNames.includes(result)) {
|
|
|
- rowData[result] = '√';
|
|
|
- }else{rowData[result] = ''}
|
|
|
- });
|
|
|
-
|
|
|
- // Add the row data to drzcData
|
|
|
- drzcData.push(rowData);
|
|
|
- }
|
|
|
- }
|
|
|
- console.log(drzcData);
|
|
|
- }
|
|
|
-}
|
|
|
-// 关闭弹窗
|
|
|
-const closeDialog = () => {
|
|
|
- chanliangVisible.value=false
|
|
|
-}
|
|
|
-const equipmentCode=ref('JY01')
|
|
|
-const equipmentName=ref('海德堡对开')
|
|
|
-const workOrder=ref('2312117')
|
|
|
-const number=ref('1907')
|
|
|
-// 弹窗确定
|
|
|
-const enterDialog = async () => {
|
|
|
- elFormRef.value?.validate( async (valid) => {
|
|
|
- if (!valid) return
|
|
|
- let res
|
|
|
- switch (type.value) {
|
|
|
- case 'create':
|
|
|
- res = await createCompany(formData.value)
|
|
|
- break
|
|
|
- case 'update':
|
|
|
- res = await updateCompany(formData.value)
|
|
|
- break
|
|
|
- default:
|
|
|
- res = await createCompany(formData.value)
|
|
|
- break
|
|
|
- }
|
|
|
- if (res.code === 0) {
|
|
|
- ElMessage({
|
|
|
- type: 'success',
|
|
|
- message: '创建/更改成功'
|
|
|
- })
|
|
|
- closeDialog()
|
|
|
- getTableData()
|
|
|
- }
|
|
|
- })
|
|
|
-}
|
|
|
-
|
|
|
-// const sbzyqdplanUsageCellClass = ({row, column, rowIndex, columnIndex}) =>{
|
|
|
-// if(formData.value['工单编号'] === row['工单编号|质量信息'].split('|')[0]){
|
|
|
-// return 'back-color-row';
|
|
|
-// }
|
|
|
-// }
|
|
|
-// 班组人员及分配比例
|
|
|
-const bzryplanUsageCellClass = ({row, column, rowIndex, columnIndex}) =>{
|
|
|
- if(formData.value['班组Id'] === row.ID){
|
|
|
- return 'back-color-row';
|
|
|
- }
|
|
|
-}
|
|
|
-// 组员及分配比例
|
|
|
-const blplanUsageCellClass = ({row, column, rowIndex, columnIndex}) =>{
|
|
|
- if (column.property === '员工编号' || column.property === 'ygxm') {
|
|
|
- return 'plan-usage-low';
|
|
|
- }
|
|
|
-}
|
|
|
-//设备作业清单 正在生产中 背景颜色
|
|
|
-const sbzyqdsatusCellClass = ({row, column, rowIndex, columnIndex}) =>{
|
|
|
- if (row.status === 1) {
|
|
|
- return 'status-plan-usage-low';
|
|
|
- }
|
|
|
-}
|
|
|
-</script>
|
|
|
-<style scoped>
|
|
|
-/* 设备作业清单 正在生产中 背景颜色 */
|
|
|
-:deep(.status-plan-usage-low ) {
|
|
|
- background: yellow !important;
|
|
|
-}
|
|
|
-
|
|
|
-.JKWTree-container {
|
|
|
- display: flex;
|
|
|
-}
|
|
|
-
|
|
|
-.JKWTree-tree {
|
|
|
- width: 300px;
|
|
|
- background-color: #fff;
|
|
|
- padding: 10px;
|
|
|
- margin-right: 20px;
|
|
|
-}
|
|
|
-
|
|
|
-.JKWTree-tree h3 {
|
|
|
- font-size: 15px;
|
|
|
- font-weight: 700;
|
|
|
- margin: 10px 0;
|
|
|
-}
|
|
|
-
|
|
|
-.JKWTree-content {
|
|
|
- flex: 1;
|
|
|
-}
|
|
|
-.groupbox
|
|
|
- {margin:10px;
|
|
|
- width:500px;
|
|
|
- height:500px;
|
|
|
- border:thin solid black;
|
|
|
- padding:10px}
|
|
|
- .grouptitle
|
|
|
- {display:block;
|
|
|
- margin-top:-24px;
|
|
|
- margin-left:20px;
|
|
|
- width:150px;
|
|
|
- text-align:center;
|
|
|
- background-color:white}
|
|
|
- .gva-search-box{
|
|
|
- font-size:1.5vh;
|
|
|
- color:red;
|
|
|
- font-weight: bold;
|
|
|
- }
|
|
|
- .bt {
|
|
|
- margin-top: 1vh;
|
|
|
- margin-bottom: 10px;
|
|
|
- height: 5vh;
|
|
|
- width: 9vh;
|
|
|
- font-size:1.6vh;
|
|
|
- color:black;
|
|
|
- font-weight: bold;
|
|
|
- }
|
|
|
- .gva-table-box{
|
|
|
- font-size: 15px;
|
|
|
- }
|
|
|
- .red-input input {
|
|
|
- color: red !important;
|
|
|
- }
|
|
|
-
|
|
|
-.buleaa-input input{
|
|
|
- color: red !important;
|
|
|
-}
|
|
|
-
|
|
|
-/*!* 选中某行时的背景色*!font-weight: bold;*/
|
|
|
-:deep(.el-table__body tr.current-row)>td {
|
|
|
- background: #ff80ff !important;
|
|
|
-}
|
|
|
-/*input*/
|
|
|
-::v-deep .el-input__inner {
|
|
|
- color: #000000 !important;
|
|
|
- font-weight: bold;
|
|
|
-}
|
|
|
-::v-deep .el-input__wrapper {
|
|
|
- border: 1px #00000b8f solid !important;
|
|
|
-}
|
|
|
-::v-deep .el-form-item__label {
|
|
|
- color: #000000 !important;
|
|
|
- font-weight: bold;
|
|
|
- font-size: 12px;
|
|
|
-}
|
|
|
-::v-deep .el-tabs__item {
|
|
|
- /*color: #000000 !important;*/
|
|
|
- font-weight: bold;
|
|
|
-}
|
|
|
-::v-deep .el-dialog__headerbtn {
|
|
|
- width: 100px;
|
|
|
- height: 85px;
|
|
|
-}
|
|
|
-::v-deep .el-tabs__item {
|
|
|
- /*background-color: #4d70ff;*/
|
|
|
- /*color: white;*/
|
|
|
-}
|
|
|
-:deep(.plan-usage-low div) {
|
|
|
- color: blue !important;
|
|
|
- font-size: 16px;
|
|
|
- font-weight: bold;
|
|
|
-}
|
|
|
-::v-deep .el-tabs--card > .el-tabs__header .el-tabs__item.is-active {
|
|
|
- color: white; /* 文字颜色 */
|
|
|
- background-color: #4d70ff; /* 背景颜色 */
|
|
|
-}
|
|
|
-/*::v-deep .el-table__header .el-table_2_column_3{*/
|
|
|
-/* border-right: 2px #000000 solid;*/
|
|
|
-/*}*/
|
|
|
-::v-deep .el-table__header .el-table_2_column_3{
|
|
|
- border-right: 2px #000000 solid;
|
|
|
-}
|
|
|
-::v-deep .el-table__header .el-table_2_column_4{
|
|
|
- border-right: 2px #000000 solid;
|
|
|
-}
|
|
|
-::v-deep .el-table__header .el-table_2_column_5{
|
|
|
- border-right: 2px #000000 solid;
|
|
|
-}
|
|
|
-::v-deep .el-table__header .el-table_2_column_6{
|
|
|
- border-right: 2px #000000 solid;
|
|
|
-}
|
|
|
-::v-deep .el-table__header .el-table_2_column_7{
|
|
|
- border-right: 2px #000000 solid;
|
|
|
-}
|
|
|
-::v-deep .el-table__header .el-table_2_column_8{
|
|
|
- border-right: 2px #000000 solid;
|
|
|
-}
|
|
|
-::v-deep .el-table__header .el-table_2_column_9{
|
|
|
- border-right: 2px #000000 solid;
|
|
|
-}
|
|
|
-::v-deep .el-table__header .el-table_2_column_10{
|
|
|
- border-right: 2px #000000 solid;
|
|
|
-}
|
|
|
-::v-deep .el-table__header .el-table_2_column_11{
|
|
|
- border-right: 2px #000000 solid;
|
|
|
-}
|
|
|
-
|
|
|
-/*::v-deep .el-table_2_column_3{*/
|
|
|
-/* border-right: 1px #000000 solid;*/
|
|
|
-/*}*/
|
|
|
-/*::v-deep .el-table_2_column_4{*/
|
|
|
-/* border-right: 1px #000000 solid;*/
|
|
|
-/*}*/
|
|
|
-:deep(.plan-usage-low div) {
|
|
|
- color: blue !important;
|
|
|
- font-size: 16px;
|
|
|
- font-weight: bold;
|
|
|
-}
|
|
|
-
|
|
|
-</style>
|