|
@@ -17,13 +17,13 @@
|
|
|
<el-form-item>
|
|
<el-form-item>
|
|
|
<el-input v-model="detailData.image" :clearable="true" placeholder="输入工单编号或产品名称" style="width: 180px;" />
|
|
<el-input v-model="detailData.image" :clearable="true" placeholder="输入工单编号或产品名称" style="width: 180px;" />
|
|
|
<el-button type="primary" icon="search" @click="onSubmit" class="bt">查询</el-button>
|
|
<el-button type="primary" icon="search" @click="onSubmit" class="bt">查询</el-button>
|
|
|
- <el-button type="primary" icon="refresh" @click="onReset" class="bt">切换显示方式</el-button>
|
|
|
|
|
<el-button type="primary" icon="plus" @click="onAdd" class="bt">新增</el-button>
|
|
<el-button type="primary" icon="plus" @click="onAdd" class="bt">新增</el-button>
|
|
|
- <el-button type="primary" icon="delete" @click="onDel" class="bt">删除</el-button>
|
|
|
|
|
|
|
+ <el-button type="primary" icon="refresh" @click="onReset" class="bt">切换显示方式</el-button>
|
|
|
<el-button type="primary" class="bt" icon="download" @click="jcToExcel" >导出到Excel</el-button>
|
|
<el-button type="primary" class="bt" icon="download" @click="jcToExcel" >导出到Excel</el-button>
|
|
|
|
|
+ <el-button type="primary" icon="delete" @click="onDel" class="bt">删除</el-button>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-form>
|
|
</el-form>
|
|
|
- <el-table ref="multipleTable" style="width: 100%;height: 74vh" border tooltip-effect="dark" :data="tableData"
|
|
|
|
|
|
|
+ <el-table ref="multipleTable" style="width: 100%;height: 65vh" border tooltip-effect="dark" :data="tableData"
|
|
|
row-key="ID" :show-overflow-tooltip="true" highlight-current-row id="Exceltable"
|
|
row-key="ID" :show-overflow-tooltip="true" highlight-current-row id="Exceltable"
|
|
|
:row-style="{ height: '20px' }" :cell-style="{ padding: '0px' }"
|
|
:row-style="{ height: '20px' }" :cell-style="{ padding: '0px' }"
|
|
|
:header-row-style="{ height: '20px' }" :header-cell-style="{ padding: '0px' }"
|
|
:header-row-style="{ height: '20px' }" :header-cell-style="{ padding: '0px' }"
|
|
@@ -54,6 +54,7 @@
|
|
|
@current-change="handleCurrentChange" @size-change="handleSizeChange" />
|
|
@current-change="handleCurrentChange" @size-change="handleSizeChange" />
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
+
|
|
|
<el-dialog v-model="dialogFormVisible" :before-close="closeDialog"
|
|
<el-dialog v-model="dialogFormVisible" :before-close="closeDialog"
|
|
|
:title="type === 'create' ? '新增' : '修改'" destroy-on-close
|
|
:title="type === 'create' ? '新增' : '修改'" destroy-on-close
|
|
|
style="width: 1020px;position: fixed; top: 35%; left: 50%; transform: translate(-50%, -50%);">
|
|
style="width: 1020px;position: fixed; top: 35%; left: 50%; transform: translate(-50%, -50%);">
|
|
@@ -61,30 +62,24 @@
|
|
|
<el-form ref="elFormRef" :model="detailData" :inline="true" style="margin-bottom: 0px;"
|
|
<el-form ref="elFormRef" :model="detailData" :inline="true" style="margin-bottom: 0px;"
|
|
|
label-position="right" :rules="rule" label-width="80px" aria-="true">
|
|
label-position="right" :rules="rule" label-width="80px" aria-="true">
|
|
|
<el-form-item label="工单编号:" prop="address" style="margin-right: 120px;">
|
|
<el-form-item label="工单编号:" prop="address" style="margin-right: 120px;">
|
|
|
- <el-input v-model="detailData.sczl_gdbh" @keydown="ent1($event)"
|
|
|
|
|
- @blur="getCPMCsubmit()" style="width: 120px;" placeholder="Enter回车" />
|
|
|
|
|
|
|
+ <el-input v-model="detailData.sczl_gdbh" @keydown="ent1($event,index,row,'工单编号')"
|
|
|
|
|
+ style="width: 120px;" placeholder="Enter回车" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="产品名称:" prop="image">
|
|
<el-form-item label="产品名称:" prop="image">
|
|
|
- <el-input v-model="detailData.Gd_cpmc" @keydown="ent1($event)" placeholder="请输入产品名称"
|
|
|
|
|
- style="width: 450px;" />
|
|
|
|
|
|
|
+ <el-input v-model="detailData.Gd_cpmc" disabled @keydown="ent1($event)" placeholder="请输入产品名称" style="width: 450px;" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-form>
|
|
</el-form>
|
|
|
- <el-form ref="elFormRef" :model="detailData" :inline="true" label-position="right"
|
|
|
|
|
- :rules="rule" label-width="80px">
|
|
|
|
|
|
|
+ <el-form ref="elFormRef" :model="detailData" :inline="true" label-position="right" :rules="rule" label-width="80px">
|
|
|
<el-form-item label="印件号:" prop="address" style="margin-right: 120px;">
|
|
<el-form-item label="印件号:" prop="address" style="margin-right: 120px;">
|
|
|
- <el-input v-model="detailData.sczl_yjno" @keydown="ent1($event)"
|
|
|
|
|
- @blur="getYJMCsubmit()" style="width: 120px;" />
|
|
|
|
|
|
|
+ <el-input v-model="detailData.sczl_yjno" @keydown="ent1($event,index,row,'印件号')" style="width: 120px;" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="印件名称:" prop="image">
|
|
<el-form-item label="印件名称:" prop="image">
|
|
|
- <el-input v-model="detailData.yj_yjmc" @keydown="ent1($event)"
|
|
|
|
|
- style="width: 450px;" />
|
|
|
|
|
|
|
+ <el-input v-model="detailData.yj_yjmc" disabled @keydown="ent1($event)" style="width: 450px;" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-form>
|
|
</el-form>
|
|
|
- <el-form ref="elFormRef" :model="detailData" :inline="true" label-position="right"
|
|
|
|
|
- :rules="rule" label-width="90px">
|
|
|
|
|
|
|
+ <el-form ref="elFormRef" :model="detailData" :inline="true" label-position="right" :rules="rule" label-width="90px">
|
|
|
<el-form-item label="工序名称:" prop="address">
|
|
<el-form-item label="工序名称:" prop="address">
|
|
|
- <el-input v-model="detailData.sczl_gxmc" @blur="getGXsubmit()"
|
|
|
|
|
- @keydown="ent1($event)" style="width: 300px;" />
|
|
|
|
|
|
|
+ <el-input v-model="detailData.sczl_gxmc" @keydown="ent1($event,index,row,'工序名称')" style="width: 300px;" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item prop="image">
|
|
<el-form-item prop="image">
|
|
|
<el-input v-model="detailData.sczl_gxh" @keydown="ent1($event)"
|
|
<el-input v-model="detailData.sczl_gxh" @keydown="ent1($event)"
|
|
@@ -97,30 +92,25 @@
|
|
|
<el-form ref="elFormRef" :model="detailData" :inline="true" label-position="right"
|
|
<el-form ref="elFormRef" :model="detailData" :inline="true" label-position="right"
|
|
|
:rules="rule" label-width="80px">
|
|
:rules="rule" label-width="80px">
|
|
|
<el-form-item label="日期:" prop="address" style="margin-right: 120px;">
|
|
<el-form-item label="日期:" prop="address" style="margin-right: 120px;">
|
|
|
- <el-input v-model="detailData.sczl_rq" @keydown="ent1($event)"
|
|
|
|
|
- style="width: 120px;" />
|
|
|
|
|
|
|
+ <el-input v-model="detailData.sczl_rq" @keydown="ent1($event)" style="width: 120px;" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="废品数量:" prop="image">
|
|
<el-form-item label="废品数量:" prop="image">
|
|
|
- <el-input v-model="detailData.sczl_cl" @keydown="ent1($event)"
|
|
|
|
|
- style="width: 120px;" />
|
|
|
|
|
|
|
+ <el-input v-model="detailData.sczl_cl" @keydown="ent1($event)" style="width: 120px;" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="联数:" prop="image">
|
|
<el-form-item label="联数:" prop="image">
|
|
|
- <el-input v-model="detailData.sczl_ls" @keydown="ent1($event)"
|
|
|
|
|
- style="width: 120px;" />
|
|
|
|
|
|
|
+ <el-input v-model="detailData.sczl_ls" @keydown="ent1($event)" style="width: 120px;" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-form>
|
|
</el-form>
|
|
|
<el-form ref="elFormRef" :model="detailData" :inline="true" label-position="right"
|
|
<el-form ref="elFormRef" :model="detailData" :inline="true" label-position="right"
|
|
|
:rules="rule" label-width="90px">
|
|
:rules="rule" label-width="90px">
|
|
|
<el-form-item label="废品备注:" prop="address">
|
|
<el-form-item label="废品备注:" prop="address">
|
|
|
- <el-input v-model="detailData.sczl_fplxA" @keydown="ent1($event)"
|
|
|
|
|
- style="width: 300px;" />
|
|
|
|
|
|
|
+ <el-input v-model="detailData.sczl_fplxA" @keydown="ent1($event)" style="width: 300px;" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
<el-form-item>
|
|
|
- <el-checkbox v-model="detailData.sczl_fplxB" style="width: 30px;"
|
|
|
|
|
- @keydown="ent1($event)">制程废</el-checkbox>
|
|
|
|
|
|
|
+ <el-checkbox v-model="detailData.sczl_fplxB" style="width: 30px;" @keydown="ent1($event)">制程废</el-checkbox>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="责任部门:" prop="image">
|
|
<el-form-item label="责任部门:" prop="image">
|
|
|
- <el-input v-model="detailData.责任部门" @keydown="ent1($event)" style="width: 250px;" />
|
|
|
|
|
|
|
+ <el-input v-model="detailData.责任部门" @keydown="ent1($event,index,row,'责任部门')" style="width: 250px;" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-form>
|
|
</el-form>
|
|
|
<el-form ref="elFormRef" :model="detailData" :inline="true" label-position="right"
|
|
<el-form ref="elFormRef" :model="detailData" :inline="true" label-position="right"
|
|
@@ -142,35 +132,52 @@
|
|
|
:rules="rule">
|
|
:rules="rule">
|
|
|
<el-form-item>
|
|
<el-form-item>
|
|
|
<div class="sub-title">奖励班组:</div>
|
|
<div class="sub-title">奖励班组:</div>
|
|
|
- <el-input v-model="detailData.Jl_bzdh" @keydown="ent1($event)"
|
|
|
|
|
- style="width: 45px;" />
|
|
|
|
|
- <el-input v-model="detailData.jl_jtbh" @blur="getJtbhsubmit('1')"
|
|
|
|
|
- @keydown="ent1($event)" id="jt" style="width: 65px;" />
|
|
|
|
|
|
|
+ <el-input v-model="detailData.Jl_bzdh" @keydown="ent1($event)"
|
|
|
|
|
+ style="width: 40px;" />
|
|
|
|
|
+ <!-- <el-input v-model="detailData.jl_jtbh" @blur="getJtbhsubmit('1')"
|
|
|
|
|
+ @keydown="ent1($event)" id="jt" style="width: 65px;" /> -->
|
|
|
|
|
+ <el-select
|
|
|
|
|
+ v-model="detailData.jl_jtbh"
|
|
|
|
|
+ placeholder="请选择班次"
|
|
|
|
|
+ @change="getJtbhsubmit('1')"
|
|
|
|
|
+ @keydown="ent1($event)"
|
|
|
|
|
+ id="jt"
|
|
|
|
|
+ style="width: 70px;">
|
|
|
|
|
+ <el-option
|
|
|
|
|
+ label="A班"
|
|
|
|
|
+ value="A班">
|
|
|
|
|
+ </el-option>
|
|
|
|
|
+ <el-option
|
|
|
|
|
+ label="B班"
|
|
|
|
|
+ value="B班">
|
|
|
|
|
+ </el-option>
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+
|
|
|
<el-input v-model="detailData.JL_bh1" id="bh1" @blur="GetYg($event, '2')"
|
|
<el-input v-model="detailData.JL_bh1" id="bh1" @blur="GetYg($event, '2')"
|
|
|
- @keydown="ent($event, 'jt', 'bh1', 'bh2')" style="width: 85px;" />
|
|
|
|
|
|
|
+ @keydown="ent($event, 'jt', 'bh1', 'bh2')" class="bzryred" style="width: 85px;" />
|
|
|
<el-input v-model="detailData.JL_bh2" id="bh2"
|
|
<el-input v-model="detailData.JL_bh2" id="bh2"
|
|
|
- @keydown="ent($event, 'bh1', 'bh2', 'bh3')" @blur="GetYg($event, '3')"
|
|
|
|
|
|
|
+ @keydown="ent($event, 'bh1', 'bh2', 'bh3')" class="bzryred" @blur="GetYg($event, '3')"
|
|
|
style="width: 85px;" />
|
|
style="width: 85px;" />
|
|
|
<el-input v-model="detailData.JL_bh3" id="bh3"
|
|
<el-input v-model="detailData.JL_bh3" id="bh3"
|
|
|
- @keydown="ent($event, 'bh2', 'bh3', 'bh4')" @blur="GetYg($event, '4')"
|
|
|
|
|
|
|
+ @keydown="ent($event, 'bh2', 'bh3', 'bh4')" class="bzryred" @blur="GetYg($event, '4')"
|
|
|
style="width: 85px;" />
|
|
style="width: 85px;" />
|
|
|
<el-input v-model="detailData.JL_bh4" id="bh4"
|
|
<el-input v-model="detailData.JL_bh4" id="bh4"
|
|
|
- @keydown="ent($event, 'bh3', 'bh4', 'bh5')" @blur="GetYg($event, '5')"
|
|
|
|
|
|
|
+ @keydown="ent($event, 'bh3', 'bh4', 'bh5')" class="bzryred" @blur="GetYg($event, '5')"
|
|
|
style="width: 85px;" />
|
|
style="width: 85px;" />
|
|
|
<el-input v-model="detailData.JL_bh5" id="bh5"
|
|
<el-input v-model="detailData.JL_bh5" id="bh5"
|
|
|
- @keydown="ent($event, 'bh4', 'bh5', 'bh6')" @blur="GetYg($event, '6')"
|
|
|
|
|
|
|
+ @keydown="ent($event, 'bh4', 'bh5', 'bh6')" class="bzryred" @blur="GetYg($event, '6')"
|
|
|
style="width: 85px;" />
|
|
style="width: 85px;" />
|
|
|
<el-input v-model="detailData.JL_bh6" id="bh6"
|
|
<el-input v-model="detailData.JL_bh6" id="bh6"
|
|
|
- @keydown="ent($event, 'bh5', 'bh6', 'bh7')" @blur="GetYg($event, '7')"
|
|
|
|
|
|
|
+ @keydown="ent($event, 'bh5', 'bh6', 'bh7')" class="bzryred" @blur="GetYg($event, '7')"
|
|
|
style="width: 85px;" />
|
|
style="width: 85px;" />
|
|
|
<el-input v-model="detailData.JL_bh7" id="bh7"
|
|
<el-input v-model="detailData.JL_bh7" id="bh7"
|
|
|
- @keydown="ent($event, 'bh6', 'bh7', 'bh8')" @blur="GetYg($event, '8')"
|
|
|
|
|
|
|
+ @keydown="ent($event, 'bh6', 'bh7', 'bh8')" class="bzryred" @blur="GetYg($event, '8')"
|
|
|
style="width: 85px;" />
|
|
style="width: 85px;" />
|
|
|
<el-input v-model="detailData.JL_bh8" id="bh8"
|
|
<el-input v-model="detailData.JL_bh8" id="bh8"
|
|
|
- @keydown="ent($event, 'bh7', 'bh8', 'bh9')" @blur="GetYg($event, '9')"
|
|
|
|
|
|
|
+ @keydown="ent($event, 'bh7', 'bh8', 'bh9')" class="bzryred" @blur="GetYg($event, '9')"
|
|
|
style="width: 85px;" />
|
|
style="width: 85px;" />
|
|
|
<el-input v-model="detailData.JL_bh9" id="bh9"
|
|
<el-input v-model="detailData.JL_bh9" id="bh9"
|
|
|
- @keydown="ent($event, 'bh8', 'bh9', 'name1', '9')" @blur="GetYg($event, '10')"
|
|
|
|
|
|
|
+ @keydown="ent($event, 'bh8', 'bh9', 'name1', '9')" class="bzryred" @blur="GetYg($event, '10')"
|
|
|
style="width: 85px;" />
|
|
style="width: 85px;" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-form>
|
|
</el-form>
|
|
@@ -202,23 +209,23 @@
|
|
|
:rules="rule">
|
|
:rules="rule">
|
|
|
<el-form-item>
|
|
<el-form-item>
|
|
|
<div class="sub-title" style="width: 182px;">奖励金额:</div>
|
|
<div class="sub-title" style="width: 182px;">奖励金额:</div>
|
|
|
- <el-input v-model="detailData.JL_Je1" @keydown="ent1($event)"
|
|
|
|
|
|
|
+ <el-input v-model="detailData.JL_Je1" class='cfje' @keydown="ent1($event)"
|
|
|
style="width: 85px;" />
|
|
style="width: 85px;" />
|
|
|
- <el-input v-model="detailData.JL_Je2" @keydown="ent1($event)"
|
|
|
|
|
|
|
+ <el-input v-model="detailData.JL_Je2" class='cfje' @keydown="ent1($event)"
|
|
|
style="width: 85px;" />
|
|
style="width: 85px;" />
|
|
|
- <el-input v-model="detailData.JL_Je3" @keydown="ent1($event)"
|
|
|
|
|
|
|
+ <el-input v-model="detailData.JL_Je3" class='cfje' @keydown="ent1($event)"
|
|
|
style="width: 85px;" />
|
|
style="width: 85px;" />
|
|
|
- <el-input v-model="detailData.JL_Je4" @keydown="ent1($event)"
|
|
|
|
|
|
|
+ <el-input v-model="detailData.JL_Je4" class='cfje' @keydown="ent1($event)"
|
|
|
style="width: 85px;" />
|
|
style="width: 85px;" />
|
|
|
- <el-input v-model="detailData.JL_Je5" @keydown="ent1($event)"
|
|
|
|
|
|
|
+ <el-input v-model="detailData.JL_Je5" class='cfje' @keydown="ent1($event)"
|
|
|
style="width: 85px;" />
|
|
style="width: 85px;" />
|
|
|
- <el-input v-model="detailData.JL_Je6" @keydown="ent1($event)"
|
|
|
|
|
|
|
+ <el-input v-model="detailData.JL_Je6" class='cfje' @keydown="ent1($event)"
|
|
|
style="width: 85px;" />
|
|
style="width: 85px;" />
|
|
|
- <el-input v-model="detailData.JL_Je7" @keydown="ent1($event)"
|
|
|
|
|
|
|
+ <el-input v-model="detailData.JL_Je7" class='cfje' @keydown="ent1($event)"
|
|
|
style="width: 85px;" />
|
|
style="width: 85px;" />
|
|
|
- <el-input v-model="detailData.JL_Je8" @keydown="ent1($event)"
|
|
|
|
|
|
|
+ <el-input v-model="detailData.JL_Je8" class='cfje' @keydown="ent1($event)"
|
|
|
style="width: 85px;" />
|
|
style="width: 85px;" />
|
|
|
- <el-input v-model="detailData.JL_Je9" @keydown="ent1($event)"
|
|
|
|
|
|
|
+ <el-input v-model="detailData.JL_Je9" class='cfje' @keydown="ent1($event)"
|
|
|
style="width: 85px;" />
|
|
style="width: 85px;" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-form>
|
|
</el-form>
|
|
@@ -243,8 +250,24 @@
|
|
|
<div class="sub-title">责任班组:</div>
|
|
<div class="sub-title">责任班组:</div>
|
|
|
<el-input v-model="detailData.sczl_bzdh" @keydown="ent1($event)"
|
|
<el-input v-model="detailData.sczl_bzdh" @keydown="ent1($event)"
|
|
|
style="width: 45px;" />
|
|
style="width: 45px;" />
|
|
|
- <el-input v-model="detailData.sczl_jtbh" id="jt2" @blur="getJtbhsubmit('2')"
|
|
|
|
|
- @keydown="ent1($event)" style="width: 65px;" />
|
|
|
|
|
|
|
+ <!-- <el-input v-model="detailData.sczl_jtbh" id="jt2" @blur="getJtbhsubmit('2')"
|
|
|
|
|
+ @keydown="ent1($event)" style="width: 65px;" /> -->
|
|
|
|
|
+ <el-select
|
|
|
|
|
+ v-model="detailData.sczl_jtbh"
|
|
|
|
|
+ placeholder="请选择班次"
|
|
|
|
|
+ @change="getJtbhsubmit('2')"
|
|
|
|
|
+ @keydown="ent1($event)"
|
|
|
|
|
+ id="jt"
|
|
|
|
|
+ style="width: 70px;">
|
|
|
|
|
+ <el-option
|
|
|
|
|
+ label="A班"
|
|
|
|
|
+ value="A班">
|
|
|
|
|
+ </el-option>
|
|
|
|
|
+ <el-option
|
|
|
|
|
+ label="B班"
|
|
|
|
|
+ value="B班">
|
|
|
|
|
+ </el-option>
|
|
|
|
|
+ </el-select>
|
|
|
<el-input v-model="detailData.sczl_bh1" id="dh1"
|
|
<el-input v-model="detailData.sczl_bh1" id="dh1"
|
|
|
@keydown="ent($event, 'jt2', 'dh1', 'dh2')" @blur="GetYg($event, '13')"
|
|
@keydown="ent($event, 'jt2', 'dh1', 'dh2')" @blur="GetYg($event, '13')"
|
|
|
style="width: 85px;" />
|
|
style="width: 85px;" />
|
|
@@ -301,23 +324,23 @@
|
|
|
:rules="rule">
|
|
:rules="rule">
|
|
|
<el-form-item>
|
|
<el-form-item>
|
|
|
<div class="sub-title" style="width: 182px;">处罚金额:</div>
|
|
<div class="sub-title" style="width: 182px;">处罚金额:</div>
|
|
|
- <el-input v-model="detailData.sczl_je1" @keydown="ent1($event)"
|
|
|
|
|
|
|
+ <el-input v-model="detailData.sczl_je1" class='cfje' @keydown="ent1($event)"
|
|
|
style="width: 85px;" />
|
|
style="width: 85px;" />
|
|
|
- <el-input v-model="detailData.sczl_je2" @keydown="ent1($event)"
|
|
|
|
|
|
|
+ <el-input v-model="detailData.sczl_je2" class='cfje' @keydown="ent1($event)"
|
|
|
style="width: 85px;" />
|
|
style="width: 85px;" />
|
|
|
- <el-input v-model="detailData.sczl_je3" @keydown="ent1($event)"
|
|
|
|
|
|
|
+ <el-input v-model="detailData.sczl_je3" class='cfje' @keydown="ent1($event)"
|
|
|
style="width: 85px;" />
|
|
style="width: 85px;" />
|
|
|
- <el-input v-model="detailData.sczl_je4" @keydown="ent1($event)"
|
|
|
|
|
|
|
+ <el-input v-model="detailData.sczl_je4" class='cfje' @keydown="ent1($event)"
|
|
|
style="width: 85px;" />
|
|
style="width: 85px;" />
|
|
|
- <el-input v-model="detailData.sczl_je5" @keydown="ent1($event)"
|
|
|
|
|
|
|
+ <el-input v-model="detailData.sczl_je5" class='cfje' @keydown="ent1($event)"
|
|
|
style="width: 85px;" />
|
|
style="width: 85px;" />
|
|
|
- <el-input v-model="detailData.sczl_je6" @keydown="ent1($event)"
|
|
|
|
|
|
|
+ <el-input v-model="detailData.sczl_je6" class='cfje' @keydown="ent1($event)"
|
|
|
style="width: 85px;" />
|
|
style="width: 85px;" />
|
|
|
- <el-input v-model="detailData.sczl_je7" @keydown="ent1($event)"
|
|
|
|
|
|
|
+ <el-input v-model="detailData.sczl_je7" class='cfje' @keydown="ent1($event)"
|
|
|
style="width: 85px;" />
|
|
style="width: 85px;" />
|
|
|
- <el-input v-model="detailData.sczl_je8" @keydown="ent1($event)"
|
|
|
|
|
|
|
+ <el-input v-model="detailData.sczl_je8" class='cfje' @keydown="ent1($event)"
|
|
|
style="width: 85px;" />
|
|
style="width: 85px;" />
|
|
|
- <el-input v-model="detailData.sczl_je9" @keydown="ent1($event)"
|
|
|
|
|
|
|
+ <el-input v-model="detailData.sczl_je9" class='cfje' @keydown="ent1($event)"
|
|
|
style="width: 85px;" />
|
|
style="width: 85px;" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-form>
|
|
</el-form>
|
|
@@ -330,12 +353,27 @@
|
|
|
</template>
|
|
</template>
|
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- <el-dialog v-model="dialogSelectVisible" title="选择" destroy-on-close width="500px"
|
|
|
|
|
|
|
+ <!--责任部门弹窗 -->
|
|
|
|
|
+ <el-dialog
|
|
|
|
|
+ v-model="dialogSelectVisibleZRBM"
|
|
|
|
|
+ title="责任部门选择"
|
|
|
|
|
+ destroy-on-close
|
|
|
|
|
+ width="200px"
|
|
|
|
|
+ @keydown="selectZRBM($event)"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-table tooltip-effect="dark" :data="selectDataZRBM"
|
|
|
|
|
+ row-key="ID" highlight-current-row="true" border style="width:100%"
|
|
|
|
|
+ @row-dblclick="handleSelectClickZRBM" ref="table">
|
|
|
|
|
+ <el-table-column label="部门" prop="name" width="200">
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ </el-table>
|
|
|
|
|
+ </el-dialog>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 工序名称选择弹窗 -->
|
|
|
|
|
+ <el-dialog v-model="dialogSelectVisible" title="工序名称选择" destroy-on-close width="500px"
|
|
|
@keydown="selectGX($event)">
|
|
@keydown="selectGX($event)">
|
|
|
<el-table tooltip-effect="dark" :data="selectData" row-key="ID" highlight-current-row="true"
|
|
<el-table tooltip-effect="dark" :data="selectData" row-key="ID" highlight-current-row="true"
|
|
|
- border style="width:100%" @row-dblclick="handleSelectClick" ref="table2">
|
|
|
|
|
|
|
+ border style="width:100%" @row-dblclick="handleSelectClick" ref="table">
|
|
|
<el-table-column label="工序名称" width="460">
|
|
<el-table-column label="工序名称" width="460">
|
|
|
<template v-slot="{ row }">
|
|
<template v-slot="{ row }">
|
|
|
{{ row }}
|
|
{{ row }}
|
|
@@ -343,7 +381,10 @@
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
</el-table>
|
|
</el-table>
|
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
- <el-dialog v-model="dialogSelectVisible_Yj" title="选择" destroy-on-close width="600px"
|
|
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 印件选择弹窗 -->
|
|
|
|
|
+ <el-dialog v-model="dialogSelectVisible_Yj" title="印件选择" destroy-on-close width="600px"
|
|
|
@keydown="selectGX_Yj($event)">
|
|
@keydown="selectGX_Yj($event)">
|
|
|
<el-table tooltip-effect="dark" :data="selectData_Yj" row-key="ID" highlight-current-row="true"
|
|
<el-table tooltip-effect="dark" :data="selectData_Yj" row-key="ID" highlight-current-row="true"
|
|
|
border style="width:100%" @row-dblclick="handleSelectClick_Yj" ref="table_Yj">
|
|
border style="width:100%" @row-dblclick="handleSelectClick_Yj" ref="table_Yj">
|
|
@@ -351,6 +392,8 @@
|
|
|
<el-table-column prop="印件名称" label="印件名称" width="460" />
|
|
<el-table-column prop="印件名称" label="印件名称" width="460" />
|
|
|
</el-table>
|
|
</el-table>
|
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 员工编号编号弹窗 -->
|
|
|
<el-dialog v-model="dialogSelectVisible_Yg" title="选择" destroy-on-close width="300px"
|
|
<el-dialog v-model="dialogSelectVisible_Yg" title="选择" destroy-on-close width="300px"
|
|
|
@keydown="selectGX_Yg($event)">
|
|
@keydown="selectGX_Yg($event)">
|
|
|
<el-table tooltip-effect="dark" :data="selectData_Yg" row-key="ID" highlight-current-row="true"
|
|
<el-table tooltip-effect="dark" :data="selectData_Yg" row-key="ID" highlight-current-row="true"
|
|
@@ -359,10 +402,43 @@
|
|
|
<el-table-column prop="ygxm" label="员工姓名" width="200" />
|
|
<el-table-column prop="ygxm" label="员工姓名" width="200" />
|
|
|
</el-table>
|
|
</el-table>
|
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
- <el-dialog v-model="JtbhVisible" title="选择" destroy-on-close width="200px">
|
|
|
|
|
- <el-table tooltip-effect="dark" :data="selectDataJtbh" row-key="ID" highlight-current-row="true"
|
|
|
|
|
- border style="width:100%" @row-dblclick="SelectClickJtbh">
|
|
|
|
|
- <el-table-column prop="设备编号" label="设备编号" width="160" />
|
|
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 班组设备编号弹窗 -->
|
|
|
|
|
+ <el-dialog v-model="JtbhVisible" title="选择" destroy-on-close width="80%" @keydown="selectGX_SBBH($event)" >
|
|
|
|
|
+ <!-- <el-table tooltip-effect="dark" :data="selectDataJtbh" row-key="ID" highlight-current-row="true"
|
|
|
|
|
+ border style="width:100%" @row-dblclick="SelectClickJtbh"> -->
|
|
|
|
|
+ <el-table
|
|
|
|
|
+ ref="tableRefbz"
|
|
|
|
|
+ tooltip-effect="dark"
|
|
|
|
|
+ :data="selectDataJtbh"
|
|
|
|
|
+ row-key="ID"
|
|
|
|
|
+ highlight-current-row="true"
|
|
|
|
|
+ border
|
|
|
|
|
+ style="width: 100%"
|
|
|
|
|
+ @row-dblclick="SelectClickJtbh"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-table-column label="机台编号" fixed="left" prop="机台编号" width="100" ref="tableRef" />
|
|
|
|
|
+ <el-table-column label="工序名称" prop="工序名称" width="400" />
|
|
|
|
|
+ <el-table-column label="员工姓名" prop="员工姓名1" width="90" />
|
|
|
|
|
+ <el-table-column label="员工编号" prop="员工编号1" width="90" />
|
|
|
|
|
+ <el-table-column label="员工姓名" prop="员工姓名2" width="90" />
|
|
|
|
|
+ <el-table-column label="员工编号" prop="员工编号2" width="90" />
|
|
|
|
|
+ <el-table-column label="员工姓名" prop="员工姓名3" width="90" />
|
|
|
|
|
+ <el-table-column label="员工编号" prop="员工编号3" width="90" />
|
|
|
|
|
+ <el-table-column label="员工姓名" prop="员工姓名4" width="90" />
|
|
|
|
|
+ <el-table-column label="员工编号" prop="员工编号4" width="90" />
|
|
|
|
|
+ <el-table-column label="员工姓名" prop="员工姓名5" width="90" />
|
|
|
|
|
+ <el-table-column label="员工编号" prop="员工编号5" width="90" />
|
|
|
|
|
+ <el-table-column label="员工姓名" prop="员工姓名6" width="90" />
|
|
|
|
|
+ <el-table-column label="员工编号" prop="员工编号6" width="90" />
|
|
|
|
|
+ <el-table-column label="员工姓名" prop="员工姓名7" width="90" />
|
|
|
|
|
+ <el-table-column label="员工编号" prop="员工编号7" width="90" />
|
|
|
|
|
+ <el-table-column label="员工姓名" prop="员工姓名8" width="90" />
|
|
|
|
|
+ <el-table-column label="员工编号" prop="员工编号8" width="90" />
|
|
|
|
|
+ <el-table-column label="员工姓名" prop="员工姓名9" width="90" />
|
|
|
|
|
+ <el-table-column label="员工编号" prop="员工编号9" width="90" />
|
|
|
|
|
+ <el-table-column label="员工姓名" prop="员工姓名10" width="90" />
|
|
|
|
|
+ <el-table-column label="员工编号" prop="员工编号10" width="90" />
|
|
|
</el-table>
|
|
</el-table>
|
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
|
|
|
@@ -613,7 +689,6 @@ import LuckyExcel from 'luckyexcel';
|
|
|
ADD.value = '新增'
|
|
ADD.value = '新增'
|
|
|
type.value = 'create'
|
|
type.value = 'create'
|
|
|
GetInfo(lastCellValue)
|
|
GetInfo(lastCellValue)
|
|
|
- // Productionadd()
|
|
|
|
|
}
|
|
}
|
|
|
// getTableData()
|
|
// getTableData()
|
|
|
//获取详细信息
|
|
//获取详细信息
|
|
@@ -731,59 +806,270 @@ import LuckyExcel from 'luckyexcel';
|
|
|
detailData.yj_yjmc = row.印件名称
|
|
detailData.yj_yjmc = row.印件名称
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
- const dialogSelectVisible = ref(false)
|
|
|
|
|
- const selectData = reactive([])
|
|
|
|
|
- //工序失去焦点事件
|
|
|
|
|
- const getGXsubmit = () => {
|
|
|
|
|
- //弹出选择
|
|
|
|
|
- ProcessList({
|
|
|
|
|
- workorder: detailData.sczl_gdbh,
|
|
|
|
|
- yjno: detailData.sczl_yjno
|
|
|
|
|
- }).then(response => {
|
|
|
|
|
- if (response.code === 0) {
|
|
|
|
|
- selectData.splice(0, selectData.length, ...response.data)
|
|
|
|
|
- console.log(selectData)
|
|
|
|
|
- dialogSelectVisible.value = true
|
|
|
|
|
- }
|
|
|
|
|
- })
|
|
|
|
|
- }
|
|
|
|
|
- // 工单选择框
|
|
|
|
|
- const handleSelectClick = (row, column, event) => {
|
|
|
|
|
- console.log(row)
|
|
|
|
|
- detailData.sczl_gxmc = row
|
|
|
|
|
- dialogSelectVisible.value = false
|
|
|
|
|
- }
|
|
|
|
|
- //机台选择
|
|
|
|
|
- const selectDataJtbh = reactive([])
|
|
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ /*
|
|
|
|
|
+ 设备编号
|
|
|
|
|
+ */
|
|
|
const JtbhVisible = ref(false)
|
|
const JtbhVisible = ref(false)
|
|
|
- const SelectClickJtbh = (row, column, event) => {
|
|
|
|
|
- const {
|
|
|
|
|
- 设备编号
|
|
|
|
|
- } = row
|
|
|
|
|
- if (jtbh.value === 'JL') {
|
|
|
|
|
- detailData.jl_jtbh = row.设备编号
|
|
|
|
|
- } else if (jtbh.value === 'ZR') {
|
|
|
|
|
- detailData.sczl_jtbh = row.设备编号
|
|
|
|
|
- }
|
|
|
|
|
- JtbhVisible.value = false
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ const selectDataJtbh = reactive([])
|
|
|
|
|
+ const currentIndexJtbh = ref(0); // 当前选中行索引
|
|
|
|
|
+ const tableRefbz = ref()
|
|
|
|
|
+ const gdbh = ref()
|
|
|
|
|
+ const yjno = ref()
|
|
|
const jtbh = ref()
|
|
const jtbh = ref()
|
|
|
|
|
+ const bzval = ref()
|
|
|
//机台失去焦点事件
|
|
//机台失去焦点事件
|
|
|
- const getJtbhsubmit = (value) => {
|
|
|
|
|
|
|
+ const getJtbhsubmit = async (value) => {
|
|
|
if (value === '1') {
|
|
if (value === '1') {
|
|
|
- jtbh.value = 'JL'
|
|
|
|
|
|
|
+ bzval.value = '1'
|
|
|
|
|
+ gdbh.value = detailData.sczl_gdbh
|
|
|
|
|
+ yjno.value = detailData.sczl_yjno
|
|
|
|
|
+ jtbh.value = detailData.jl_jtbh
|
|
|
} else if (value === '2') {
|
|
} else if (value === '2') {
|
|
|
- jtbh.value = 'ZR'
|
|
|
|
|
|
|
+ bzval.value = '2'
|
|
|
|
|
+ gdbh.value = detailData.sczl_gdbh
|
|
|
|
|
+ yjno.value = detailData.sczl_yjno
|
|
|
|
|
+ jtbh.value = detailData.sczl_jtbh
|
|
|
}
|
|
}
|
|
|
|
|
+ console.log(value)
|
|
|
|
|
+ console.log(gdbh.value)
|
|
|
|
|
+ console.log(yjno.value)
|
|
|
console.log(jtbh.value)
|
|
console.log(jtbh.value)
|
|
|
- MachineList().then(response => {
|
|
|
|
|
- if (response.code === 0) {
|
|
|
|
|
- selectDataJtbh.splice(0, selectDataJtbh.length, ...response.data)
|
|
|
|
|
- JtbhVisible.value = true
|
|
|
|
|
- }
|
|
|
|
|
- })
|
|
|
|
|
|
|
+ const response = await MachineList({ gdbh: gdbh.value, yjno: yjno.value,bzdh:jtbh.value })
|
|
|
|
|
+ selectDataJtbh.splice(0, selectDataJtbh.length, ...response.data)
|
|
|
|
|
+ JtbhVisible.value = true
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ // 设置当前高亮行
|
|
|
|
|
+ const setCurrentRowref = (row) => {
|
|
|
|
|
+ if (tableRefbz.value) {
|
|
|
|
|
+ tableRefbz.value.setCurrentRow(row) // 调用 el-table 的 setCurrentRow 方法
|
|
|
|
|
+ } else {
|
|
|
|
|
+ console.warn('tableRefbz is not available!')
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 键盘事件处理逻辑
|
|
|
|
|
+ const selectGX_SBBH = (event) => {
|
|
|
|
|
+ if (!JtbhVisible.value || !selectDataJtbh.length) return // 如果弹窗未显示或没有数据,直接返回
|
|
|
|
|
+
|
|
|
|
|
+ if (event.keyCode === 40) {
|
|
|
|
|
+ // 向下箭头
|
|
|
|
|
+ currentIndexJtbh.value =
|
|
|
|
|
+ currentIndexJtbh.value < selectDataJtbh.length - 1
|
|
|
|
|
+ ? currentIndexJtbh.value + 1
|
|
|
|
|
+ : 0 // 循环到第一个
|
|
|
|
|
+ setCurrentRowref(selectDataJtbh[currentIndexJtbh.value])
|
|
|
|
|
+ } else if (event.keyCode === 38) {
|
|
|
|
|
+ // 向上箭头
|
|
|
|
|
+ currentIndexJtbh.value =
|
|
|
|
|
+ currentIndexJtbh.value > 0
|
|
|
|
|
+ ? currentIndexJtbh.value - 1
|
|
|
|
|
+ : selectDataJtbh.length - 1 // 循环到最后一个
|
|
|
|
|
+ setCurrentRowref(selectDataJtbh[currentIndexJtbh.value])
|
|
|
|
|
+ } else if (event.keyCode === 13) {
|
|
|
|
|
+ // 回车键调用选中当前行
|
|
|
|
|
+ SelectClickJtbh(selectDataJtbh[currentIndexJtbh.value])
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ // 处理选中逻辑,将选中的行数据赋值到 detailData
|
|
|
|
|
+ const SelectClickJtbh = (row) => {
|
|
|
|
|
+ console.log("选中的行数据:", row);
|
|
|
|
|
+ console.log("bzval.value:", bzval.value);
|
|
|
|
|
+ if(bzval.value == '1'){
|
|
|
|
|
+ detailData.JL_bh1 = row.员工编号1 || "";
|
|
|
|
|
+ detailData.jlname1 = row.员工姓名1 || "";
|
|
|
|
|
+
|
|
|
|
|
+ detailData.JL_bh2 = row.员工编号2 || "";
|
|
|
|
|
+ detailData.jlname2 = row.员工姓名2 || "";
|
|
|
|
|
+
|
|
|
|
|
+ detailData.JL_bh3 = row.员工编号3 || "";
|
|
|
|
|
+ detailData.jlname3 = row.员工姓名3 || "";
|
|
|
|
|
+
|
|
|
|
|
+ detailData.JL_bh4 = row.员工编号4 || "";
|
|
|
|
|
+ detailData.jlname4 = row.员工姓名4 || "";
|
|
|
|
|
+
|
|
|
|
|
+ detailData.JL_bh5 = row.员工编号5 || "";
|
|
|
|
|
+ detailData.jlname5 = row.员工姓名5 || "";
|
|
|
|
|
+
|
|
|
|
|
+ detailData.JL_bh6 = row.员工编号6 || "";
|
|
|
|
|
+ detailData.jlname6 = row.员工姓名6 || "";
|
|
|
|
|
+
|
|
|
|
|
+ detailData.JL_bh7 = row.员工编号7 || "";
|
|
|
|
|
+ detailData.jlname7 = row.员工姓名7 || "";
|
|
|
|
|
+
|
|
|
|
|
+ detailData.JL_bh8 = row.员工编号8 || "";
|
|
|
|
|
+ detailData.jlname8 = row.员工姓名8 || "";
|
|
|
|
|
+
|
|
|
|
|
+ detailData.JL_bh9 = row.员工编号9 || "";
|
|
|
|
|
+ detailData.jlname9 = row.员工姓名9 || "";
|
|
|
|
|
+
|
|
|
|
|
+ detailData.JL_bh10 = row.员工编号10 || "";
|
|
|
|
|
+ detailData.jlname10 = row.员工姓名10 || "";
|
|
|
|
|
+ }else if(bzval.value === '2'){
|
|
|
|
|
+ detailData.sczl_bh1 = row.员工编号1 || "";
|
|
|
|
|
+ detailData.zrname1 = row.员工姓名1 || "";
|
|
|
|
|
+
|
|
|
|
|
+ detailData.sczl_bh2 = row.员工编号2 || "";
|
|
|
|
|
+ detailData.zrname2 = row.员工姓名2 || "";
|
|
|
|
|
+
|
|
|
|
|
+ detailData.sczl_bh3 = row.员工编号3 || "";
|
|
|
|
|
+ detailData.zrname3 = row.员工姓名3 || "";
|
|
|
|
|
+
|
|
|
|
|
+ detailData.sczl_bh4 = row.员工编号4 || "";
|
|
|
|
|
+ detailData.zrname4 = row.员工姓名4 || "";
|
|
|
|
|
+
|
|
|
|
|
+ detailData.sczl_bh5 = row.员工编号5 || "";
|
|
|
|
|
+ detailData.zrname5 = row.员工姓名5 || "";
|
|
|
|
|
+
|
|
|
|
|
+ detailData.sczl_bh6 = row.员工编号6 || "";
|
|
|
|
|
+ detailData.zrname6 = row.员工姓名6 || "";
|
|
|
|
|
+
|
|
|
|
|
+ detailData.sczl_bh7 = row.员工编号7 || "";
|
|
|
|
|
+ detailData.zrname7 = row.员工姓名7 || "";
|
|
|
|
|
+
|
|
|
|
|
+ detailData.sczl_bh8 = row.员工编号8 || "";
|
|
|
|
|
+ detailData.zrname8 = row.员工姓名8 || "";
|
|
|
|
|
+
|
|
|
|
|
+ detailData.sczl_bh9 = row.员工编号9 || "";
|
|
|
|
|
+ detailData.zrname9 = row.员工姓名9 || "";
|
|
|
|
|
+
|
|
|
|
|
+ detailData.sczl_bh10 = row.员工编号10 || "";
|
|
|
|
|
+ detailData.zrname10 = row.员工姓名10 || "";
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 隐藏对话框
|
|
|
|
|
+ JtbhVisible.value = false;
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ /*
|
|
|
|
|
+ 责任部门
|
|
|
|
|
+ */
|
|
|
|
|
+ const dialogSelectVisibleZRBM = ref(false);
|
|
|
|
|
+ const selectDataZRBM = reactive([]);
|
|
|
|
|
+ const currentIndexZRBM = ref(0); // 当前选中行索引
|
|
|
|
|
+ const getZRBM = () => {
|
|
|
|
|
+ // 模拟后端返回的数据
|
|
|
|
|
+ const response = {
|
|
|
|
|
+ data: [
|
|
|
|
|
+ { id: 1, name: "凹印" },
|
|
|
|
|
+ { id: 2, name: "胶印" },
|
|
|
|
|
+ { id: 3, name: "丝印" },
|
|
|
|
|
+ { id: 4, name: "模切" },
|
|
|
|
|
+ { id: 5, name: "烫金" },
|
|
|
|
|
+ { id: 6, name: "喷码" },
|
|
|
|
|
+ { id: 7, name: "原材料" },
|
|
|
|
|
+ { id: 8, name: "外加工" },
|
|
|
|
|
+ { id: 9, name: "精品试验" },
|
|
|
|
|
+ { id: 10, name: "新华" },
|
|
|
|
|
+ { id: 11, name: "其他" },
|
|
|
|
|
+ ]
|
|
|
|
|
+ };
|
|
|
|
|
+ // 清空原数组并插入新数据
|
|
|
|
|
+ selectDataZRBM.splice(0, selectDataZRBM.length, ...response.data);
|
|
|
|
|
+ dialogSelectVisibleZRBM.value = true
|
|
|
|
|
+ };
|
|
|
|
|
+ // 键盘事件处理
|
|
|
|
|
+ const selectZRBM = (event) => {
|
|
|
|
|
+ if (!dialogSelectVisibleZRBM.value || !selectDataZRBM.length) return;
|
|
|
|
|
+
|
|
|
|
|
+ if (event.keyCode === 40) {
|
|
|
|
|
+ // 向下箭头
|
|
|
|
|
+ currentIndexZRBM.value =
|
|
|
|
|
+ currentIndexZRBM.value < selectDataZRBM.length - 1
|
|
|
|
|
+ ? currentIndexZRBM.value + 1
|
|
|
|
|
+ : 0;
|
|
|
|
|
+ setCurrentRow(selectDataZRBM[currentIndexZRBM.value]);
|
|
|
|
|
+ } else if (event.keyCode === 38) {
|
|
|
|
|
+ // 向上箭头
|
|
|
|
|
+ currentIndexZRBM.value =
|
|
|
|
|
+ currentIndexZRBM.value > 0
|
|
|
|
|
+ ? currentIndexZRBM.value - 1
|
|
|
|
|
+ : selectDataZRBM.length - 1;
|
|
|
|
|
+ setCurrentRow(selectDataZRBM[currentIndexZRBM.value]);
|
|
|
|
|
+ } else if (event.keyCode === 13) {
|
|
|
|
|
+ // 回车键调用选中当前行
|
|
|
|
|
+ handleSelectClickZRBM(selectDataZRBM[currentIndexZRBM.value]);
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
|
|
+ // 双击或回车选中行
|
|
|
|
|
+ const handleSelectClickZRBM = (row) => {
|
|
|
|
|
+ console.log(row)
|
|
|
|
|
+ if (row) {
|
|
|
|
|
+ detailData.责任部门 = row.name;
|
|
|
|
|
+ dialogSelectVisibleZRBM.value = false;
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ /*
|
|
|
|
|
+ 工序名称弹窗
|
|
|
|
|
+ */
|
|
|
|
|
+ const dialogSelectVisible = ref(false);
|
|
|
|
|
+ const selectData = reactive([]); // 表格数据
|
|
|
|
|
+ const currentIndexgx = ref(0); // 当前选中行索引
|
|
|
|
|
+ const table = ref(null); // 表格实例
|
|
|
|
|
+ //失去焦点事件,弹出选择框
|
|
|
|
|
+ const getGXsubmit = () => {
|
|
|
|
|
+ ProcessList({
|
|
|
|
|
+ workorder: detailData.sczl_gdbh,
|
|
|
|
|
+ yjno: detailData.sczl_yjno
|
|
|
|
|
+ }).then((response) => {
|
|
|
|
|
+ if (response.code === 0) {
|
|
|
|
|
+ // 用 splice 确保更新响应式数据
|
|
|
|
|
+ selectData.splice(0, selectData.length, ...response.data);
|
|
|
|
|
+ dialogSelectVisible.value = true;
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ };
|
|
|
|
|
+ // 键盘事件处理
|
|
|
|
|
+ const selectGX = (event) => {
|
|
|
|
|
+ console.log(1213)
|
|
|
|
|
+ if (!dialogSelectVisible.value || !selectData.length) return;
|
|
|
|
|
+
|
|
|
|
|
+ if (event.keyCode === 40) {
|
|
|
|
|
+ // 向下箭头
|
|
|
|
|
+ currentIndexgx.value =
|
|
|
|
|
+ currentIndexgx.value < selectData.length - 1
|
|
|
|
|
+ ? currentIndexgx.value + 1
|
|
|
|
|
+ : 0;
|
|
|
|
|
+ setCurrentRow(selectData[currentIndexgx.value]);
|
|
|
|
|
+ } else if (event.keyCode === 38) {
|
|
|
|
|
+ // 向上箭头
|
|
|
|
|
+ currentIndexgx.value =
|
|
|
|
|
+ currentIndexgx.value > 0
|
|
|
|
|
+ ? currentIndexgx.value - 1
|
|
|
|
|
+ : selectData.length - 1;
|
|
|
|
|
+ setCurrentRow(selectData[currentIndexgx.value]);
|
|
|
|
|
+ } else if (event.keyCode === 13) {
|
|
|
|
|
+ // 回车键,选中当前行
|
|
|
|
|
+ handleSelectClick(selectData[currentIndexgx.value]);
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ // 设置高亮当前行
|
|
|
|
|
+ const setCurrentRow = (row) => {
|
|
|
|
|
+ if (table.value) {
|
|
|
|
|
+ table.value.setCurrentRow(row); // 设置当前高亮行
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ // 双击或回车选中行
|
|
|
|
|
+ const handleSelectClick = (row) => {
|
|
|
|
|
+ if (row) {
|
|
|
|
|
+ detailData.sczl_gxmc = row; // 选中行的工序名称
|
|
|
|
|
+ dialogSelectVisible.value = false; // 关闭弹窗
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
|
|
|
let num = '';
|
|
let num = '';
|
|
|
let flag_Yg = true;
|
|
let flag_Yg = true;
|
|
@@ -1065,53 +1351,59 @@ import LuckyExcel from 'luckyexcel';
|
|
|
add()
|
|
add()
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
- // SubmitDailyProduction()
|
|
|
|
|
- // elFormRef.value?.validate(async(valid) => {
|
|
|
|
|
- // if (!valid) return
|
|
|
|
|
- // let res
|
|
|
|
|
- // switch (type.value) {
|
|
|
|
|
- // case 'create':
|
|
|
|
|
- // res = await createCompany(detailData.value)
|
|
|
|
|
- // break
|
|
|
|
|
- // case 'update':
|
|
|
|
|
- // res = await updateCompany(detailData.value)
|
|
|
|
|
- // break
|
|
|
|
|
- // default:
|
|
|
|
|
- // res = await createCompany(detailData.value)
|
|
|
|
|
- // break
|
|
|
|
|
- // }
|
|
|
|
|
- // if (res.code === 0) {
|
|
|
|
|
- // ElMessage({
|
|
|
|
|
- // type: 'success',
|
|
|
|
|
- // message: '创建/更改成功'
|
|
|
|
|
- // })
|
|
|
|
|
- // closeDialog()
|
|
|
|
|
- // getTableData()
|
|
|
|
|
- // }
|
|
|
|
|
- // })
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//导出到Excel按钮
|
|
//导出到Excel按钮
|
|
|
- const jcToExcel = ()=>{
|
|
|
|
|
- const el = document.getElementById('Exceltable');
|
|
|
|
|
- // 文件名
|
|
|
|
|
- const filename = '工序大废品.xlsx';
|
|
|
|
|
- const wb = XLSX.utils.table_to_book(el, { raw: true });
|
|
|
|
|
- const wbout = XLSX.write(wb, { bookType: 'xlsx', bookSST: true, type: 'array' });
|
|
|
|
|
- try {
|
|
|
|
|
- FileSaver.saveAs(new Blob([wbout], { type: 'application/octet-stream' }), filename);
|
|
|
|
|
- } catch (e) {
|
|
|
|
|
- console.log(e);
|
|
|
|
|
- }
|
|
|
|
|
- return wbout;
|
|
|
|
|
-}
|
|
|
|
|
|
|
+ const jcToExcel = () => {
|
|
|
|
|
+ const el = document.getElementById('Exceltable');
|
|
|
|
|
+ if (!el) {
|
|
|
|
|
+ console.error('Table element not found!');
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ const filename = '工序大废品.xlsx';
|
|
|
|
|
+ const wb = XLSX.utils.table_to_book(el, { raw: true });
|
|
|
|
|
+ const ws = wb.Sheets[wb.SheetNames[0]]; // 获取第一个工作表
|
|
|
|
|
+
|
|
|
|
|
+ // 获取工作表的范围
|
|
|
|
|
+ const range = XLSX.utils.decode_range(ws['!ref']);
|
|
|
|
|
+
|
|
|
|
|
+ // 遍历每一行(从第二行开始)
|
|
|
|
|
+ for (let R = range.s.r + 1; R <= range.e.r + 1; ++R) {
|
|
|
|
|
+ // 直接通过单元格地址访问F列和H列的单元格
|
|
|
|
|
+ const cellF = ws[`F${R}`];
|
|
|
|
|
+ const cellH = ws[`H${R}`];
|
|
|
|
|
+
|
|
|
|
|
+ // 检查F列的单元格是否存在且其值是字符串类型
|
|
|
|
|
+ if (cellF && typeof cellF.v === 'string') {
|
|
|
|
|
+ const numF = Number(cellF.v);
|
|
|
|
|
+ if (!isNaN(numF)) {
|
|
|
|
|
+ // 修改单元格类型为数字,并更新值
|
|
|
|
|
+ cellF.t = 'n';
|
|
|
|
|
+ cellF.v = numF;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ // 检查H列的单元格是否存在且其值是字符串类型
|
|
|
|
|
+ if (cellH && typeof cellH.v === 'string') {
|
|
|
|
|
+ console.log(`H${R}: ${cellH.v}, Type before: ${cellH.t}`);
|
|
|
|
|
+ const numH = Number(cellH.v);
|
|
|
|
|
+ if (!isNaN(numH)) {
|
|
|
|
|
+ // 修改单元格类型为数字,并更新值
|
|
|
|
|
+ cellH.t = 'n';
|
|
|
|
|
+ cellH.v = numH;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ const wbout = XLSX.write(wb, { bookType: 'xlsx', bookSST: true, type: 'array' });
|
|
|
|
|
+ try {
|
|
|
|
|
+ FileSaver.saveAs(new Blob([wbout], { type: 'application/octet-stream' }), filename);
|
|
|
|
|
+ } catch (e) {
|
|
|
|
|
+ console.error('Error saving file:', e);
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
|
|
|
|
|
//日报表上传
|
|
//日报表上传
|
|
|
const SubmitDailyProduction = async () => {
|
|
const SubmitDailyProduction = async () => {
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
const restoredData = {
|
|
const restoredData = {
|
|
|
-
|
|
|
|
|
sczl_gdbh: detailData.sczl_gdbh,
|
|
sczl_gdbh: detailData.sczl_gdbh,
|
|
|
sczl_yjno: detailData.sczl_yjno,
|
|
sczl_yjno: detailData.sczl_yjno,
|
|
|
sczl_gxh: detailData.sczl_gxh,
|
|
sczl_gxh: detailData.sczl_gxh,
|
|
@@ -1291,9 +1583,99 @@ import LuckyExcel from 'luckyexcel';
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- const ent1 = (event) => {
|
|
|
|
|
|
|
+ const ent1 = (event,index,row,title) => {
|
|
|
const inputs = document.getElementsByTagName('input');
|
|
const inputs = document.getElementsByTagName('input');
|
|
|
const currentIndex = Array.from(inputs).indexOf(event.target);
|
|
const currentIndex = Array.from(inputs).indexOf(event.target);
|
|
|
|
|
+
|
|
|
|
|
+ if (event.keyCode === 13 && title === '工单编号') {
|
|
|
|
|
+ console.log("工单编号")
|
|
|
|
|
+ getCPMCsubmit()
|
|
|
|
|
+ // 跳转到下一个输入框
|
|
|
|
|
+ let nextIndex = currentIndex + 1;
|
|
|
|
|
+ let foundNext = false; // 标记是否找到下一个可用输入框
|
|
|
|
|
+ while (nextIndex < inputs.length) {
|
|
|
|
|
+ if (inputs[nextIndex].disabled) {
|
|
|
|
|
+ console.log("当前输入框为 disabled,跳过");
|
|
|
|
|
+ nextIndex++; // 跳过 disabled 的输入框
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (!inputs[nextIndex].readOnly) {
|
|
|
|
|
+ nextTick(() => {
|
|
|
|
|
+ inputs[nextIndex].focus();
|
|
|
|
|
+ inputs[nextIndex].select();
|
|
|
|
|
+ });
|
|
|
|
|
+ foundNext = true; // 找到下一个可用输入框
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ nextIndex++;
|
|
|
|
|
+ }
|
|
|
|
|
+ }else if(event.keyCode === 13 && title === '印件号'){
|
|
|
|
|
+ console.log("印件号")
|
|
|
|
|
+ getYJMCsubmit()
|
|
|
|
|
+ // 跳转到下一个输入框
|
|
|
|
|
+ let nextIndex = currentIndex + 1;
|
|
|
|
|
+ let foundNext = false; // 标记是否找到下一个可用输入框
|
|
|
|
|
+ while (nextIndex < inputs.length) {
|
|
|
|
|
+ if (inputs[nextIndex].disabled) {
|
|
|
|
|
+ console.log("当前输入框为 disabled,跳过");
|
|
|
|
|
+ nextIndex++; // 跳过 disabled 的输入框
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (!inputs[nextIndex].readOnly) {
|
|
|
|
|
+ nextTick(() => {
|
|
|
|
|
+ inputs[nextIndex].focus();
|
|
|
|
|
+ inputs[nextIndex].select();
|
|
|
|
|
+ });
|
|
|
|
|
+ foundNext = true; // 找到下一个可用输入框
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ nextIndex++;
|
|
|
|
|
+ }
|
|
|
|
|
+ }else if(event.keyCode === 13 && title === '工序名称'){
|
|
|
|
|
+ console.log("工序名称")
|
|
|
|
|
+ getGXsubmit()
|
|
|
|
|
+ // 跳转到下一个输入框
|
|
|
|
|
+ let nextIndex = currentIndex + 1;
|
|
|
|
|
+ let foundNext = false; // 标记是否找到下一个可用输入框
|
|
|
|
|
+ while (nextIndex < inputs.length) {
|
|
|
|
|
+ if (inputs[nextIndex].disabled) {
|
|
|
|
|
+ console.log("当前输入框为 disabled,跳过");
|
|
|
|
|
+ nextIndex++; // 跳过 disabled 的输入框
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (!inputs[nextIndex].readOnly) {
|
|
|
|
|
+ nextTick(() => {
|
|
|
|
|
+ inputs[nextIndex].focus();
|
|
|
|
|
+ inputs[nextIndex].select();
|
|
|
|
|
+ });
|
|
|
|
|
+ foundNext = true; // 找到下一个可用输入框
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ nextIndex++;
|
|
|
|
|
+ }
|
|
|
|
|
+ }else if(event.keyCode === 13 && title === '责任部门'){
|
|
|
|
|
+ console.log("责任部门")
|
|
|
|
|
+ getZRBM()
|
|
|
|
|
+ // 跳转到下一个输入框
|
|
|
|
|
+ let nextIndex = currentIndex + 1;
|
|
|
|
|
+ let foundNext = false; // 标记是否找到下一个可用输入框
|
|
|
|
|
+ while (nextIndex < inputs.length) {
|
|
|
|
|
+ if (inputs[nextIndex].disabled) {
|
|
|
|
|
+ console.log("当前输入框为 disabled,跳过");
|
|
|
|
|
+ nextIndex++; // 跳过 disabled 的输入框
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (!inputs[nextIndex].readOnly) {
|
|
|
|
|
+ nextTick(() => {
|
|
|
|
|
+ inputs[nextIndex].focus();
|
|
|
|
|
+ inputs[nextIndex].select();
|
|
|
|
|
+ });
|
|
|
|
|
+ foundNext = true; // 找到下一个可用输入框
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ nextIndex++;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
if (event.keyCode === 13 || event.keyCode === 40) { // Enter 或向下箭头
|
|
if (event.keyCode === 13 || event.keyCode === 40) { // Enter 或向下箭头
|
|
|
for (let i = currentIndex + 1; i < inputs.length; i++) {
|
|
for (let i = currentIndex + 1; i < inputs.length; i++) {
|
|
@@ -1315,19 +1697,19 @@ import LuckyExcel from 'luckyexcel';
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- } else if (event.keyCode === 8) { // 删除箭头
|
|
|
|
|
- if (event.target.selectionStart === 0) {
|
|
|
|
|
- for (let i = currentIndex - 1; i >= 0; i--) {
|
|
|
|
|
- if (!inputs[i].readOnly) {
|
|
|
|
|
- nextTick(() => {
|
|
|
|
|
- inputs[i].focus();
|
|
|
|
|
- inputs[i].setSelectionRange(0, 0);
|
|
|
|
|
- inputs[i].select(); // 全选输入框内容
|
|
|
|
|
- })
|
|
|
|
|
- break;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ // } else if (event.keyCode === 8) { // 删除箭头
|
|
|
|
|
+ // if (event.target.selectionStart === 0) {
|
|
|
|
|
+ // for (let i = currentIndex - 1; i >= 0; i--) {
|
|
|
|
|
+ // if (!inputs[i].readOnly) {
|
|
|
|
|
+ // nextTick(() => {
|
|
|
|
|
+ // inputs[i].focus();
|
|
|
|
|
+ // inputs[i].setSelectionRange(0, 0);
|
|
|
|
|
+ // inputs[i].select(); // 全选输入框内容
|
|
|
|
|
+ // })
|
|
|
|
|
+ // break;
|
|
|
|
|
+ // }
|
|
|
|
|
+ // }
|
|
|
|
|
+ // }
|
|
|
} else if (event.keyCode === 37) { // 向左箭头
|
|
} else if (event.keyCode === 37) { // 向左箭头
|
|
|
if (event.target.selectionStart === 0) {
|
|
if (event.target.selectionStart === 0) {
|
|
|
for (let i = currentIndex - 1; i >= 0; i--) {
|
|
for (let i = currentIndex - 1; i >= 0; i--) {
|
|
@@ -1369,7 +1751,13 @@ import LuckyExcel from 'luckyexcel';
|
|
|
:deep(.el-table__body tr.current-row)>td {
|
|
:deep(.el-table__body tr.current-row)>td {
|
|
|
background: #ff80ff !important;
|
|
background: #ff80ff !important;
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+ /* 文字颜色 */
|
|
|
|
|
+ /* :deep(.cfje div input){
|
|
|
|
|
+ color: blue;
|
|
|
|
|
+ }
|
|
|
|
|
+ :deep(.bzryred div input){
|
|
|
|
|
+ color: red;
|
|
|
|
|
+ } */
|
|
|
.JKWTree-tree {
|
|
.JKWTree-tree {
|
|
|
width: 300px;
|
|
width: 300px;
|
|
|
background-color: #fff;
|
|
background-color: #fff;
|
|
@@ -1392,4 +1780,4 @@ import LuckyExcel from 'luckyexcel';
|
|
|
padding: 3px !important;
|
|
padding: 3px !important;
|
|
|
font-size: 12px;
|
|
font-size: 12px;
|
|
|
}
|
|
}
|
|
|
-</style>
|
|
|
|
|
|
|
+</style>
|