zck 1 year ago
parent
commit
2a42b1428e

+ 0 - 1218
src/view/yunyin/shengchanguanli/chengpinrucang.vue

@@ -1,1218 +0,0 @@
-<template>
-  <div>
-    <!-- 左侧树形结构 -->
-    <el-container>
-      <el-aside width="250px">
-        <div class="JKWTree-tree">
-          <h3>成品入仓管理</h3>
-          <el-tree :data="treeData" :props="defaultProps" highlight-current="true"
-            @node-click="handleNodeClick"></el-tree>
-        </div>
-      </el-aside>
-
-      <el-container>
-        <el-main>
-          <!-- 按钮区域 -->
-          <div class="gva-table-box">
-            <el-form-item>
-              <el-input v-model="positionvalue" placeholder="输入工单编号或产品名称" style="width: 180px;"/>
-              <el-button type="primary" class="search" icon="search" @click="onSearch"></el-button>
-              <el-button type="primary" class="bt" @click="onDel">删除</el-button>
-			  <el-button type="primary" class="bt" @click="onSMB">入仓末板数据统计</el-button>
-			  <el-button type="primary" class="bt" @click="onDay">各日统计</el-button>
-			  <el-button type="primary" class="bt" @click="onAdd">新增</el-button>
-			  
-              <div style="margin-left: auto;">			
-                <el-button type="primary" class="bt" icon="Download" @click="exportExcel">导出到Excel</el-button>
-              </div>
-            </el-form-item>
-            <!-- 数据展示 -->
-            <el-table ref="multipleTable" style="width: 100%" tooltip-effect="dark" :data="tableData" row-key="ID" @row-click="Click"
-              highlight-current-row="true" border @selection-change="handleSelectionChange" :show-overflow-tooltip="true" @row-dblclick="doubleClick">
-              <el-table-column type="selection" width="55" />
-			  <el-table-column align="left" sortable  label="入仓类型" prop="入仓类型" width="120"/>
-              <el-table-column align="left" sortable  label="仓库编号" prop="仓库编号" width="120"/>
-              <el-table-column align="left"  sortable label="仓库名称" prop="仓库名称" width="120"/>
-              <el-table-column align="left" sortable  label="入仓单号" prop="jjcp_num" width="120"/>
-              <el-table-column align="left" sortable  label="工单编号" prop="jjcp_gdbh" width="160"/>
-              <el-table-column align="left" sortable  label="印件号" prop="jjcp_yjno" width="160"/>
-              <el-table-column align="left" sortable  label="入仓数量" prop="jjcp_sl" width="120"/>
-			  <el-table-column align="left" sortable  label="累计入仓数量" prop="jjcp_sls" width="140"/>
-			  <el-table-column align="left" sortable label="订单数量" prop="订单数量" width="120"/>
-			  <el-table-column align="left" sortable label="完成率" prop="完成率" width="120"/>
-			  <el-table-column align="left" sortable label="单位" prop="jjcp_dw" width="120"/>
-			  <el-table-column align="left" sortable label="入仓日期" prop="jjcp_sj" width="160"/>
-			  <el-table-column align="left" sortable label="首末版" prop="jjcp_smb" width="160"/>
-			  <el-table-column align="left" sortable label="印件代号" prop="jjcp_cpdh" width="120"/>
-			  <el-table-column align="left" sortable label="印件名称" prop="jjcp_cpmc" width="120"/>
-			  <el-table-column align="left" sortable label="产品编号" prop="成品编码" width="120"/>
-			  <el-table-column align="left" sortable label="产品名称" prop="成品名称" width="120"/>
-			  <el-table-column align="left" sortable label="客户料号" prop="客户料号" width="120"/>
-			  <el-table-column align="left" sortable label="备注" prop="jjcp_desc" width="160"/>
-			  <el-table-column align="left" sortable label="客户编号" prop="客户编号" width="160"/>
-			  <el-table-column align="left" sortable label="客户名称" prop="Gd_客户名称" width="120"/>
-			  <el-table-column align="left" sortable label="最近入仓日期" prop="最近入仓日期" width="140"/>
-			  <el-table-column align="left" sortable label="机型备注" prop="机型备注" width="120"/>
-			  <el-table-column align="left" sortable label="创建用户" prop="Sys_id" width="120"/>
-			  <el-table-column align="left" sortable label="创建时间" prop="sys_rq" width="160"/>
-			  <el-table-column align="left" sortable label="修改时间" prop="mod_rq" width="160"/>
-			  <el-table-column align="left" sortable label="UNIQID" prop="UniqId" width="120"/>
-            </el-table>
-            <!-- 分页 -->
-            <div class="gva-pagination">
-              <el-pagination layout="total, sizes, prev, pager, next, jumper" v-model:current-page="page"
-                v-model:page-size="limit"
-                :page-sizes="[10, 30, 50, 100]" :total="total" @current-change="handleCurrentChange"
-                @size-change="handleSizeChange" />
-            </div>
-          </div>
-          <!-- 弹出框 -->
-          <el-dialog v-model="dialogFormVisible" :before-close="closeDialog" :title="type === 'create' ? '添加' : '详情'"
-            destroy-on-close width="800px">
-            <!-- <el-scrollbar height="500px"> -->
-            <el-form :model="formData" label-position="right" label-width="75px" ref="elFormRef" :rules="rule">
-
-              <el-row :gutter="24">
-			 <el-col :span="7">
-			   <el-form-item label="入仓类型" prop="id">
-				 <el-input v-model="formData.入仓类型" id="入仓类型"  @keydown="ent($event, '入仓备注', '入仓类型', '仓库编号')" :clearable="true" style="width: 120px;" />
-			   </el-form-item>
-			 </el-col>
-			 <el-col :span="17">
-			   <el-form-item label="仓库" prop="name" label-width="40px">
-					 <el-input v-model="formData.仓库编号" id="仓库编号"  @keydown="ent($event, '入仓类型', '仓库编号', '仓库名称')"   :clearable="true" style="width: 120px;" />
-					 <el-input v-model="formData.仓库名称" id="仓库名称"  @keydown="ent($event, '仓库编号', '仓库名称', '单据编号')" :clearable="true" style="width: 120px;" />
-			   </el-form-item>
-			 </el-col>
-		   </el-row> 
-		   
-		   
-		   <el-row :gutter="24">
-			 <el-col :span="7">
-			   <el-form-item label="单据编号" prop="id">
-				 <el-input v-model="formData.jjcp_num"  id="单据编号"  @keydown="ent($event, '仓库名称', '单据编号', '工单编号')" :clearable="true"  style="width: 120px;"  />
-			   </el-form-item>
-			 </el-col>
-		   </el-row> 
-		   
-		   
-		   
-		   <el-row :gutter="24">
-			 <el-col :span="7">
-			   <el-form-item label="工单编号" prop="id">
-				 <el-input v-model="formData.jjcp_gdbh" id="工单编号"  @keydown="ent($event, '单据编号', '工单编号', '客户料号')" :clearable="true"  style="width: 120px;"  />
-			   </el-form-item>
-			 </el-col>
-			 <el-col :span="5">
-			   <el-form-item label="印件号" prop="name" label-width="55px">
-					<el-input v-model="formData.jjcp_yjno" id="印件号" disabled :clearable="true"   style="width: 50px;" />
-			   </el-form-item>	   
-			 </el-col>
-			 <el-col :span="12">
-			   <el-form-item label="订单编号" prop="name">
-					 <el-input v-model="formData.订单编号" id="订单编号" disabled :clearable="true"  style="width: 120px;"  />
-			   </el-form-item>
-			 </el-col>
-		   </el-row> 
-		   
-           <el-row :gutter="24">
-			 <el-col :span="24">
-			   <el-form-item label="印件编号" prop="id">
-				 <el-input v-model="formData.jjcp_cpdh" id="印件编号" disabled :clearable="true"  style="width: 120px;"  />
-				<el-input v-model="formData.jjcp_cpmc"  id="jjcp_cpmc" disabled :clearable="true"  style="width: 500px; margin-left: 10px;" />
-			   </el-form-item>
-			 </el-col>
-           </el-row> 
-            
-			
-			<el-row :gutter="24">
-			 <el-col :span="24">
-			   <el-form-item label="产品编号" prop="id">
-				 <el-input v-model="formData.成品编码" id="产品编号" disabled :clearable="true"   style="width: 120px;" />
-					<el-input v-model="formData.成品名称" id="成品名称" disabled :clearable="true"   style="width: 500px; margin-left: 10px;" />
-			   </el-form-item>
-			 </el-col>
-			</el-row> 
-
-            <el-row :gutter="24">
-			 <el-col :span="7">
-			   <el-form-item label="客户料号" prop="id">
-				 <el-input v-model="formData.客户料号" id="客户料号"  @keydown="ent($event, '工单编号', '客户料号', '首末板')" :clearable="true"  style="width: 120px;" />
-			   </el-form-item>
-			 </el-col>
-            </el-row> 
-			  
-			  <el-row :gutter="24">
-			   <el-col :span="7">
-			     <el-form-item label="首末板" prop="id">
-					 <el-input v-model="formData.jjcp_smb" id="首末板"  @keydown="ent($event, '客户料号', '首末板', '入仓时间')" :clearable="true"   style="width: 120px;" />
-			     </el-form-item>
-			   </el-col>
-			   <el-col :span="17">
-				    <el-form-item label="入仓时间" prop="id">
-						<el-date-picker v-model="formData.jjcp_sj" type="datetime"  format="YYYY/MM/DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss"id="入仓时间"   @keydown="ent($event, '首末板', '入仓时间', '入仓数量')"  style="width: 200px;"/>
-						
-						<!-- <el-input type="datetime" v-model="formData.jjcp_sj"  id="入仓时间"   @keydown="ent($event, '首末板', '入仓时间', '入仓数量')" :clearable="true" style="width: 120px;" />	 -->
-					</el-form-item>
-			   </el-col>
-			  </el-row> 
-			  
-			  
-			  <el-row :gutter="24">
-			   <el-col :span="7">
-			     <el-form-item label="入仓数量" prop="id">
-			  	 <el-input v-model="formData.jjcp_sl" id="入仓数量"  @keydown="ent($event, '入仓时间', '入仓数量', '入仓单位')" :clearable="true" style="width: 120px;" />
-			     </el-form-item>
-			   </el-col>
-			   <el-col :span="17">
-			  	<el-form-item label="入仓单位" prop="id">
-			   <el-input v-model="formData.jjcp_dw" id="入仓单位"  @keydown="ent($event, '入仓数量', '入仓单位', '订单数量')" :clearable="true" style="width: 120px;" />	
-			    </el-form-item>
-			   </el-col>
-			  </el-row> 
-			  
-			  
-			  <el-row :gutter="24">
-			   <el-col :span="7">
-			     <el-form-item label="订单数量" prop="id">
-			  	 <el-input v-model="formData.订单数量" id="订单数量" @blur="" @keydown="ent($event, '入仓单位', '订单数量', '已完工')" :clearable="true" style="width: 120px;" />
-			     </el-form-item>
-			   </el-col>
-			   <el-col :span="7">
-			  	<el-form-item label="已完工" prop="id">
-			   <el-input v-model="formData.jjcp_sls" id="已完工"  @keydown="ent($event, '订单数量', '已完工', '机型备注')" :clearable="true" style="width: 120px;" />	
-			    </el-form-item>
-			   </el-col>
-			   <el-col :span="8">
-			   			  	<el-form-item label="机型备注" prop="id">
-			   <el-input v-model="formData.机型备注" id="机型备注"  @keydown="ent($event, '已完工', '机型备注', '入仓备注')" :clearable="true"  style="width: 300px;"/>	
-			    </el-form-item>
-			   </el-col>
-			  </el-row> 
-			  
-			  
-			  <el-row :gutter="24">
-				 <el-col :span="22">
-				   <el-form-item label="入仓备注" prop="id">
-					 <el-input v-model="formData.jjcp_desc"  id="入仓备注"  @keydown="ent($event, '机型备注', '入仓备注', '入仓类型')":clearable="true"  />
-				   </el-form-item>
-				 </el-col>
-			  </el-row> 
-			  
-            </el-form>
-            <!-- </el-scrollbar> -->
-            <template #footer>
-              <div class="dialog-footer">
-                <el-button @click="closeDialog">取 消</el-button>
-                <el-button type="primary" @click="enterDialog">确 定</el-button>
-              </div>
-            </template>
-          </el-dialog>
-
-
-		<!-- 仓库编号选择 -->
-          <el-dialog v-model="CKVisible" title="选择"
-            destroy-on-close width="600px" @keydown="selectCK($event)" >
-            <el-table tooltip-effect="dark"
-              :data="CKselectData" row-key="ID"
-              highlight-current-row="true" border style="width:100%"
-              @row-dblclick="CKSelectClick"
-			  ref="table2"
-            >
-              <el-table-column prop="编号" label="编号" width="200" />
-			  <el-table-column prop="名称" label="名称" width="200" />		      	 
-            </el-table>
-          </el-dialog>
-		  
-		  <!-- 入仓类型选择 -->
-		  <el-dialog v-model="RCVisible" title="选择"
-		    destroy-on-close width="400px" @keydown="selectRC($event)" >
-		    <el-table tooltip-effect="dark"
-		      :data="RCselectData" row-key="ID"
-		      highlight-current-row="true" border style="width:100%"
-		      @row-dblclick="RCSelectClick"
-		  			  ref="tableRC"
-		    >
-		      <el-table-column prop="入仓类型" label="入仓类型" width="360" />		      	 
-		    </el-table>
-		  </el-dialog>
-		  
-		  <!-- 首末板选择 -->
-		  <el-dialog v-model="SMBVisible" title="选择"
-		    destroy-on-close width="200px" @keydown="selectSMB($event)" >
-		    <el-table tooltip-effect="dark" :data="SMBselectData" row-key="ID"
-		      highlight-current-row="true" border style="width:100%"
-		      :row-style="{ height: '30px' }"
-		      @row-dblclick="SMBSelectClick"
-		  			  ref="tableSMB"
-		    >
-		      <el-table-column prop="jjcp_smb" label="" width="160" />		      	 
-		    </el-table>
-		  </el-dialog>
-		  
-		  <el-dialog v-model="GDVisible" title="选择" destroy-on-close width="600px" @keydown="selectGD($event)" >
-		    <el-table tooltip-effect="dark" :data="GDselectData"
-		      row-key="ID" highlight-current-row="true" border
-		      style="width:100%" @row-dblclick="GDSelectClick"
-			  ref="table3"
-		    >
-			<el-table-column prop="gdyj" label="工单印件" width="560" />
-		    </el-table>
-		  </el-dialog>
-		  
-		  
-		  <el-dialog
-		    v-model="TJVisible"
-		    title="各日统计"
-		    destroy-on-close
-		    width="80%px;"
-			style="height: 80%;"
-			
-		  			>
-			<el-row :gutter="20">
-			<el-col :span="41">
-			  <el-form-item label="关键字" prop="id">
-			  <el-input v-model="keywords" :clearable="true" placeholder="2023.12.14" />
-			  </el-form-item>
-			</el-col>
-			 </el-row> 
-		    <el-table
-		      tooltip-effect="dark"
-		      :data="TJselectData"
-		      row-key="ID"
-		      highlight-current-row="true"
-		      border
-		      style="width:100%"
-			  height="300px"
-		      @row-dblclick="TJSelectClick"
-		    >
-		      <el-table-column
-		        prop="jjcp_sj"
-		        label="完工日期"
-		        width="200"
-		      />
-			  <el-table-column
-				prop="jjcp_gdbh"
-				label="工单编号"
-				width="200"
-			  />
-			  <el-table-column
-			    prop="jjcp_cpmc"
-			    label="印件(产品名称)"
-			    width="200"
-			  />
-			  <el-table-column
-				prop="实际投料"
-				label="实际投料"
-				width="200"
-			  />
-			  <el-table-column
-			    prop="入仓数量"
-			    label="入仓数量"
-			    width="200"
-			  />
-			  <el-table-column
-				prop="投入产出率"
-				label="投入产出率"
-				width="200"
-			  />
-		    </el-table>
-		  </el-dialog>
-		  
-		  
-		  <el-dialog
-		    v-model="SMVisible"
-		    title="选择"
-		    destroy-on-close
-		    width="1200px"
-			
-		  			>
-		    <el-table
-		      tooltip-effect="dark"
-		      :data="SMselectData"
-		      row-key="ID"
-		      highlight-current-row="true"
-		      border
-		      style="width:180%"
-			  height="500px"
-		      @row-dblclick="SMSelectClick"
-		    >
-				<el-table-column
-				  prop="Yj_Gdbh"
-				  label="工单编号"
-				  width="180"
-				/>
-		      <el-table-column
-		        prop="yj_Yjno"
-		        label="印件号"
-		        width="200"
-		      />
-			  <el-table-column
-				prop="yj_yjmc"
-				label="印件名称"
-				width="200"
-			  />
-			  <el-table-column
-				prop="yj_成品数量"
-				label="计划交货数量"
-				width="200"
-			  />
-			  <el-table-column
-				prop="yj_实际投料"
-				label="印件投料"
-				width="200"
-			  />
-			  <el-table-column
-				prop="jjcp_sls"
-				label="包装产量"
-				width="200"
-			  />
-			  <el-table-column
-				prop="sczl_cls"
-				label="入仓数量"
-				width="200"
-			  />
-			  <el-table-column
-				prop="jjcp_smb"
-				label="缺数"
-				width="200"
-			  />
-			  <el-table-column
-				prop="客户料号"
-				label="完工"
-				width="200"
-			  />
-			  <el-table-column
-				prop="jjcp_sj"
-				label="最近入仓时间"
-				width="200"
-			  />
-		    </el-table>
-		  </el-dialog>
-		  
-        </el-main>
-      </el-container>
-    </el-container>
-
-  </div>
-</template>
-
-<script setup>
-import {
-  finishedTab,
-  finishedTabByGdbh,
-  finishedList,
-  finishedlocate,
-  finishedInfo,
-  finishedgetCk,
-  finishedgetGd,
-  finishedgetGdsl,
-  finisheddel,
-  getDayList,
-  mbList,
-  finishedadd,
-  finishedEdit
-} from '@/api/jixiaoguanli/jitairibaobiao'
-
-// 全量引入格式化工具 请按需保留
-import { getDictFunc, formatDate, formatBoolean, filterDict, ReturnArrImg, onDownloadFile } from '@/utils/format'
-import { ElMessage, ElMessageBox } from 'element-plus'
-import { Search, Refresh, Download } from '@element-plus/icons-vue'
-import { ref, reactive, onMounted, onBeforeMount } from 'vue'
-import { getPackingSideTable, getPackingTable } from '@/api/mes_api_gty/myapi'
-import { TRUE } from 'sass'
-import { useUserStore } from '@/pinia/modules/user'
-const userStore = useUserStore() 
-const sys_id='['+userStore.userInfo.userName+'/'+userStore.userInfo.nickName+']'
-defineOptions({
-  name: '06-packingDocuments'
-})
-
-// 侧边栏数据请求
-const treeData = reactive([]);
-
-const getTabdata = async () => {
-    //接口调用函数
-    const response  = await finishedTab();
-	console.log(response)
-	
-	
-	const transformedData = response.data.map(item => ({
-	      label: `${item.date.replace(/-/g, '.')}【单据数: ${item.counts}张】`,
-	      children: item.sys.map(sysItem => ({
-	        label: `${sysItem.sys_id} 【记录数: ${sysItem.count}张】`,
-	        params: {
-	          date: item.date.replace(/\./g, '-'),
-	          sys_id: sysItem.sys_id,
-	          total: sysItem.count,
-	        },
-	      })),
-	    }));
-	    treeData.splice(0, treeData.length, ...transformedData);
-
-	
-	}
-	const rqHandleFocus = () =>{
-		if(formData.value.jjcp_sj==''){
-			formData.value.jjcp_sj = new Date(new Date().getTime() + 8 * 60 * 60 * 1000).toISOString().slice(0, 19).replace('T', ' ');
-			
-		}
-	}
-
-getTabdata();
-
-// 自动化生成的字典(可能为空)以及字段
-const formData = ref({
-	入仓类型: "",
-	仓库编号: "",
-	仓库名称: "",
-	jjcp_num: "",
-	jjcp_gdbh: "",
-	jjcp_yjno: "",
-	订单编号: "",
-	jjcp_cpdh: "",
-	jjcp_cpmc: "",
-	成品编码: "",
-	成品名称: "",
-	客户料号: "",
-	jjcp_smb: "",
-	jjcp_sj: "",
-	jjcp_sl: "",
-	jjcp_dw: "张",
-	订单数量: "",
-	jjcp_sls: "",
-	机型备注: "",
-	jjcp_desc: "",
-	
-})
-
-const initFormData = () => {
-	formData.value = {
-		入仓类型: "",
-		仓库编号: "",
-		仓库名称: "",
-		jjcp_num: "",
-		jjcp_gdbh: "",
-		jjcp_yjno: "",
-		订单编号: "",
-		jjcp_cpdh: "",
-		jjcp_cpmc: "",
-		成品编码: "",
-		成品名称: "",
-		客户料号: "",
-		jjcp_smb: "",
-		jjcp_sj: "",
-		jjcp_sl: "",
-		jjcp_dw: "张",
-		订单数量: "",
-		jjcp_sls: "",
-		机型备注: "",
-		jjcp_desc: "",
-	}
-}
-// 验证规则
-const rule = reactive({
-})
-
-const elFormRef = ref()
-const elSearchFormRef = ref()
-
-// =========== 表格控制部分 ===========
-const tableData = reactive([])
-const detailData = reactive([
-])
-const total = ref(0)
-const page = ref(1)
-const limit = ref(10)
-const searchInfo = ref('')
-const params = {
-  type: '',
-  date: '',
-  sys_id: '',
-  gdbh: '',
-}
-
-// 分页设置
-const handleSizeChange = (val) => {
-  switch (params.type) {
-    case 'getTableData':
-      getTableData()
-      break
-    case 'getLocateTable':
-      GetmachineLocate()
-      break
-    default:
-      break
-  }
-}
-
-// 页面跳转
-const handleCurrentChange = (val) => {
-  switch (params.type) {
-    case 'getTableData':
-      getTableData()
-      break
-    case 'getLocateTable':
-      GetmachineLocate()
-      break
-    default:
-      break
-  }
-}
-
-// 查询
-const getTableData = async () => {
-	
-	
-  const response = await finishedList(params);
-  console.log(response)
-  if (response.code === 0) {
-    tableData.splice(0, tableData.length, ...response.data.rows);
-  }
-}
-
-const handleNodeClick = (node, check) => {
-  //存放当前节点的nodeId
-  if (node.params) {
-    params.date = node.params.date;
-    params.sys_id = node.params.sys_id;
-    total.value = node.params.total;
-    getTableData();
-  }
-}
-let positionvalue=ref()
-let keywords=ref()
-// 搜索
-function onSearch() {
-  params.gdbh = positionvalue.value
-  params.type = 'getLocateTable'
-  page.value = 1
-  GetmachineLocate()
-}
-const ADD=ref('0')
-//新增
-function onAdd() {
-	// GetInfo(lastCellValue)
-	initFormData()
-	formData.value.jjcp_sj = new Date(new Date().getTime() + 8 * 60 * 60 * 1000).toISOString().slice(0, 19).replace('T', ' ');
-	type.value='create'
-	dialogFormVisible.value = true
-}
-//删除
-function onDel() {
-	Del()
-}
-//删除
-const Del = async () => {
-  const response = await finisheddel({UniqId:lastCellValue});
-  if (response.code === 0) {
-	ElMessage({
-	  type: 'success',
-	  message: '删除成功',
-	})
-  }
-  getTableData()
-}
-const TJVisible = ref(false)
-const TJselectData = ref([]);
-//每日统计
-function onDay() {
-	GetDayList()
-	TJVisible.value=true
-}
-const GetDayList = async (value) => {
-  const response = await getDayList({key_word:'',page:page.value,limit:limit.value});
-  console.log(response.data) 
-  if (response.code === 0) {
-	 TJselectData.value=response.data.rows
-	 console.log(TJselectData)
-  }
-}
-const SMVisible = ref(false)
-const SMselectData = ref([]);
-//首末版统计
-function onSMB() {
-	MbList()
-	SMVisible.value=true
-}
-const MbList = async (value) => {
-  const response = await mbList();
-  console.log(response.data) 
-  if (response.code === 0) {
-	 SMselectData.value=response.data.rows
-	 console.log(TJselectData)
-  }
-}
-//定位
-const GetmachineLocate = async () => {
-  const response = await finishedlocate({
-    gdbh: params.gdbh,
-    page: page.value.toString(), limit: limit.value.toString(),
-  })
-  console.log(response)
-  if (response.code === 0) {
-    const processedData = response.data.rows.map(item => {
-      return {
-        ...item,
-        combinedProp: item.sczl_gdbh + '--'+item.yj_yjmc,
-        combinedProp2: item.sczl_yjgx + '-'+item.sczl_gxmc
-      };
-    });
-	  total.value = response.data.total
-    tableData.splice(0, tableData.length, ...processedData);
-  }
-}
-
-//入仓类型回车事件
-const getRCsubmit = (event) => {
-	GetRC()
-}
-const RCVisible = ref(false)
-const RCselectData = reactive([])
-//获取仓库信息
-const GetRC = async () => {
-  const data = [{'入仓类型':'产品入库'},{'入仓类型':'委外入库'},{'入仓类型':'采购入库'}]
-  RCselectData.splice(0, RCselectData.length, ...data)
-  setRCCurrent(RCselectData[0])
-  RCVisible.value=true
-}
-//选择
-const RCSelectClick = (row, column, event) => {
-  const { 入仓类型 } = row
-  formData.value.入仓类型=入仓类型
-  RCVisible.value = false
-}
-const tableRC=ref()
-const setRCCurrent = (row) => {
-  setTimeout(()=>{
-	  tableRC.value?.setCurrentRow(row) 
-	  const { 入仓类型 } = row
-	  formData.value.入仓类型=入仓类型
-  })
-}
-const RCIndex = ref(0);
-const RCCurrent = ref(0);
-const selectRC = (event) => {
-    if (event.keyCode === 40) { // 向下箭头
-        if (RCIndex.value < RCselectData.length - 1) {
-            RCIndex.value++;
-            setRCCurrent(RCselectData[RCIndex.value]);
-        } else {
-            RCIndex.value = 0;
-            setRCCurrent(RCselectData[RCIndex.value]); // 到达最后一行时回到第一行			
-        }
-    } else if (event.keyCode === 38) { // 向上箭头
-        if (RCIndex.value > 0) {
-            RCIndex.value--;
-            setRCCurrent(RCselectData[RCIndex.value]);
-        } else {
-            RCIndex.value = RCselectData.length - 1;
-            setRCCurrent(RCselectData[RCIndex.value]); // 到达第一行时回到最后一行
-        }
-    } else if (event.keyCode === 13) { // 回车键
-        RCVisible.value = false
-    }
-}
-
-
-//仓库编号回车事件
-const getCKsubmit = (event) => {
-	GetCK()
-}
-const CKVisible = ref(false)
-const CKselectData = reactive([])
-//获取仓库信息
-const GetCK = async () => {
-  const response = await finishedgetCk();
-  if (response.code === 0) {
-  CKselectData.splice(0, CKselectData.length, ...response.data)
-  setCKCurrent(CKselectData[0])
-  CKVisible.value=true
-  }
-}
-//选择
-const CKSelectClick = (row, column, event) => {
-  const { 编号,名称 } = row
-  formData.value.仓库编号=编号
-  formData.value.仓库名称=名称
-  CKVisible.value = false
-}
-const table2=ref()
-const setCKCurrent = (row) => {
-  setTimeout(()=>{
-	  table2.value?.setCurrentRow(row) 
-	  const { 编号,名称 } = row
-	  formData.value.仓库编号=编号
-	  formData.value.仓库名称=名称
-  })
-}
-const CKIndex = ref(0);
-const JYCurrent = ref(0);
-const selectCK = (event) => {
-    if (event.keyCode === 40) { // 向下箭头
-        if (CKIndex.value < CKselectData.length - 1) {
-            CKIndex.value++;
-            setCKCurrent(CKselectData[CKIndex.value]);
-        } else {
-            CKIndex.value = 0;
-            setCKCurrent(CKselectData[CKIndex.value]); // 到达最后一行时回到第一行			
-        }
-    } else if (event.keyCode === 38) { // 向上箭头
-        if (CKIndex.value > 0) {
-            CKIndex.value--;
-            setCKCurrent(CKselectData[CKIndex.value]);
-        } else {
-            CKIndex.value = CKselectData.length - 1;
-            setCKCurrent(CKselectData[CKIndex.value]); // 到达第一行时回到最后一行
-        }
-    } else if (event.keyCode === 13) { // 回车键
-        CKVisible.value = false
-    }
-}
-  
-//工单编号回车事件
-const getGDsubmit = (event) => {
-	if(formData.value.jjcp_gdbh==''){
-		ElMessage({type: 'warning',message: '请填写工单编号'});
-		return
-	}
-	GetGD()
-}
-const GDVisible = ref(false)
-const GDselectData = reactive([])
-//获取工单信息
-const GetGD = async () => {
-  const response = await finishedgetGd({gdbh:formData.value.jjcp_gdbh});
-  if (response.code === 0) {
-  GDselectData.splice(0, GDselectData.length, ...response.data)
-  setGDCurrent(GDselectData[0])
-  GDVisible.value=true
-  }
-}
-//选择
-const GDSelectClick = (row, column, event) => {
-	console.log(111)
-  const { Gd_gdbh,yj_yjno,销售订单号,yj_Yjdh,yj_yjmc,成品代号,成品名称,客户料号,gdyj } = row
-  formData.value.jjcp_gdbh=Gd_gdbh
-  formData.value.jjcp_yjno=yj_yjno
-  formData.value.订单编号=销售订单号
-  formData.value.jjcp_cpdh=yj_Yjdh
-  formData.value.jjcp_cpmc=yj_yjmc
-  formData.value.成品编码=成品代号
-  formData.value.成品名称=成品名称
-  formData.value.客户料号=客户料号
-  finishedgetGdsl({gdbh:formData.value.jjcp_gdbh,cpdh:formData.value.jjcp_cpdh}).then(res =>{
-	  if (res.code === 0) {
-		  formData.value.订单数量 = res.data.订单数量
-		  formData.value.jjcp_sls = res.data.jjcp_sls
-	   }
-  });
-  GDVisible.value = false
-}
-const table3=ref()
-const setGDCurrent = (row) => {
-  setTimeout(()=>{
-	  table3.value?.setCurrentRow(row) 
-	  console.log(222)
-	  const { Gd_gdbh,yj_yjno,销售订单号,yj_Yjdh,yj_yjmc,成品代号,成品名称,客户料号,gdyj } = row
-	  formData.value.jjcp_gdbh=Gd_gdbh
-	  formData.value.jjcp_yjno=yj_yjno
-	  formData.value.订单编号=销售订单号
-	  formData.value.jjcp_cpdh=yj_Yjdh
-	  formData.value.jjcp_cpmc=yj_yjmc
-	  formData.value.成品编码=成品代号
-	  formData.value.成品名称=成品名称
-	  formData.value.客户料号=客户料号	
-		finishedgetGdsl({gdbh:formData.value.jjcp_gdbh,cpdh:formData.value.jjcp_cpdh}).then(res =>{
-			  if (res.code === 0) {
-				  formData.value.订单数量 = res.data.订单数量
-				  formData.value.jjcp_sls = res.data.jjcp_sls
-			   }
-		});
-  })
-}
-const GDIndex = ref(0);
-const selectGD = (event) => {
-    if (event.keyCode === 40) { // 向下箭头
-        if (GDIndex.value < GDselectData.length - 1) {
-            GDIndex.value++;
-            setGDCurrent(GDselectData[GDIndex.value]);
-        } else {
-            GDIndex.value = 0;
-            setGDCurrent(GDselectData[GDIndex.value]); // 到达最后一行时回到第一行			
-        }
-    } else if (event.keyCode === 38) { // 向上箭头
-        if (GDIndex.value > 0) {
-            GDIndex.value--;
-            setGDCurrent(GDselectData[GDIndex.value]);
-        } else {
-            GDIndex.value = GDselectData.length - 1;
-            setGDCurrent(GDselectData[GDIndex.value]); // 到达第一行时回到最后一行
-        }
-    } else if (event.keyCode === 13) { // 回车键
-        GDVisible.value = false
-    }
-}
-
-//获取订单资料
-const getSLsubmit = (event) => {
-	GetSL()
-}
-//获取工单数量信息
-const GetSL = async () => {
-	if(formData.value.jjcp_cpdh){
-		
-	}
-  const response = await finishedgetGdsl({gdbh:formData.value.jjcp_gdbh,cpdh:formData.value.jjcp_cpdh});
-  console.log(response) 
-  if (response.code === 0) {
- formData.value.订单数量=response.data.订单数量
- formData.value.jjcp_sls=response.data.jjcp_sls
-  }
-}
-
-//入仓类型回车事件
-const getSMBsubmit = (event) => {
-	GetSMB()
-}
-const SMBVisible = ref(false)
-const SMBselectData = reactive([])
-//获取仓库信息
-const GetSMB = async () => {
-  const data = [{'jjcp_smb':''},{'jjcp_smb':'首 板'},{'jjcp_smb':'末 板'},{'jjcp_smb':'首末板'}]
-  SMBselectData.splice(0, SMBselectData.length, ...data)
-  setSMBCurrent(SMBselectData[0])
-  SMBVisible.value=true
-}
-//选择
-const SMBSelectClick = (row, column, event) => {
-  const { jjcp_smb } = row
-  formData.value.jjcp_smb=jjcp_smb
-  SMBVisible.value = false
-}
-const tableSMB=ref()
-const setSMBCurrent = (row) => {
-  setTimeout(()=>{
-	  tableSMB.value?.setCurrentRow(row) 
-	  const { jjcp_smb } = row
-	  formData.value.jjcp_smb=jjcp_smb
-  })
-}
-const SMBIndex = ref(0);
-const SMBCurrent = ref(0);
-const selectSMB = (event) => {
-    if (event.keyCode === 40) { // 向下箭头
-        if (SMBIndex.value < SMBselectData.length - 1) {
-            SMBIndex.value++;
-            setSMBCurrent(SMBselectData[SMBIndex.value]);
-        } else {
-            SMBIndex.value = 0;
-            setSMBCurrent(SMBselectData[SMBIndex.value]); // 到达最后一行时回到第一行			
-        }
-    } else if (event.keyCode === 38) { // 向上箭头
-        if (SMBIndex.value > 0) {
-            SMBIndex.value--;
-            setSMBCurrent(SMBselectData[SMBIndex.value]);
-        } else {
-            SMBIndex.value = SMBselectData.length - 1;
-            setSMBCurrent(SMBselectData[SMBIndex.value]); // 到达第一行时回到最后一行
-        }
-    } else if (event.keyCode === 13) { // 回车键
-        SMBVisible.value = false
-    }
-}
-
-
-// ============== 表格控制部分结束 ===============
-
-// 获取需要的字典 可能为空 按需保留
-const setOptions = async () => {}
-
-
-// 获取需要的字典 可能为空 按需保留
-setOptions()
-
-// 多选数据
-const multipleSelection = ref([])
-// 多选
-const handleSelectionChange = (val) => {
-  if(val.length>0){
-  	// multipleSelection.value = val
-  	const lenth=val.length
-  	// ScrapFactor.gdbh=val[lenth-1].combinedProp.split('-')[0];
-  	// const parts = val[lenth-1].combinedProp2.split('-')
-  	// ScrapFactor.yjno=parts[0];
-  	// ScrapFactor.gxh=parts[1];
-  	// ScrapFactor.type=val[lenth-1].sczl_检验类别
-  	// console.log(ScrapFactor)
-  	lastCellValue=val[lenth-1].UniqId
-  	console.log(val)
-  	val.splice(0, val.length);  // 清空 val 数组	
-  	console.log(lastCellValue)
-  }
-}
-
-// 批量删除控制标记
-const deleteVisible = ref(false)
-
-// 多选删除
-const onDelete = async () => {
-  const ids = []
-  if (multipleSelection.value.length === 0) {
-    ElMessage({
-      type: 'warning',
-      message: '请选择要删除的数据'
-    })
-    return
-  }
-  multipleSelection.value &&
-    multipleSelection.value.map(item => {
-      ids.push(item.ID)
-    })
-  const res = await deleteCompanyByIds({ ids })
-  if (res.code === 0) {
-    ElMessage({
-      type: 'success',
-      message: '删除成功'
-    })
-    if (tableData.value.length === ids.length && page.value > 1) {
-      page.value--
-    }
-    deleteVisible.value = false
-    getTableData()
-  }
-}
-
-// 行为控制标记(弹窗内部需要增还是改)
-const type = ref('')
-
-// 更新行
-const updateCompanyFunc = async (row) => {
-  const res = await findCompany({ ID: row.ID })
-  type.value = 'update'
-  if (res.code === 0) {
-    formData.value = res.data.recompany
-    dialogFormVisible.value = true
-  }
-}
-
-// 弹窗控制标记
-const dialogFormVisible = ref(false)
-
-// 打开弹窗
-const openDialog = () => {
-  type.value = 'create'
-  dialogFormVisible.value = true
-}
-
-// 关闭弹窗
-const closeDialog = () => {
-  dialogFormVisible.value = false
-  formData.value = {
-    address: '',
-    image: '',
-    name: '',
-  }
-}
-// 弹窗确定
-const enterDialog = async () => {
-	if(formData.value.入仓类型==''){
-		ElMessage({type: 'warning',message: '请选择入仓类型'});
-		return;
-	}
-	if(formData.value.仓库编号==''){
-		ElMessage({type: 'warning',message: '请选择仓库'});
-		return;
-	}
-	if(formData.value.jjcp_gdbh==''){
-		ElMessage({type: 'warning',message: '请填写工单编号'});
-		return;
-	}
-	if(formData.value.jjcp_cpdh==''){
-		ElMessage({type: 'warning',message: '请选择印件'});
-		return;
-	}
-	if(formData.value.jjcp_sl==''){
-		ElMessage({type: 'warning',message: '请填写入仓数量'});
-		return;
-	}
-	
-	const restoredData = {
-		 Sys_id:sys_id,
-		 入仓类型:formData.value.入仓类型,
-		 仓库编号:formData.value.仓库编号,
-		 仓库名称:formData.value.仓库名称,
-		 jjcp_num:formData.value.jjcp_num,
-		 jjcp_gdbh:formData.value.jjcp_gdbh,
-		 jjcp_yjno:formData.value.jjcp_yjno,
-		 订单编号:formData.value.订单编号,
-		 jjcp_cpdh:formData.value.jjcp_cpdh,
-		 jjcp_cpmc:formData.value.jjcp_cpmc,
-		 成品编码:formData.value.成品编码,
-		 成品名称:formData.value.成品名称,
-		 客户料号:formData.value.客户料号,
-		 jjcp_smb:formData.value.jjcp_smb,
-		 jjcp_sj:formData.value.jjcp_sj,
-		 jjcp_sl:formData.value.jjcp_sl,
-		 jjcp_dw:formData.value.jjcp_dw,
-		 机型备注:formData.value.机型备注,
-		 jjcp_desc:formData.value.jjcp_desc,
-	}
-	console.log(lastCellValue)
-    let res
-    switch (type.value) {
-      case 'create':
-        res = await finishedadd(restoredData)
-        break
-      case 'update':
-		restoredData.UniqId = lastCellValue;
-        res = await finishedEdit(restoredData)
-        break
-      default:
-        // res = await createCompany(formData.value)
-        break
-    }
-    if (res.code === 0) {
-      ElMessage({
-        type: 'success',
-        message: '创建/更改成功'
-      })
-      closeDialog()
-      getTableData()
-    }
-  dialogFormVisible.value=false
-}
-
-//键盘 input框跳转
-const ent = (event,id1,id2,id3) => {
-
-  if (event.keyCode === 13 || event.keyCode === 40) { // Enter 或向下箭头
-    if(id2=='入仓类型'){
-    	getRCsubmit()
-    }
-	if(id2=='仓库编号'){
-		getCKsubmit()
-	}
-	if(id2=='工单编号'){
-		getGDsubmit()
-	}
-	if(id2=='首末板'){
-		console.log(1111)
-		getSMBsubmit()
-	}
-	if(id3!=''){
-      document.getElementById(id3).focus()
-    }
-  } else if (event.keyCode === 38) { // 向上箭头
-    if(id1!=''){
-      document.getElementById(id1).focus()
-    }
-  }else if (event.keyCode === 8) { // 删除箭头
-    if(id1!='' && document.getElementById(id2).value==''){
-      document.getElementById(id1).focus()
-    }
-    console.log(document.getElementById(id2).value)
-  }else if (event.keyCode === 37) { // 向左箭头
-    if(id1!='' && document.getElementById(id2).selectionStart==0){
-      document.getElementById(id1).focus()
-    }
-  }else if (event.keyCode === 39) { // 向右箭头
-    if(id3!='' && document.getElementById(id2).selectionStart == document.getElementById(id2).value.length){
-      document.getElementById(id3).focus()
-    }
-  }
-}
-let table=ref(5);
-let lastCellValue=ref()
-// 双击表格操作
-function doubleClick(row, column, event) {
-  type.value = 'update';
-	  lastCellValue= row['UniqId'];
-	table.value=lastCellValue
-	 dialogFormVisible.value = true
-  GetInfo(table.value)
-}
-// 单击表格操作
-function Click(row, column, event) {
-    lastCellValue= row['UniqId'];
-   console.log(lastCellValue)
-  
-}
-//获取详细信息
-const GetInfo = async (value) => {
-  const response = await finishedInfo({UniqId:value});
-  if (response.code === 0) {
-	formData.value=response.data;
-  }
-}
-// 导出excel
-function exportExcel() {
-  console.log('导出到excel');
-}
-
-
-function openFolderDialog() {
-  console.log('导出到excel');
-}
-
-
-
-// 生命周期钩子
-onMounted(async () => {
-});
-</script>
-
-<style>
-.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;
-}
-
-/* 选中某行时的背景色*/
-.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: 5px !important;
-  padding: 5px !important;
-  font-size: 15px;
-}
-.el-tabs__header{
-  margin: 0px !important;
-}
-.gva-table-box{
-  padding: 0px !important;
-}
-.mab{
-  margin-bottom: 5px;
-}
-</style>

+ 44 - 77
src/view/yunyin/shengchanguanli/components/addGongYi.vue

@@ -1,94 +1,46 @@
 <template>
   <div>
     <!-- 新增工艺资料弹窗 -->
-    <el-dialog v-model="visible" :before-close="()=> visible = false" style="width: 70%;margin: 8px auto" :title="'新增工艺资料'" destroy-on-close>
+    <el-dialog v-model="visible" :before-close="()=> visible = false" style="width: 20%;margin: 10% auto" :title="'新增工艺资料'" destroy-on-close>
       <el-form>
         <div>
+
           <div style="display: flex; gap: 0px;">
-            <el-form-item label="印件编号:"  class="mab" prop="keyOrder">
-              <el-input v-model="form.yjno"  placeholder="Enter回车"  id="印件编号" @keydown="add_gyzlent($event, '质量隐患', '印件编号', '工序编号')"  style="width: 100px;"/>
-            </el-form-item>
-            <el-form-item label="工序编号:" class="mab" prop="keyOrder" label-width=" 90">
-              <el-input v-model="form['工序']"  id="工序编号" @keydown="add_gyzlent($event, '印件编号', '工序编号', '重点工序')"  style="width: 100px;"/>
-            </el-form-item>
-            <el-form-item label="重点工序:"  class="mab" prop="keyOrder" label-width=" 90">
-              <el-select  v-model="form['重点工序']" id="重点工序"  @keydown="add_gyzlent($event, '', '重点工序', '开数')"  style="width: 130px;">
-                <el-option value=""></el-option>
-                <el-option value="重点工序">重点工序</el-option>
-              </el-select>
-            </el-form-item>
-            <el-form-item label="备选工序:"  class="mab" prop="isBanciSelected" label-width=" 100">
-              <el-checkbox v-model="form['备选工序']"></el-checkbox>
-            </el-form-item>
-            <el-form-item label="加工开数:"  class="mab" prop="keyOrder" label-width=" 100">
-              <el-input  v-model="form['开数']"  style="width: 80px;" id="开数"  @keydown="add_gyzlent($event, '重点工序  ', '开数', '联数')" />
-            </el-form-item>
-            <el-form-item label="加工联数:"  class="mab" prop="keyOrder" label-width=" 80">
-              <el-input  v-model="form['联数']"  style="width: 80px;" id="联数"  @keydown="add_gyzlent($event, '开数', '联数', '车间名称')" />
+            <el-form-item label="仓库出库:"  class="mab" prop="isBanciSelected" label-width=" 100">
+              <el-checkbox v-model="form['仓库出库']"></el-checkbox>
             </el-form-item>
           </div>
+
           <div style="display: flex; gap: 0px;">
-            <el-form-item label="车间名称:"  class="mab" prop="keyOrder">
-              <el-input v-model="form['车间名称']" placeholder="Enter回车" id="车间名称" style="width: 140px;" @keydown="add_gyzlent($event, '联数', '车间名称', '工序名称')"/>
-            </el-form-item>
-            <el-form-item label="工艺名称:"  class="mab" prop="keyOrder" label-width=" 90">
-              <el-input disabled v-model="form['工艺名称']"  style="width: 140px;"/>
-            </el-form-item>
-            <el-form-item label="工序名称:"  class="mab" prop="keyOrder" label-width=" 90">
-              <el-input  v-model="form['工序名称']"  placeholder="Enter回车"  style="width: 300px;" id="工序名称"   @keydown="add_gyzlent($event, '车间名称', '工序名称', '设备编号')" />
-            </el-form-item>
-            <el-form-item label="计损色数"  class="mab" prop="keyOrder" label-width=" 80">
-              <el-input  v-model="form['计损色数']" style="width: 90px;"/>
+            <el-form-item label="裁切:"  class="mab" prop="isBanciSelected" label-width=" 100">
+              <el-checkbox v-model="form['裁切']"></el-checkbox>
             </el-form-item>
           </div>
-          <el-form-item label="设备编号:"  class="mab" prop="remark">
-            <el-select v-model="form['设备编号']" multiple
-                       id="设备编号"  @keydown="add_gyzlent($event, '工序名称', '设备编号', '工序损耗')"
-                       style="flex: 1; height: auto;">
-              <el-option
-                  @keydown.tab.prevent="sbbhclick"
-                  @click="sbbhclick"
-                  v-for="(item, index) in gdzl_MachineList_address"
-                  :key="index"
-                  :label="item.split('-->')[0].trim()"
-                  :value="item.split('-->')[0].trim()">
-                {{ item }}
-              </el-option>
-            </el-select>
-          </el-form-item>
-          <el-form-item label="工序损耗:"  class="mab" prop="keyOrder" >
-            <el-input v-model="form['shdh']"  placeholder="Enter回车" readonly style="width: 10%;" id="工序损耗"  @keydown="add_gyzlent($event, '设备编号', '工序损耗', '损耗系数')"/>
-            <el-input disabled v-model="form['工序损耗名称']"  style="width: 88.7%;margin-left: 10px"/>
-          </el-form-item>
+
           <div style="display: flex; gap: 0px;">
-            <el-form-item label="损耗系数:"  class="mab" prop="keyOrder">
-              <el-input  v-model="form['损耗系数']"  style="flex: 1;" id="损耗系数"  @keydown="add_gyzlent($event, '工序损耗', '损耗系数', '难度系数')"/>
-            </el-form-item>
-            <el-form-item label="难度系数"  class="mab" prop="keyOrder">
-              <el-input  v-model="form['难度系数']"  style="flex: 1;" id="难度系数"  @keydown="add_gyzlent($event, '损耗系数', '难度系数', '装版工时')"/>
-            </el-form-item>
-            <el-form-item label="装版工时:"  class="mab" prop="keyOrder">
-              <el-input  v-model="form['装版工时']"  style="flex: 1;" id="装版工时"  @keydown="add_gyzlent($event, '难度系数', '装版工时', '排产小时产能')"/>
+            <el-form-item label="车缝小烫:"  class="mab" prop="isBanciSelected" label-width=" 100">
+              <el-checkbox v-model="form['车缝小烫']"></el-checkbox>
             </el-form-item>
-            <el-form-item label="排产小时产能:"  class="mab" prop="keyOrder" label-width=" 120px">
-              <el-input  v-model="form['小时产能']"  style="flex: 1;" id="排产小时产能"  @keydown="add_gyzlent($event, '装版工时', '排产小时产能', '备注')"/>
+          </div>
+
+          <div style="display: flex; gap: 0px;">
+            <el-form-item label="后道收样:"  class="mab" prop="isBanciSelected" label-width=" 100">
+              <el-checkbox v-model="form['后道收样']"></el-checkbox>
             </el-form-item>
-            <el-form-item label="印刷方式"  class="mab" prop="keyOrder">
-              <el-input disabled v-model="form['印刷方式']"  style="flex: 1;"/>
+          </div>
+
+          <div style="display: flex; gap: 0px;">
+            <el-form-item label="大烫:"  class="mab" prop="isBanciSelected" label-width=" 100">
+              <el-checkbox v-model="form['大烫']"></el-checkbox>
             </el-form-item>
-            <el-form-item label="版距"  class="mab" prop="keyOrder">
-              <el-input disabled v-model="form['版距']"  style="flex: 1;"/>
+          </div>
+
+          <div style="display: flex; gap: 0px;">
+            <el-form-item label="总检:"  class="mab" prop="isBanciSelected" label-width=" 100">
+              <el-checkbox v-model="form['总检']"></el-checkbox>
             </el-form-item>
           </div>
-          <el-form-item label="工序备注:"  class="mab" prop="remark">
-            <el-input  type="textarea" resize="none" v-model="form['备注']" rows="3" clearable   style="flex: 1;resize: none" id="备注"  @keydown="add_gyzlent($event, '排产小时产能', '备注', '质量要求')"/>
-          </el-form-item>
-          <el-form-item  label="质量要求:"  class="mab" prop="remark">
-            <el-input  type="textarea" resize="none" v-model="form['质量要求']" rows="2" clearable   style="flex: 1;resize: both;" id="质量要求"  @keydown="add_gyzlent($event, '备注', '质量要求', '质量隐患')"/>
-          </el-form-item>
-          <el-form-item label="质量隐患:"  class="mab" prop="remark">
-            <el-input  type="textarea" resize="none" v-model="form['质量隐患']" rows="2" clearable   style="flex: 1;" id="质量隐患"  @keydown="add_gyzlent($event, '质量要求', '质量隐患', '印件编号')"/>
-          </el-form-item>
+
         </div>
       </el-form>
 
@@ -149,10 +101,8 @@
         </div>
       </el-form>
     </el-dialog>
-
   </div>
 </template>
-
 <script setup>
 import {ref, reactive,onMounted} from 'vue'
 import {
@@ -166,8 +116,25 @@ import {
   getLossCode, getCouplet,
 } from '@/api/yunyin/yunying'
 import { ElMessage } from 'element-plus'
-const form = reactive({})
+const form = reactive({
+  '仓库出库':true,
+})
 const visible = ref(false)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 const yjdisplay = ref(false)
 const shxsdisplay = ref(false)
 const cjdisplay = ref(false)

+ 42 - 88
src/view/yunyin/shengchanguanli/components/print.vue

@@ -6,7 +6,7 @@
         <el-input v-model="form['gdbh']"  @keydown="cp_print_ProductValue" style="width: 200px" />
       </el-form-item>
     </el-row>
-    <el-row>
+    <!-- <el-row>
       <el-form-item label="印件号:" prop="yjno" class="mab" label-width="70">
         <el-select v-model="form['yjno']" placeholder="请选择印件号" style="width: 120px;" @change="getmc">
           <el-option
@@ -25,8 +25,8 @@
           />
         </el-select>
       </el-form-item>
-    </el-row>
-    <el-row>
+    </el-row> -->
+    <!-- <el-row>
       <el-form-item label="印件名称:" prop="currentProcess" class="mab" >
         <el-input v-model="form['yjmc']" placeholder="" style="width: 500px;" />
       </el-form-item>
@@ -40,7 +40,7 @@
       <el-form-item label="审核:" prop="currentProcess" class="mab" label-width="70">
         <el-input v-model="form['sh']" placeholder="" style="width: 500px;"/>
       </el-form-item>
-    </el-row>
+    </el-row> -->
     <div class="dialog-footer" style="text-align: right; margin-top: 30px;">
       <el-button @click="() => visibie = false">取消</el-button>
       <el-button type="primary"  @click="cp_print_handleConfirm">确认</el-button>
@@ -57,85 +57,50 @@ import {hiprint} from "vue-plugin-hiprint";
 
 const visibie = ref(false)
 const form = reactive({})
-const id = ref()
-const yjlist = ref([])
-const gxlist = ref([])
-
-const getmc = async (v) => {
-  const res = await ProcessCodeList({workOrder: id.value, yjno: v})
-  const row = yjlist.value.find(item => item.印件号 === v)
-  form['yjmc'] = row.印件名称;
-  gxlist.value = res.data
-}
+// const id = ref()
+// const yjlist = ref([])
+// const gxlist = ref([])
+
+
 
 const open = (gongdanId) => {
-  if (gongdanId == null) {
-    ElMessage({type: 'warning',message: '请选择具体的工单后,再操作此功能'});
-  } else {
-    id.value = gongdanId
-    form['gdbh'] = gongdanId;
-    form['zd'] = "";
-    form['sh'] ="";
-    form['gxh'] = 1;
-    _PrintCodeList();
+    form['gdbh'] = '2408001';
     visibie.value = true;
-  }
 }
 
 //工单打印回车
 const cp_print_ProductValue = async (e) => {
-  if (e.key=='Tab' || e.key=='Enter') {
-    _PrintCodeList();
-  }
+  
 }
 
-//打印作业通知单->工单印件及工序列表【印件号】【终止工序号】
-const _PrintCodeList = async () => {
-  const workOrder = form['gdbh'];
-  const PrintCodeList_list = await PrintCodeList({workOrder:workOrder});
-  if(PrintCodeList_list.data.length === 0){
-    ElMessage({type: 'warning',message: '工单编号错误 或 印件资料为空'});
-  }else{
-    yjlist.value = PrintCodeList_list.data
-    form['yjno'] = PrintCodeList_list.data[0].印件号;
-    form['yjmc'] = PrintCodeList_list.data[0].印件名称;
-    const res = await ProcessCodeList({workOrder:workOrder, yjno: form['yjno']});
-    form['gxh'] = res.data[0]['工序号']
-    gxlist.value = res.data
-  }
-}
 //json打印表格数据
 const jsondata =
 
+
+
+
+
+
 hiprint.init()
 const hiprintTemplate = new hiprint.PrintTemplate({ template: jsondata })
 const _gdlx = ref('')
+// 工单打印确认按钮
 const cp_print_handleConfirm = async () => {
-  if(form['yjno'] === '' || form['yjno'] === undefined){
-    ElMessage({type: 'warning',message: '印件资料为空'})
-    return false;
-  }
-  let params = {};
-  params.workOrder = form['gdbh'];
-  params.PrepareDocument = form['zd'];
-  params.examine = form['sh'];
-  params.yjno = form['yjno'];
-  params.gxh = form['gxh'];
-  //调用打印接口【打印作业通知单】
-  const print_PrintJobOrder = await PrintJobOrder(params);
+  // let params = {};
+  // params.workOrder = form['gdbh'];
+  // params.PrepareDocument = form['zd'];
+  // params.examine = form['sh'];
+  // params.yjno = form['yjno'];
+  // params.gxh = form['gxh'];
+  // //调用打印接口【打印作业通知单】
+  // const print_PrintJobOrder = await PrintJobOrder(params);
   // console.log(print_PrintJobOrder)
-  if(print_PrintJobOrder.msg === '未找到物料资料信息'){
-    ElMessage({type: 'warning',message: '未找到物料资料信息'})
-    return false;
-  }
-  if(print_PrintJobOrder.data['工单类型']){
-    _gdlx.value =  '★' +print_PrintJobOrder.data['工单类型']
-  }
 
-  if(print_PrintJobOrder.data === null || print_PrintJobOrder.data === undefined || print_PrintJobOrder.data === ''){
-    ElMessage({type: 'error',message: print_PrintJobOrder.msg});
-    return false;
-  }
+  // if(print_PrintJobOrder.data === null || print_PrintJobOrder.data === undefined || print_PrintJobOrder.data === ''){
+  //   ElMessage({type: 'error',message: print_PrintJobOrder.msg});
+  //   return false;
+  // }
+
   // 获取当前日期
   const today = new Date();
   const year = today.getFullYear();
@@ -145,17 +110,18 @@ const cp_print_handleConfirm = async () => {
   const minutes = String(today.getMinutes()).padStart(2, '0');
   const seconds = String(today.getSeconds()).padStart(2, '0');
   const currentDate = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
+  const currentDates = `${year}-${month}-${day}`;
+
   const printdata  = {
-    // "minong": "https://www.zjminong.com/static/web/images/logo.png?v=v2",
-    "minong": "/src/assets/logotx.png",
-    "ztlx":_gdlx.value,
-    "sckh":print_PrintJobOrder.data['sckh'],
-    "dysj":currentDate,
+    "ddh":'2408001',
+    "sckh":'',
     "scpch":print_PrintJobOrder.data['生产批次号'],
     "xsddh":print_PrintJobOrder.data['销售订单号'],
     "khdh":  print_PrintJobOrder.data['客户代码'],
     "khmc":  print_PrintJobOrder.data['客户名称'],
     "cpdm":  print_PrintJobOrder.data['产品代码'],
+
+
     "cpmc":  print_PrintJobOrder.data['产品名称'],
     "bbh":  print_PrintJobOrder.data['版本号'],
     "jybm":  print_PrintJobOrder.data['警语版面'],
@@ -184,25 +150,14 @@ const cp_print_handleConfirm = async () => {
       'jhyl': item['计划用量'].toFixed(2),
       'dw': item['投料单位'],
     })),
-    'table2': print_PrintJobOrder.data.printDetail.map(item => ({
-      'yjjgxmc': item.印件及工序名称,
-      'zxs': item['转序数'],
-      'bfde': item['报废定额'],
-      'yxbl': item['允损比例'],
-      'shxs': item['损耗系数'],
-      'zbgs': item['装版工时'],
-      'xsde': item['小时定额'],
-      'scgs': item['生产工时'],
-      'bz': item['工序备注'],
-    })),
+    
+    "minong": "/src/assets/dacheng.jpg",
     "shr":form['sh'],
-    "zdr":form['zd']
-  }
-  if(print_PrintJobOrder.data.materiel.length === 0){
-    hiprintTemplates.print(printdata);
-  }else{
-    hiprintTemplate.print(printdata);
+    "dysj":currentDate,
+
   }
+  
+  hiprintTemplate.print(printdata);
 
   // hiprintTemplate.print(printdata);
   // cp_print_gdlist.value = false;
@@ -239,5 +194,4 @@ defineExpose({ open })
 .mab{
   margin-bottom: 5px;
 }
-
 </style>

+ 2 - 2
src/view/yunyin/shengchanguanli/gongdanziliao.vue

@@ -21,8 +21,8 @@
               <!-- <el-button type="primary" icon="edit"   @click="gd_gxclhconClick"  class="bt" title="工序产量核查">工序产量核查</el-button> -->
               <!-- <el-button type="primary" icon="edit"   @click="gdlcdcxconlick"    class="bt" title="流程单查询">流程单查询</el-button> -->
               <el-button type="primary" icon="edit"   @click="addgd_onclick"   class="bt"   title="新增工单资料">新增</el-button>
-              <el-button type="primary" icon="edit"   @click="addgdyj_onclick"   class="bt" title="新增印件资料">新增颜色资料</el-button>
-              <el-button type="primary" icon="edit"   @click="addgdgy_onclick"   class="bt" title="新增工资料" >新增工序资料</el-button>
+              <el-button type="primary" icon="edit"   @click="addgdyj_onclick"   class="bt" title="新增颜色资料">新增颜色资料</el-button>
+              <el-button type="primary" icon="edit"   @click="addgdgy_onclick"   class="bt" title="新增工资料" >新增工序资料</el-button>
               <el-button type="primary" icon="edit"   @click="cp_gdprintonClick" class="bt" title="打印生产工单" >工单打印</el-button>
               <!-- <el-button type="primary" icon="edit"   @click="delgdzl_onclick" :disabled="gdSelection === ''"   class="bt" title="工单资料删除" >工单资料删除</el-button>
               <el-button type="primary" icon="edit"   @click="delgd_delclick"  :disabled="yjSelection === '' && gySelection === ''"  class="bt" title="选择批量删除(印件资料或工艺资料)"  >删除</el-button>

+ 6 - 256
src/view/yunyin/shengchanguanli/shengchanjincheng.vue → src/view/yunyin/shengchanguanli/gongxuchanlianghecha.vue

@@ -8,68 +8,12 @@
             <el-form-item>
               <el-input v-model="searchInfo" placeholder="搜索工单编号" clearable style="width: 200px;margin: 5px"></el-input>
               <el-button type="primary" icon="search" @click="onSubmit" style="margin: 5px">查询</el-button>
-			  <!-- <el-button type="primary" icon="edit"   @click="gd_gxcltjonClick"  class="bt" title="工序产量核查">工序产量统计</el-button> -->
+			  <!-- <el-button type="primary" icon="edit"   @click="gd_gxcltjonClick"  class="bt" title="工序产量核查">工序产量统计</el-button>
 			  <el-button type="primary" icon="edit"   @click="cp_gdprintonClick" class="bt" title="打印生产工单" >工单打印</el-button>
-			  <el-button type="primary" title="设置工单的状态-->【计划中】 【生产中】 【已完成】" icon="edit" @click="onStatusClick" class="bt">工单状态设置</el-button>
-			  <el-button type="primary" icon="edit"   @click="gd_gxclhconClick"  class="bt" title="工序产量核查">工序产量核查</el-button>
+			  <el-button type="primary" title="设置工单的状态--【计划中】 【生产中】 【已完成】" icon="edit" @click="onStatusClick" class="bt">工单状态设置</el-button>
+			  <el-button type="primary" icon="edit"   @click="gd_gxclhconClick"  class="bt" title="工序产量核查">工序产量核查</el-button> -->
             </el-form-item>
           </el-form>
-		  
-		  <!-- 状态设置【弹窗】-->
-		   <el-dialog v-model="onstatuslist" title="工单状态设置" width="30%" style="top: 15%">
-			 <div style="width: 100%;height: 100%;">
-			   <div style="width: 100%; display: flex; align-items: center;">
-				 <el-form-item label="工单编号 :" prop="currentProcess">
-				   <el-input v-model="statusformData['gdbh']" placeholder="" />
-				 </el-form-item>
-			   </div>
-			   <div style="width: 100%; display: flex; align-items: center; margin-top: 30px;">
-				 <span>状态设置:</span>
-				 <el-radio-group v-model="status" style="margin-left: 10px;">
-				   <el-radio label="计划中">计划中</el-radio>
-				   <el-radio label="生产中">生产中</el-radio>
-				   <el-radio label="已完工">已完工</el-radio>
-				 </el-radio-group>
-			   </div>
-			   <div class="dialog-footer" style="text-align: right; margin-top: 40px;">
-				 <el-button @click="handleCancel">取消</el-button>
-				 <el-button type="primary"  @click="handleConfirm">确认</el-button>
-			   </div>
-			 </div>
-		   </el-dialog>
-
-         <!--工序产量核查【弹窗】-->
-          <el-dialog v-model="gd_gxclhclist" title="工序产量核查" style="width: 100%;height: 100%;margin: 0px;padding: 0px">
-            <el-button type="" @click="gxclhcCancel">退出</el-button>
-            <div style="width: 100%; height: 60px; padding: 0px; margin: 10px 0px 0px 0px; display: flex; align-items: center;">
-              <div style="width: 100%; height: 60px; padding: 0px;  display: flex; align-items: center;">
-                <el-form-item label="工单编号" prop="currentProcess" style="margin-right: 20px; padding: 20px 0 0 0 ">
-                  <el-input v-model="gxclhcformData['gdbh']"  @keyup.enter="gxclhcProductValue"  />
-                </el-form-item> 
-                印件选择:
-                <el-select v-model="gdwhformData.yjno" placeholder="请选择" allow-create filterable style="width: 100px;margin-right: 20px; padding: 0px;">
-                  <el-option v-for="option in gdwhformData.yinjian" @click="ongdwhfanclick" :key="option" :label="option" :value="option" />
-                </el-select>
-                <el-input v-model="inputCpmc" readonly style="width: 50vw; margin-right: 0px;" />
-              </div>
-            </div>
-            <el-table ref="paichengRef"
-                      :show-overflow-tooltip="true"
-                      :row-style="{ height: '0px' }"
-                      :cell-style="{ padding: '0px' }" :header-row-style="{ height: '0px' }"
-                      :header-cell-style="{ padding: '0px' }"
-                      style="width: 100%;height: 70vh" border tooltip-effect="dark"
-                      highlight-current-row="true"
-                      @row-click="gxclhc_tableRowClick"
-                      :data="gxclhc_Data" row-key="ID"
-                      :cell-class-name="gxclhcCellClass">
-              <template v-for="(item, idx) in gxclhc_Columns">
-                <el-table-column #default="{ row, column, $index }" align="left" :label="item.label" :width="item.width" >
-                  {{row[item.prop]}}
-                </el-table-column>
-              </template>
-            </el-table>
-          </el-dialog>
 
         </div>
       </layout-header>
@@ -99,8 +43,8 @@
                       highlight-current-row="true" @row-dblclick="updateCompanyFunc"
                       @row-click="tableRowClick" :show-overflow-tooltip="true"
                       @selection-change="handleSelectionChange">
-             <el-table-column  sortable align="center" label="序号" prop="序号"  width="120" />
-             <el-table-column  sortable align="center" label="订单号" prop="订单号"  width="120" />
+       <el-table-column  sortable align="center" label="序号" prop="序号"  width="120" />
+       <el-table-column  sortable align="center" label="订单号" prop="订单号"  width="120" />
 			 <el-table-column  sortable align="center" label="生产款号" prop="生产款号"  width="200" />
 			 <el-table-column  sortable align="center" label="客户" prop="联数"  客户="100" />
 			 <el-table-column  sortable align="center" label="制单总数" prop="制单总数"  width="100" />
@@ -112,16 +56,6 @@
 			 <el-table-column  sortable align="center" label="大烫" prop="大烫"  width="200" />
 			 <el-table-column  sortable align="center" label="总检" prop="总检"  width="200" />
 			 <el-table-column  sortable align="center" label="包装" prop="包装"  width="200" />
-			 <!-- <el-table-column  sortable align="center" label="工序8" prop="工序8"  width="200" />
-			 <el-table-column  sortable align="center" label="工序9" prop="工序9"  width="200" />
-			 <el-table-column  sortable align="center" label="工序10" prop="工序10"  width="200" />
-			 <el-table-column  sortable align="center" label="工序11" prop="工序11"  width="200" />
-			 <el-table-column  sortable align="center" label="工序12" prop="工序12"  width="200" />
-			 <el-table-column  sortable align="center" label="工序13" prop="工序13"  width="200" />
-			 <el-table-column  sortable align="center" label="工序14" prop="工序14"  width="200" />
-			 <el-table-column  sortable align="center" label="工序15" prop="工序15"  width="200" />
-			 <el-table-column  sortable align="center" label="工序16" prop="工序16"  width="200" />
-			 <el-table-column  sortable align="center" label="工序17" prop="工序17"  width="200" /> -->
             </el-table>
 
             <!-- 分页 -->
@@ -137,8 +71,7 @@
       </layout-content>
       </layout>
     </layout>
-	<!-- 工单打印 -->
-	<PrintPage ref="printPageRef" />
+
   </div>
 </template>
 <script setup>
@@ -210,189 +143,6 @@ const tableRowClick = async (row) => {
 };
 
 
-//===========工单状态设置按钮=======
-const onstatuslist = ref(false);
-const statusformData = reactive({gdbh: '',});
-const status = ref('计划中'); // 默认选择
-const onStatusClick = () => {
-  if(_Gd_gdbh.value === null || _Gd_gdbh.value === ''){
-    onstatuslist.value = false;
-    ElMessage({
-      type: 'warning',
-      message: '请选择树形后,再操作此功能'
-    })
-  }else{
-    statusformData['gdbh'] = _Gd_gdbh.value;
-    onstatuslist.value = true;
-  }
-};
-//工单状态设置【放弃按钮】
-const handleCancel = () => {
-  onstatuslist.value = false;
-};
-//工单状态设置【执行按钮】
-const handleConfirm = async () => {
-  //工单编号
-  let workOrder = statusformData['gdbh'];
-  //状态
-  let statusCode;
-  if (status.value === '计划中') {
-    statusCode = "3-计划中";
-  } else if (status.value === '生产中') {
-    statusCode = "2-生产中";
-  }else if (status.value === '已完工') {
-    statusCode = "1-已完工";
-  }
-  const StatusEditdata = await StatusEdit({workOrder:workOrder,status:statusCode});
-  if (StatusEditdata.code === 0) {
-    ElMessage({type: 'success',message: '更新成功'})
-  } else {
-    ElMessage({type: 'error',message: '更新失败'})
-  }
-  onstatuslist.value = false;
-};
-
-//=========工单打印===========
-const printPageRef = ref()
-const cp_gdprintonClick = () => {
-  printPageRef.value.open(_Gd_gdbh.value)
-}
-
-//=========工序产量核查===========
-const gd_gxclhclist = ref(false);
-const gxclhc_Data = ref([]);
-const gxclhc_Columns = ref(
-    [
-      { label: '印件及工序名称', prop: 'concatenatedData', width: '380' },
-      // { label: '印件', prop: 'Gy0_yjno', width: '130' },
-      // { label: '工序', prop: 'Gy0_gxh', width: '130' },
-      // { label: '名称', prop: 'Gy0_gxmc', width: '130' },
-      { label: '工序计划产量', prop: 'Gy0_计划接货数', width: '120' },
-      { label: '联数', prop: 'Gy0_ls', width: '70' },
-      { label: '折算车头产量', prop: '折算车头产量', width: '120' },
-      { label: '实际上报产量', prop: 'sczl_cl', width: '120' },
-      { label: '制程废品', prop: 'sczl_zcfp', width: '120' },
-      { label: '制程废品率', prop: '制程废品率', width: '120' },
-      { label: '来料异常', prop: '来料异常', width: '90' },
-      { label: '流程单数', prop: 'process_num', width: '90' },
-      { label: '当前设备', prop: 'Gy0_sbbh', width: '120' },
-      { label: '工序状态', prop: 'PD_WG', width: '90'},
-      { label: '首板生产日期', prop: 'sczl_rq', width: '160' },
-    ]
-)
-const gxclhcformData = reactive({
-  gdbh: '',
-  gdmc: '',
-});
-const gdwhformData = reactive({
-  // 下拉框选项数据
-  yinjian: [],
-  // 设置默认值
-  yjno: '',
-});
-const inputCpmc = ref('')
-// 工序产量核查按钮
-const gd_gxclhconClick = async () => {
-  if(_Gd_gdbh.value === '' || _Gd_gdbh.value === null){
-    ElMessage({type: 'warning',message: '请选择具体的工单,在进行操作'})
-    return false;
-  }
-  gxclhcformData['gdbh'] = _Gd_gdbh.value;
-  gxclhcformData['yjno'] = 1;
-  gd_gxclhclist.value = true;
-  const response = await PrintDetailList ({workOrder:_Gd_gdbh.value});
-  console.log(response)
-  gdwhformData.yjno = response.data[0].no
-  inputCpmc.value = response.data[0].name
-  if (response.code === 0) {
-	  const noFields = response.data.map(item => item.no);
-	  gdwhformData.yinjian = noFields
-	} else {
-	  console.error('查询失败:', response.msg);
-	}
-  _getOrderProcessCount();
-};
-
-//点击印件下拉框
-const ongdwhfanclick = async() => {
-  _PrintDetailList();
-  _getOrderProcessCount();
-}
-
-//工序产量核查回车
-const gxclhcProductValue = async () => {
-	console.log("工序产量核查回车")
-  _getOrderProcessCount();
-  _PrintDetailList();
-}
-
-//工序产量核查退出
-const gxclhcCancel = async () => {
-  gd_gxclhclist.value = false;
-};
-
-//印件编号获取方法接口
-const _PrintDetailList = async () => {
-  const order = gxclhcformData['gdbh'];
-  const response = await PrintDetailList ({workOrder:order});
-  const matchingItem = response.data.find(item => item.no === gdwhformData.yjno);
-    if (matchingItem) {
-		console.log(matchingItem.name)
-		inputCpmc.value = matchingItem.name;
-	} else {
-		console.log(`No matching item found for no: ${gdwhformData.yjno}`);
-	}
-}
-
-//工序产量核查方法接口
-const _getOrderProcessCount = async () => {
-  const order = gxclhcformData['gdbh'];
-  const yjno = gdwhformData.yjno;
-  const getOrderProcessCount_list = await getOrderProcessCount({order:order,yjno:yjno});
-  const concatenatedData = getOrderProcessCount_list.data.map(item => {
-    // 优化后的代码,使用模板字符串连接字段值并在单个数字前添加零
-    const formattedYjno = item.Gy0_yjno.length === 1 ? `0${item.Gy0_yjno}` : item.Gy0_yjno;
-    const formattedGxh = item.Gy0_gxh.length === 1 ? `0${item.Gy0_gxh}` : item.Gy0_gxh;
-    const concatenatedValue = `${formattedYjno}-${formattedGxh} ${item.Gy0_gxmc} 【${item.Add_gxmc} 】`;
-    return {
-      ...item,
-      concatenatedData: concatenatedValue, // 使用新属性名
-    };
-  });
-  gxclhc_Data.value = concatenatedData;
-};
-
-//工序产量核查
-const gxclhcCellClass = ({row, column, rowIndex, columnIndex}) =>{
-  if (column.label === '实际上报产量' ||column.label === '制程废品'  || column.label === '制程废品率' ||
-      column.label === '来料异常' || column.label === '流程单数' || column.label === '当前设备') {
-    return 'lan-plan-usage-lows';
-  }
-  if (column.label === '折算车头产量') {
-    return 'gxclhc—color-column-red';
-  }
-  // 如果不是 'PD_WG' 列,返回空字符串或其他样式类
-  if (column.label === '工序状态'){
-    if(row['PD_WG'] === '完工'){
-      return 'lan-plan-usage-lowshui';
-    }else{
-      return 'pczccolor-column-lan';
-    }
-  }
-}
-// 表格数据
-const gxbgCellClass = ({row, column, rowIndex, columnIndex}) =>{
-	// console.log(row)
- for (let i = 1; i <= 17; i++) {
-    const key = `工序${i}`;
-    if (row[key] && row[key].includes('完工') && columnIndex === i + 5) {
-      return 'hui-plan-usage-lows';
-    }
-  }
-  return 'lan-plan-usage-lows';  
-}
-
-
 // 搜索默认为空
 const searchInfo = ref('')
 //点击【查询】按钮

+ 249 - 25
src/view/yunyin/shengchanguanli/gongdanshengchan.vue → src/view/yunyin/shengchanguanli/shengchanpaichan.vue

@@ -9,23 +9,22 @@
               <!--按钮-->
               <el-input v-model="searchInfo" placeholder="搜索工单编号"  style="width: 180px;"></el-input>
               <el-button type="primary" title="搜索" icon="search"  @click="onSubmit"></el-button>
-              <el-button type="primary" title="设置工单的状态--【计划中】 【生产中】 【已完成】" icon="edit" @click="onStatusClick" class="bt">工单状态设置</el-button>
-
-              <div v-if="treeType === 'customTree'">
-                <el-button type="primary" title="设置工单各个工序的 【完工】 状态" icon="edit" @click="ongxztgzClick" class="bt">工序状态更正</el-button>
-                <el-button type="primary" title="引用当前产品最近一次的生产参数【设备、显示产能、辅助工时】" icon="edit" @click="pd_yysjcsonClick" class="bt">引用实际参数</el-button>
-                <el-button type="primary" title="批量维护工序生产的排程参数" icon="edit" disabled @click="pd_pccswhonClick" class="bt">排程参数维护</el-button>
-                <el-button type="primary" title="将已经维护好的排产参数,复制给对应产品的对应工艺" icon="edit" disabled @click="pd_pdcsfzonClick" class="bt">排单参数复制</el-button>
-                <el-button type="primary" title="根据当前生产任务设备状态排程 编辑生产计划" icon="edit" disabled @click="pd_editscjhonClick" class="bt">编辑生产计划</el-button>
+              <!-- <el-button type="primary" title="设置工单的状态--【计划中】 【生产中】 【已完成】" icon="edit" @click="onStatusClick" class="bt">工单状态设置</el-button> -->
+
+              <div v-if="(currentNode == '计划中') && treeType === 'customTree'">
+                <el-button type="primary" title="排产" icon="edit" @click="ongxztgzClick" class="bt">排产</el-button>
+                <el-button type="primary" title="修改" icon="edit" @click="pd_yysjcsonClick" class="bt">修改</el-button>
+              </div> 
+
+              <div v-if="(currentNode == '制程中') && treeType === 'customTree'">
+                <el-button type="primary" title="修改" icon="edit" @click="pd_yysjcsonClick" class="bt">修改</el-button>
+              </div> 
+
+              <div v-if="(currentNode == '已完工') && treeType === 'customTree'">
+
               </div> 
 
               <div v-else>
-                <el-button type="primary" title="将当前已选的生产任务,【加入到设备生产任务清单中】" icon="edit"  @click="onjrpcClick" class="bt">加入排产</el-button>
-                <el-button type="primary" title="暂停工序生产任务,【返回当前设备待产任务清单中】" icon="edit"  @click="onztwgClick" class="bt">暂停排产</el-button>
-                <el-button type="primary" title="将工序佘总为【完工状态】" icon="edit"  @click="ongxwgClick" class="bt">工序完工</el-button>
-                <el-button type="primary" title="设置工单各个工序的【完工】状态" icon="edit" @click="ongxztgzClick" class="bt">工序状态更正</el-button>
-                <el-button type="primary" title="可【批量设置】所选择的生产任务的生产机台" icon="edit"  @click="onjztzClick" class="bt">机组调整</el-button>
-                <el-button type="primary" title="给担负起那设备做生产任务排程" icon="edit"  @click="oncjsbpcClick" class="bt">车间设备制程排序</el-button>
               </div> 
               <el-button type="primary" title="打印生产工单" icon="edit" @click="pd_gdprintonClick" class="bt">工单打印</el-button> 
             </el-form-item>
@@ -241,10 +240,125 @@
               </layout>
             </div>
           </el-dialog>
+          <!-- 排产-->
+            <el-dialog v-model="add_gdyjdialogFormVisible" :before-close="add_gdyjcloseDialog" style="width: 60%;" :title="'车缝小烫排产'" destroy-on-close>
+              <el-form label-width="100px" :model="add_yjzlformdata">
+                <div style="display: flex; gap: 0px;">
+                  <el-form-item label="订单子编号:" class="mab" prop="keyOrder">
+                    <el-input v-model="add_yjzlformdata.ddzbh" style="width: 100px;" id="cpsl" @keydown="add_gdzlyjent($event, 'zzmc4', 'cpsl', 'pztl')"/>
+                  </el-form-item>
+                  <el-form-item label="颜色:" class="mab" prop="keyOrder">
+                    <el-input v-model="add_yjzlformdata.ys" style="width: 100px;" id="pztl" @keydown="add_gdzlyjent($event, 'cpsl', 'pztl', 'klgg')"/>
+                  </el-form-item>
+                </div>
+                <div style="display: flex; gap: 0px;">
+                  <el-form-item label="尺码规格:" prop="joinDate" >
+                    <el-select v-model="add_yjzlformdata.cmgg" style="width: 150px;" id="尺码规格">
+                      <el-option label="32~46" value="32~46"></el-option>
+                      <el-option label="S~XXL" value="47~52"></el-option>
+                    </el-select>
+                  </el-form-item>
+                </div>
+                <div style="display: flex; gap: 0px;">
+                  <el-form-item label="尺码:" class="mab" prop="keyOrder">
+                    <el-input v-model="cmformdata.cm1" readonly style="width: 80px;"/>
+                    <el-input v-model="cmformdata.cm2" readonly style="width: 80px;"/>
+                    <el-input v-model="cmformdata.cm3" readonly style="width: 80px;"/>
+                    <el-input v-model="cmformdata.cm4" readonly style="width: 80px;"/>
+                    <el-input v-model="cmformdata.cm5" readonly style="width: 80px;"/>
+                    <el-input v-model="cmformdata.cm6" readonly style="width: 80px;"/>
+                    <el-input v-model="cmformdata.cm7" readonly style="width: 80px;"/>
+                    <el-input v-model="cmformdata.cm8" readonly style="width: 80px;"/>
+                    <el-input v-model="cmformdata.cm9" readonly style="width: 80px;"/>
+                  </el-form-item>
+                </div>
+                <div style="display: flex; gap: 0px;">
+                  <el-form-item label="制单数:" class="mab" prop="keyOrder">
+                    <el-input v-model="zdsformdata.zds1" style="width: 80px;" id="pztl" @keydown="add_gdzlyjent($event, 'cpsl', 'pztl', 'klgg')"/>
+                    <el-input v-model="zdsformdata.zds2" style="width: 80px;" id="pztl" @keydown="add_gdzlyjent($event, 'cpsl', 'pztl', 'klgg')"/>
+                    <el-input v-model="zdsformdata.zds3" style="width: 80px;" id="pztl" @keydown="add_gdzlyjent($event, 'cpsl', 'pztl', 'klgg')"/>
+                    <el-input v-model="zdsformdata.zds4" style="width: 80px;" id="pztl" @keydown="add_gdzlyjent($event, 'cpsl', 'pztl', 'klgg')"/>
+                    <el-input v-model="zdsformdata.zds5" style="width: 80px;" id="pztl" @keydown="add_gdzlyjent($event, 'cpsl', 'pztl', 'klgg')"/>
+                    <el-input v-model="zdsformdata.zds6" style="width: 80px;" id="pztl" @keydown="add_gdzlyjent($event, 'cpsl', 'pztl', 'klgg')"/>
+                    <el-input v-model="zdsformdata.zds7" style="width: 80px;" id="pztl" @keydown="add_gdzlyjent($event, 'cpsl', 'pztl', 'klgg')"/>
+                    <el-input v-model="zdsformdata.zds8" style="width: 80px;" id="pztl" @keydown="add_gdzlyjent($event, 'cpsl', 'pztl', 'klgg')"/>
+                    <el-input v-model="zdsformdata.zds9" style="width: 80px;" id="pztl" @keydown="add_gdzlyjent($event, 'cpsl', 'pztl', 'klgg')"/>
+                  </el-form-item>
+                </div>
+                <!-- 图片 -->
+                <div style="display: flex; gap: 0px;">
+                  <el-form-item label="上传图片:" prop="image" class="mab" label-width="100px">
+								    <el-upload ref="upload" class="avatar-uploader" :show-file-list="false" :before-upload="handlePreview" accept="image/*" >
+								      <img v-if="imageUrl" :src="imageUrl" class="avatar" />
+								      <div v-else class="upload-placeholder">
+								        <i class="el-icon-plus avatar-uploader-icon"></i>
+								        <div class="upload-text">点击上传图片</div>
+								      </div>
+								    </el-upload>
+								  </el-form-item>
+                </div>
+                <div style="display: flex; gap: 0px;">
+                  <el-form-item label="工作中心:" prop="joinDate" >
+                    <el-select v-model="add_yjzlformdata.gzzx" style="width: 150px;" id="尺码规格">
+                      <el-option label="二分厂" value="32~46"></el-option>
+                      <el-option label="大分厂" value="47~52"></el-option>
+                    </el-select>
+                  </el-form-item>
+                </div>
+                <div style="display: flex; gap: 0px;margin-left:30px ;">
+                  <el-form-item label="车缝小烫小组:" prop="joinDate" ><br><br><br>
+                    <div style="margin-left:-105px;margin-top: 25px;">
+                      <el-select v-model="add_yjzlformdata.cfxtxz1" style="width: 120px;" id="尺码规格">
+                        <el-option label="服装厂1组" value="32~46"></el-option>
+                        <el-option label="服装厂11组" value="47~52" ></el-option>
+                      </el-select>
+                      <div >
+                      <el-select v-model="add_yjzlformdata.cfxtxz2" style="width: 120px;margin-top: 20px;" id="尺码规格">
+                        <el-option label="服装厂11组" value="32~46"></el-option>
+                        <el-option label="服装厂1组" value="47~52" ></el-option>
+                      </el-select>  
+                    </div>
+                    </div>
+                    <el-form-item label="排产数量:" prop="joinDate" ><br><br><br>
+                    <div style="margin-left:-75px;margin-top: 25px;">
+                      <el-select v-model="add_yjzlformdata.pcsl1" style="width: 120px;" id="尺码规格">
+                        <el-option label="50" value="32~46"></el-option>
+                        <el-option label="40" value="47~52" ></el-option>
+                      </el-select>
+                      <div >
+                      <el-select v-model="add_yjzlformdata.pcsl2" style="width: 120px;margin-top: 20px;" id="尺码规格">
+                        <el-option label="40" value="32~46"></el-option>
+                        <el-option label="50" value="47~52" ></el-option>
+                      </el-select>  
+                    </div>
+                    </div>
+                    <el-form-item label="操作:" prop="joinDate" ><br><br><br>
+                    <div style="margin-left:-50px;margin-top: 25px;">
+                      <el-button type="primary"  @click="aa" style="margin: 5px;width:40px" >+</el-button>
+                      <div >
+                      <el-button type="primary"  @click="bb" style="margin: 5px;width:40px" >-</el-button>
+                    </div>
+                    </div>
+                  </el-form-item>
+                  </el-form-item>
+                  </el-form-item>
+                </div>
+
+
+
+              </el-form>
+              <template #footer>
+                <div class="dialog-footer" style="text-align: right;">
+                  <el-button @click="add_dyjcloseDialog">取消</el-button>
+                  <el-button type="primary"  @click="add_gdyjenterDialog">保存</el-button>
+                </div>
+              </template>
+            </el-dialog>
 
         </div>
       </layout-header>
 
+      <!-- 左侧 -->
       <layout>
         <layout-sider :resize-directions="['right']" :width="190" style="margin-right: 10px;">
           <div class="JKWTree-tree" style="height: 200px">
@@ -445,7 +559,15 @@ export default {
     showTableChange() {
       // 处理表格选中事件
     },
-    // 其他方法...
+    // 图片
+    handlePreview(file) {
+      const reader = new FileReader();
+      reader.onload = (e) => {
+        this.imageUrl = e.target.result; // 将选择的图片显示在页面上
+      };
+      reader.readAsDataURL(file); // 将文件读为Data URL
+      return false; // 阻止文件的默认上传行为
+    },
   }
 };
 </script>
@@ -1411,17 +1533,84 @@ const gxztgzztableColumns = ref(
 const gxztgzztableData = ref([]);
 const gxztgzzlist = ref(false);
 const gxztgzzformData = reactive({gdbh: '',});
-//工序状态更正按钮
-const ongxztgzClick = () => {
-  if(_Gd_gdbh.value == null){
-    gxztgzzlist.value = false;
-    ElMessage({type: 'warning',message: '请选择树形后,再操作此功能'})
-  }else{
-    gxztgzzformData['gdbh'] = _Gd_gdbh.value;
-    _ProcessStatusCorrection();
-    gxztgzzlist.value = true;
-  }
+
+// =========== 排产 ===========
+//默认弹窗关闭
+const add_gdyjdialogFormVisible = ref(false)
+const add_yjzlformdata = reactive({
+  ddzbh: '',
+  ys: '',
+  cmgg: '',
+  sfcy: '',
+  gzzx: '',
+  cfxtxz1: '',
+  cfxtxz2: '',
+  pcsl1: '',
+  pcsl2: '',
+});
+const cmformdata = reactive({
+  cm1:'32',
+  cm2:'34',
+  cm3:'36',
+  cm4:'38',
+  cm5:'40',
+  cm6:'42',
+  cm7:'44',
+  cm8:'46',
+  cm9:'总计',
+});
+const zdsformdata = reactive({
+  zds1:'10',
+  zds2:'20',
+  zds3:'30',  
+  zds4:'',
+  zds5: '',
+  zds6:'',
+  zds7:'',
+  zds8:'',
+  zds9:'',
+});
+//清空对象的属性值
+const gdyj_clearFormData = () => {
+  Object.keys(zdsformdata).forEach(key => {
+    zdsformdata[key] = '';
+  });
+  add_yjzlformdata['ddzbh'] = 'XXX001-1';
+  add_yjzlformdata['ys'] = '红色';
+  add_yjzlformdata['cmgg'] = '32~46';
+  add_yjzlformdata['sfcy'] = '是';
+  add_yjzlformdata['gzzx'] = '二分厂';
+  add_yjzlformdata['cfxtxz1'] = '服装厂11组';
+  add_yjzlformdata['cfxtxz2'] = '服装厂1组';
+  add_yjzlformdata['pcsl1'] = '50';
+  add_yjzlformdata['pcsl2'] = '40';
 };
+//排产按钮
+const ongxztgzClick = () => {
+  add_gdyjdialogFormVisible.value = true
+  gdyj_clearFormData();
+}
+
+
+//排产确定
+const add_gdyjenterDialog =  async  () => {
+  
+}
+//排产取消
+const add_dyjcloseDialog = () => {
+  add_gdyjdialogFormVisible.value = false
+}
+//工序状态更正按钮
+// const ongxztgzClick = () => {
+//   if(_Gd_gdbh.value == null){
+//     gxztgzzlist.value = false;
+//     ElMessage({type: 'warning',message: '请选择树形后,再操作此功能'})
+//   }else{
+//     gxztgzzformData['gdbh'] = _Gd_gdbh.value;
+//     _ProcessStatusCorrection();
+//     gxztgzzlist.value = true;
+//   }
+// };
 //工序状态更正回车
 const gxztgzzgetProductValue = () => {
   _ProcessStatusCorrection();
@@ -2004,4 +2193,39 @@ const rowContextMenu = (row) => {
 .focusdiv:focus {
   border: 1px solid red;
 }
+/* 图片 */
+.avatar-uploader {
+  width: 500px;
+  height: 300px;
+  border: 1px dashed #d9d9d9;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  cursor: pointer;
+}
+.avatar {
+  width: 100%;
+  height: 100%;
+  display: block;
+  object-fit: cover;
+}
+.avatar-uploader-icon {
+  font-size: 28px;
+  color: #8c939d;
+}
+.upload-placeholder {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  justify-content: center;
+  height: 100%;
+  width: 100%;
+}
+.upload-text {
+  width: 50%;
+  height: 50%;
+  margin-top: 5px;
+  color: #8c939d;
+  font-size: 14px;
+}
 </style>

+ 416 - 0
src/view/yunyin/shengchanguanli/yangyipihe.vue

@@ -0,0 +1,416 @@
+<template>
+	<div>
+	  <layout>
+		<layout-header>
+		  <div class="">
+			<!--          按钮部分-->
+			<el-form ref="elSearchFormRef"   class="demo-form-inline" :rules="searchRule" @keyup.enter="onSubmit">
+			  <el-form-item>
+				<el-input v-model="searchInfo" placeholder="搜索" clearable style="width: 200px;margin: 5px"></el-input>
+				<el-button type="primary" icon="search" @click="onSubmit" style="margin: 5px">查询</el-button>
+				<el-button type="primary" icon="edit"   @click="hptg_onClick" class="bt" title="核批通过" disabled>核批通过</el-button>
+				<!-- <el-button type="primary" title="修改" icon="edit" @click="onStatusClick" class="bt">修改</el-button> -->
+			  </el-form-item>
+			</el-form>
+		  </div>
+		</layout-header>
+  
+		<layout>
+		  <!--    左侧树侧形结构-->
+		  <layout-sider :resize-directions="['right']" :width="190" style="margin-right: 10px;">
+			<div class="JKWTree-tree" style="height: 200px">
+			  <h3>客户编号</h3>
+			  <el-tree :data="treeData" class="treecolor" :current-node-key="currentNodeKey" @node-click="handleNodeClick">
+			  </el-tree>
+			</div>
+		  </layout-sider>
+  
+		  <!-- 右侧区域 -->
+		  <layout-content >
+		  <el-main>
+			<div class="gva-table-box">
+			  <!-- 表格数据 -->
+			  <el-tabs v-model="activeName">
+				<el-tab-pane label="样衣待核批列表"   @click="showTable('样衣待核批列表')" name="first">
+					<el-table ref="multipleTable"  :row-style="{ height: '20px' }"
+							:cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
+							:header-cell-style="{ padding: '0px' }"
+							 @row-click="yydp_clickybupdate"
+                        	 @row-dblclick="yydp_updateCompanyFunc"
+							 highlight-current-row="true"
+							style="width: 100%;height: 65vh" border  :data="tableData1" row-key="ID" >
+						<el-table-column  sortable align="center" label="序号" prop="序号"  width="80" />
+						<el-table-column  sortable align="center" label="订单子编号" prop="订单子编号"  width="120" />
+						<el-table-column  sortable align="center" label="颜色名称" prop="颜色名称"  width="120" />
+						<el-table-column  sortable align="center" label="生产款号" prop="生产款号"  width="120" />
+						<el-table-column  sortable align="center" label="客户" prop="客户"  width="100" />
+						<el-table-column  sortable align="center" label="船样" prop="船样"  width="90" />
+						<el-table-column  sortable align="center" label="S" prop="S"  width="80" />
+						<el-table-column  sortable align="center" label="M" prop="M"  width="80" />
+						<el-table-column  sortable align="center" label="L" prop="L"  width="80" />
+						<el-table-column  sortable align="center" label="XL" prop="XL"  width="80" />
+						<el-table-column  sortable align="center" label="XXL" prop="XXL"  width="80" />
+						<el-table-column  sortable align="center" label="制单总数" prop="制单总数"  width="120" />
+						<el-table-column  sortable align="center" label="建档用户" prop="建档用户"  width="120" />
+						<el-table-column  sortable align="center" label="建档日期" prop="建档日期"  width="120" />
+						<el-table-column  sortable align="center" label="更新时间" prop="更新时间"  width="120" />
+						<el-table-column  sortable align="center" label="核批人" prop="核批人"  width="100" />
+						<el-table-column  sortable align="center" label="核批日期" prop="核批日期"  width="120" />
+					</el-table>
+				</el-tab-pane>
+
+              <el-tab-pane label="样衣已核批列表"  @click="showTable('样衣已核批列表')" name="second">
+				<el-table ref="multipleTable"  :row-style="{ height: '20px' }"
+							:cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
+							:header-cell-style="{ padding: '0px' }"
+							highlight-current-row="true"
+							 @row-click="yyyp_clickybupdate"
+                        	 @row-dblclick="yyyp_clickybupdate"
+							style="width: 100%;height: 65vh" border  :data="tableData2" row-key="ID" >
+						<el-table-column  sortable align="center" label="序号" prop="序号"  width="80" />
+						<el-table-column  sortable align="center" label="订单子编号" prop="订单子编号"  width="120" />
+						<el-table-column  sortable align="center" label="颜色名称" prop="颜色名称"  width="120" />
+						<el-table-column  sortable align="center" label="生产款号" prop="生产款号"  width="120" />
+						<el-table-column  sortable align="center" label="客户" prop="客户"  width="100" />
+						<el-table-column  sortable align="center" label="船样" prop="船样"  width="90" />
+						<el-table-column  sortable align="center" label="S" prop="S"  width="80" />
+						<el-table-column  sortable align="center" label="M" prop="M"  width="80" />
+						<el-table-column  sortable align="center" label="L" prop="L"  width="80" />
+						<el-table-column  sortable align="center" label="XL" prop="XL"  width="80" />
+						<el-table-column  sortable align="center" label="XXL" prop="XXL"  width="80" />
+						<el-table-column  sortable align="center" label="制单总数" prop="制单总数"  width="120" />
+						<el-table-column  sortable align="center" label="建档用户" prop="建档用户"  width="120" />
+						<el-table-column  sortable align="center" label="建档日期" prop="建档日期"  width="120" />
+						<el-table-column  sortable align="center" label="更新时间" prop="更新时间"  width="120" />
+						<el-table-column  sortable align="center" label="核批人" prop="核批人"  width="100" />
+						<el-table-column  sortable align="center" label="核批日期" prop="核批日期"  width="120" />
+					</el-table>
+              </el-tab-pane>
+            </el-tabs>
+
+  
+			  <!-- 分页 -->
+			  <div class="gva-pagination">
+				<el-pagination layout="total" :current-page="page" :page-size="pageSize"
+				 :total="total" @current-change="handleCurrentChange" @size-change="handleSizeChange" />
+  <!--              <el-pagination layout="total, sizes, prev, pager, next, jumper" :current-page="page" :page-size="pageSize" :page-sizes="[10, 30, 50, 100]"-->
+  <!--                             :total="total" @current-change="handleCurrentChange" @size-change="handleSizeChange" />-->
+			  </div>
+			</div>
+  
+		  </el-main>
+		</layout-content>
+		</layout>
+	  </layout>
+	</div>
+  </template>
+  <script>
+  //点击按钮显示下方表格
+  export default {
+	data() {
+	  return {
+		currentTable: '', // 当前展示的表格
+		activeName: 'first',
+	  };
+	},
+	methods: {
+	  showTable(tableName) {
+		this.currentTable = tableName;
+	  },
+	}
+  };
+  </script>
+  <script setup>
+  // 全量引入格式化工具 请按需保留
+  import { Layout, LayoutSider, LayoutContent } from '@arco-design/web-vue';
+  import {ref, reactive} from 'vue'
+  import {jcgetTab,workOrderDetail,getOrderProcessCount,PrintDetailList} from '@/api/yunyin/yunying'
+  import PrintPage from './components/print.vue'
+  import {ElMessage} from "element-plus";
+  defineOptions({name: 'Company'})
+
+  // =========== 获取左侧树侧形结构 ===========
+  const treeData = ref({})
+  const _department_code = ref(null)
+  const getDepartmentdata = async () => {
+	try {
+	  const data = 
+		[{
+		label : '客户编号',
+		children : [
+		{label : 'DC-1'},
+		{label : 'DC-2'},
+		{label : 'DC-3'},
+		{label : 'DC-4'},
+		{label : 'DC-5'},
+		{label : 'DC-6'},
+		{label : 'DC-7'},
+		{label : 'DC-8'},
+		{label : 'DC-9'},
+		{label : 'DC-10'},
+		{label : 'DC-11'},
+		{label : 'DC-12'},
+		{label : 'DC-13'},
+		{label : 'DC-14'},
+		{label : 'DC-15'}
+	  ]
+	  }];
+	  treeData.value = data
+	} catch (error) {
+	  console.error(error)
+	}
+  }
+  getDepartmentdata();
+
+//全局调用左侧菜单编号
+const _code = ref(null);  
+//全局调用工单编号
+const _Gd_gdbh = ref(null)
+//全局调用印件代号
+const _Gd_cpdh = ref(null)
+
+const tableData1 = reactive([]);
+const tableData2 = reactive([]);
+ //点击左侧树形 获取右侧table列表
+const handleNodeClick = async (node) => {
+	// 取消所有节点的颜色
+	const allNodes = document.querySelectorAll('.treecolor .el-tree-node');
+	allNodes.forEach(node => {
+		node.querySelector('.el-tree-node__label').style.color = '';
+	});
+	// 获取点击的节点
+	const clickedNodeId = node['$treeNodeId'];
+	const clickedNode = document.querySelector(`.treecolor .el-tree-node[data-key="${clickedNodeId}"]`);
+	if (clickedNode) {
+		// 给当前点击的节点改变颜色
+		clickedNode.querySelector('.el-tree-node__label').style.color = 'red';
+	}
+	searchInfo.value = '';  // 清空搜索信息
+
+	if(node.label === '客户编号'){
+		console.log(node.label)
+	}else{
+		console.log(node.label)
+		const workOrderDetaildata1 = [
+		{
+			'序号':'1',
+			'订单子编号':'XXX001-船',
+			'颜色名称':'黑色',
+			'生产款号':'2403-1622款',
+			'客户':'DC-7',
+			'船样':'否',
+			'S':'/',
+			'M':'2',
+			'L':'/',
+			'XL':'2',
+			'XXL':'/',
+			'制单总数':'4',
+			'建档用户':'xxx',
+			'建档日期':'',
+			'更新时间':'',
+			'核批人':'/',
+			'核批日期':'/',
+		},
+		];
+		const workOrderDetaildata2 = [
+			{
+				'序号':'1',
+				'订单子编号':'XXX001-船',
+				'颜色名称':'黑色',
+				'生产款号':'2403-1622款',
+				'客户':'DC-7',
+				'船样':'否',
+				'S':'/',
+				'M':'2',
+				'L':'/',
+				'XL':'2',
+				'XXL':'/',
+				'制单总数':'4',
+				'建档用户':'xxx',
+				'建档日期':'',
+				'更新时间':'',
+				'核批人':'/',
+				'核批日期':'/',
+			},
+		];
+		// console.log(workOrderDetaildata1)
+		// console.log(workOrderDetaildata2)
+		tableData1.splice(0,tableData1.length,...workOrderDetaildata1);
+		tableData2.splice(0,tableData2.length,...workOrderDetaildata2);
+	}
+	
+};
+
+
+// =========== 表格 ===========
+//单机样衣待核批列表
+const yydp_clickybupdate = async (row) => {
+
+};
+
+//双击样衣待核批列表
+const yydp_updateCompanyFunc = async (row) => {
+	
+};
+
+//单机样衣已核批列表
+const yyyp_clickybupdate = async (row) => {
+
+};
+
+//双击样衣已核批列表
+const yyyp_updateCompanyFunc = async (row) => {
+
+};
+  
+  
+
+  
+
+// =========== 按钮 ===========
+// 搜索默认为空
+const searchInfo = ref('')
+//点击【查询】按钮
+const onSubmit = () => {
+
+};
+const hptg_onClick = () => {
+
+};
+
+
+
+ 
+
+
+
+ 
+  // 分页相关的响应式变量
+  const page = ref(1)
+  const total = ref(0)
+  const pageSize = ref(10)
+  // 分页
+  const handleCurrentChange = (val) => {
+	page.value = val;
+	_getStaffList();
+  };
+  
+  // 修改页面容量 点击多少条/页
+  const handleSizeChange = (val) => {
+	page.value = 10;//默认显示
+	pageSize.value = val;
+	_getStaffList();
+  };
+  // 弹窗控制标记
+  const dialogFormVisible = ref(false)
+  //修改
+  const formDataTest = ref({})
+  </script>
+  <style scoped>
+/* 选中某行时的背景色 */
+:deep(.el-table__body tr.current-row) > td {
+  background: #ff80ff !important;
+}
+
+  .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;
+	}
+  }
+  .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;
+  }
+  /* 图片上传 */
+  .upload-box {
+	width: 200px;
+	height: 200px;
+	border: 2px dashed #e2e2e2;
+	display: flex;
+	justify-content: center;
+	align-items: center;
+	position: relative;
+	cursor: pointer;
+  }
+  .uploaded-image {
+	width: 100%;
+	height: 100%;
+	object-fit: cover;
+  }
+  .upload-icon {
+	font-size: 40px;
+	color: #c0c4cc;
+  }
+  .file-input {
+	display: none;
+  }
+  .el-table .warning-row {
+	background: oldlace;
+  }
+  /* 选中某行时的背景色 */
+  :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>
+  

+ 46 - 265
src/view/yunyin/shengchanguanli/shebeiyunxing.vue → src/view/yunyin/shengchanguanli/yuedudahuoshengchanjindu.vue

@@ -8,70 +8,11 @@
 			  <el-form-item>
 				<el-input v-model="searchInfo" placeholder="搜索工单编号" clearable style="width: 200px;margin: 5px"></el-input>
 				<el-button type="primary" icon="search" @click="onSubmit" style="margin: 5px">查询</el-button>
-				<!-- <el-button type="primary" icon="edit"   @click="gd_gxcltjonClick"  class="bt" title="工序产量核查">工序产量统计</el-button> -->
-				<el-button type="primary" icon="edit"   @click="cp_gdprintonClick" class="bt" title="打印生产工单" >工单打印</el-button>
-				<el-button type="primary" title="设置工单的状态-->【计划中】 【生产中】 【已完成】" icon="edit" @click="onStatusClick" class="bt">工单状态设置</el-button>
-				<el-button type="primary" icon="edit"   @click="gd_gxclhconClick"  class="bt" title="工序产量核查">工序产量核查</el-button>
+				<el-button type="primary" icon="edit"   @click="gd_gxclhconClick"  class="bt" title="修改">修改</el-button>
 			  </el-form-item>
 			</el-form>
-			
-			<!-- 状态设置【弹窗】-->
-			 <el-dialog v-model="onstatuslist" title="工单状态设置" width="30%" style="top: 15%">
-			   <div style="width: 100%;height: 100%;">
-				 <div style="width: 100%; display: flex; align-items: center;">
-				   <el-form-item label="工单编号 :" prop="currentProcess">
-					 <el-input v-model="statusformData['gdbh']" placeholder="" />
-				   </el-form-item>
-				 </div>
-				 <div style="width: 100%; display: flex; align-items: center; margin-top: 30px;">
-				   <span>状态设置:</span>
-				   <el-radio-group v-model="status" style="margin-left: 10px;">
-					 <el-radio label="计划中">计划中</el-radio>
-					 <el-radio label="生产中">生产中</el-radio>
-					 <el-radio label="已完工">已完工</el-radio>
-				   </el-radio-group>
-				 </div>
-				 <div class="dialog-footer" style="text-align: right; margin-top: 40px;">
-				   <el-button @click="handleCancel">取消</el-button>
-				   <el-button type="primary"  @click="handleConfirm">确认</el-button>
-				 </div>
-			   </div>
-			 </el-dialog>
-  
-		   <!--工序产量核查【弹窗】-->
-			<el-dialog v-model="gd_gxclhclist" title="工序产量核查" style="width: 100%;height: 100%;margin: 0px;padding: 0px">
-			  <el-button type="" @click="gxclhcCancel">退出</el-button>
-			  <div style="width: 100%; height: 60px; padding: 0px; margin: 10px 0px 0px 0px; display: flex; align-items: center;">
-				<div style="width: 100%; height: 60px; padding: 0px;  display: flex; align-items: center;">
-				  <el-form-item label="工单编号" prop="currentProcess" style="margin-right: 20px; padding: 20px 0 0 0 ">
-					<el-input v-model="gxclhcformData['gdbh']"  @keyup.enter="gxclhcProductValue"  />
-				  </el-form-item> 
-				  印件选择:
-				  <el-select v-model="gdwhformData.yjno" placeholder="请选择" allow-create filterable style="width: 100px;margin-right: 20px; padding: 0px;">
-					<el-option v-for="option in gdwhformData.yinjian" @click="ongdwhfanclick" :key="option" :label="option" :value="option" />
-				  </el-select>
-				  <el-input v-model="inputCpmc" readonly style="width: 50vw; margin-right: 0px;" />
-				</div>
-			  </div>
-			  <el-table ref="paichengRef"
-						:show-overflow-tooltip="true"
-						:row-style="{ height: '0px' }"
-						:cell-style="{ padding: '0px' }" :header-row-style="{ height: '0px' }"
-						:header-cell-style="{ padding: '0px' }"
-						style="width: 100%;height: 70vh" border tooltip-effect="dark"
-						highlight-current-row="true"
-						@row-click="gxclhc_tableRowClick"
-						:data="gxclhc_Data" row-key="ID"
-						:cell-class-name="gxclhcCellClass">
-				<template v-for="(item, idx) in gxclhc_Columns">
-				  <el-table-column #default="{ row, column, $index }" align="left" :label="item.label" :width="item.width" >
-					{{row[item.prop]}}
-				  </el-table-column>
-				</template>
-			  </el-table>
-			</el-dialog>
-  
 		  </div>
+
 		</layout-header>
   
 		<layout>
@@ -95,7 +36,7 @@
 						:cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
 						:data="tableData"  border row-key="ID"
 						size="small"
-								  :cell-class-name="gxbgCellClass"
+						:cell-class-name="gxbgCellClass"
 						highlight-current-row="true" @row-dblclick="updateCompanyFunc"
 						@row-click="tableRowClick" :show-overflow-tooltip="true"
 						@selection-change="handleSelectionChange">
@@ -136,8 +77,6 @@
 		</layout-content>
 		</layout>
 	  </layout>
-	  <!-- 工单打印 -->
-	  <PrintPage ref="printPageRef" />
 	</div>
   </template>
   <script setup>
@@ -219,187 +158,6 @@
   };
   
   
-  //===========工单状态设置按钮=======
-  const onstatuslist = ref(false);
-  const statusformData = reactive({gdbh: '',});
-  const status = ref('计划中'); // 默认选择
-  const onStatusClick = () => {
-	if(_Gd_gdbh.value === null || _Gd_gdbh.value === ''){
-	  onstatuslist.value = false;
-	  ElMessage({
-		type: 'warning',
-		message: '请选择树形后,再操作此功能'
-	  })
-	}else{
-	  statusformData['gdbh'] = _Gd_gdbh.value;
-	  onstatuslist.value = true;
-	}
-  };
-  //工单状态设置【放弃按钮】
-  const handleCancel = () => {
-	onstatuslist.value = false;
-  };
-  //工单状态设置【执行按钮】
-  const handleConfirm = async () => {
-	//工单编号
-	let workOrder = statusformData['gdbh'];
-	//状态
-	let statusCode;
-	if (status.value === '计划中') {
-	  statusCode = "3-计划中";
-	} else if (status.value === '生产中') {
-	  statusCode = "2-生产中";
-	}else if (status.value === '已完工') {
-	  statusCode = "1-已完工";
-	}
-	const StatusEditdata = await StatusEdit({workOrder:workOrder,status:statusCode});
-	if (StatusEditdata.code === 0) {
-	  ElMessage({type: 'success',message: '更新成功'})
-	} else {
-	  ElMessage({type: 'error',message: '更新失败'})
-	}
-	onstatuslist.value = false;
-  };
-  
-  //=========工单打印===========
-  const printPageRef = ref()
-  const cp_gdprintonClick = () => {
-	printPageRef.value.open(_Gd_gdbh.value)
-  }
-  
-  //=========工序产量核查===========
-  const gd_gxclhclist = ref(false);
-  const gxclhc_Data = ref([]);
-  const gxclhc_Columns = ref(
-	  [
-		{ label: '印件及工序名称', prop: 'concatenatedData', width: '380' },
-		// { label: '印件', prop: 'Gy0_yjno', width: '130' },
-		// { label: '工序', prop: 'Gy0_gxh', width: '130' },
-		// { label: '名称', prop: 'Gy0_gxmc', width: '130' },
-		{ label: '工序计划产量', prop: 'Gy0_计划接货数', width: '120' },
-		{ label: '联数', prop: 'Gy0_ls', width: '70' },
-		{ label: '折算车头产量', prop: '折算车头产量', width: '120' },
-		{ label: '实际上报产量', prop: 'sczl_cl', width: '120' },
-		{ label: '制程废品', prop: 'sczl_zcfp', width: '120' },
-		{ label: '制程废品率', prop: '制程废品率', width: '120' },
-		{ label: '来料异常', prop: '来料异常', width: '90' },
-		{ label: '流程单数', prop: 'process_num', width: '90' },
-		{ label: '当前设备', prop: 'Gy0_sbbh', width: '120' },
-		{ label: '工序状态', prop: 'PD_WG', width: '90'},
-		{ label: '首板生产日期', prop: 'sczl_rq', width: '160' },
-	  ]
-  )
-  const gxclhcformData = reactive({
-	gdbh: '',
-	gdmc: '',
-  });
-  const gdwhformData = reactive({
-	// 下拉框选项数据
-	yinjian: [],
-	// 设置默认值
-	yjno: '',
-  });
-  const inputCpmc = ref('')
-  // 工序产量核查按钮
-  const gd_gxclhconClick = async () => {
-	if(_Gd_gdbh.value === '' || _Gd_gdbh.value === null){
-	  ElMessage({type: 'warning',message: '请选择具体的工单,在进行操作'})
-	  return false;
-	}
-	gxclhcformData['gdbh'] = _Gd_gdbh.value;
-	gxclhcformData['yjno'] = 1;
-	gd_gxclhclist.value = true;
-	const response = await PrintDetailList ({workOrder:_Gd_gdbh.value});
-	console.log(response)
-	gdwhformData.yjno = response.data[0].no
-	inputCpmc.value = response.data[0].name
-	if (response.code === 0) {
-		const noFields = response.data.map(item => item.no);
-		gdwhformData.yinjian = noFields
-	  } else {
-		console.error('查询失败:', response.msg);
-	  }
-	_getOrderProcessCount();
-  };
-  
-  //点击印件下拉框
-  const ongdwhfanclick = async() => {
-	_PrintDetailList();
-	_getOrderProcessCount();
-  }
-  
-  //工序产量核查回车
-  const gxclhcProductValue = async () => {
-	  console.log("工序产量核查回车")
-	_getOrderProcessCount();
-	_PrintDetailList();
-  }
-  
-  //工序产量核查退出
-  const gxclhcCancel = async () => {
-	gd_gxclhclist.value = false;
-  };
-  
-  //印件编号获取方法接口
-  const _PrintDetailList = async () => {
-	const order = gxclhcformData['gdbh'];
-	const response = await PrintDetailList ({workOrder:order});
-	const matchingItem = response.data.find(item => item.no === gdwhformData.yjno);
-	  if (matchingItem) {
-		  console.log(matchingItem.name)
-		  inputCpmc.value = matchingItem.name;
-	  } else {
-		  console.log(`No matching item found for no: ${gdwhformData.yjno}`);
-	  }
-  }
-  
-  //工序产量核查方法接口
-  const _getOrderProcessCount = async () => {
-	const order = gxclhcformData['gdbh'];
-	const yjno = gdwhformData.yjno;
-	const getOrderProcessCount_list = await getOrderProcessCount({order:order,yjno:yjno});
-	const concatenatedData = getOrderProcessCount_list.data.map(item => {
-	  // 优化后的代码,使用模板字符串连接字段值并在单个数字前添加零
-	  const formattedYjno = item.Gy0_yjno.length === 1 ? `0${item.Gy0_yjno}` : item.Gy0_yjno;
-	  const formattedGxh = item.Gy0_gxh.length === 1 ? `0${item.Gy0_gxh}` : item.Gy0_gxh;
-	  const concatenatedValue = `${formattedYjno}-${formattedGxh} ${item.Gy0_gxmc} 【${item.Add_gxmc} 】`;
-	  return {
-		...item,
-		concatenatedData: concatenatedValue, // 使用新属性名
-	  };
-	});
-	gxclhc_Data.value = concatenatedData;
-  };
-  
-  //工序产量核查
-  const gxclhcCellClass = ({row, column, rowIndex, columnIndex}) =>{
-	if (column.label === '实际上报产量' ||column.label === '制程废品'  || column.label === '制程废品率' ||
-		column.label === '来料异常' || column.label === '流程单数' || column.label === '当前设备') {
-	  return 'lan-plan-usage-lows';
-	}
-	if (column.label === '折算车头产量') {
-	  return 'gxclhc—color-column-red';
-	}
-	// 如果不是 'PD_WG' 列,返回空字符串或其他样式类
-	if (column.label === '工序状态'){
-	  if(row['PD_WG'] === '完工'){
-		return 'lan-plan-usage-lowshui';
-	  }else{
-		return 'pczccolor-column-lan';
-	  }
-	}
-  }
-  // 表格数据
-  const gxbgCellClass = ({row, column, rowIndex, columnIndex}) =>{
-	  // console.log(row)
-   for (let i = 1; i <= 17; i++) {
-	  const key = `工序${i}`;
-	  if (row[key] && row[key].includes('完工') && columnIndex === i + 5) {
-		return 'hui-plan-usage-lows';
-	  }
-	}
-	return 'lan-plan-usage-lows';  
-  }
   
   
   // 搜索默认为空
@@ -423,26 +181,49 @@
 		  '序号':'1',
 		  '款式':'小香风外套',
 		  '客户编号':'DC-4',
-		  '下单日期':'DC-7',
-		  '客户确认货期':'90',
-		  '款号':'已出库',
-		  '生产组别':'95',
-		  '订单数量':'45',
-		  '实裁数量':'30',
-		  '已完成数量':'20',
-		  '入库数量':'20',
-		  '面料入库时间':'20',
-		  '辅料入库时间':'已出库',
-		  '产前样批核':'已出库',
-		  '大货制单':'已出库',
-		  '工装模板款号':'已出库',
-		  '开裁日期':'已出库',
-		  '上车位时间':'已出库',
-		  '台产':'已出库',
-		  '车位完成时间':'已出库',
-		  '后道完成时间':'已出库',
-		  '备注':'已出库',
-
+		  '下单日期':'3月7日',
+		  '客户确认货期':'7月2日',
+		  '款号':'2155758',
+		  '生产组别':'4组',
+		  '订单数量':'1912',
+		  '实裁数量':'',
+		  '已完成数量':'1958',
+		  '入库数量':'1957',
+		  '面料入库时间':'5月3日',
+		  '辅料入库时间':'5月4日',
+		  '产前样批核':'5月9日',
+		  '大货制单':'',
+		  '工装模板款号':'',
+		  '开裁日期':'',
+		  '上车位时间':'',
+		  '台产':'',
+		  '车位完成时间':'6月27日',
+		  '后道完成时间':'7月10日',
+		  '备注':'',
+		},
+		{
+		  '序号':'2',
+		  '款式':'小香风外套',
+		  '客户编号':'DC-4',
+		  '下单日期':'3月7日',
+		  '客户确认货期':'7月2日',
+		  '款号':'2155758',
+		  '生产组别':'9组',
+		  '订单数量':'2051',
+		  '实裁数量':'',
+		  '已完成数量':'2095',
+		  '入库数量':'2094',
+		  '面料入库时间':'5月3日',
+		  '辅料入库时间':'5月4日',
+		  '产前样批核':'5月9日',
+		  '大货制单':'',
+		  '工装模板款号':'',
+		  '开裁日期':'',
+		  '上车位时间':'',
+		  '台产':'',
+		  '车位完成时间':'7月1日',
+		  '后道完成时间':'7月10日',
+		  '备注':'',
 		},
 	];