Browse Source

Merge branch 'master' of https://git.7in6.com/Minong/mes-admin-backend-ui

tty 1 year ago
parent
commit
47b91ffe67

+ 32 - 0
src/api/jixiaoguanli/jitairibaobiao.js

@@ -117,4 +117,36 @@ export const edit = (params) => {
 }
 
 
+export const del = (params) => {
+  return service({
+    url:'/mes_server/packaging_process_output/del',
+    method: 'post',
+    params
+  })
+}
+
+
+export const machineLocate = (params) => {
+  return service({
+    url:'/mes_server/inspect/machineLocate',
+    method: 'get',
+    params
+  })
+}
 
+export const MachineInfo = (params) => {
+  return service({
+    url:'/mes_server/inspect/getMachineInfo',
+    method: 'get',
+    params
+  })
+}
+
+
+export const getYg = (params) => {
+  return service({
+    url:'/mes_server/packaging_count_document/getYg',
+    method: 'get',
+    params
+  })
+}

+ 22 - 0
src/api/mes/job.js

@@ -148,3 +148,25 @@ export const editAllParams = (data) => {
     data
   })
 }
+
+export const dictionaryTab = (params) => {
+  return service({
+    url: '/mes_server/dictionary/getTab',
+    method: 'get',
+    params
+  })
+}
+export const dictionaryList = (params) => {
+  return service({
+    url: '/mes_server/dictionary/getEditList',
+    method: 'get',
+    params
+  })
+}
+export const dictionaryEdit = (data) => {
+  return service({
+    url: '/mes_server/dictionary/edit',
+    method: 'post',
+    data
+  })
+}

+ 72 - 8
src/api/yunyin/yunying.js

@@ -82,29 +82,53 @@ export const setProductStatus = (data) => {
         data
     })
 }
-//工艺方案更名
+//8.1获取产品工艺数量
+export const getGyTotal = (data) => {
+    return service({
+        url: '/mes_serve/product/getGyTotal',
+        method: 'get',
+        data
+    })
+}
+//9.工艺方案更名
 export const editGyName = (data) => {
     return service({
         url: '/mes_server/product/editGyName',
-        method: 'get',
+        method: 'post',
         data
     })
 }
-//8.1获取产品工艺数量
-export const getGyTotal = (data) => {
+//10.工艺方案附加
+export const editGyNo = (data) => {
     return service({
-        url: '/mes_serve/product/getGyTotal',
-        method: 'get',
+        url: '/mes_serve/product/editGyNo',
+        method: 'post',
+        data
+    })
+}
+//11.计损色数修正
+export const editGyMs = (data) => {
+    return service({
+        url: '/mes_serve/product/editGyMs',
+        method: 'post',
+        data
+    })
+}
+//12.质检废品系数
+export const editGyWaste = (data) => {
+    return service({
+        url: '/mes_serve/product/editGyWaste',
+        method: 'post',
         data
     })
 }
 /** 生产管理 工单资料管理*/
 // 1.工单资料菜单列表
-export const DataList = (data) => {
+export const DataList = (params) => {
     return service({
         url: '/mes_server/work_order/DataList',
         method: 'get',
-        data
+        params
     })
 }
 // 工单资料
@@ -140,6 +164,46 @@ export const Bom = (params) => {
     })
 }
 
+//工单查改->获取工单信息
+export const DataCorrection = (params) => {
+    return service({
+        url: '/mes_server/work_order/DataCorrection',
+        method: 'get',
+        params
+    })
+}
+
+
+//工单差改->修改工单信息
+export const WorkOrderEdit = (params) => {
+    return service({
+        url: '/mes_server/work_order/WorkOrderEdit',
+        method: 'get',
+        params
+    })
+}
+
+
+//引用产品资料->获取产品资料
+export const ProductInformation = (params) => {
+    return service({
+        url: '/mes_server/work_order/ProductInformation',
+        method: 'get',
+        params
+    })
+}
+
+
+//引用产品资料->修改产品资料
+export const ProductInformationEdit = (params) => {
+    return service({
+        url: '/mes_server/work_order/ProductInformationEdit',
+        method: 'post',
+        params
+    })
+}
+
+
 /**工单生产排单(排产管理)*/
 //左侧车间机台菜单
 export const workbench = (data) => {

+ 726 - 0
src/view/job/dictionaries/dictionaries.vue

@@ -0,0 +1,726 @@
+<template>
+  <div>
+    <el-container>
+      <el-aside width="350px">
+        <div class="JKWTree-tree">
+          <h3>计件定额管理</h3>
+          <el-tree :data="treeData" :props="defaultProps" @node-click="handleNodeClick"></el-tree>
+        </div>
+      </el-aside>
+      <el-container>
+        <el-main>
+          <div class="gva-search-box">
+            <!-- <el-form ref="elSearchFormRef" :inline="true" :model="searchInfo" class="demo-form-inline" :rules="searchRule" @keyup.enter="onSubmit">
+              <el-form-item label="创建日期" prop="createdAt">
+                <template #label>
+        <span>
+          创建日期
+          <el-tooltip content="搜索范围是开始日期(包含)至结束日期(不包含)">
+            <el-icon><QuestionFilled /></el-icon>
+          </el-tooltip>
+        </span>
+                </template>
+                <el-date-picker v-model="searchInfo.startCreatedAt" type="datetime" placeholder="开始日期" :disabled-date="time=> searchInfo.endCreatedAt ? time.getTime() > searchInfo.endCreatedAt.getTime() : false"></el-date-picker>
+                —
+                <el-date-picker v-model="searchInfo.endCreatedAt" type="datetime" placeholder="结束日期" :disabled-date="time=> searchInfo.startCreatedAt ? time.getTime() < searchInfo.startCreatedAt.getTime() : false"></el-date-picker>
+              </el-form-item>
+              <el-form-item>
+                <el-button type="primary" icon="search" @click="onSubmit">查询</el-button>
+                <el-button icon="refresh" @click="onReset">重置</el-button>
+              </el-form-item>
+            </el-form> -->
+			<div class="gva-btn-list">
+			  <el-button type="primary" icon="upload" @click="bacthEditClick">定额参数批量修改excel</el-button>
+			  <el-button type="primary" icon="plus" @click="bacthSubmit">更新</el-button>
+			</div>
+          </div>
+          <div class="gva-table-box">
+            <!-- <div class="gva-btn-list">
+			  <el-button type="primary" icon="upload" @click="">导出到excel</el-button>
+			  <el-button type="primary" icon="plus" @click="getDetails(2)">详情</el-button>
+            </div> -->
+            <el-table
+                ref="multipleTable"
+				stripe
+            	border
+                style="width: 100%"
+                tooltip-effect="dark"
+                :data="tableData"
+                row-key="ID"
+                @selection-change="handleSelectionChange"
+            	@row-dblclick="updateCompanyFunc"
+            	:show-overflow-tooltip="true"
+            	highlight-current-row="true"
+            >
+              <el-table-column align="left" label="定额代号" prop="sys_bh" width="120" />
+              <el-table-column align="left" label="名称备注" prop="sys_mc" width="210" />
+              <el-table-column align="left" label="使用工序" prop="use_gx" width="88" />
+			  <el-table-column align="left" label="适用机型" prop="use_machine" width="88" />
+			  <el-table-column fixed="right" v-slot="scope" align="left" label="日定额" width="100" >
+			      <el-input @input="inputClick" v-model="scope.row.daily_quota" :clearable="false"/>
+			  </el-table-column>
+			  <el-table-column fixed="right" v-slot="scope" align="left" label="千件工价" width="100" >
+			      <el-input @input="inputClick" v-model="scope.row.thousand_piece" :clearable="false"/>
+			  </el-table-column>
+			  <el-table-column fixed="right" v-slot="scope" align="left" label="补产标准" width="100" >
+			      <el-input @input="inputClick" v-model="scope.row.production_standard" :clearable="false"/>
+			  </el-table-column>
+			 <!-- <el-table-column align="left" label="原日定额" prop="daily_quota" width="90" />
+			  <el-table-column align="left" label="原千件工价" prop="thousand_piece" width="100" />
+			  <el-table-column align="left" label="原补产标准" prop="production_standard" width="100" /> -->
+			 <!-- <el-table-column fixed="right" v-slot="scope" align="left" label="新日定额" width="100" >
+			      <el-input @input="inputClick" v-model="scope.row.daily_quota" :clearable="false"/>
+			  </el-table-column>
+			  <el-table-column fixed="right" v-slot="scope" align="left" label="新千件工价" width="100" >
+			      <el-input @input="inputClick" v-model="scope.row.thousand_piece" :clearable="false"/>
+			  </el-table-column>
+			  <el-table-column fixed="right" v-slot="scope" align="left" label="新补产标准" width="100" >
+			      <el-input @input="inputClick" v-model="scope.row.production_standard" :clearable="false"/>
+			  </el-table-column> -->
+			  <!-- <el-table-column v-slot="scope" align="left" label="新补产标准" width="100">
+				  	<el-form-item :prop="'tableData.'+scope.row+'.production_standard'">
+				  		<el-input v-model="scope.row.production_standard" :clearable="true"/>
+				  	</el-form-item>
+              </el-table-column> -->
+			  <el-table-column v-slot="scope" v-if="false" align="left" label="UniqId" width="100" >
+			      <el-input v-model="scope.row.UniqId" :clearable="false"/>
+			  </el-table-column>
+            </el-table>
+            <!-- <div class="gva-pagination">
+              <el-pagination
+                  layout="total, sizes, prev, pager, next, jumper"
+                  :current-page="page"
+                  :page-size="pageSize"
+                  :page-sizes="[10, 30, 50, 100]"
+                  :total="total"
+                  @current-change="handleCurrentChange"
+                  @size-change="handleSizeChange"
+				  :row-style="{ height: '20px' }"
+				  :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
+				  :header-cell-style="{ padding: '0px' }"
+              />
+            </div> -->
+          </div>
+          <el-dialog v-model="dialogFormVisible" :before-close="closeDialog" :title="type==='create'?'添加':'修改'" destroy-on-close>
+            <el-scrollbar height="500px">
+              <el-form :model="formData" label-position="right" ref="elFormRef" :rules="rule" label-width="80px">
+                <el-form-item label="address字段:"  prop="address" >
+                  <el-input v-model="formData.address" :clearable="true"  placeholder="请输入address字段" />
+                </el-form-item>
+                <el-form-item label="image字段:"  prop="image" >
+                  <el-input v-model="formData.image" :clearable="true"  placeholder="请输入image字段" />
+                </el-form-item>
+                <el-form-item label="name字段:"  prop="name" >
+                  <el-input v-model="formData.name" :clearable="true"  placeholder="请输入name字段" />
+                </el-form-item>
+              </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="detailShow" style="width: 800px" lock-scroll :before-close="closeDetailShow" :title="`当前编码:${pieceData.sys_bh}`" destroy-on-close>
+            <el-scrollbar height="300px">
+              <el-descriptions column="1" border>
+                <el-descriptions-item label="编号">
+                  {{ pieceData.sys_bh }}
+                </el-descriptions-item>
+                <el-descriptions-item label="名称">
+                  {{ pieceData.sys_mc }}
+                </el-descriptions-item>
+                <el-descriptions-item label="适用工序">
+                  {{ pieceData.sygx }}
+                </el-descriptions-item>
+				<el-descriptions-item label="适用机型">
+				  {{ pieceData.syjx }}
+				</el-descriptions-item>
+              </el-descriptions>
+			  <el-descriptions column="3" border>
+			  	<el-descriptions-item label="日定额">
+			  	  {{ pieceData.daily_quota }}
+			  	</el-descriptions-item>
+				<el-descriptions-item label="千件工价">
+				  {{ pieceData.thousand_piece }}
+				</el-descriptions-item>
+				<el-descriptions-item label="小时补产标准">
+				  {{ pieceData.production_standard }}
+				</el-descriptions-item>
+			  </el-descriptions>
+			  <el-descriptions column="10" direction="vertical" border>
+			    <el-descriptions-item label="机长">
+			      {{ pieceData.fir_proportion }}
+			    </el-descriptions-item>
+			    <el-descriptions-item label="副机">
+			      {{ pieceData.sec_proportion }}
+			    </el-descriptions-item>
+			    <el-descriptions-item label="调墨">
+			      {{ pieceData.ink_proportion }}
+			    </el-descriptions-item>
+			  	<el-descriptions-item label="二手">
+			  	  {{ pieceData.second_hand_proportion }}
+			  	</el-descriptions-item>
+			  	<el-descriptions-item label="飞达">
+			  	  {{ pieceData.feeder_proportion }}
+			  	</el-descriptions-item>
+				<el-descriptions-item label="辅助">
+				  {{ pieceData.auxiliary_proportion }}
+				</el-descriptions-item>
+				<el-descriptions-item label="放卷">
+				  {{ pieceData.unwinder_proportion }}
+				</el-descriptions-item>
+				<el-descriptions-item label="分切1">
+				  {{ pieceData.cutting_one_proportion }}
+				</el-descriptions-item>
+				<el-descriptions-item label="分切2">
+				  {{ pieceData.cutting_two_proportion }}
+				</el-descriptions-item>
+				<el-descriptions-item label="检验">
+				  {{ pieceData.inspect_proportion }}
+				</el-descriptions-item>
+			  </el-descriptions>
+            </el-scrollbar>
+          </el-dialog>
+        </el-main>
+      </el-container>
+    </el-container>
+  </div>
+</template>
+
+<script setup>
+import {
+  dictionaryTab,
+  dictionaryList,
+  dictionaryEdit,
+  getOnePieceWork,
+  getPieceWork,
+  getPieceParams,
+  editAllParams
+} from '@/api/mes/job'
+import {
+  createCompany,
+  deleteCompany,
+  deleteCompanyByIds,
+  updateCompany,
+  findCompany,
+  getCompanyList
+} from '@/api/company'
+
+// 全量引入格式化工具 请按需保留
+import { getDictFunc, formatDate, formatBoolean, filterDict, ReturnArrImg, onDownloadFile } from '@/utils/format'
+import { ElMessage, ElMessageBox } from 'element-plus'
+import { ref, reactive } from 'vue'
+
+defineOptions({
+    name: 'Company'
+})
+
+// const process_data = async(data) => {
+// 	tree_data = []
+// 	for(key, values in data.items()){
+// 		node = {
+// 		    'label': key,
+// 		    'children': []
+// 		}
+// 		if(isinstance(values, dict)){
+// 			for(sub_key, sub_values in values.items()){
+// 				if(isinstance(sub_values, list)){
+// 					children = list(filter(None, sub_values))
+// 					if(children){
+// 						node_children = {
+// 						    'label': sub_key,
+// 						    'children': [{'label': child} for child in children]
+// 						}
+// 						node['children'].append(node_children)
+// 					}else if(isinstance(sub_values, dict)){
+// 						grandchildren = process_data(sub_values)
+// 						if(grandchildren){
+// 							node_children = {
+// 							    'label': sub_key,
+// 							    'children': grandchildren
+// 							}
+// 							node['children'].append(node_children)
+// 						}
+// 					}
+// 					tree_data.append(node)
+// 				}
+// 			}
+// 		}
+// 	}
+// }
+var mzstr = ''
+var mzarr=[]
+var gystr = ''
+var gyarr=[]
+var fpstr = ''
+var fparr=[]
+var gzstr = ''
+var gzarr=[]
+var jbstr = ''
+var jbarr=[]
+var xlstr = ''
+var xlarr=[]
+const treeData=ref([])
+const treeTab = async() => {
+  const dictionaryTabs = await dictionaryTab()
+  if (dictionaryTabs.code === 0) {
+	  for(let key in dictionaryTabs.data.民族){
+		  mzstr+=key+','
+	  }
+	  mzstr=mzstr.substring(0,mzstr.length-1)
+	  mzarr=mzstr.split(',')
+	  const 民族=mzarr.map(item=>({
+		  label:item,
+		  cate:`民族`
+	  }))
+	   
+	   for(let key in dictionaryTabs.data.标准工艺){
+	   		  gystr+=key+'-'
+			  for(let keys in dictionaryTabs.data.标准工艺[key]){
+				  gystr+=dictionaryTabs.data.标准工艺[key][keys]+'-'
+			  }
+			  gystr+=','
+	   }
+	   gystr=gystr.substring(0,gystr.length-1)
+	   gyarr=gystr.split(',')
+	    const 标准工艺=gyarr.map(item=>({
+	    		  label:item.substring(0,gystr.length-1).split('-')[0],
+	    		  cate:`标准工艺`,
+	   			  children:item.substring(0,gystr.length-1).split('-').splice(1,item.substring(0,gystr.length-1).split('-').length-2).map(items=>({
+	   		   label:items,
+			   cate:`标准工艺`,
+	    }))
+	    }))
+		
+		for(let key in dictionaryTabs.data.废品分类){
+				  fpstr+=key+'+'
+					  for(let keys in dictionaryTabs.data.废品分类[key]){
+						  fpstr+=dictionaryTabs.data.废品分类[key][keys]+'+'
+					  }
+					  fpstr+=','
+		}
+		fpstr=fpstr.substring(0,fpstr.length-1)
+		fparr=fpstr.split(',')
+		 const 废品分类=fparr.map(item=>({
+		 		  label:item.substring(0,fpstr.length-1).split('+')[0],
+		 		  cate:`废品分类`,
+					  children:item.substring(0,fpstr.length-1).split('+').splice(1,item.substring(0,fpstr.length-1).split('+').length-2).map(items=>({
+				   label:items,
+					   cate:`废品分类`,
+		 }))
+		 }))
+	   
+	   for(let key in dictionaryTabs.data.工资表){
+	   		  gzstr+=key+','
+	   }
+	   gzstr=gzstr.substring(0,gzstr.length-1)
+	   gzarr=gzstr.split(',')
+	   const 工资表=gzarr.map(item=>({
+	   		  label:item,
+	   		  cate:`工资表`
+	   }))
+	   
+	   for(let key in dictionaryTabs.data.级别){
+	   		  jbstr+=key+','
+	   }
+	   jbstr=jbstr.substring(0,jbstr.length-1)
+	   jbarr=jbstr.split(',')
+	   const 级别=jbarr.map(item=>({
+	   		  label:item,
+	   		  cate:`级别`
+	   }))
+	   
+	   for(let key in dictionaryTabs.data.学历){
+	   		  xlstr+=key+','
+	   }
+	   xlstr=xlstr.substring(0,xlstr.length-1)
+	   xlarr=xlstr.split(',')
+	   const 学历=xlarr.map(item=>({
+	   		  label:item,
+	   		  cate:`学历`
+	   }))
+	  //  console.log(dictionaryTabs.data.标准工艺.外发加工.map(items=>({
+		 //   lable:items
+	  //  })))
+	  
+	  //  const 标准工艺=gyarr.map(item=>({
+	  //  		  lable:item,
+	  //  		  cate:`标准工艺`,
+			//   children:dictionaryTabs.data.标准工艺.item.map(items=>({
+		 //   lable:items
+	  //  }))
+	  //  }))
+	   treeData.value = [
+	   	{
+	   		label: '民族',
+	   		children:民族,
+	   		cate:'民族'
+	   	},
+	   	{
+	   		label: '标准工艺',
+	   		children:标准工艺,
+	   		cate:'标准工艺'
+	   	},
+		{
+			label: '废品分类',
+			children:废品分类,
+			cate:'废品分类'
+		},
+		{
+			label: '工资表',
+			children:工资表,
+			cate:'工资表'
+		},
+		{
+			label: '级别',
+			children:级别,
+			cate:'级别'
+		},
+		{
+			label: '学历',
+			children:学历,
+			cate:'学历'
+		}
+	   ]
+  }
+}
+treeTab()
+const handleNodeClick = (node,check) => {
+  //存放当前节点的nodeId
+  // if (node.paramss) {
+  // 		sys_bh.value = node.paramss.code;
+  // 		getDetails();
+		// return false;
+  // 	}
+  // if (node.params) {
+  // 		sys_bh.value = node.params.code;
+  // 		getDetails();
+  // 	}
+  // if(node.children==null){
+  // 	sys_bh.value = node.params.code;
+  // 	getDetails();
+  // }else{
+  // 	if(node.children.length==0){
+  // 		sys_bh.value = node.params.code;
+  // 		getDetails();
+  // 	}
+  // }
+  if(node){
+	  cate.value=node.cate
+	  search.value=node.label
+  }
+  // console.log(class.value);
+  // console.log(node,check);
+}
+// 自动化生成的字典(可能为空)以及字段
+const formData = ref({
+        address: '',
+        image: '',
+        name: '',
+        })
+
+
+// 验证规则
+const rule = reactive({
+})
+
+const searchRule = reactive({
+  createdAt: [
+    { validator: (rule, value, callback) => {
+      if (searchInfo.value.startCreatedAt && !searchInfo.value.endCreatedAt) {
+        callback(new Error('请填写结束日期'))
+      } else if (!searchInfo.value.startCreatedAt && searchInfo.value.endCreatedAt) {
+        callback(new Error('请填写开始日期'))
+      } else if (searchInfo.value.startCreatedAt && searchInfo.value.endCreatedAt && (searchInfo.value.startCreatedAt.getTime() === searchInfo.value.endCreatedAt.getTime() || searchInfo.value.startCreatedAt.getTime() > searchInfo.value.endCreatedAt.getTime())) {
+        callback(new Error('开始日期应当早于结束日期'))
+      } else {
+        callback()
+      }
+    }, trigger: 'change' }
+  ],
+})
+
+const elFormRef = ref()
+const elSearchFormRef = ref()
+
+// =========== 表格控制部分 ===========
+const page = ref(1)
+const total = ref(0)
+const pageSize = ref(10)
+const tableData = ref([])
+const searchInfo = ref({})
+const sys_bh = ref()
+const cate = ref()
+const search = ref()
+const pieceData = ref([])
+const isSubmit = ref(0)
+
+// 重置
+const onReset = () => {
+  searchInfo.value = {}
+  getTableData()
+}
+
+// 搜索
+const onSubmit = () => {
+  elSearchFormRef.value?.validate(async(valid) => {
+    if (!valid) return
+    page.value = 1
+    pageSize.value = 10
+    getTableData()
+  })
+}
+
+// 分页
+const handleSizeChange = (val) => {
+  pageSize.value = val
+  getTableData()
+}
+
+// 修改页面容量
+const handleCurrentChange = (val) => {
+  page.value = val
+  getTableData()
+}
+
+
+const inputClick = async() => {
+	isSubmit.value=1
+}
+const bacthEditClick = async() => {
+		const dictionaryLists = await dictionaryList({class:cate.value,search:search.value})
+		if (dictionaryLists.code === 0) {
+			tableData.value = dictionaryLists.data
+			isSubmit.value=0
+		}
+}
+const bacthSubmit = async() => {
+	if(isSubmit.value===1){
+		const dictionaryEdits = await dictionaryEdit(tableData.value)
+		if (dictionaryEdits.code === 0) {
+			  ElMessage({
+			          type: 'success',
+			          message: '更新成功'
+			      })
+				  isSubmit.value=0
+		}
+		// console.log(tableData.value)
+	}
+	
+}
+// 查询
+// const getTableData = async() => {
+//   const table = await getCompanyList({ page: page.value, pageSize: pageSize.value, ...searchInfo.value })
+//   if (table.code === 0) {
+//     tableData.value = table.data.list
+//     total.value = table.data.total
+//     page.value = table.data.page
+//     pageSize.value = table.data.pageSize
+//   }
+// }
+
+// getTableData()
+
+// ============== 表格控制部分结束 ===============
+
+// 获取需要的字典 可能为空 按需保留
+const setOptions = async () =>{
+}
+
+// 获取需要的字典 可能为空 按需保留
+setOptions()
+
+
+// 多选数据
+const multipleSelection = ref([])
+// 多选
+const handleSelectionChange = (val) => {
+    multipleSelection.value = val
+}
+
+// 删除行
+const deleteRow = (row) => {
+    ElMessageBox.confirm('确定要删除吗?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+    }).then(() => {
+            deleteCompanyFunc(row)
+        })
+    }
+
+
+// 批量删除控制标记
+const deleteVisible = ref(false)
+
+// 多选删除
+const onDelete = async() => {
+      const ids = []
+      if (multipleSelection.value.length === 0) {
+        ElMessage({
+          type: 'warning',
+          message: '请选择要删除的数据'
+        })
+        return
+      }
+      multipleSelection.value &&
+        multipleSelection.value.map(item => {
+          ids.push(item.ID)
+        })
+      const res = await deleteCompanyByIds({ ids })
+      if (res.code === 0) {
+        ElMessage({
+          type: 'success',
+          message: '删除成功'
+        })
+        if (tableData.value.length === ids.length && page.value > 1) {
+          page.value--
+        }
+        deleteVisible.value = false
+        getTableData()
+      }
+    }
+
+// 行为控制标记(弹窗内部需要增还是改)
+const type = ref('')
+
+// 更新行
+const updateCompanyFunc = async(row) => {
+    // const res = await findCompany({ ID: row.ID })
+    // type.value = 'update'
+    // if (res.code === 0) {
+    //     formData.value = res.data.recompany
+    //     dialogFormVisible.value = true
+    // }
+}
+
+
+// 删除行
+const deleteCompanyFunc = async (row) => {
+    const res = await deleteCompany({ ID: row.ID })
+    if (res.code === 0) {
+        ElMessage({
+                type: 'success',
+                message: '删除成功'
+            })
+            if (tableData.value.length === 1 && page.value > 1) {
+            page.value--
+        }
+        getTableData()
+    }
+}
+
+// 弹窗控制标记
+const dialogFormVisible = ref(false)
+
+
+// 查看详情控制标记
+const detailShow = ref(false)
+
+
+// 打开详情弹窗
+const openDetailShow = () => {
+  detailShow.value = true
+}
+
+
+// 打开详情
+const getDetails = async () => {
+	const getOnePieceWorks = await getOnePieceWork({code:sys_bh.value})
+	if (getOnePieceWorks.code === 0) {
+	  // getProcessLosss.data[0].forEach(function(i,index){
+	  // 	console.log(i)
+	  // })
+	  pieceData.value=getOnePieceWorks.data[0]
+	  openDetailShow()
+	}
+	openDetailShow()
+  // 打开弹窗
+  // const res = await findCompany({ ID: row })
+  // if (res.code === 0) {
+  //   formData.value = res.data.recompany
+  //   openDetailShow()
+  // }
+}
+
+
+// 关闭详情弹窗
+const closeDetailShow = () => {
+  detailShow.value = false
+  formData.value = {
+          address: '',
+          image: '',
+          name: '',
+          }
+}
+
+
+// 打开弹窗
+const openDialog = () => {
+    // type.value = 'create'
+    dialogFormVisible.value = true
+}
+
+// 关闭弹窗
+const closeDialog = () => {
+    dialogFormVisible.value = false
+    formData.value = {
+        address: '',
+        image: '',
+        name: '',
+        }
+}
+// 弹窗确定
+const enterDialog = async () => {
+     elFormRef.value?.validate( async (valid) => {
+             if (!valid) return
+              let res
+              switch (type.value) {
+                case 'create':
+                  res = await createCompany(formData.value)
+                  break
+                case 'update':
+                  res = await updateCompany(formData.value)
+                  break
+                default:
+                  res = await createCompany(formData.value)
+                  break
+              }
+              if (res.code === 0) {
+                ElMessage({
+                  type: 'success',
+                  message: '创建/更改成功'
+                })
+                closeDialog()
+                getTableData()
+              }
+      })
+}
+
+</script>
+
+<style>
+.JKWTree-container {
+  display: flex;
+}
+
+.JKWTree-tree {
+  width: 350px;
+  background-color: #fff;
+  padding: 10px;
+  margin-right: 20px;
+}
+
+.JKWTree-tree h3 {
+  font-size: 15px;
+  font-weight: 700;
+  margin: 10px 0;
+}
+
+.JKWTree-content {
+  flex: 1;
+}
+</style>

+ 87 - 39
src/view/job/piece/piece.vue

@@ -30,8 +30,8 @@
               </el-form-item>
             </el-form> -->
 			<div class="gva-btn-list">
-			  <el-button type="primary" icon="upload" @click="">定额参数批量修改excel</el-button>
-			  <el-button type="primary" icon="plus" @click="">更新</el-button>
+			  <el-button type="primary" icon="upload" @click="bacthEditClick">定额参数批量修改excel</el-button>
+			  <el-button type="primary" icon="plus" @click="bacthSubmit">更新</el-button>
 			</div>
           </div>
           <div class="gva-table-box">
@@ -41,6 +41,7 @@
             </div> -->
             <el-table
                 ref="multipleTable"
+				stripe
             	border
                 style="width: 100%"
                 tooltip-effect="dark"
@@ -51,27 +52,41 @@
             	:show-overflow-tooltip="true"
             	highlight-current-row="true"
             >
-              <el-table-column align="left" label="定额代号" prop="address" width="90" />
-              <el-table-column align="left" label="名称备注" prop="image" width="90" />
-              <el-table-column align="left" label="使用工序" prop="name" width="90" />
-			  <el-table-column align="left" label="适用机型" prop="address" width="90" />
-			  <el-table-column align="left" label="原日定额" prop="image" width="90" />
-			  <el-table-column align="left" label="原千件工价" prop="name" width="100" />
-			  <el-table-column align="left" label="原补产标准" prop="address" width="100" />
-			  <el-table-column align="left" label="新日定额" prop="image" width="100" >
-			      <el-input v-model="formData.daily_quota" :clearable="true"/>
+              <el-table-column align="left" label="定额代号" prop="sys_bh" width="120" />
+              <el-table-column align="left" label="名称备注" prop="sys_mc" width="210" />
+              <el-table-column align="left" label="使用工序" prop="use_gx" width="88" />
+			  <el-table-column align="left" label="适用机型" prop="use_machine" width="88" />
+			  <el-table-column fixed="right" v-slot="scope" align="left" label="日定额" width="100" >
+			      <el-input @input="inputClick" v-model="scope.row.daily_quota" :clearable="false"/>
 			  </el-table-column>
-			  <el-table-column align="left" label="千件工价" prop="name" width="100" >
-			      <el-input v-model="formData.thousand_piece" :clearable="true"/>
+			  <el-table-column fixed="right" v-slot="scope" align="left" label="千件工价" width="100" >
+			      <el-input @input="inputClick" v-model="scope.row.thousand_piece" :clearable="false"/>
 			  </el-table-column>
-			  <el-table-column align="left" label="新补产标准" prop="address" width="100">
-				  <el-input v-model="formData.production_standard" :clearable="true"/>
-              </el-table-column>
-			  <el-table-column align="left" v-if="false" label="新补产标准" prop="UniqId" width="100">
-			  	  <el-input v-model="formData.UniqId" :clearable="true"/>
+			  <el-table-column fixed="right" v-slot="scope" align="left" label="补产标准" width="100" >
+			      <el-input @input="inputClick" v-model="scope.row.production_standard" :clearable="false"/>
+			  </el-table-column>
+			 <!-- <el-table-column align="left" label="原日定额" prop="daily_quota" width="90" />
+			  <el-table-column align="left" label="原千件工价" prop="thousand_piece" width="100" />
+			  <el-table-column align="left" label="原补产标准" prop="production_standard" width="100" /> -->
+			 <!-- <el-table-column fixed="right" v-slot="scope" align="left" label="新日定额" width="100" >
+			      <el-input @input="inputClick" v-model="scope.row.daily_quota" :clearable="false"/>
+			  </el-table-column>
+			  <el-table-column fixed="right" v-slot="scope" align="left" label="新千件工价" width="100" >
+			      <el-input @input="inputClick" v-model="scope.row.thousand_piece" :clearable="false"/>
+			  </el-table-column>
+			  <el-table-column fixed="right" v-slot="scope" align="left" label="新补产标准" width="100" >
+			      <el-input @input="inputClick" v-model="scope.row.production_standard" :clearable="false"/>
+			  </el-table-column> -->
+			  <!-- <el-table-column v-slot="scope" align="left" label="新补产标准" width="100">
+				  	<el-form-item :prop="'tableData.'+scope.row+'.production_standard'">
+				  		<el-input v-model="scope.row.production_standard" :clearable="true"/>
+				  	</el-form-item>
+              </el-table-column> -->
+			  <el-table-column v-slot="scope" v-if="false" align="left" label="UniqId" width="100" >
+			      <el-input v-model="scope.row.UniqId" :clearable="false"/>
 			  </el-table-column>
             </el-table>
-            <div class="gva-pagination">
+            <!-- <div class="gva-pagination">
               <el-pagination
                   layout="total, sizes, prev, pager, next, jumper"
                   :current-page="page"
@@ -80,8 +95,11 @@
                   :total="total"
                   @current-change="handleCurrentChange"
                   @size-change="handleSizeChange"
+				  :row-style="{ height: '20px' }"
+				  :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
+				  :header-cell-style="{ padding: '0px' }"
               />
-            </div>
+            </div> -->
           </div>
           <el-dialog v-model="dialogFormVisible" :before-close="closeDialog" :title="type==='create'?'添加':'修改'" destroy-on-close>
             <el-scrollbar height="500px">
@@ -175,7 +193,9 @@
 <script setup>
 import {
   getOnePieceWork,
-  getPieceWork
+  getPieceWork,
+  getPieceParams,
+  editAllParams
 } from '@/api/mes/job'
 import {
   createCompany,
@@ -278,7 +298,7 @@ const handleNodeClick = (node,check) => {
   }else{
 	  code.value=node.code
   }
-  console.log(node.code);
+  // console.log(code.value);
   // console.log(node,check);
 }
 // 自动化生成的字典(可能为空)以及字段
@@ -321,6 +341,7 @@ const searchInfo = ref({})
 const sys_bh = ref()
 const code = ref()
 const pieceData = ref([])
+const isSubmit = ref(0)
 
 // 重置
 const onReset = () => {
@@ -350,18 +371,45 @@ const handleCurrentChange = (val) => {
   getTableData()
 }
 
-// 查询
-const getTableData = async() => {
-  const table = await getCompanyList({ page: page.value, pageSize: pageSize.value, ...searchInfo.value })
-  if (table.code === 0) {
-    tableData.value = table.data.list
-    total.value = table.data.total
-    page.value = table.data.page
-    pageSize.value = table.data.pageSize
-  }
-}
 
-getTableData()
+const inputClick = async() => {
+	isSubmit.value=1
+}
+const bacthEditClick = async() => {
+	if(code.value.length>2){
+		const getPieceParamss = await getPieceParams({code:code.value})
+		if (getPieceParamss.code === 0) {
+			tableData.value = getPieceParamss.data
+			isSubmit.value=0
+		}
+	}
+}
+const bacthSubmit = async() => {
+	if(isSubmit.value===1){
+		const editAllParamss = await editAllParams(tableData.value)
+		if (editAllParamss.code === 0) {
+			  ElMessage({
+			          type: 'success',
+			          message: '更新成功'
+			      })
+				  isSubmit.value=0
+		}
+		console.log(tableData.value)
+	}
+	
+}
+// 查询
+// const getTableData = async() => {
+//   const table = await getCompanyList({ page: page.value, pageSize: pageSize.value, ...searchInfo.value })
+//   if (table.code === 0) {
+//     tableData.value = table.data.list
+//     total.value = table.data.total
+//     page.value = table.data.page
+//     pageSize.value = table.data.pageSize
+//   }
+// }
+
+// getTableData()
 
 // ============== 表格控制部分结束 ===============
 
@@ -428,12 +476,12 @@ 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 res = await findCompany({ ID: row.ID })
+    // type.value = 'update'
+    // if (res.code === 0) {
+    //     formData.value = res.data.recompany
+    //     dialogFormVisible.value = true
+    // }
 }
 
 

+ 273 - 101
src/view/performance/MachineDocuments.vue

@@ -16,7 +16,7 @@
           <div class="gva-table-box">
             <div class="gva-btn-list">
               <el-row :span="6">
-                <el-input v-model="searchInfo" placeholder="输入工单编号或产品名称" />
+                <el-input v-model="positionvalue" placeholder="输入工单编号或产品名称" />
               </el-row>
               <el-button type="primary" :icon="Search" @click="onSearch">搜索</el-button>
               <el-button type="primary" :icon="Refresh">重置</el-button>
@@ -53,7 +53,8 @@
             </el-table>
             <!-- 分页 -->
             <div class="gva-pagination">
-              <el-pagination layout="total, sizes, prev, pager, next, jumper" :current-page="page" :page-size="limit"
+              <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>
@@ -67,14 +68,14 @@
               <el-row :gutter="20">
                 <el-col :span="4">
                   <el-form-item label="日期" prop="id">
-                    <el-input v-model="formData.address" :clearable="true" placeholder="2023.12.14" />
+                    <el-input v-model="formData.sczl_rq" :clearable="true" placeholder="2023.12.14" />
                   </el-form-item>
                 </el-col>
                 <el-col :span="6">
                   <el-form-item label="组别" prop="name">
                     <el-row :gutter="20">
                       <el-col :span="12">
-                        <el-input v-model="formData.code" :clearable="true" placeholder="ZT01733" />
+                        <el-input v-model="formData.sczl_bzdh" :clearable="true" placeholder="ZT01733" />
                       </el-col>                      
                     </el-row>
                   </el-form-item>
@@ -86,17 +87,17 @@
                   <el-row :gutter="20">
                     <el-col :span="5">
                       <el-form-item label="工单编号" prop="id">
-                        <el-input v-model="formData.address" :clearable="true" placeholder="0.00" />
+                        <el-input v-model="formData.sczl_gdbh" :clearable="true" placeholder="0.00" />
                       </el-form-item>
                     </el-col>
                     <el-col :span="5">                      
-                        <el-input v-model="formData.address" :clearable="true" placeholder="是" />
+                        <el-input v-model="formData.sczl_yjgx" :clearable="true" placeholder="是" />
                     </el-col>
 					<el-col :span="5">
-					    <el-input v-model="formData.address" :clearable="true" placeholder="是" />
+					    <el-input v-model="formData.sczl_gxmc" :clearable="true" placeholder="是" />
 					</el-col>
 					<el-col :span="5">
-					    <el-input v-model="formData.address" :clearable="true" placeholder="是" />
+					    <el-input v-model="formData.yj_yjmc" :clearable="true" placeholder="是" />
 					</el-col>
                   </el-row>
                 </el-col>
@@ -105,26 +106,26 @@
 			  <el-row :gutter="20">
 			     <el-col :span="4">
 			       <el-form-item label="机台编号" prop="id">
-			         <el-input v-model="formData.address" :clearable="true" placeholder="2023.12.14" />
+			         <el-input v-model="formData.sczl_jtbh" :clearable="true" placeholder="2023.12.14" />
 			       </el-form-item>
 			     </el-col>
 			     <el-col :span="6">          
 			         <el-row :gutter="20">
 			           <el-col :span="12">
 						<el-form-item label="检验类型" prop="id">
-			             <el-input v-model="formData.code" :clearable="true" placeholder="ZT01733" />
+			             <el-input v-model="formData.sczl_单据类型" :clearable="true" placeholder="ZT01733" />
 						</el-form-item>
 			           </el-col>
 			         </el-row>
 			     </el-col>
 			     <el-col :span="3">
 			       <el-form-item label="检验类别" prop="name">
-			         <el-input v-model="formData.image" :clearable="true" placeholder="A班" />
+			         <el-input v-model="formData.sczl_检验类别" :clearable="true" placeholder="A班" />
 			       </el-form-item>
 			     </el-col>
 				 <el-col :span="3">
 				   <el-form-item label="废品率系数" prop="name">
-				     <el-input v-model="formData.image" :clearable="true" placeholder="A班" />
+				     <el-input v-model="formData.sczl_废品率系数" :clearable="true" placeholder="A班" />
 				   </el-form-item>
 				 </el-col>
 			   </el-row>
@@ -133,17 +134,17 @@
              <el-row :gutter="20">
                 <el-col :span="4">
                   <el-form-item label="计件箱数" prop="id">
-                    <el-input v-model="formData.address" :clearable="true" placeholder="2023.12.14" />
+                    <el-input v-model="formData.sczl_cl" :clearable="true" placeholder="2023.12.14" />
                   </el-form-item>
                 </el-col>
 				 <el-col :span="3">
                   <el-form-item label="每箱数量" prop="name">
-                    <el-input v-model="formData.image" :clearable="true" placeholder="A班" />
+                    <el-input v-model="formData.sczl_PgCl" :clearable="true" placeholder="A班" />
                   </el-form-item>
                 </el-col>
                 <el-col :span="3">
                   <el-form-item label="定额代号" prop="name">
-                    <el-input v-model="formData.image" :clearable="true" placeholder="A班" />
+                    <el-input v-model="formData.sczl_dedh" :clearable="true" placeholder="A班" />
                   </el-form-item>
                 </el-col>
               </el-row>
@@ -155,35 +156,39 @@
 			         <el-input v-model="formData.address" :clearable="true" placeholder="2023.12.14" />
 			       </el-form-item>
 			     </el-col>
+							 <el-col :span="1">
+							   <el-input v-model="formData.流程单号1" :clearable="true" placeholder="ZT01733" />
+							 </el-col>
+				            <el-col :span="1">
+				              <el-input v-model="formData.流程单号2" :clearable="true" placeholder="ZT01733" />
+				            </el-col>
 			  				  <el-col :span="1">			  			
-			  				    <el-input v-model="formData.code" :clearable="true" placeholder="ZT01733" />
-			  				  </el-col>
-			  				  <el-col :span="1">
-			  				    <el-input v-model="formData.code" :clearable="true" placeholder="ZT01733" />
+			  				    <el-input v-model="formData.流程单号3" :clearable="true" placeholder="ZT01733" />
 			  				  </el-col>
+							  
 			  				  <el-col :span="1">
-			  				    <el-input v-model="formData.code" :clearable="true" placeholder="ZT01733" />
+			  				    <el-input v-model="formData.流程单号4" :clearable="true" placeholder="ZT01733" />
 			  				  </el-col>
 			  				  <el-col :span="1">
-			  				    <el-input v-model="formData.code" :clearable="true" placeholder="ZT01733" />
+			  				    <el-input v-model="formData.流程单号5" :clearable="true" placeholder="ZT01733" />
 			  				  </el-col>
 			  				  <el-col :span="1">
-			  				    <el-input v-model="formData.code" :clearable="true" placeholder="ZT01733" />
+			  				    <el-input v-model="formData.流程单号6" :clearable="true" placeholder="ZT01733" />
 			  				  </el-col>
 			  				  <el-col :span="1">
-			  				    <el-input v-model="formData.code" :clearable="true" placeholder="ZT01733" />
+			  				    <el-input v-model="formData.流程单号7" :clearable="true" placeholder="ZT01733" />
 			  				  </el-col>
 			  				  <el-col :span="1">
-			  				    <el-input v-model="formData.code" :clearable="true" placeholder="ZT01733" />
+			  				    <el-input v-model="formData.流程单号8" :clearable="true" placeholder="ZT01733" />
 			  				  </el-col>
-			  				  <el-col :span="1">
-			  				    <el-input v-model="formData.code" :clearable="true" placeholder="ZT01733" />
+							  <el-col :span="1">
+			  				    <el-input v-model="formData.流程单号9" :clearable="true" placeholder="ZT01733" />
 			  				  </el-col>
 			     <el-col :span="6">          
 			         <el-row :gutter="20">
 			           <el-col :span="12">
 			  						 <el-form-item label="备注" prop="id">
-			             <el-input v-model="formData.code" :clearable="true" placeholder="ZT01733" />
+			             <el-input v-model="formData.qczl_NumDesc" :clearable="true" placeholder="ZT01733" />
 			  						 </el-form-item>
 			           </el-col>
 			         </el-row>
@@ -194,26 +199,26 @@
 			  <el-row :gutter="20">
 			     <el-col :span="4">
 			       <el-form-item label="换模补产工时" prop="id">
-			         <el-input v-model="formData.address" :clearable="true" placeholder="2023.12.14" />
+			         <el-input v-model="formData.sczl_装版工时" :clearable="true" placeholder="2023.12.14" />
 			       </el-form-item>
 			     </el-col>
 			     <el-col :span="6">          
 			         <el-row :gutter="20">
 			           <el-col :span="12">
 			  						<el-form-item label="设备保养工时" prop="id">
-			             <el-input v-model="formData.code" :clearable="true" placeholder="ZT01733" />
+			             <el-input v-model="formData.sczl_保养工时" :clearable="true" placeholder="ZT01733" />
 			  						</el-form-item>
 			           </el-col>
 			         </el-row>
 			     </el-col>
 			     <el-col :span="3">
 			       <el-form-item label="异常停机" prop="name">
-			         <el-input v-model="formData.image" :clearable="true" placeholder="A班" />
+			         <el-input v-model="formData.sczl_异常停机工时" :clearable="true" placeholder="A班" />
 			       </el-form-item>
 			     </el-col>
 				 <el-col :span="3">
 				   <el-form-item label="设备通电工时" prop="name">
-					 <el-input v-model="formData.image" :clearable="true" placeholder="A班" />
+					 <el-input v-model="formData.sczl_设备运行工时" :clearable="true" placeholder="A班" />
 				   </el-form-item>
 				 </el-col>
 			   </el-row>
@@ -221,102 +226,160 @@
 			  
 					
              
-             <el-row :gutter="10" style="margin-top: 10px;">
+             <!-- <el-row :gutter="10" style="margin-top: 10px;">
 				 <el-col :span="2">
 				   <span>组员信息</span>
 				 </el-col>
                 <el-col :span="2">
-                  <el-input v-model="formData.image" :clearable="true" placeholder="ZI00401" />
+                  <el-input v-model="formData.sczl_bh1" :clearable="true" placeholder="ZI00401" />
                 </el-col>
                 <el-col :span="2">
-                  <el-input v-model="formData.image" :clearable="true" placeholder="瞿春生" />
+                  <el-input v-model="formData.sczl_bh2" :clearable="true" placeholder="瞿春生" />
                 </el-col>
                 <el-col :span="2">
-                  <el-input v-model="formData.image" :clearable="true" placeholder="11.0" />
+                  <el-input v-model="formData.sczl_bh3" :clearable="true" placeholder="11.0" />
                 </el-col>
                 <el-col :span="2">
-                  <el-input v-model="formData.image" :clearable="true" placeholder="打包废纸" />
+                  <el-input v-model="formData.sczl_bh4" :clearable="true" placeholder="打包废纸" />
                 </el-col>
                 <el-col :span="2">
-                  <el-input v-model="formData.image" :clearable="true" placeholder="是" />
+                  <el-input v-model="formData.sczl_bh5" :clearable="true" placeholder="是" />
                 </el-col>
 				<el-col :span="2">
-				  <el-input v-model="formData.image" :clearable="true" placeholder="ZI00401" />
+				  <el-input v-model="formData.sczl_bh6" :clearable="true" placeholder="ZI00401" />
 				</el-col>
 				<el-col :span="2">
-				  <el-input v-model="formData.image" :clearable="true" placeholder="瞿春生" />
+				  <el-input v-model="formData.sczl_bh7" :clearable="true" placeholder="瞿春生" />
 				</el-col>
 				<el-col :span="2">
-				  <el-input v-model="formData.image" :clearable="true" placeholder="11.0" />
+				  <el-input v-model="formData.sczl_bh8" :clearable="true" placeholder="11.0" />
 				</el-col>
               </el-row>
-            </el-form>
+            </el-form> -->
 			
-			<el-row :gutter="10" style="margin-top: 10px;">
+			<!-- <el-row :gutter="10" style="margin-top: 10px;">
 				 <el-col :span="2">
 				  
 				 </el-col>
 			   <el-col :span="2">
-			     <el-input v-model="formData.image" :clearable="true" placeholder="ZI00401" />
+			     <el-input v-model="formData.sczl_bh1_name" :clearable="true" placeholder="ZI00401" />
 			   </el-col>
 			   <el-col :span="2">
-			     <el-input v-model="formData.image" :clearable="true" placeholder="瞿春生" />
+			     <el-input v-model="formData.sczl_bh2_name" :clearable="true" placeholder="瞿春生" />
 			   </el-col>
 			   <el-col :span="2">
-			     <el-input v-model="formData.image" :clearable="true" placeholder="11.0" />
+			     <el-input v-model="formData.sczl_bh3_name" :clearable="true" placeholder="11.0" />
 			   </el-col>
 			   <el-col :span="2">
-			     <el-input v-model="formData.image" :clearable="true" placeholder="打包废纸" />
+			     <el-input v-model="formData.sczl_bh4_name" :clearable="true" placeholder="打包废纸" />
 			   </el-col>
 			   <el-col :span="2">
-			     <el-input v-model="formData.image" :clearable="true" placeholder="是" />
+			     <el-input v-model="formData.sczl_bh5_name" :clearable="true" placeholder="是" />
 			   </el-col>
 				<el-col :span="2">
-				  <el-input v-model="formData.image" :clearable="true" placeholder="ZI00401" />
+				  <el-input v-model="formData.sczl_bh6_name" :clearable="true" placeholder="ZI00401" />
 				</el-col>
 				<el-col :span="2">
-				  <el-input v-model="formData.image" :clearable="true" placeholder="瞿春生" />
+				  <el-input v-model="formData.sczl_bh7_name" :clearable="true" placeholder="瞿春生" />
 				</el-col>
 				<el-col :span="2">
-				  <el-input v-model="formData.image" :clearable="true" placeholder="11.0" />
+				  <el-input v-model="formData.sczl_bh8_name" :clearable="true" placeholder="11.0" />
 				</el-col>
 
-			 </el-row>
+			 </el-row> -->
 			 
-			 <el-row :gutter="10" style="margin-top: 10px;">
+	<!-- 		<el-row :gutter="10" style="margin-top: 10px;">
 				 <el-col :span="2">
 				   
 				 </el-col>
 			    <el-col :span="2">
-			      <el-input v-model="formData.image" :clearable="true" placeholder="ZI00401" />
+			      <el-input v-model="formData.流程单号1" :clearable="true" placeholder="ZI00401" />
 			    </el-col>
 			    <el-col :span="2">
-			      <el-input v-model="formData.image" :clearable="true" placeholder="瞿春生" />
+			      <el-input v-model="formData.流程单号1" :clearable="true" placeholder="瞿春生" />
 			    </el-col>
 			    <el-col :span="2">
-			      <el-input v-model="formData.image" :clearable="true" placeholder="11.0" />
+			      <el-input v-model="formData.流程单号1" :clearable="true" placeholder="11.0" />
 			    </el-col>
 			    <el-col :span="2">
-			      <el-input v-model="formData.image" :clearable="true" placeholder="打包废纸" />
+			      <el-input v-model="formData.流程单号1" :clearable="true" placeholder="打包废纸" />
 			    </el-col>
 			    <el-col :span="2">
-			      <el-input v-model="formData.image" :clearable="true" placeholder="是" />
+			      <el-input v-model="formData.流程单号1" :clearable="true" placeholder="是" />
 			    </el-col>
 				<el-col :span="2">
-				  <el-input v-model="formData.image" :clearable="true" placeholder="ZI00401" />
+				  <el-input v-model="formData.流程单号1" :clearable="true" placeholder="ZI00401" />
 				</el-col>
 				<el-col :span="2">
-				  <el-input v-model="formData.image" :clearable="true" placeholder="瞿春生" />
+				  <el-input v-model="formData.流程单号1" :clearable="true" placeholder="瞿春生" />
 				</el-col>
 				<el-col :span="2">
-				  <el-input v-model="formData.image" :clearable="true" placeholder="11.0" />
+				  <el-input v-model="formData.流程单号1" :clearable="true" placeholder="11.0" />
 				</el-col>
-			  </el-row>
-            
+			  </el-row> -->
+			  
+			  
+			  <el-table
+			    :data="detailData.table"
+			    border
+			    tooltip-effect="dark"
+			    :row-style="{ height: '20px' }"
+			    :cell-style="{ padding: '0px' }"
+			    :header-row-style="{ height: '20px' }"
+			    :header-cell-style="{ padding: '0px' }"
+			  >
+			  <el-form-item label="11111" prop="name">
+			  	<el-input v-model="formData.sczl_设备运行工时" :clearable="true" placeholder="A班" />
+			  </el-form-item>
+			    <el-table-column label="组员信息">
+			      <template #default="{ row }">
+			        <el-input v-model="row.Gd_cpmc" />
+			      </template>
+			    </el-table-column>
+			    <el-table-column label="组员信息">
+			      <template #default="{ row }">
+			        <el-input v-model="row.Gd_cpmc" />
+			      </template>
+			    </el-table-column>
+			    <el-table-column label="组员信息">
+			      <template #default="{ row }">
+			        <el-input v-model="row.Gd_cpmc" />
+			      </template>
+			    </el-table-column>
+			    <el-table-column label="组员信息">
+			      <template #default="{ row }">
+			        <el-input v-model="row.Gd_cpmc" />
+			      </template>
+			    </el-table-column>
+			    <el-table-column label="组员信息">
+			      <template #default="{ row }">
+			        <el-input v-model="row.Gd_cpmc" />
+			      </template>
+			    </el-table-column>
+			    <el-table-column label="组员信息">
+			      <template #default="{ row }">
+			        <el-input v-model="row.Gd_cpmc" />
+			      </template>
+			    </el-table-column>
+			    <el-table-column label="组员信息">
+			      <template #default="{ row }">
+			        <el-input v-model="row.Gd_cpmc" />
+			      </template>
+			    </el-table-column>
+				<el-table-column label="组员信息">
+				  <template #default="{ row }">
+				    <el-input v-model="row.Gd_cpmc" />
+				  </template>
+				</el-table-column>
+			  </el-table>
+			  
+			  
+			  
+            </el-form> 
 			<el-row :gutter="20">
 			   <el-col :span="20">
 			     <el-form-item label="其他备注" prop="id">
-			       <el-input v-model="formData.address" :clearable="true" placeholder="2023.12.14" />
+			       <el-input v-model="formData.流程单号" :clearable="true" placeholder="2023.12.14" />
 			     </el-form-item>
 			   </el-col>
 			 </el-row>
@@ -339,7 +402,10 @@
 <script setup>
 import {
   getMachineCount,
-  getDateMachine
+  getDateMachine,
+  machineLocate,
+  MachineInfo,
+  getYg
 } from '@/api/jixiaoguanli/jitairibaobiao'
 
 // 全量引入格式化工具 请按需保留
@@ -379,18 +445,50 @@ getTabdata();
 
 // 自动化生成的字典(可能为空)以及字段
 const formData = ref({
-  id: '',
-  name: '',
-  date: '',
-  group: '',
-  packingOutput: '',
-  reworkOutput: '',
-  pieceOutput: '',
-  order: '',
-  user: '',
-  createTime: '',
-  updateTime: '',
-  uniqid: '',
+		  sczl_gdbh: '',
+          sczl_yjgx: '',
+          sczl_gxmc: '',
+          sczl_jtbh: '',
+          sczl_bzdh: '',
+          sczl_rq: '',
+          sczl_cl: '',
+          sczl_PgCl: '',
+          sczl_单据类型: '',
+          sczl_dedh: '',
+          sczl_装版工时: '',
+          sczl_保养工时: '',
+          sczl_异常停机工时: '',
+          sczl_设备运行工时: '',
+          sczl_废品率系数: '',
+          sczl_检验类别: '',
+          sczl_bh1: '',
+          sczl_bh2: '',
+          sczl_bh3: '',
+          sczl_bh4: '',
+          sczl_bh5: '',
+          sczl_bh6: '',
+          sczl_bh7: '',
+          sczl_bh8: '',
+          流程单号 :'',
+          流程单号2: '',
+          流程单号3: '',
+          流程单号4: '',
+          流程单号5: '',
+          流程单号6: '',
+          流程单号7: '',
+          流程单号8: '',
+          流程单号9:'',
+          qczl_NumDesc:'',
+          sczl_desc:'',                                           
+          sczl_bh1_name:'',
+          sczl_bh2_name:'',
+          sczl_bh3_name: '',
+          sczl_bh4_name: '',
+          sczl_bh5_name: '',
+          sczl_bh6_name: '',
+          sczl_bh7_name: '',
+          sczl_bh8_name: '',
+          yj_yjmc: ''
 })
 
 // 验证规则
@@ -529,38 +627,97 @@ const page = ref(1)
 const limit = ref(10)
 const searchInfo = ref('')
 const params = {
+  type: '',
   date: '',
   sys_id: '',
-  page: page.value.toString(),
-  limit: limit.value.toString(),
+  gdbh: '',
 }
 
 // 分页设置
 const handleSizeChange = (val) => {
-  limit.value = val;
-  params.limit = val.toString();
-  getTableData();
+  switch (params.type) {
+    case 'getTableData':
+      getTableData()
+      break
+    case 'getLocateTable':
+      GetmachineLocate()
+      break
+    default:
+      break
+  }
 }
 
 // 页面跳转
 const handleCurrentChange = (val) => {
-  page.value = val
-  params.page = val.toString();
-  getTableData()
+ switch (params.type) {
+   case 'getTableData':
+     getTableData()
+     break
+   case 'getLocateTable':
+     GetmachineLocate()
+     break
+   default:
+     break
+ }
 }
 
 const getTableData = async() => {
-  const response = await getDateMachine(params);
-  console.log(response)
+	
+	
+	const response = await getDateMachine({
+	  date: params.date, sys_id: params.sys_id,
+	  page: page.value.toString(), limit: limit.value.toString(),
+	})
+	if (response.code === 0) {
+	  const processedData = response.data.data.map(item => {
+	    return {
+	      ...item,
+	      combinedProp: item.sczl_gdbh + '--'+item.yj_yjmc,
+	      combinedProp2: item.sczl_yjgx + '-'+item.sczl_gxmc
+	    };
+	  });
+	  tableData.splice(0, tableData.length, ...processedData);
+	}
+	
+  // const response = await getDateMachine(params);
+  // console.log(response)
+  // if (response.code === 0) {
+  //   const processedData = response.data.data.map(item => {
+  //     return {
+  //       ...item,
+  //       combinedProp: item.sczl_gdbh + '--'+item.yj_yjmc,
+  //       combinedProp2: item.sczl_yjgx + '-'+item.sczl_gxmc
+  //     };
+  //   });
+  //   tableData.splice(0, tableData.length, ...processedData);
+  // }
+}
+
+
+const GetmachineLocate = async () => {
+  const response = await machineLocate({
+    gdbh: params.gdbh,
+    page: page.value.toString(), limit: limit.value.toString(),
+  })
   if (response.code === 0) {
-    const processedData = response.data.data.map(item => {
-      return {
-        ...item,
-        combinedProp: item.sczl_gdbh + '--'+item.yj_yjmc,
-        combinedProp2: item.sczl_yjgx + '-'+item.sczl_gxmc
-      };
-    });
-    tableData.splice(0, tableData.length, ...processedData);
+    total.value = response.data.total
+    tableData.splice(0, tableData.length, ...response.data.rows)
+  }
+  
+  // const response = await machineLocate(locatevalue);
+  // console.log(locatevalue)
+  // console.log(response)
+  // if (response.code === 0) {
+  //   tableData.splice(0, tableData.length, ...response.data.rows);
+  // }
+}
+
+
+const GetMachineInfo = async (value) => {
+  const response = await MachineInfo({UniqId:value});
+  console.log(response) 
+  if (response.code === 0) {
+	formData.value=response.data;
   }
 }
 
@@ -571,13 +728,25 @@ const handleNodeClick = (node,check) => {
     params.date = node.params.date;
     params.sys_id = node.params.sys_id;
     total.value = node.params.total;
+	   params.type = 'getTableData'
+	    page.value = 1
     getTableData();
   }
 }
 
+const locatevalue={
+	gdbh:'',
+	cpmc:'',
+	page:'5',
+	limit:'10',  
+}
+let positionvalue=ref()
 // 搜索
 function onSearch() {
-	
+	params.gdbh = positionvalue.value
+	params.type = 'getLocateTable'
+	page.value = 1
+	GetmachineLocate()
 }
 // ============== 表格控制部分结束 ===============
 
@@ -683,13 +852,16 @@ const enterDialog = async () => {
     }
   })
 }
-
+let table=ref(5);
+let lastCellValue=ref()
 // 双击表格操作
-function doubleClick(row, column, event) {
-  console.log(row, column, event);
-  // updateCompanyFunc(row);
-  type.value = 'update';
-  dialogFormVisible.value = true
+function doubleClick(row) {
+		  type.value = 'update';
+		  dialogFormVisible.value = true
+		  lastCellValue= row['UniqId'];
+  		 console.log(lastCellValue)
+  	 table.value=lastCellValue
+  GetMachineInfo(table.value)
 }
 
 // 导出excel

+ 350 - 264
src/view/performance/Packagingoutput.vue

@@ -16,12 +16,13 @@
           <div class="gva-table-box">
             <div class="gva-btn-list">
               <el-row :span="6">
-                <el-input v-model="searchInfo" placeholder="输入工单编号或产品名称" />
+                <el-input v-model="positionvalue" placeholder="输入工单编号或产品名称" />
               </el-row>
               <el-button type="primary" :icon="Search" @click="onSearch">搜索</el-button>
               <el-button type="primary" :icon="Refresh">重置</el-button>
 			  <el-button type="primary" :icon="Search" @click="positioningVisible">定位</el-button>
 			  <el-button type="primary" :icon="Search">查改</el-button>
+			  <el-button type="primary" :icon="Delete" @click="Del">删除</el-button>
               <div style="margin-left: auto;">
                 <el-button type="primary" :icon="Download" @click="exportExcel">导出到Excel</el-button>
               </div>
@@ -31,17 +32,27 @@
               highlight-current-row="true"  :cell-style="cellStyle" border @selection-change="handleSelectionChange" 
 			  :show-overflow-tooltip="true" @row-dblclick="doubleClick">
               <el-table-column type="selection" width="55" />
-			  <el-table-column align="left" label="创建用户" prop="sys_id" width="120" />
+<!-- 			  <el-table-column align="left" label="创建用户" prop="sys_id" width="120" />
               <el-table-column align="left" label="日期" prop="sczl_rq" width="120"/>
               <el-table-column align="left" label="包装产量" prop="sczl_cl" width="120"/>
               <el-table-column align="left" label="包装数量" prop="sczl_PgCl" width="120"/>
               <el-table-column align="left" label="创建时间" prop="sys_rq" width="160"/>
               <el-table-column align="left" label="修改时间" prop="mod_rq" width="160"/>
-              <el-table-column align="left" label="UNIQID" prop="UniqId" width="120"/>
+              <el-table-column align="left" label="UNIQID" prop="UniqId" width="120"/> -->
+			 <!-- 循环渲染列 -->
+				<el-table-column
+				  v-for=" column in tableColumns "
+				  :key="column.prop"
+				  :prop="column.prop"
+				  :label="column.label"
+				  :width="column.width"
+				  show-overflow-tooltip="true"
+				/>
             </el-table>
             <!-- 分页 -->
             <div class="gva-pagination">
-              <el-pagination layout="total, sizes, prev, pager, next, jumper" :current-page="page" :page-size="limit"
+              <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>
@@ -58,15 +69,82 @@
                   <el-form-item label="日期" prop="name">
                     <el-row :gutter="20">
                       <el-col :span="12">
-                        <el-input v-model="formData.sczl_rq" :clearable="true" placeholder="ZT01733" />
+                        <el-input v-model="sczl_rqValue" :clearable="true" placeholder="ZT01733" />
                       </el-col>
                     </el-row>
                   </el-form-item>
                 </el-col>
               </el-row>
 
+
+								<el-table
+                               :data="detailData.table"
+                               border
+                               tooltip-effect="dark"
+                               :row-style="{ height: '20px' }"
+                               :cell-style="{ padding: '0px' }"
+                               :header-row-style="{ height: '20px' }"
+                               :header-cell-style="{ padding: '0px' }"
+                             >
+                               <el-table-column
+                                 label="工单编号"
+                                 width="100"
+                               >
+                                 <template #default="{ row, $index }">
+                                   <el-input
+                                     v-model="row.sczl_gdbh"
+                                     @keyup.enter="handleEnter($index, row)"
+                                   />
+                                 </template>
+                               </el-table-column>
+                               <el-table-column
+                                 label="印件工序"
+                                 width="100"
+                               >
+                                 <template #default="{ row }">
+                                   <el-input v-model="row.sczl_yjGx" />
+                                 </template>
+                               </el-table-column>
+                               <el-table-column
+                                 label="工序名称"
+                                 width="100"
+                               >
+                                 <template #default="{ row }">
+                                   <el-input v-model="row.sczl_gxmc" />
+                                 </template>
+                               </el-table-column>
+                               <el-table-column label="印件名称">
+                                 <template #default="{ row }">
+                                   <el-input v-model="row.Gd_cpmc" />
+                                 </template>
+                               </el-table-column>
+                               <el-table-column
+                                 label="包装产量"
+                                 width="100"
+                               >
+                                 <template #default="{ row }">
+                                   <el-input v-model="row.sczl_cl" />
+                                 </template>
+                               </el-table-column>
+                               <el-table-column
+                                 label="每箱数量"
+                                 width="100"
+                               >
+                                 <template #default="{ row }">
+                                   <el-input v-model="row.sczl_PgCl" />
+                                 </template>
+                               </el-table-column>
+                               <el-table-column
+                                 label="零头"
+                                 width="100"
+                               >
+							   <template #default="{ row }">
+							     <el-input v-model="row.sczl_clAdd" />
+							   </template>
+                               </el-table-column>
+                             </el-table>
                             <!-- 标题栏 -->
-                            <el-row :gutter="10">
+                            <!-- <el-row :gutter="10">
                               <el-col :span="3">
                                 <span>工单编号</span>
                               </el-col>
@@ -88,10 +166,10 @@
 							  <el-col :span="2">
 							    <span>零头</span>
 							  </el-col>
-                            </el-row>
+                            </el-row> -->
               
                             <!-- 员工1 -->
-                            <el-row :gutter="5" style="margin-top: 10px;">
+                            <!-- <el-row :gutter="5" style="margin-top: 10px;">
                               <el-col :span="3">
                                 <el-input v-model="formData.sczl_gdbh1" :clearable="true" @keyup.enter.native="getGxMcsubmit($event, '1')" placeholder="ZI00401" />
                               </el-col>
@@ -113,10 +191,10 @@
 							  <el-col :span="2">
 							    <el-input v-model="formData.sczl_clAdd1" :clearable="true" placeholder="是" />
 							  </el-col>
-                            </el-row>
+                            </el-row> -->
               
                             <!-- 员工2 -->
-                            <el-row :gutter="5" style="margin-top: 10px;">
+  <!--                          <el-row :gutter="5" style="margin-top: 10px;">
                               <el-col :span="3">
                                 <el-input v-model="formData.sczl_gdbh2" :clearable="true" @keyup.enter.native="getGxMcsubmit($event, '2')" placeholder="ZI00401" />
                               </el-col>
@@ -138,10 +216,10 @@
 							  <el-col :span="2">
 							    <el-input v-model="formData.sczl_clAdd2" :clearable="true" placeholder="是" />
 							  </el-col>
-                            </el-row>
+                            </el-row> -->
               
                             <!-- 员工3 -->
-                            <el-row :gutter="5" style="margin-top: 10px;">
+                            <!-- <el-row :gutter="5" style="margin-top: 10px;">
                               <el-col :span="3">
                                 <el-input v-model="formData.sczl_gdbh3" :clearable="true" @keyup.enter.native="getGxMcsubmit($event, '3')" placeholder="ZI00401" />
                               </el-col>
@@ -163,10 +241,10 @@
                               <el-col :span="2">
                                 <el-input v-model="formData.sczl_clAdd3" :clearable="true" placeholder="是" />
                               </el-col>
-                            </el-row>
+                            </el-row> -->
               
                             <!-- 员工4 -->
-                           <el-row :gutter="5" style="margin-top: 10px;">
+                           <!-- <el-row :gutter="5" style="margin-top: 10px;">
                               <el-col :span="3">
                                 <el-input v-model="formData.sczl_gdbh4" :clearable="true" @keyup.enter.native="getGxMcsubmit($event, '4')" placeholder="ZI00401" />
                               </el-col>
@@ -189,9 +267,9 @@
 							    <el-input v-model="formData.sczl_clAdd4" :clearable="true" placeholder="是" />
 							  </el-col>
                             </el-row>
-              
+              -->
                             <!-- 员工5 -->
-                            <el-row :gutter="5" style="margin-top: 10px;">
+                           <!-- <el-row :gutter="5" style="margin-top: 10px;">
                               <el-col :span="3">
                                 <el-input v-model="formData.sczl_gdbh5"  @keyup.enter.native="getGxMcsubmit($event, '5')" :clearable="true" placeholder="ZI00401" />
                               </el-col>
@@ -213,10 +291,10 @@
                               <el-col :span="2">
                                 <el-input v-model="formData.sczl_clAdd5" :clearable="true" placeholder="是" />
                               </el-col>
-                            </el-row>
+                            </el-row> -->
               
                             <!-- 员工6 -->
-                            <el-row :gutter="5" style="margin-top: 10px;">
+                           <!-- <el-row :gutter="5" style="margin-top: 10px;">
                               <el-col :span="3">
                                 <el-input v-model="formData.sczl_gdbh6" :clearable="true"  @keyup.enter.native="getGxMcsubmit($event, '6')" placeholder="ZI00401" />
                               </el-col>
@@ -238,7 +316,7 @@
                               <el-col :span="2">
                                 <el-input v-model="formData.sczl_clAdd6" :clearable="true" placeholder="是" />
                               </el-col>
-                            </el-row>
+                            </el-row> -->
 			  
             </el-form>
             <!-- </el-scrollbar> -->
@@ -268,21 +346,31 @@
 
           <el-dialog v-model="getGxMcshow" :before-close="closegetGxMcshow" :title="type==='create'?'添加':'修改'" destroy-on-close>
                 
-					<el-form :model="form" label-width="80px">
-					  <div style="display: flex; justify-content: center;">
-					    <el-form-item label="关键字">
-					      <el-input v-model="name"></el-input>
-					    </el-form-item>
-					  </div>
-					</el-form>
-
-			<el-table ref="GxMctable" style="width: 100%" tooltip-effect="dark" :data="GxMctableData" row-key="ID"
-			  highlight-current-row="true"  :cell-style="cellStyle" border @selection-change="handleSelectionChange"
-			   :show-overflow-tooltip="true" @row-dblclick="GxMcdoubleClick">			   
-			  <el-table-column align="left" label="印件工序" prop="jyGx" width="120" />
-			  <el-table-column align="left" label="工序名称" prop="Gy0_gxmc" width="120"/>
-			  <el-table-column align="left" label="印件名称" prop="Gd_cpmc" width="800"/>
-			</el-table>
+					<el-table
+					              tooltip-effect="dark"
+					              :data="selectData"
+					              row-key="ID"
+					              highlight-current-row="true"
+					              border
+					              style="width:100%"
+					              @row-dblclick="handleSelectClick"
+					            >
+					              <el-table-column
+					                prop="Gd_cpmc"
+					                label="产品名称"
+					                width="300"
+					              />
+					              <el-table-column
+					                prop="Gy0_gxmc"
+					                label="产品名称"
+					                width="100"
+					              />
+					              <el-table-column
+					                prop="jyGx"
+					                label="产品名称"
+					                width="100"
+					              />
+					            </el-table>
 		
 			<template #footer>
 			  <div class="dialog-footer">
@@ -305,7 +393,8 @@ import {
   locate,
   getInfo,
   getGxMc,
-  edit
+  edit,
+  del
 } from '@/api/jixiaoguanli/jitairibaobiao'
 
 // 全量引入格式化工具 请按需保留
@@ -391,44 +480,44 @@ const formData = ref({
 
 
 const formData2 = ref({
-	      UniqId:'000',
-		  sczl_rq: '',
-          sczl_gdbh1: '',
-          sczl_gdbh2: '',
-          sczl_gdbh3: '',
-          sczl_gdbh4: '',
-          sczl_gdbh5: '',
-          sczl_gdbh6: '',
-          sczl_yjGx1: '',
-          sczl_yjGx2: '',
-          sczl_yjGx3: '',
-          sczl_yjGx4: '',
-          sczl_yjGx5: '',
-          sczl_yjGx6: '',
-		  sczl_gxmc1: '',
-		  sczl_gxmc2: '',
-		  sczl_gxmc3: '',
-		  sczl_gxmc4: '',
-		  sczl_gxmc5: '',
-		  sczl_gxmc6: '',
-          sczl_cl1: '',
-          sczl_cl2: '',
-          sczl_cl3: '',
-          sczl_cl4: '',
-          sczl_cl5: '',
-          sczl_cl6: '',
-          sczl_PgCl1:'',
-          sczl_PgCl2: '',
-          sczl_PgCl3: '',
-          sczl_PgCl4: '',
-          sczl_PgCl5: '',
-          sczl_PgCl6: '',
-		  sczl_clAdd1: '',
-		  sczl_clAdd2: '',
-		  sczl_clAdd3: '',
-		  sczl_clAdd4: '',
-		  sczl_clAdd5:'',
-		  sczl_clAdd6: '',  
+	      UniqId:'0',
+		  sczl_rq: '2025-01-01 00:00:00',
+          sczl_gdbh1: '2311232',
+          sczl_gdbh2: '2311232',
+          sczl_gdbh3: '2311232',
+          sczl_gdbh4: '2311232',
+          sczl_gdbh5: '2311232',
+          sczl_gdbh6: '2311232',
+          sczl_yjGx1: '01-71',
+          sczl_yjGx2: '01-71',
+          sczl_yjGx3: '01-71',
+          sczl_yjGx4: '01-71',
+          sczl_yjGx5: '01-71',
+          sczl_yjGx6: '01-71',
+		  sczl_gxmc1: '包装',
+		  sczl_gxmc2: '包装',
+		  sczl_gxmc3: '包装',
+		  sczl_gxmc4: '包装',
+		  sczl_gxmc5: '包装',
+		  sczl_gxmc6: '包装',
+          sczl_cl1: '6.00',
+          sczl_cl2: '6.00',
+          sczl_cl3: '6.00',
+          sczl_cl4: '6.00',
+          sczl_cl5: '6.00',
+          sczl_cl6: '6.00',
+          sczl_PgCl1:'500',
+          sczl_PgCl2: '500',
+          sczl_PgCl3: '500',
+          sczl_PgCl4: '500',
+          sczl_PgCl5: '500',
+          sczl_PgCl6: '500',
+		  sczl_clAdd1: '500',
+		  sczl_clAdd2: '500',
+		  sczl_clAdd3: '500',
+		  sczl_clAdd4: '500',
+		  sczl_clAdd5:'500',
+		  sczl_clAdd6: '500',  
 })
 
 // 验证规则
@@ -442,138 +531,27 @@ const elSearchFormRef = ref()
 const tableData = reactive([])
 const GxMctableData = reactive([])
 
-const detailData = reactive([
-  {
-    gdbh: '2311736',
-    yjgx: '01-15',
-    gxmc: '包装(圆切)',
-    yjmc: '利群(新)小《降焦改版)',
-    bzcl: '13.00',
-    fgcl: '0.00',
-    mxsl: '2500',
-    jcxs: '1.000',
-    ly: '',
-    dedh: '030002002',
-  },
-  {
-    gdbh: '2311736',
-    yjgx: '01-15',
-    gxmc: '包装(圆切)',
-    yjmc: '利群(新)小《降焦改版)',
-    bzcl: '13.00',
-    fgcl: '0.00',
-    mxsl: '2500',
-    jcxs: '1.000',
-    ly: '',
-    dedh: '030002002',
-  },
-  {
-    gdbh: '2311736',
-    yjgx: '01-15',
-    gxmc: '包装(圆切)',
-    yjmc: '利群(新)小《降焦改版)',
-    bzcl: '13.00',
-    fgcl: '0.00',
-    mxsl: '2500',
-    jcxs: '1.000',
-    ly: '',
-    dedh: '030002002',
-  },
-  {
-    gdbh: '2311736',
-    yjgx: '01-15',
-    gxmc: '包装(圆切)',
-    yjmc: '利群(新)小《降焦改版)',
-    bzcl: '13.00',
-    fgcl: '0.00',
-    mxsl: '2500',
-    jcxs: '1.000',
-    ly: '',
-    dedh: '030002002',
-  },
-  {
-    gdbh: '2311736',
-    yjgx: '01-15',
-    gxmc: '包装(圆切)',
-    yjmc: '利群(新)小《降焦改版)',
-    bzcl: '13.00',
-    fgcl: '0.00',
-    mxsl: '2500',
-    jcxs: '1.000',
-    ly: '',
-    dedh: '030002002',
-  },
-  {
-    gdbh: '2311736',
-    yjgx: '01-15',
-    gxmc: '包装(圆切)',
-    yjmc: '利群(新)小《降焦改版)',
-    bzcl: '13.00',
-    fgcl: '0.00',
-    mxsl: '2500',
-    jcxs: '1.000',
-    ly: '',
-    dedh: '030002002',
-  },
-  {
-    gdbh: '2311736',
-    yjgx: '01-15',
-    gxmc: '包装(圆切)',
-    yjmc: '利群(新)小《降焦改版)',
-    bzcl: '13.00',
-    fgcl: '0.00',
-    mxsl: '2500',
-    jcxs: '1.000',
-    ly: '',
-    dedh: '030002002',
-  },
-  {
-    gdbh: '2311736',
-    yjgx: '01-15',
-    gxmc: '包装(圆切)',
-    yjmc: '利群(新)小《降焦改版)',
-    bzcl: '13.00',
-    fgcl: '0.00',
-    mxsl: '2500',
-    jcxs: '1.000',
-    ly: '',
-    dedh: '030002002',
-  },
-  {
-    gdbh: '2311736',
-    yjgx: '01-15',
-    gxmc: '包装(圆切)',
-    yjmc: '利群(新)小《降焦改版)',
-    bzcl: '13.00',
-    fgcl: '0.00',
-    mxsl: '2500',
-    jcxs: '1.000',
-    ly: '',
-    dedh: '030002002',
-  },
-  {
-    gdbh: '2311736',
-    yjgx: '01-15',
-    gxmc: '包装(圆切)',
-    yjmc: '利群(新)小《降焦改版)',
-    bzcl: '13.00',
-    fgcl: '0.00',
-    mxsl: '2500',
-    jcxs: '1.000',
-    ly: '',
-    dedh: '030002002',
-  },
-])
+const tableColumns = [
+  { label: '创建用户', prop: 'sys_id', width: '240' },
+  { label: '日期', prop: 'sczl_rq', width: '100' },
+  { label: '包装产量', prop: 'sczl_cl', width: '100' },
+  { label: '包装数量', prop: 'sczl_PgCl', width: '100' },
+  { label: '创建时间', prop: 'sys_rq', width: '180' },
+  { label: '修改时间', prop: 'mod_rq', width: '180' },
+  { label: 'UNIQID', prop: 'UniqId', width: '100' },
+]
+
+const detailData = reactive([])
 const total=ref(0)
 const inputname=ref(0)
 const page = ref(1)
 const limit = ref(10)
 const searchInfo = ref('')
 const params = {
+  type: '',
   date: '',
   sys_id: '',
-  page: page.value.toString(),
-  limit: limit.value.toString(),  
+  gdbh: '',
 }
 const locatevalue={
 	gdbh:'',
@@ -587,18 +565,32 @@ let GxMcvalue=ref()
 
 // 分页设置
 const handleSizeChange = (val) => {
-  limit.value = val;
-  params.limit = val.toString();
-  getTableData();
+ switch (params.type) {
+   case 'getTableData':
+     getTableData()
+     break
+   case 'getLocateTable':
+     GetmachineLocate()
+     break
+   default:
+     break
+ }
 }
 
 
 
 // 页面跳转
 const handleCurrentChange = (val) => {
-  page.value = val
-  params.page = val.toString();
-  getTableData()
+ switch (params.type) {
+   case 'getTableData':
+     getTableData()
+     break
+   case 'getLocateTable':
+     GetmachineLocate()
+     break
+   default:
+     break
+ }
 }
 
 // 查询
@@ -622,11 +614,19 @@ const handleNodeClick = (node, check) => {
 }
 const Getlocate = async () => {
   
-  const response = await locate(locatevalue);
-  console.log(locatevalue)
-  console.log(response)
+  // const response = await locate(locatevalue);
+  // console.log(locatevalue)
+  // console.log(response)
+  // if (response.code === 0) {
+  //   tableData.splice(0, tableData.length, ...response.data.rows);
+  // }
+  const response = await locate({
+    gdbh: params.gdbh,
+    page: page.value.toString(), limit: limit.value.toString(),
+  })
   if (response.code === 0) {
-    tableData.splice(0, tableData.length, ...response.data.rows);
+    total.value = response.data.total
+    tableData.splice(0, tableData.length, ...response.data.rows)
   }
 }
 
@@ -639,20 +639,66 @@ const enterpositioning = async () => {
 }
 
 
-
+// 处理回车
+const handleEnter = (index, row) => {
+  GetGxMc(index, row)
+}
+let sczl_rqValue=ref()
 const getpickInfo = async (value) => {
+	
   const response = await getInfo({UniqId:value});
-  console.log(response) 
-  if (response.code === 0) {
-	formData.value=response.data;
-	formData2.value=response.data;
-	console.log(formData2)
+ if (response.code === 0) {
+    const { sczl_rq,...rest } = response.data
+    // 直接赋值基础属性
+	sczl_rqValue.value=response.data.sczl_rq
+	console.log(response.data.sczl_rq)
+    Object.assign(detailData, { sczl_rq,})
+    // 生成表格数据
+    detailData.table = Array.from({ length: 6 }, (_, i) => i + 1) // 创建一个长度为6的数组 [1, 2, 3, 4, 5, 6]
+      .map(num => {
+        return {
+          sczl_gdbh: rest[`sczl_gdbh${num}`],
+          sczl_yjGx: rest[`sczl_yjGx${num}`],
+          sczl_gxmc: rest[`sczl_gxmc${num}`],
+          Gd_cpmc: rest[`Gd_cpmc${num}`],
+          sczl_cl: rest[`sczl_cl${num}`],
+          sczl_PgCl: rest[`sczl_PgCl${num}`],
+          sczl_clAdd: rest[`sczl_clAdd${num}`],
+        }
+      })
+      // .filter(item => item.sczl_gdbh !== '') // 过滤掉空的工单编号
+    dialogFormVisible.value = true
   }
 }
 
-
+// 更新数据
+const updateDetailData = async() => {
+  const restoredData = {
+    UniqId: lastCellValue,
+    sczl_rq: detailData.sczl_rq,
+    sczl_gdbh: detailData.sczl_gdbh,
+    sczl_yjGx: detailData.sczl_yjGx,
+    sczl_gxmc: detailData.sczl_gxmc,
+    sczl_cl: detailData.sczl_cl,
+    sczl_PgCl: detailData.sczl_PgCl,
+    sczl_clAdd: detailData.sczl_clAdd,
+  }
+  detailData.table.forEach((item, index, array) => {
+    const num = index + 1
+    restoredData[`sczl_gdbh${num}`] = item.sczl_gdbh
+    restoredData[`sczl_yjGx${num}`] = item.sczl_yjGx
+    restoredData[`sczl_gxmc${num}`] = item.sczl_gxmc
+    // restoredData[`Gd_cpmc${num}`] = item.Gd_cpmc
+    restoredData[`sczl_cl${num}`] = item.sczl_cl
+    restoredData[`sczl_PgCl${num}`] = item.sczl_PgCl
+    restoredData[`sczl_clAdd${num}`] = item.sczl_clAdd
+  })
+   // restoredData.UniqId = 1
+   // const res = await edit(restoredData)
+  console.log(restoredData)
+  console.log(res)
+}
 const GxMcedit = async () => {
-  
   console.log(formData2)
   const response = await edit(formData2);
   if (response.code === 0) {
@@ -660,61 +706,88 @@ const GxMcedit = async () => {
   }
 }
 
-
-const GetGxMc = async (value, num) => {
-  const response = await getGxMc({gdbh: value});
-  console.log(response);
+const GxMcdel = async () => {
+  const response = await del({UniqId:lastCellValue});
   if (response.code === 0) {
-    if (response.data.length > 1) {
-		
-		
-	GxMctableData.splice(0, GxMctableData.length, ...response.data);
-    getGxMcshow.value = true; 
-    }
+	console.log(333)
+  }
+  getTableData()
+}
+
+
+const selectData = reactive([
+  {
+    Gd_cpmc: '黄金叶(乐途硬)小盒(二维码改版)',
+    Gy0_gxmc: '包装',
+    jyGx: '01-71',
+  },
+])
+let tableIndex = 0
+// 处理选择框
+const handleSelectClick = (row, column, event) => {
+  const { Gd_cpmc, Gy0_gxmc, jyGx } = row
+  detailData.table[tableIndex].Gd_cpmc = Gd_cpmc
+  detailData.table[tableIndex].sczl_yjGx = jyGx
+  detailData.table[tableIndex].sczl_gxmc = Gy0_gxmc
+  getGxMcshow.value = false
+}
+const GetGxMc = async (index, row) => {
+	
+	
+	
+	
+	console.log(row)
+	  const response = await getGxMc({gdbh: row.sczl_gdbh })
+	  if (response.code === 0) {
+	    const { Gd_cpmc, Gy0_gxmc, jyGx } = response.data[0]
+	    if (response.data.length === 1) {
+	      detailData.table[index].Gd_cpmc = Gd_cpmc
+	      detailData.table[index].sczl_yjGx = jyGx
+	      detailData.table[index].sczl_gxmc = Gy0_gxmc
+	    } else {
+	      selectData.splice(0, selectData.length, ...response.data)
+	      tableIndex = index
+	      getGxMcshow.value = true
+	    }
+	  }
+	
+ //  const response = await getGxMc({gdbh: value});
+ //  console.log(response);
+ //  if (response.code === 0) {
+ //    if (response.data.length > 1) {		
+	// GxMctableData.splice(0, GxMctableData.length, ...response.data);
+ //    getGxMcshow.value = true; 
+ //    }
     
-    // 取出 data 中的第一个元素
-    const item = response.data[0];
+ //    // 取出 data 中的第一个元素
+ //    const item = response.data[0];
     
-    // 将数据拆分成变量名和内容
-    const variableName = Object.keys(item)[0]; // 变量名
-    const variableContent = item[variableName]; // 变量内容
+ //    // 将数据拆分成变量名和内容
+ //    const variableName = Object.keys(item)[0]; // 变量名
+ //    const variableContent = item[variableName]; // 变量内容
     
-    const variableName1 = Object.keys(item)[1]; // 变量名
-    const variableContent1 = item[variableName1]; // 变量内容
+ //    const variableName1 = Object.keys(item)[1]; // 变量名
+ //    const variableContent1 = item[variableName1]; // 变量内容
     
-    const variableName2 = Object.keys(item)[2]; // 变量名
-    const variableContent2 = item[variableName2]; // 变量内容
+ //    const variableName2 = Object.keys(item)[2]; // 变量名
+ //    const variableContent2 = item[variableName2]; // 变量内容
     
-    console.log(variableContent2); // 输出生成的 Vue 代码
+ //    console.log(variableContent2); // 输出生成的 Vue 代码
     
-    // 根据 response.data.length 的值动态给 formData 中的变量赋值
-    let Bname = 'Gd_cpmc' + num;
-    let Bname2= 'sczl_gxmc' + num;
-    let Bname3 = 'sczl_yjGx' + num;
-    formData.value[Bname] = variableContent; // 假设要赋的值是 123
-    formData.value[Bname2] = variableContent1;
-    formData.value[Bname3] = variableContent2;
-    console.log(formData.value[Bname]);
-  }
+ //    // 根据 response.data.length 的值动态给 formData 中的变量赋值
+ //    let Bname = 'Gd_cpmc' + num;
+ //    let Bname2= 'sczl_gxmc' + num;
+ //    let Bname3 = 'sczl_yjGx' + num;
+ //    formData.value[Bname] = variableContent; // 假设要赋的值是 123
+ //    formData.value[Bname2] = variableContent1;
+ //    formData.value[Bname3] = variableContent2;
+ //    console.log(formData.value[Bname]);
+ //  }
 }
 
 
 
 
-// const inputOnclick = (event, inputName) => {
-//  if(formData.value.sczl_gdbh6.length!=7||formData.value.sczl_gdbh5.length!=7||formData.value.sczl_gdbh3.length!=7||formData.value.sczl_gdbh4.length!=7||formData.value.sczl_gdbh2.length!=7||formData.value.sczl_gdbh1.length!=7){
-// 	  	return false
-// 	  }
-// 	  // console.log(inputName);
-// 	  let combinedString = 'formData.value.sczl_gdbh' + inputName;
-// 	  // console.log(combinedString)
-// 	  let variableName = 'sczl_gdbh'+inputName;
-// 	  let variableValue = eval('formData.value.' + variableName);
-// 	 console.log(variableValue)
-// 	  // GetGxMc(combinedString)
-
-// }
-
 const getGxMcsubmit = (event, inputName) => {
  if(formData.value.sczl_gdbh6.length!=7||formData.value.sczl_gdbh5.length!=7||formData.value.sczl_gdbh3.length!=7||formData.value.sczl_gdbh4.length!=7||formData.value.sczl_gdbh2.length!=7||formData.value.sczl_gdbh1.length!=7){
 	  	return false
@@ -728,12 +801,15 @@ const getGxMcsubmit = (event, inputName) => {
 	  let variableValue = eval('formData.value.' + variableName);
 	 console.log(variableValue)
 	  GetGxMc(variableValue,inputName)
-
 }
 
+
 // 搜索
 function onSearch() {
-
+  params.gdbh = positionvalue.value
+  params.type = 'getLocateTable'
+  page.value = 1
+  Getlocate()
 }
 // ============== 表格控制部分结束 ===============
 
@@ -748,7 +824,14 @@ setOptions()
 const multipleSelection = ref([])
 // 多选
 const handleSelectionChange = (val) => {
-  multipleSelection.value = val
+	if(val.length>0){		
+		multipleSelection.value = val
+		const lenth=val.length
+		lastCellValue=val[lenth-1].UniqId
+		console.log(val)
+		val.splice(0, val.length);  // 清空 val 数组	
+		console.log(lastCellValue)
+	}
 }
 
 // 批量删除控制标记
@@ -807,6 +890,9 @@ const positioningVisible = () => {
     positioningVisibleshow.value = true
 }
 
+const Del = () => {
+   GxMcdel()
+}
 
 const closepositioningVisible = () => {
   positioningVisibleshow.value = false
@@ -839,8 +925,8 @@ const closeDialog = () => {
 // 弹窗确定
 const enterDialog = async () => {
       
-	  formData.value.UniqId=lastCellValue
-      GxMcedit()
+	  // formData.value.UniqId=lastCellValue
+      updateDetailData()
    //    GxMcedit(lastCellValue)
 	 // closeDialog()
 	 // getTableData()
@@ -853,7 +939,7 @@ function doubleClick(row) {
      // console.log(row, column, event);
        // updateCompanyFunc(row);
        type.value = 'update';
-       dialogFormVisible.value = true
+       
 	   lastCellValue= row['UniqId'];
 		 console.log(lastCellValue)
 		 table.value=lastCellValue

+ 277 - 131
src/view/yunyin/chanpinziliao/chanpinziliao.vue

@@ -19,16 +19,16 @@
         <el-main>
           <!--      搜索框 -->
           <div class="gva-search-box">
-            <el-form ref="elSearchFormRef" :inline="true" :model="searchInfo" class="demo-form-inline" :rules="searchRule" @keyup.enter="onSubmit">
+            <el-form ref="elSearchFormRef" :inline="true"  class="demo-form-inline" :rules="searchRule" @keyup.enter="onSubmit">
               <!--          左侧查询输入框 -->
-
               <el-form-item>
-                <el-input v-model="searchInfo.keyword" placeholder="搜索产品编号或产品名称" clearable style="width: 200px;"></el-input>
-
+                <el-input v-model="searchInfo" placeholder="搜索产品编号或产品名称" clearable style="width: 200px;"></el-input>
                 <el-button type="primary" icon="search" @click="onSubmit" style="margin-left: 10px">查询</el-button>
+
 <!--                <el-button icon="refresh" @click="onReset">重置</el-button>-->
 <!--                <el-button type="primary" icon="plus" @click="openDialog">新增</el-button>-->
 
+<!--            状态设置-->
                 <el-button type="primary" icon="edit" @click="onStatusClick">状态设置</el-button>
                 <el-dialog v-model="onstatuslist" title="状态设置" width="20%" style="height: 25%; position: fixed; bottom: 35%; left: 40%">
                   <div style="display: flex; flex-direction: column; align-items: center; height: 100%;">
@@ -51,6 +51,7 @@
 
 <!--                <el-button type="primary" disabled icon="edit" @click="" style="margin-left: 10px">工艺方案复制</el-button>-->
 
+<!--            工艺方案更名-->
                 <el-button type="primary" icon="edit" @click="gygmClick" style="margin-left: 10px">工艺方案更名</el-button>
                 <el-dialog v-model="gygmlist" title="工艺方案更名" width="40%" style="height: 40%; position: fixed; bottom: 30%; left: 30%">
                   <div style="display: flex; flex-direction: column;  height: 100%;">
@@ -80,30 +81,35 @@
                   </div>
                 </el-dialog>
 
+<!--             工艺方案附加 -->
                 <el-button type="primary"  icon="edit" @click="fjClick" style="margin-left: 10px">工艺方案附加</el-button>
                 <el-dialog v-model="fjlist" title="工艺方案附加" width="1400px" style="height: 740px;bottom: 6%;">
                   <div>
+
                     <div style="width: 100%; height: 60px; padding: 0px; margin: 10px 0px 0px 0px; display: flex; align-items: center;">
                       <el-form-item label="当前产品:" prop="currentProcess" style="margin-right: 20px;padding: 0px">
                         <el-input v-model="fjformData['process']" disabled :clearable="true" placeholder="" style="width: 160px;"/>
                       </el-form-item>
                       <el-input v-model="fjformData['processName']" disabled :clearable="true" placeholder="" style="flex: 1;"/>
                       <el-form-item label="工艺方案:" prop="originalName"  style="margin-left: 20px;">
-                        <el-select v-model="fjformData.originalName" placeholder="请选择" style="width: 160px;" @change="handleOriginalNameChange">
+                        <el-select v-model="fjformData.originalName" placeholder="请选择" style="width: 160px;" @click="onoriginalNameclick" @change="handleOriginalNameChange">
                           <el-option v-for="option in fjformData.originalNameOptions" :key="option" :label="option" :value="option" />
                         </el-select>
                       </el-form-item>
                     </div>
+
                     <div style="width: 100%; height: 60px; padding: 0px; margin: 10px 0px 0px 0px; display: flex; align-items: center;">
-                      <el-form-item label="当前产品:" prop="currentProcess" style="margin-right: 20px;padding: 0px">
-                        <el-input v-model="fjformData['dqprocess']"  :clearable="true" placeholder="" style="width: 160px;"/>
+                      <el-form-item label="新 产 品 :" prop="currentProcess" style="margin-right: 20px; padding: 0px">
+                        <el-input v-model="fjformData['dqprocess']"
+                                  @keyup.enter="getProductValue" :clearable="true" placeholder="输入新产品" style="width: 160px;"/>
                       </el-form-item>
-                      <el-input v-model="fjformData['dqprocessName']"  :clearable="true" placeholder="" style="flex: 1;"/>
-                      <el-form-item label="工艺方案:" prop="currentProcess" style="margin-right: 20px;padding: 0px">
-                        <el-input v-model="fjformData['dqoriginalName']"  :clearable="true" placeholder="" style="width: 160px;"/>
+                      <el-input v-model="fjformData['dqprocessName']"
+                                :disabled="!!fjformData['dqprocessName']"
+                                placeholder="点击输框获取产品名称" @click="ondqprocessNameclick" :clearable="true"  style="flex: 1;"/>
+                      <el-form-item label="工艺方案:" prop="originalName" style="margin-left: 20px;">
+                        <el-input v-model="fjformData['dqoriginalName']" :clearable="true" placeholder="" style="width: 160px;"/>
                       </el-form-item>
                     </div>
-
                         <el-table ref="multipleTable"
                                   :show-overflow-tooltip="true"
                                   :row-style="{ height: '20px' }"
@@ -111,18 +117,72 @@
                                   :header-cell-style="{ padding: '0px' }"
                                   style="width: 100%;height: 450px" border tooltip-effect="dark"
                                   :data="fjtableData" row-key="ID" @selection-change="handleSelectionChange">
-                          <el-table-column align="left" label="方案" prop="方案"  width="70"/>
-                          <el-table-column align="left" label="印件" prop="Gy0_yjno"  width="70"/>
-                          <el-table-column align="left" label="序号" prop="Gy0_gxh"  width="70"/>
-                          <el-table-column align="left" label="备注" prop="remark"  width="70"/>
-
+                          <el-table-column v-slot="scope" align="left" label=方案 width="100" >
+                            <el-input disabled v-model="scope.row.programme" :clearable="false"/>
+                          </el-table-column>
+                          <el-table-column v-slot="scope" align="left" label="印件号" width="100">
+                            <el-input v-model="scope.row.Gy0_yjno" :clearable="false"/>
+                          </el-table-column>
+                          <el-table-column v-slot="scope" align="left" label="工序号" width="100" >
+                            <el-input v-model="scope.row.Gy0_gxh" :clearable="false"/>
+                          </el-table-column>
+                          <el-table-column v-slot="scope" align="left" label="工序名称" width="340" >
+                            <el-input disabled v-model="scope.row.Add_gxmc" :clearable="false"/>
+                          </el-table-column>
+                          <el-table-column v-slot="scope" align="left" label="工价系列" width="100" >
+                            <el-input disabled v-model="scope.row.difficulty_coe" :clearable="false"/>
+                          </el-table-column>
+                          <el-table-column v-slot="scope" align="left" label="损耗系数" width="100" >
+                            <el-input disabled v-model="scope.row.loss_coe" :clearable="false"/>
+                          </el-table-column>
+                          <el-table-column v-slot="scope" align="left" label="开数" width="100" >
+                            <el-input  v-model="scope.row.Gy0_Ks" :clearable="false"/>
+                          </el-table-column>
+                          <el-table-column v-slot="scope" align="left" label="联数" width="100" >
+                            <el-input  v-model="scope.row.Gy0_ls" :clearable="false"/>
+                          </el-table-column>
+                          <el-table-column v-slot="scope" align="left" label="备注" width="200" >
+                            <el-input disabled v-model="scope.row.remark" :clearable="false"/>
+                          </el-table-column>
+                          <el-table-column v-slot="scope" align="left" label="车间" width="120" >
+                            <el-input disabled v-model="scope.row.Gy0_site" :clearable="false"/>
+                          </el-table-column>
+                          <el-table-column v-slot="scope" align="left" label="设备编号" width="100" >
+                            <el-input disabled v-model="scope.row.Gy0_sbbh" :clearable="false"/>
+                          </el-table-column>
                         </el-table>
+
                     <div class="dialog-footer" style="margin-top: 14px; margin-left: 50%;">
                       <el-button type="primary" @click="fjbzgx">附加标准工序</el-button>
                       <el-button type="primary" @click="gxdqcpgx">更新当前产品工序</el-button>
-                      <el-button type="primary" @click="fjhandleConfirm">建立工艺方案</el-button>
+                      <el-button type="primary" :disabled="!fjformData['dqoriginalName']" @click="fjhandleConfirm">建立工艺方案</el-button>
                       <el-button type="primary" @click="fjhandleCancel">放弃操作</el-button>
                     </div>
+
+                  </div>
+                </el-dialog>
+
+<!--              点击附加标准工序 显示 产品工艺流程附加选择 -->
+                  <el-dialog v-model="cpgylcfjxx" title="产品工艺流程附加选择" width="1400px" style="height: 740px;bottom: 6%;">
+                  <div>
+                    <div style="width: 100%; height: 60px; padding: 0px; margin: 10px 0px 0px 0px; display: flex; align-items: center;">
+                      <el-form-item label="新 产 品 :" prop="currentProcess" style="margin-right: 20px; padding: 0px">
+                        <el-input v-model="cpgyformData['dqprocess']"
+                                  @keyup.enter="cpgygetProductValue" :clearable="true" placeholder="输入新产品" style="width: 160px;"/>
+                      </el-form-item>
+                      <el-input v-model="cpgyformData['dqprocessName']"
+                                :disabled="!!cpgyformData['dqprocessName']"
+                                placeholder="点击输框获取产品名称" @click="cpgyondqprocessNameclick" :clearable="true"  style="flex: 1;"/>
+                      <el-form-item label="工艺方案:" prop="originalName" style="margin-left: 20px;">
+                        <el-input v-model="cpgyformData['dqoriginalName']" :clearable="true" placeholder="" style="width: 160px;"/>
+                      </el-form-item>
+                    </div>
+
+                    <div class="dialog-footer" style="margin-top: 14px; margin-left: 50%;">
+                      <el-button type="primary" @click="onfjbzgxexecute">执 行</el-button>
+                      <el-button type="primary" @click="onfjbzgxcancellation">放 弃</el-button>
+                    </div>
+
                   </div>
                 </el-dialog>
 
@@ -175,7 +235,7 @@
             </el-form>
           </div>
 
-          <!--      表格及操作按钮 -->
+          <!--   表格 -->
           <div class="gva-table-box">
             <!--        数据表格 -->
             <el-table ref="multipleTable"
@@ -222,7 +282,7 @@
 
           </div>
 
-          <!--      表格下的表格 -->
+          <!--   印件资料、工艺资料、印版资料、技术资料附件表格 -->
           <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
 
             <el-tab-pane label="印件资料"  @click="showTable('印件资料')"  name="first">
@@ -310,7 +370,6 @@
             </el-table>
             </el-tab-pane>
 
-
             <el-tab-pane label="技术资料附件" @click="showTable('技术资料附件')" name="fourth">
             <el-table ref="multipleTable"
                       :row-style="{ height: '20px' }"
@@ -331,7 +390,6 @@
             </el-table>
             </el-tab-pane>
 
-
           </el-tabs>
 
           <!-- 表格弹窗 -->
@@ -408,7 +466,7 @@
             </template>
           </el-dialog>
 
-          <!-- 印件资料 修改弹窗 -->
+          <!-- 印件资料 弹窗 -->
           <el-dialog v-model="yjdialogFormVisible" :before-close="yjcloseDialog" :title="type==='create'?'添加产品基本资料':'修改产品基本资料'" destroy-on-close>
             <el-row>
               <el-scrollbar height="500px">
@@ -482,7 +540,7 @@
             </template>
           </el-dialog>
 
-          <!-- 工艺资料 修改弹窗 -->
+          <!-- 工艺资料 弹窗 -->
           <el-dialog v-model="gydialogFormVisible" :before-close="gycloseDialog" :title="type==='create'?'添加工艺产品基本资料':'修改工艺产品基本资料'" destroy-on-close>
             <el-row>
               <el-scrollbar height="500px">
@@ -590,7 +648,7 @@
             </template>
           </el-dialog>
 
-          <!-- 印版资料 修改弹窗 -->
+          <!-- 印版资料 弹窗 -->
           <el-dialog v-model="ybdialogFormVisible" :before-close="ybcloseDialog" :title="type==='create'?'添加产品印版资料':'修改产品印版资料'" destroy-on-close>
             <el-row>
               <el-scrollbar height="500px">
@@ -680,7 +738,6 @@ export default {
       if(row.状态==="停产"){
         return "warning-row"
       }
-
     },
     rowClassStyle({row,rowIndex}){
       // debugger
@@ -712,7 +769,8 @@ import { getDictFunc, formatDate, formatBoolean, filterDict, ReturnArrImg, onDow
 import { ElMessage, ElMessageBox } from 'element-plus'
 import { ref, reactive } from 'vue'
 import {
-  editGyName,
+  DataList,
+  editGyName, editGyNo,
   getCustom,
   getDepartment,
   getProduct,
@@ -724,24 +782,25 @@ import {
 defineOptions({   name: 'Company'})
 
 // =========== 导出Excel表格 ===========
-//导出产品
-const cpdialogexportToExcel = ref(false)
-const cpexportToExcel = () => {
-  console.log('点击了导出产品按钮')
-  cpdialogexportToExcel.value = true;
-}
-
-//导出工艺
-const gydialogexportToExcel = ref(false)
-const gyexportToExcel = () => {
-  console.log('点击了导出工艺流程按钮')
-  gydialogexportToExcel.value = true;
-}
+// //导出产品
+// const cpdialogexportToExcel = ref(false)
+// const cpexportToExcel = () => {
+//   console.log('点击了导出产品按钮')
+//   cpdialogexportToExcel.value = true;
+// }
+//
+// //导出工艺
+// const gydialogexportToExcel = ref(false)
+// const gyexportToExcel = () => {
+//   console.log('点击了导出工艺流程按钮')
+//   gydialogexportToExcel.value = true;
+// }
 
 // =========== 状态设置 ===========
 const onstatuslist = ref(false);
 const status = ref('在产'); // 默认选择在产
 const _stacode = ref(null);
+//点击【状态设置】按钮
 const onStatusClick = () => {
   if(_product_code.value == null){
     onstatuslist.value = false;
@@ -751,12 +810,12 @@ const onStatusClick = () => {
     onstatuslist.value = true;
   }
 };
-// 状态设置放弃
+// 状态设置放弃按钮
 const handleCancel = () => {
   onstatuslist.value = false;
   console.log('点击了取消');
 };
-// 状态设置执行
+// 状态设置执行按钮
 const handleConfirm = async () => {
   onstatuslist.value = false;
     let statusCode;
@@ -774,66 +833,166 @@ handleCancel(_stacode);
 // =========== 工艺方案附加 ===========
 const fjlist = ref(false);
 const fjformData = reactive({
+  //↓当前产品数据
   process: '',//当前产品
   processName: '',//产品名称
   processfa: [],//工艺方案
   originalName: '', // 工艺方案默认选择的值
+  //↓新产品数据
+  dqprocess: '',
+  dqprocessName: '',
+  dqoriginalName: ''
 });
+const fjtableData = ref([]);
+const _originalNamev = ref(null);
+//获取选择下拉框当前方案的值
+const onoriginalNameclick = () => {
+    console.log("当前方案选择的值是:" + fjformData.originalName);
+}
+//输入新产品点击后面input获取新产品的值
+const ondqprocessNameclick = () => {
+  _originalNamev.value = fjformData['dqprocess'];
+  _ongetProductclick();
+}
+
+//新产品输入框回车事件
+const getProductValue = () => {
+  _originalNamev.value = fjformData['dqprocess'];
+  _ongetProductclick();
+}
+
+//封装获取单个产品基础数据方法[用来获取新产品名称]
+const _ongetProductclick = async ()=>{
+  let params = {}
+  params.search = _originalNamev.value;
+  params.limit = pageSize.value;
+  params.page = page.value;
+  try {
+    const WorkListdata = await getProduct(params);
+    fjformData['dqprocessName'] = WorkListdata.data.data[0]['产品名称'];
+  } catch (error) {
+    console.error(error);
+  }
+}
 
+//当前产品号通过接口查询工艺数据
+const getProductGys = async (product_code,plan) => {
+  const WorkListdata = await getProductGy({product_code:product_code,plan:plan});
+  fjtableData.value = WorkListdata.data
+};
+
+//点击【工艺方案附加】按钮
 const fjClick = () => {
-  console.log('点击了工艺方案附加');
   if(_product_code.value == null){
     fjlist.value = false;
     alert('请选择分类项目,再操作此功能');
   }else{
     fjlist.value = true;
-    fjformData.process = _product_code.value;
-    fjformData.processName = _kehu_code.value;
     if (gytableData.length === 0) {
       fjlist.value = false;
       alert('没有工艺资料');
     } else {
+      //默认新产品为空
+      fjformData.dqprocess = ''
+      fjformData.dqprocessName = ''
+      fjformData.dqoriginalName = ''
+      //将值赋值给当前产品
+      fjformData.process = _product_code.value;
+      fjformData.processName = _kehu_code.value;
+      //获取方案
       const uniqueSchemeSet = new Set();
       gytableData.forEach(item => {
         uniqueSchemeSet.add(item['方案']);
       });
       const uniqueSchemeArray = Array.from(uniqueSchemeSet);
-      fjformData.originalNameOptions = []; // 清空原有数据
+      fjformData.originalNameOptions = [];// 清空原有数据
       fjformData.originalNameOptions = fjformData.originalNameOptions.concat(uniqueSchemeArray);
       // 设置默认选择第一个选项
       if (fjformData.originalNameOptions.length > 0) {
         fjformData.originalName = fjformData.originalNameOptions[0];
       }
     }
-    // console.log(fjformData.process)
-    // console.log(fjformData.processName)
-    // console.log(fjformData.originalName)
     const product_code = fjformData.process
     const plan = fjformData.originalName
-    //编号 方案 获取到了 调用接口报错
-    // const WorkListdata = await getProductGy(product_code:product_code,plan:plan);
-    // console.log(WorkListdata)
-
+    // console.log(product_code)
+    getProductGys(product_code,plan)
   }
 };
-//附加标准工序
+
+
+//==========点击【附加标准工序】按钮=====弹出新页面==========
+const cpgyformData = reactive({
+  dqprocess: '',
+  dqprocessName: '',
+  dqoriginalName: ''
+});
+const cpgylcfjxx = ref(false);
+const _cpgyoriginalNamev = ref(null);
 const fjbzgx = async () => {
-  // let params = {}
-  // params.code = fjformData['dqprocess'];
-  // params.old_name = fjformData['dqprocessName'];
-  // params.new_name = fjformData['dqoriginalName'];
-  // console.log(params)
+  //清空输入框数据
+  cpgyformData['dqprocess'] = '';
+  cpgyformData['dqprocessName'] = '';
+  cpgyformData['dqoriginalName'] = '';
+  cpgylcfjxx.value = true;
+  // fjlist.value = false;
+}
+//输入新产品点击后面input获取新产品的值
+const cpgyondqprocessNameclick = () => {
+  _cpgyoriginalNamev.value = cpgyformData['dqprocess'];
+  _cpgyongetProductclick();
+}
+//新产品输入框回车事件
+const cpgygetProductValue = () => {
+  _cpgyoriginalNamev.value = fjformData['dqprocess'];
+  _cpgyongetProductclick();
+}
+const _cpgyongetProductclick = async ()=>{
+  let params = {}
+  params.search = _cpgyoriginalNamev.value;
+  params.limit = pageSize.value;
+  params.page = page.value;
+  try {
+    const WorkListdata = await getProduct(params);
+    cpgyformData['dqprocessName'] = WorkListdata.data.data[0]['产品名称'];
+  } catch (error) {
+    console.error(error);
+  }
+}
 
+//点击【附加标准工序执行】按钮
+const onfjbzgxexecute = async () => {
+  cpgylcfjxx.value = false;
 }
-//更新当前产品工序
+
+//点击【附加标准工序放弃】按钮
+const onfjbzgxcancellation = async () => {
+  cpgylcfjxx.value = false;
+}
+
+//点击【更新当前产品工序】按钮,更新的是表格数据
 const gxdqcpgx = async () => {
-  fjlist.value = false;
+  const rawValueArray = fjtableData._rawValue;
+  const formattedData = rawValueArray.map(item => {
+    return {
+      UniqID: item.UniqID,
+      Gy0_yjno: item.Gy0_yjno,
+      Gy0_gxh: item.Gy0_gxh,
+      Gy0_Ks: item.Gy0_Ks,
+      Gy0_ls: item.Gy0_ls
+    };
+  });
+  console.log(formattedData);
+  // const editGyNamedata = await editGyName({formattedData:formattedData});
+  // console.log(editGyNamedata);
+  // fjlist.value = false;
 };
-//建立工艺方案
+
+//点击【建立工艺方案】按钮,当前的方案建立到新产品方案中
 const fjhandleConfirm = async () => {
   fjlist.value = false;
 };
-//放弃操作
+
+//点击【工艺方案附加放弃操作】按钮
 const fjhandleCancel = () => {
   fjlist.value = false;
 };
@@ -848,8 +1007,8 @@ const gyformData = reactive({
   newName: '',
   originalName: '', // 工艺方案默认选择的值
 });
+//点击【工艺方案更名】按钮
 const gygmClick = () => {
-  // console.log('点击了工艺方案更名');
   if(_product_code.value == null){
     gygmlist.value = false;
     alert('请选择分类项目,再操作此功能');
@@ -875,11 +1034,12 @@ const gygmClick = () => {
     }
   }
 };
-// 工艺方案更名放弃
+// 点击工艺方案更名中【放弃】按钮
 const gygmhandleCancel = () => {
   gygmlist.value = false;
 };
-// 工艺方案更名执行
+
+// 点击工艺方案更名【执行】按钮
 const gygmhandleConfirm = async () => {
   gygmlist.value = false;
   let params = {}
@@ -901,6 +1061,7 @@ const gygmhandleConfirm = async () => {
     console.error(error);
   }
 };
+
 gygmhandleCancel(_gygmstacode);
 
 // =========== 左侧树侧形结构 ===========
@@ -920,6 +1081,7 @@ const tableData = reactive([])
 const _custom_code = ref(null)
 const handleNodeClick = async (node) => {
   _custom_code.value = node.客户编号;
+  searchInfo.value = '';
   _getProduct()
 };
 //印件资料
@@ -942,10 +1104,23 @@ const tableRowClick = async (row) => {
   gytableData.splice(0, gytableData.length, ...res.data.gyData);//工艺资料表格
   ybtableData.splice(0, ybtableData.length, ...res.data.ybData);//印版资料表格
 };
+// 搜索查询
+const searchInfo = ref('')
+//点击【查询】按钮
+const onSubmit = () => {
+  _custom_code.value = '';
+  _getProduct();
+};
+// 重置
+// const onReset = () => {
+//   searchInfo.value = {}
+//   getTableData()
+// }
 
-//封装的方法
+//封装获取单个产品基础数据方法
 const _getProduct = async ()=>{
   let params = {}
+  params.search = searchInfo.value;
   params.custom_code = _custom_code.value;
   params.limit = pageSize.value;
   params.page = page.value;
@@ -958,81 +1133,25 @@ const _getProduct = async ()=>{
   }
 }
 
-
 // ========分页==============
+const page = ref(1)
+const total = ref(0)
+const pageSize = ref(10)
 const handleCurrentChange = (val) => {
   page.value = val;
   _getProduct();
 };
-
 // 修改页面容量 点击多少条/页
 const handleSizeChange = (val) => {
   page.value = 15;//默认显示十条
   pageSize.value = val;
   _getProduct();
 };
-const page = ref(1)
-const total = ref(0)
-const pageSize = ref(10)
-
-
-const elFormRef = ref()
-const elSearchFormRef = ref()
-const searchInfo = ref({})
-// 搜索
-const onSubmit = () => {
-
-}
-
-// 查询
-const getTableData = async() => {
-
-}
-getTableData()
-
-// 重置
-const onReset = () => {
-  searchInfo.value = {}
-  getTableData()
-}
-
-
-
-// 验证规则
-const rule = reactive({})
-
-const searchRule = reactive({
-  createdAt: [
-    { validator: (rule, value, callback) => {
-        if (searchInfo.value.startCreatedAt && !searchInfo.value.endCreatedAt) {
-          callback(new Error('请填写结束日期'))
-        } else if (!searchInfo.value.startCreatedAt && searchInfo.value.endCreatedAt) {
-          callback(new Error('请填写开始日期'))
-        } else if (searchInfo.value.startCreatedAt && searchInfo.value.endCreatedAt && (searchInfo.value.startCreatedAt.getTime() === searchInfo.value.endCreatedAt.getTime() || searchInfo.value.startCreatedAt.getTime() > searchInfo.value.endCreatedAt.getTime())) {
-          callback(new Error('开始日期应当早于结束日期'))
-        } else {
-          callback()
-        }
-      }, trigger: 'change' }
-  ],
-})
-
-// 获取需要的字典 可能为空 按需保留
-const setOptions = async () =>{
-}
-
-// 获取需要的字典 可能为空 按需保留
-setOptions()
-
-//行为控制标记(弹窗内部需要增还是改)
-const type = ref('')
-
 //=========表格列表修改========
 let formDataTest = reactive({})
 //修改
 const updateCompanyFunc = async (row) => {
   formDataTest = row;
-  console.log(row);
   dialogFormVisible.value = true;
 };
 // 弹窗
@@ -1042,7 +1161,6 @@ const openDialog = () => {
   type.value = 'create'
   dialogFormVisible.value = true
 }
-
 // 关闭弹窗
 const closeDialog = () => {
   dialogFormVisible.value = false
@@ -1058,7 +1176,6 @@ let yjformDataTest = reactive({})
 //修改
 const yjupdateCompanyFunc = async (row) => {
   yjformDataTest = row;
-  console.log(row);
   yjdialogFormVisible.value = true;
 };
 // 弹窗
@@ -1083,9 +1200,7 @@ let gyformDataTest = reactive({})
 const gyupdateCompanyFunc = async (row) => {
   // const product_code = row.产品编号;
   const product_code = _product_code.value;
-  console.log(product_code);
   const res = await getProductGy({product_code:product_code});//接口
-  console.log(res);
   gyformDataTest = row;
   // console.log(row);
   gydialogFormVisible.value = true;
@@ -1112,7 +1227,6 @@ let ybformDataTest = reactive({})
 const ybupdateCompanyFunc = async (row) => {
   // const product_code = row.产品编号;
   const product_code = _product_code.value;
-  console.log(row);
   // const res = await getProductGy({product_code:product_code});//接口
   // console.log(res);
   ybformDataTest = row;
@@ -1136,6 +1250,38 @@ const ybcloseDialog = () => {
   }
 }
 
+const elFormRef = ref()
+const elSearchFormRef = ref()
+
+// 验证规则
+const rule = reactive({})
+
+const searchRule = reactive({
+  createdAt: [
+    { validator: (rule, value, callback) => {
+        if (searchInfo.value.startCreatedAt && !searchInfo.value.endCreatedAt) {
+          callback(new Error('请填写结束日期'))
+        } else if (!searchInfo.value.startCreatedAt && searchInfo.value.endCreatedAt) {
+          callback(new Error('请填写开始日期'))
+        } else if (searchInfo.value.startCreatedAt && searchInfo.value.endCreatedAt && (searchInfo.value.startCreatedAt.getTime() === searchInfo.value.endCreatedAt.getTime() || searchInfo.value.startCreatedAt.getTime() > searchInfo.value.endCreatedAt.getTime())) {
+          callback(new Error('开始日期应当早于结束日期'))
+        } else {
+          callback()
+        }
+      }, trigger: 'change' }
+  ],
+})
+
+// 获取需要的字典 可能为空 按需保留
+const setOptions = async () =>{
+}
+
+// 获取需要的字典 可能为空 按需保留
+setOptions()
+
+//行为控制标记(弹窗内部需要增还是改)
+const type = ref('')
+
 // 弹窗确定
 const enterDialog = async () => {
   elFormRef.value?.validate( async (valid) => {
@@ -1182,7 +1328,7 @@ const enterDialog = async () => {
   flex: 1;
 }
 .el-table .warning-row {
-  background: oldlace;
+  background: #FFFF80;
 }
 /* 选中某行时的背景色*/
 .el-table__body tr.current-row>td {

+ 170 - 78
src/view/yunyin/shengchanguanli/gongdanziliao.vue

@@ -29,6 +29,29 @@
 <!--                <el-button type="primary" icon="Download" @click="exportToExcel" style="float: right;">导出到Excel</el-button>-->
 <!--                <el-dialog v-model="dialogexportToExcel" title="导出到Excel" width="50%">-->
 
+                <el-button type="primary" icon="edit" @click="onhqcpzlclick" style="margin-left: 10px">印用产品资料</el-button>
+                <el-dialog v-model="onhqcpzllist" title="获取产品资料" width="50%">
+                  <div style="display: flex; flex-direction: column; align-items: center; height: 100%;">
+                    <!-- 其他内容 -->
+
+
+                    <el-form-item label=" " prop="processName">
+                      <el-input v-model="hqcpzlformData['gdbh']" disabled :clearable="true" placeholder="" style="width: 100%;" />
+                    </el-form-item>
+
+                    <div style="width: 100%; display: flex; justify-content: center; align-items: flex-end; height: 35%;">
+                      <div slot="footer" class="dialog-footer" style="text-align: center;">
+                        <el-button type="primary" @click="hqcpzlhandleConfirm">执行</el-button>
+                        <el-button @click="hqcpzlhandleCancel">放弃</el-button>
+                      </div>
+                    </div>
+
+                  </div>
+                </el-dialog>
+
+
+
+
 <!--                </el-dialog>-->
               </el-form-item>
             </el-form>
@@ -163,29 +186,31 @@
           </el-tabs>
 
          <!-- 弹窗 -->
-         <el-dialog v-model="dialogFormVisible" :before-close="closeDialog" style="width: 1000px;" :title="type==='create'?'添加工单资料':'修改工单资料'" destroy-on-close>
+         <el-dialog v-model="dialogFormVisible"
+                    :before-close="closeDialog"
+                    style="width: 1000px;" :title="type==='create'?'添加工单资料':'修改工单资料'" destroy-on-close>
            <el-row>
-             <el-form :model="formData" label-position="right" ref="elFormRef" :rules="rule" >
+             <el-form :model="scgdformData" label-position="right" ref="elFormRef" :rules="rule" >
 				<!-- 第一排 -->
                 <el-row :gutter="20">
                   <el-col :span="6">
                     <el-form-item label="重点工单:" prop="keyOrder">
-                      <el-input v-model="formData.keyOrder" :clearable="true" placeholder=""/>
+                      <el-input v-model="scgdformData['重点工单']" :clearable="true" placeholder=""/>
                     </el-form-item>
                   </el-col>
                   <el-col :span="7">
                     <el-form-item label="开单日期" prop="orderDate">
-                      <el-date-picker v-model="formData.orderDate" type="date" placeholder="选择日期" :clearable="true"  />
+                      <el-date-picker v-model="scgdformData['开单日期']" type="date" placeholder="选择日期" :clearable="true"  />
                     </el-form-item>
                   </el-col>
                   <el-col :span="5">
                     <el-form-item label="工单编号:" prop="orderNumber">
-                      <el-input v-model="formData.orderNumber" :clearable="true" placeholder="" />
+                      <el-input v-model="scgdformData['工单编号']" :clearable="true" placeholder="" />
                     </el-form-item>
                   </el-col>
                   <el-col :span="5">
                     <el-form-item label="生产类型:" prop="productionType">
-                      <el-input v-model="formData.productionType" :clearable="true" placeholder="" />
+                      <el-input v-model="scgdformData['生产类型']" :clearable="true" placeholder="" />
                     </el-form-item>
                   </el-col>
                 </el-row>
@@ -194,12 +219,12 @@
 				  <el-row :gutter="20">
 					<el-col :span="6">
 					  <el-form-item label="客户代号:" prop="customerCode">
-						<el-input v-model="formData.customerCode" :clearable="true" placeholder=""  />
+						<el-input v-model="scgdformData['客户代号']" :clearable="true" placeholder=""  />
 					  </el-form-item>
 					</el-col>
 					<el-col :span="14">
 					  <el-form-item label="客户名称:" prop="customerName">
-						<el-input v-model="formData.customerName" :clearable="true" placeholder=""  />
+						<el-input v-model="scgdformData['客户名称']" :clearable="true" placeholder=""  />
 					  </el-form-item>
 					</el-col>
 				  </el-row>
@@ -208,12 +233,12 @@
 				  <el-row :gutter="20">
 					<el-col :span="6">
 					  <el-form-item label="产品代码:" prop="productCode">
-						<el-input v-model="formData.productCode" :clearable="true" placeholder=""/>
+						<el-input v-model="scgdformData['产品代号']" :clearable="true" placeholder=""/>
 					  </el-form-item>
 					</el-col>
 					<el-col :span="14">
 					  <el-form-item label="产品名称:" prop="productName">
-						<el-input v-model="formData.productName" :clearable="true" placeholder="" />
+						<el-input v-model="scgdformData['产品名称']" :clearable="true" placeholder="" />
 					  </el-form-item>
 					</el-col>
 				  </el-row>
@@ -222,12 +247,12 @@
                   <el-row :gutter="20">
                     <el-col :span="6">
                       <el-form-item label="印件代码:" prop="customerCode">
-                        <el-input v-model="formData.customerCode" :clearable="true" placeholder="" />
+                        <el-input v-model="scgdformData['印件代号']" :clearable="true" placeholder="" />
                       </el-form-item>
                     </el-col>
                     <el-col :span="14">
                       <el-form-item label="印件名称:" prop="customerName">
-                        <el-input v-model="formData.customerName" :clearable="true" placeholder=""  />
+                        <el-input v-model="scgdformData['印件名称']" :clearable="true" placeholder=""  />
                       </el-form-item>
                     </el-col>
                   </el-row>
@@ -236,22 +261,22 @@
 				  <el-row :gutter="20">
 				    <el-col :span="6">
 				      <el-form-item label="订单数量:" prop="orderQuantity">
-				        <el-input v-model="formData.orderQuantity" :clearable="true" placeholder="" style="width: 140px;" />
+				        <el-input v-model="scgdformData['订单数量']" :clearable="true" placeholder="" style="width: 140px;" />
 				      </el-form-item>
 				    </el-col>
 				    <el-col :span="6">
 				      <el-form-item label="交货日期:" prop="deliveryDate">
-				        <el-input v-model="formData.deliveryDate" :clearable="true" placeholder="" style="width: 140px;" />
+				        <el-input v-model="scgdformData['交货日期']" :clearable="true" placeholder="" style="width: 140px;" />
 				      </el-form-item>
 				    </el-col>
 				    <el-col :span="6">
 				      <el-form-item label="投料率:" prop="feedRate">
-				        <el-input v-model="formData.feedRate" :clearable="true" placeholder="" style="width: 140px;" />
+				        <el-input v-model="scgdformData['投料率']" :clearable="true" placeholder="" style="width: 140px;" />
 				      </el-form-item>
 				    </el-col>
 				    <el-col :span="6">
 				      <el-form-item label="平均合格率:" prop="passRate">
-				        <el-input v-model="formData.passRate" :clearable="true" placeholder="" style="width: 140px;" />
+				        <el-input v-model="scgdformData['平均合格率']" :clearable="true" placeholder="" style="width: 140px;" />
 				      </el-form-item>
 				    </el-col>
 				  </el-row>
@@ -261,22 +286,23 @@
                   <el-row :gutter="20">
                     <el-col :span="6">
                       <el-form-item label="平张投料:" prop="flatFeed">
-                        <el-input v-model="formData.flatFeed" :clearable="true" placeholder="" style="width: 140px;" />
+                        <el-input v-model="scgdformData['平张投料']" :clearable="true" placeholder="" style="width: 140px;" />
                       </el-form-item>
                     </el-col>
                     <el-col :span="6">
                       <el-form-item label="万小张:" prop="perTenThousand">
-                        <el-input v-model="formData.perTenThousand" :clearable="true" placeholder="" style="width: 140px;" />
+                        <el-input v-model="scgdformData['万小张']" :clearable="true" placeholder="" style="width: 140px;" />
+                        <el-input v-model="scgdformData['单位']" :clearable="true" placeholder="" style="width: 140px;" />
                       </el-form-item>
                     </el-col>
                     <el-col :span="6">
                       <el-form-item label="投料大箱:" prop="feedBox">
-                        <el-input v-model="formData.feedBox" :clearable="true" placeholder="" style="width: 140px;" />
+                        <el-input v-model="scgdformData['折合大箱']" :clearable="true" placeholder="" style="width: 140px;" />
                       </el-form-item>
                     </el-col>
                     <el-col :span="6">
                       <el-form-item label="库存大箱:" prop="stockBox">
-                        <el-input v-model="formData.stockBox" :clearable="true" placeholder="" style="width: 140px;" />
+                        <el-input v-model="scgdformData['库存大箱']" :clearable="true" placeholder="" style="width: 140px;" />
                       </el-form-item>
                     </el-col>
                   </el-row>
@@ -285,7 +311,7 @@
                   <el-row :gutter="20">
                     <el-col :span="20">
                       <el-form-item label="销售订单号:" prop="salesOrder">
-                        <el-input v-model="formData.salesOrder" :clearable="true" placeholder="" />
+                        <el-input v-model="scgdformData['销售订单号']" :clearable="true" placeholder="" />
                       </el-form-item>
                     </el-col>
                   </el-row>
@@ -294,7 +320,7 @@
                   <el-row :gutter="20">
                     <el-col :span="20">
                       <el-form-item label="警语版面:" prop="warningLayout">
-                        <el-input v-model="formData.warningLayout" :clearable="true" placeholder=""  />
+                        <el-input v-model="scgdformData['警语版面']" :clearable="true" placeholder=""  />
                       </el-form-item>
                     </el-col>
                   </el-row>
@@ -303,12 +329,12 @@
                   <el-row :gutter="20">
                     <el-col :span="6">
                       <el-form-item label="版本号:" prop="versionNumber">
-                        <el-input v-model="formData.versionNumber" :clearable="true" placeholder="" />
+                        <el-input v-model="scgdformData['版本号']" :clearable="true" placeholder="" />
                       </el-form-item>
                     </el-col>
                     <el-col :span="14">
                       <el-form-item label="客户ERP编码:" prop="customerErpCode">
-                        <el-input v-model="formData.customerErpCode" :clearable="true" placeholder=""  />
+                        <el-input v-model="scgdformData['客户ERP编码']" :clearable="true" placeholder=""  />
                       </el-form-item>
                     </el-col>
                   </el-row>
@@ -317,7 +343,7 @@
                   <el-row :gutter="20">
                     <el-col :span="8">
                       <el-form-item label="码源数量:" prop="codeSourceQuantity">
-                        <el-input v-model="formData.codeSourceQuantity" :clearable="true" placeholder="" style="width: 170px;" />
+                        <el-input v-model="scgdformData['码源数量']" :clearable="true" placeholder="" style="width: 170px;" />
                       </el-form-item>
                     </el-col>
                   </el-row>
@@ -326,7 +352,7 @@
                   <el-row :gutter="20">
                     <el-col :span="20">
                       <el-form-item label="进程备注:" prop="processNote">
-                        <el-input v-model="formData.processNote" :clearable="true" placeholder=""  />
+                        <el-input v-model="scgdformData['进程备注']" :clearable="true" placeholder=""  />
                       </el-form-item>
                     </el-col>
                   </el-row>
@@ -335,7 +361,7 @@
                  <el-row :gutter="20">
                    <el-col :span="20">
                      <el-form-item label="备注说明:" prop="remark">
-                       <el-input type="textarea" v-model="formData.remark" :rows="4" :clearable="true" placeholder="请输入备注说明" style="width: 100%;" />
+                       <el-input type="textarea" v-model="scgdformData['备注']" :rows="4" :clearable="true" placeholder="请输入备注说明" style="width: 100%;" />
                      </el-form-item>
                    </el-col>
                  </el-row>
@@ -386,15 +412,56 @@ import {createCompany, deleteCompany, deleteCompanyByIds, updateCompany, findCom
 import { getDictFunc, formatDate, formatBoolean, filterDict, ReturnArrImg, onDownloadFile } from '@/utils/format'
 import { ElMessage, ElMessageBox } from 'element-plus'
 import { ref, reactive } from 'vue'
-import {DataList, WorkList, Craft, Printed,Bom} from "@/api/yunyin/yunying";
+import {DataList, WorkList, Craft, Printed, Bom, DataCorrection, setProductStatus} from "@/api/yunyin/yunying";
 defineOptions({name: 'Company'})
 // =========== 导出Excel表格 ===========
-const exportToExcel = () => {
-  console.log('点击了导出按钮')
-  dialogexportToExcel.value = true;
-}
-// 导出Excel弹窗
-const dialogexportToExcel = ref(false)
+// const exportToExcel = () => {
+//   console.log('点击了导出按钮')
+//   dialogexportToExcel.value = true;
+// }
+// // 导出Excel弹窗
+// const dialogexportToExcel = ref(false)
+
+
+// =========== 印用产品资料 ===========
+const onhqcpzllist = ref(false);
+const hqcpzlformData = reactive({
+  gdbh: '',//当工单编号
+});
+const DataLists = async () => {
+  const DataListss = await DataList({Gd_gdbh:_Gd_gdbh.value});
+  // hqcpzlformData.gdbh = DataListss
+  console.log(DataListss)
+};
+// const onhqcpzlclick = () => {
+const onhqcpzlclick = async () => {
+  onhqcpzllist.value = true;
+  DataLists()
+  // try {
+  //   const data = await DataList(Gd_gdbh:_Gd_gdbh.value);
+  //   console.log(data);
+  // } catch (error) {
+  //   console.error(error);
+  // }
+
+
+  // if(_Gd_gdbh.value == null){
+  //   onstatuslist.value = false;
+  //   alert('请选择具体的工单后,再操作此功能');
+  // }else{
+  //   hqcpzlformData.process = _Gd_gdbh.value;
+  //   onstatuslist.value = true;
+  // }
+};
+// 获取产品资料放弃
+const hqcpzlhandleCancel = () => {
+  onhqcpzllist.value = false;
+};
+//获取产品资料执行
+const hqcpzlhandleConfirm = async () => {
+  onhqcpzllist.value = false;
+};
+
 // =========== 左侧树侧形结构 ===========
 const treeData = reactive({data:[]});
 // const treeData = reactive({});
@@ -409,7 +476,7 @@ const DataListdata = async () => {
     for(let key in data.data)
     {
       let temp = data.data[key].split('【');
-      console.log('tree data list:>>',temp)
+      // console.log('tree data list:>>',temp)
       let object = {};
       object.id = temp[0];
       object.label = data.data[key]
@@ -427,7 +494,6 @@ DataListdata();
 //点击左侧树形获取编号
 const tableData = reactive([])
 const handleNodeClick = async (node) => {
-  // const Gd_khdh = node.Gd_khdh;
   const Gd_khdh = '0201';
   try {
     const WorkListdata = await WorkList({ Gd_khdh:Gd_khdh});//接口调用函数
@@ -444,7 +510,11 @@ const yjtableData = ref([])
 const gytableData = ref([])
 //BOM资料
 const bomtableData = ref([])
+//全局调用工单编号
+const _Gd_gdbh = ref(null)
+//点击表格行 获取下方表格数据列表
 const tableRowClick = async (row) => {
+  _Gd_gdbh.value = row.工单编号;
   const Gd_gdbh = row.工单编号;
   const yjres = await Printed({ Gd_gdbh:Gd_gdbh});
   const gyres = await Craft({ Gd_gdbh:Gd_gdbh });
@@ -468,12 +538,12 @@ const handleSizeChange = (val) => {
   DataListdata();
 };
 
-// 自动化生成的字典(可能为空)以及字段
-const formData = ref({
-        address: '',
-        image: '',
-        name: '',
-        })
+// // 自动化生成的字典(可能为空)以及字段
+// const formData = ref({
+//         address: '',
+//         image: '',
+//         name: '',
+//         })
 
 // 验证规则
 const rule = reactive({
@@ -549,53 +619,75 @@ const handleSelectionChange = (val) => {
 // 行为控制标记(弹窗内部需要增还是改)
 const type = ref('')
 
-//编辑
+//=========表格列表修改========
+let scgdformData = reactive({})
 const updateCompanyFunc = async(row) => {
-  console.log(row);
-	dialogFormVisible.value = true
-}
+  const Gd_gdbh = row['工单编号'];
+  const tableCompanyList = await DataCorrection({ Gd_gdbh: Gd_gdbh})
+  scgdformData = tableCompanyList.data;
+  console.log(scgdformData);
+  console.log(scgdformData['万小张']);
 
+  dialogFormVisible.value = true
+}
 // 弹窗控制标记
 const dialogFormVisible = ref(false)
-
-// 查看详情控制标记
-const detailShow = ref(false)
-
-// 打开详情弹窗
-const openDetailShow = () => {
-  detailShow.value = true
-}
-
-// 打开详情
-const getDetails = async (row) => {
-   detailShow.value = true
-}
-
-// 关闭详情弹窗
-const closeDetailShow = () => {
-  detailShow.value = false
-  formData.value = {
-          address: '',
-          image: '',
-          name: '',
-          }
-}
-
 // 打开弹窗
 const openDialog = () => {
-    type.value = 'create'
-    dialogFormVisible.value = true
+  type.value = 'create'
+  dialogFormVisible.value = true
 }
 
 // 关闭弹窗
 const closeDialog = () => {
-    dialogFormVisible.value = false
-    formData.value = {
-        address: '',
-        image: '',
-        name: '',
-        }
+  dialogFormVisible.value = false
+  formData.value = {
+    address: '',
+    image: '',
+    name: '',
+  }
 }
+
+
+
+// // 查看详情控制标记
+// const detailShow = ref(false)
+//
+// // 打开详情弹窗
+// const openDetailShow = () => {
+//   detailShow.value = true
+// }
+//
+// // 打开详情
+// const getDetails = async (row) => {
+//    detailShow.value = true
+// }
+//
+// // 关闭详情弹窗
+// const closeDetailShow = () => {
+//   detailShow.value = false
+//   formData.value = {
+//           address: '',
+//           image: '',
+//           name: '',
+//           }
+// }
+
+// // 打开弹窗
+// const openDialog = () => {
+//     type.value = 'create'
+//     dialogFormVisible.value = true
+// }
+//
+// // 关闭弹窗
+// const closeDialog = () => {
+//     dialogFormVisible.value = false
+//     formData.value = {
+//         address: '',
+//         image: '',
+//         name: '',
+//         }
+// }
 // 弹窗确定
 const enterDialog = async () => {
      elFormRef.value?.validate( async (valid) => {