|
@@ -0,0 +1,3245 @@
|
|
|
|
|
+<template>
|
|
|
|
|
+ <div>
|
|
|
|
|
+ <layout>
|
|
|
|
|
+ <layout-header>
|
|
|
|
|
+ <div class="">
|
|
|
|
|
+ <!-- 按钮部分-->
|
|
|
|
|
+ <el-form ref="elSearchFormRef" class="demo-form-inline" :rules="searchRule" >
|
|
|
|
|
+ <el-form-item>
|
|
|
|
|
+ <!-- <el-input v-model="searchInfo" placeholder="搜索工单编号" clearable style="width: 200px;margin: 5px"></el-input> -->
|
|
|
|
|
+ <el-button type="primary" size="large" class="bt" style="color:white;font-size: 16px;font-weight: bold;width: 90px" @click="onchanliang" v-if="zdtreeType === true" >日产量上报</el-button>
|
|
|
|
|
+ <el-button type="primary" class="bt" @click="openRoleDialog" v-if="AddType === true">糊盒角色</el-button>
|
|
|
|
|
+ <el-button type="primary" class="bt" @click="openTeamDialog" v-if="AddType === true">糊盒班组</el-button>
|
|
|
|
|
+ <!-- <el-button type="primary" class="bt" icon="download" @click="hzToExcel" >导出到Excel(汇总)</el-button>
|
|
|
|
|
+ <el-button type="primary" class="bt" icon="download" @click="mxToExcel" >导出到Excel(明细)</el-button> -->
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-form>
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </layout-header>
|
|
|
|
|
+
|
|
|
|
|
+ <layout>
|
|
|
|
|
+ <!-- 左侧树侧形结构-->
|
|
|
|
|
+ <layout-sider :resize-directions="['right']" :width="220" style="margin-right: 10px;" >
|
|
|
|
|
+ <div class="JKWTree-tree" style="height: 70vh;" >
|
|
|
|
|
+ <h3>设备运行跟踪</h3>
|
|
|
|
|
+ <el-tree :data="treeData" class="treecolor" highlight-current @node-click="handleNodeClick" />
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </layout-sider>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 右侧区域 -->
|
|
|
|
|
+ <layout-content >
|
|
|
|
|
+ <el-main>
|
|
|
|
|
+ <div class="button-container" v-if="showbutton" style="height: 50%;width: 100%; flex: 1; border: 0px magenta solid; margin: 0; padding: 0;">
|
|
|
|
|
+ <button v-for="(item, index) in machineData" :key="index" class="custom-button" @click="handleButtonClick(item.设备编号)">
|
|
|
|
|
+ <img :src="`/src/assets/${item.状态}.png`" :alt="altText" style="max-width: 100%; height: auto;"/>
|
|
|
|
|
+ <span style="margin-top: 8px;">{{ item.设备编号 + ' - ' + item.设备名称 }}</span>
|
|
|
|
|
+ </button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="gva-search-box" v-if="JTMCOn" style="overflow: hidden; padding: 0; display: flex;">
|
|
|
|
|
+ <div style="flex: 1; border: 0px magenta solid; margin: 0; padding: 0;">
|
|
|
|
|
+
|
|
|
|
|
+ <el-row :gutter="20">
|
|
|
|
|
+ <el-col :span="24">
|
|
|
|
|
+ <el-form-item label="工单编号" prop="name">
|
|
|
|
|
+ <el-row :gutter="20">
|
|
|
|
|
+ <el-col :span="6"><el-input v-model="formData.工单编号" disabled :clearable="true"/></el-col>
|
|
|
|
|
+ <el-col :span="18"><el-input v-model="formData.产品名称" disabled :clearable="true"/></el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+
|
|
|
|
|
+ <el-row :gutter="20">
|
|
|
|
|
+ <el-col :span="6">
|
|
|
|
|
+ <el-form-item label="印件编号" prop="id"><el-input v-model="formData.印件编号" disabled :clearable="true" /></el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="17">
|
|
|
|
|
+ <el-form-item label="工序名称" prop="name"><el-input v-model="formData.工序名称" disabled :clearable="true" /></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-col :span="4"><el-input v-model="formData.sczl_role1" disabled :clearable="true"/></el-col>
|
|
|
|
|
+ <el-col :span="4"><el-input v-model="formData.sczl_role2" disabled :clearable="true"/></el-col>
|
|
|
|
|
+ <el-col :span="4"><el-input v-model="formData.sczl_role3" disabled :clearable="true"/></el-col>
|
|
|
|
|
+ <el-col :span="4"><el-input v-model="formData.sczl_role4" disabled :clearable="true"/></el-col>
|
|
|
|
|
+ <el-col :span="4"><el-input v-model="formData.sczl_role5" disabled :clearable="true"/></el-col>
|
|
|
|
|
+ <el-col :span="4"><el-input v-model="formData.sczl_role6" disabled :clearable="true"/></el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+
|
|
|
|
|
+ <el-row :gutter="1">
|
|
|
|
|
+ <el-col :span="4"><el-input v-model="formData.sczl_rate1" disabled :clearable="true" /></el-col>
|
|
|
|
|
+ <el-col :span="4"><el-input v-model="formData.sczl_rate2" disabled :clearable="true" /></el-col>
|
|
|
|
|
+ <el-col :span="4"><el-input v-model="formData.sczl_rate3" disabled :clearable="true" /></el-col>
|
|
|
|
|
+ <el-col :span="4"><el-input v-model="formData.sczl_rate4" disabled :clearable="true" /></el-col>
|
|
|
|
|
+ <el-col :span="4"><el-input v-model="formData.sczl_rate5" disabled :clearable="true" /></el-col>
|
|
|
|
|
+ <el-col :span="4"><el-input v-model="formData.sczl_rate6" disabled :clearable="true" /></el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+
|
|
|
|
|
+ <el-row :gutter="1">
|
|
|
|
|
+ <el-col :span="4"><el-input v-model="formData.sczl_bh1" disabled :clearable="true"/></el-col>
|
|
|
|
|
+ <el-col :span="4"><el-input v-model="formData.sczl_bh2" disabled :clearable="true"/></el-col>
|
|
|
|
|
+ <el-col :span="4"><el-input v-model="formData.sczl_bh3" disabled :clearable="true"/></el-col>
|
|
|
|
|
+ <el-col :span="4"><el-input v-model="formData.sczl_bh4" disabled :clearable="true"/></el-col>
|
|
|
|
|
+ <el-col :span="4"><el-input v-model="formData.sczl_bh5" disabled :clearable="true"/></el-col>
|
|
|
|
|
+ <el-col :span="4"><el-input v-model="formData.sczl_bh6" disabled :clearable="true"/></el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+
|
|
|
|
|
+ <el-row :gutter="1">
|
|
|
|
|
+ <el-col :span="4"><el-input v-model="formData.sczl_name1" disabled :clearable="true" /></el-col>
|
|
|
|
|
+ <el-col :span="4"><el-input v-model="formData.sczl_name2" disabled :clearable="true" /></el-col>
|
|
|
|
|
+ <el-col :span="4"><el-input v-model="formData.sczl_name3" disabled :clearable="true" /></el-col>
|
|
|
|
|
+ <el-col :span="4"><el-input v-model="formData.sczl_name4" disabled :clearable="true" /></el-col>
|
|
|
|
|
+ <el-col :span="4"><el-input v-model="formData.sczl_name5" disabled :clearable="true" /></el-col>
|
|
|
|
|
+ <el-col :span="4"><el-input v-model="formData.sczl_name6" disabled :clearable="true" /></el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <div style="flex: 1; border: 0px lawngreen solid; margin: 0; padding: 0; overflow: hidden;">
|
|
|
|
|
+ <el-table tooltip-effect="dark" :data="selectData" row-key="ID" highlight-current-row="true"
|
|
|
|
|
+ :row-style="{ height: '20px' }" :header-cell-style="{ padding: '0px' }"
|
|
|
|
|
+ :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
|
|
|
|
|
+ border style="width:100%;height: 30vh;" @row-dblclick="handleSelectClick" >
|
|
|
|
|
+ <el-table-column prop="process" label="印件及工序" width="340" />
|
|
|
|
|
+ <el-table-column prop="completed" label="已完成板数" width="150" />
|
|
|
|
|
+ </el-table>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <div v-if="JTMCOn" class="gva-table-box" >
|
|
|
|
|
+ <div class="gva-btn-list"></div>
|
|
|
|
|
+ <el-tabs v-model="activName" type="card" @tab-click="duohandleClick">
|
|
|
|
|
+ <el-tab-pane label="设备作业清单" @click="showTable('印件资料')" name="first" :class="{ 'active-tab': activeTab === 'first' }" >
|
|
|
|
|
+ <el-table ref="QDmultipleTable"
|
|
|
|
|
+ :show-overflow-tooltip="true"
|
|
|
|
|
+ highlight-current-row="true"
|
|
|
|
|
+ :cell-class-name="sbzyqdsatusCellClass"
|
|
|
|
|
+ :row-style="{ height: '20px' }"
|
|
|
|
|
+ :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
|
|
|
|
|
+ :header-cell-style="{ padding: '0px' }"
|
|
|
|
|
+ @row-click="sbonclick"
|
|
|
|
|
+ @row-dblclick="sbupdateCompanyFunc"
|
|
|
|
|
+ style="width: 100%;height: 330px" border tooltip-effect="dark" :data="sbzyData" row-key="ID" @selection-change="handleSelectionChange">
|
|
|
|
|
+ <el-table-column align="left" sortable label="工单编号|质量信息" prop="工单编号|质量信息" width="170" />
|
|
|
|
|
+ <el-table-column align="left" label="印件资料" prop="印件资料" width="220" />
|
|
|
|
|
+ <el-table-column align="left" sortable label="工序名称" prop="工序名称" width="110" />
|
|
|
|
|
+ <el-table-column align="left" label="计划产量/已完成" prop="计划产量/已完成" width="130"/>
|
|
|
|
|
+ <el-table-column align="left" label="装版时数" prop="装版时数" width="85"/>
|
|
|
|
|
+ <el-table-column align="left" label="工序产能" prop="工序产能" width="85"/>
|
|
|
|
|
+ <el-table-column align="left" label="计划工时" prop="计划工时" width="85"/>
|
|
|
|
|
+ <el-table-column align="left" sortable label="计划生产时段" prop="计划生产时段" width="210" />
|
|
|
|
|
+ <el-table-column align="left" label="排产备注" prop="排产备注" width="85" />
|
|
|
|
|
+ <el-table-column align="left" sortable label="产品名称" prop="产品名称" width="400" />
|
|
|
|
|
+ </el-table>
|
|
|
|
|
+ </el-tab-pane>
|
|
|
|
|
+
|
|
|
|
|
+ <el-tab-pane label="班组人员及分配比例" @click="showTable('工艺资料')" name="second">
|
|
|
|
|
+ <el-table ref="FPmultipleTable"
|
|
|
|
|
+ highlight-current-row="true"
|
|
|
|
|
+ :show-overflow-tooltip="true"
|
|
|
|
|
+ :row-style="{ height: '20px' }"
|
|
|
|
|
+ :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
|
|
|
|
|
+ :header-cell-style="{ padding: '0px' }"
|
|
|
|
|
+ @row-dblclick="bzupdateCompanyFunc"
|
|
|
|
|
+ :row-class-name="rowClassStyle"
|
|
|
|
|
+ style="width: 100%;height: 400px" border tooltip-effect="dark" :data="FPData" row-key="ID" @selection-change="BzhandleSelectionChange"
|
|
|
|
|
+ @row-click="clickybupdate">
|
|
|
|
|
+ <el-table-column type="selection" width="55" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="班组" prop="bz" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="角色" prop="role" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="比例" prop="rate" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员1" prop="bh1" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名1" prop="name1" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员2" prop="bh2" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名2" prop="name2" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员3" prop="bh3" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名3" prop="name3" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员4" prop="bh4" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名4" prop="name4" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员5" prop="bh5" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名5" prop="name5" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员6" prop="bh6" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名6" prop="name6" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员7" prop="bh7" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名7" prop="name7" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员8" prop="bh8" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名8" prop="name8" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员9" prop="bh9" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名9" prop="name9" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员10" prop="bh10" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名10" prop="name10" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员11" prop="bh11" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名11" prop="name11" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员12" prop="bh12" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名12" prop="name12" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员13" prop="bh13" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名13" prop="name13" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员14" prop="bh14" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名14" prop="name14" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员15" prop="bh15" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名15" prop="name15" width="120" />
|
|
|
|
|
+ </el-table>
|
|
|
|
|
+ </el-tab-pane>
|
|
|
|
|
+
|
|
|
|
|
+ <el-tab-pane label="当班产量明细" @click="showTable('印版资料')" name="third">
|
|
|
|
|
+ <el-table ref="DBmultipleTable" highlight-current-row="true"
|
|
|
|
|
+ :show-overflow-tooltip="true" :row-style="{ height: '20px' }"
|
|
|
|
|
+ :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
|
|
|
|
|
+ :header-cell-style="{ padding: '0px' }" @row-dblclick="ybupdateCompanyFunc"
|
|
|
|
|
+ style="width: 100%;height: 400px" border tooltip-effect="dark" :data="CLMXData" row-key="ID"
|
|
|
|
|
+ @selection-change="dbclmxSelectionChange">
|
|
|
|
|
+ <el-table-column type="selection" width="55" />
|
|
|
|
|
+ <el-table-column fixed align="left" sortable label="生产时段" prop="生产时间段" width="180"/>
|
|
|
|
|
+ <el-table-column fixed align="left" sortable label="工单编号" prop="工单编号" width="110" />
|
|
|
|
|
+ <el-table-column fixed align="left" sortable label="产品名称" prop="产品名称" width="150" />
|
|
|
|
|
+ <el-table-column fixed align="left" sortable label="印件及工序" prop="印件及工序" width="320"/>
|
|
|
|
|
+ <!-- <el-table-column align="left" sortable label="标牌号" prop="标牌号" width="100"/> -->
|
|
|
|
|
+ <el-table-column align="left" sortable label="产量" prop="产量" width="100"/>
|
|
|
|
|
+ <el-table-column align="left" sortable label="制程废品" prop="制程废品" width="110" />
|
|
|
|
|
+ <!-- <el-table-column align="left" sortable label="制程次品" prop="制程次品" width="110" />
|
|
|
|
|
+ <el-table-column align="left" sortable label="前工序废" prop="前工序废" width="110" /> -->
|
|
|
|
|
+ <el-table-column align="left" sortable label="来料数量" prop="来料数量" width="110"/>
|
|
|
|
|
+ <el-table-column align="left" sortable label="装版工时" prop="装版工时" width="110" />
|
|
|
|
|
+ <el-table-column align="left" sortable label="保养工时" prop="保养工时" width="110" />
|
|
|
|
|
+ <el-table-column align="left" sortable label="异常工时" prop="异常工时" width="135"/>
|
|
|
|
|
+ <el-table-column align="left" sortable label="通电工时" prop="通电工时" width="110"/>
|
|
|
|
|
+ </el-table>
|
|
|
|
|
+ </el-tab-pane>
|
|
|
|
|
+ </el-tabs>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <div v-if="dateOn" >
|
|
|
|
|
+ <el-tabs v-model="activName" type="card" @tab-click="handleClick">
|
|
|
|
|
+ <el-tab-pane label="当日上报产量" name="first">
|
|
|
|
|
+ <!-- 非JP机台 -->
|
|
|
|
|
+ <el-table ref="multipleTable"
|
|
|
|
|
+ v-if="! isTHJT"
|
|
|
|
|
+ :show-overflow-tooltip="true"
|
|
|
|
|
+ @selection-change="selectionChange($event)"
|
|
|
|
|
+ :row-style="{ height: '20px' }" :selectable="checkboxT"
|
|
|
|
|
+ :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
|
|
|
|
|
+ :header-cell-style="{ padding: '0px' }" @row-click="getUid"
|
|
|
|
|
+ highlight-current-row="true" @row-dblclick="gytableDatadoubleClick"
|
|
|
|
|
+ style="width: 100%;height: 70vh" border tooltip-effect="dark" :data="gytableData" row-key="ID" >
|
|
|
|
|
+ <el-table-column type="selection" width="55" />
|
|
|
|
|
+ <!-- <el-table-column align="left" label="选择" prop="工单编号" width="100"/> -->
|
|
|
|
|
+ <el-table-column fixed align="left" label="工单编号" prop="工单编号" width="100"/>
|
|
|
|
|
+ <el-table-column fixed align="left" label="印件号" prop="印件号" width="90"/>
|
|
|
|
|
+ <el-table-column fixed align="left" label="产品代号" prop="产品代号" width="120"/>
|
|
|
|
|
+ <el-table-column fixed align="left" label="产品名称" prop="产品名称" width="300"/>
|
|
|
|
|
+ <el-table-column fixed align="left" label="工序号" prop="工序号" width="90"/>
|
|
|
|
|
+ <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="85" />
|
|
|
|
|
+ <!-- <el-table-column align="left" label="千件工价" prop="千件工价" width="85"/>
|
|
|
|
|
+ <el-table-column align="left" label="日定额" prop="日定额" width="85"/> -->
|
|
|
|
|
+ <!-- <el-table-column align="left" label="流程" sortable prop="num" width="80"/> -->
|
|
|
|
|
+ <el-table-column align="left" label="联数" prop="联数" width="85"/>
|
|
|
|
|
+ <el-table-column align="left" label="定额代号" prop="定额代号" width="100"/>
|
|
|
|
|
+ <el-table-column align="left" label="工价系数" prop="工价系数" width="85"/>
|
|
|
|
|
+ <!-- <el-table-column align="left" label="备注" prop="备注" width="200"/> -->
|
|
|
|
|
+ <el-table-column v-for="i in 10" :key="i"
|
|
|
|
|
+ align="left"
|
|
|
|
|
+ :label="`组员${i}`"
|
|
|
|
|
+ :prop="`组员${i}`"
|
|
|
|
|
+ width="160"
|
|
|
|
|
+ show-overflow-tooltip
|
|
|
|
|
+ />
|
|
|
|
|
+ <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="120"/>
|
|
|
|
|
+ <el-table-column align="left" label="异常类型" prop="异常类型" width="110"/>
|
|
|
|
|
+ <el-table-column align="left" label="异常工时" prop="异常工时" width="85"/>
|
|
|
|
|
+ <el-table-column align="left" label="装版工时" prop="装版工时" width="85" />
|
|
|
|
|
+ <el-table-column align="left" label="保养工时" prop="保养工时" width="85" />
|
|
|
|
|
+ <el-table-column align="left" label="设备运行工时" prop="设备运行工时" width="110"/>
|
|
|
|
|
+ <!-- <el-table-column align="left" label="码开始行" prop="码开始行" width="85" />
|
|
|
|
|
+ <el-table-column align="left" label="码结束行" prop="码结束行" width="85" />
|
|
|
|
|
+ <el-table-column align="left" label="码包" prop="码包" width="70" />
|
|
|
|
|
+ <el-table-column align="left" label="主电表" prop="主电表" width="70"/>
|
|
|
|
|
+ <el-table-column align="left" label="辅电表" prop="辅电表" width="70" />
|
|
|
|
|
+ <el-table-column align="left" label="色度数" prop="色度数" width="70" />
|
|
|
|
|
+ <el-table-column align="left" label="印刷方式" prop="印刷方式" width="85"/> -->
|
|
|
|
|
+ <el-table-column align="left" label="创建人员" prop="创建人员" width="210" />
|
|
|
|
|
+ <el-table-column align="left" label="修改时间" prop="修改时间" width="160" />
|
|
|
|
|
+ </el-table>
|
|
|
|
|
+
|
|
|
|
|
+ <el-table ref="JPmultipleTable"
|
|
|
|
|
+ v-else
|
|
|
|
|
+ :show-overflow-tooltip="true"
|
|
|
|
|
+ @selection-change="selectionChange($event)"
|
|
|
|
|
+ :row-style="{ height: '20px' }" :row-class-name="totalClassName" :cell-class-name="tableDataCellClass"
|
|
|
|
|
+ :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
|
|
|
|
|
+ :header-cell-style="{ padding: '0px' }" @row-click="getUid"
|
|
|
|
|
+ highlight-current-row="true" @row-dblclick="JPgytableDatadoubleClick"
|
|
|
|
|
+ style="width: 100%;height: 70vh" border tooltip-effect="dark" :data="JPgytableData" row-key="ID" >
|
|
|
|
|
+ <el-table-column type="selection" width="55" />
|
|
|
|
|
+ <!-- <el-table-column fixed align="left" label="工单编号" prop="工单编号" width="130"/> -->
|
|
|
|
|
+ <el-table-column align="left" fixed label="产品名称" prop="产品名称" width="300"/>
|
|
|
|
|
+ <el-table-column align="left" fixed label="工序" prop="工序" width="150"/>
|
|
|
|
|
+ <!-- <el-table-column align="left" label="印件号" prop="yjno" width="115"/>
|
|
|
|
|
+ <el-table-column align="left" label="工序名称" prop="gxmc" width="200"/> -->
|
|
|
|
|
+ <el-table-column align="left" fixed label="班组" prop="bzdh" width="70"/>
|
|
|
|
|
+ <el-table-column align="left" label="计件箱数" prop="计件箱数" width="90"/>
|
|
|
|
|
+ <el-table-column align="left" label="每箱数量" prop="每箱数量" width="90"/>
|
|
|
|
|
+ <el-table-column align="left" label="日定额" prop="日定额" width="80"/>
|
|
|
|
|
+ <el-table-column align="left" label="流程" sortable prop="num" width="80"/>
|
|
|
|
|
+ <el-table-column align="left" label="检验类型" prop="检验类型" width="90"/>
|
|
|
|
|
+ <el-table-column align="left" label="废品率系数" prop="废品率系数" width="100"/>
|
|
|
|
|
+ <el-table-column align="left" label="千件工价" prop="千件工价" width="90"/>
|
|
|
|
|
+ <el-table-column align="left" label="补产标准" prop="补产标准" width="90"/>
|
|
|
|
|
+ <el-table-column align="left" label="组员1" prop="组员1" width="170"/>
|
|
|
|
|
+ <el-table-column align="left" label="组员2" prop="组员2" width="170"/>
|
|
|
|
|
+ <el-table-column align="left" label="组员3" prop="组员3" width="170"/>
|
|
|
|
|
+ <el-table-column align="left" label="组员4" prop="组员4" width="170"/>
|
|
|
|
|
+ <el-table-column align="left" label="组员5" prop="组员5" width="170"/>
|
|
|
|
|
+ <el-table-column align="left" label="组员6" prop="组员6" width="170"/>
|
|
|
|
|
+ <el-table-column align="left" label="组员7" prop="组员7" width="170"/>
|
|
|
|
|
+ <el-table-column align="left" label="换膜补时" prop="换膜补时" width="90"/>
|
|
|
|
|
+ <el-table-column align="left" label="保养工时" prop="保养工时" width="90"/>
|
|
|
|
|
+ <el-table-column align="left" label="异常总工时" prop="异常总工时" width="100"/>
|
|
|
|
|
+ <el-table-column align="left" label="通电工时" prop="通电工时" width="90"/>
|
|
|
|
|
+ <el-table-column align="left" label="难度系数" prop="难度系数" width="90"/>
|
|
|
|
|
+ <el-table-column align="left" label="定额代号" prop="定额代号" width="130"/>
|
|
|
|
|
+ <el-table-column align="left" label="更新时间" prop="更新时间" width="160"/>
|
|
|
|
|
+ </el-table>
|
|
|
|
|
+ </el-tab-pane>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- <el-tab-pane label="当日制程检验记录" @click="showTable('印件资料')" name="second">
|
|
|
|
|
+ <el-table ref="JYmultipleTable"
|
|
|
|
|
+ :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: 70vh" border tooltip-effect="dark" :data="drzcDatas" row-key="ID" @selection-change="handleSelectionChange">
|
|
|
|
|
+ <el-table-column type="selection" width="55" />
|
|
|
|
|
+ <el-table-column align="left" label="工单编号" prop="工单编号" width="85"/>
|
|
|
|
|
+ <el-table-column align="left" label="印件号" prop="印件号" width="70" />
|
|
|
|
|
+ <el-table-column align="left" label="工序名称" prop="工序名称" width="85" />
|
|
|
|
|
+ <el-table-column align="left" label="检验项目" prop="检验项目" width="85"/>
|
|
|
|
|
+ <el-table-column
|
|
|
|
|
+ v-for="time in columnNames"
|
|
|
|
|
+ :key="time"
|
|
|
|
|
+ :label="time"
|
|
|
|
|
+ :prop="time"
|
|
|
|
|
+ align="center"
|
|
|
|
|
+ width="80"
|
|
|
|
|
+ ></el-table-column>
|
|
|
|
|
+ </el-table>
|
|
|
|
|
+ </el-tab-pane> -->
|
|
|
|
|
+ </el-tabs>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <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: 10px;">
|
|
|
|
|
+ <el-col :span="4" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <el-form-item label="工单编号" prop="id" style="margin-top:0px; margin-bottom: 0px;">
|
|
|
|
|
+ <el-input style="margin-top:0px; margin-bottom: 10px;" 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: 10px;">
|
|
|
|
|
+ <el-form-item label="产品名称" prop="id" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <el-input v-model="formData3.product_name" id="产品名称" disabled style="margin-top:0px; margin-bottom: 10px;" @keydown="ent($event, '工单编号', '产品名称', '工序名称')" placeholder="" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="10" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <el-form-item label="工序名称" prop="id" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <el-input v-model="formData3.gxmc" id="工序名称" disabled style="margin-top:0px; margin-bottom: 10px;" @keydown="ent($event, '产品名称', '工序名称', '印件号')" placeholder="" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+ <el-row :gutter="24" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <el-col :span="4" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <el-form-item label="印件号" prop="id" label-width="60" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <el-input v-model="formData3.yjno" disabled style="margin-top:0px; margin-bottom: 10px;" id="印件号" @keydown="ent($event, '工序名称', '印件号', '印件名称')" placeholder="" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="10" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <!-- <el-form-item label="印件名称" prop="id" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <el-input v-model="formData3.yj_name" disabled id="印件名称" style="margin-top:0px; margin-bottom: 10px;" @keydown="ent($event, '印件号', '印件名称', '工艺名称')" placeholder="" />
|
|
|
|
|
+ </el-form-item> -->
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <!-- <el-col :span="8" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <el-form-item label="工艺名称" prop="id" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <el-input v-model="formData3.gy_name" disabled id="工艺名称" style="margin-top:0px; margin-bottom: 10px;" @keydown="ent($event, '印件名称', '工艺名称', 'gxh')" placeholder="" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col> -->
|
|
|
|
|
+ <el-col :span="4" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <el-form-item label="工序号" prop="id" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <el-input v-model="formData3.gxh" disabled id="gxh" style="margin-top:0px; margin-bottom: 10px;" @keydown="ent($event, '工艺名称', 'gxh', '日期')" placeholder="" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+ <el-row :gutter="24" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <!-- <el-col :span="1" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ </el-col> -->
|
|
|
|
|
+ <el-col :span="4" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <el-form-item label="日期" prop="" style="margin-top:0px; margin-bottom: 10px;margin-left:24px">
|
|
|
|
|
+ <el-date-picker
|
|
|
|
|
+ v-model="formData3.日期"
|
|
|
|
|
+ type="date"
|
|
|
|
|
+ format="YYYY/MM/DD"
|
|
|
|
|
+ value-format="YYYY-MM-DD"
|
|
|
|
|
+ />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ <!-- <el-col :span="5" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <el-form-item label="流程标牌" prop="id" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <el-input v-model="formData3.流程标牌" id="流程标牌" style="margin-top:0px; margin-bottom: 10px;" @keydown="ent($event, '日期', '流程标牌', '上机时间')" placeholder="" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col> -->
|
|
|
|
|
+ <el-col :span="9">
|
|
|
|
|
+ <el-form-item label="上机时间:" prop="flatFeed" class="mab">
|
|
|
|
|
+ <el-date-picker
|
|
|
|
|
+ v-model="formData3.上机时间"
|
|
|
|
|
+ type="datetime"
|
|
|
|
|
+ format="YYYY/MM/DD HH:mm:ss"
|
|
|
|
|
+ value-format="YYYY-MM-DD HH:mm:ss"
|
|
|
|
|
+ />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="9">
|
|
|
|
|
+ <el-form-item label="下机时间:" prop="flatFeed" class="mab">
|
|
|
|
|
+ <el-date-picker
|
|
|
|
|
+ v-model="formData3.下机时间"
|
|
|
|
|
+ type="datetime"
|
|
|
|
|
+ format="YYYY/MM/DD HH:mm:ss"
|
|
|
|
|
+ value-format="YYYY-MM-DD HH:mm:ss"
|
|
|
|
|
+ />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </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: 25px;">
|
|
|
|
|
+ <!-- <el-col :span="1" style="margin-top:0px; margin-bottom: 10px;"></el-col> -->
|
|
|
|
|
+ <el-col :span="4" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <el-form-item label="产量" prop="" style="margin-top:0px; margin-bottom: 10px;margin-left:24px">
|
|
|
|
|
+ <el-input v-model="formData3.产量" id="产量" style="margin-top:0px; margin-bottom: 10px;" @keydown="ent($event, '下机时间', '产量', '制程废品')" placeholder="" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+
|
|
|
|
|
+ <el-col :span="5" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <el-form-item label="制程废品" prop="id" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <el-input v-model="formData3.制程废品" id="制程废品" style="margin-top:0px; margin-bottom: 10px;" @keydown="ent($event, '产量', '制程废品', '制程次品')" placeholder="" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- <el-col :span="5" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <el-form-item label="制程次品" prop="id" style="margin-top:0px; margin-bottom: 10px;margin-left:0px">
|
|
|
|
|
+ <el-input v-model="formData3.制程次品" id="制程次品" style="margin-top:0px; margin-bottom: 10px;" @keydown="ent($event, '制程废品', '制程次品', '前工序废')" placeholder="" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col> -->
|
|
|
|
|
+
|
|
|
|
|
+ <!-- <el-col :span="5" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <el-form-item label="前工序废" prop="" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <el-input v-model="formData3.前工序废" id="前工序废" style="margin-top:0px; margin-bottom: 10px;" @keydown="ent($event, '制程次品', '前工序废', '来料异常')" placeholder="" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col> -->
|
|
|
|
|
+
|
|
|
|
|
+ <el-col :span="4" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <el-form-item label="来料数量" prop="" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <el-input v-model="formData3.来料数量" id="来料数量" style="margin-top:0px; margin-bottom: 10px;" @keydown="ent($event, '前工序废', '来料异常', '联数')" placeholder="" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="4" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <el-form-item label="联数" prop="" style="margin-top:0px; margin-bottom: 10px;margin-left:24px">
|
|
|
|
|
+ <el-input v-model="formData3.Gy0_ls" disabled id="联数" style="margin-top:0px; margin-bottom: 10px;" @keydown="ent($event, '来料异常', '联数', '墨色')" placeholder="" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+
|
|
|
|
|
+ <el-row :gutter="24" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <!-- <el-col :span="1" style="margin-top:0px; margin-bottom: 10px;"></el-col> -->
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ <!-- <el-col :span="5" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <el-form-item label="墨色" prop="" label-width="60" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <el-input v-model="formData3.Gy0_ms" disabled id="墨色" style="margin-top:0px; margin-bottom: 10px;" @keydown="ent($event, '联数', '墨色', '装版总时长')" placeholder="" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col> -->
|
|
|
|
|
+
|
|
|
|
|
+ <el-col :span="5" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <el-form-item label="装版工时" prop="id" style="margin-top:0px; margin-bottom: 10px;margin-left:-12px">
|
|
|
|
|
+ <el-input v-model="formData3.装版工时" id="装版工时" style="margin-top:0px; margin-bottom: 10px;" @keydown="ent($event, '墨色', '装版总时长', '打样总工时')" placeholder="" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="5" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <el-form-item label="保养工时" prop="id" style="margin-top:0px; margin-bottom: 10px;margin-left:-12px">
|
|
|
|
|
+ <el-input v-model="formData3.保养工时" style="margin-top:0px; margin-bottom: 10px;" id="保养工时" @keydown="ent($event, '装版总时长', '打样总工时', '通电工时')" placeholder="" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+
|
|
|
|
|
+ <el-col :span="5" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <el-form-item label="异常类型" prop="id" style="margin-top:0px; margin-bottom: 10px;margin-left:-12px">
|
|
|
|
|
+ <el-input v-model="formData3.异常类型" style="margin-top:0px; margin-bottom: 10px;" id="异常类型" disabled @keydown="ent($event, '装版总时长', '打样总工时', '通电工时')" placeholder="" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+
|
|
|
|
|
+ <el-col :span="5" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <el-form-item label="异常工时" prop="id" style="margin-top:0px; margin-bottom: 10px;margin-left:-12px">
|
|
|
|
|
+ <el-input v-model="formData3.异常工时" style="margin-top:0px; margin-bottom: 10px;" id="异常工时" @keydown="ent($event, '装版总时长', '打样总工时', '通电工时')" placeholder="" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+
|
|
|
|
|
+ <el-col :span="4" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <el-form-item label="通电工时" prop="id" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <el-input v-model="formData3.通电工时" style="margin-top:0px; margin-bottom: 10px;" id="通电工时" @keydown="ent($event, '打样总工时', '通电工时', '定额代号')" placeholder="" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+
|
|
|
|
|
+ <el-row :gutter="4" style="margin-top:0px; margin-bottom: 1vh;">
|
|
|
|
|
+ <!-- <el-col :span="1" style="margin-top:0px; margin-bottom: 10px;"></el-col> -->
|
|
|
|
|
+ <el-col :span="4" style="margin-top:0px; margin-bottom: 10px;margin-left:0">
|
|
|
|
|
+ <el-form-item label="定额代号" prop="id" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <el-input v-model="formData3.定额代号" disabled id="定额代号" style="margin-top:0px; margin-bottom: 10px;" @keydown="ent($event, '通电工时', '定额代号', '码开始行')" placeholder="" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ <!-- <el-col :span="3" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <el-form-item label="码开始行" prop="id" style="margin-top:0px; margin-bottom: 10px;margin-left:0">
|
|
|
|
|
+ <el-input v-model="formData3.码开始行" style="margin-top:0px; margin-bottom: 10px;" id="码开始行" @keydown="ent($event, '定额代号', '码开始行', '码结束行')" placeholder="" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="3" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <el-form-item label="码结束行" prop="id" style="margin-top:0px; margin-bottom: 10px;margin-left:0">
|
|
|
|
|
+ <el-input v-model="formData3.码结束行" style="margin-top:0px; margin-bottom: 10px;" id="码结束行" @keydown="ent($event, '码开始行', '码结束行', '码包')" placeholder="" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="6" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <el-form-item label="码包" prop="id" style="margin-top:0px; margin-bottom: 10px;margin-left:105px">
|
|
|
|
|
+ <el-input v-model="formData3.码包" style="margin-top:0px; margin-bottom: 10px;" id="码包" @keydown="ent($event, '码结束行', '码包', '主电表')" placeholder="" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="5" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <el-form-item label="主电表" prop="id" style="margin-top:0px; margin-bottom: 10px;margin-left:14px">
|
|
|
|
|
+ <el-input v-model="formData3.主电表" style="margin-top:0px; margin-bottom: 10px;" id="主电表" @keydown="ent($event, '码包', '主电表', '辅电表')" placeholder="" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="4" style="margin-top:0px; margin-bottom: 10px;">
|
|
|
|
|
+ <el-form-item label="辅电表" prop="id" style="margin-top:0px; margin-bottom: 10px;margin-left:16px">
|
|
|
|
|
+ <el-input v-model="formData3.辅电表" id="辅电表" style="margin-top:0px; margin-bottom: 10px;" @keydown="ent($event, '主电表', '辅电表', 'bzdh')" placeholder="" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col> -->
|
|
|
|
|
+ <!-- <el-col :span="8">
|
|
|
|
|
+ <el-form-item label="换版类型:" prop="flatFeed" class="mab">
|
|
|
|
|
+ <el-radio v-model="formData3.换版类型" label="装新版" @keydown="ent1($event)">装新版</el-radio>
|
|
|
|
|
+ <el-radio v-model="formData3.换版类型" label="装旧版" @keydown="ent1($event)">装旧版</el-radio>
|
|
|
|
|
+ <el-radio v-model="formData3.换版类型" label="换版" @keydown="ent1($event)" >换版</el-radio>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="4">
|
|
|
|
|
+ <el-form-item label="换版联拼数:" prop="flatFeed" class="mab">
|
|
|
|
|
+ <el-input v-model="formData3.换版联拼数" id="换版联拼数" @keydown="ent1($event)" style="width: 100px;" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col> -->
|
|
|
|
|
+
|
|
|
|
|
+ <div style="display: flex;">
|
|
|
|
|
+ <div style="width: 95vh;">组员及分配比例</div>
|
|
|
|
|
+ <!-- <div style="width: 9vh;margin-left: 70px;">特殊组员</div> -->
|
|
|
|
|
+ <!-- <div style="">拉料人员</div> -->
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <el-row :gutter="10" style="margin-top: 10px;">
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员1['角色']" disabled id="role1"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员2['角色']" disabled id="role2"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员3['角色']" disabled id="role3"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员4['角色']" disabled id="role4"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员5['角色']" disabled id="role5"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员6['角色']" disabled id="role6"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员7['角色']" disabled id="role7"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员8['角色']" disabled id="role8"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员9['角色']" disabled id="role9"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员10['角色']" disabled id="role10"/></el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+
|
|
|
|
|
+ <el-row :gutter="10" style="margin-top: 10px;">
|
|
|
|
|
+ <!-- <el-col :span="2"><el-input v-model="gyformdata.bzdh" id="bzdh" @keydown="ent1($event)"/></el-col> -->
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员1['编号']" id="bh1" disabled @keyup.enter.native="GetYg($event, '1')"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员2['编号']" id="bh2" disabled @keyup.enter.native="GetYg($event, '2')"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员3['编号']" id="bh3" disabled @keyup.enter.native="GetYg($event, '3')"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员4['编号']" id="bh4" disabled @keyup.enter.native="GetYg($event, '4')"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员5['编号']" id="bh5" disabled @keyup.enter.native="GetYg($event, '5')"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员6['编号']" id="bh6" disabled @keyup.enter.native="GetYg($event, '6')"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员7['编号']" id="bh7" disabled @keyup.enter.native="GetYg($event, '7')"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员8['编号']" id="bh8" disabled @keyup.enter.native="GetYg($event, '8')"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员9['编号']" id="bh9" disabled @keyup.enter.native="GetYg($event, '9')"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员10['编号']" id="bh10" disabled @keyup.enter.native="GetYg($event, '10')"/></el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+
|
|
|
|
|
+ <el-row :gutter="10" style="margin-top: 10px;">
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员1['姓名']" disabled id="name1"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员2['姓名']" disabled id="name2"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员3['姓名']" disabled id="name3"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员4['姓名']" disabled id="name4"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员5['姓名']" disabled id="name5"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员6['姓名']" disabled id="name6"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员7['姓名']" disabled id="name7"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员8['姓名']" disabled id="name8"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员9['姓名']" disabled id="name9"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员10['姓名']" disabled id="name10"/></el-col>
|
|
|
|
|
+ <!-- <el-col :span="2"><el-input v-model="gyformdata.拉料['姓名']" id="name11"/></el-col> -->
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+
|
|
|
|
|
+ <el-row :gutter="10" style="margin-top: 10px;">
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员1['比例']" disabled id="rate1" @input="updateTotal" @keydown="ent($event, 'bh11', 'rate1', 'rate2')" placeholder="" /></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员2['比例']" disabled id="rate2" @input="updateTotal" @keydown="ent($event, 'rate1', 'rate2', 'rate3')" placeholder="" /></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员3['比例']" disabled id="rate3" @input="updateTotal" @keydown="ent($event, 'rate2', 'rate3', 'rate4')" placeholder="" /></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员4['比例']" disabled id="rate4" @input="updateTotal" @keydown="ent($event, 'rate3', 'rate4', 'rate5')" placeholder="" /></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员5['比例']" disabled id="rate5" @input="updateTotal" @keydown="ent($event, 'rate4', 'rate5', 'rate6')" placeholder="" /></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员6['比例']" disabled id="rate6" @input="updateTotal" @keydown="ent($event, 'rate5', 'rate6', 'rate7')" placeholder="" /></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员7['比例']" disabled id="rate7" @input="updateTotal" @keydown="ent($event, 'rate6', 'rate7', 'rate8')" placeholder="" /></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员8['比例']" disabled id="rate8" @input="updateTotal" @keydown="ent($event, 'rate7', 'rate8', 'rate9')" placeholder="" /></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员9['比例']" disabled id="rate9" @input="updateTotal" @keydown="ent($event, 'rate8', 'rate9', 'rate10')" placeholder="" /></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="formData3.组员10['比例']" disabled id="rate10" @input="updateTotal" @keydown="ent($event, 'rate9', 'rate10', '工单编号')" placeholder="" /></el-col>
|
|
|
|
|
+ <el-col :span="2"></el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- </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>
|
|
|
|
|
+
|
|
|
|
|
+ <el-dialog v-model="gychanliangVisible" destroy-on-close
|
|
|
|
|
+ width="85%" style="height: 94vh;margin-top: 1%;padding: 10px 10px 0px 10px;" :before-close="closechanliangVisible" :title="type2 === 'create' ? '新增' : '修改'">
|
|
|
|
|
+
|
|
|
|
|
+ <el-row :gutter="24" style="height: 40px;">
|
|
|
|
|
+ <el-col :span="6">
|
|
|
|
|
+ <el-form-item label="工单编号:" prop="flatFeed" class="mab" >
|
|
|
|
|
+ <el-input v-model="gyformdata.工单编号" id="工单编号" @blur="getCPMCsubmit()" @keydown="ent1($event)" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="18">
|
|
|
|
|
+ <el-form-item label="产品名称:" prop="perTenThousand" class="mab" label-width="150">
|
|
|
|
|
+ <el-input v-model="gyformdata.cpmc" id="产品名称" readonly @keydown="ent1($event)" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+
|
|
|
|
|
+ <el-row :gutter="24" style="height: 40px;">
|
|
|
|
|
+ <el-col :span="6">
|
|
|
|
|
+ <el-form-item label="印件号:" prop="flatFeed" class="mab"label-width="70">
|
|
|
|
|
+ <el-input v-model="gyformdata.yjno" id="印件号" @keydown="ent1($event)" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <!-- <el-col :span="18">
|
|
|
|
|
+ <el-form-item label="印件名称:" prop="perTenThousand" class="mab" label-width="150">
|
|
|
|
|
+ <el-input v-model="gyformdata.yjmc" id="印件名称" @keydown="ent1($event)" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col> -->
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+
|
|
|
|
|
+ <el-row :gutter="24" style="height: 40px;">
|
|
|
|
|
+ <el-col :span="14">
|
|
|
|
|
+ <el-form-item label="工序名称:" prop="flatFeed" class="mab">
|
|
|
|
|
+ <el-input v-model="gyformdata.gxmc" id="工序名称" @focus="gxmcHandleFocus()" @blur="getGXsubmit()" @keydown="ent1($event)" style="width: 350px;" />
|
|
|
|
|
+ <el-input v-model="gyformdata.gxh" id="工序号" :readonly=true :clearable="true" style="width: 80px;" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <!-- <el-col :span="10">
|
|
|
|
|
+ <el-form-item label="工艺名称:" prop="perTenThousand" class="mab">
|
|
|
|
|
+ <el-input v-model="gyformdata.gymc" id="工艺名称" @keydown="ent1($event)" :readonly=true :clearable="true" style="width: 200px;" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col> -->
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+
|
|
|
|
|
+ <el-row :gutter="24" style="height: 40px;">
|
|
|
|
|
+ <el-col :span="6">
|
|
|
|
|
+ <el-form-item label="日期:" prop="flatFeed" class="mab" label-width="70">
|
|
|
|
|
+ <el-date-picker v-model="gyformdata.rq" type="datetime" format="YYYY/MM/DD" value-format="YYYY-MM-DD" @keydown="ent1($event)"/>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="6">
|
|
|
|
|
+ <el-form-item label="机器:" class="mab" prop="remark">
|
|
|
|
|
+ <el-select v-model="gyformdata.sczl_jtbh"
|
|
|
|
|
+ id="机器" @keydown="ent1($event)" @change="jtbh_change()"
|
|
|
|
|
+ style="flex: 1; height: auto; width: 100px;">
|
|
|
|
|
+ <el-option
|
|
|
|
|
+ v-for="(item, index) in gdzl_MachineList_address.data"
|
|
|
|
|
+ :key="index"
|
|
|
|
|
+ :label="item.split('->')[0].trim()"
|
|
|
|
|
+ :value="item.split('->')[0].trim()">
|
|
|
|
|
+ {{ item }}
|
|
|
|
|
+ </el-option>
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="7">
|
|
|
|
|
+ <el-form-item label="开工时间:" prop="flatFeed" class="mab">
|
|
|
|
|
+ <el-date-picker v-model="gyformdata.starttime" type="datetime" format="YYYY/MM/DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" @keydown="ent1($event)" />
|
|
|
|
|
+ </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="gyformdata.num" id="流程单号" style="margin-top:0px; margin-bottom: 1px;" @keydown="ent1($event)" placeholder="" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col> -->
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+
|
|
|
|
|
+ <el-row :gutter="24" style="height: 40px;">
|
|
|
|
|
+ <el-col :span="9">
|
|
|
|
|
+ <el-form-item label="上机时间:" prop="flatFeed" class="mab">
|
|
|
|
|
+ <el-date-picker
|
|
|
|
|
+ v-model="gyformdata.sj1"
|
|
|
|
|
+ type="datetime"
|
|
|
|
|
+ format="YYYY/MM/DD hh:mm:ss"
|
|
|
|
|
+ value-format="YYYY-MM-DD h:m:s"
|
|
|
|
|
+ @keydown="ent1($event)"
|
|
|
|
|
+ />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="9">
|
|
|
|
|
+ <el-form-item label="下机时间:" prop="flatFeed" class="mab">
|
|
|
|
|
+ <el-date-picker
|
|
|
|
|
+ v-model="gyformdata.sj2"
|
|
|
|
|
+ type="datetime"
|
|
|
|
|
+ format="YYYY/MM/DD hh:mm:ss"
|
|
|
|
|
+ value-format="YYYY-MM-DD h:m:s"
|
|
|
|
|
+ @keydown="ent1($event)"
|
|
|
|
|
+ />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ <el-row :gutter="24">
|
|
|
|
|
+ <el-col :span="8">
|
|
|
|
|
+ <el-form-item label="加工联数:" prop="flatFeed" class="mab" >
|
|
|
|
|
+ <el-input v-model="gyformdata.联数" id="加工联数" @keydown="ent1($event)" style="width: 100px; margin-right: 30px;" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="6">
|
|
|
|
|
+ <el-form-item label="来料数量:" prop="flatFeed" class="mab">
|
|
|
|
|
+ <el-input v-model="gyformdata.来料数量" id="来料数量" @keydown="ent1($event)" style="width: 200px;" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="5">
|
|
|
|
|
+ <el-form-item label="产量:" prop="flatFeed" class="mab">
|
|
|
|
|
+ <el-input v-model="gyformdata.产量" id="产量" @keydown="ent1($event)" style="width: 200px;" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="5">
|
|
|
|
|
+ <el-form-item label="制程废品:" prop="flatFeed" class="mab">
|
|
|
|
|
+ <el-input v-model="gyformdata.制程废品" id="制程废品" @keydown="ent1($event)" style="width: 200px;" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ <el-row :gutter="30" style="height: 40px;">
|
|
|
|
|
+ <el-col :span="5">
|
|
|
|
|
+ <el-form-item label="装版工时:" prop="flatFeed" class="mab">
|
|
|
|
|
+ <el-input v-model="gyformdata.装版工时" id="装版总工时" @keydown="ent1($event)" style="width: 200px;" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="4">
|
|
|
|
|
+ <el-form-item label="保养工时:" prop="flatFeed" class="mab">
|
|
|
|
|
+ <el-input v-model="gyformdata.保养工时" id="保养工时" @keydown="ent1($event)" style="width: 200px;" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+
|
|
|
|
|
+ <el-row :gutter="24">
|
|
|
|
|
+ <el-col :span="8">
|
|
|
|
|
+ <el-form-item label="异常类型:" prop="flatFeed" class="mab">
|
|
|
|
|
+ <el-input v-model="gyformdata.异常类型" disabled id="异常类型" style="width: 100px;" />
|
|
|
|
|
+ </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="gyformdata.异常工时" id="异常工时" style="margin-top:0px; margin-bottom: 1px;" @keydown="ent1($event)" placeholder="" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+
|
|
|
|
|
+ <el-row :gutter="24" style="height: 40px;">
|
|
|
|
|
+ <el-col :span="8">
|
|
|
|
|
+ <el-form-item label="设备运行工时:" prop="flatFeed" class="mab">
|
|
|
|
|
+ <el-input v-model="gyformdata.设备运行工时" id="设备运行工时" @keydown="ent1($event)" style="width: 100px;" />
|
|
|
|
|
+ </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="gyformdata.dedh" id="定额代号" readonly style="margin-top:0px; margin-bottom: 1px;" @keydown="ent1($event)" placeholder="" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ <!-- <el-row :gutter="24" style="height: 40px;">
|
|
|
|
|
+ <el-col :span="5">
|
|
|
|
|
+ <el-form-item label="码开始行:" prop="flatFeed" class="mab">
|
|
|
|
|
+ <el-input v-model="gyformdata.码开始行" id="码开始行" @keydown="ent1($event)" style="width: 200px;" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="5">
|
|
|
|
|
+ <el-form-item label="码结束行:" prop="flatFeed" class="mab" >
|
|
|
|
|
+ <el-input v-model="gyformdata.码结束行" id="码结束行" @keydown="ent1($event)" style="width: 100px; margin-right: 30px;" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="5">
|
|
|
|
|
+ <el-form-item label="主电表:" prop="flatFeed" class="mab">
|
|
|
|
|
+ <el-input v-model="gyformdata.主电表" id="主电表" @keydown="ent1($event)" style="width: 200px;" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="7">
|
|
|
|
|
+ <el-form-item label="辅电表:" prop="flatFeed" class="mab">
|
|
|
|
|
+ <el-input v-model="gyformdata.辅电表" id="辅电表" @keydown="ent1($event)" style="width: 200px;" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ </el-row> -->
|
|
|
|
|
+
|
|
|
|
|
+ <div style="display: flex;">
|
|
|
|
|
+ <div style="width: 95vh;">组员及分配比例</div>
|
|
|
|
|
+ <!-- <div style="width: 9vh;margin-left: 70px;">特殊组员</div> -->
|
|
|
|
|
+ <!-- <div style="">拉料人员</div> -->
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <el-row :gutter="10" style="margin-top: 10px;">
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员1['角色']" id="role1"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员2['角色']" id="role2"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员3['角色']" id="role3"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员4['角色']" id="role4"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员5['角色']" id="role5"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员6['角色']" id="role6"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员7['角色']" id="role7"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员8['角色']" id="role8"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员9['角色']" id="role9"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员10['角色']" id="role10"/></el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+
|
|
|
|
|
+ <el-row :gutter="10" style="margin-top: 10px;">
|
|
|
|
|
+ <!-- <el-col :span="2"><el-input v-model="gyformdata.bzdh" id="bzdh" @keydown="ent1($event)"/></el-col> -->
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员1['编号']" id="bh1" @keyup.enter.native="GetYg($event, '1')"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员2['编号']" id="bh2" @keyup.enter.native="GetYg($event, '2')"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员3['编号']" id="bh3" @keyup.enter.native="GetYg($event, '3')"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员4['编号']" id="bh4" @keyup.enter.native="GetYg($event, '4')"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员5['编号']" id="bh5" @keyup.enter.native="GetYg($event, '5')"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员6['编号']" id="bh6" @keyup.enter.native="GetYg($event, '6')"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员7['编号']" id="bh7" @keyup.enter.native="GetYg($event, '7')"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员8['编号']" id="bh8" @keyup.enter.native="GetYg($event, '8')"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员9['编号']" id="bh9" @keyup.enter.native="GetYg($event, '9')"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员10['编号']" id="bh10" @keyup.enter.native="GetYg($event, '10')"/></el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+
|
|
|
|
|
+ <el-row :gutter="10" style="margin-top: 10px;">
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员1['姓名']" id="name1"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员2['姓名']" id="name2"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员3['姓名']" id="name3"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员4['姓名']" id="name4"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员5['姓名']" id="name5"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员6['姓名']" id="name6"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员7['姓名']" id="name7"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员8['姓名']" id="name8"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员9['姓名']" id="name9"/></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员10['姓名']" id="name10"/></el-col>
|
|
|
|
|
+ <!-- <el-col :span="2"><el-input v-model="gyformdata.拉料['姓名']" id="name11"/></el-col> -->
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+
|
|
|
|
|
+ <el-row :gutter="10" style="margin-top: 10px;">
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员1['比例']" id="rate1" @input="updateTotal" @keydown="ent($event, 'bh11', 'rate1', 'rate2')" placeholder="" /></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员2['比例']" id="rate2" @input="updateTotal" @keydown="ent($event, 'rate1', 'rate2', 'rate3')" placeholder="" /></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员3['比例']" id="rate3" @input="updateTotal" @keydown="ent($event, 'rate2', 'rate3', 'rate4')" placeholder="" /></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员4['比例']" id="rate4" @input="updateTotal" @keydown="ent($event, 'rate3', 'rate4', 'rate5')" placeholder="" /></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员5['比例']" id="rate5" @input="updateTotal" @keydown="ent($event, 'rate4', 'rate5', 'rate6')" placeholder="" /></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员6['比例']" id="rate6" @input="updateTotal" @keydown="ent($event, 'rate5', 'rate6', 'rate7')" placeholder="" /></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员7['比例']" id="rate7" @input="updateTotal" @keydown="ent($event, 'rate6', 'rate7', 'rate8')" placeholder="" /></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员8['比例']" id="rate8" @input="updateTotal" @keydown="ent($event, 'rate7', 'rate8', 'rate9')" placeholder="" /></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员9['比例']" id="rate9" @input="updateTotal" @keydown="ent($event, 'rate8', 'rate9', 'rate10')" placeholder="" /></el-col>
|
|
|
|
|
+ <el-col :span="2"><el-input v-model="gyformdata.组员10['比例']" id="rate10" @input="updateTotal" @keydown="ent($event, 'rate9', 'rate10', '工单编号')" placeholder="" /></el-col>
|
|
|
|
|
+ <el-col :span="2"></el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+ <template #footer>
|
|
|
|
|
+ <div class="dialog-footer">
|
|
|
|
|
+ <el-button type="primary" @click="bzenterDialog">班组修改</el-button>
|
|
|
|
|
+ <el-button @click="gycloseDialog">取 消</el-button>
|
|
|
|
|
+ <el-button type="primary" @click="gychanliangenterDialog">确 定</el-button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-dialog>
|
|
|
|
|
+
|
|
|
|
|
+<!-- 选择修改班组弹窗 -->
|
|
|
|
|
+ <el-dialog v-model="bzVisible" title="班组选择" width="90%" style="height: 80vh;">
|
|
|
|
|
+
|
|
|
|
|
+ <el-table
|
|
|
|
|
+ ref="BZmultipleTable"
|
|
|
|
|
+ highlight-current-row="true"
|
|
|
|
|
+ :show-overflow-tooltip="true"
|
|
|
|
|
+ :row-style="{ height: '20px' }"
|
|
|
|
|
+ :cell-style="{ padding: '0px' }"
|
|
|
|
|
+ :header-row-style="{ height: '20px' }"
|
|
|
|
|
+ :header-cell-style="{ padding: '0px' }"
|
|
|
|
|
+ @row-dblclick="handleBzRowDblClick"
|
|
|
|
|
+ :row-class-name="rowClassStyle"
|
|
|
|
|
+ style="width: 100%; height: 400px"
|
|
|
|
|
+ border
|
|
|
|
|
+ tooltip-effect="dark"
|
|
|
|
|
+ :data="FPData"
|
|
|
|
|
+ row-key="ID"
|
|
|
|
|
+ @selection-change="handleBzSelectionChange"
|
|
|
|
|
+ @row-click="handleBzRowClick"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-table-column type="selection" width="55" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="班组" prop="bz" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="角色" prop="role" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="比例" prop="rate" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员1" prop="bh1" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名1" prop="name1" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员2" prop="bh2" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名2" prop="name2" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员3" prop="bh3" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名3" prop="name3" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员4" prop="bh4" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名4" prop="name4" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员5" prop="bh5" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名5" prop="name5" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员6" prop="bh6" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名6" prop="name6" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员7" prop="bh7" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名7" prop="name7" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员8" prop="bh8" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名8" prop="name8" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员9" prop="bh9" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名9" prop="name9" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员10" prop="bh10" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名10" prop="name10" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员11" prop="bh11" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名11" prop="name11" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员12" prop="bh12" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名12" prop="name12" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员13" prop="bh13" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名13" prop="name13" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员14" prop="bh14" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名14" prop="name14" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员15" prop="bh15" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名15" prop="name15" width="120" />
|
|
|
|
|
+ </el-table>
|
|
|
|
|
+
|
|
|
|
|
+ <template #footer>
|
|
|
|
|
+ <div class="dialog-footer">
|
|
|
|
|
+ <el-button @click="bzVisible = false">取消</el-button>
|
|
|
|
|
+ <el-button type="primary" @click="handleBzConfirm">确定</el-button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </template>
|
|
|
|
|
+</el-dialog>
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+<!-- 角色管理弹窗 -->
|
|
|
|
|
+<el-dialog
|
|
|
|
|
+ v-model="roleDialogVisible"
|
|
|
|
|
+ title="糊盒角色管理"
|
|
|
|
|
+ destroy-on-close
|
|
|
|
|
+ width="1300px"
|
|
|
|
|
+ style="height: 65%;"
|
|
|
|
|
+ :before-close="closeRoleDialog">
|
|
|
|
|
+ <div style="margin-bottom: 10px;">
|
|
|
|
|
+ <el-button type="primary" class="bt" icon="edit" @click="onAddRole" title="新增">新增</el-button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div style="display: flex;">
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 右侧表格数据 -->
|
|
|
|
|
+ <div style="flex: 2; margin: 0;">
|
|
|
|
|
+ <el-table
|
|
|
|
|
+ ref="roleTable"
|
|
|
|
|
+ tooltip-effect="dark"
|
|
|
|
|
+ :data="roleTableData"
|
|
|
|
|
+ border
|
|
|
|
|
+ row-key="ID"
|
|
|
|
|
+ highlight-current-row="true"
|
|
|
|
|
+ style="width:33%; height:400px;"
|
|
|
|
|
+ @row-dblclick="roleupdateCompanyFunc"
|
|
|
|
|
+ :row-style="{ height: '25px' }"
|
|
|
|
|
+ :header-cell-style="{ padding: '0px' }"
|
|
|
|
|
+ :cell-style="{ padding: '0px' }"
|
|
|
|
|
+ :header-row-style="{ height: '20px' }"
|
|
|
|
|
+ size="small"
|
|
|
|
|
+ :show-overflow-tooltip="true">
|
|
|
|
|
+ <el-table-column sortable align="center" label="机台编号" prop="jtbh" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="角色1" prop="role1" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="角色2" prop="role2" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="角色3" prop="role3" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="角色4" prop="role4" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="角色5" prop="role5" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="角色6" prop="role6" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="角色7" prop="role7" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="角色8" prop="role8" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="角色9" prop="role9" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="角色10" prop="role10" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="比例1" prop="rate1" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="比例2" prop="rate2" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="比例3" prop="rate3" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="比例4" prop="rate4" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="比例5" prop="rate5" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="比例6" prop="rate6" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="比例7" prop="rate7" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="比例8" prop="rate8" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="比例9" prop="rate9" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="比例10" prop="rate10" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="创建人员" prop="sys_id" width="200" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="创建时间" prop="sys_rq" width="200" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="状态" prop="status" width="200">
|
|
|
|
|
+ <template #default="scope">
|
|
|
|
|
+ <span :style="{ color: scope.row.status === 1 ? '#67C23A' : '#F56C6C' }">
|
|
|
|
|
+ {{ scope.row.status === 1 ? '已设置' : '未设置' }}
|
|
|
|
|
+ </span>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ <el-table-column fixed="right" label="操作" width="80">
|
|
|
|
|
+ <template #default="{ row, $index }">
|
|
|
|
|
+ <el-button @click="set_status(row,$index)" type="success" size="small"
|
|
|
|
|
+ style="font-size: 16px;padding: 0px;width: 60px;">
|
|
|
|
|
+ 设置
|
|
|
|
|
+ </el-button>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ </el-table>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+</el-dialog>
|
|
|
|
|
+
|
|
|
|
|
+<!-- 班组管理弹窗 -->
|
|
|
|
|
+<el-dialog
|
|
|
|
|
+ v-model="teamDialogVisible"
|
|
|
|
|
+ title="糊盒班组管理"
|
|
|
|
|
+ destroy-on-close
|
|
|
|
|
+ width="1300px"
|
|
|
|
|
+ style="height: 80%;"
|
|
|
|
|
+ :before-close="closeTeamDialog"
|
|
|
|
|
+ >
|
|
|
|
|
+ <div style="margin-bottom: 10px; flex-shrink: 0;">
|
|
|
|
|
+ <el-button type="primary" class="bt" icon="edit" @click="onAddTeam" title="新增">新增</el-button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div style="display: flex; height: 100%;">
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 右侧表格数据 -->
|
|
|
|
|
+ <div style="flex: 1; margin: 0; display: flex; flex-direction: column;">
|
|
|
|
|
+ <el-table
|
|
|
|
|
+ ref="teamTable"
|
|
|
|
|
+ tooltip-effect="dark"
|
|
|
|
|
+ :data="teamTableData"
|
|
|
|
|
+ border
|
|
|
|
|
+ row-key="ID"
|
|
|
|
|
+ highlight-current-row="true"
|
|
|
|
|
+ style="width:28%; height:400px;"
|
|
|
|
|
+ :row-style="{ height: '25px' }"
|
|
|
|
|
+ :header-cell-style="{ padding: '0px' }"
|
|
|
|
|
+ :cell-style="{ padding: '0px' }"
|
|
|
|
|
+ :header-row-style="{ height: '20px' }"
|
|
|
|
|
+ @row-dblclick="teamupdateCompanyFunc"
|
|
|
|
|
+ size="small"
|
|
|
|
|
+ :show-overflow-tooltip="true">
|
|
|
|
|
+ <el-table-column sortable align="center" label="机台编号" prop="jtbh" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="班组" prop="bz" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="角色" prop="role" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="比例" prop="rate" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员1" prop="bh1" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名1" prop="name1" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员2" prop="bh2" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名2" prop="name2" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员3" prop="bh3" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名3" prop="name3" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员4" prop="bh4" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名4" prop="name4" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员5" prop="bh5" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名5" prop="name5" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员6" prop="bh6" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名6" prop="name6" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员7" prop="bh7" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名7" prop="name7" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员8" prop="bh8" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名8" prop="name8" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员9" prop="bh9" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名9" prop="name9" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员10" prop="bh10" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名10" prop="name10" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员11" prop="bh11" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名11" prop="name11" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员12" prop="bh12" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名12" prop="name12" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员13" prop="bh13" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名13" prop="name13" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员14" prop="bh14" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名14" prop="name14" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="人员15" prop="bh15" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="姓名15" prop="name15" width="120" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="创建人员" prop="sys_id" width="200" />
|
|
|
|
|
+ <el-table-column sortable align="center" label="创建时间" prop="sys_rq" width="200" />
|
|
|
|
|
+ </el-table>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+</el-dialog>
|
|
|
|
|
+
|
|
|
|
|
+<!-- 角色新增弹窗 -->
|
|
|
|
|
+<el-dialog
|
|
|
|
|
+ v-model="addRoleVisible"
|
|
|
|
|
+ title="新增角色"
|
|
|
|
|
+ width="50%"
|
|
|
|
|
+ :before-close="() => { addRoleVisible = false }">
|
|
|
|
|
+ <el-form label-width="100px" :model="add_huheformdata">
|
|
|
|
|
+ <el-col :span="10">
|
|
|
|
|
+ <el-form-item label="机台编号" prop="jtbh">
|
|
|
|
|
+ <el-input v-model="add_huheformdata.jtbh" id="jtbh" placeholder="请输入机台编号" @keydown="add_gdzlent($event, '', 'jtbh', 'role1')" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+
|
|
|
|
|
+ <el-row :gutter="24" class="form-row">
|
|
|
|
|
+ <el-col :span="24">
|
|
|
|
|
+ <el-form-item label="角色:" class="mab" prop="keyOrder" label-width='110'>
|
|
|
|
|
+ <el-input v-model="add_huheformdata.role1" style="width: 80px;" id ='role1' @keydown="add_gdzlent($event, 'jtbh', 'role1', 'role2')"/>
|
|
|
|
|
+ <el-input v-model="add_huheformdata.role2" style="width: 80px;" id ='role2' @keydown="add_gdzlent($event, 'role1', 'role2', 'role3')"/>
|
|
|
|
|
+ <el-input v-model="add_huheformdata.role3" style="width: 80px;" id ='role3' @keydown="add_gdzlent($event, 'role2', 'role3', 'role4')"/>
|
|
|
|
|
+ <el-input v-model="add_huheformdata.role4" style="width: 80px;" id ='role4' @keydown="add_gdzlent($event, 'role3', 'role4', 'role5')"/>
|
|
|
|
|
+ <el-input v-model="add_huheformdata.role5" style="width: 80px;" id ='role5' @keydown="add_gdzlent($event, 'role4', 'role5', 'role6')"/>
|
|
|
|
|
+ <el-input v-model="add_huheformdata.role6" style="width: 80px;" id ='role6' @keydown="add_gdzlent($event, 'role5', 'role6', 'role7')"/>
|
|
|
|
|
+ <el-input v-model="add_huheformdata.role7" style="width: 80px;" id ='role7' @keydown="add_gdzlent($event, 'role6', 'role7', 'role8')"/>
|
|
|
|
|
+ <el-input v-model="add_huheformdata.role8" style="width: 80px;" id ='role8' @keydown="add_gdzlent($event, 'role7', 'role8', 'role9')"/>
|
|
|
|
|
+ <el-input v-model="add_huheformdata.role9" style="width: 80px;" id ='role9' @keydown="add_gdzlent($event, 'role8', 'role9', 'role10')"/>
|
|
|
|
|
+ <el-input v-model="add_huheformdata.role10" style="width: 80px;" id ='role10' @keydown="add_gdzlent($event, 'role9', 'role10', 'rate1')"/>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+
|
|
|
|
|
+ <el-row :gutter="24" class="form-row">
|
|
|
|
|
+ <el-col :span="24">
|
|
|
|
|
+ <el-form-item label="比例:" class="mab" prop="keyOrder" label-width='110'>
|
|
|
|
|
+ <el-input v-model="add_huheformdata.rate1" style="width: 80px;" id ='rate1' @keydown="add_gdzlent($event, 'cm14', 'rate1', 'rate2')"/>
|
|
|
|
|
+ <el-input v-model="add_huheformdata.rate2" style="width: 80px;" id ='rate2' @keydown="add_gdzlent($event, 'rate1', 'rate2', 'rate3')"/>
|
|
|
|
|
+ <el-input v-model="add_huheformdata.rate3" style="width: 80px;" id ='rate3' @keydown="add_gdzlent($event, 'rate2', 'rate3', 'rate4')"/>
|
|
|
|
|
+ <el-input v-model="add_huheformdata.rate4" style="width: 80px;" id ='rate4' @keydown="add_gdzlent($event, 'rate3', 'rate4', 'rate5')"/>
|
|
|
|
|
+ <el-input v-model="add_huheformdata.rate5" style="width: 80px;" id ='rate5' @keydown="add_gdzlent($event, 'rate4', 'rate5', 'rate6')"/>
|
|
|
|
|
+ <el-input v-model="add_huheformdata.rate6" style="width: 80px;" id ='rate6' @keydown="add_gdzlent($event, 'rate5', 'rate6', 'rate7')"/>
|
|
|
|
|
+ <el-input v-model="add_huheformdata.rate7" style="width: 80px;" id ='rate7' @keydown="add_gdzlent($event, 'rate6', 'rate7', 'rate8')"/>
|
|
|
|
|
+ <el-input v-model="add_huheformdata.rate8" style="width: 80px;" id ='rate8' @keydown="add_gdzlent($event, 'rate7', 'rate8', 'rate9')"/>
|
|
|
|
|
+ <el-input v-model="add_huheformdata.rate9" style="width: 80px;" id ='rate9' @keydown="add_gdzlent($event, 'rate8', 'rate9', 'rate10')"/>
|
|
|
|
|
+ <el-input v-model="add_huheformdata.rate10" style="width: 80px;" id ='rate10' @keydown="add_gdzlent($event, 'rate9', 'rate10', 'rate1')"/>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+
|
|
|
|
|
+ </el-form>
|
|
|
|
|
+ <template #footer>
|
|
|
|
|
+ <div class="dialog-footer" style="display: flex; justify-content: flex-end; padding: 10px;">
|
|
|
|
|
+ <el-button type="primary" @click="add_huhecloseDialog">取消</el-button>
|
|
|
|
|
+ <el-button type="primary" @click="add_huheenterDialog">确定</el-button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </template>
|
|
|
|
|
+</el-dialog>
|
|
|
|
|
+
|
|
|
|
|
+<el-dialog
|
|
|
|
|
+ v-model="updata_huhedialogFormVisible"
|
|
|
|
|
+ :before-close="updata_huhecloseDialog"
|
|
|
|
|
+ style="width: 73%; max-height: 80%; overflow-y: auto; margin-top: 4%;"
|
|
|
|
|
+ :title="'修改糊盒角色'"
|
|
|
|
|
+ destroy-on-close>
|
|
|
|
|
+ <el-form label-width="100px" :model="updata_huheformdata">
|
|
|
|
|
+ <el-col :span="10">
|
|
|
|
|
+ <el-form-item label="机台编号" prop="jtbh">
|
|
|
|
|
+ <el-input v-model="updata_huheformdata.jtbh" id="jtbh" placeholder="请输入机台编号" @keydown="add_gdzlent($event, '', 'jtbh', 'role1')" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+
|
|
|
|
|
+ <el-row :gutter="24" class="form-row">
|
|
|
|
|
+ <el-col :span="24">
|
|
|
|
|
+ <el-form-item label="角色:" class="mab" prop="keyOrder" label-width='110'>
|
|
|
|
|
+ <el-input v-model="updata_huheformdata.role1" style="width: 80px;" id ='role1' @keydown="add_gdzlent($event, 'jtbh', 'role1', 'role2')"/>
|
|
|
|
|
+ <el-input v-model="updata_huheformdata.role2" style="width: 80px;" id ='role2' @keydown="add_gdzlent($event, 'role1', 'role2', 'role3')"/>
|
|
|
|
|
+ <el-input v-model="updata_huheformdata.role3" style="width: 80px;" id ='role3' @keydown="add_gdzlent($event, 'role2', 'role3', 'role4')"/>
|
|
|
|
|
+ <el-input v-model="updata_huheformdata.role4" style="width: 80px;" id ='role4' @keydown="add_gdzlent($event, 'role3', 'role4', 'role5')"/>
|
|
|
|
|
+ <el-input v-model="updata_huheformdata.role5" style="width: 80px;" id ='role5' @keydown="add_gdzlent($event, 'role4', 'role5', 'role6')"/>
|
|
|
|
|
+ <el-input v-model="updata_huheformdata.role6" style="width: 80px;" id ='role6' @keydown="add_gdzlent($event, 'role5', 'role6', 'role7')"/>
|
|
|
|
|
+ <el-input v-model="updata_huheformdata.role7" style="width: 80px;" id ='role7' @keydown="add_gdzlent($event, 'role6', 'role7', 'role8')"/>
|
|
|
|
|
+ <el-input v-model="updata_huheformdata.role8" style="width: 80px;" id ='role8' @keydown="add_gdzlent($event, 'role7', 'role8', 'role9')"/>
|
|
|
|
|
+ <el-input v-model="updata_huheformdata.role9" style="width: 80px;" id ='role9' @keydown="add_gdzlent($event, 'role8', 'role9', 'role10')"/>
|
|
|
|
|
+ <el-input v-model="updata_huheformdata.role10" style="width: 80px;" id ='role10' @keydown="add_gdzlent($event, 'role9', 'role10', 'rate1')"/>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+
|
|
|
|
|
+ <el-row :gutter="24" class="form-row">
|
|
|
|
|
+ <el-col :span="24">
|
|
|
|
|
+ <el-form-item label="比例:" class="mab" prop="keyOrder" label-width='110'>
|
|
|
|
|
+ <el-input v-model="updata_huheformdata.rate1" style="width: 80px;" id ='rate1' @keydown="add_gdzlent($event, 'cm14', 'rate1', 'rate2')"/>
|
|
|
|
|
+ <el-input v-model="updata_huheformdata.rate2" style="width: 80px;" id ='rate2' @keydown="add_gdzlent($event, 'rate1', 'rate2', 'rate3')"/>
|
|
|
|
|
+ <el-input v-model="updata_huheformdata.rate3" style="width: 80px;" id ='rate3' @keydown="add_gdzlent($event, 'rate2', 'rate3', 'rate4')"/>
|
|
|
|
|
+ <el-input v-model="updata_huheformdata.rate4" style="width: 80px;" id ='rate4' @keydown="add_gdzlent($event, 'rate3', 'rate4', 'rate5')"/>
|
|
|
|
|
+ <el-input v-model="updata_huheformdata.rate5" style="width: 80px;" id ='rate5' @keydown="add_gdzlent($event, 'rate4', 'rate5', 'rate6')"/>
|
|
|
|
|
+ <el-input v-model="updata_huheformdata.rate6" style="width: 80px;" id ='rate6' @keydown="add_gdzlent($event, 'rate5', 'rate6', 'rate7')"/>
|
|
|
|
|
+ <el-input v-model="updata_huheformdata.rate7" style="width: 80px;" id ='rate7' @keydown="add_gdzlent($event, 'rate6', 'rate7', 'rate8')"/>
|
|
|
|
|
+ <el-input v-model="updata_huheformdata.rate8" style="width: 80px;" id ='rate8' @keydown="add_gdzlent($event, 'rate7', 'rate8', 'rate9')"/>
|
|
|
|
|
+ <el-input v-model="updata_huheformdata.rate9" style="width: 80px;" id ='rate9' @keydown="add_gdzlent($event, 'rate8', 'rate9', 'rate10')"/>
|
|
|
|
|
+ <el-input v-model="updata_huheformdata.rate10" style="width: 80px;" id ='rate10' @keydown="add_gdzlent($event, 'rate9', 'rate10', 'rate1')"/>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+
|
|
|
|
|
+ </el-form>
|
|
|
|
|
+ <template #footer>
|
|
|
|
|
+ <div class="dialog-footer" style="display: flex; justify-content: flex-end; padding: 10px;">
|
|
|
|
|
+ <el-button type="primary" @click="updata_huhecloseDialog">取消</el-button>
|
|
|
|
|
+ <el-button type="primary" @click="updata_huheenterDialog">确定</el-button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </template>
|
|
|
|
|
+
|
|
|
|
|
+ </el-dialog>
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+<!-- 班组新增弹窗 -->
|
|
|
|
|
+<el-dialog
|
|
|
|
|
+ v-model="changeTeamVisible"
|
|
|
|
|
+ width="50%"
|
|
|
|
|
+ :before-close="() => { changeTeamVisible = false }"
|
|
|
|
|
+ :title="typestatus === 'create' ? '新增糊盒班组' : '修改糊盒班组'"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-form label-width="100px" :model="change_huheformdata">
|
|
|
|
|
+ <el-row :gutter="24" class="form-row">
|
|
|
|
|
+ <el-col :span="10">
|
|
|
|
|
+ <el-form-item label="机台编号" prop="jtbh">
|
|
|
|
|
+ <el-input v-model="change_huheformdata.jtbh" id="jtbh" placeholder="请输入机台编号" @keydown="add_gdzlent($event, '', 'jtbh', 'bz')" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="10">
|
|
|
|
|
+ <el-form-item label="班组" prop="bz">
|
|
|
|
|
+ <!-- 将 el-input 改为 el-select -->
|
|
|
|
|
+ <el-select v-model="change_huheformdata.bz" id="bz" placeholder="请选择班组" @keydown="add_gdzlent($event, 'jtbh', 'bz', 'role')">
|
|
|
|
|
+ <el-option
|
|
|
|
|
+ v-for="item in bzOptions"
|
|
|
|
|
+ :key="item.value"
|
|
|
|
|
+ :label="item.label"
|
|
|
|
|
+ :value="item.value">
|
|
|
|
|
+ </el-option>
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+</el-row>
|
|
|
|
|
+<el-row :gutter="24" class="form-row">
|
|
|
|
|
+ <el-col :span="10">
|
|
|
|
|
+ <el-form-item label="角色" prop="role">
|
|
|
|
|
+ <!-- 将 el-input 改为 el-select -->
|
|
|
|
|
+ <el-select v-model="change_huheformdata.role" id="role" placeholder="请选择角色" @keydown="add_gdzlent($event, 'bz', 'role', 'rate')">
|
|
|
|
|
+ <el-option
|
|
|
|
|
+ v-for="item in roleOptions"
|
|
|
|
|
+ :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="rate">
|
|
|
|
|
+ <el-input v-model="change_huheformdata.rate" id="rate" placeholder="请输入比例" @keydown="add_gdzlent($event, 'role', 'rate', 'bh1')" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+</el-row>
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ <el-row :gutter="24" class="form-row">
|
|
|
|
|
+ <el-col :span="24">
|
|
|
|
|
+ <el-form-item label="编号:" class="mab" prop="keyOrder" label-width='110'>
|
|
|
|
|
+ <el-input v-model="change_huheformdata.bh1" style="width: 80px;" id ='bh1' @keydown="add_gdzlent($event, 'rate', 'bh1', 'bh2','1')"/>
|
|
|
|
|
+ <el-input v-model="change_huheformdata.bh2" style="width: 80px;" id ='bh2' @keydown="add_gdzlent($event, 'bh1', 'bh2', 'bh3','2')"/>
|
|
|
|
|
+ <el-input v-model="change_huheformdata.bh3" style="width: 80px;" id ='bh3' @keydown="add_gdzlent($event, 'bh2', 'bh3', 'bh4','3')"/>
|
|
|
|
|
+ <el-input v-model="change_huheformdata.bh4" style="width: 80px;" id ='bh4' @keydown="add_gdzlent($event, 'bh3', 'bh4', 'bh5','4')"/>
|
|
|
|
|
+ <el-input v-model="change_huheformdata.bh5" style="width: 80px;" id ='bh5' @keydown="add_gdzlent($event, 'bh4', 'bh5', 'bh6','5')"/>
|
|
|
|
|
+ <el-input v-model="change_huheformdata.bh6" style="width: 80px;" id ='bh6' @keydown="add_gdzlent($event, 'bh5', 'bh6', 'bh7','6')"/>
|
|
|
|
|
+ <el-input v-model="change_huheformdata.bh7" style="width: 80px;" id ='bh7' @keydown="add_gdzlent($event, 'bh6', 'bh7', 'bh8','7')"/>
|
|
|
|
|
+ <el-input v-model="change_huheformdata.bh8" style="width: 80px;" id ='bh8' @keydown="add_gdzlent($event, 'bh7', 'bh8', 'bh9','8')"/>
|
|
|
|
|
+ <el-input v-model="change_huheformdata.bh9" style="width: 80px;" id ='bh9' @keydown="add_gdzlent($event, 'bh8', 'bh9', 'bh10','9')"/>
|
|
|
|
|
+ <el-input v-model="change_huheformdata.bh10" style="width: 80px;" id ='bh10' @keydown="add_gdzlent($event, 'bh9', 'bh10', 'bh11','10')"/>
|
|
|
|
|
+ <el-input v-model="change_huheformdata.bh11" style="width: 80px;" id ='bh11' @keydown="add_gdzlent($event, 'bh10', 'bh11', 'bh12','11')"/>
|
|
|
|
|
+ <el-input v-model="change_huheformdata.bh12" style="width: 80px;" id ='bh12' @keydown="add_gdzlent($event, 'bh11', 'bh12', 'bh13','12')"/>
|
|
|
|
|
+ <el-input v-model="change_huheformdata.bh13" style="width: 80px;" id ='bh13' @keydown="add_gdzlent($event, 'bh12', 'bh13', 'bh14','13')"/>
|
|
|
|
|
+ <el-input v-model="change_huheformdata.bh14" style="width: 80px;" id ='bh14' @keydown="add_gdzlent($event, 'bh13', 'bh14', 'bh15','14')"/>
|
|
|
|
|
+ <el-input v-model="change_huheformdata.bh15" style="width: 80px;" id ='bh15' @keydown="add_gdzlent($event, 'bh14', 'bh15', 'name1','15')"/>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+
|
|
|
|
|
+ <el-row :gutter="24" class="form-row">
|
|
|
|
|
+ <el-col :span="24">
|
|
|
|
|
+ <el-form-item label="人员:" class="mab" prop="keyOrder" label-width='110'>
|
|
|
|
|
+ <el-input v-model="change_huheformdata.name1" style="width: 80px;" id ='name1' @keydown="add_gdzlent($event, 'rate', 'name1', 'name2')"/>
|
|
|
|
|
+ <el-input v-model="change_huheformdata.name2" style="width: 80px;" id ='name2' @keydown="add_gdzlent($event, 'name1', 'name2', 'name3')"/>
|
|
|
|
|
+ <el-input v-model="change_huheformdata.name3" style="width: 80px;" id ='name3' @keydown="add_gdzlent($event, 'name2', 'name3', 'name4')"/>
|
|
|
|
|
+ <el-input v-model="change_huheformdata.name4" style="width: 80px;" id ='name4' @keydown="add_gdzlent($event, 'name3', 'name4', 'name5')"/>
|
|
|
|
|
+ <el-input v-model="change_huheformdata.name5" style="width: 80px;" id ='name5' @keydown="add_gdzlent($event, 'name4', 'name5', 'name6')"/>
|
|
|
|
|
+ <el-input v-model="change_huheformdata.name6" style="width: 80px;" id ='name6' @keydown="add_gdzlent($event, 'name5', 'name6', 'name7')"/>
|
|
|
|
|
+ <el-input v-model="change_huheformdata.name7" style="width: 80px;" id ='name7' @keydown="add_gdzlent($event, 'name6', 'name7', 'name8')"/>
|
|
|
|
|
+ <el-input v-model="change_huheformdata.name8" style="width: 80px;" id ='name8' @keydown="add_gdzlent($event, 'name7', 'name8', 'name9')"/>
|
|
|
|
|
+ <el-input v-model="change_huheformdata.name9" style="width: 80px;" id ='name9' @keydown="add_gdzlent($event, 'name8', 'name9', 'name10')"/>
|
|
|
|
|
+ <el-input v-model="change_huheformdata.name10" style="width: 80px;" id ='name10' @keydown="add_gdzlent($event, 'name9', 'name10', 'name11')"/>
|
|
|
|
|
+ <el-input v-model="change_huheformdata.name11" style="width: 80px;" id ='name11' @keydown="add_gdzlent($event, 'name10', 'name11', 'name12')"/>
|
|
|
|
|
+ <el-input v-model="change_huheformdata.name12" style="width: 80px;" id ='name12' @keydown="add_gdzlent($event, 'name11', 'name12', 'name13')"/>
|
|
|
|
|
+ <el-input v-model="change_huheformdata.name13" style="width: 80px;" id ='name13' @keydown="add_gdzlent($event, 'name12', 'name13', 'name14')"/>
|
|
|
|
|
+ <el-input v-model="change_huheformdata.name14" style="width: 80px;" id ='name14' @keydown="add_gdzlent($event, 'name13', 'name14', 'name15')"/>
|
|
|
|
|
+ <el-input v-model="change_huheformdata.name15" style="width: 80px;" id ='name15' @keydown="add_gdzlent($event, 'name14', 'name15', 'sys_id')"/>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+
|
|
|
|
|
+ <el-row :gutter="24" class="form-row">
|
|
|
|
|
+ <el-col :span="10">
|
|
|
|
|
+ <el-form-item label="类型" prop="desc">
|
|
|
|
|
+ <el-select
|
|
|
|
|
+ v-model="add_huheformdata.desc"
|
|
|
|
|
+ id="desc"
|
|
|
|
|
+ placeholder="请选择类型"
|
|
|
|
|
+ @keydown="add_gdzlent($event, 'bz', 'role', 'rate')"
|
|
|
|
|
+ @change="handleTypeChange"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-option
|
|
|
|
|
+ v-for="item in lxOptions"
|
|
|
|
|
+ :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="ins">
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ v-model="add_huheformdata.ins"
|
|
|
|
|
+ id="ins"
|
|
|
|
|
+ placeholder="请输入说明"
|
|
|
|
|
+ :disabled="!isBorrowEnabled"
|
|
|
|
|
+ @keydown="add_gdzlent($event, 'role', 'rate', 'bh1')"
|
|
|
|
|
+ />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ </el-form>
|
|
|
|
|
+ <template #footer>
|
|
|
|
|
+ <div class="dialog-footer" style="display: flex; justify-content: flex-end; padding: 10px;">
|
|
|
|
|
+ <el-button type="primary" @click="change_huhecloseDialog">取消</el-button>
|
|
|
|
|
+ <el-button type="primary" @click="change_huheenterDialog">确定</el-button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </template>
|
|
|
|
|
+</el-dialog>
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 组员及分配比例 -->
|
|
|
|
|
+ <el-dialog v-model="blModel" :before-close="() => blModel = false" style="width: 20%" @keydown="selectBZRR($event)">
|
|
|
|
|
+ <el-form>
|
|
|
|
|
+ <div>
|
|
|
|
|
+ <el-table :data="employeeData" border :show-overflow-tooltip="true" :cell-class-name="blplanUsageCellClass"
|
|
|
|
|
+ highlight-current-row="true"
|
|
|
|
|
+ ref="tableBZRR"
|
|
|
|
|
+ @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-main>
|
|
|
|
|
+ </layout-content>
|
|
|
|
|
+ </layout>
|
|
|
|
|
+ </layout>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <script setup>
|
|
|
|
|
+ // 全量引入格式化工具 请按需保留
|
|
|
|
|
+ import { Layout, LayoutSider, LayoutContent } from '@arco-design/web-vue';
|
|
|
|
|
+ import { getTab,getGluingClassLList,GetProduction,setMachineTeam,AddGluingReportData,getGluingReportDataList,getGluingReportDataDetail,getGluingReportDetailUpdate,UpdateGluingReportClass,getGluingcoleTab, getGluingcoleList,GluingReportList, getGluingcoleDetail, getGluingcoleDetaiEdit, UpdateGluingcoleStatus,
|
|
|
|
|
+ saveGluingcoleDetail, AddGluingClass, UpdateGluingClass,getGluingcole} from '@/api/mes/huhejob'
|
|
|
|
|
+ import {
|
|
|
|
|
+ facilityProduction,
|
|
|
|
|
+ facilityWorklist,
|
|
|
|
|
+ facilityProcedure,
|
|
|
|
|
+ MachineDetailList,
|
|
|
|
|
+ getTimelist,
|
|
|
|
|
+ reportInfo,
|
|
|
|
|
+ getYg,
|
|
|
|
|
+} from '@/api/jixiaoguanli/jitairibaobiao'
|
|
|
|
|
+ import {ref, reactive,watch,computed} from 'vue'
|
|
|
|
|
+ import { useUserStore } from '@/pinia/modules/user'
|
|
|
|
|
+ import { exportExcelFile } from '@/utils/excel'
|
|
|
|
|
+ import {ElMessage} from "element-plus";
|
|
|
|
|
+// import { el } from 'element-plus/es/locale';
|
|
|
|
|
+ defineOptions({name: 'Company'})
|
|
|
|
|
+
|
|
|
|
|
+ const userStore = useUserStore()
|
|
|
|
|
+const sys_id='['+userStore.userInfo.userName+'/'+userStore.userInfo.nickName+']'
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ const treeData=ref([])
|
|
|
|
|
+
|
|
|
|
|
+ const getTableData = async () => {
|
|
|
|
|
+ const response = await getTab();
|
|
|
|
|
+ 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
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ const childrenNodes = machines[machineName].map(dateTime => {
|
|
|
|
|
+ const dateOnly = dateTime.split(' ')[0];
|
|
|
|
|
+ return {
|
|
|
|
|
+ label: dateOnly,
|
|
|
|
|
+ machineName:machineName,
|
|
|
|
|
+ level: 3, // 添加层级属性
|
|
|
|
|
+ parentNode: machineNode
|
|
|
|
|
+ };
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+ machineNode.children = childrenNodes;
|
|
|
|
|
+
|
|
|
|
|
+ workshopNode.children.push(machineNode);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ treeData.value.push(workshopNode);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+};
|
|
|
|
|
+getTableData()
|
|
|
|
|
+
|
|
|
|
|
+const activName = ref('first')
|
|
|
|
|
+const DelType = ref(false)
|
|
|
|
|
+const AddType = ref(false)
|
|
|
|
|
+let CJMC=ref()
|
|
|
|
|
+let JTMC=ref()
|
|
|
|
|
+let BZMC=ref()
|
|
|
|
|
+let JTMCOn=ref()
|
|
|
|
|
+let showbutton=ref()
|
|
|
|
|
+let dateOn=ref()
|
|
|
|
|
+const nodedate=ref()
|
|
|
|
|
+const sbzyData = reactive([])
|
|
|
|
|
+const FPData = ref()
|
|
|
|
|
+const CLMXData = reactive([])
|
|
|
|
|
+const gytableData = ref([])
|
|
|
|
|
+const isTHJT = ref(false)
|
|
|
|
|
+const handleNodeClick = (nodeData,node) => {
|
|
|
|
|
+ // 取消所有节点的颜色
|
|
|
|
|
+ const allNodes = document.querySelectorAll('.treecolor .el-tree-node');
|
|
|
|
|
+ allNodes.forEach(node => {
|
|
|
|
|
+ node.querySelector('.el-tree-node__label').style.color = '';
|
|
|
|
|
+ });
|
|
|
|
|
+ // 获取点击的节点
|
|
|
|
|
+ const clickedNodeId = node['id'];
|
|
|
|
|
+ const clickedNode = document.querySelector(`.treecolor .el-tree-node[data-key="${clickedNodeId}"]`);
|
|
|
|
|
+ if (clickedNode) {
|
|
|
|
|
+ // 给当前点击的节点改变颜色
|
|
|
|
|
+ clickedNode.querySelector('.el-tree-node__label').style.color = 'red';
|
|
|
|
|
+ }
|
|
|
|
|
+ console.log(nodeData)
|
|
|
|
|
+
|
|
|
|
|
+ if (nodeData.level === 1) {
|
|
|
|
|
+ CJMC.value=node.label
|
|
|
|
|
+ showbutton.value=true
|
|
|
|
|
+ JTMCOn.value=false
|
|
|
|
|
+ dateOn.value=false
|
|
|
|
|
+ MachinelList()
|
|
|
|
|
+ DelType.value = false
|
|
|
|
|
+ AddType.value = false
|
|
|
|
|
+ // MachineVisible.value=true
|
|
|
|
|
+ } else if (nodeData.level === 2) {
|
|
|
|
|
+ sbzyData.length = 0;
|
|
|
|
|
+ FPData.value=[]
|
|
|
|
|
+ CLMXData.length=0;
|
|
|
|
|
+ JTMC=node.label.split("-")[0]
|
|
|
|
|
+ CJMC.value=nodeData.parentNode.label
|
|
|
|
|
+ JTMCOn.value=true
|
|
|
|
|
+ dateOn.value=false
|
|
|
|
|
+ showbutton.value=false
|
|
|
|
|
+ FacilityProduction()
|
|
|
|
|
+ fetchFacilityWorklist()
|
|
|
|
|
+ Nodemachine.value=nodeData.label.split("-")[0]
|
|
|
|
|
+ DelType.value = true
|
|
|
|
|
+ AddType.value = true
|
|
|
|
|
+ }
|
|
|
|
|
+ else if (nodeData.level === 3) {
|
|
|
|
|
+ CJMC.value=nodeData.parentNode.parentNode.label
|
|
|
|
|
+ JTMC=nodeData.machineName.split("-")[0]
|
|
|
|
|
+ // 等于TH开头的机台
|
|
|
|
|
+ // if (/^TH.+/.test(JTMC)) {
|
|
|
|
|
+ // isTHJT.value = true
|
|
|
|
|
+ // JTMCOn.value=false
|
|
|
|
|
+ // dateOn.value=true
|
|
|
|
|
+ // FacilityInspect()
|
|
|
|
|
+ // JPmachineDetails(JTMC, nodeData.label);
|
|
|
|
|
+
|
|
|
|
|
+ // nodedate=node.label
|
|
|
|
|
+ // JPgytableData.value=[]
|
|
|
|
|
+ // showbutton.value=false
|
|
|
|
|
+ // DelType.value = true
|
|
|
|
|
+ // AddType.value = true
|
|
|
|
|
+ // } else {
|
|
|
|
|
+ isTHJT.value = false
|
|
|
|
|
+ JTMCOn.value=false
|
|
|
|
|
+ dateOn.value=true
|
|
|
|
|
+ nodedate.value=node.label
|
|
|
|
|
+ gytableData.value=[]
|
|
|
|
|
+ showbutton.value=false
|
|
|
|
|
+ // FacilityInspect()
|
|
|
|
|
+ FacilitychanLiang()
|
|
|
|
|
+ DelType.value = false
|
|
|
|
|
+ AddType.value = false
|
|
|
|
|
+ // }
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+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:'',
|
|
|
|
|
+ sczl_role1:'',
|
|
|
|
|
+ sczl_role2:'',
|
|
|
|
|
+ sczl_role3:'',
|
|
|
|
|
+ sczl_role4:'',
|
|
|
|
|
+ sczl_role5:'',
|
|
|
|
|
+ sczl_role6:'',
|
|
|
|
|
+ sczl_role7:'',
|
|
|
|
|
+ sczl_role8:'',
|
|
|
|
|
+ sczl_role9:'',
|
|
|
|
|
+ sczl_role10:'',
|
|
|
|
|
+ sczl_rate1:'',
|
|
|
|
|
+ sczl_rate2:'',
|
|
|
|
|
+ sczl_rate3:'',
|
|
|
|
|
+ sczl_rate4:'',
|
|
|
|
|
+ sczl_rate5:'',
|
|
|
|
|
+ sczl_rate6:'',
|
|
|
|
|
+ sczl_rate7:'',
|
|
|
|
|
+ sczl_rate8:'',
|
|
|
|
|
+ sczl_rate9:'',
|
|
|
|
|
+ sczl_rate10:'',
|
|
|
|
|
+})
|
|
|
|
|
+
|
|
|
|
|
+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:'',
|
|
|
|
|
+ 组员1: { 角色:'', 编号: '', 姓名: '', 比例: '' },
|
|
|
|
|
+ 组员2: { 角色:'', 编号: '', 姓名: '', 比例: '' },
|
|
|
|
|
+ 组员3: { 角色:'', 编号: '', 姓名: '', 比例: '' },
|
|
|
|
|
+ 组员4: { 角色:'', 编号: '', 姓名: '', 比例: '' },
|
|
|
|
|
+ 组员5: { 角色:'', 编号: '', 姓名: '', 比例: '' },
|
|
|
|
|
+ 组员6: { 角色:'', 编号: '', 姓名: '', 比例: '' },
|
|
|
|
|
+ 组员7: { 角色:'', 编号: '', 姓名: '', 比例: '' },
|
|
|
|
|
+ 组员8: { 角色:'', 编号: '', 姓名: '', 比例: '' },
|
|
|
|
|
+ 组员9: { 角色:'', 编号: '', 姓名: '', 比例: '' },
|
|
|
|
|
+ 组员10: { 角色:'', 编号: '', 姓名: '', 比例: '' }
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+const machineData = reactive([])
|
|
|
|
|
+const MachinelList = async () => {
|
|
|
|
|
+ const response = await MachineDetailList({workshop:CJMC.value});
|
|
|
|
|
+ if (response.code === 0) {
|
|
|
|
|
+ machineData.splice(0, machineData.length, ...response.data);
|
|
|
|
|
+ console.log(machineData)
|
|
|
|
|
+ // return require(`@/assets/${machineData.状态}.png`);
|
|
|
|
|
+ // MachineVisible.value=true
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+const classbz=ref([])
|
|
|
|
|
+//保存班组
|
|
|
|
|
+const Bzlist = ref([])
|
|
|
|
|
+//当前生产订单
|
|
|
|
|
+const FacilityProduction = async () => {
|
|
|
|
|
+ console.log('111')
|
|
|
|
|
+
|
|
|
|
|
+ const response = await GetProduction({machine:JTMC});
|
|
|
|
|
+ if (response.code === 0) {
|
|
|
|
|
+ console.log(response)
|
|
|
|
|
+ if(response.data===null){
|
|
|
|
|
+ formData.value.工单编号 = '';
|
|
|
|
|
+ formData.value.印件编号 = '';
|
|
|
|
|
+ formData.value.工序号 = '';
|
|
|
|
|
+ formData.value.工序名称 = '';
|
|
|
|
|
+ formData.value.产品名称 = '';
|
|
|
|
|
+ formData.value.班组Id=''
|
|
|
|
|
+ formData.value.machine=JTMC
|
|
|
|
|
+ formData.value.状态=''
|
|
|
|
|
+ let sczl_bhkey=''
|
|
|
|
|
+ let sczl_namekey=''
|
|
|
|
|
+ for (let i = 0; i < 6; i++) {
|
|
|
|
|
+ sczl_bhkey=`sczl_bh${i+1}`
|
|
|
|
|
+ sczl_namekey=`sczl_name${i+1}`
|
|
|
|
|
+ formData.value[sczl_bhkey] = '';
|
|
|
|
|
+ formData.value[sczl_namekey] = '';
|
|
|
|
|
+ }
|
|
|
|
|
+ console.log(sbzyData)
|
|
|
|
|
+ }else{
|
|
|
|
|
+ Bzlist.value=response.data.班组成员
|
|
|
|
|
+ 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.班组ID=response.data.班组ID
|
|
|
|
|
+ formData.value.machine=JTMC
|
|
|
|
|
+ formData.value.状态=response.data.状态
|
|
|
|
|
+ formData3.value.定额代号=response.data.定额代号
|
|
|
|
|
+ formData3.value.开工时间=response.data.开工时间
|
|
|
|
|
+ formData3.value.联数=response.data.联数
|
|
|
|
|
+
|
|
|
|
|
+ let sczl_bhkey=''
|
|
|
|
|
+ let sczl_namekey=''
|
|
|
|
|
+ let sczl_rolekey=''
|
|
|
|
|
+ let sczl_ratekey=''
|
|
|
|
|
+ if (response.data.班组成员) {
|
|
|
|
|
+ const memberCount = Math.min(Object.keys(response.data.班组成员).length, 6);
|
|
|
|
|
+
|
|
|
|
|
+ for (let i = 0; i < 6; i++) {
|
|
|
|
|
+ const sczl_bhkey = `sczl_bh${i+1}`;
|
|
|
|
|
+ const sczl_namekey = `sczl_name${i+1}`;
|
|
|
|
|
+ const sczl_rolekey = `sczl_role${i+1}`;
|
|
|
|
|
+ const sczl_ratekey = `sczl_rate${i+1}`;
|
|
|
|
|
+
|
|
|
|
|
+ if (i < memberCount) {
|
|
|
|
|
+ // 有数据的位置填充新数据
|
|
|
|
|
+ formData.value[sczl_bhkey] = response.data.班组成员[i]['编号'];
|
|
|
|
|
+ formData.value[sczl_namekey] = response.data.班组成员[i]['姓名'];
|
|
|
|
|
+ formData.value[sczl_rolekey] = response.data.班组成员[i]['角色'];
|
|
|
|
|
+ formData.value[sczl_ratekey] = response.data.班组成员[i]['比例'];
|
|
|
|
|
+ classbz.value[i] = response.data.班组成员[i]['编号'];
|
|
|
|
|
+ } else {
|
|
|
|
|
+ // 没有数据的位置清空
|
|
|
|
|
+ formData.value[sczl_bhkey] = '';
|
|
|
|
|
+ formData.value[sczl_namekey] = '';
|
|
|
|
|
+ formData.value[sczl_rolekey] = '';
|
|
|
|
|
+ formData.value[sczl_ratekey] = '';
|
|
|
|
|
+ classbz.value[i] = '';
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ formData.value.class=classbz.value.join(',')
|
|
|
|
|
+ formData.value.JTMC=JTMC
|
|
|
|
|
+ const responses = await MachineDetailList({workshop:CJMC.value});
|
|
|
|
|
+ if(responses.code===0){
|
|
|
|
|
+ responses.data.map(item=>{
|
|
|
|
|
+ if(item.设备编号==JTMC){
|
|
|
|
|
+ formData.value.status=item.状态
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ console.log(formData.value)
|
|
|
|
|
+ // getTableData()
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+const selectData = ref([])
|
|
|
|
|
+//设备工作清单
|
|
|
|
|
+const fetchFacilityWorklist = async () => {
|
|
|
|
|
+
|
|
|
|
|
+ const response = await facilityWorklist({machine:JTMC});
|
|
|
|
|
+ console.log('111')
|
|
|
|
|
+
|
|
|
|
|
+ if (response.code === 0) {
|
|
|
|
|
+ // console.log(response)
|
|
|
|
|
+ sbzyData.splice(0, sbzyData.length, ...response.data);
|
|
|
|
|
+ const res = await facilityProcedure({ Gd_gdbh: sbzyData[0]['工单编号|质量信息'].substring(0, 7) })
|
|
|
|
|
+ formData.value.productCode= response.data[0]['产品代号']
|
|
|
|
|
+ // console.log(res)
|
|
|
|
|
+ if (res.code === 0) {
|
|
|
|
|
+ selectData.value = res.data
|
|
|
|
|
+ }
|
|
|
|
|
+ // console.log('33333')
|
|
|
|
|
+ }
|
|
|
|
|
+ getGluingClassLLists(JTMC)
|
|
|
|
|
+
|
|
|
|
|
+}
|
|
|
|
|
+const getGluingClassLLists = async (value) => {
|
|
|
|
|
+ console.log('222')
|
|
|
|
|
+ const listRes = await getGluingClassLList({ machine: value })
|
|
|
|
|
+ if (listRes.code === 0) {
|
|
|
|
|
+ BZMC.value=listRes.data[0].bz
|
|
|
|
|
+ FPData.value = listRes.data
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+//设备作业清单单击
|
|
|
|
|
+const sbonclick = async(row) => {
|
|
|
|
|
+ console.log(row)
|
|
|
|
|
+ // const Procedurelist = await Procedure({ Gd_gdbh: row['工单编号|质量信息'].replace(/\|$/, '') })
|
|
|
|
|
+ // selectData.value = Procedurelist.data;
|
|
|
|
|
+ // cpcode.value=row.产品代号
|
|
|
|
|
+ formData.value.工单编号 = row['工单编号|质量信息'].replace(/\|$/, '')
|
|
|
|
|
+ formData.value.印件编号 = row['印件资料'].slice(0, 2)
|
|
|
|
|
+ formData.value.productCode = row.产品代号
|
|
|
|
|
+ formData.value.产品名称 = row.产品名称
|
|
|
|
|
+ formData.value.工序名称 = row.工序名称
|
|
|
|
|
+ // _gdbhlist.value = row['工单编号|质量信息'].split('|')[0]
|
|
|
|
|
+ // finishedcode.value=row.产品代号
|
|
|
|
|
+ // const res = await getProductData({product_code:row.产品代号});
|
|
|
|
|
+ // ybtableData.splice(0, ybtableData.length, ...res.data.ybData);
|
|
|
|
|
+ // const response = await facilityPrintDetail({ workOrder: lcd_Gd_gdbh.value,code:'',productCode:row.产品代号,page:ybpage.value,limit:ybpageSize.value });
|
|
|
|
|
+ // // 检查接口返回的状态码
|
|
|
|
|
+ // if (response.code === 0) {
|
|
|
|
|
+ // ybtotal.value = response.data.total
|
|
|
|
|
+ // yinbanselectData.value=response.data.data
|
|
|
|
|
+ // }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 处理班组选择变化
|
|
|
|
|
+const BzhandleSelectionChange = (val) => {
|
|
|
|
|
+ console.log('选中的值:', val);
|
|
|
|
|
+
|
|
|
|
|
+ // 验证班组一致性
|
|
|
|
|
+ const bzSet = new Set(val.map(item => item.bz));
|
|
|
|
|
+ if (bzSet.size > 1) {
|
|
|
|
|
+ // 弹出报错:不能选择不同班组的数据
|
|
|
|
|
+ ElMessage.error('不能选择不同班组的数据!');
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 验证角色重复性
|
|
|
|
|
+ const roleSet = new Set();
|
|
|
|
|
+ const duplicateRoles = [];
|
|
|
|
|
+
|
|
|
|
|
+ val.forEach(item => {
|
|
|
|
|
+ if (roleSet.has(item.role)) {
|
|
|
|
|
+ duplicateRoles.push(item.role);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ roleSet.add(item.role);
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+ if (duplicateRoles.length > 0) {
|
|
|
|
|
+ // 弹出报错:不能重复选择相同角色数据
|
|
|
|
|
+ ElMessage.error(`不能重复选择相同角色数据!重复的角色:${duplicateRoles.join(', ')}`);
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 所有验证通过,更新班组Id
|
|
|
|
|
+ formData.value.班组Id = val.map(item => item.id).join(',');
|
|
|
|
|
+ console.log('最终班组Id:', formData.value.班组Id);
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
|
|
+// 处理班组双击
|
|
|
|
|
+const bzupdateCompanyFunc = (row) => {
|
|
|
|
|
+ console.log('双击的班组:', row);
|
|
|
|
|
+ SetMachineTeams(row)
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
|
|
+ //数据接口调用
|
|
|
|
|
+ const SetMachineTeams = async(row) => {
|
|
|
|
|
+ console.log(formData.value.工单编号)
|
|
|
|
|
+ console.log(row)
|
|
|
|
|
+ const res = await setMachineTeam({
|
|
|
|
|
+ machine: JTMC.split("#")[0],
|
|
|
|
|
+ order: formData.value.工单编号,
|
|
|
|
|
+ yjno: formData.value.印件编号,
|
|
|
|
|
+ gy_name:formData.value.工序名称,
|
|
|
|
|
+ sczl_bzdh:row.bz,
|
|
|
|
|
+ status:'生产',
|
|
|
|
|
+ team_id:formData.value.班组Id
|
|
|
|
|
+ })
|
|
|
|
|
+ console.log(res)
|
|
|
|
|
+ if (res.code === 0) {
|
|
|
|
|
+ FacilityProduction()
|
|
|
|
|
+ //成功
|
|
|
|
|
+ successres('切换班组成功');
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 处理设备双击
|
|
|
|
|
+const sbupdateCompanyFunc = (row) => {
|
|
|
|
|
+ console.log('双击:', row);
|
|
|
|
|
+ setMachineTeams(row)
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
|
|
+ //数据接口调用
|
|
|
|
|
+ const setMachineTeams = async(row) => {
|
|
|
|
|
+ console.log(formData.value.工单编号)
|
|
|
|
|
+ console.log(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:'生产',
|
|
|
|
|
+ team_id:formData.value.班组ID
|
|
|
|
|
+ })
|
|
|
|
|
+ console.log(res)
|
|
|
|
|
+ if (res.code === 0) {
|
|
|
|
|
+ FacilityProduction()
|
|
|
|
|
+ //成功
|
|
|
|
|
+ successres('切换工单成功');
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ 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 chanliangVisible = ref(false)
|
|
|
|
|
+ const ReportInfo = async () => {
|
|
|
|
|
+ console.log(Bzlist.value)
|
|
|
|
|
+ const getTimelistss = await getTimelist();
|
|
|
|
|
+ console.log(getTimelistss)
|
|
|
|
|
+ console.log("获取下机时间")
|
|
|
|
|
+ console.log(formData)
|
|
|
|
|
+ //4.1获取报工单其他信息接口
|
|
|
|
|
+ // 日产量上报上机时间
|
|
|
|
|
+ const newData = {
|
|
|
|
|
+ order: formData.value.工单编号,
|
|
|
|
|
+ yjno: formData.value.印件编号,
|
|
|
|
|
+ gxh: formData.value.工序名称.substring(0, 2),
|
|
|
|
|
+ gxmc: formData.value.工序名称,
|
|
|
|
|
+ product_name: formData.value.产品名称,
|
|
|
|
|
+ // yj_name: order_info.yj_name,
|
|
|
|
|
+ // gy_name: order_info.gy_name,
|
|
|
|
|
+ 日期:getTimelistss.data.date,
|
|
|
|
|
+ 下机时间:getTimelistss.data.hours,
|
|
|
|
|
+ // 上机时间:formData3.value.开工时间,
|
|
|
|
|
+ 制程废品:0,
|
|
|
|
|
+ 来料数量:0,
|
|
|
|
|
+ 装版工时:0,
|
|
|
|
|
+ 异常工时:0,
|
|
|
|
|
+ 异常类型:'',
|
|
|
|
|
+ 保养工时:0,
|
|
|
|
|
+ 通电工时:0,
|
|
|
|
|
+ Gy0_ls:formData3.value.联数,
|
|
|
|
|
+ // 定额代号: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,
|
|
|
|
|
+ // Gy0_ms:order_info.Gy0_ms,
|
|
|
|
|
+ // Gy0_ls:order_info.Gy0_ls,
|
|
|
|
|
+ };
|
|
|
|
|
+ formData3.value = { ...formData3.value, ...newData };
|
|
|
|
|
+ const memberCount = Math.min(Object.keys(Bzlist.value).length, 10);
|
|
|
|
|
+
|
|
|
|
|
+for (let i = 0; i < 10; i++) {
|
|
|
|
|
+ const memberKey = `组员${i+1}`;
|
|
|
|
|
+
|
|
|
|
|
+ // 初始化成员对象
|
|
|
|
|
+ if (!formData3.value[memberKey]) {
|
|
|
|
|
+ formData3.value[memberKey] = {};
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (i < memberCount && Bzlist.value[i]) {
|
|
|
|
|
+ // 有数据的位置填充新数据
|
|
|
|
|
+ formData3.value[memberKey]['编号'] = Bzlist.value[i]['编号'] || '';
|
|
|
|
|
+ formData3.value[memberKey]['姓名'] = Bzlist.value[i]['姓名'] || '';
|
|
|
|
|
+ formData3.value[memberKey]['角色'] = Bzlist.value[i]['角色'] || '';
|
|
|
|
|
+ formData3.value[memberKey]['比例'] = Bzlist.value[i]['比例'] || '';
|
|
|
|
|
+ } else {
|
|
|
|
|
+ // 没有数据的位置清空
|
|
|
|
|
+ formData3.value[memberKey] = {
|
|
|
|
|
+ '编号': '',
|
|
|
|
|
+ '姓名': '',
|
|
|
|
|
+ '角色': '',
|
|
|
|
|
+ '比例': ''
|
|
|
|
|
+ };
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+ chanliangVisible.value = true
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 提交日产量上报
|
|
|
|
|
+ const chanliangenterDialog = async () => {
|
|
|
|
|
+ SubmitDailyProduction()
|
|
|
|
|
+ isSubmitting.value = false
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ const SubmitDailyProduction = async () => {
|
|
|
|
|
+ const params = {
|
|
|
|
|
+ sczl_jtbh: JTMC,
|
|
|
|
|
+ sczl_gdbh: formData3.value.order,
|
|
|
|
|
+ sczl_yjno: formData3.value.yjno,
|
|
|
|
|
+ sczl_gxh: formData3.value.gxh,
|
|
|
|
|
+ sczl_gxmc: formData3.value.gxmc,
|
|
|
|
|
+ 来料数量: formData3.value.来料数量,
|
|
|
|
|
+ sczl_cl: formData3.value.产量,
|
|
|
|
|
+ sczl_zcfp: formData3.value.制程废品,
|
|
|
|
|
+ startTime: formData3.value.上机时间||formData3.value.开工时间,
|
|
|
|
|
+ endTime: formData3.value.下机时间||'',
|
|
|
|
|
+ sczl_rq: formData3.value.日期,
|
|
|
|
|
+ sczl_ls: formData3.value.Gy0_ls,
|
|
|
|
|
+ sczl_dedh: formData3.value.定额代号,
|
|
|
|
|
+ 工价系数: formData3.value.工价系数||1,
|
|
|
|
|
+ 保养工时: formData3.value.保养工时,
|
|
|
|
|
+ 装版工时: formData3.value.装版工时,
|
|
|
|
|
+ 异常工时: formData3.value.异常工时,
|
|
|
|
|
+ 异常类型: formData3.value.异常类型,
|
|
|
|
|
+ 设备运行工时: formData3.value.通电工时,
|
|
|
|
|
+ role: formData.value.班组ID,
|
|
|
|
|
+ sys_id: userStore.userInfo.nickName,
|
|
|
|
|
+ }
|
|
|
|
|
+ console.log(params)
|
|
|
|
|
+ // return;
|
|
|
|
|
+ const response = await AddGluingReportData(params);
|
|
|
|
|
+ console.log(response)
|
|
|
|
|
+ if (response.code === 0) {
|
|
|
|
|
+ FacilityDetail()
|
|
|
|
|
+ isSubmitting.value = true
|
|
|
|
|
+ chanliangVisible.value = false
|
|
|
|
|
+ ElMessage({ type: 'success', message: '提交成功' });
|
|
|
|
|
+ }else{
|
|
|
|
|
+ ElMessage({ type: 'error', message: '提交失败' });
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 关闭弹窗
|
|
|
|
|
+const closeDialog = () => {
|
|
|
|
|
+ chanliangVisible.value=false
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ const FacilitychanLiang = async () => {
|
|
|
|
|
+ try {
|
|
|
|
|
+ const response = await getGluingReportDataList({
|
|
|
|
|
+ machine: JTMC,
|
|
|
|
|
+ day: nodedate.value
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+ console.log('原始数据:', response);
|
|
|
|
|
+
|
|
|
|
|
+ if (response.code === 0) {
|
|
|
|
|
+ const processedData = processTableData(response.data);
|
|
|
|
|
+ gytableData.value = processedData;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ console.error('API返回错误:', response.msg);
|
|
|
|
|
+ gytableData.value = [];
|
|
|
|
|
+ }
|
|
|
|
|
+ } catch (error) {
|
|
|
|
|
+ console.error('获取数据失败:', error);
|
|
|
|
|
+ gytableData.value = [];
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 专门的数据处理函数
|
|
|
|
|
+const processTableData = (data) => {
|
|
|
|
|
+ return Object.values(data).map(item => {
|
|
|
|
|
+ // 映射组员信息
|
|
|
|
|
+ mapClassMembers(item);
|
|
|
|
|
+
|
|
|
|
|
+ // 格式化其他字段
|
|
|
|
|
+ formatOtherFields(item);
|
|
|
|
|
+
|
|
|
|
|
+ return item;
|
|
|
|
|
+ });
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 组员信息映射
|
|
|
|
|
+const mapClassMembers = (item) => {
|
|
|
|
|
+ if (item.class && Array.isArray(item.class)) {
|
|
|
|
|
+ // 先清空现有的组员字段
|
|
|
|
|
+ for (let i = 1; i <= 10; i++) {
|
|
|
|
|
+ item[`组员${i}`] = '';
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 重新填充组员数据
|
|
|
|
|
+ item.class.forEach((member, index) => {
|
|
|
|
|
+ if (index < 10) { // 最多10个组员
|
|
|
|
|
+ const memberField = `组员${index + 1}`;
|
|
|
|
|
+ item[memberField] = `${member.姓名} (${member.角色}) ${(parseFloat(member.比例) * 100).toFixed(1)}%`;
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ return item;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 格式化其他字段
|
|
|
|
|
+const formatOtherFields = (item) => {
|
|
|
|
|
+ // 格式化数字字段
|
|
|
|
|
+ const numberFields = ['产量', '制程废品', '来料数量', '异常工时', '装版工时', '保养工时'];
|
|
|
|
|
+ numberFields.forEach(field => {
|
|
|
|
|
+ if (item[field] !== null && item[field] !== undefined) {
|
|
|
|
|
+ item[field] = Number(item[field]);
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+// // 格式化时间显示(可选)
|
|
|
|
|
+// if (item.修改时间) {
|
|
|
|
|
+// item.修改时间 = formatDateTime(item.修改时间);
|
|
|
|
|
+// }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+const gyformdata = ref({
|
|
|
|
|
+ 工单编号: '',
|
|
|
|
|
+ cpmc: '',
|
|
|
|
|
+ yjno: '',
|
|
|
|
|
+ yjmc: '',
|
|
|
|
|
+ gxmc: '',
|
|
|
|
|
+ gxh: '',
|
|
|
|
|
+ gymc: '',
|
|
|
|
|
+ rq: '',
|
|
|
|
|
+ starttime: '',
|
|
|
|
|
+ num: '',
|
|
|
|
|
+ sj1: '',
|
|
|
|
|
+ sj2: '',
|
|
|
|
|
+ 色度数: '',
|
|
|
|
|
+ 联数: '',
|
|
|
|
|
+ 产量: '',
|
|
|
|
|
+ 制程废品: '',
|
|
|
|
|
+ 制程次品: '',
|
|
|
|
|
+ 前工序废: '',
|
|
|
|
|
+ 来料异常: '',
|
|
|
|
|
+ 装版总工时: '',
|
|
|
|
|
+ 装版工时: '',
|
|
|
|
|
+ 打样总工时: '',
|
|
|
|
|
+ 打样工时: '',
|
|
|
|
|
+ 保养工时: '',
|
|
|
|
|
+ 异常总工时: '',
|
|
|
|
|
+ 异常类型: '',
|
|
|
|
|
+ 异常补时: '',
|
|
|
|
|
+ 通电工时: '',
|
|
|
|
|
+ dedh: '',
|
|
|
|
|
+ 码包: '',
|
|
|
|
|
+ 码开始行: '',
|
|
|
|
|
+ 码结束行: '',
|
|
|
|
|
+ 主电表: '',
|
|
|
|
|
+ 辅电表: '',
|
|
|
|
|
+ bzdh: '',
|
|
|
|
|
+ // 初始化组员数据结构
|
|
|
|
|
+ 组员1: { 角色:'', 编号: '', 姓名: '', 比例: '' },
|
|
|
|
|
+ 组员2: { 角色:'', 编号: '', 姓名: '', 比例: '' },
|
|
|
|
|
+ 组员3: { 角色:'', 编号: '', 姓名: '', 比例: '' },
|
|
|
|
|
+ 组员4: { 角色:'', 编号: '', 姓名: '', 比例: '' },
|
|
|
|
|
+ 组员5: { 角色:'', 编号: '', 姓名: '', 比例: '' },
|
|
|
|
|
+ 组员6: { 角色:'', 编号: '', 姓名: '', 比例: '' },
|
|
|
|
|
+ 组员7: { 角色:'', 编号: '', 姓名: '', 比例: '' },
|
|
|
|
|
+ 组员8: { 角色:'', 编号: '', 姓名: '', 比例: '' },
|
|
|
|
|
+ 组员9: { 角色:'', 编号: '', 姓名: '', 比例: '' },
|
|
|
|
|
+ 组员10: { 角色:'', 编号: '', 姓名: '', 比例: '' }
|
|
|
|
|
+})
|
|
|
|
|
+
|
|
|
|
|
+const gychanliangVisible = ref(false)
|
|
|
|
|
+
|
|
|
|
|
+const gytableDatadoubleClick = async(row) => {
|
|
|
|
|
+ console.log('双击行数据:', row)
|
|
|
|
|
+ GYID.value = row.Uid
|
|
|
|
|
+ try {
|
|
|
|
|
+ const res = await getGluingReportDataDetail({id: row.Uid})
|
|
|
|
|
+ console.log('API响应:', res)
|
|
|
|
|
+
|
|
|
|
|
+ if(res.code === 0 && res.data){
|
|
|
|
|
+ // 先重置表单数据
|
|
|
|
|
+ Object.assign(gyformdata.value, {
|
|
|
|
|
+ 工单编号: '',
|
|
|
|
|
+ cpmc: '',
|
|
|
|
|
+ // ... 其他字段重置
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
|
|
+ // 映射API数据到表单
|
|
|
|
|
+ const apiData = res.data
|
|
|
|
|
+ gyformdata.value = {
|
|
|
|
|
+ ...gyformdata.value, // 保留初始结构
|
|
|
|
|
+ ...apiData, // 覆盖API数据
|
|
|
|
|
+ cpmc: apiData.产品名称 || '',
|
|
|
|
|
+ sczl_jtbh:JTMC,
|
|
|
|
|
+ yjno: apiData.印件号 || '',
|
|
|
|
|
+ yjmc: apiData.印件名称 || '',
|
|
|
|
|
+ gxmc: apiData.工序名称 || '',
|
|
|
|
|
+ gxh: apiData.工序号 || '',
|
|
|
|
|
+ dedh: apiData.定额代号 || '',
|
|
|
|
|
+ rq: nodedate.value || '',
|
|
|
|
|
+ starttime: apiData.日期 || '',
|
|
|
|
|
+ sj1: apiData.开始时间 || '',
|
|
|
|
|
+ sj2: apiData.结束时间 || '',
|
|
|
|
|
+ 联数: apiData.联数 || '',
|
|
|
|
|
+ 产量: apiData.产量 || '',
|
|
|
|
|
+ 制程废品: apiData.制程废品 || '',
|
|
|
|
|
+ 异常类型: apiData.异常类型 || '',
|
|
|
|
|
+ 保养工时: apiData.保养工时 || '',
|
|
|
|
|
+ 装版工时: apiData.装版工时 || ''
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 处理组员数据
|
|
|
|
|
+ if (apiData.class && Array.isArray(apiData.class)) {
|
|
|
|
|
+ apiData.class.forEach((member, index) => {
|
|
|
|
|
+ if (index < 10) {
|
|
|
|
|
+ const memberKey = `组员${index + 1}`
|
|
|
|
|
+ gyformdata.value[memberKey] = {
|
|
|
|
|
+ 角色: member.角色 || '',
|
|
|
|
|
+ 编号: member.编号 || '',
|
|
|
|
|
+ 姓名: member.姓名 || '',
|
|
|
|
|
+ 比例: member.比例 || ''
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ gychanliangVisible.value = true
|
|
|
|
|
+ } else {
|
|
|
|
|
+ console.error('获取数据失败:', res.msg)
|
|
|
|
|
+ // 可以添加用户提示
|
|
|
|
|
+ ElMessage.error('获取数据失败: ' + (res.msg || '未知错误'))
|
|
|
|
|
+ }
|
|
|
|
|
+ } catch (error) {
|
|
|
|
|
+ console.error('请求失败:', error)
|
|
|
|
|
+ ElMessage.error('网络请求失败,请检查网络连接')
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+const bzVisible = ref(false)
|
|
|
|
|
+const GYID = ref('')
|
|
|
|
|
+const BZID = ref('')
|
|
|
|
|
+const bzenterDialog = (row) => {
|
|
|
|
|
+ getGluingClassLLists(JTMC)
|
|
|
|
|
+ bzVisible.value = true
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 处理班组选择变化
|
|
|
|
|
+const handleBzSelectionChange = (val) => {
|
|
|
|
|
+ console.log('选中的值:', val);
|
|
|
|
|
+
|
|
|
|
|
+ // 验证班组一致性
|
|
|
|
|
+ const bzSet = new Set(val.map(item => item.bz));
|
|
|
|
|
+ if (bzSet.size > 1) {
|
|
|
|
|
+ // 弹出报错:不能选择不同班组的数据
|
|
|
|
|
+ ElMessage.error('不能选择不同班组的数据!');
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 验证角色重复性
|
|
|
|
|
+ const roleSet = new Set();
|
|
|
|
|
+ const duplicateRoles = [];
|
|
|
|
|
+
|
|
|
|
|
+ val.forEach(item => {
|
|
|
|
|
+ if (roleSet.has(item.role)) {
|
|
|
|
|
+ duplicateRoles.push(item.role);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ roleSet.add(item.role);
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+ if (duplicateRoles.length > 0) {
|
|
|
|
|
+ // 弹出报错:不能重复选择相同角色数据
|
|
|
|
|
+ ElMessage.error(`不能重复选择相同角色数据!重复的角色:${duplicateRoles.join(', ')}`);
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 所有验证通过,更新班组Id
|
|
|
|
|
+ BZID.value = val.map(item => item.id).join(',');
|
|
|
|
|
+ console.log('最终班组Id:', BZID.value);
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
|
|
+// 确认
|
|
|
|
|
+const handleBzConfirm = async () => {
|
|
|
|
|
+ const res = await UpdateGluingReportClass({
|
|
|
|
|
+ id: GYID.value,
|
|
|
|
|
+ role: BZID.value
|
|
|
|
|
+ })
|
|
|
|
|
+ if(res.code === 0){
|
|
|
|
|
+ ElMessage.success('切换班组成功');
|
|
|
|
|
+ const res = await getGluingReportDataDetail({id: GYID.value})
|
|
|
|
|
+ console.log('API响应:', res)
|
|
|
|
|
+
|
|
|
|
|
+ if(res.code === 0 && res.data){
|
|
|
|
|
+ // 先重置表单数据
|
|
|
|
|
+ Object.assign(gyformdata.value, {
|
|
|
|
|
+ 工单编号: '',
|
|
|
|
|
+ cpmc: '',
|
|
|
|
|
+ // ... 其他字段重置
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
|
|
+ // 映射API数据到表单
|
|
|
|
|
+ const apiData = res.data
|
|
|
|
|
+ gyformdata.value = {
|
|
|
|
|
+ ...gyformdata.value, // 保留初始结构
|
|
|
|
|
+ ...apiData, // 覆盖API数据
|
|
|
|
|
+ cpmc: apiData.产品名称 || '',
|
|
|
|
|
+ sczl_jtbh:JTMC,
|
|
|
|
|
+ yjno: apiData.印件号 || '',
|
|
|
|
|
+ yjmc: apiData.印件名称 || '',
|
|
|
|
|
+ gxmc: apiData.工序名称 || '',
|
|
|
|
|
+ gxh: apiData.工序号 || '',
|
|
|
|
|
+ dedh: apiData.定额代号 || '',
|
|
|
|
|
+ starttime: apiData.日期 || '',
|
|
|
|
|
+ sj1: apiData.开始时间 || '',
|
|
|
|
|
+ sj2: apiData.结束时间 || '',
|
|
|
|
|
+ 联数: apiData.联数 || '',
|
|
|
|
|
+ 产量: apiData.产量 || '',
|
|
|
|
|
+ 制程废品: apiData.制程废品 || '',
|
|
|
|
|
+ 异常类型: apiData.异常类型 || '',
|
|
|
|
|
+ 保养工时: apiData.保养工时 || '',
|
|
|
|
|
+ 装版工时: apiData.装版工时 || ''
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 处理组员数据
|
|
|
|
|
+ if (apiData.class && Array.isArray(apiData.class)) {
|
|
|
|
|
+ apiData.class.forEach((member, index) => {
|
|
|
|
|
+ if (index < 10) {
|
|
|
|
|
+ const memberKey = `组员${index + 1}`
|
|
|
|
|
+ gyformdata.value[memberKey] = {
|
|
|
|
|
+ 角色: member.角色 || '',
|
|
|
|
|
+ 编号: member.编号 || '',
|
|
|
|
|
+ 姓名: member.姓名 || '',
|
|
|
|
|
+ 比例: member.比例 || ''
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+ bzVisible.value = false
|
|
|
|
|
+ }else{
|
|
|
|
|
+ ElMessage.error('切换班组失败');
|
|
|
|
|
+ }
|
|
|
|
|
+};
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+//报工数据修改确认
|
|
|
|
|
+
|
|
|
|
|
+const gychanliangenterDialog = async(row) => {
|
|
|
|
|
+ console.log(gyformdata.value)
|
|
|
|
|
+ const params = {
|
|
|
|
|
+ sczl_gdbh: gyformdata.value.工单编号,
|
|
|
|
|
+ sczl_yjno: gyformdata.value.yjno,
|
|
|
|
|
+ sczl_gxh: gyformdata.value.gxh,
|
|
|
|
|
+ sczl_gxmc: gyformdata.value.gxmc,
|
|
|
|
|
+ 来料数量: gyformdata.value.来料数量,
|
|
|
|
|
+ sczl_cl: gyformdata.value.产量,
|
|
|
|
|
+ sczl_zcfp: gyformdata.value.制程废品,
|
|
|
|
|
+ startTime: gyformdata.value.starttime,
|
|
|
|
|
+ endTime: gyformdata.value.sj2,
|
|
|
|
|
+ sczl_rq: gyformdata.value.日期,
|
|
|
|
|
+ sczl_ls: gyformdata.value.联数,
|
|
|
|
|
+ sczl_dedh: gyformdata.value.定额代号,
|
|
|
|
|
+ 工价系数: gyformdata.value.工价系数,
|
|
|
|
|
+ 保养工时: gyformdata.value.保养工时,
|
|
|
|
|
+ 装版工时: gyformdata.value.装版工时,
|
|
|
|
|
+ 异常工时: gyformdata.value.异常工时,
|
|
|
|
|
+ 异常类型: gyformdata.value.异常类型,
|
|
|
|
|
+ 设备运行工时: gyformdata.value.设备运行工时,
|
|
|
|
|
+ sczl_jtbh:gyformdata.value.sczl_jtbh,
|
|
|
|
|
+ id: gyformdata.value.Uid,
|
|
|
|
|
+ }
|
|
|
|
|
+ console.log(params)
|
|
|
|
|
+ const res = await getGluingReportDetailUpdate(params)
|
|
|
|
|
+ if(res.code === 0){
|
|
|
|
|
+ ElMessage.success('修改成功');
|
|
|
|
|
+ FacilitychanLiang()
|
|
|
|
|
+ gychanliangVisible.value = false
|
|
|
|
|
+ }else{
|
|
|
|
|
+ ElMessage.error('修改失败');
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+const gycloseDialog = () => {
|
|
|
|
|
+ gychanliangVisible.value = false
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+//机台下拉框
|
|
|
|
|
+const gdzl_MachineList_address = reactive({
|
|
|
|
|
+ data: []
|
|
|
|
|
+});
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ const zdtreeType = ref(false)
|
|
|
|
|
+ //点击label获取表格数据
|
|
|
|
|
+ function duohandleClick(table) {
|
|
|
|
|
+ console.log(table.props.label)
|
|
|
|
|
+ if(table.props.label === '设备作业清单'){
|
|
|
|
|
+ fetchFacilityWorklist();
|
|
|
|
|
+ }
|
|
|
|
|
+ if(table.props.label === '班组人员及分配比例'){
|
|
|
|
|
+ getGluingClassLLists(JTMC)
|
|
|
|
|
+ }
|
|
|
|
|
+ if(table.props.label=='当班产量明细'){
|
|
|
|
|
+ FacilityDetail()
|
|
|
|
|
+ zdtreeType.value=true
|
|
|
|
|
+ }else{
|
|
|
|
|
+ zdtreeType.value=false
|
|
|
|
|
+ }
|
|
|
|
|
+ // if(table.props.label === '检验记录'){
|
|
|
|
|
+ // InspectionRecord()
|
|
|
|
|
+ // }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ //当班产量明细
|
|
|
|
|
+ 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}`;
|
|
|
|
|
+
|
|
|
|
|
+ console.log("machine--->"+JTMC)
|
|
|
|
|
+ console.log("Gd_gdbh--->"+formData.value.工单编号)
|
|
|
|
|
+ console.log("team--->"+BZMC.value)
|
|
|
|
|
+ if (!JTMC.endsWith('#')) {
|
|
|
|
|
+ JTMC += '#';
|
|
|
|
|
+ }
|
|
|
|
|
+ const response = await GluingReportList({ machine: JTMC});
|
|
|
|
|
+ console.log(response)
|
|
|
|
|
+ // return;
|
|
|
|
|
+ // 日产量上报上机时间
|
|
|
|
|
+ if (response.code === 0) {
|
|
|
|
|
+ console.log(response.data.length)
|
|
|
|
|
+ if(response.data.length === 0){
|
|
|
|
|
+ console.log("currentHour--->"+currentHour)
|
|
|
|
|
+ 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');
|
|
|
|
|
+ formData3.value.上机时间 = `${yearYesterday}-${monthYesterday}-${dayYesterday} 20:00:00`;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ // 如果当前时间晚于或等于08:30, 则设置为当天的白班时间08:30
|
|
|
|
|
+ formData3.value.上机时间 = `${currentDate} 08:00:00`;
|
|
|
|
|
+ }
|
|
|
|
|
+ }else{
|
|
|
|
|
+ // formData.value.上机时间 = response.data.sj1
|
|
|
|
|
+ formData3.value.上机时间 = currentDate.split('-')[0]+'-'+response.data[0]['生产时间段'].split('>')[1]+':00'
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ CLMXData.splice(0, CLMXData.length, ...Object.values(response.data));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ // 添加状态变量控制显示内容
|
|
|
|
|
+const showRoleContent = ref(true); // true显示角色,false显示班组
|
|
|
|
|
+
|
|
|
|
|
+// =========== 糊盒角色和班组相关数据和方法 ===========
|
|
|
|
|
+// 角色相关数据
|
|
|
|
|
+const roleTreeData = reactive([]);
|
|
|
|
|
+const roleTableData = ref([]);
|
|
|
|
|
+const Nodemachine = ref('');
|
|
|
|
|
+
|
|
|
|
|
+// 班组相关数据
|
|
|
|
|
+const teamTreeData = reactive([]);
|
|
|
|
|
+const teamTableData = ref([]);
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+// // 获取角色树形数据
|
|
|
|
|
+// const getRoleTabdata = async () => {
|
|
|
|
|
+// try {
|
|
|
|
|
+// const response = await getGluingcoleTab();
|
|
|
|
|
+// const transformedData = [{
|
|
|
|
|
+// label: "设备列表",
|
|
|
|
|
+// children: Object.entries(response.data).map(([workshopName, devices]) => ({
|
|
|
|
|
+// label: workshopName,
|
|
|
|
|
+// children: devices.map(item => {
|
|
|
|
|
+// const [deviceId, deviceName] = item.split('-->');
|
|
|
|
|
+// return {
|
|
|
|
|
+// label: `${deviceId} 【${deviceName}】`,
|
|
|
|
|
+// params: {
|
|
|
|
|
+// device_id: deviceId.trim(),
|
|
|
|
|
+// device_name: deviceName.trim(),
|
|
|
|
|
+// workshop_name: workshopName
|
|
|
|
|
+// }
|
|
|
|
|
+// };
|
|
|
|
|
+// })
|
|
|
|
|
+// }))
|
|
|
|
|
+// }];
|
|
|
|
|
+// roleTreeData.splice(0, roleTreeData.length, ...transformedData);
|
|
|
|
|
+// } catch (error) {
|
|
|
|
|
+// console.error('获取角色设备数据失败:', error);
|
|
|
|
|
+// }
|
|
|
|
|
+// };
|
|
|
|
|
+
|
|
|
|
|
+// // 获取班组树形数据(可以复用角色的树形数据获取逻辑)
|
|
|
|
|
+// const getTeamTabdata = async () => {
|
|
|
|
|
+// try {
|
|
|
|
|
+// const response = await getGluingcoleTab();
|
|
|
|
|
+// const transformedData = [{
|
|
|
|
|
+// label: "设备列表",
|
|
|
|
|
+// children: Object.entries(response.data).map(([workshopName, devices]) => ({
|
|
|
|
|
+// label: workshopName,
|
|
|
|
|
+// children: devices.map(item => {
|
|
|
|
|
+// const [deviceId, deviceName] = item.split('-->');
|
|
|
|
|
+// return {
|
|
|
|
|
+// label: `${deviceId} 【${deviceName}】`,
|
|
|
|
|
+// params: {
|
|
|
|
|
+// device_id: deviceId.trim(),
|
|
|
|
|
+// device_name: deviceName.trim(),
|
|
|
|
|
+// workshop_name: workshopName
|
|
|
|
|
+// }
|
|
|
|
|
+// };
|
|
|
|
|
+// })
|
|
|
|
|
+// }))
|
|
|
|
|
+// }];
|
|
|
|
|
+// teamTreeData.splice(0, teamTreeData.length, ...transformedData);
|
|
|
|
|
+// } catch (error) {
|
|
|
|
|
+// console.error('获取班组设备数据失败:', error);
|
|
|
|
|
+// }
|
|
|
|
|
+// };
|
|
|
|
|
+
|
|
|
|
|
+// // 初始化数据
|
|
|
|
|
+// getRoleTabdata();
|
|
|
|
|
+// getTeamTabdata();
|
|
|
|
|
+
|
|
|
|
|
+// // 角色节点点击事件
|
|
|
|
|
+// const handleRoleNodeClick = async (node) => {
|
|
|
|
|
+// // 重置所有节点颜色
|
|
|
|
|
+// const allNodes = document.querySelectorAll('.role-tree .el-tree-node');
|
|
|
|
|
+// allNodes.forEach(node => {
|
|
|
|
|
+// if (node.querySelector('.el-tree-node__label')) {
|
|
|
|
|
+// node.querySelector('.el-tree-node__label').style.color = '';
|
|
|
|
|
+// }
|
|
|
|
|
+// });
|
|
|
|
|
+
|
|
|
|
|
+// // 设置当前节点颜色
|
|
|
|
|
+// const clickedNodeId = node['$treeNodeId'];
|
|
|
|
|
+// const clickedNode = document.querySelector(`.role-tree .el-tree-node[data-key="${clickedNodeId}"]`);
|
|
|
|
|
+// if (clickedNode && clickedNode.querySelector('.el-tree-node__label')) {
|
|
|
|
|
+// clickedNode.querySelector('.el-tree-node__label').style.color = 'red';
|
|
|
|
|
+// }
|
|
|
|
|
+
|
|
|
|
|
+// if (!node.children) {
|
|
|
|
|
+// roleNodemachine.value = node.params.device_id;
|
|
|
|
|
+// const res = await getGluingcoleList({machine: node.params.device_id});
|
|
|
|
|
+// roleTableData.value = res.code === 0 ? res.data : [];
|
|
|
|
|
+// }
|
|
|
|
|
+// };
|
|
|
|
|
+
|
|
|
|
|
+// // 班组节点点击事件
|
|
|
|
|
+// const handleTeamNodeClick = async (node) => {
|
|
|
|
|
+// // 重置所有节点颜色
|
|
|
|
|
+// const allNodes = document.querySelectorAll('.team-tree .el-tree-node');
|
|
|
|
|
+// allNodes.forEach(node => {
|
|
|
|
|
+// if (node.querySelector('.el-tree-node__label')) {
|
|
|
|
|
+// node.querySelector('.el-tree-node__label').style.color = '';
|
|
|
|
|
+// }
|
|
|
|
|
+// });
|
|
|
|
|
+
|
|
|
|
|
+// // 设置当前节点颜色
|
|
|
|
|
+// const clickedNodeId = node['$treeNodeId'];
|
|
|
|
|
+// const clickedNode = document.querySelector(`.team-tree .el-tree-node[data-key="${clickedNodeId}"]`);
|
|
|
|
|
+// if (clickedNode && clickedNode.querySelector('.el-tree-node__label')) {
|
|
|
|
|
+// clickedNode.querySelector('.el-tree-node__label').style.color = 'red';
|
|
|
|
|
+// }
|
|
|
|
|
+
|
|
|
|
|
+// if (!node.children) {
|
|
|
|
|
+// teamNodemachine.value = node.params.device_id;
|
|
|
|
|
+// const res = await getGluingClassLList({machine: node.params.device_id});
|
|
|
|
|
+// teamTableData.value = res.code === 0 ? res.data : [];
|
|
|
|
|
+// }
|
|
|
|
|
+// };
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+// =========== 弹窗相关变量 ===========
|
|
|
|
|
+const roleDialogVisible = ref(false);
|
|
|
|
|
+const teamDialogVisible = ref(false);
|
|
|
|
|
+const addRoleVisible = ref(false);
|
|
|
|
|
+const addTeamVisible = ref(false);
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+// =========== 弹窗控制方法 ===========
|
|
|
|
|
+const openRoleDialog = async () => {
|
|
|
|
|
+ if(Nodemachine.value){
|
|
|
|
|
+ const res = await getGluingcoleList({machine: Nodemachine.value});
|
|
|
|
|
+ roleTableData.value = res.code === 0 ? res.data : [];
|
|
|
|
|
+ roleDialogVisible.value = true
|
|
|
|
|
+ add_huheformdata.jtbh = Nodemachine.value
|
|
|
|
|
+ }else{
|
|
|
|
|
+ ElMessage.error('请先选择机台编号')
|
|
|
|
|
+ }
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
|
|
+const closeRoleDialog = () => {
|
|
|
|
|
+ roleDialogVisible.value = false;
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
|
|
+const openTeamDialog = async () => {
|
|
|
|
|
+ if(Nodemachine.value){
|
|
|
|
|
+ const res = await getGluingClassLList({machine: Nodemachine.value});
|
|
|
|
|
+ teamTableData.value = res.code === 0 ? res.data : [];
|
|
|
|
|
+ teamDialogVisible.value = true
|
|
|
|
|
+ change_huheformdata.jtbh = Nodemachine.value
|
|
|
|
|
+}else{
|
|
|
|
|
+ ElMessage.error('请先选择机台编号')
|
|
|
|
|
+}
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
|
|
+const closeTeamDialog = () => {
|
|
|
|
|
+ teamDialogVisible.value = false;
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
|
|
+const onAddRole = async () => {
|
|
|
|
|
+ console.log('新增')
|
|
|
|
|
+ addRoleVisible.value = true
|
|
|
|
|
+ add_huheformdata.jtbh = Nodemachine.value
|
|
|
|
|
+
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
|
|
+const onAddTeam = async () => {
|
|
|
|
|
+console.log(Nodemachine.value)
|
|
|
|
|
+typestatus.value = 'create'
|
|
|
|
|
+ changeTeamVisible.value = true
|
|
|
|
|
+ change_huheformdata.jtbh = Nodemachine.value
|
|
|
|
|
+ getGluingcoleData();
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+const add_huheformdata = reactive({
|
|
|
|
|
+ jtbh: '',
|
|
|
|
|
+ role1: '',
|
|
|
|
|
+ role2: '',
|
|
|
|
|
+ role3: '',
|
|
|
|
|
+ role4: '',
|
|
|
|
|
+ role5: '',
|
|
|
|
|
+ role6: '',
|
|
|
|
|
+ role7: '',
|
|
|
|
|
+ role8: '',
|
|
|
|
|
+ role9: '',
|
|
|
|
|
+ role10: '',
|
|
|
|
|
+ rate1: '',
|
|
|
|
|
+ rate2: '',
|
|
|
|
|
+ rate3: '',
|
|
|
|
|
+ rate4: '',
|
|
|
|
|
+ rate5: '',
|
|
|
|
|
+ rate6: '',
|
|
|
|
|
+ rate7: '',
|
|
|
|
|
+ rate8: '',
|
|
|
|
|
+ rate9: '',
|
|
|
|
|
+ rate10: '',
|
|
|
|
|
+ sys_id: '',
|
|
|
|
|
+})
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+// 关闭弹窗
|
|
|
|
|
+const add_huhecloseDialog = () => {
|
|
|
|
|
+ addRoleVisible.value = false
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+// 添加确定按钮的方法实现
|
|
|
|
|
+const add_huheenterDialog = async () => {
|
|
|
|
|
+ // 这里添加表单提交逻辑
|
|
|
|
|
+ try {
|
|
|
|
|
+ console.log(add_huheformdata)
|
|
|
|
|
+ // return;
|
|
|
|
|
+ add_huheformdata.sys_id = userStore.userInfo.nickName
|
|
|
|
|
+ const res = await saveGluingcoleDetail(add_huheformdata);
|
|
|
|
|
+
|
|
|
|
|
+ if (res.code === 0) {
|
|
|
|
|
+ ElMessage.success('新增成功');
|
|
|
|
|
+ addRoleVisible.value = false;
|
|
|
|
|
+ // 刷新数据等操作
|
|
|
|
|
+ getGluingcoleList({machine:add_huheformdata.jtbh}).then(res => {
|
|
|
|
|
+ if (res.code === 0){
|
|
|
|
|
+ roleTableData.value = res.data
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+ } catch (error) {
|
|
|
|
|
+ console.error('操作失败:', error);
|
|
|
|
|
+ ElMessage.error('操作失败');
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+const updata_huhedialogFormVisible = ref(false)
|
|
|
|
|
+const updata_huheformdata = reactive({
|
|
|
|
|
+ id: '',
|
|
|
|
|
+ jtbh: '',
|
|
|
|
|
+ role1: '',
|
|
|
|
|
+ role2: '',
|
|
|
|
|
+ role3: '',
|
|
|
|
|
+ role4: '',
|
|
|
|
|
+ role5: '',
|
|
|
|
|
+ role6: '',
|
|
|
|
|
+ role7: '',
|
|
|
|
|
+ role8: '',
|
|
|
|
|
+ role9: '',
|
|
|
|
|
+ role10: '',
|
|
|
|
|
+ rate1: '',
|
|
|
|
|
+ rate2: '',
|
|
|
|
|
+ rate3: '',
|
|
|
|
|
+ rate4: '',
|
|
|
|
|
+ rate5: '',
|
|
|
|
|
+ rate6: '',
|
|
|
|
|
+ rate7: '',
|
|
|
|
|
+ rate8: '',
|
|
|
|
|
+ rate9: '',
|
|
|
|
|
+ rate10: '',
|
|
|
|
|
+ id: '',
|
|
|
|
|
+})
|
|
|
|
|
+const roleupdateCompanyFunc = async(row) => {
|
|
|
|
|
+ console.log(row)
|
|
|
|
|
+ const getGluingcoleDetaildata = await getGluingcoleDetail({id: row.id})
|
|
|
|
|
+ if (getGluingcoleDetaildata.code === 0){
|
|
|
|
|
+ Object.assign(updata_huheformdata, getGluingcoleDetaildata.data)
|
|
|
|
|
+ updata_huheformdata.id = row.id
|
|
|
|
|
+ updata_huhedialogFormVisible.value = true
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+const updata_huheenterDialog = async () => {
|
|
|
|
|
+ // 这里添加表单提交逻辑
|
|
|
|
|
+ try {
|
|
|
|
|
+ console.log(updata_huheformdata)
|
|
|
|
|
+ // return;
|
|
|
|
|
+ const res = await getGluingcoleDetaiEdit(updata_huheformdata);
|
|
|
|
|
+
|
|
|
|
|
+ if (res.code === 0) {
|
|
|
|
|
+ ElMessage.success('更新成功');
|
|
|
|
|
+ updata_huhedialogFormVisible.value = false;
|
|
|
|
|
+ // 刷新数据等操作
|
|
|
|
|
+ getGluingcoleList({machine:updata_huheformdata.jtbh}).then(res => {
|
|
|
|
|
+ if (res.code === 0){
|
|
|
|
|
+ roleTableData.value = res.data
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+ } catch (error) {
|
|
|
|
|
+ console.error('操作失败:', error);
|
|
|
|
|
+ ElMessage.error('操作失败');
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+ const updata_huhecloseDialog = () => {
|
|
|
|
|
+ updata_huhedialogFormVisible.value = false
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+//设置
|
|
|
|
|
+const set_status = async (row) => {
|
|
|
|
|
+ console.log(row)
|
|
|
|
|
+ const res = await UpdateGluingcoleStatus({jtbh: row.jtbh, id: row.id});
|
|
|
|
|
+ if (res.code === 0) {
|
|
|
|
|
+ ElMessage.success('设置成功');
|
|
|
|
|
+ // 刷新数据等操作
|
|
|
|
|
+ getGluingcoleList({machine:row.jtbh}).then(res => {
|
|
|
|
|
+ if (res.code === 0){
|
|
|
|
|
+ roleTableData.value = res.data
|
|
|
|
|
+ }else{
|
|
|
|
|
+ roleTableData.value = []
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+const typestatus = ref('')
|
|
|
|
|
+const changeTeamVisible = ref(false)
|
|
|
|
|
+const change_huheformdata = reactive({
|
|
|
|
|
+jtbh: '',
|
|
|
|
|
+bz: '',
|
|
|
|
|
+role: '',
|
|
|
|
|
+rate: '',
|
|
|
|
|
+bh1: '',
|
|
|
|
|
+bh2: '',
|
|
|
|
|
+bh3: '',
|
|
|
|
|
+bh4: '',
|
|
|
|
|
+bh5: '',
|
|
|
|
|
+bh6: '',
|
|
|
|
|
+bh7: '',
|
|
|
|
|
+bh8: '',
|
|
|
|
|
+bh9: '',
|
|
|
|
|
+bh10: '',
|
|
|
|
|
+bh11: '',
|
|
|
|
|
+bh12: '',
|
|
|
|
|
+bh13: '',
|
|
|
|
|
+bh14: '',
|
|
|
|
|
+bh15: '',
|
|
|
|
|
+name1: '',
|
|
|
|
|
+name2: '',
|
|
|
|
|
+name3: '',
|
|
|
|
|
+name4: '',
|
|
|
|
|
+name5: '',
|
|
|
|
|
+name6: '',
|
|
|
|
|
+name7: '',
|
|
|
|
|
+name8: '',
|
|
|
|
|
+name9: '',
|
|
|
|
|
+name10: '',
|
|
|
|
|
+name11: '',
|
|
|
|
|
+name12: '',
|
|
|
|
|
+name13: '',
|
|
|
|
|
+name14: '',
|
|
|
|
|
+name15: '',
|
|
|
|
|
+id: '',
|
|
|
|
|
+sys_id: '',
|
|
|
|
|
+})
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+// 使用 ref 创建响应式数据
|
|
|
|
|
+const bzOptions = ref([
|
|
|
|
|
+ { label: 'A 班', value: 'A 班' },
|
|
|
|
|
+ { label: 'B 班', value: 'B 班' }
|
|
|
|
|
+])
|
|
|
|
|
+
|
|
|
|
|
+const lxOptions = ref([
|
|
|
|
|
+ { label: '', value: '' },
|
|
|
|
|
+ { label: '借调', value: '借调' },
|
|
|
|
|
+ { label: '实习', value: '实习' }
|
|
|
|
|
+])
|
|
|
|
|
+
|
|
|
|
|
+// 计算属性:判断是否为借调类型
|
|
|
|
|
+const isBorrowEnabled = computed(() => {
|
|
|
|
|
+ return add_huheformdata.desc === '借调'
|
|
|
|
|
+})
|
|
|
|
|
+
|
|
|
|
|
+// 类型变更处理函数
|
|
|
|
|
+const handleTypeChange = (value) => {
|
|
|
|
|
+ if (value !== '借调') {
|
|
|
|
|
+ add_huheformdata.ins = '' // 清空说明框
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+const roleOptions = ref([]) // 角色下拉选项
|
|
|
|
|
+const gluingcoleData = ref({}) // 存储接口返回的完整数据
|
|
|
|
|
+
|
|
|
|
|
+// 获取下拉框数据的方法
|
|
|
|
|
+const getGluingcoleData = async () => {
|
|
|
|
|
+ try {
|
|
|
|
|
+ const response = await getGluingcole({ machine: change_huheformdata.jtbh })
|
|
|
|
|
+ console.log(response)
|
|
|
|
|
+
|
|
|
|
|
+ if (response.code === 0) {
|
|
|
|
|
+ gluingcoleData.value = response.data
|
|
|
|
|
+
|
|
|
|
|
+ // 处理角色选项:从role1到role10中过滤掉空值
|
|
|
|
|
+ roleOptions.value = []
|
|
|
|
|
+ for (let i = 1; i <= 10; i++) {
|
|
|
|
|
+ const roleKey = `role${i}`
|
|
|
|
|
+ const roleValue = response.data[roleKey]
|
|
|
|
|
+ if (roleValue && roleValue.trim() !== '') {
|
|
|
|
|
+ roleOptions.value.push({
|
|
|
|
|
+ label: roleValue,
|
|
|
|
|
+ value: roleValue,
|
|
|
|
|
+ rateKey: `rate${i}` // 存储对应的比例字段名
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ } catch (error) {
|
|
|
|
|
+ console.error('获取班组和角色数据失败:', error)
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 监听角色选择变化,自动填充比例
|
|
|
|
|
+watch(() => change_huheformdata.role, (newRole) => {
|
|
|
|
|
+ if (newRole && gluingcoleData.value) {
|
|
|
|
|
+ // 找到选中的角色对应的选项
|
|
|
|
|
+ const selectedOption = roleOptions.value.find(item => item.value === newRole)
|
|
|
|
|
+ if (selectedOption && selectedOption.rateKey) {
|
|
|
|
|
+ // 设置对应的比例值
|
|
|
|
|
+ change_huheformdata.rate = gluingcoleData.value[selectedOption.rateKey] || ''
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+})
|
|
|
|
|
+
|
|
|
|
|
+// 关闭弹窗
|
|
|
|
|
+const change_huhecloseDialog = () => {
|
|
|
|
|
+changeTeamVisible.value = false
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+// 添加确定按钮的方法实现
|
|
|
|
|
+const change_huheenterDialog = async () => {
|
|
|
|
|
+ try {
|
|
|
|
|
+ // 构建基础参数
|
|
|
|
|
+ const baseParams = {
|
|
|
|
|
+ jtbh: change_huheformdata.jtbh,
|
|
|
|
|
+ bz: change_huheformdata.bz,
|
|
|
|
|
+ role: change_huheformdata.role,
|
|
|
|
|
+ rate: change_huheformdata.rate,
|
|
|
|
|
+ bh1: change_huheformdata.bh1,
|
|
|
|
|
+ bh2: change_huheformdata.bh2,
|
|
|
|
|
+ bh3: change_huheformdata.bh3,
|
|
|
|
|
+ bh4: change_huheformdata.bh4,
|
|
|
|
|
+ bh5: change_huheformdata.bh5,
|
|
|
|
|
+ bh6: change_huheformdata.bh6,
|
|
|
|
|
+ bh7: change_huheformdata.bh7,
|
|
|
|
|
+ bh8: change_huheformdata.bh8,
|
|
|
|
|
+ bh9: change_huheformdata.bh9,
|
|
|
|
|
+ bh10: change_huheformdata.bh10,
|
|
|
|
|
+ bh11: change_huheformdata.bh11,
|
|
|
|
|
+ bh12: change_huheformdata.bh12,
|
|
|
|
|
+ bh13: change_huheformdata.bh13,
|
|
|
|
|
+ bh14: change_huheformdata.bh14,
|
|
|
|
|
+ bh15: change_huheformdata.bh15,
|
|
|
|
|
+ desc: !add_huheformdata.desc ? '' :
|
|
|
|
|
+ add_huheformdata.desc === '借调' ?
|
|
|
|
|
+ (add_huheformdata.ins ? `${add_huheformdata.desc}-${add_huheformdata.ins}` : add_huheformdata.desc) :
|
|
|
|
|
+ add_huheformdata.desc
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ let res
|
|
|
|
|
+ let successMessage = ''
|
|
|
|
|
+
|
|
|
|
|
+ if (typestatus.value === 'create') {
|
|
|
|
|
+ // 新增操作
|
|
|
|
|
+ const createParams = {
|
|
|
|
|
+ ...baseParams,
|
|
|
|
|
+ sys_id: userStore.userInfo.nickName
|
|
|
|
|
+ }
|
|
|
|
|
+ res = await AddGluingClass(createParams)
|
|
|
|
|
+ successMessage = '新增成功'
|
|
|
|
|
+ } else {
|
|
|
|
|
+ // 修改操作
|
|
|
|
|
+ const updateParams = {
|
|
|
|
|
+ ...baseParams,
|
|
|
|
|
+ id: change_huheformdata.id
|
|
|
|
|
+ }
|
|
|
|
|
+ res = await UpdateGluingClass(updateParams)
|
|
|
|
|
+ successMessage = '修改成功'
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 统一处理响应
|
|
|
|
|
+ if (res.code === 0) {
|
|
|
|
|
+ ElMessage.success(successMessage)
|
|
|
|
|
+ changeTeamVisible.value = false
|
|
|
|
|
+ // 刷新数据
|
|
|
|
|
+ const listRes = await getGluingClassLList({ machine: change_huheformdata.jtbh })
|
|
|
|
|
+ if (listRes.code === 0) {
|
|
|
|
|
+ teamTableData.value = listRes.data
|
|
|
|
|
+ }
|
|
|
|
|
+ resetForm()
|
|
|
|
|
+ } else {
|
|
|
|
|
+ ElMessage.error(res.msg || '操作失败')
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ } catch (error) {
|
|
|
|
|
+ console.error('操作失败:', error)
|
|
|
|
|
+ ElMessage.error('操作失败')
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 在关闭弹窗后重置表单
|
|
|
|
|
+const resetForm = () => {
|
|
|
|
|
+ Object.keys(change_huheformdata).forEach(key => {
|
|
|
|
|
+ change_huheformdata[key] = ''
|
|
|
|
|
+ })
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+const teamupdateCompanyFunc = async(row) => {
|
|
|
|
|
+console.log(row)
|
|
|
|
|
+typestatus.value = 'update'
|
|
|
|
|
+Object.assign(change_huheformdata, row)
|
|
|
|
|
+getGluingcoleData();
|
|
|
|
|
+changeTeamVisible.value = true
|
|
|
|
|
+// const getGluingcoleDetaildata = await getGluingcoleDetail({id: row.id})
|
|
|
|
|
+// if (getGluingcoleDetaildata.code === 0){
|
|
|
|
|
+// Object.assign(change_huheformdata, getGluingcoleDetaildata.data)
|
|
|
|
|
+// changeTeamVisible.id = row.id
|
|
|
|
|
+// changeTeamVisible.value = true
|
|
|
|
|
+// }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+const blModel = ref(false)
|
|
|
|
|
+const employeeData = ref('')
|
|
|
|
|
+// const bz_Special = ref('')
|
|
|
|
|
+const getbzyg = async (value,key) => {
|
|
|
|
|
+ // bz_Special.value = key
|
|
|
|
|
+ let bzyg=''
|
|
|
|
|
+ bzyg=`bh${key}`
|
|
|
|
|
+ let bzxm=''
|
|
|
|
|
+ bzxm=`name${key}`
|
|
|
|
|
+ const response = await getYg({sczl_bh:change_huheformdata[bzyg]});
|
|
|
|
|
+ if (response.code === 0) {
|
|
|
|
|
+ if(response.data.length === 1){
|
|
|
|
|
+ change_huheformdata[bzxm]= response.data[0].ygxm
|
|
|
|
|
+ change_huheformdata[bzyg]= response.data[0].员工编号
|
|
|
|
|
+ }else{
|
|
|
|
|
+ blModel.value = true;
|
|
|
|
|
+ employeeData.value = response.data // 假设响应数据是数组
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+const clicked = ref(false);
|
|
|
|
|
+const currentIndex = ref(0);
|
|
|
|
|
+const tableBZRR = ref();
|
|
|
|
|
+// 模拟点击某一行
|
|
|
|
|
+const setCurrent = (row) => {
|
|
|
|
|
+ setTimeout(() => {
|
|
|
|
|
+ tableBZRR.value?.setCurrentRow(row);
|
|
|
|
|
+ const { 员工编号, ygxm } = row;
|
|
|
|
|
+ console.log("选中行数据:", row);
|
|
|
|
|
+ });
|
|
|
|
|
+};
|
|
|
|
|
+// 键盘事件处理逻辑
|
|
|
|
|
+const selectBZRR = (event) => {
|
|
|
|
|
+ if (event.keyCode === 40) {
|
|
|
|
|
+ // 向下箭头
|
|
|
|
|
+ if (currentIndex.value < employeeData.value.length - 1) {
|
|
|
|
|
+ currentIndex.value++;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ // 如果是最后一行,回到第一行
|
|
|
|
|
+ currentIndex.value = 0;
|
|
|
|
|
+ }
|
|
|
|
|
+ } else if (event.keyCode === 38) {
|
|
|
|
|
+ // 向上箭头
|
|
|
|
|
+ if (currentIndex.value > 0) {
|
|
|
|
|
+ currentIndex.value--;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ // 如果是第一行,跳到最后一行
|
|
|
|
|
+ currentIndex.value = employeeData.value.length - 1;
|
|
|
|
|
+ }
|
|
|
|
|
+ } else if (event.keyCode === 13) {
|
|
|
|
|
+ // 回车键,模拟触发点击事件
|
|
|
|
|
+ const row = employeeData.value[currentIndex.value];
|
|
|
|
|
+ tablebllickHandler(row); // 手动调用行点击事件
|
|
|
|
|
+ }
|
|
|
|
|
+ //高亮当前选中的行
|
|
|
|
|
+ setCurrent(employeeData.value[currentIndex.value]);
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
|
|
+// 表格行点击事件处理
|
|
|
|
|
+const tablebllickHandler = async (row, column, event) => {
|
|
|
|
|
+ if (clicked.value) {
|
|
|
|
|
+ // 如果已经点击过一次,则不再执行操作
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ for (let i = 1; i <= 15; i++) {
|
|
|
|
|
+ const bhKey = `bh${i}`;
|
|
|
|
|
+ const nameKey = `name${i}`;
|
|
|
|
|
+ // 如果 code 有值,且对应的 name 没有值,则清空 code 的值
|
|
|
|
|
+ if (change_huheformdata[bhKey] !== '' && change_huheformdata[nameKey] === '') {
|
|
|
|
|
+ change_huheformdata[bhKey] = '';
|
|
|
|
|
+ // console.log(`清空了 ${bhKey} 的值,因为 ${nameKey} 为空`);
|
|
|
|
|
+ }
|
|
|
|
|
+ // 检查 code 是否包含字母(使用正则表达式)
|
|
|
|
|
+ if (/[a-zA-Z]/.test(change_huheformdata[bhKey])) {
|
|
|
|
|
+ change_huheformdata[bhKey] = ''; // 清空 code
|
|
|
|
|
+ change_huheformdata[nameKey] = ''; // 清空 name
|
|
|
|
|
+ // console.log(`清空了 ${bhKey} 和 ${nameKey} 的值,因为 ${bhKey} 中包含字母`);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ let nextIndex = 1;
|
|
|
|
|
+ // 找到下一个需要填充的空位置
|
|
|
|
|
+ while (
|
|
|
|
|
+ change_huheformdata[`bh${nextIndex}`] !== '' &&
|
|
|
|
|
+ change_huheformdata[`name${nextIndex}`] !== ''
|
|
|
|
|
+ ) {
|
|
|
|
|
+ nextIndex++;
|
|
|
|
|
+ if (nextIndex > 15) { // 这里只处理8个输入框的情况
|
|
|
|
|
+ // 如果所有字段都已经填满,则不做任何事情并退出函数
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 当前按下回车的输入框索引
|
|
|
|
|
+ const currentInputIndex = currentIndex.value + 1;
|
|
|
|
|
+ // 如果找到的空位不是当前输入框,则填充前面的空位
|
|
|
|
|
+ if (nextIndex !== currentInputIndex) {
|
|
|
|
|
+ // 填充前面空位
|
|
|
|
|
+ change_huheformdata[`bh${nextIndex}`] = row.员工编号;
|
|
|
|
|
+ change_huheformdata[`name${nextIndex}`] = row.ygxm;
|
|
|
|
|
+ // 检查当前输入框是否需要清空
|
|
|
|
|
+ if (change_huheformdata[`name${currentInputIndex}`] === '' &&change_huheformdata[`bh${currentInputIndex}`] !== '') {
|
|
|
|
|
+ // 如果当前输入框的 name 为空,但 bh 有值,清空当前输入框
|
|
|
|
|
+ change_huheformdata[`bh${currentInputIndex}`] = '';
|
|
|
|
|
+ }
|
|
|
|
|
+ } else {
|
|
|
|
|
+ // 如果当前输入框就是下一个空位,则直接填充到当前输入框
|
|
|
|
|
+ change_huheformdata[`bh${currentInputIndex}`] = row.员工编号;
|
|
|
|
|
+ change_huheformdata[`name${currentInputIndex}`] = row.ygxm;
|
|
|
|
|
+ }
|
|
|
|
|
+ // 弹窗关闭并防止重复点击
|
|
|
|
|
+ setTimeout(() => {
|
|
|
|
|
+ blModel.value = false; // 延迟关闭弹窗
|
|
|
|
|
+ clicked.value = false; // 恢复点击标志
|
|
|
|
|
+ }, 300);
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+//键盘input框跳转
|
|
|
|
|
+const add_gdzlent = async (event,id1,id2,id3,idx) => {
|
|
|
|
|
+ console.log(idx)
|
|
|
|
|
+if(event.keyCode === 40){
|
|
|
|
|
+ if(id3!=''){
|
|
|
|
|
+ document.getElementById(id3).focus()
|
|
|
|
|
+ }
|
|
|
|
|
+}else if (event.keyCode === 13) { // Enter 或向下箭头
|
|
|
|
|
+ if (id2.includes('bh')){
|
|
|
|
|
+ console.log('姓名')
|
|
|
|
|
+ getbzyg('',idx)
|
|
|
|
|
+ }
|
|
|
|
|
+ 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()
|
|
|
|
|
+ }
|
|
|
|
|
+}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()
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ </script>
|
|
|
|
|
+
|
|
|
|
|
+ <style scoped>
|
|
|
|
|
+ .form-container {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ flex-wrap: wrap;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .form-column {
|
|
|
|
|
+ /*flex: 1;*/
|
|
|
|
|
+ margin-right: 15px; /* 调整列之间的间距 */
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /* 左侧输入框宽度调整 */
|
|
|
|
|
+ .form-column .el-form-item .el-input {
|
|
|
|
|
+ width: 150px; /* 调整左侧输入框的宽度 */
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ :deep(.hui-plan-usage-lows div) {
|
|
|
|
|
+ color: #8c939d !important;
|
|
|
|
|
+ }
|
|
|
|
|
+ :deep(.lan-plan-usage-lows div) {
|
|
|
|
|
+ color: blue !important;
|
|
|
|
|
+ font-weight: bold;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ /* 媒体查询,根据需要调整断点 */
|
|
|
|
|
+ @media screen and (max-width: 768px) {
|
|
|
|
|
+ .form-column {
|
|
|
|
|
+ flex: 1 0 100%; /* 在小屏幕下变成单列布局 */
|
|
|
|
|
+ margin-right: 0;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ /*:deep(.el-table td .cell) {*/
|
|
|
|
|
+ /* line-height: 30px !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;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ /* 选中某行时的背景色 */
|
|
|
|
|
+ :deep(.el-table__body tr.current-row) > td {
|
|
|
|
|
+ background: #ff80ff !important;
|
|
|
|
|
+ }
|
|
|
|
|
+ </style>
|
|
|
|
|
+ <style scoped>
|
|
|
|
|
+ :deep(.el-table td .cell) {
|
|
|
|
|
+ line-height: 20px !important;
|
|
|
|
|
+ }
|
|
|
|
|
+ :deep(.el-tabs__header){
|
|
|
|
|
+ margin-bottom: 0;
|
|
|
|
|
+ }
|
|
|
|
|
+ .search{
|
|
|
|
|
+ margin-left: 0px !important;
|
|
|
|
|
+ margin-right: 10px !important;
|
|
|
|
|
+ }
|
|
|
|
|
+ .bt{
|
|
|
|
|
+ margin-left: 2px !important;
|
|
|
|
|
+ padding: 3px !important;
|
|
|
|
|
+ font-size: 12px;
|
|
|
|
|
+ }
|
|
|
|
|
+ .el-tabs__header{
|
|
|
|
|
+ margin: 0px !important;
|
|
|
|
|
+ }
|
|
|
|
|
+ .gva-table-box{
|
|
|
|
|
+ padding: 0px !important;
|
|
|
|
|
+ }
|
|
|
|
|
+ .mab{
|
|
|
|
|
+ margin-bottom: 5px;
|
|
|
|
|
+ }
|
|
|
|
|
+ </style>
|
|
|
|
|
+
|