zck 9 月之前
父節點
當前提交
bf9da37551
共有 3 個文件被更改,包括 148 次插入121 次删除
  1. 1 1
      src/view/inventory/ruku.vue
  2. 18 13
      src/view/inventory/tuihuan.vue
  3. 129 107
      src/view/yunyin/shengchanguanli/gongdanziliao.vue

+ 1 - 1
src/view/inventory/ruku.vue

@@ -115,9 +115,9 @@
                       highlight-current-row="true"  @row-dblclick="updateCompanyFunc"
                       @row-click="tableRowClick" :show-overflow-tooltip="true"
                       @selection-change="handleSelectionChange">
+			  <el-table-column  align="left" label="关联编号" prop="关联编号" width="90" />
 			  <el-table-column  align="left" label="订单编号" prop="订单编号" width="110" />
 			  <el-table-column  align="left" label="生产款号" prop="生产款号" width="110" />
-			  <el-table-column  align="left" label="关联编号" prop="关联编号" width="90" />
 			  <el-table-column  align="left" label="物料名称" prop="物料名称" width="120" />	 
 			  <el-table-column  align="left" label="颜色" prop="颜色" width="100" />
             </el-table>

+ 18 - 13
src/view/inventory/tuihuan.vue

@@ -125,7 +125,7 @@
   
           <!-- 右部分 -->
           <div style="position: relative;width: 1300px;height: 310px;">
-              <el-descriptions class="margin-top" :column="1" :size="size" border>
+              <el-descriptions class="margin-top" :column="2" :size="size" border>
                   <el-descriptions-item label="关联订单">{{ mianliaotabData.关联订单 }}</el-descriptions-item>
               </el-descriptions>
             <el-descriptions class="margin-top" :column="4" :size="size" border>
@@ -156,7 +156,16 @@
                 <el-input v-model="mianliaotabData.退还数量" id='rksl' placeholder="" style="margin: 0; width: 100px;"/>
               </el-descriptions-item>
           </el-descriptions>
-          
+
+
+          <el-descriptions class="margin-top" :column="2" :size="size" border>
+            <el-descriptions-item label="退还类型">
+                <el-radio v-model="radio1" label="退面料" border>退面料</el-radio>
+                <el-radio v-model="radio1" label="退厂商" border>退厂商</el-radio>
+                <el-radio v-model="radio1" label="退次品" border>退次品</el-radio>
+              </el-descriptions-item>
+          </el-descriptions>
+
           <!-- <el-button type="primary" @click="dj_Dialog" style="width: 120px; height: 50px; position: absolute; bottom: 0px; right: 10px;">
             添加面料
           </el-button> -->
@@ -168,11 +177,7 @@
               <el-descriptions-item label="退还日期">{{riqi}}</el-descriptions-item>
               <el-descriptions-item label="退还人员">{{chukuren}}</el-descriptions-item>
           </el-descriptions>
-          <div>
-    <el-radio v-model="radio1" label="退面料" border>面料</el-radio>
-    <el-radio v-model="radio1" label="退厂商" border>厂商</el-radio>
-    <el-radio v-model="radio1" label="退次品" border>次品</el-radio>
-  </div>
+        
           <br>
             <div>
               <el-table ref="multipleTable" style="width: 100%;height: 25vh" tooltip-effect="dark"
@@ -329,7 +334,7 @@
           ddhformData.ks = orderSearchdata.data[0]['款式']
           add_lysearchInfo.value = add_searchInfo.value
           
-          const gitReceiptNumberdata = await gitReceiptNumber({number:'CK'});
+          const gitReceiptNumberdata = await gitReceiptNumber({number:'TH'});
           danhao.value = gitReceiptNumberdata.data.number
           chukuren.value = userStore.userInfo.nickName
           riqi.value = currentDates 
@@ -353,7 +358,7 @@
           ddhformData.ks = orderSearchdata.data[0]['款式']
           add_lysearchInfo.value = add_searchInfo.value
           
-          const gitReceiptNumberdata = await gitReceiptNumber({number:'CK'});
+          const gitReceiptNumberdata = await gitReceiptNumber({number:'TH'});
           console.log(gitReceiptNumberdata)
           danhao.value = gitReceiptNumberdata.data.number
           chukuren.value = userStore.userInfo.nickName
@@ -532,7 +537,7 @@
           }, 100);//100毫秒
           
           //获取单据编号接口
-          const gitReceiptNumberdata = await gitReceiptNumber({number:'CK'});
+          const gitReceiptNumberdata = await gitReceiptNumber({number:'TH'});
           danhao.value = gitReceiptNumberdata.data.number
           chukuren.value = userStore.userInfo.nickName
           riqi.value = currentDates
@@ -902,9 +907,9 @@
       width: 120px;
   }
   :deep(.el-descriptions__content) {
-    width: 120px !important;
-    min-width: 120px !important;
-    max-width: 120px !important;
+    width: 80px !important;
+    min-width: 80px !important;
+    max-width: 80px !important;
     overflow: hidden !important;
     text-overflow: ellipsis !important;
   }

+ 129 - 107
src/view/yunyin/shengchanguanli/gongdanziliao.vue

@@ -41,7 +41,12 @@
               <el-table ref="multipleTable" style="width: 100%;height: 28vh"
                         :row-style="{ height: '20px' }" :header-cell-style="{ padding: '0px' }"
                         :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
-                        border tooltip-effect="dark" :data="tableData" row-key="ID"
+                        border tooltip-effect="dark" 
+						v-loading="loading"
+						element-loading-text="拼命加载中"
+						element-loading-spinner="el-icon-loading"
+						element-loading-background="rgba(0, 0, 0, 0.8)"
+						:data="tableData" row-key="ID"
                         highlight-current-row="true"
                         :cell-class-name="tableDataCellClass"
 						@row-click="tableRowClick" @row-dblclick="updateCompanyFunc"
@@ -82,9 +87,8 @@
             <el-tabs v-model="activeName" @tab-click="handleClick">
               <el-tab-pane label="颜色资料"   name="first">
                 <el-table ref="multipleTable"
-                          :row-style="{ height: '20px' }"
-                          :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
-                          :header-cell-style="{ padding: '0px' }"
+                        :row-style="{ height: '20px' }" :header-cell-style="{ padding: '0px' }"
+                        :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
                           :show-overflow-tooltip="true"
                           highlight-current-row="true"
 						  @row-click="ystableclick"
@@ -213,9 +217,8 @@
 
               <el-tab-pane label="面料库存" name="seven">
                 <el-table ref="multipleTable"
-                          :row-style="{ height: '20px' }"
-                          :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
-                          :header-cell-style="{ padding: '0px' }"
+                        :row-style="{ height: '25px' }" :header-cell-style="{ padding: '0px' }"
+                        :cell-style="{ padding: '0px' }" :header-row-style="{ height: '25px' }"
                           :show-overflow-tooltip="true"
                           :cell-class-name="planUsageCellClass"
                           highlight-current-row="true"
@@ -225,10 +228,10 @@
 <!--                  <el-table-column type="selection" width="30" />-->
 				  <!-- <el-table-column type="selection" width="30" /> -->
 				  <el-table-column align="left" label="订单编号" prop="订单编号"  width="110"/>
-				  <el-table-column align="left" label="客户编号" prop="客户编号"  width="100"/>
+				  <!-- <el-table-column align="left" label="客户编号" prop="客户编号"  width="100"/>
 				  <el-table-column align="left" label="生产款号" prop="生产款号"  width="100"/>
-				  <el-table-column align="left" label="款式" prop="款式"  width="90"/>
-				  <el-table-column align="left" label="颜色" prop="颜色"  width="90"/>
+				  <el-table-column align="left" label="款式" prop="款式"  width="90"/> -->
+				  <el-table-column align="left" label="颜色" prop="颜色"  width="110"/>
                   <el-table-column align="left" label="物料编号" prop="BOM_物料编码"  width="180"/>
 				  <el-table-column align="left" label="物料名称" prop="物料名称"  width="180"/>
                   <!-- <el-table-column align="left" label="计划用料" prop="计划用料"  width="115" /> -->
@@ -236,12 +239,12 @@
                   <el-table-column align="left" label="定额用料" prop="定额用料"  width="90"/>
 				  <el-table-column align="left" label="定额门幅" prop="定额门幅"  width="115"/>
 				  <!-- <el-table-column align="left" label="实际门幅" prop="实际门幅"  width="115"/> -->
-                  <el-table-column align="left" label="裁床实际用料" prop="裁床实际用料"  width="120"/>
                   <el-table-column align="left" label="裁床领用面料" prop="裁床领用面料"  width="120"/>
+                  <el-table-column align="left" label="裁床实际用料" prop="裁床实际用料"  width="120"/>
 				  <el-table-column align="left" label="裁床退回仓库面料" prop="裁床退回仓库面料"  width="140"/>
 				  <el-table-column align="left" label="入库总量" prop="入库总量"  width="115"/>
 				  <el-table-column align="left" label="面料结余" prop="面料结余"  width="115"/>
-				  <el-table-column align="left" label="单位" prop="投料单位"  width="90"/>
+				  <el-table-column align="left" label="单位" prop="投料单位"  width="60"/>
 				  <el-table-column align="left" label="备注" prop="备注"  width="180"/>
 				  <el-table-column align="left" label="更新用户" prop="ID"  width="160"/>
 				  <el-table-column align="left" label="更新日期" prop="日期"  width="160"/>
@@ -553,7 +556,7 @@
 		  <template #footer>
 		    <div class="dialog-footer" style="text-align: right;">
 		      <el-button @click="add_gdcloseDialog">取消</el-button>
-		      <el-button type="primary" @click="add_gdenterDialog">确定</el-button>
+		      <el-button type="primary" @click="add_gdenterDialog":disabled="!isClickable" v-loading.fullscreen.lock="fullscreenLoading">确定</el-button>
 		    </div>
 		  </template>
 		  
@@ -650,7 +653,7 @@
 		</el-dialog>
 		
 		<!-- 批量修改BOM资料弹窗 -->
-		<el-dialog v-model="res_bomdialogFormVisible" :before-close="res_bomcloseDialog" title="批量修改BOM资料" width="60%" top="1%" destroy-on-close>
+		<el-dialog v-model="res_bomdialogFormVisible" :before-close="res_bomcloseDialog" title="批量新增或修改BOM资料" width="60%" top="1%" destroy-on-close>
 		  
 		   <el-descriptions class="margin-top" :column="4"  :size="size" border>
 			<el-descriptions-item label="订单编号" class="ddh">{{ ddhformData['ddh'] }}</el-descriptions-item>
@@ -1210,7 +1213,7 @@ import $ from 'jquery';
 import LuckyExcel from 'luckyexcel';
 import { toRaw } from 'vue';
 import { Layout, LayoutSider, LayoutContent } from '@arco-design/web-vue';
-import { ElMessage, ElMessageBox,ElUpload, ElButton } from 'element-plus'
+import { ElMessage, ElMessageBox,ElUpload, ElButton,ElLoading } from 'element-plus'
 import { ref, reactive, computed, nextTick, watch,onMounted,onBeforeUnmount } from 'vue'
 import axios from 'axios';
 import * as XLSX from 'xlsx';
@@ -1758,102 +1761,114 @@ const deleteRow = (index) => {
 	//移除当前行
 	zsglddtableData.value.splice(index, 1);
 }
-
-let isClickable = true;
+const fullscreenLoading = ref(false); // 控制全屏加载
+const isClickable = ref(true); // 控制按钮是否可点击
 //新增工单资料确定
-const add_gdenterDialog = async ()=>{
-	if (!isClickable) {
-        return;
+const add_gdenterDialog = async () => {
+  if (!isClickable.value) return;
+
+  // 禁用按钮
+  isClickable.value = false;
+
+  // 开启全屏加载,并自定义文字和样式
+  const loadingInstance = ElLoading.service({
+    lock: true, // 锁定屏幕
+    text: '正在自动获取生成BOM面料资料,请稍候...', // 自定义加载文字
+    background: 'rgba(0, 0, 0, 0.8)', // 背景颜色
+    spinner: 'el-icon-loading', // 加载图标
+  });
+
+  try {
+    // 定义需要校验的字段和对应的提示信息
+    const fields = [
+      { key: '款式', message: '款式不能为空' },
+      { key: '订单编号', message: '网络异常, 请重新打开' },
+      { key: '客户编号', message: '网络异常, 请重新打开' },
+      { key: '落货日期', message: '落货日期不能为空' },
+      { key: '订单数量', message: '订单数量不能为空' },
+      { key: '面料', message: '缺少面料信息,无法完成提交,请提供面料数据以便获取BOM资料数据' },
+    ];
+
+    // 遍历每个字段,进行非空或未定义校验
+    for (const field of fields) {
+      if (!add_gdscgdformData[field.key]) {
+        ElMessage({ type: 'warning', message: field.message });
+        return false;
+      }
     }
-    // 禁用按钮
-    isClickable = false;
 
-    // 设置定时器,2 秒后重新启用按钮
-    setTimeout(() => {
-        isClickable = true;
-    }, 2000);
-	
-	// 定义需要校验的字段和对应的提示信息
-	const fields = [
-	  { key: '款式', message: '款式不能为空' },
-	  { key: '订单编号', message: '网络异常, 请重新打开' },
-	  { key: '客户编号', message: '网络异常, 请重新打开' },
-	  { key: '落货日期', message: '落货日期不能为空' },
-	  { key: '订单数量', message: '订单数量不能为空' },
-	  { key: '面料', message: '缺少面料信息,无法完成提交,请提供面料数据以便获取BOM资料数据' }
-	];
-	
-	// 遍历每个字段,进行非空或未定义校验
-	for (const field of fields) {
-	  if (!add_gdscgdformData[field.key]) {
-	    ElMessage({ type: 'warning', message: field.message });
-	    return false;
-	  }
-	}
-	// 校验制单日期
-	if (!add_gdscgdformData['制单日期']) {
-	  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)}`;  
-	}  
+    // 校验制单日期
+    if (!add_gdscgdformData['制单日期']) {
+      ElMessage({ type: 'warning', message: '制单日期不能为空' });
+      return false;
+    }
 
-	// 获取 zsglddtableData 中所有行的 UNIQID 和订单编号
-	const ids = zsglddtableData.value.map(item => item.UNIQID);
-	const dds = zsglddtableData.value.map(item => item.订单编号);
+    // 日期转换
+    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)}`;
+    }
 
-	//去重UNIQID\订单编号
-	const uniqueIds = [...new Set(ids)];
-	const uniqueDds = [...new Set(dds)];
+    // 获取 zsglddtableData 中所有行的 UNIQID 和订单编号
+    const ids = zsglddtableData.value.map(item => item.UNIQID);
+    const dds = zsglddtableData.value.map(item => item.订单编号);
+
+    // 去重 UNIQID 和订单编号
+    const uniqueIds = [...new Set(ids)];
+    const uniqueDds = [...new Set(dds)];
+
+    // 用逗号连接 UNIQID 和订单编号
+    const formattedIds = uniqueIds.join(',');
+    const formattedDds = uniqueDds.join(',');
+
+    console.log('关联订单编号:', formattedDds);
+    console.log('关联订单UNIQID:', formattedIds);
+
+    const formattedData = {
+      订单编号: add_gdscgdformData['订单编号'],
+      生产款号: add_gdscgdformData['生产款号'],
+      款式: add_gdscgdformData['款式'],
+      客户编号: add_gdscgdformData['客户编号'],
+      落货日期: lhrq_formattedDeliveryDate,
+      箱唛要求: add_gdscgdformData['箱唛要求'],
+      面料: add_gdscgdformData['面料'],
+      要求: add_gdscgdformData['备注'],
+      船样描述: add_gdscgdformData['船样描述'],
+      船样合计: add_gdscgdformData['船样合计'],
+      粘衬: add_gdscgdformData['粘衬'],
+      订单数量: add_gdscgdformData['订单数量'],
+      单位: add_gdscgdformData['单位'],
+      Sys_id: _username.value,
+      接单日期: currentDates,
+      img: add_gdscgdformData.img,
+      关联订单: formattedDds,
+      关联面料ID: formattedIds,
+    };
 
-	// 用逗号连接 UNIQID 和订单编号
-	const formattedIds = uniqueIds.join(',');
-	const formattedDds = uniqueDds.join(',');
+    console.log(formattedData);
 
-	console.log("关联订单编号:", formattedDds);
-	console.log("关联订单UNIQID:", formattedIds);
-  
-	const formattedData = {
-		订单编号: add_gdscgdformData['订单编号'],
-		生产款号: add_gdscgdformData['生产款号'],
-		款式: add_gdscgdformData['款式'],
-		客户编号: add_gdscgdformData['客户编号'],
-		落货日期: lhrq_formattedDeliveryDate,
-		箱唛要求: add_gdscgdformData['箱唛要求'],
-		面料: add_gdscgdformData['面料'],
-		要求: add_gdscgdformData['备注'],
-		船样描述: add_gdscgdformData['船样描述'],
-		船样合计: add_gdscgdformData['船样合计'],
-		粘衬: add_gdscgdformData['粘衬'],
-		订单数量: add_gdscgdformData['订单数量'],
-		单位: add_gdscgdformData['单位'],
-		// water: add_gdscgdformData['合并'] ? 1 : null,
-		Sys_id: _username.value,
-		接单日期: currentDates,
-		img: add_gdscgdformData.img,
-		关联订单:formattedDds,
-		关联面料ID:formattedIds
-	};
-	console.log(formattedData)
-	// return;
-	//调用新增订单接口
-	const edit_gdformdata_list = await WorkOrderAdd(formattedData);
-	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:50});
-		tableData.value=WorkListdata.data.data
-	} else {
-		ElMessage({ type: 'error',message: '新增失败'})
-	}
- 
-}
+    // 调用新增订单接口
+    const edit_gdformdata_list = await WorkOrderAdd(formattedData);
+    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: 50 });
+      tableData.value = WorkListdata.data.data;
+    } else {
+      ElMessage({ type: 'error', message: '新增失败' });
+    }
+  } catch (error) {
+    console.error('Error:', error);
+    ElMessage({ type: 'error', message: '操作失败,请重试' });
+  } finally {
+    // 无论成功或失败,最终都要重新启用按钮并关闭加载
+    isClickable.value = true;
+    loadingInstance.close(); // 关闭加载
+  }
+};
 //新增工单资料取消
 const add_gdcloseDialog = () => {
   add_gddialogFormVisible.value = false
@@ -2332,7 +2347,7 @@ const ddhformData = reactive({
 });
 const resbom_tableColumns = ref(
     [
-      { label: '物料名称', prop: '物料名称', width: '130' },
+      { label: '物料名称', prop: '物料名称', width: '300' },
       { label: '计划用料', prop: '计划用料', width: '130' },
 	  { label: '计划门幅', prop: '计划门幅', width: '130' },
 	  { label: '定额用料', prop: '定额用料', width: '130' },
@@ -2341,8 +2356,8 @@ const resbom_tableColumns = ref(
 	//   { label: '裁床实际用料', prop: '裁床实际用料', width: '130' },
 	//   { label: '裁床领用面料', prop: '裁床领用面料', width: '130' },
 	//   { label: '裁床退回仓库面料', prop: '裁床退回仓库面料', width: '170' },
-	  { label: '备注', prop: '备注', width: '170' },
-	  { label: '投料单位', prop: '投料单位', width: '100' },
+	  { label: '备注', prop: '备注', width: '240' },
+	//   { label: '投料单位', prop: '投料单位', width: '100' },
     ]
 )
 //批量修改BOM资料
@@ -3243,5 +3258,12 @@ const jsfjenterDialog = () => {
 ::v-deep(.el-descriptions__table tbody tr .el-descriptions__content){
 	width: 120px;
 }
+:deep(.el-descriptions__content) {
+  width: 80px !important;
+  min-width: 80px !important;
+  max-width: 100px !important;
+  overflow: hidden !important;
+  text-overflow: ellipsis !important;
+}
 
 </style>