zck há 1 ano atrás
pai
commit
0fdc2796b7

+ 65 - 7
src/api/mes/job.js

@@ -111,6 +111,64 @@ export const orderPrint = (params) => {
     params
   })
 }
+
+
+//自动获取订单编号
+export const getWorkOrder = (params) => {
+  return service({
+    url: '/mes_server/work_order/getWorkOrder',
+    method: 'get',
+    params
+  })
+}
+
+
+//车缝班组列表
+export const MachineList = (params) => {
+  return service({
+    url: '/mes_server/manufacture/MachineList',
+    method: 'get',
+    params
+  })
+}
+//班组生产数据
+export const MachineDetail = (params) => {
+  return service({
+    url: '/mes_server/manufacture/MachineDetail',
+    method: 'get',
+    params
+  })
+}
+
+//订单未审核列表
+export const UnapprovalList = (params) => {
+  return service({
+    url: '/mes_server/manufacture/UnapprovalList',
+    method: 'get',
+    params
+  })
+}
+
+
+//月度订单工序左侧菜单
+export const dateList = (params) => {
+  return service({
+    url: '/mes_server/manufacture/dateList',
+    method: 'get',
+    params
+  })
+}
+
+//月度订单工序产量
+export const OrderYieldList = (params) => {
+  return service({
+    url: '/mes_server/manufacture/OrderYieldList',
+    method: 'get',
+    params
+  })
+}
+
+
 //获取报工历史记录
 export const getTab = (params) => {
   return service({
@@ -273,13 +331,13 @@ export const MachineClassList = (params) => {
     params
   })
 }
-export const MachineList = (params) => {
-  return service({
-    url: '/mes_server/large_waste_reward_punish/MachineList',
-    method: 'get',
-    params
-  })
-}
+// export const MachineList = (params) => {
+//   return service({
+//     url: '/mes_server/large_waste_reward_punish/MachineList',
+//     method: 'get',
+//     params
+//   })
+// }
 export const JunkDetailDel = (params) => {
   return service({
     url: '/mes_server/large_waste_reward_punish/JunkDetailDel',

+ 71 - 23
src/view/performance/baozhuangbaogong.vue

@@ -24,12 +24,15 @@
 		      </el-row>
 				
 				<el-row :gutter="24">  
-					<el-form-item label="数量:" prop="shuliang" class="mab" style="font-size: 30px;margin: 10px;" label-width="90">
-						<el-input v-model="add_formData['数量']" style="width: 110px;height: 40px;" id="shuliang" />
-					</el-form-item>
 					<el-form-item label="尺码:" prop="chima" class="mab" style="font-size: 30px;margin: 10px;" label-width="90">
 						<el-input v-model="add_formData['尺码']" readonly style="width: 110px;height: 40px;" id="chima" />
 					</el-form-item>
+					<el-form-item label="数量:" prop="shuliang" class="mab" style="font-size: 30px;margin: 10px;" label-width="90">
+						<el-input v-model="add_formData['数量']" readonly style="width: 110px;height: 40px;" id="shuliang" />
+					</el-form-item>
+					<el-form-item label="上报数量:" prop="sbsl" class="mab" style="font-size: 30px;margin: 10px;" label-width="150">
+						<el-input v-model="add_formData['上报数量']" @input="baogongslpd"  style="width: 110px;height: 40px;" id="sbsl" />
+					</el-form-item>
 					<el-form-item label="是否尾包:" prop="joinDate" style="font-size: 30px; margin: 10px;" label-width="150">  
 					<!-- 假设 activeButtonValue 是从后端或某个方法获取的,这里直接硬编码为 0 或 1 -->  
 					<div :class="{'info-button': activeButtonValue === '1', 'default-button': activeButtonValue !== '1'}"    
@@ -68,7 +71,7 @@
 				  </div>
 				</el-row>
 					<div class="dialog-footer" style="text-align: left;margin-right: 60px;">
-						<el-button type="primary" @click="add_Dialog" 	 style="width: 110px;height: 60px;font-size: 20px;">确认</el-button>
+						<el-button type="primary" @click="add_Dialog" id="add_Dialog"	:disabled="add_Dialogonclick === false"  style="width: 110px;height: 60px;font-size: 20px;">确认</el-button>
 					</div>
 			</div>
 		  <!-- </el-main> -->
@@ -142,26 +145,32 @@ const seconds = String(today.getSeconds()).padStart(2, '0');
 const currentDate = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
 const currentDates = `${year}-${month}-${day}`;
 
-//全局接口接受的物理地址
-const Machine = '68-ED-A4-26-5F-39'
-//全局获取code,接口接收code
+//全局调用
+const _Machine = '68-ED-A4-26-5F-38'
 const _code = '包装'
-//全局获取UniqId
-const UniqId = ref('')
+const _gx = '7'
+const _gxmc = "包装"
 
 //物理地址获取机台编号
 const getMachineMacdata = async () => {
   try {
-    const data  = await getMachineMac({sys_sbID:Machine,code:_code});
+    const data  = await getMachineMac({sys_sbID:_Machine,code:_code});
 	add_formData['机台号'] = data.data['机台号']
 	add_formData['工序'] = data.data['生产工序']
 	add_formData['组别'] = data.data['组别']
 	add_formData['人员'] = data.data['组长']
+	setTimeout(() => {
+				const inputElement = document.getElementById('searchInput');
+				if (inputElement) {
+					inputElement.focus();		
+				}
+			}, 100); // 延迟100毫秒
   } catch (error) {
     console.error(error)
   }
 }
 getMachineMacdata();
+const UniqId = ref('')
 //搜索
 const add_searchInfo = ref('')
 //表格
@@ -170,7 +179,7 @@ const add_tableData = reactive([]);
 const activeButtonValue = ref('')
 //代表扫描两次自动保存
 const searcs = ref('')
-
+const _order = ref('')
 //查询询钮
 const add_onSubmit = async ()=>{
   if(add_searchInfo.value === '' || add_searchInfo.value === undefined){
@@ -179,10 +188,10 @@ const add_onSubmit = async ()=>{
 	ElMessage({type: 'warning',message: '请扫描小票二维码' })
   }else{
 	if(searcs.value === ''){
-		 const order =add_searchInfo.value;
+		 _order.value = add_searchInfo.value;
 		 const sys_sbID = add_formData['机台号']
 		 //获取下面报工历史记录
-		 const getSpotLists = await getSpotList({order:order,code:_code,sys_sbID:sys_sbID});
+		 const getSpotLists = await getSpotList({order:add_searchInfo.value,code:_code,sys_sbID:sys_sbID});
 		 activeButtonValue.value = getSpotLists.data.result.wb
 		 UniqId.value = getSpotLists.data.result.UniqId
 		 add_formData['数量'] = getSpotLists.data.result.sl
@@ -190,16 +199,16 @@ const add_onSubmit = async ()=>{
 		 add_tableData.splice(0,add_tableData.length,...getSpotLists.data.records);
 		 searcs.value = 1;
 		 add_searchInfo.value = ''
-		 
-	}else{
-		 add_Dialog();
-	}
-	setTimeout(() => {
-		const inputElement = document.getElementById('searchInput');
+		 setTimeout(() => {
+		const inputElement = document.getElementById('sbsl');
 		if (inputElement) {
 			inputElement.focus();		
 		}
 	}, 100); // 延迟100毫秒
+		 
+	}else{
+		 add_Dialog();
+	}
   }
 }
 const AttendanceVisible=ref(false)
@@ -216,17 +225,48 @@ const add_formData = reactive({
 	人员: '',	
 	尺码: '',
 	数量: '',
+	上报数量:'',
 	是否订单尾包: '',
+
 });
+const add_Dialogonclick = ref(false)
+function baogongslpd() {    
+  // 将字符串转换为数字  
+  const reportedQuantity = parseInt(add_formData['上报数量'], 10) || 0; // 使用10作为基数表示十进制,如果转换失败则返回0  
+  const totalQuantity = parseInt(add_formData['数量'], 10) || 0; // 同样处理  
+  if (reportedQuantity > totalQuantity) {  
+    ElMessage({ type: 'warning', message: '上报数量不能大于数量' });  
+    add_Dialogonclick.value = false;  
+  } else {  
+    add_Dialogonclick.value = true;  
+  }  
+}
 const currentSlValue=ref('')
 //后道确认按钮
 const add_Dialog = async ()=>{
-  if(add_searchInfo.value === ''){
-    ElMessage({type: 'warning',message: '请勾选具体的出库订单后,再操作此功能'})
+  if(_order.value === ''){
+    ElMessage({type: 'warning',message: '请重新扫描小票二维码'})
   }else{
-		console.log(UniqId.value)
+		console.log(_order.value.split(',')[0])
+
+		let params ={}
+		params.code = _code
+		params.order = _order.value.split(',')[0].split('-')[0]
+		params.order_id = _order.value.split(',')[0]
+		params.gx = _gx
+		params.gxmc = _gxmc
+		params.cm = _order.value.split(',')[3]
+		params.sl = _order.value.split(',')[4]
+		params.sczl_jtbh = add_formData['机台号']
+		params.sczl_bh = add_formData['组别']
+		params.wb =  _order.value.split(',')[5]
+		params.sys_id = add_formData['人员']
+		params.UniqId = UniqId.value
+		params.num = add_formData['上报数量']
+		
+		console.log(params)
 		// return false;
-		const cf_gettab = await search({UniqId:UniqId.value,code:_code}); // 调用search函数  
+		const cf_gettab = await search(params); // 调用search函数  
 		if (cf_gettab.code === 0) {
 			const firstPart = add_searchInfo.value.split(',')[0];  
 			const lsjltable = await getTab({order_id:firstPart,sczl_jtbh:add_formData['机台号']}); 
@@ -240,6 +280,10 @@ const add_Dialog = async ()=>{
 				}
 			}, 100); // 延迟100毫秒
 			searcs.value = '';
+			add_formData['尺码']=''
+			add_formData['数量']=''
+			add_formData['上报数量']=''
+			
 			ElMessage({type: 'success', message: '报工成功'});  
 		}
 
@@ -470,4 +514,8 @@ margin-bottom: 5px;
 ::v-deep .el-input__wrapper #chima {  
   font-size: 18px; 
 } 
+::v-deep .el-input__wrapper #sbsl {  
+  font-size: 18px; 
+  color: red;
+} 
 </style>

+ 5 - 5
src/view/performance/chafengbaogong.vue

@@ -117,7 +117,7 @@
 				<div class="dialog-footer" style="text-align: left;margin-right: 60px;">
 					<el-button type="primary" @click="add_Dialog" 	 style="width: 110px;height: 60px;font-size: 20px;">确认</el-button>
 					<el-button type="primary" @click="add_bdprintxp" style="width: 110px;height: 60px;font-size: 20px;">补打小票</el-button>
-					<el-button type="primary" @click="add_printxp"	 style="width: 110px;height: 60px;font-size: 20px;">打印小票</el-button>
+					<el-button type="primary" @click="add_printxp"	 style="width: 110px;height: 60px;font-size: 20px;">打印预览</el-button>
 				</div>
 			</div>
 
@@ -288,7 +288,7 @@ function updateTotal() {
 }  
 
 //搜索
-const add_searchInfo = ref('DC2409004-01')
+const add_searchInfo = ref('')
 //表格
 const add_tableData = reactive([]);
 //全局获取颜色款式款号
@@ -426,9 +426,9 @@ const add_Dialog = async ()=>{
 		const lsjltable = await getTab({order_id:add_searchInfo.value,sczl_jtbh:add_formData['机台号']}); 
 		console.log(lsjltable)
 		add_tableData.splice(0,add_tableData.length,...lsjltable.data.records);
-		add_searchInfo.value = ''; // 清除选择  
-		searcs.value = '';
 		add_printxp();
+		searcs.value = '';
+		add_searchInfo.value = ''; // 清除选择  
 		ElMessage({ type: 'success', message: '报工成功' });  
 	}  
  }
@@ -549,7 +549,7 @@ const add_printxp = () => {
 	for (let i = 0; i <  slArray.length; i++) {  
 		if (slArray[i]) { 
 			let params = {};  
-			params.order_id =add_searchInfo.value ;
+			params.order_id = add_searchInfo.value ;
 			params.sczl_jtbh = add_formData['组别'];
 			params.gx = add_formData['工序'];
 			params.sys_id = add_formData['人员']; 

+ 72 - 24
src/view/performance/datangbaogong.vue

@@ -4,7 +4,7 @@
 		  <layout-content >
 		  <!-- <el-main> -->
 			<div class="gva-table-box">
-				<h1 id="title" style="margin: 0%;margin-bottom: 10px;">大烫报工</h1>
+				<h1 id="title" style="margin: 0%;margin-bottom: 10px;">后道(手工确认)</h1>
 				<el-row :gutter="24" style="margin-bottom: 0px;">
 		          <el-input v-model="add_searchInfo" placeholder="请扫描子订单编号" @keyup.enter="add_onSubmit" id="searchInput" 
 				  style="width: 280px;height: 50px;margin-left: 10px;"></el-input>
@@ -24,12 +24,15 @@
 		      </el-row>
 				
 				<el-row :gutter="24">  
-					<el-form-item label="数量:" prop="shuliang" class="mab" style="font-size: 30px;margin: 10px;" label-width="90">
-						<el-input v-model="add_formData['数量']" style="width: 110px;height: 40px;" id="shuliang" />
-					</el-form-item>
 					<el-form-item label="尺码:" prop="chima" class="mab" style="font-size: 30px;margin: 10px;" label-width="90">
 						<el-input v-model="add_formData['尺码']" readonly style="width: 110px;height: 40px;" id="chima" />
 					</el-form-item>
+					<el-form-item label="数量:" prop="shuliang" class="mab" style="font-size: 30px;margin: 10px;" label-width="90">
+						<el-input v-model="add_formData['数量']" readonly style="width: 110px;height: 40px;" id="shuliang" />
+					</el-form-item>
+					<el-form-item label="上报数量:" prop="sbsl" class="mab" style="font-size: 30px;margin: 10px;" label-width="150">
+						<el-input v-model="add_formData['上报数量']" @input="baogongslpd"  style="width: 110px;height: 40px;" id="sbsl" />
+					</el-form-item>
 					<el-form-item label="是否尾包:" prop="joinDate" style="font-size: 30px; margin: 10px;" label-width="150">  
 					<!-- 假设 activeButtonValue 是从后端或某个方法获取的,这里直接硬编码为 0 或 1 -->  
 					<div :class="{'info-button': activeButtonValue === '1', 'default-button': activeButtonValue !== '1'}"    
@@ -68,7 +71,7 @@
 				  </div>
 				</el-row>
 					<div class="dialog-footer" style="text-align: left;margin-right: 60px;">
-						<el-button type="primary" @click="add_Dialog" 	 style="width: 110px;height: 60px;font-size: 20px;">确认</el-button>
+						<el-button type="primary" @click="add_Dialog" id="add_Dialog"	:disabled="add_Dialogonclick === false"  style="width: 110px;height: 60px;font-size: 20px;">确认</el-button>
 					</div>
 			</div>
 		  <!-- </el-main> -->
@@ -142,26 +145,32 @@ const seconds = String(today.getSeconds()).padStart(2, '0');
 const currentDate = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
 const currentDates = `${year}-${month}-${day}`;
 
-//全局接口接受的物理地址
-const Machine = '68-ED-A4-16-7F-36'
-//全局获取code,接口接收code
+//全局调用
+const _Machine = '68-ED-A4-16-7F-36'
 const _code = '大烫'
-//全局获取UniqId
-const UniqId = ref('')
+const _gx = '5'
+const _gxmc = "大烫"
 
 //物理地址获取机台编号
 const getMachineMacdata = async () => {
   try {
-    const data  = await getMachineMac({sys_sbID:Machine,code:_code});
+    const data  = await getMachineMac({sys_sbID:_Machine,code:_code});
 	add_formData['机台号'] = data.data['机台号']
 	add_formData['工序'] = data.data['生产工序']
 	add_formData['组别'] = data.data['组别']
 	add_formData['人员'] = data.data['组长']
+	setTimeout(() => {
+				const inputElement = document.getElementById('searchInput');
+				if (inputElement) {
+					inputElement.focus();		
+				}
+			}, 100); // 延迟100毫秒
   } catch (error) {
     console.error(error)
   }
 }
 getMachineMacdata();
+const UniqId = ref('')
 //搜索
 const add_searchInfo = ref('')
 //表格
@@ -170,7 +179,7 @@ const add_tableData = reactive([]);
 const activeButtonValue = ref('')
 //代表扫描两次自动保存
 const searcs = ref('')
-
+const _order = ref('')
 //查询询钮
 const add_onSubmit = async ()=>{
   if(add_searchInfo.value === '' || add_searchInfo.value === undefined){
@@ -179,10 +188,10 @@ const add_onSubmit = async ()=>{
 	ElMessage({type: 'warning',message: '请扫描小票二维码' })
   }else{
 	if(searcs.value === ''){
-		 const order =add_searchInfo.value;
+		 _order.value = add_searchInfo.value;
 		 const sys_sbID = add_formData['机台号']
 		 //获取下面报工历史记录
-		 const getSpotLists = await getSpotList({order:order,code:_code,sys_sbID:sys_sbID});
+		 const getSpotLists = await getSpotList({order:add_searchInfo.value,code:_code,sys_sbID:sys_sbID});
 		 activeButtonValue.value = getSpotLists.data.result.wb
 		 UniqId.value = getSpotLists.data.result.UniqId
 		 add_formData['数量'] = getSpotLists.data.result.sl
@@ -190,16 +199,16 @@ const add_onSubmit = async ()=>{
 		 add_tableData.splice(0,add_tableData.length,...getSpotLists.data.records);
 		 searcs.value = 1;
 		 add_searchInfo.value = ''
-		 
-	}else{
-		 add_Dialog();
-	}
-	setTimeout(() => {
-		const inputElement = document.getElementById('searchInput');
+		 setTimeout(() => {
+		const inputElement = document.getElementById('sbsl');
 		if (inputElement) {
 			inputElement.focus();		
 		}
 	}, 100); // 延迟100毫秒
+		 
+	}else{
+		 add_Dialog();
+	}
   }
 }
 const AttendanceVisible=ref(false)
@@ -216,17 +225,48 @@ const add_formData = reactive({
 	人员: '',	
 	尺码: '',
 	数量: '',
+	上报数量:'',
 	是否订单尾包: '',
+
 });
+const add_Dialogonclick = ref(false)
+function baogongslpd() {    
+  // 将字符串转换为数字  
+  const reportedQuantity = parseInt(add_formData['上报数量'], 10) || 0; // 使用10作为基数表示十进制,如果转换失败则返回0  
+  const totalQuantity = parseInt(add_formData['数量'], 10) || 0; // 同样处理  
+  if (reportedQuantity > totalQuantity) {  
+    ElMessage({ type: 'warning', message: '上报数量不能大于数量' });  
+    add_Dialogonclick.value = false;  
+  } else {  
+    add_Dialogonclick.value = true;  
+  }  
+}
 const currentSlValue=ref('')
 //后道确认按钮
 const add_Dialog = async ()=>{
-  if(add_searchInfo.value === ''){
-    ElMessage({type: 'warning',message: '请勾选具体的出库订单后,再操作此功能'})
+  if(_order.value === ''){
+    ElMessage({type: 'warning',message: '请重新扫描小票二维码'})
   }else{
-		console.log(UniqId.value)
+		console.log(_order.value.split(',')[0])
+
+		let params ={}
+		params.code = _code
+		params.order = _order.value.split(',')[0].split('-')[0]
+		params.order_id = _order.value.split(',')[0]
+		params.gx = _gx
+		params.gxmc = _gxmc
+		params.cm = _order.value.split(',')[3]
+		params.sl = _order.value.split(',')[4]
+		params.sczl_jtbh = add_formData['机台号']
+		params.sczl_bh = add_formData['组别']
+		params.wb =  _order.value.split(',')[5]
+		params.sys_id = add_formData['人员']
+		params.UniqId = UniqId.value
+		params.num = add_formData['上报数量']
+		
+		console.log(params)
 		// return false;
-		const cf_gettab = await search({UniqId:UniqId.value,code:_code}); // 调用search函数  
+		const cf_gettab = await search(params); // 调用search函数  
 		if (cf_gettab.code === 0) {
 			const firstPart = add_searchInfo.value.split(',')[0];  
 			const lsjltable = await getTab({order_id:firstPart,sczl_jtbh:add_formData['机台号']}); 
@@ -240,6 +280,10 @@ const add_Dialog = async ()=>{
 				}
 			}, 100); // 延迟100毫秒
 			searcs.value = '';
+			add_formData['尺码']=''
+			add_formData['数量']=''
+			add_formData['上报数量']=''
+			
 			ElMessage({type: 'success', message: '报工成功'});  
 		}
 
@@ -470,4 +514,8 @@ margin-bottom: 5px;
 ::v-deep .el-input__wrapper #chima {  
   font-size: 18px; 
 } 
+::v-deep .el-input__wrapper #sbsl {  
+  font-size: 18px; 
+  color: red;
+} 
 </style>

+ 71 - 23
src/view/performance/houdaoshougong.vue

@@ -24,12 +24,15 @@
 		      </el-row>
 				
 				<el-row :gutter="24">  
-					<el-form-item label="数量:" prop="shuliang" class="mab" style="font-size: 30px;margin: 10px;" label-width="90">
-						<el-input v-model="add_formData['数量']" style="width: 110px;height: 40px;" id="shuliang" />
-					</el-form-item>
 					<el-form-item label="尺码:" prop="chima" class="mab" style="font-size: 30px;margin: 10px;" label-width="90">
 						<el-input v-model="add_formData['尺码']" readonly style="width: 110px;height: 40px;" id="chima" />
 					</el-form-item>
+					<el-form-item label="数量:" prop="shuliang" class="mab" style="font-size: 30px;margin: 10px;" label-width="90">
+						<el-input v-model="add_formData['数量']" readonly style="width: 110px;height: 40px;" id="shuliang" />
+					</el-form-item>
+					<el-form-item label="上报数量:" prop="sbsl" class="mab" style="font-size: 30px;margin: 10px;" label-width="150">
+						<el-input v-model="add_formData['上报数量']" @input="baogongslpd"  style="width: 110px;height: 40px;" id="sbsl" />
+					</el-form-item>
 					<el-form-item label="是否尾包:" prop="joinDate" style="font-size: 30px; margin: 10px;" label-width="150">  
 					<!-- 假设 activeButtonValue 是从后端或某个方法获取的,这里直接硬编码为 0 或 1 -->  
 					<div :class="{'info-button': activeButtonValue === '1', 'default-button': activeButtonValue !== '1'}"    
@@ -68,7 +71,7 @@
 				  </div>
 				</el-row>
 					<div class="dialog-footer" style="text-align: left;margin-right: 60px;">
-						<el-button type="primary" @click="add_Dialog" 	 style="width: 110px;height: 60px;font-size: 20px;">确认</el-button>
+						<el-button type="primary" @click="add_Dialog" id="add_Dialog"	:disabled="add_Dialogonclick === false"  style="width: 110px;height: 60px;font-size: 20px;">确认</el-button>
 					</div>
 			</div>
 		  <!-- </el-main> -->
@@ -142,26 +145,32 @@ const seconds = String(today.getSeconds()).padStart(2, '0');
 const currentDate = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
 const currentDates = `${year}-${month}-${day}`;
 
-//全局接口接受的物理地址
-const Machine = '68-ED-A4-26-60-D1'
-//全局获取code,接口接收code
+//全局调用
+const _Machine = '68-ED-A4-26-60-D1'
 const _code = '后道'
-//全局获取UniqId
-const UniqId = ref('')
+const _gx = '4'
+const _gxmc = "后道收样"
 
 //物理地址获取机台编号
 const getMachineMacdata = async () => {
   try {
-    const data  = await getMachineMac({sys_sbID:Machine,code:_code});
+    const data  = await getMachineMac({sys_sbID:_Machine,code:_code});
 	add_formData['机台号'] = data.data['机台号']
 	add_formData['工序'] = data.data['生产工序']
 	add_formData['组别'] = data.data['组别']
 	add_formData['人员'] = data.data['组长']
+	setTimeout(() => {
+				const inputElement = document.getElementById('searchInput');
+				if (inputElement) {
+					inputElement.focus();		
+				}
+			}, 100); // 延迟100毫秒
   } catch (error) {
     console.error(error)
   }
 }
 getMachineMacdata();
+const UniqId = ref('')
 //搜索
 const add_searchInfo = ref('')
 //表格
@@ -170,7 +179,7 @@ const add_tableData = reactive([]);
 const activeButtonValue = ref('')
 //代表扫描两次自动保存
 const searcs = ref('')
-
+const _order = ref('')
 //查询询钮
 const add_onSubmit = async ()=>{
   if(add_searchInfo.value === '' || add_searchInfo.value === undefined){
@@ -179,10 +188,10 @@ const add_onSubmit = async ()=>{
 	ElMessage({type: 'warning',message: '请扫描小票二维码' })
   }else{
 	if(searcs.value === ''){
-		 const order =add_searchInfo.value;
+		 _order.value = add_searchInfo.value;
 		 const sys_sbID = add_formData['机台号']
 		 //获取下面报工历史记录
-		 const getSpotLists = await getSpotList({order:order,code:_code,sys_sbID:sys_sbID});
+		 const getSpotLists = await getSpotList({order:add_searchInfo.value,code:_code,sys_sbID:sys_sbID});
 		 activeButtonValue.value = getSpotLists.data.result.wb
 		 UniqId.value = getSpotLists.data.result.UniqId
 		 add_formData['数量'] = getSpotLists.data.result.sl
@@ -190,16 +199,16 @@ const add_onSubmit = async ()=>{
 		 add_tableData.splice(0,add_tableData.length,...getSpotLists.data.records);
 		 searcs.value = 1;
 		 add_searchInfo.value = ''
-		 
-	}else{
-		 add_Dialog();
-	}
-	setTimeout(() => {
-		const inputElement = document.getElementById('searchInput');
+		 setTimeout(() => {
+		const inputElement = document.getElementById('sbsl');
 		if (inputElement) {
 			inputElement.focus();		
 		}
 	}, 100); // 延迟100毫秒
+		 
+	}else{
+		 add_Dialog();
+	}
   }
 }
 const AttendanceVisible=ref(false)
@@ -216,17 +225,48 @@ const add_formData = reactive({
 	人员: '',	
 	尺码: '',
 	数量: '',
+	上报数量:'',
 	是否订单尾包: '',
+
 });
+const add_Dialogonclick = ref(false)
+function baogongslpd() {    
+  // 将字符串转换为数字  
+  const reportedQuantity = parseInt(add_formData['上报数量'], 10) || 0; // 使用10作为基数表示十进制,如果转换失败则返回0  
+  const totalQuantity = parseInt(add_formData['数量'], 10) || 0; // 同样处理  
+  if (reportedQuantity > totalQuantity) {  
+    ElMessage({ type: 'warning', message: '上报数量不能大于数量' });  
+    add_Dialogonclick.value = false;  
+  } else {  
+    add_Dialogonclick.value = true;  
+  }  
+}
 const currentSlValue=ref('')
 //后道确认按钮
 const add_Dialog = async ()=>{
-  if(add_searchInfo.value === ''){
-    ElMessage({type: 'warning',message: '请勾选具体的出库订单后,再操作此功能'})
+  if(_order.value === ''){
+    ElMessage({type: 'warning',message: '请重新扫描小票二维码'})
   }else{
-		console.log(UniqId.value)
+		console.log(_order.value.split(',')[0])
+
+		let params ={}
+		params.code = _code
+		params.order = _order.value.split(',')[0].split('-')[0]
+		params.order_id = _order.value.split(',')[0]
+		params.gx = _gx
+		params.gxmc = _gxmc
+		params.cm = _order.value.split(',')[3]
+		params.sl = _order.value.split(',')[4]
+		params.sczl_jtbh = add_formData['机台号']
+		params.sczl_bh = add_formData['组别']
+		params.wb =  _order.value.split(',')[5]
+		params.sys_id = add_formData['人员']
+		params.UniqId = UniqId.value
+		params.num = add_formData['上报数量']
+		
+		console.log(params)
 		// return false;
-		const cf_gettab = await search({UniqId:UniqId.value,code:_code}); // 调用search函数  
+		const cf_gettab = await search(params); // 调用search函数  
 		if (cf_gettab.code === 0) {
 			const firstPart = add_searchInfo.value.split(',')[0];  
 			const lsjltable = await getTab({order_id:firstPart,sczl_jtbh:add_formData['机台号']}); 
@@ -240,6 +280,10 @@ const add_Dialog = async ()=>{
 				}
 			}, 100); // 延迟100毫秒
 			searcs.value = '';
+			add_formData['尺码']=''
+			add_formData['数量']=''
+			add_formData['上报数量']=''
+			
 			ElMessage({type: 'success', message: '报工成功'});  
 		}
 
@@ -470,4 +514,8 @@ margin-bottom: 5px;
 ::v-deep .el-input__wrapper #chima {  
   font-size: 18px; 
 } 
+::v-deep .el-input__wrapper #sbsl {  
+  font-size: 18px; 
+  color: red;
+} 
 </style>

+ 71 - 23
src/view/performance/zongjianbaogong.vue

@@ -24,12 +24,15 @@
 		      </el-row>
 				
 				<el-row :gutter="24">  
-					<el-form-item label="数量:" prop="shuliang" class="mab" style="font-size: 30px;margin: 10px;" label-width="90">
-						<el-input v-model="add_formData['数量']" style="width: 110px;height: 40px;" id="shuliang" />
-					</el-form-item>
 					<el-form-item label="尺码:" prop="chima" class="mab" style="font-size: 30px;margin: 10px;" label-width="90">
 						<el-input v-model="add_formData['尺码']" readonly style="width: 110px;height: 40px;" id="chima" />
 					</el-form-item>
+					<el-form-item label="数量:" prop="shuliang" class="mab" style="font-size: 30px;margin: 10px;" label-width="90">
+						<el-input v-model="add_formData['数量']" readonly style="width: 110px;height: 40px;" id="shuliang" />
+					</el-form-item>
+					<el-form-item label="上报数量:" prop="sbsl" class="mab" style="font-size: 30px;margin: 10px;" label-width="150">
+						<el-input v-model="add_formData['上报数量']" @input="baogongslpd"  style="width: 110px;height: 40px;" id="sbsl" />
+					</el-form-item>
 					<el-form-item label="是否尾包:" prop="joinDate" style="font-size: 30px; margin: 10px;" label-width="150">  
 					<!-- 假设 activeButtonValue 是从后端或某个方法获取的,这里直接硬编码为 0 或 1 -->  
 					<div :class="{'info-button': activeButtonValue === '1', 'default-button': activeButtonValue !== '1'}"    
@@ -68,7 +71,7 @@
 				  </div>
 				</el-row>
 					<div class="dialog-footer" style="text-align: left;margin-right: 60px;">
-						<el-button type="primary" @click="add_Dialog" 	 style="width: 110px;height: 60px;font-size: 20px;">确认</el-button>
+						<el-button type="primary" @click="add_Dialog" id="add_Dialog"	:disabled="add_Dialogonclick === false"  style="width: 110px;height: 60px;font-size: 20px;">确认</el-button>
 					</div>
 			</div>
 		  <!-- </el-main> -->
@@ -142,26 +145,32 @@ const seconds = String(today.getSeconds()).padStart(2, '0');
 const currentDate = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
 const currentDates = `${year}-${month}-${day}`;
 
-//全局接口接受的物理地址
-const Machine = '68-ED-A4-26-5E-4F'
-//全局获取code,接口接收code
+//全局调用
+const _Machine = '68-ED-A4-26-5F-84'
 const _code = '总检'
-//全局获取UniqId
-const UniqId = ref('')
+const _gx = '6'
+const _gxmc = "总检"
 
 //物理地址获取机台编号
 const getMachineMacdata = async () => {
   try {
-    const data  = await getMachineMac({sys_sbID:Machine,code:_code});
+    const data  = await getMachineMac({sys_sbID:_Machine,code:_code});
 	add_formData['机台号'] = data.data['机台号']
 	add_formData['工序'] = data.data['生产工序']
 	add_formData['组别'] = data.data['组别']
 	add_formData['人员'] = data.data['组长']
+	setTimeout(() => {
+				const inputElement = document.getElementById('searchInput');
+				if (inputElement) {
+					inputElement.focus();		
+				}
+			}, 100); // 延迟100毫秒
   } catch (error) {
     console.error(error)
   }
 }
 getMachineMacdata();
+const UniqId = ref('')
 //搜索
 const add_searchInfo = ref('')
 //表格
@@ -170,7 +179,7 @@ const add_tableData = reactive([]);
 const activeButtonValue = ref('')
 //代表扫描两次自动保存
 const searcs = ref('')
-
+const _order = ref('')
 //查询询钮
 const add_onSubmit = async ()=>{
   if(add_searchInfo.value === '' || add_searchInfo.value === undefined){
@@ -179,10 +188,10 @@ const add_onSubmit = async ()=>{
 	ElMessage({type: 'warning',message: '请扫描小票二维码' })
   }else{
 	if(searcs.value === ''){
-		 const order =add_searchInfo.value;
+		 _order.value = add_searchInfo.value;
 		 const sys_sbID = add_formData['机台号']
 		 //获取下面报工历史记录
-		 const getSpotLists = await getSpotList({order:order,code:_code,sys_sbID:sys_sbID});
+		 const getSpotLists = await getSpotList({order:add_searchInfo.value,code:_code,sys_sbID:sys_sbID});
 		 activeButtonValue.value = getSpotLists.data.result.wb
 		 UniqId.value = getSpotLists.data.result.UniqId
 		 add_formData['数量'] = getSpotLists.data.result.sl
@@ -190,16 +199,16 @@ const add_onSubmit = async ()=>{
 		 add_tableData.splice(0,add_tableData.length,...getSpotLists.data.records);
 		 searcs.value = 1;
 		 add_searchInfo.value = ''
-		 
-	}else{
-		 add_Dialog();
-	}
-	setTimeout(() => {
-		const inputElement = document.getElementById('searchInput');
+		 setTimeout(() => {
+		const inputElement = document.getElementById('sbsl');
 		if (inputElement) {
 			inputElement.focus();		
 		}
 	}, 100); // 延迟100毫秒
+		 
+	}else{
+		 add_Dialog();
+	}
   }
 }
 const AttendanceVisible=ref(false)
@@ -216,17 +225,48 @@ const add_formData = reactive({
 	人员: '',	
 	尺码: '',
 	数量: '',
+	上报数量:'',
 	是否订单尾包: '',
+
 });
+const add_Dialogonclick = ref(false)
+function baogongslpd() {    
+  // 将字符串转换为数字  
+  const reportedQuantity = parseInt(add_formData['上报数量'], 10) || 0; // 使用10作为基数表示十进制,如果转换失败则返回0  
+  const totalQuantity = parseInt(add_formData['数量'], 10) || 0; // 同样处理  
+  if (reportedQuantity > totalQuantity) {  
+    ElMessage({ type: 'warning', message: '上报数量不能大于数量' });  
+    add_Dialogonclick.value = false;  
+  } else {  
+    add_Dialogonclick.value = true;  
+  }  
+}
 const currentSlValue=ref('')
 //后道确认按钮
 const add_Dialog = async ()=>{
-  if(add_searchInfo.value === ''){
-    ElMessage({type: 'warning',message: '请勾选具体的出库订单后,再操作此功能'})
+  if(_order.value === ''){
+    ElMessage({type: 'warning',message: '请重新扫描小票二维码'})
   }else{
-		console.log(UniqId.value)
+		console.log(_order.value.split(',')[0])
+
+		let params ={}
+		params.code = _code
+		params.order = _order.value.split(',')[0].split('-')[0]
+		params.order_id = _order.value.split(',')[0]
+		params.gx = _gx
+		params.gxmc = _gxmc
+		params.cm = _order.value.split(',')[3]
+		params.sl = _order.value.split(',')[4]
+		params.sczl_jtbh = add_formData['机台号']
+		params.sczl_bh = add_formData['组别']
+		params.wb =  _order.value.split(',')[5]
+		params.sys_id = add_formData['人员']
+		params.UniqId = UniqId.value
+		params.num = add_formData['上报数量']
+		
+		console.log(params)
 		// return false;
-		const cf_gettab = await search({UniqId:UniqId.value,code:_code}); // 调用search函数  
+		const cf_gettab = await search(params); // 调用search函数  
 		if (cf_gettab.code === 0) {
 			const firstPart = add_searchInfo.value.split(',')[0];  
 			const lsjltable = await getTab({order_id:firstPart,sczl_jtbh:add_formData['机台号']}); 
@@ -240,6 +280,10 @@ const add_Dialog = async ()=>{
 				}
 			}, 100); // 延迟100毫秒
 			searcs.value = '';
+			add_formData['尺码']=''
+			add_formData['数量']=''
+			add_formData['上报数量']=''
+			
 			ElMessage({type: 'success', message: '报工成功'});  
 		}
 
@@ -470,4 +514,8 @@ margin-bottom: 5px;
 ::v-deep .el-input__wrapper #chima {  
   font-size: 18px; 
 } 
+::v-deep .el-input__wrapper #sbsl {  
+  font-size: 18px; 
+  color: red;
+} 
 </style>

+ 176 - 103
src/view/yunyin/shengchanguanli/gongdanziliao.vue

@@ -17,23 +17,21 @@
               <el-button type="primary" icon="edit"   @click="delgd_delclick" v-if="delall=== true" :disabled="ysSelection === '' && gySelection === ''"  class="bt" title="选择批量删除(颜色资料或工艺资料)"  >删除颜色工艺资料</el-button>
             </el-form-item>
           </el-form>
-
         </div> 
-
       </layout-header>
       <layout>
+
         <!-- 左侧树形结构 -->
         <layout-sider :resize-directions="['right']" :width="190" style="margin-right: 10px;">
           <div class="JKWTree-tree" style="height: 200px">
             <h3>客户编号</h3>
-            <el-tree :data="treeData" class="treecolor"   @node-click="handleNodeClick"></el-tree>
+            <el-tree :data="treeData" class="treecolor" @node-click="handleNodeClick"></el-tree>
           </div>
         </layout-sider>
 
         <!-- 右侧内容区域 -->
         <layout-content >
           <el-main>
-
             <!-- 工单表格列表 -->
             <div class="gva-table-box">
               <el-table ref="multipleTable"
@@ -268,78 +266,78 @@
               <el-row>
                 <el-form :model="add_gdscgdformData" label-position="right" ref="elFormRef" :rules="rule" > 
                   <el-row :gutter="24">
-                    <el-form-item label="订单编号:" prop="customerCode" class="mab" label-width="110">
-                      <el-input v-model="add_gdscgdformData['订单编号']"  style="width: 150px;" id="订单编号"  @keydown="add_gdzlent($event, '订单号', '订单编号', '生产款号')" />
+                    <el-form-item label="订单编号" prop="customerCode" class="mab" label-width="110">
+                      <el-input v-model="add_gdscgdformData['订单编号']" disabled  style="width: 150px;" id="订单编号"/>
+                    </el-form-item>
+                    <el-form-item label="客户编号" prop="customerCode" class="mab" label-width="150">
+                      <el-input v-model="add_gdscgdformData['客户编号']" disabled style="width: 150px;" id="客户编号"/>
                     </el-form-item>
                   </el-row>
                   <el-row :gutter="24">
-                    <el-form-item label="生产款号:" prop="customerCode" class="mab" label-width="110">
+                    <el-form-item label="生产款号" prop="customerCode" class="mab" label-width="110">
                       <el-input v-model="add_gdscgdformData['生产款号']" style="width: 150px;" id="生产款号"  @keydown="add_gdzlent($event, '订单编号', '生产款号', '款式')"/>
                     </el-form-item>
-                    <el-form-item label="款式:" prop="customerCode" class="mab" label-width="110">
-                      <el-input v-model="add_gdscgdformData['款式']" style="width: 150px;" id="款式"  @keydown="add_gdzlent($event, '生产款号', '款式', '客户编号')"/>
-                    </el-form-item>
                   </el-row>
                   <el-row :gutter="24">
-                    <el-form-item label="客户:" prop="customerCode" class="mab" label-width="110">
-                      <el-input v-model="add_gdscgdformData['客户编号']" style="width: 150px;" id="客户编号"  @keydown="add_gdzlent($event, '款式', '客户编号', '落货日期')"/>
+                    <el-form-item label="款式" prop="customerCode" class="mab" label-width="110">
+                      <el-input v-model="add_gdscgdformData['款式']" style="width: 150px;" id="款式"  @keydown="add_gdzlent($event, '生产款号', '款式', '客户编号')"/>
                     </el-form-item>
-                    <el-form-item label="落货日期:" prop="deliveryDate" class="mab" label-width="110">
+                    <el-form-item label="落货日期" prop="deliveryDate" class="mab" label-width="150">
                       <el-date-picker v-model="add_gdscgdformData['落货日期']" type="date"  style="width: 150px;"  id="落货日期"  @keydown="add_gdzlent($event, '客户编号', '落货日期', '面料')"/>
                     </el-form-item>
                   </el-row>
                   <el-row>
                     <el-col :span="24">
-                      <el-form-item label="面料:" prop="customerCode" class="mab" label-width="98">
+                      <el-form-item label="面料" prop="customerCode" class="mab" label-width="98">
                         <el-input type="textarea" v-model="add_gdscgdformData['面料']" rows="2" resize="none" id="面料"   @keydown="add_gdzlent($event, '落货日期', '面料', '要求')" />
                       </el-form-item>
                     </el-col>
                     <el-col :span="24">
-                      <el-form-item label="要求:" prop="customerCode" class="mab" label-width="98">
+                      <el-form-item label="要求" prop="customerCode" class="mab" label-width="98">
                         <el-input type="textarea" v-model="add_gdscgdformData['要求']" rows="2" resize="none" id="要求"  @keydown="add_gdzlent($event, '面料', '要求', '船样描述')" />
                       </el-form-item>
                     </el-col>
                   </el-row>
                   <el-row :gutter="24">
-                    <el-form-item label="船样描述:" prop="customerCode" class="mab" label-width="110">
+                    <el-form-item label="船样描述" prop="customerCode" class="mab" label-width="110">
                       <el-input v-model="add_gdscgdformData['船样描述']"  style="width: 150px;" id="船样描述"  @keydown="add_gdzlent($event, '要求', '船样描述', '船样合计')"/>
                     </el-form-item>
-                    <el-form-item label="船样合计:" prop="customerCode" class="mab" label-width="110">
+                    <el-form-item label="船样合计" prop="customerCode" class="mab" label-width="150">
                       <el-input v-model="add_gdscgdformData['船样合计']"  style="width: 150px;" id="船样合计"  @keydown="add_gdzlent($event, '船样描述', '船样合计', '箱唛要求')"/>
                     </el-form-item>
                   </el-row>
                   <el-row :gutter="24">
-                    <el-form-item label="箱唛要求:" prop="customerCode" class="mab" label-width="110">
+                    <el-form-item label="箱唛要求" prop="customerCode" class="mab" label-width="110">
                       <el-input v-model="add_gdscgdformData['箱唛要求']" style="width: 150px;" id="箱唛要求"  @keydown="add_gdzlent($event, '船样合计', '箱唛要求', '粘衬')"/>
                     </el-form-item>
-                    <el-form-item label="粘衬:" prop="customerCode" class="mab" label-width="110">
+                    <el-form-item label="粘衬" prop="customerCode" class="mab" label-width="150">
                       <el-input v-model="add_gdscgdformData['粘衬']"  style="width: 150px;" id="粘衬"  @keydown="add_gdzlent($event, '箱唛要求', '粘衬', '订单数量')"/>
                     </el-form-item>
                   </el-row>
                   <el-row :gutter="24">
-                    <el-form-item label="订单数量:" prop="customerCode" class="mab" label-width="110">
+                    <el-form-item label="订单数量" prop="customerCode" class="mab" label-width="110">
                       <el-input v-model="add_gdscgdformData['订单数量']"  style="width: 150px;" id="订单数量"  @keydown="add_gdzlent($event, '粘衬', '订单数量', '单位')"/>
                     </el-form-item>
-                    <el-form-item label="单位:" prop="customerCode" class="mab" label-width="110">
+                    <el-form-item label="单位" prop="customerCode" class="mab" label-width="150">
                       <el-input v-model="add_gdscgdformData['单位']"  style="width: 150px;" id="单位"  @keydown="add_gdzlent($event, '订单数量', '单位', '制单人')"/>
                     </el-form-item>
                   </el-row>
                   <el-row :gutter="24">
-                    <el-form-item label="制单人:" prop="customerCode" class="mab" label-width="110">
-                      <el-input v-model="add_gdscgdformData['制单人']"  style="width: 150px;" id="制单人"  @keydown="add_gdzlent($event, '单位', '制单人', '制单日期')"/>
+                    <el-form-item label="制单人" prop="customerCode" class="mab" label-width="110">
+                      <el-input v-model="add_gdscgdformData['制单人']" disabled style="width: 150px;" id="制单人"  @keydown="add_gdzlent($event, '单位', '制单人', '制单日期')"/>
                     </el-form-item>
-                    <el-form-item label="制单日期:" prop="deliveryDate" class="mab" label-width="110">
+                    <el-form-item label="制单日期" prop="deliveryDate" class="mab" label-width="150">
                       <el-date-picker v-model="add_gdscgdformData['制单日期']" type="date"  style="width: 150px;"  id="制单日期"  @keydown="add_gdzlent($event, '制单人', '制单日期', '审核人')"/>
                     </el-form-item>
                   </el-row>
-                  <el-row :gutter="24">
-                    <el-form-item label="审核人:" prop="customerCode" class="mab" label-width="110">
+                  <!-- <el-row :gutter="24">
+                    <el-form-item label="审核人" prop="customerCode" class="mab" label-width="110">
                       <el-input v-model="add_gdscgdformData['审核人']" style="width: 150px;" id="审核人"  @keydown="add_gdzlent($event, '制单日期', '审核人', '审核日期')"/>
                     </el-form-item>
-                    <el-form-item label="审核日期:" prop="deliveryDate" class="mab" label-width="110">
+                    <el-form-item label="审核日期" prop="deliveryDate" class="mab" label-width="150">
                       <el-date-picker v-model="add_gdscgdformData['审核日期']" type="date"  style="width: 150px;"  id="审核日期"  @keydown="add_gdzlent($event, '审核人', '审核日期', '订单号')"/>
                     </el-form-item>
-                  </el-row>
+                  </el-row> -->
                 </el-form>
               </el-row>
               <template #footer>
@@ -366,15 +364,15 @@
                   <div style="display: flex; gap: 0px;">
                     <el-form-item label="色系名称:" class="mab"  prop="keyOrder"label-width='130'>
                       <el-select v-model="add_yszlformdata.sxmc" style="width: 150px;" id="尺码规格" @keydown="add_gdzlent($event, '款号', '尺码规格', '是否船样')">
-                        <el-option label="红色" @click="sxhandleSizeChange('红色')" ></el-option>
-                        <el-option label="黄色" @click="sxhandleSizeChange('黄色')" ></el-option>
-                        <el-option label="蓝色" @click="sxhandleSizeChange('蓝色')" ></el-option>
-                        <el-option label="绿色" @click="sxhandleSizeChange('绿色')" ></el-option>
-                        <el-option label="紫色" @click="sxhandleSizeChange('紫色')" ></el-option>
-                        <el-option label="灰色" @click="sxhandleSizeChange('灰色')" ></el-option>
-                        <el-option label="咖啡" @click="sxhandleSizeChange('咖啡')" ></el-option>
-                        <el-option label="黑白" @click="sxhandleSizeChange('黑白')" ></el-option>
-                        <el-option label="经典色" @click="sxhandleSizeChange('经典色')" ></el-option>
+                        <el-option label="红色" @click="sxhandleSizeChange('红色')" ></el-option>
+                        <el-option label="黄色" @click="sxhandleSizeChange('黄色')" ></el-option>
+                        <el-option label="蓝色" @click="sxhandleSizeChange('蓝色')" ></el-option>
+                        <el-option label="绿色" @click="sxhandleSizeChange('绿色')" ></el-option>
+                        <el-option label="紫色" @click="sxhandleSizeChange('紫色')" ></el-option>
+                        <el-option label="灰色" @click="sxhandleSizeChange('灰色')" ></el-option>
+                        <el-option label="咖啡色系" @click="sxhandleSizeChange('咖啡色系')" ></el-option>
+                        <el-option label="黑白色系" @click="sxhandleSizeChange('黑白色系')" ></el-option>
+                        <el-option label="经典色" @click="sxhandleSizeChange('经典色')" ></el-option>
                       </el-select>
                     </el-form-item>
                   </div>
@@ -416,19 +414,20 @@
                   </div>
                   <div style="display: flex; gap: 0px;">
                     <el-form-item label="制单数:" class="mab" prop="keyOrder"label-width='130'>
-                      <el-input v-model="zdsformdata.zds1" style="width: 80px;" id="zds1" @keydown="add_gdzlent($event, '是否船样', 'zds1', 'zds2')"/>
-                      <el-input v-model="zdsformdata.zds2" style="width: 80px;" id="zds2" @keydown="add_gdzlent($event, 'zds1', 'zds2', 'zds3')"/>
-                      <el-input v-model="zdsformdata.zds3" style="width: 80px;" id="zds3" @keydown="add_gdzlent($event, 'zds2', 'zds3', 'zds4')"/>
-                      <el-input v-model="zdsformdata.zds4" style="width: 80px;" id="zds4" @keydown="add_gdzlent($event, 'zds3', 'zds4', 'zds5')"/>
-                      <el-input v-model="zdsformdata.zds5" style="width: 80px;" id="zds5" @keydown="add_gdzlent($event, 'zds4', 'zds5', 'zds6')"/>
-                      <el-input v-model="zdsformdata.zds6" style="width: 80px;" id="zds6" @keydown="add_gdzlent($event, 'zds5', 'zds6', 'zds7')"/>
-                      <el-input v-model="zdsformdata.zds7" style="width: 80px;" id="zds7" @keydown="add_gdzlent($event, 'zds6', 'zds7', 'zds8')"/>
-                      <el-input v-model="zdsformdata.zds8" style="width: 80px;" id="zds8" @keydown="add_gdzlent($event, 'zds7', 'zds8', 'zds9')"/>
-                      <el-input v-model="zdsformdata.zds9" style="width: 80px;" id="zds9" @keydown="add_gdzlent($event, 'zds8', 'zds9', '订单子编号')"/>
+                      <el-input v-model="zdsformdata.zds1"@input="updateTotal"  style="width: 80px;" id="zds1" @keydown="add_gdzlent($event, '是否船样', 'zds1', 'zds2')"/>
+                      <el-input v-model="zdsformdata.zds2"@input="updateTotal"  style="width: 80px;" id="zds2" @keydown="add_gdzlent($event, 'zds1', 'zds2', 'zds3')"/>
+                      <el-input v-model="zdsformdata.zds3"@input="updateTotal"  style="width: 80px;" id="zds3" @keydown="add_gdzlent($event, 'zds2', 'zds3', 'zds4')"/>
+                      <el-input v-model="zdsformdata.zds4"@input="updateTotal"  style="width: 80px;" id="zds4" @keydown="add_gdzlent($event, 'zds3', 'zds4', 'zds5')"/>
+                      <el-input v-model="zdsformdata.zds5"@input="updateTotal"  style="width: 80px;" id="zds5" @keydown="add_gdzlent($event, 'zds4', 'zds5', 'zds6')"/>
+                      <el-input v-model="zdsformdata.zds6"@input="updateTotal"  style="width: 80px;" id="zds6" @keydown="add_gdzlent($event, 'zds5', 'zds6', 'zds7')"/>
+                      <el-input v-model="zdsformdata.zds7"@input="updateTotal"  style="width: 80px;" id="zds7" @keydown="add_gdzlent($event, 'zds6', 'zds7', 'zds8')"/>
+                      <el-input v-model="zdsformdata.zds8"@input="updateTotal"  style="width: 80px;" id="zds8" @keydown="add_gdzlent($event, 'zds7', 'zds8', 'zds9')"/>
+                      <el-input v-model="zdsformdata.zds9" readonly style="width: 80px;" id="zds9" @keydown="add_gdzlent($event, 'zds8', 'zds9', '订单子编号')"/>
                     </el-form-item>
                   </div>
                   <!-- 图片 --> 
                     <div class="uploadImage">
+                      <div @paste="handlePaste" contenteditable="true" tabindex="0" class="paste-area">粘贴图片到这里</div>
                       <el-upload
                         :file-list="fileList"
                         accept="image/*"
@@ -446,7 +445,6 @@
                       >
                         <i class="el-icon-plus"
                         ref="uploadImage"
-                        @paste="handlePaste" 
                         contenteditable="" 
                         @keydown="handleFocus"></i>
                         <div class="el-upload__text">{{uploadText}}</div>
@@ -708,8 +706,7 @@ import { Layout, LayoutSider, LayoutContent } from '@arco-design/web-vue';
 import { ElMessage, ElMessageBox } from 'element-plus'
 import { ref, reactive, computed, nextTick, watch } from 'vue'
 import { useUserStore } from '@/pinia/modules/user'
-
-import {Datalist,WorkOrderList,WorkOrderAdd,PrintListData,printDetailAdd,PrintDetailDel,orderDataDel} from '@/api/mes/job'
+import {Datalist,WorkOrderList,WorkOrderAdd,PrintListData,printDetailAdd,PrintDetailDel,orderDataDel,getWorkOrder} from '@/api/mes/job'
 import PrintPage from './components/print.vue'
 import AddGongYi from './components/addGongYi.vue'
 defineOptions({name: 'Company'})
@@ -784,7 +781,7 @@ const _WorkList_page = async () => {
   try {
     const WorkListdata = await WorkOrderList({search:processedValue,page:1,limit:15});
 	  console.log("上方表格数据")
-    // console.log(WorkListdata)
+    // console.log(_Gd_khdh.value)
     tableData.value=WorkListdata.data.data
     console.log(tableData)
     // total.value =WorkListdata.data.total;//共多少条
@@ -825,7 +822,6 @@ const handleSizeChange = (val) => {
 };
 
 // =========== 新增 ===========
-const add_gddialogFormVisible = ref(false)
 // 获取当前日期
 const today = new Date();
 const year = today.getFullYear();
@@ -837,7 +833,7 @@ const seconds = String(today.getSeconds()).padStart(2, '0');
 const currentDate = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
 const currentDates = `${year}-${month}-${day}`;
 const add_gdscgdformData = reactive({
-  订单编号: 'DC2408001',
+  订单编号: '',
   生产款号: '',
   款式: '',
   客户编号: '',
@@ -861,14 +857,41 @@ const gd_clearFormData = () => {
     add_gdscgdformData[key] = '';
   });
 };
-//新增按钮
-const addgd_onclick = () => {
 
-  add_gddialogFormVisible.value = true
-  add_gdscgdformData['订单号'] = '';
-  add_gdscgdformData['制单日期'] = '2024-06-27';
-  add_gdscgdformData['落货日期'] = '2024-07-28';
+const add_gddialogFormVisible = ref(false)
+//点击新增订单资料按钮
+const addgd_onclick = async ()=>{
+  console.log(_Gd_khdh.value)
+  if(_Gd_khdh.value === '' ||  _Gd_khdh.value === null){
+	  ElMessage({type: 'warning',message: '请选择左侧客户编号' })
+	  return false;
+  }else{
+    add_gddialogFormVisible.value = true
+    const getWorkOrder_list = await getWorkOrder();
+    // console.log(getWorkOrder_list)
+    add_gdscgdformData['订单编号'] = getWorkOrder_list.data;
+    add_gdscgdformData['客户编号'] = _Gd_khdh.value
+    add_gdscgdformData['制单人'] = _username.value 
+
+    add_gdscgdformData['生产款号'] = ''
+    add_gdscgdformData['款式'] = ''
+    add_gdscgdformData['落货日期'] = ''
+    add_gdscgdformData['面料'] = ''
+    add_gdscgdformData['要求'] = ''
+    add_gdscgdformData['船样描述'] = ''
+    add_gdscgdformData['船样合计'] = ''
+    add_gdscgdformData['箱唛要求'] = ''
+    add_gdscgdformData['粘衬'] = ''
+    add_gdscgdformData['订单数量'] = ''
+    add_gdscgdformData['制单日期'] = '';
+
+
+    
+    // add_gdscgdformData['落货日期'] = '2024-07-28';
   }
+  
+
+}
 
 
 //新增工单资料确定
@@ -877,14 +900,37 @@ const add_gdenterDialog = async ()=>{
 	  ElMessage({type: 'warning',message: '订单编号不能为空' })
 	  return false;
 	}
-	console.log("新增工单资料确定")
-	console.log(add_gdscgdformData)
+  if(add_gdscgdformData['客户编号'] === '' ||  add_gdscgdformData['客户编号'] === undefined){
+	  ElMessage({type: 'warning',message: '客户编号不能为空' })
+	  return false;
+	}
+  if(add_gdscgdformData['订单数量'] === '' ||  add_gdscgdformData['订单数量'] === undefined){
+	  ElMessage({type: 'warning',message: '客户编号不能为空' })
+	  return false;
+	}
+  if(add_gdscgdformData['制单日期'] === '' ||  add_gdscgdformData['制单日期'] === undefined){
+	  ElMessage({type: 'warning',message: '制单日期不能为空' })
+	  return false;
+	}
+
+  //日期转换
+  let lhrq_formattedDeliveryDate = '';  
+  if (add_gdscgdformData['落货日期']) {  
+    const date = new Date(add_gdscgdformData['落货日期']);  
+    lhrq_formattedDeliveryDate = `${date.getFullYear()}-${('0' + (date.getMonth() + 1)).slice(-2)}-${('0' + date.getDate()).slice(-2)}`;  
+  }  
+  let zdrq_formattedDeliveryDate = '';  
+  if (add_gdscgdformData['制单日期']) {  
+    const date = new Date(add_gdscgdformData['制单日期']);  
+    zdrq_formattedDeliveryDate = `${date.getFullYear()}-${('0' + (date.getMonth() + 1)).slice(-2)}-${('0' + date.getDate()).slice(-2)}`;  
+  }  
+
 	const formattedData = {
 		订单编号: add_gdscgdformData['订单编号'],
 		生产款号: add_gdscgdformData['生产款号'],
 		款式: add_gdscgdformData['款式'],
 		客户编号: add_gdscgdformData['客户编号'],
-		落货日期: add_gdscgdformData['落货日期'],
+		落货日期: lhrq_formattedDeliveryDate,
 		箱唛要求: add_gdscgdformData['箱唛要求'],
 		面料: add_gdscgdformData['面料'],
 		要求: add_gdscgdformData['要求'],
@@ -894,7 +940,7 @@ const add_gdenterDialog = async ()=>{
 		订单数量: add_gdscgdformData['订单数量'],
 		单位: add_gdscgdformData['单位'],
 		Sys_id: add_gdscgdformData['制单人'],
-		接单日期: add_gdscgdformData['制单日期'],
+		接单日期: zdrq_formattedDeliveryDate,
 		// 审核人: add_gdscgdformData['审核人'],
 		// 审核日期: add_gdscgdformData['审核日期']
 	};
@@ -903,6 +949,9 @@ const add_gdenterDialog = async ()=>{
 	if (edit_gdformdata_list.code === 0) {
 		add_gddialogFormVisible.value = false;
 		ElMessage({type: 'success',message: '新增成功'})
+    const WorkListdata = await WorkOrderList({search:_Gd_khdh.value,page:1,limit:15});
+	  console.log("上方表格数据")
+    tableData.value=WorkListdata.data.data
 	} else {
 		ElMessage({ type: 'error',message: '新增失败'})
 	}
@@ -948,24 +997,24 @@ const zdsformdata = reactive({
 });
 const sxhandleSizeChange = (value) => {
   // console.log(value)
-  if (value === '红色') {
-    add_yszlformdata.sxmc = '红色'
-	} else if(value === '黄色'){
-    add_yszlformdata.sxmc = '黄色'
-  }else if(value === '蓝色'){
-    add_yszlformdata.sxmc = '蓝色'
-  }else if(value === '绿色'){
-    add_yszlformdata.sxmc = '绿色'
-  }else if(value === '紫色'){
-    add_yszlformdata.sxmc = '紫色'
-  }else if(value === '灰色'){
-    add_yszlformdata.sxmc = '灰色'
-  }else if(value === '咖啡'){
-    add_yszlformdata.sxmc = '咖啡'
-  }else if(value === '黑白'){
-    add_yszlformdata.sxmc = '黑白'
-  }else if(value === '经典色'){
-    add_yszlformdata.sxmc = '经典色'
+  if (value === '红色') {
+    add_yszlformdata.sxmc = '红色'
+	} else if(value === '黄色'){
+    add_yszlformdata.sxmc = '黄色'
+  }else if(value === '蓝色'){
+    add_yszlformdata.sxmc = '蓝色'
+  }else if(value === '绿色'){
+    add_yszlformdata.sxmc = '绿色'
+  }else if(value === '紫色'){
+    add_yszlformdata.sxmc = '紫色'
+  }else if(value === '灰色'){
+    add_yszlformdata.sxmc = '灰色'
+  }else if(value === '咖啡色系'){
+    add_yszlformdata.sxmc = '咖啡色系'
+  }else if(value === '黑白色系'){
+    add_yszlformdata.sxmc = '黑白色系'
+  }else if(value === '经典色'){
+    add_yszlformdata.sxmc = '经典色'
   }
 };
 
@@ -998,12 +1047,17 @@ const gdyj_clearFormData = () => {
   Object.keys(zdsformdata).forEach(key => {
     zdsformdata[key] = '';
   });
-  add_yszlformdata['ddh'] = _Gd_gdbh.value;
-  add_yszlformdata['ddzbh'] = '';
-  add_yszlformdata['ys'] = '';
-  add_yszlformdata['cmgg'] = '32~46';
-  add_yszlformdata['sfcy'] = '是';
+
 };
+
+//自动计算制单数总计
+function updateTotal() {  
+  // 直接指定要累加的属性名  
+  const relevantKeys = ['zds1', 'zds2', 'zds3', 'zds4', 'zds5', 'zds6', 'zds7', 'zds8'];  
+  const values = relevantKeys.map(key => parseInt(zdsformdata[key], 10) || 0); // 使用 || 0 来处理可能的 NaN 或 undefined/null  
+  zdsformdata.zds9 = values.reduce((sum, value) => sum + value, 0);  
+}  
+
 //新增颜色资料按钮
 const addgdyj_onclick = () => {
   if(_Gd_gdbh.value === '' || _Gd_gdbh.value === null){
@@ -1011,6 +1065,12 @@ const addgdyj_onclick = () => {
     return false;
   }else{
     add_gdyjdialogFormVisible.value = true
+    add_yszlformdata['ddh'] = _Gd_gdbh.value;
+    add_yszlformdata['ddzbh'] = '';
+    add_yszlformdata['ys'] = '';
+    add_yszlformdata['cmgg'] = '32~46';
+    add_yszlformdata['sfcy'] = '是';
+    add_yszlformdata['kdy'] = _username.value;
     gdyj_clearFormData();
   }
 }
@@ -1083,7 +1143,20 @@ const add_gdyjenterDialog =  async  () => {
     // 图片:previewFiles['value']['0']['name']
 	};
   console.log(addyszltable)
+
   const printDetailAdds = await printDetailAdd(addyszltable);
+  if (printDetailAdds.code === 0) {
+		add_gdyjdialogFormVisible.value = false;
+		ElMessage({type: 'success',message: '新增成功'})
+  }
+  const PrintListDatas = await PrintListData({order:_Gd_gdbh.value})
+        if(PrintListDatas.data.列表.length === 0){
+          ystableData.length = []
+        }else{
+          sizeDatas.splice(0,PrintListDatas.data.型号.length,...PrintListDatas.data.型号);//型号数据
+          ystableData.splice(0,PrintListDatas.data.列表.length,...PrintListDatas.data.列表);//表格数据
+        }
+      
 }
 
 //新增颜色资料取消
@@ -1484,23 +1557,23 @@ const handleUploadFile = (file) => {
   return true;  
 };  
   
-const uploadFile = (file) => {  
-  uploadImageUsingFile({ imageFile: file.file, type: 3 })  
-    .then(value => {  
-      if (value.code === '0') {  
-        // 注意:直接修改 props 是不推荐的,但这里为了简化,我们直接修改  
-        // 更好的做法是使用 emit 发送一个事件,让父组件来处理  
-        props.fileList.push(value.data);  
-        emit('getImage', [...props.fileList]); // 通知父组件更新  
-      } else {  
-        ElMessage.error('图片上传失败');  
-      }  
-    })  
-    .catch(err => {  
-      ElMessage.error('图片上传失败');  
-      console.log(err);  
-    });  
-};  
+// const uploadFile = (file) => {  
+//   uploadImageUsingFile({ imageFile: file.file, type: 3 })  
+//     .then(value => {  
+//       if (value.code === '0') {  
+//         // 注意:直接修改 props 是不推荐的,但这里为了简化,我们直接修改  
+//         // 更好的做法是使用 emit 发送一个事件,让父组件来处理  
+//         props.fileList.push(value.data);  
+//         emit('getImage', [...props.fileList]); // 通知父组件更新  
+//       } else {  
+//         ElMessage.error('图片上传失败');  
+//       }  
+//     })  
+//     .catch(err => {  
+//       ElMessage.error('图片上传失败');  
+//       console.log(err);  
+//     });  
+// };  
   
 const handlePicturePreview = (file) => {  
   dialogImageUrl.value = file.originalUrl;  
@@ -1522,7 +1595,7 @@ const handlePaste = (event) => {
   for (let i = 0; i < items.length; i++) {  
     if (items[i].type.includes('image')) {  
       const file = items[i].getAsFile();  
-      uploadFile({ file });  
+      // uploadFile({ file });  
       break;  
     }  
   }  

+ 41 - 91
src/view/yunyin/shengchanguanli/shengchanpaichan.vue

@@ -465,11 +465,11 @@
                 <el-table-column type="selection" width="30" />
                 <template v-for="item in [
                   { align:'left', title:'序号', prop: '序号', width: 80, sortable: 'sortable',fixed:'fixed', },
-                  { align:'left', title:'订单号', prop: '订单号', width: 100, sortable: 'sortable', },
-                  { align:'left', title: '生产款号', prop: '生产款号', width: 120, sortable: 'sortable', },
-                  { align:'left', title: '订单子编号', prop: '订单编号', width: 120, sortable: 'sortable', },
+                  { align:'left', title:'订单编号', prop: '订单编号', width: 110, sortable: 'sortable', },
+                  { align:'left', title: '生产款号', prop: '款号', width: 120, sortable: 'sortable', },
+                  { align:'left', title: '订单子编号', prop: '订单编号', width: 120, sortable: 'sortable', },
                   { align:'left', title: '颜色', prop: '颜色', width: 80, sortable: 'sortable', },
-                  { align:'left', title: '制单总数', prop: '制单数', width: 110,  sortable: 'sortable', },
+                  { align:'left', title: '制单总数', prop: '制单数', width: 110,  sortable: 'sortable', },
                   { align:'left', title: '排产数量', prop: '排产数量', width: 110,  sortable: 'sortable', },
                   { align:'left', title: '工作中心', prop: '工作中心', width: 110,  sortable: 'sortable', },
                   { align:'left', title: '部门', prop: '部门', width: 100,  sortable: 'sortable', },
@@ -538,8 +538,9 @@ import { Layout, LayoutSider, LayoutContent } from '@arco-design/web-vue';
 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'
+import { ref, reactive,onMounted } from 'vue'
 import dayjs from 'dayjs'
+import {MachineList,MachineDetail} from '@/api/mes/job'
 import {
   DataList,
   getProduct,
@@ -564,7 +565,6 @@ import {
   getOrderProcessCount,
   getOrderProcessLeft,
   getOrderProcessRight,
-  gdzl_MachineList,
   EquipmentSchedulingEdit,
   MachineTeamEdit,
   PrintDetailList
@@ -716,36 +716,39 @@ const bottomTableF = ref({
 
 
 //左侧左边栏
-const treeData = ref([]);
-//车间侧边栏 进入页面自动加载【车间】数据
-const workbenchdata = async () => {
-  try {
-    const data = 
-    [{
-      label : '车缝小烫车间',
-      children : [
-      {label : '车缝1组'},
-      {label : '车缝2组'},
-      {label : '车缝3组'},
-      {label : '车缝4组'},
-      {label : '车缝5组'},
-      {label : '车缝6组'},
-      {label : '车缝7组'},
-      {label : '车缝8组'},
-      {label : '车缝9组'},
-      {label : '车缝10组'},
-      {label : '车缝11组'},
-      {label : '车缝12组'},
-    ]
-    }];
-    treeData.value = data
+const treeData = ref([]);  
+const machineLists = ref([]);  
+  
+async function fetchMachineLists() {    
+  try {    
+    const response = await MachineList(); 
+    machineLists.value = response;   
+  } catch (error) {    
+    console.error('Failed to fetch machine lists:', error);    
+  }    
+}    
+// 车间侧边栏 进入页面自动加载【车间】数据    
+async function workbenchdata() {    
+  await fetchMachineLists(); // 首先获取车间列表    
+  if (machineLists.value && machineLists.value.data && machineLists.value.data.length > 0) {    
+    const data = [    
+      {    
+        label: '车缝小烫车间',    
+        children: machineLists.value.data.map(machineId => ({    
+          label: machineId,
+        })),    
+      }  
+    ];    
+    treeData.value = data;
     treeData.value.unshift(sctreeData.value[0])
-    console.log(treeData)
-  } catch (error) {
-    console.error(error);
-  }
-};
-workbenchdata();
+  } else {    
+    console.log('No machine lists found.');    
+  }    
+}  
+// 在组件挂载时调用 workbenchdata  
+onMounted(workbenchdata); 
+  
+
 
 //全局获取工单编号
 const _Gd_gdbh = ref(null)
@@ -785,62 +788,9 @@ const handleNodeClick = async (node) => {
     schandleNodeClick(node)
   } else if (!node.children) {
     treeType.value = 'dataTree'
-
-    console.log(99999)
-    const cjData =[
-    {
-        '序号':'1',
-        '订单号':'2408001',
-        '生产款号':'2403-1622款',
-        '订单子编号':'2408001-1',
-        '颜色':'红色',
-        '制单总数':'90',
-        '排产数量':'50',
-        '工作中心':'二分厂',
-        '部门':'服装厂11组',
-        '客户':'DC-7',
-        '落货日期':'2024/7/20',
-        '款式':'连衣裙',
-        '箱唛要求':'折箱装修',
-        '面料':'面布:乱麻复合布;拼布:AZ666雪纺…',
-        '要求':'',
-        '船样描述':'',
-        '船样合计':'4',
-        '粘衬':'',
-        '订单数量':'174',
-        '单位':'件',
-        '审核':'裘志江',
-        '审核日期':'2024/6/27',
-        '排产时间':'2024-8-14 12:00',
-        '排产人':'车间主任xxx',
-      },
-      {
-        '序号':'2',
-        '订单号':'2408001',
-        '生产款号':'2403-1623款',
-        '订单子编号':'2408001-2',
-        '颜色':'蓝色',
-        '制单总数':'90',
-        '排产数量':'50',
-        '工作中心':'二分厂',
-        '部门':'服装厂1组',
-        '客户':'DC-7',
-        '落货日期':'2024/7/20',
-        '款式':'连衣裙',
-        '箱唛要求':'折箱装修',
-        '面料':'面布:乱麻复合布;拼布:AZ666雪纺…',
-        '要求':'',
-        '船样描述':'',
-        '船样合计':'4',
-        '粘衬':'',
-        '订单数量':'174',
-        '单位':'件',
-        '审核':'裘志江',
-        '审核日期':'2024/6/27',
-        '排产时间':'2024-8-14 12:00',
-        '排产人':'车间主任xxx',
-      },
-    ];      
+    const MachineDetailtable = await MachineDetail({machine:node.label});
+    console.log(99999,MachineDetailtable)
+    const cjData = MachineDetailtable.data
     console.log(cjData)
     chejianData.splice(0,chejianData.length,...cjData);//表格数据
   } 

+ 47 - 98
src/view/yunyin/shengchanguanli/yangyipihe.vue

@@ -16,13 +16,13 @@
   
 		<layout>
 		  <!--左侧树侧形结构-->
-		  <layout-sider :resize-directions="['right']" :width="190" style="margin-right: 10px;">
+		  <!-- <layout-sider :resize-directions="['right']" :width="190" style="margin-right: 10px;">
 			<div class="JKWTree-tree" style="height: 200px">
 			  <h3>客户编号</h3>
 			  <el-tree :data="treeData" class="treecolor" :current-node-key="currentNodeKey" @node-click="handleNodeClick">
 			  </el-tree>
 			</div>
-		  </layout-sider>
+		  </layout-sider> -->
   
 		  <!-- 右侧区域 -->
 		  <layout-content >
@@ -39,17 +39,17 @@
 							 highlight-current-row="true"
 							style="width: 100%;height: 65vh" border  :data="tableData1" row-key="ID" >
 						<el-table-column  sortable align="center" label="序号" prop="序号"  width="80" />
-						<el-table-column  sortable align="center" label="订单编号" prop="订单编号"  width="120" />
+						<el-table-column  sortable align="center" label="订单编号" prop="订单编号"  width="120" />
 						<el-table-column  sortable align="center" label="颜色名称" prop="颜色名称"  width="120" />
 						<el-table-column  sortable align="center" label="生产款号" prop="生产款号"  width="120" />
-						<el-table-column  sortable align="center" label="客户" prop="客户"  width="100" />
+						<el-table-column  sortable align="center" label="客户" prop="客户编号"  width="100" />
 						<el-table-column  sortable align="center" label="船样" prop="船样"  width="90" />
 						<el-table-column  sortable align="center" label="S" prop="S"  width="80" />
 						<el-table-column  sortable align="center" label="M" prop="M"  width="80" />
 						<el-table-column  sortable align="center" label="L" prop="L"  width="80" />
 						<el-table-column  sortable align="center" label="XL" prop="XL"  width="80" />
 						<el-table-column  sortable align="center" label="XXL" prop="XXL"  width="80" />
-						<el-table-column  sortable align="center" label="制单总数" prop="制单总数"  width="120" />
+						<el-table-column  sortable align="center" label="制单总数" prop="订单数量"  width="120" />
 						<el-table-column  sortable align="center" label="建档用户" prop="建档用户"  width="120" />
 						<el-table-column  sortable align="center" label="建档日期" prop="建档日期"  width="120" />
 						<el-table-column  sortable align="center" label="更新时间" prop="更新时间"  width="120" />
@@ -64,7 +64,7 @@
 							:header-cell-style="{ padding: '0px' }"
 							highlight-current-row="true"
 							 @row-click="yyyp_clickybupdate"
-                        	 @row-dblclick="yyyp_clickybupdate"
+                        	 @row-dblclick="yyyp_updateCompanyFunc"
 							style="width: 100%;height: 65vh" border  :data="tableData2" row-key="ID" >
 						<el-table-column  sortable align="center" label="序号" prop="序号"  width="80" />
 						<el-table-column  sortable align="center" label="订单子编号" prop="订单子编号"  width="120" />
@@ -123,43 +123,45 @@
   // 全量引入格式化工具 请按需保留
   import { Layout, LayoutSider, LayoutContent } from '@arco-design/web-vue';
   import {ref, reactive} from 'vue'
+  import {UnapprovalList} from '@/api/mes/job'
+  
   import {jcgetTab,workOrderDetail,getOrderProcessCount,PrintDetailList} from '@/api/yunyin/yunying'
   import PrintPage from './components/print.vue'
   import {ElMessage} from "element-plus";
   defineOptions({name: 'Company'})
 
   // =========== 获取左侧树侧形结构 ===========
-  const treeData = ref({})
-  const _department_code = ref(null)
-  const getDepartmentdata = async () => {
-	try {
-	  const data = 
-		[{
-		label : '客户编号',
-		children : [
-		{label : 'DC-1'},
-		{label : 'DC-2'},
-		{label : 'DC-3'},
-		{label : 'DC-4'},
-		{label : 'DC-5'},
-		{label : 'DC-6'},
-		{label : 'DC-7'},
-		{label : 'DC-8'},
-		{label : 'DC-9'},
-		{label : 'DC-10'},
-		{label : 'DC-11'},
-		{label : 'DC-12'},
-		{label : 'DC-13'},
-		{label : 'DC-14'},
-		{label : 'DC-15'}
-	  ]
-	  }];
-	  treeData.value = data
-	} catch (error) {
-	  console.error(error)
-	}
-  }
-  getDepartmentdata();
+//   const treeData = ref({})
+//   const _department_code = ref(null)
+//   const getDepartmentdata = async () => {
+// 	try {
+// 	  const data = 
+// 		[{
+// 		label : '客户编号',
+// 		children : [
+// 		{label : 'DC-1'},
+// 		{label : 'DC-2'},
+// 		{label : 'DC-3'},
+// 		{label : 'DC-4'},
+// 		{label : 'DC-5'},
+// 		{label : 'DC-6'},
+// 		{label : 'DC-7'},
+// 		{label : 'DC-8'},
+// 		{label : 'DC-9'},
+// 		{label : 'DC-10'},
+// 		{label : 'DC-11'},
+// 		{label : 'DC-12'},
+// 		{label : 'DC-13'},
+// 		{label : 'DC-14'},
+// 		{label : 'DC-15'}
+// 	  ]
+// 	  }];
+// 	  treeData.value = data
+// 	} catch (error) {
+// 	  console.error(error)
+// 	}
+//   }
+//   getDepartmentdata();
 
 //全局调用左侧菜单编号
 const _code = ref(null);  
@@ -190,65 +192,7 @@ const handleNodeClick = async (node) => {
 		console.log(node.label)
 	}else{
 		console.log(node.label)
-		const workOrderDetaildata1 = [
-		{
-			'序号':'1',
-			'订单子编号':'2408001',
-			'颜色名称':'红色',
-			'生产款号':'2403-1622款',
-			'客户':'DC-7',
-			'船样':'否',
-			'S':'/',
-			'M':'2',
-			'L':'/',
-			'XL':'2',
-			'XXL':'/',
-			'制单总数':'4',
-			'建档用户':'xxx',
-			'建档日期':'',
-			'更新时间':'',
-			'核批人':'/',
-			'核批日期':'/',
-		},
-		{
-			'序号':'2',
-			'订单子编号':'2408002',
-			'颜色名称':'蓝色',
-			'生产款号':'2403-1622款',
-			'客户':'DC-7',
-			'船样':'否',
-			'S':'/',
-			'M':'2',
-			'L':'/',
-			'XL':'2',
-			'XXL':'/',
-			'制单总数':'4',
-			'建档用户':'xxx',
-			'建档日期':'',
-			'更新时间':'',
-			'核批人':'/',
-			'核批日期':'/',
-		},
-		{
-			'序号':'3',
-			'订单子编号':'2408005-船',
-			'颜色名称':'黑色',
-			'生产款号':'2403-1622款',
-			'客户':'DC-7',
-			'船样':'否',
-			'S':'/',
-			'M':'2',
-			'L':'/',
-			'XL':'2',
-			'XXL':'/',
-			'制单总数':'4',
-			'建档用户':'xxx',
-			'建档日期':'',
-			'更新时间':'',
-			'核批人':'/',
-			'核批日期':'/',
-		},
-		];
+		
 		const workOrderDetaildata2 = [
 			{
 				'序号':'1',
@@ -272,7 +216,7 @@ const handleNodeClick = async (node) => {
 		];
 		// console.log(workOrderDetaildata1)
 		// console.log(workOrderDetaildata2)
-		tableData1.splice(0,tableData1.length,...workOrderDetaildata1);
+
 		tableData2.splice(0,tableData2.length,...workOrderDetaildata2);
 	}
 	
@@ -308,13 +252,18 @@ const yyyp_updateCompanyFunc = async (row) => {
 // 搜索默认为空
 const searchInfo = ref('')
 //点击【查询】按钮
-const onSubmit = () => {
+const onSubmit = async ()  => {
 	if(searchInfo.value === ''){
     ElMessage({type: 'warning',message: '请输入搜索的信息'})
     return false;
   }else{
+	const UnapprovalListtable = await UnapprovalList({search:searchInfo.value});
+	console.log(124,UnapprovalListtable)
     console.log(searchInfo.value)
     console.log("点击了搜索按钮");
+	const workOrderDetaildata1 = UnapprovalListtable.data
+	tableData1.splice(0,tableData1.length,...workOrderDetaildata1);
+	console.log(128,workOrderDetaildata1)
   }
 };
 const hptg_onClick = () => {

+ 19 - 97
src/view/yunyin/shengchanguanli/yuedudahuoshengchanjindu.vue

@@ -82,64 +82,33 @@
   <script setup>
   // 全量引入格式化工具 请按需保留
   import { Layout, LayoutSider, LayoutContent } from '@arco-design/web-vue';
-  
   import {ref, reactive} from 'vue'
-  import {
-	  jcgetTab,
-	  workOrderDetail,
-	  getOrderProcessCount,
-	PrintDetailList
-	  } from '@/api/yunyin/yunying'
+  import {dateList,OrderYieldList} from '@/api/mes/job'
+
   import PrintPage from './components/print.vue'
   import {ElMessage} from "element-plus";
   defineOptions({name: 'Company'})
   // =========== 获取左侧树侧形结构 ===========
-  const treeData = ref({})
+  const treeData = ref([]);  
   const _department_code = ref(null)
-  const getDepartmentdata = async () => {
-	try {
-	  const data = 
-		[{
-			label : '2024',
-      children : [
-      {label : '8月'},
-      {label : '7月'},
-	  {label : '6月'},
-	  {label : '5月'},
-	  {label : '4月'},
-	  {label : '3月'},
-	  {label : '2月'},
-	  {label : '1月'},
-    ]
-    }];
-	[{
-      label : '2023',
-      children : [
-	  {label : '12月'},
-	  {label : '11月'},
-	  {label : '10月'},
-	  {label : '9月'},
-      {label : '8月'},
-      {label : '7月'},
-	  {label : '6月'},
-	  {label : '5月'},
-	  {label : '4月'},
-	  {label : '3月'},
-	  {label : '2月'},
-	  {label : '1月'},
-    ]
-    }];
-	  treeData.value = data
-	} catch (error) {
-	  console.error(error)
-	}
-  }
-  getDepartmentdata();
+const getDepartmentdata = async () => {  
+  try {  
+    const dateList_list = await dateList();  
+    const { data } = dateList_list;  
+    treeData.value = data.map(month => ({label: month })); // 假设每个节点有一个id和label  
+    console.log(553, treeData.value);  
+  } catch (error) {  
+    console.error(error);  
+  }  
+};  
+  
+getDepartmentdata();
   
   //点击左侧树形 获取右侧table列表
   const tableData = reactive([]);
   const _code = ref(null);  //左侧菜单编号
   const handleNodeClick = async (node) => {
+	console.log(778,node)
   // 取消所有节点的颜色
   const allNodes = document.querySelectorAll('.treecolor .el-tree-node');
   allNodes.forEach(node => {
@@ -185,57 +154,10 @@
   
   //获取员工信息列表
   const _workOrderDetailList = async ()=>{
+	const OrderYieldListtable = await OrderYieldList();
+	console.log(456,OrderYieldListtable)
 	  try {
-		const workOrderDetaildata = [
-		{
-		  '序号':'1',
-		  '款式':'小香风外套',
-		  '客户编号':'DC-4',
-		  '下单日期':'3月7日',
-		  '客户确认货期':'7月2日',
-		  '款号':'2155758',
-		  '生产组别':'4组',
-		  '订单数量':'1912',
-		  '实裁数量':'',
-		  '已完成数量':'1958',
-		  '入库数量':'1957',
-		  '面料入库时间':'5月3日',
-		  '辅料入库时间':'5月4日',
-		  '产前样批核':'5月9日',
-		  '大货制单':'',
-		  '工装模板款号':'',
-		  '开裁日期':'',
-		  '上车位时间':'',
-		  '台产':'',
-		  '车位完成时间':'6月27日',
-		  '后道完成时间':'7月10日',
-		  '备注':'',
-		},
-		{
-		  '序号':'2',
-		  '款式':'小香风外套',
-		  '客户编号':'DC-4',
-		  '下单日期':'3月7日',
-		  '客户确认货期':'7月2日',
-		  '款号':'2155758',
-		  '生产组别':'9组',
-		  '订单数量':'2051',
-		  '实裁数量':'',
-		  '已完成数量':'2095',
-		  '入库数量':'2094',
-		  '面料入库时间':'5月3日',
-		  '辅料入库时间':'5月4日',
-		  '产前样批核':'5月9日',
-		  '大货制单':'',
-		  '工装模板款号':'',
-		  '开裁日期':'',
-		  '上车位时间':'',
-		  '台产':'',
-		  '车位完成时间':'7月1日',
-		  '后道完成时间':'7月10日',
-		  '备注':'',
-		},
-	];
+		const workOrderDetaildata = 
   
 	  console.log(workOrderDetaildata)
 	  tableData.splice(0,tableData.length,...workOrderDetaildata);