From efb6960d9a35857d8efa7e40a6e71504b87f5035 Mon Sep 17 00:00:00 2001
From: xwt <2740516069@qq.com>
Date: 星期六, 02 八月 2025 14:51:55 +0800
Subject: [PATCH] 来料检布局修改,查看图片修改

---
 pages/QC/XJ/Add.vue        |   53 +++
 pages/QC/LLJ/ImageItem.vue |  529 +++++++++++++++++++++++-----------------
 manifest.json              |    2 
 pages/QC/LLJ/Add.vue       |  112 +++++---
 pages/QC/SJ/Add.vue        |   77 ++++-
 5 files changed, 484 insertions(+), 289 deletions(-)

diff --git a/manifest.json b/manifest.json
index 521158e..c8d4d3b 100644
--- a/manifest.json
+++ b/manifest.json
@@ -2,7 +2,7 @@
     "name" : "GS-MES-AP",
     "appid" : "__UNI__F08FAE3",
     "description" : "",
-    "versionName" : "1.1.2.4",
+    "versionName" : "1.1.2.6",
     "versionCode" : 1,
     "transformPx" : false,
     /* 5+App鐗规湁鐩稿叧 */
diff --git a/pages/QC/LLJ/Add.vue b/pages/QC/LLJ/Add.vue
index 38afc4e..eb106b4 100644
--- a/pages/QC/LLJ/Add.vue
+++ b/pages/QC/LLJ/Add.vue
@@ -104,12 +104,13 @@
 		    <view class="info-label">鐮村潖瀹為獙鏁伴噺锛�</view>
 		    <view class="info-value highlight">{{formData.phsy}}</view>
 		</view>
-		
 
-
-
-		
-
+		<!-- 琛ㄥ崟涓婃柟鎿嶄綔鎸夐挳鍖� -->
+		<view class="top-action-buttons">
+			<button class="action-btn" @click="getInspectionItems" v-if="this.current">鑾峰彇妫�楠岄」鐩�</button>
+			<button class="action-btn" @click="handleEmergencyRelease" v-if="this.current">绱ф�ユ斁琛�</button>
+			<button class="action-btn" @click="handleWithdraw" v-if="this.current">鎾ゅ洖</button>
+		</view>
 
 		<!-- 妫�楠岄」鐩〃鏍� -->
 		<view class="inspection-table">
@@ -146,22 +147,14 @@
 			</table>
 		</view>
 
-		<!-- 椤甸潰鍐呭鍖哄煙 -->
-		<view class="content-wrapper">
-			<!-- 涓哄簳閮ㄦ寜閽暀鍑虹┖闂� -->
-		</view>
-		
-		<!-- 鍥哄畾鍦ㄥ簳閮ㄧ殑鎿嶄綔鎸夐挳鍖� -->
-		<view class="fixed-action-buttons">
-			<button class="action-btn" @click="handleEmergencyRelease" v-if="this.current">绱ф�ユ斁琛�</button>
-			<button class="action-btn" @click="handleWithdraw" v-if="this.current">鎾ゅ洖</button>
-			<button class="action-btn" @click="getInspectionItems" v-if="this.current">鑾峰彇妫�楠岄」鐩�</button>
-			<button class="action-btn" @click="addDestruction" v-if="this.current">鐮村潖瀹為獙</button>
-			<button class="action-btn" @click="uploadImages">涓婁紶/鏌ョ湅鍥剧墖</button>
-			<button class="action-btn" @click="fetchDrawingNumber">璋冨彇PLM鍥剧焊</button>
-			<button class="action-btn" @click="viewAttachmentInfo">鏌ョ湅闄勪欢淇℃伅</button>
-			<button class="action-btn" @click="addDefectDescription" v-if="this.current">娣诲姞涓嶈壇鎻忚堪</button>
-			<button class="action-btn primary" @click="submitInspection" v-if="this.current">妫�楠屾彁浜�</button>
+		<!-- 琛ㄥ崟涓嬫柟鎿嶄綔鎸夐挳鍖� -->
+		<view class="bottom-action-buttons">
+			<button class="action-btn small" @click="addDestruction" v-if="this.current">鐮村潖瀹為獙</button>
+			<button class="action-btn small" @click="uploadImages">涓婁紶/鏌ョ湅鍥剧墖</button>
+			<button class="action-btn small" @click="fetchDrawingNumber">璋冨彇PLM鍥剧焊</button>
+			<button class="action-btn small" @click="viewAttachmentInfo">鏌ョ湅闄勪欢淇℃伅</button>
+			<button class="action-btn small" @click="addDefectDescription" v-if="this.current">娣诲姞涓嶈壇鎻忚堪</button>
+			<button class="action-btn small primary" @click="submitInspection" v-if="this.current">妫�楠屾彁浜�</button>
 		</view>
 		<view v-if="remarksPopup" class="overlay">
 			<view class="popup">
@@ -1889,7 +1882,7 @@
 		font-family: 'Microsoft YaHei', 'Segoe UI', sans-serif;
 		max-width: 1000px;
 		margin: 0 auto;
-		padding: 20px 20px 160px 20px; /* 搴曢儴澧炲姞padding涓哄浐瀹氭寜閽暀绌洪棿 */
+		padding: 20px;
 		background-color: #fff;
 		box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
 		min-height: 100vh;
@@ -2014,22 +2007,27 @@
 		background-color: #f1f5f9;
 	}
 
-	/* 鍥哄畾搴曢儴鎸夐挳鏍峰紡 */
-	.fixed-action-buttons {
-		position: fixed;
-		bottom: 0;
-		left: 0;
-		right: 0;
-		background-color: #fff;
-		box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
-		padding: 10px 15px 20px 15px;
-		z-index: 100;
+	/* 琛ㄥ崟涓婃柟鎿嶄綔鎸夐挳鍖烘牱寮� */
+	.top-action-buttons {
 		display: flex;
-		flex-direction: column;
-		gap: 8px;
-		max-height: 150px;
-		overflow-y: auto;
+		justify-content: flex-end;
+		gap: 10px;
+		margin: 20px 0;
+		padding: 15px;
+		background-color: #f8f9fa;
+		border-radius: 8px;
+		border: 1px solid #e9ecef;
 	}
+
+	/* 琛ㄥ崟涓嬫柟鎿嶄綔鎸夐挳鍖烘牱寮� */
+.bottom-action-buttons {
+	display: flex;
+	justify-content: flex-end;
+	gap: 10px;
+	margin: 20px 0;
+	padding: 10px;
+	flex-wrap: wrap;
+}
 
 	.action-btn {
 		background-color: #ecf0f1;
@@ -2062,9 +2060,11 @@
 		background-color: #2980b9;
 	}
 
-	/* 鍐呭鍖呰鍣紝涓哄簳閮ㄦ寜閽暀鍑虹┖闂� */
-	.content-wrapper {
-		height: 20px; /* 棰濆鐨勭┖鐧藉尯鍩� */
+	/* 灏忓昂瀵告寜閽牱寮� */
+	.action-btn.small {
+		padding: 8px 12px;
+		font-size: 12px;
+		min-height: 36px;
 	}
 
 	/* 鍘熸湁鎸夐挳鏍峰紡淇濇寔鍏煎 */
@@ -2506,4 +2506,38 @@
 	.attachment-popup-close:hover {
 		background: #bdbdbd;
 	}
+
+	/* 鍝嶅簲寮忚璁� */
+	@media (max-width: 500px) {
+
+		.info-row,
+		.info-block {
+			flex-direction: column;
+			align-items: flex-start;
+		}
+
+		.doc-links {
+			margin-left: 0;
+			margin-top: 10px;
+		}
+
+		.top-action-buttons {
+			flex-direction: column;
+			align-items: stretch;
+		}
+
+		.bottom-action-buttons {
+			flex-direction: column;
+			align-items: stretch;
+		}
+
+		.action-btn {
+			width: 100%;
+		}
+
+		.inspection-table table {
+			display: block;
+			overflow-x: auto;
+		}
+	}
 </style>
\ No newline at end of file
diff --git a/pages/QC/LLJ/ImageItem.vue b/pages/QC/LLJ/ImageItem.vue
index 48e6605..7554728 100644
--- a/pages/QC/LLJ/ImageItem.vue
+++ b/pages/QC/LLJ/ImageItem.vue
@@ -1,233 +1,306 @@
 <template>
-  <!-- #ifdef APP -->
-  <scroll-view class="page-scroll-view">
-    <!-- #endif -->
-    <view>
-      <view class="uni-common-mt">
-        <view class="uni-list list-pd" style="padding: 15px;">
-          <view class="uni-flex" style="margin-bottom: 10px;">
-            <view class="uni-list-cell-left">鐐瑰嚮鍙瑙堥�夊ソ鐨勫浘鐗�</view>
-            <view style="margin-left: auto;">
-              <text class="click-t">{{ qsImage.length }}/{{ countIndex + 1 }}</text>
-            </view>
-          </view>
-          <view class="uni-flex" style="flex-wrap: wrap;">
-            <view v-for="(image,index) in qsImage" :key="index" class="uni-uploader__input-box"
-                  style="position: relative; border: 0;">
-              <image :src="image.img" :data-src="image.img"
-                     @tap="previewImage(index)"></image>
-              <image src="/static/plus.png" class="image-remove" @click="removeImage(index,image.id)"></image>
-            </view>
-            <image class="uni-uploader__input-box" @tap="chooseImage" src="/static/plus.png"></image>
-          </view>
-        </view>
-      </view>
-      <view class="plus-button">
-        <button type="primary" class="upImg" @click="save">涓婁紶鍥剧墖</button>
-      </view>
-    </view>
-    <!-- #ifdef APP -->
-  </scroll-view>
-  <!-- #endif -->
-</template>
+	<!-- #ifdef APP -->
+	<scroll-view class="page-scroll-view">
+	  <!-- #endif -->
+	  <view>
+		<view class="uni-common-mt">
+		  <view class="uni-list list-pd" style="padding: 15px;">
+			<view class="uni-flex" style="margin-bottom: 10px;">
+			  <view class="uni-list-cell-left">鐐瑰嚮鍙瑙堥�夊ソ鐨勫浘鐗�</view>
+			  <view style="margin-left: auto;">
+				<text class="click-t">{{ qsImage.length }}/{{ countIndex + 1 }}</text>
+			  </view>
+			</view>
+			<view class="uni-flex" style="flex-wrap: wrap;">
+			  <view v-for="(image,index) in qsImage" :key="index" class="uni-uploader__input-box"
+					style="position: relative; border: 0;">
+				<image :src="image.img" :data-src="image.img"
+					   @tap="previewImage(index)"></image>
+				<image src="/static/plus.png" class="image-remove" @click="removeImage(index,image.id)"></image>
+			  </view>
+			  <image class="uni-uploader__input-box" @tap="chooseImage" src="/static/plus.png"></image>
+			</view>
+		  </view>
+		</view>
+		<view class="plus-button">
+		  <button type="primary" class="upImg" @click="save">涓婁紶鍥剧墖</button>
+		</view>
+	  </view>
+	  <!-- #ifdef APP -->
+	</scroll-view>
+	<!-- #endif -->
+  </template>
+  
+  <script>
+  
+  import {pathToBase64, base64ToPath} from '../../../js_sdk/mmmm-image-tools/index'
+  
+  var sourceTypeArray = [
+	['camera'],
+	['album'],
+	['camera', 'album']
+  ]
+  var sizeTypeArray = [
+	['compressed'],
+	['original'],
+	['compressed', 'original']
+  ]
+  export default {
+	data() {
+	  return {
+		title: 'choose/previewImage',
+		sourceTypeIndex: 2,
+		sourceType: ['鎷嶇収', '鐩稿唽', '鎷嶇収鎴栫浉鍐�'],
+		sizeTypeIndex: 2,
+		sizeType: ['鍘嬬缉', '鍘熷浘', '鍘嬬缉鎴栧師鍥�'],
+		countIndex: 8,
+		count: [1, 2, 3, 4, 5, 6, 7, 8, 9],
+		isCrop: false,
+		cropPercent: 80,
+		cropWidth: 100,
+		cropHeight: 100,
+		cropResize: false,
+		qsImage: [],
+		fid: 0,
+	  }
+	},
+	onLoad(options) {
+	  //options涓寘鍚簡url闄勫甫鐨勫弬鏁�
+  
+	  let params = options;
+  
+	  if (params["id"]) {
+		this.fid = params["id"];
+		//getQaItemXj02
+		this.init();
+	  }
+	},
+	onUnload() {
+	  this.qsImage = [];
+	  this.sourceTypeIndex = 2
+	  this.sourceType = ['鎷嶇収', '鐩稿唽', '鎷嶇収鎴栫浉鍐�']
+	  this.sizeTypeIndex = 2
+	  this.sizeType = ['鍘嬬缉', '鍘熷浘', '鍘嬬缉鎴栧師鍥�']
+	  this.countIndex = 8
+	},
+	methods: {
+	  removeImage(index, id) {
+		this.qsImage.splice(index, 1);
+		if (id) {
+		  this.$post({
+			url: "/Base/removeImage",
+			data: {
+			  id: id
+			}
+		  }).then(res => {
+		  });
+		}
+	  },
+	  chooseImage() {
+		if (this.qsImage.length >= 9) {
+		  uni.showToast({
+			position: "bottom",
+			title: "宸茬粡鏈�9寮犲浘鐗囦簡锛岃鍒犻櫎閮ㄥ垎鍥剧墖涔嬪悗閲嶆柊閫夋嫨"
+		  });
+		  return;
+		}
+  
+		uni.chooseImage({
+		  sourceType: sourceTypeArray[this.sourceTypeIndex],
+		  sizeType: sizeTypeArray[this.sizeTypeIndex],
+		  crop: this.isCrop ? {
+			"quality": this.cropPercent,
+			"width": this.cropWidth,
+			"height": this.cropHeight,
+			"resize": this.cropResize
+		  } : null,
+		  count: this.qsImage.length + this.count[this.countIndex] > 9 ? 9 - this.qsImage.length : this.count[this.countIndex],
+		  success: (res) => {
+			let url = res.tempFilePaths[0];
+			pathToBase64(url)
+				.then(base64 => {
+				  // 鎵惧埌鏈�鍚庝竴涓枩鏉犵殑浣嶇疆
+				  let lastSlashIndex = url.lastIndexOf("/");
+				  // 鎻愬彇鏂囦欢鍚�
+				  let fileName = url.substring(lastSlashIndex + 1);
+				  let entity = {};
+				  entity.img = base64;
+				  entity.Picturename = fileName;
+				  entity.fid = this.fid;
+				  entity.qsType = 4;
+				  entity.base64Date = base64.split(',')[1];
+  
+				  this.qsImage.push(entity);
+				})
+				.catch(error => {
+				  console.error(error)
+				})
+		  },
+		  fail: (err) => {
+			console.log("err: ", JSON.stringify(err));
+		  }
+		});
+	  },
+	  previewImage(index) {
+		// 妫�鏌ュ綋鍓嶅浘鐗囨槸鍚﹀瓨鍦�
+		const currentImage = this.qsImage[index];
+		if (!currentImage || !currentImage.img) {
+			uni.showToast({
+				title: '鍥剧墖鏁版嵁寮傚父',
+				icon: 'none'
+			});
+			return;
+		}
 
-<script>
+		// 鏄剧ず鍔犺浇鎻愮ず
+		uni.showLoading({
+			title: '鍔犺浇涓�...'
+		});
 
-import {pathToBase64, base64ToPath} from '../../../js_sdk/mmmm-image-tools/index'
+		// 濡傛灉鏄痓ase64鏍煎紡锛岄渶瑕佽浆鎹负涓存椂鏂囦欢璺緞
+		if (currentImage.img.startsWith('data:')) {
+			// 杞崲鎵�鏈塨ase64鍥剧墖涓轰复鏃舵枃浠惰矾寰�
+			const convertPromises = this.qsImage.map(item => {
+				if (item.img.startsWith('data:')) {
+					return base64ToPath(item.img);
+				}
+				return Promise.resolve(item.img);
+			});
 
-var sourceTypeArray = [
-  ['camera'],
-  ['album'],
-  ['camera', 'album']
-]
-var sizeTypeArray = [
-  ['compressed'],
-  ['original'],
-  ['compressed', 'original']
-]
-export default {
-  data() {
-    return {
-      title: 'choose/previewImage',
-      sourceTypeIndex: 2,
-      sourceType: ['鎷嶇収', '鐩稿唽', '鎷嶇収鎴栫浉鍐�'],
-      sizeTypeIndex: 2,
-      sizeType: ['鍘嬬缉', '鍘熷浘', '鍘嬬缉鎴栧師鍥�'],
-      countIndex: 8,
-      count: [1, 2, 3, 4, 5, 6, 7, 8, 9],
-      isCrop: false,
-      cropPercent: 80,
-      cropWidth: 100,
-      cropHeight: 100,
-      cropResize: false,
-      qsImage: [],
-      fid: 0,
-    }
-  },
-  onLoad(options) {
-    //options涓寘鍚簡url闄勫甫鐨勫弬鏁�
-
-    let params = options;
-
-    if (params["id"]) {
-      this.fid = params["id"];
-      //getQaItemXj02
-      this.init();
-    }
-  },
-  onUnload() {
-    this.qsImage = [];
-    this.sourceTypeIndex = 2
-    this.sourceType = ['鎷嶇収', '鐩稿唽', '鎷嶇収鎴栫浉鍐�']
-    this.sizeTypeIndex = 2
-    this.sizeType = ['鍘嬬缉', '鍘熷浘', '鍘嬬缉鎴栧師鍥�']
-    this.countIndex = 8
-  },
-  methods: {
-    removeImage(index, id) {
-      this.qsImage.splice(index, 1);
-      if (id) {
-        this.$post({
-          url: "/Base/removeImage",
-          data: {
-            id: id
-          }
-        }).then(res => {
-        });
-      }
-    },
-    chooseImage() {
-      if (this.qsImage.length >= 9) {
-        uni.showToast({
-          position: "bottom",
-          title: "宸茬粡鏈�9寮犲浘鐗囦簡锛岃鍒犻櫎閮ㄥ垎鍥剧墖涔嬪悗閲嶆柊閫夋嫨"
-        });
-        return;
-      }
-
-      uni.chooseImage({
-        sourceType: sourceTypeArray[this.sourceTypeIndex],
-        sizeType: sizeTypeArray[this.sizeTypeIndex],
-        crop: this.isCrop ? {
-          "quality": this.cropPercent,
-          "width": this.cropWidth,
-          "height": this.cropHeight,
-          "resize": this.cropResize
-        } : null,
-        count: this.qsImage.length + this.count[this.countIndex] > 9 ? 9 - this.qsImage.length : this.count[this.countIndex],
-        success: (res) => {
-          let url = res.tempFilePaths[0];
-          pathToBase64(url)
-              .then(base64 => {
-                // 鎵惧埌鏈�鍚庝竴涓枩鏉犵殑浣嶇疆
-                let lastSlashIndex = url.lastIndexOf("/");
-                // 鎻愬彇鏂囦欢鍚�
-                let fileName = url.substring(lastSlashIndex + 1);
-                let entity = {};
-                entity.img = base64;
-                entity.Picturename = fileName;
-                entity.fid = this.fid;
-                entity.qsType = 4;
-                entity.base64Date = base64.split(',')[1];
-
-                this.qsImage.push(entity);
-              })
-              .catch(error => {
-                console.error(error)
-              })
-        },
-        fail: (err) => {
-          console.log("err: ", JSON.stringify(err));
-        }
-      });
-    },
-    previewImage(index) {
-      // uni.previewImage({
-      //   current: index, // 璁剧疆褰撳墠鏄剧ず鍥剧墖鐨勯摼鎺�
-      //   urls: this.qsImage.map(s=>s.img), // 闇�瑕侀瑙堢殑鍥剧墖閾炬帴鍒楄〃
-      //   loop: false, // 鏄惁寮�鍚浘鐗囪疆鎾紝榛樿涓� false
-      //   indicator: 'default',// 鍥剧墖鎸囩ず鍣ㄧ被鍨嬶紝鍙�夊�间负 "default"銆�"number"銆�"pointer"锛岄粯璁や负 "default"
-      // });
-    },
-    init() {
-      this.$post({
-        url: "/Base/getByFid",
-        data: {
-          fid: this.fid,
-          qsType: 4
-        }
-      }).then(res => {
-        let tableData = res.data.tbBillList;
-        this.qsImage = tableData;
-        this.qsImage.forEach(s => {
-          s.img = 'data:image/png;base64,' + s.base64Date;
-        });
-      });
-    },
-    save() {
-      this.$post({
-        url: "/Base/saveImage",
-        data: {
-          entity: this.qsImage
-        }
-      }).then(res => {
-        this.init();
-        this.$showMessage("淇濆瓨鎴愬姛");
-      });
-    }
+			Promise.all(convertPromises)
+				.then(tempFilePaths => {
+					uni.hideLoading();
+					uni.previewImage({
+						current: tempFilePaths[index],
+						urls: tempFilePaths,
+						loop: false,
+						indicator: 'default',
+						fail: (err) => {
+							console.error('棰勮澶辫触:', err);
+							uni.showToast({
+								title: '棰勮澶辫触',
+								icon: 'none'
+							});
+						}
+					});
+				})
+				.catch(error => {
+					uni.hideLoading();
+					console.error('杞崲澶辫触:', error);
+					uni.showToast({
+						title: '鍥剧墖杞崲澶辫触',
+						icon: 'none'
+					});
+				});
+		} else {
+			// 濡傛灉涓嶆槸base64鏍煎紡锛岀洿鎺ラ瑙�
+			uni.hideLoading();
+			uni.previewImage({
+				current: index,
+				urls: this.qsImage.map(s => s.img),
+				loop: false,
+				indicator: 'default',
+				fail: (err) => {
+					console.error('棰勮澶辫触:', err);
+					uni.showToast({
+						title: '棰勮澶辫触',
+						icon: 'none'
+					});
+				}
+			});
+		}
+	  },
+	  init() {
+		this.$post({
+		  url: "/Base/getByFid",
+		  data: {
+			fid: this.fid,
+			qsType: 4
+		  }
+		}).then(res => {
+		  let tableData = res.data.tbBillList;
+		  this.qsImage = tableData;
+		  this.qsImage.forEach(s => {
+			// 鏍规嵁鏂囦欢鎵╁睍鍚嶅垽鏂浘鐗囩被鍨嬶紝榛樿涓簀peg
+			let imageType = 'jpeg';
+			if (s.Picturename) {
+				const ext = s.Picturename.toLowerCase().split('.').pop();
+				if (ext === 'png') {
+					imageType = 'png';
+				} else if (ext === 'gif') {
+					imageType = 'gif';
+				} else if (ext === 'webp') {
+					imageType = 'webp';
+				}
+			}
+			s.img = `data:image/${imageType};base64,${s.base64Date}`;
+		  });
+		});
+	  },
+	  save() {
+		this.$post({
+		  url: "/Base/saveImage",
+		  data: {
+			entity: this.qsImage
+		  }
+		}).then(res => {
+		  this.init();
+		  this.$showMessage("淇濆瓨鎴愬姛");
+		});
+	  }
+	}
   }
-}
-</script>
-
-<style>
-.click-t {
-  color: darkgray;
-}
-
-.list-pd {
-  margin-top: 25px;
-}
-
-.uni-uploader__input-box {
-  margin: 5px;
-  border: 1px solid #D9D9D9;
-}
-
-.image-remove {
-  transform: rotate(45deg);
-  width: 25px;
-  height: 25px;
-  position: absolute;
-  top: 0;
-  right: 0;
-  border-radius: 13px;
-  background-color: #FF0000;
-}
-
-.uni-common-mt {
-  background-color: #ffffff;
-  /* 绾㈣壊鑳屾櫙 */
-}
-
-.plus-button {
-  position: fixed;
-  left: 0;
-  bottom: 0;
-  width: 100%;
-  background-color: #ffffff; /* 鑳屾櫙棰滆壊 */
-  /* padding: 10px; */
-  box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.1); /* 娣诲姞搴曢儴闃村奖鏁堟灉 */
-  z-index: 999; /* 纭繚鎸夐挳浣嶄簬椤跺眰 */
-}
-
-.uni-flex {
-  max-height: calc(100vh - 240px); /* 灞忓箷楂樺害鍑忓幓涓婁紶鎸夐挳楂樺害 */
-  overflow-y: auto; /* 褰撳唴瀹硅秴鍑洪珮搴︽椂鍑虹幇鍨傜洿婊氬姩鏉� */
-}
-.upImg{
- 
-	  background-color: #3498db;
-	  color: white;
-	 
-}
-</style>
\ No newline at end of file
+  </script>
+  
+  <style>
+  .click-t {
+	color: darkgray;
+  }
+  
+  .list-pd {
+	margin-top: 25px;
+  }
+  
+  .uni-uploader__input-box {
+	margin: 5px;
+	border: 1px solid #D9D9D9;
+  }
+  
+  .image-remove {
+	transform: rotate(45deg);
+	width: 25px;
+	height: 25px;
+	position: absolute;
+	top: 0;
+	right: 0;
+	border-radius: 13px;
+	background-color: #FF0000;
+  }
+  
+  .uni-common-mt {
+	background-color: #ffffff;
+	/* 绾㈣壊鑳屾櫙 */
+  }
+  
+  .plus-button {
+	position: fixed;
+	left: 0;
+	bottom: 0;
+	width: 100%;
+	background-color: #ffffff; /* 鑳屾櫙棰滆壊 */
+	/* padding: 10px; */
+	box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.1); /* 娣诲姞搴曢儴闃村奖鏁堟灉 */
+	z-index: 999; /* 纭繚鎸夐挳浣嶄簬椤跺眰 */
+  }
+  
+  .uni-flex {
+	max-height: calc(100vh - 240px); /* 灞忓箷楂樺害鍑忓幓涓婁紶鎸夐挳楂樺害 */
+	overflow-y: auto; /* 褰撳唴瀹硅秴鍑洪珮搴︽椂鍑虹幇鍨傜洿婊氬姩鏉� */
+  }
+  .upImg{
+   
+		background-color: #3498db;
+		color: white;
+	   
+  }
+  </style>
\ No newline at end of file
diff --git a/pages/QC/SJ/Add.vue b/pages/QC/SJ/Add.vue
index 810f3b3..6a3c50f 100644
--- a/pages/QC/SJ/Add.vue
+++ b/pages/QC/SJ/Add.vue
@@ -12,7 +12,7 @@
 				<span class="info-label">鍒涘缓鏃堕棿锛�</span>
 				<span class="info-value">{{formData.createTime}}</span>
 				<span class="info-label">妫�楠岀被鍨嬶細</span>
-				<span class="info-value">{{formData.SJ_MJ}}</span>
+				<span class="info-value">{{formData.sJ_MJ}}</span>
 			</view>
 			<view class="info-row" v-if="isUpdate">
 				<span class="info-label">妫�楠岀被鍨嬶細</span>
@@ -40,7 +40,7 @@
 			</view>
 
 			<view class="info-block">
-				<view class="info-label">璁″垝缂栧彿锛�</view>
+				<view class="info-label">宸ュ崟鍗曞彿锛�</view>
 				<picker v-if="isUpdate" class="info-picker" name="selector" :range="DAA001List"
 					@change="onDaa001Change">
 					<text>{{ DAA001List[DAA001Index] }}</text>
@@ -48,15 +48,9 @@
 				<view v-else class="info-value">{{formData.daa001}}</view>
 			</view>
 
-			<view class="info-block">
-				<view class="info-label">閿�鍞鍗曞彿锛�</view>
-				<view class="info-value">{{formData.caa015}}</view>
-			</view>
+			
 
-			<view class="info-block">
-				<view class="info-label">瀹㈡埛锛�</view>
-				<view class="info-value">{{formData.cust}}</view>
-			</view>
+			
 
 			<view class="info-block">
 				<view class="info-label">浜у搧鍚嶇О锛�</view>
@@ -137,6 +131,12 @@
 			<button class="action-btn primary" v-if="isShowTable && isUpdate" @click="saveTable">
 				鐢熸垚妫�楠岄」鐩�
 			</button>
+			<button class="action-btn success" v-if="!isUpdate && formData.fsubmit == 0 && !isShowTable" @click="getGenUpdate">
+				鑾峰彇妫�楠岄」鐩�
+			</button>
+			<button class="action-btn success" v-if="!isUpdate && formData.fsubmit ==0 && !isShowTable" @click="submitInspection">
+				鎻愪氦妫�楠�
+			</button>
 		</view>
 		<!-- 寮瑰嚭妗� -->
 		<view v-if="remarksPopup" class="overlay">
@@ -175,6 +175,7 @@
 					comments: "",
 					statusUser: "",
 					SJ_MJ: '棣栨',
+					fsubmit:"",
 				},
 
 				DAA020List: [],
@@ -282,7 +283,7 @@
 						}
 					}).then(res => {
 						if (res.data.tbBillList) {
-							this.$showMessage("宸℃鐢熸垚鎴愬姛");
+							this.$showMessage("棣栨鐢熸垚鎴愬姛");
 							this.init();
 						}
 					});
@@ -473,10 +474,10 @@
 			},
 			save() {
 
-				if (this.tableData.length === 0) {
-					this.$showMessage(this.formData.itemNo + "鐗╂枡娌℃湁妫�楠岄」鐩�");
-					return;
-				}
+				//if (this.tableData.length === 0) {
+					//this.$showMessage(this.formData.itemNo + "鐗╂枡娌℃湁妫�楠岄」鐩�");
+					//return;
+				//}
 
 				if (!this.formData.daa001) {
 					this.$showMessage("璇烽�夋嫨璁″垝缂栧彿");
@@ -528,6 +529,43 @@
 				this.SJ_MJIndex = e.mp.detail.value;
 				this.formData.SJ_MJ = this.SJ_MJList[this.SJ_MJIndex];
 			},
+			submitInspection() {
+				if (this.formData.id) {
+					this.$post({
+						url: "/SJ/SjSubmit",
+						data: {
+							id: this.formData.id,
+							userNo: this.$loginInfo.account
+						}
+					}).then(res => {
+						if (res.data.tbBillList) {
+							this.$showMessage("鎻愪氦鎴愬姛");
+							this.init();
+						}
+					});
+				}
+			},
+			getGenUpdate() {
+				if (!this.formData.id || !this.formData.billNo) {
+					this.$showMessage("璇峰厛淇濆瓨妫�楠屽崟锛�");
+					return;
+				}
+				this.$post({
+					url: "/SJ/GenUpdate",
+					data: {
+						id: this.formData.id,
+						no: this.formData.billNo,
+						user: this.$loginInfo.account
+					}
+				}).then(res => {
+					if (res.data.result === 0) {
+						this.$showMessage("鑾峰彇妫�楠岄」鐩垚鍔�");
+						this.init();
+					} else {
+						this.$showMessage(res.data.message || "鑾峰彇澶辫触");
+					}
+				});
+			}
 		},
 		onShow() {
 			//姣忔杩涘叆椤甸潰閮戒細鎵ц鐨勬柟娉�
@@ -785,6 +823,15 @@
   background-color: #c0392b;
 }
 
+.action-btn.success {
+  background-color: #2ecc71;
+  color: white;
+}
+
+.action-btn.success:hover {
+  background-color: #27ae60;
+}
+
 /* 寮瑰嚭妗嗘牱寮� */
 .overlay {
   position: fixed;
diff --git a/pages/QC/XJ/Add.vue b/pages/QC/XJ/Add.vue
index da84f2f..f152e1e 100644
--- a/pages/QC/XJ/Add.vue
+++ b/pages/QC/XJ/Add.vue
@@ -40,7 +40,7 @@
               <view v-else class="info-value">{{ formData.itemNo }}</view>
             </view>
             <view class="info-item">
-              <view class="info-label">璁″垝缂栧彿</view>
+              <view class="info-label">宸ュ崟鍗曞彿</view>
               <picker v-if="isUpdate" class="picker-input" name="selector" :range="DAA001List"
                       @change="onDaa001Change">
                 <view class="picker-value">{{ DAA001List[DAA001Index] || '璇烽�夋嫨' }}</view>
@@ -114,6 +114,8 @@
         <button class="action-btn warning" v-if="!isUpdate && !isShowTable" @click="saveRemarks">娣诲姞涓嶅悎鏍兼弿杩�</button>
         <button class="action-btn primary" v-if="isShowTable" @click="getTable">鑾峰彇妫�楠岄」鐩�</button>
         <button class="action-btn primary" v-if="isShowTable && isUpdate" @click="saveTable">鐢熸垚妫�楠岄」鐩�</button>
+        <button class="action-btn success" v-if="!isUpdate && !isShowTable" @click="getGenUpdate">鑾峰彇妫�楠岄」鐩�</button>
+        <button class="action-btn success" v-if="!isUpdate && !isShowTable" @click="submitInspection">鎻愪氦妫�楠�</button>
       </view>
       <!-- 淇敼涓嶅悎鏍兼弿杩板脊鍑烘 -->
       <view v-if="remarksPopup" class="overlay">
@@ -260,13 +262,10 @@
       },
       getItem() {
   
-        if (this.isSubmit) {
-          this.$showMessage("姝ょ墿鏂欐棤鍚敤鐨勬楠岄」鐩紝璇风淮鎶�!");
-          return;
-        }
+
   
         if (!this.formData.billNo) {
-          this.$showMessage("璇烽�夋嫨璁″垝缂栧彿");
+          this.$showMessage("璇烽�夋嫨宸ュ崟鍗曞彿");
           return;
         }
   
@@ -480,6 +479,43 @@
           this.isUpdate = false;
           this.init();
         })
+      },
+      submitInspection() {
+        if (this.formData.id) {
+          this.$post({
+            url: "/XJ/SjSubmit",
+            data: {
+              id: this.formData.id,
+              userNo: this.$loginInfo.account
+            }
+          }).then(res => {
+            if (res.data.tbBillList) {
+              this.$showMessage("鎻愪氦鎴愬姛");
+              this.init();
+            }
+          });
+        }
+      },
+      getGenUpdate() {
+        if (!this.formData.id || !this.formData.releaseNo) {
+          this.$showMessage("璇峰厛淇濆瓨妫�楠屽崟锛�");
+          return;
+        }
+        this.$post({
+          url: "/XJ/GenUpdate",
+          data: {
+            id: this.formData.id,
+            no: this.formData.releaseNo,
+            user: this.$loginInfo.account
+          }
+        }).then(res => {
+          if (res.data.result === 0) {
+            this.$showMessage("鑾峰彇妫�楠岄」鐩垚鍔�");
+            this.init();
+          } else {
+            this.$showMessage(res.data.message || "鑾峰彇澶辫触");
+          }
+        });
       }
     },
     onShow() {
@@ -725,6 +761,11 @@
     color: white;
   }
   
+  .action-btn.success {
+    background-color: #2ecc71;
+    color: white;
+  }
+  
   /* 寮瑰嚭妗嗘牱寮� */
   .overlay {
     position: fixed;

--
Gitblit v1.9.3