From 17d3d61e12f537eb2ee7ec6f4de1590102377afa Mon Sep 17 00:00:00 2001
From: zjh <2207896513@qq.com>
Date: 星期二, 29 四月 2025 08:18:15 +0800
Subject: [PATCH] 代码提交

---
 pages/QC/SJ/Add(旧).vue    |  547 +++++++
 pages/QC/SJ/detail(旧).vue |  438 +++++
 pages/QC/SJ/detail.vue    | 1101 +++++++++-----
 pages.json                |    3 
 pages/QC/LLJ/Add.vue      |    3 
 pages/QC/SJ/List.vue      |  845 ++++++----
 pages/QC/SJ/Add.vue       | 1146 ++++++++------
 pages/QC/SJ/List(旧).vue   |  384 +++++
 8 files changed, 3,209 insertions(+), 1,258 deletions(-)

diff --git a/pages.json b/pages.json
index 6c15fa7..8d03658 100644
--- a/pages.json
+++ b/pages.json
@@ -197,7 +197,8 @@
 		{
 			"path": "pages/QC/SJ/Add",
 			"style": {
-				"navigationBarTitleText": "棣栨",
+				// "navigationBarTitleText": "棣栨",
+				"navigationBarTitleText": "",
 				"enablePullDownRefresh": false
 			}
 		},
diff --git a/pages/QC/LLJ/Add.vue b/pages/QC/LLJ/Add.vue
index 95372eb..e2abf46 100644
--- a/pages/QC/LLJ/Add.vue
+++ b/pages/QC/LLJ/Add.vue
@@ -4,7 +4,7 @@
     <view class="sheet-header">
       <h1>鏉ユ枡妫�楠屽崟</h1>
       <view class="inspection-number">妫�楠屽崟鍙凤細{{formData.releaseNo}}</view>
- 
+       <!-- 閫犳ⅵ鑰呯壒娈婂姛鑳� -->
       <view style="text-align: right;" v-if="this.current"><a class="sysLike" @click="toSysSubmitFrom(formData.releaseNo)">瀹為獙瀹ら�佹</a></view>
     </view>
 
@@ -29,6 +29,7 @@
       <view class="info-block">
         <view class="info-label">鐗╂枡缂栫爜锛�</view>
         <view class="info-value">{{formData.itemNo}}</view>
+		 <!-- 閫犳ⅵ鑰呯壒娈婂姛鑳� -->
         <view class="doc-links">
           <a class="doc-link" @click="toFileUrlByU9List(1,formData.itemNo)">鍥剧焊瑙勬牸涔�</a>
           <a class="doc-link" @click="toFileUrlByU9List(2,formData.itemNo)">杩涙枡妫�楠屾枃浠�</a>
diff --git a/pages/QC/SJ/Add.vue b/pages/QC/SJ/Add.vue
index ff7d5ef..d1f0357 100644
--- a/pages/QC/SJ/Add.vue
+++ b/pages/QC/SJ/Add.vue
@@ -1,547 +1,675 @@
 <template>
-  <view>
-    <view class="form-container">
-      <form :modelValue="formData">
-        <view class="form-group">
-          <label class="form-label">棣栨鍗曞彿:</label>
-          <input class="form-input" disabled="true" type="text" v-model="formData.billNo"/>
-        </view>
-        <view class="form-group">
-          <label class="form-label">鍒涘缓鏃堕棿:</label>
-          <input class="form-input" disabled="true" type="text" v-model="formData.createTime"/>
-        </view>
-        <view class="uni-form-item uni-column form-item edit">
-          <text class="form-label">鐢熶骇绾垮埆:</text>
-          <superwei-combox v-if="isUpdate" :candidates="DAA020List" placeholder="璇烽�夋嫨鎴栬緭鍏�"
-                           v-model="formData.line"
-                           @select="onDaa020Change"
-                           class="picker form-input"
-                           style="border: none;"></superwei-combox>
-          <input v-else class="form-input" disabled="true" type="text" v-model="formData.line"/>
-        </view>
-        <view class="uni-form-item uni-column form-item edit">
-          <text class="form-label">鐗╂枡缂栫爜:</text>
-          <superwei-combox v-if="isUpdate" :candidates="boardItems" placeholder="璇烽�夋嫨鎴栬緭鍏�"
-                           v-model="formData.itemNo"
-                           :isJSON="true" keyName="itemName"
-                           @select="onItemChange"
-                           class="picker form-input"
-                           style="border: none;"></superwei-combox>
-          <input v-else class="form-input" disabled="true" type="text" v-model="formData.itemNo"/>
-        </view>
-       <view class="uni-form-item uni-column form-item edit">
-          <text class="form-label">璁″垝缂栧彿:</text>
-          <picker v-if="isUpdate" class="picker form-input" name="selector" :range="DAA001List"
-                  @change="onDaa001Change">
-            <text>{{ DAA001List[DAA001Index] }}</text>
-          </picker>
-          <input v-else class="form-input" disabled="true" type="text" v-model="formData.daa001"/>
-        </view>
-        <view class="form-group">
-          <label class="form-label">浜у搧鍚嶇О:</label>
-          <input class="form-input" disabled="true" type="text" v-model="formData.daa003"/>
-        </view>
-        <view class="form-group">
-          <label class="form-label">瑙勬牸鍨嬪彿:</label>
-          <input class="form-input" disabled="true" type="text" v-model="formData.daa004"/>
-        </view>
-       <view class="form-group">
-          <label class="form-label">宸ュ崟鏁伴噺:</label>
-          <input class="form-input" disabled="true" type="text" v-model="formData.daa008"/>
-        </view> 
-        <view class="form-group">
-          <label class="form-label">涓嶅悎鏍兼弿杩�:</label>
-          <input class="form-input" disabled="true" type="text" v-model="formData.remarks"/>
-        </view>
-      </form>
-    </view>
-    <view class="list-container">
-      <uni-table ref="table" border emptyText="鏆傛棤鏇村鏁版嵁">
-        <uni-tr>
-          <uni-th align="center" class="th" style="color: #FFFFFF;">妫�楠岄」鐩�</uni-th>
-          <uni-th align="center" class="th" style="color: #FFFFFF">鏄惁鍚堟牸</uni-th>
-          <uni-th align="center" class="th" style="color: #FFFFFF">璁板綍(鐐瑰嚮)</uni-th>
-        </uni-tr>
-        <uni-tr v-for="(item, index) in tableData" :key="index">
-          <uni-td align="center">
-            <input class="form-input" disabled="true" type="text" v-model="item.projName"/>
-          </uni-td>
-          <uni-td align="center">
-            <input class="form-input" disabled="true" type="text" v-model="item.result"/>
-          </uni-td>
-          <uni-td>
-            <view class="uni-group">
-              <button v-if="item.isCheck >=item.levelNum" type="default" @click="toDetail(item)">
-                {{ item.levelNum + '/' + item.isCheck }}
-              </button>
-              <button v-else type="warn" @click="toDetail(item)"> {{ item.levelNum + '/' + item.isCheck }}</button>
-            </view>
-          </uni-td>
-        </uni-tr>
-      </uni-table>
-    </view>
-    <view class="plus-button">
-      <button type="warn" v-if="isUpdate && !isShowTable" @click="save">鍒涘缓妫�楠屽崟骞剁敓鎴愰儴鍒嗛粯璁ゅ��</button>
-    </view>
-    <view class="plus-button">
-      <button type="warn" v-if="!isUpdate && !isShowTable" @click="toImage">涓婁紶/鏌ョ湅鍥剧墖</button>
-    </view>
-    <view class="plus-button">
-      <button type="warn" v-if="!isUpdate && formData.result == '鏈畬鎴�' && !isShowTable" @click="removeXJ">鍒犻櫎鍗曟嵁
-      </button>
-    </view>
-    <view class="plus-button">
-      <button type="warn" v-if="!isUpdate &&  !isShowTable" @click="saveRemarks">娣诲姞涓嶅悎鏍兼弿杩�</button>
-    </view>
-    <view class="plus-button">
-      <button type="warn" v-if="isShowTable" @click="getTable">鑾峰彇妫�楠岄」鐩�</button>
-    </view>
-    <view class="plus-button">
-      <button type="warn" v-if="isShowTable && isUpdate" @click="saveTable">鐢熸垚妫�楠岄」鐩�</button>
-    </view>
-    <view v-if="remarksPopup" class="overlay">
-      <view class="popup">
-        <h3>淇敼涓嶅悎鏍兼弿杩�</h3>
-        <form>
-          <view class="form-group">
-            <label class="form-label">涓嶅悎鏍兼弿杩�:</label>
-            <input class="form-input" type="text" v-model="remarks"/>
-          </view>
-          <button type="warn" @click="editRemarks">淇敼</button>
-          <button @click="remarksPopup = !remarksPopup">鍙栨秷</button>
-        </form>
-      </view>
-    </view>
-  </view>
+	<view class="inspection-sheet">
+		<!-- 澶撮儴淇℃伅 -->
+		<view class="sheet-header">
+			<h1>棣栨妫�楠屽崟</h1>
+			<view class="inspection-number">妫�楠屽崟鍙凤細{{formData.billNo}}</view>
+
+
+		</view>
+
+		<!-- 鍩烘湰淇℃伅鍖� -->
+		<view class="basic-info">
+			<view class="info-row">
+				<span class="info-label">鍒涘缓浜猴細</span>
+				<span class="info-value">{{formData.fName}}</span>
+			</view>
+			<view class="info-row">
+				<span class="info-label">鍒涘缓鏃堕棿锛�</span>
+				<span class="info-value">{{formData.createTime}}</span>
+				<!--        <span class="info-label">&nbsp;璐熻矗浜猴細</span>
+        <span class="info-value">{{formData.statusUser}}</span> -->
+			</view>
+		</view>
+
+		<!-- 鐗╂枡淇℃伅鍖� -->
+		<view class="material-info">
+			<view class="info-block">
+				<view class="info-label">鐗╂枡缂栫爜锛�</view>
+				<view class="info-value">{{formData.itemNo}}</view>
+			</view>
+			<view class="info-block">
+				<view class="info-label">浜у搧鍚嶇О锛�</view>
+				<view class="info-value">{{formData.daa003}}</view>
+			</view>
+			<view class="info-block">
+				<view class="info-label">瑙勬牸鍨嬪彿锛�</view>
+				<view class="info-value">{{formData.daa004}}</view>
+			</view>
+			<view class="info-block">
+				<view class="info-label">鐢熶骇绾垮埆锛�</view>
+				<view class="info-value">{{formData.line}}</view>
+			</view>
+
+			<view class="info-block">
+
+				<view class="info-label" v-if="formData.extendNo1!=null">鎶�鏀圭姸鎬侊細</view>
+				<view class="info-value" v-if="formData.extendNo1!=null">{{formData.extendNo1}}</view>
+				<!-- <view class="info-label">椤圭洰锛�</view>
+		<view class="info-value">{{formData.projectCodes}}</view> -->
+
+				<view class="info-label">鏁伴噺锛�</view>
+				<view class="info-value highlight">{{formData.daa008}}</view>
+			</view>
+			<view class="info-block" v-if="formData.fngDesc!=null">
+				<view class="info-label">涓嶈壇鎻忚堪锛�</view>
+				<view class="info-value">{{formData.fngDesc}}</view>
+			</view>
+			<view class="info-block" v-if="formData.newFngDesc!=null">
+				<view class="info-label">涓婃涓嶈壇锛�</view>
+				<view class="info-value">{{formData.newFngDesc}}</view>
+			</view>
+		</view>
+
+		<!-- 鎿嶄綔鎸夐挳鍖� -->
+		<!--    <view class="action-buttons" v-if="this.current" >
+      <button class="secondary-btn" @click="getInspectionItems">鑾峰彇妫�楠岄」鐩�</button>
+    </view> -->
+
+		<!-- 妫�楠岄」鐩〃鏍� -->
+		<view class="inspection-table">
+			<table>
+				<thead>
+					<tr>
+						<th width="15%" style="text-align: center;">妫�楠岄」鐩�</th>
+						<th width="50%" style="text-align: center;">璐ㄩ噺瑕佹眰</th>
+						<th width="20%" style="text-align: center;">璁板綍(鐐瑰嚮)</th>
+					</tr>
+				</thead>
+				<tbody>
+					<tr v-for="(item, index) in tableData" :key="index">
+						<td>{{ item.projName }}</td>
+						<td>
+							<view v-if="item.result=='鍚堟牸'" class="watermark approved">{{ getStatusText(item.result) }}
+							</view>
+							<view v-if="item.result=='涓嶅悎鏍�'" class="watermark rejected">{{ getStatusText(item.result) }}
+							</view>
+							<view v-if="item.result=='鏈畬鎴�'" class="watermark pending">{{ getStatusText(item.result) }}
+							</view>
+							<view class="description-text">{{ item.itemMod }}</view>
+						</td>
+						<td>
+							<button v-if="item.current" class="record-btn" @click="fillRecord(item,index)">濉啓</button>
+							<button v-if="!item.current" class="record-btn" @click="fillRecord(item,index)">鏌ョ湅</button>
+						</td>
+					</tr>
+				</tbody>
+			</table>
+		</view>
+
+		<!-- 鎿嶄綔鎸夐挳鍖� -->
+		<view class="action-buttons">
+			<button class="secondary-btn" @click="uploadImages">涓婁紶/鏌ョ湅鍥剧墖</button>
+			<button class="secondary-btn" @click="addDefectDescription" v-if="this.current">娣诲姞涓嶈壇鎻忚堪</button>
+			<!-- 棣栨杩欒竟浼氬~瀹屾楠岄」鐩嚜鍔ㄦ彁浜わ紝涓嶇敤鍐欐彁浜ら�昏緫 -->
+			<!-- <button class="primary-btn" @click="submitInspection" v-if="this.current">妫�楠屾彁浜�</button> -->
+		</view>
+		<view v-if="remarksPopup" class="overlay">
+			<view class="popup">
+				<h3>淇敼涓嶅悎鏍兼弿杩�</h3>
+				<form>
+					<view class="form-group">
+						<label class="form-label">涓嶅悎鏍兼弿杩�:</label>
+						<input class="form-input" type="text" v-model="remarks" />
+					</view>
+
+				</form>
+				<button class="updateBut" @click="editRemarks">淇敼</button>
+				<button @click="remarksPopup = !remarksPopup">鍙栨秷</button>
+			</view>
+		</view>
+	</view>
 </template>
+
 <script>
-export default {
-  data() {
-    return {
-      formData: {
-        createTime: "",
-        id: "",
-        billNo: "",
-        itemNo: "",
-        itemName: "",
-        workshopCode: "",
-        workshopName: "",
-        line: "",
-        lineName: "",
-        comments: "",
-        statusUser: ""
-      },
+	export default {
+		data() {
+			return {
+				formData: {
+					id: "",
+					releaseNo: "",
+					createBy: "",
+					createDate: "",
+					lotNo: "",
+					itemNo: "",
+					billNo: "",
+					fcovertQty: "",
+					detailMem: "",
+					taskNo: "",
+					fcheckResu: "",
+					boardModel: "",
+					planQty: "",
+					mocode: "",
+					boardStyle: ""
+				},
+				tableData: [],
+				remarksPopup: false,
+				current: true
+			}
+		},
+		onLoad(options) {
+			//options涓寘鍚簡url闄勫甫鐨勫弬鏁�
+			let params = options;
 
-      DAA020List: [],
+			if (params["id"]) {
+				this.formData.id = params["id"];
+				this.formData.releaseNo = params["releaseNo"];
+				this.formData.lotNo = params["lotNo"];
+				this.msgId = params["msgId"];
 
-      DAA001List: [],
-      schemeResult: [],
-      DAA001Index: -1,
+				if (params["current"] === 'A') {
+					this.current = true;
+				} else if (params["current"] === 'B') {
+					this.current = false;
+				}
 
-      ItemList: [],
+				if (this.msgId > 0) {
+					this.msgRead();
+				}
 
-      boardItems: [],
+			} else {
+				//鍒濆鍖栨楠屽崟鍙�
+				this.$post({
+					url: "/LLJ/getMaxReleaseNo"
+				}).then(res => {
+					this.formData.releaseNo = res.data.tbBillList;
+					this.formData.createBy = this.$loginInfo.account;
+					this.formData.createDate = this.$getDate("yyyy-mm-dd");
+				});
 
-      womdaaList: [],
+			}
 
-      tableData: [],
+		},
+		methods: {
+			getStatusText(status) {
+				const statusMap = {
+					approved: '鍚堟牸',
+					rejected: '涓嶅悎鏍�',
+					pending: '寰呯‘璁�'
+				}
+				if (status == '鏈畬鎴�') {
+					return statusMap['pending'] || ''
+				} else if (status == '鍚堟牸') {
+					return statusMap['approved'] || ''
+				} else {
+					return statusMap['rejected'] || ''
+				}
 
-      isSubmit: true,
+			},
+			getInspectionItems() {
+				// 鑾峰彇妫�楠岄」鐩殑閫昏緫
+				this.$post({
+					url: "/LLJ/setJYItem",
+					data: {
+						itemNo: this.formData.itemNo,
+						quantity: this.formData.fcovertQty,
+						releaseNo: this.formData.releaseNo
+					}
+				}).then(res => {
+					if (res.status == 0) {
+						uni.showToast({
+							title: res.message.toString(),
+							//灏嗗�艰缃负 success 鎴栬�呯洿鎺ヤ笉鐢ㄥ啓icon杩欎釜鍙傛暟
+							icon: 'success',
+							//鏄剧ず鎸佺画鏃堕棿涓� 2绉�
+							duration: 2000
+						})
+						// 濡傛灉鏈夐〉闈㈣烦杞紝闇�瑕佺敤瀹氭椂鍣ㄥ欢杩�
+						setTimeout(() => {
+							this.init();
+						}, 2000);
 
-      isUpdate: true,
+					} else {
+						uni.showToast({
+							title: res.message.toString(),
+							//灏嗗�艰缃负 success 鎴栬�呯洿鎺ヤ笉鐢ㄥ啓icon杩欎釜鍙傛暟
+							icon: 'error',
+							//鏄剧ず鎸佺画鏃堕棿涓� 2绉�
+							duration: 2000
+						})
+					}
+				});
+			},
+			fillRecord(item, index) {
+				// 濉啓璁板綍鐨勯�昏緫
+				uni.navigateTo({
+					url: 'detail?mainId=' + item.id + '&formID=' + this.formData.id + '&releaseNo=' + this.formData
+						.billNo + '&index=' + index + '&current=' + this.current
+				});
+			},
+			uploadImages() {
+				// 涓婁紶/鏌ョ湅鍥剧墖鐨勯�昏緫
+				uni.navigateTo({
+					url: 'ImageItem?id=' + this.formData.id
+				});
+			},
+			addDefectDescription() {
+				// 娣诲姞涓嶈壇鎻忚堪鐨勯�昏緫
+				this.remarksPopup = !this.remarksPopup;
+				this.remarks = this.formData.remarks;
+			},
+			submitInspection() {
+				// 妫�楠屾彁浜ょ殑閫昏緫
+				this.$post({
+					url: "/LLJ/IqcQaSubmit",
+					data: {
+						userNo: this.$loginInfo.account,
+						releaseNo: this.formData.releaseNo
+					}
+				}).then(res => {
+					if (res.status == 0) {
 
-      isShowTable: false,
+						uni.showToast({
+							title: res.message.toString(),
+							icon: 'success',
+							duration: 2000
+						})
+						// 濡傛灉鏈夐〉闈㈣烦杞紝闇�瑕佺敤瀹氭椂鍣ㄥ欢杩�
+						setTimeout(() => {
+							uni.navigateTo({
+								url: 'List'
+							});
+						}, 2000); // 淇濇寔涓� duration 鐩稿悓鐨勬椂闀�
 
-      remarks: "",
-      remarksPopup: false,
-    };
-  },
-  onLoad(options) {
-    //options涓寘鍚簡url闄勫甫鐨勫弬鏁�
+					} else {
+						uni.showModal({
+							title: "鎻愮ず",
+							content: res.message.toString(),
+							confirmText: "纭畾",
+							showCancel: false,
+							success: (res) => {
 
-    let params = options;
+							}
+						})
+					}
+				})
+			},
+			onShow() {
+				//姣忔杩涘叆椤甸潰閮戒細鎵ц鐨勬柟娉�
+				if (this.formData.id) {
+					this.init();
+				}
+			},
+			init() {
+				let userName = this.$loginInfo.account;
 
-    if (params["id"]) {
-      this.isUpdate = false;
-      this.formData.id = params["id"];
-      this.formData.billNo = params["billNo"];
-      this.init();
-    } else {
-      //鍒濆鍖栨楠屽崟鍙�
-      this.$post({
-        url: "/SJ/GetMaxBillNo"
-      }).then(res => {
-        this.formData.billNo = res.data.tbBillList;
-        this.formData.createTime = this.$getDate("yyyy-mm-dd");
-      });
+				this.$post({
+					url: "/SJ/GetPage",
+					data: {
+						pageIndex: 1,
+						limit: 1,
+						id: this.formData.id
+					}
+				}).then(res => {
+					let data = res.data.tbBillList[0];
+					if (data) {
+						this.formData = data;
 
-      //浜у搧缂栫爜涓嬫媺妗嗙殑鍒濆鍖�
-      this.$post({
-        url: "/XJ/getLineAll"
-      }).then(res => {
-        this.lineList = res.data.tbBillList;
-        this.DAA020List = res.data.tbBillList.map(item => item.lineName);
-        this.formData.itemNo = "";
-        this.formData.itemName = "";
-        this.formData.workshopCode = "";
-        this.formData.workshopName = "";
-        this.formData.line = "";
-        this.formData.lineName = "";
-        this.formData.pbaid = null;
-      })
-    }
-  },
-  methods: {
-    removeXJ() {
-      if (this.formData.id) {
-        this.$post({
-          url: "/SJ/removeSJ",
-          data: {
-            id: this.formData.id
-          }
-        }).then(res => {
-          if (res.data.tbBillList > 0) {
-            this.$showMessage("鍒犻櫎鎴愬姛");
-            //鍏抽棴褰撳墠椤甸潰锛岃繑鍥炰笂涓�椤甸潰鎴栧绾ч〉闈�
-            uni.navigateBack();
-          } else {
-            this.$showMessage("鍒犻櫎澶辫触");
-          }
-        });
-      } else {
-        this.$showMessage("璇峰厛閫夋嫨妫�楠屽崟鍙�");
-      }
-    },
-    init() {
-      if (this.formData.id) {
-        this.$post({
-          url: "/SJ/GetPage",
-          data: {
-            pageIndex: 1,
-            limit: 1,
-            id: this.formData.id
-          }
-        }).then(res => {
-          let tbBillListElement = res.data.tbBillList[0];
-          if (tbBillListElement) {
-            this.formData = tbBillListElement;
-            this.$post({
-              url: "/SJ/getQSItems",
-              data: {
-                pid: this.formData.id
-              }
-            }).then(res => {
-              this.tableData = res.data.tbBillList;
+						this.$post({
+							url: "/SJ/getQSItems",
+							data: {
+								pid: this.formData.id
+							}
+						}).then(res1 => {
+							let tableData = res1.data.tbBillList
+							//褰撳凡妫�楠屼釜鏁伴兘涓嶄负绌烘椂鎸夌収妫�娴嬬粨鏋勬帓搴�
+							tableData.sort((a, b) => {
+								if (a.result === '鏈畬鎴�' && b.result === '鍚堟牸') {
+									return -1;
+								} else if (a.result === '鍚堟牸' && b.result === '鏈畬鎴�') {
+									return 1;
+								} else {
+									return 0;
+								}
+							});
+							this.tableData = tableData;
+							if (this.tableData.length === 0) {
+								this.isShowTable = true;
+							}
+							this.tableData.forEach((item, index) => {
+								this.$set(item, 'current', this.current);
 
-              this.tableData.sort((a, b) => {
-                if (a.result === '鏈畬鎴�' && b.result === '鍚堟牸') {
-                  return -1;
-                } else if (a.result === '鍚堟牸' && b.result === '鏈畬鎴�') {
-                  return 1;
-                } else {
-                  return 0;
-                }
-              });
+							});
 
-              if (this.tableData.length <= 0) {
-                this.isShowTable = true;
-              }
-            })
-          }
-        })
-      }
-    },
-    onDaa020Change(event) {
-      //鑾峰彇鐢熶骇绾垮埆鐨勪笅鏍囧湴鍧�
-      //this.formData.line = event;
+						})
+					}
+				});
+			},
+			msgRead() {
+				msgRead(this.msgId, this.$loginInfo.account);
+			},
+			//鍘绘枃浠跺垪琛ㄩ〉闈紙鏂囦欢绫诲瀷锛岀墿鏂欑紪鍙凤級
+			toFileUrlByU9List(type, u9No) {
+				if (type === 1) {
+					uni.navigateTo({
+						url: 'FileUrlByU9List?type=' + type + '&itemID=' + u9No
+					});
+				} else {
+					uni.navigateTo({
+						url: 'FileUrlByU9List2?type=' + type + '&itemID=' + u9No
+					});
+				}
+			},
 
-      this.lineNo = this.lineList[this.DAA020List.indexOf(event)].lineNo;
-
-      this.formData.line = this.lineNo;
-
-      this.$post({
-        url: "/XJ/getBoardItem",
-        data: {
-          lineNo: this.lineNo
-        }
-      }).then(res => {
-        //濉厖宸ュ崟鍙风殑鏁版嵁婧�
-        this.boardItems = res.data.tbBillList;
-
-        this.ItemList = this.boardItems.map(item => item.itemName);
-      })
-
-    },
-    onItemChange(event) {
-
-      this.formData.itemNo = event.itemNo;
-
-      this.$post({
-        url: "/XJ/getDaa001",
-        data: {
-          daa020: this.lineNo,
-          item: this.formData.itemNo
-        }
-      }).then(res => {
-        //濉厖宸ュ崟鍙风殑鏁版嵁婧�
-        this.schemeResult = res.data.tbBillList;
-        this.DAA001List = this.schemeResult.map(s => s.daa001);
-        //鍙樹负榛樿绌哄�肩殑鐘舵��
-        this.DAA001Index = -1;
-        this.formData.daa001 = "";
-      })
-    },
-    //閫夊彇宸ュ崟濉厖鐗╂枡鍙峰拰鍏朵粬淇℃伅
-    onDaa001Change(event) {
-      this.DAA001Index = event.mp.detail.value;
-
-      this.formData.daa001 = this.schemeResult[this.DAA001Index].daa001;
-
-      //琛ㄥ崟涓殑閮ㄥ垎瀛楁璧嬪��
-      this.$post({
-        url: "/XJ/getItem",
-        data: {
-          daa001: this.formData.daa001
-        }
-      }).then(res => {
-        let data = res.data.tbBillList[0];
-        //褰撹繑鍥炵殑缁撴灉闆嗕负绌烘椂缃┖鍘熸湁鐨勫��
-        if (!data) {
-          this.formData.billNo = "";
-          this.formData.taskNo = "";
-          this.formData.itemNo = "";
-          this.tableData = [];
-          return;
-        }
-        //涓嶄负绌烘椂璧嬪��
-        this.formData.daa001 = data.daa001;
-        this.formData.daa003 = data.daa003;
-        this.formData.daa004 = data.daa004;
-        this.formData.daa008 = data.daa008;
-        this.formData.pbaid = data.id;
-
-
-        this.$post({
-          url: "/SJ/SetQSItems",
-          data: {
-            itemNo: this.formData.itemNo
-          }
-        }).then(res => {
-          if (res.data.tbBillList.length > 0) {
-            this.tableData = res.data.tbBillList; // 鍦ㄧ澶村嚱鏁颁腑锛宼his 鎸囧悜澶栧眰浣滅敤鍩熺殑 this
-            this.isSubmit = false;
-          } else {
-            this.$showMessage("姝ょ墿鏂欐病鏈夊惎鐢ㄧ殑妫�楠岄」鐩紝璇风淮鎶�!");
-            this.isSubmit = true;
-            this.tableData = [];
-          }
-        });
-
-      });
-    },
-    toDetail(item) {
-      if (this.isUpdate) {
-        uni.showToast({
-          icon: "none",
-          title: "璇峰厛鐢熸垚妫�楠岄」鐩�",
-          duration: 2000,
-        });
-      } else {
-        uni.navigateTo({
-          url: 'detail?id=' + item.id + '&billNo=' + this.formData.billNo + '&gid=' + this.formData.id
-        });
-      }
-    },
-    getTable() {
-      this.$post({
-        url: "/SJ/SetQSItems",
-        data: {
-          itemNo: this.formData.itemNo
-        }
-      }).then(res => {
-        if (res.data.tbBillList.length > 0) {
-          this.tableData = res.data.tbBillList; // 鍦ㄧ澶村嚱鏁颁腑锛宼his 鎸囧悜澶栧眰浣滅敤鍩熺殑 this
-          this.isShowTable = true;
-          this.isUpdate = true;
-        } else {
-          this.$showMessage("姝ょ墿鏂欐病鏈夊惎鐢ㄧ殑妫�楠岄」鐩紝璇风淮鎶�!");
-          this.isShowTable = true;
-          this.isUpdate = false;
-          this.tableData = [];
-        }
-      });
-    },
-    saveTable() {
-      if (this.tableData.length === 0) {
-        return;
-      }
-
-      this.$post({
-        url: "/SJ/SaveItem",
-        data: {
-          gid: this.formData.id,
-          items: this.tableData,
-          statusUser: this.$loginInfo.account
-        }
-      }).then(res => {
-        this.tableData = res.data.tbBillList.items;
-        this.isShowTable = false;
-        this.isUpdate = false;
-      })
-    },
-    save() {
-
-      if (this.tableData.length === 0) {
-        this.$showMessage(this.formData.itemNo + "鐗╂枡娌℃湁妫�楠岄」鐩�");
-        return;
-      }
-
-      if (!this.formData.daa001) {
-        this.$showMessage("璇烽�夋嫨璁″垝缂栧彿");
-        return;
-      }
-
-      this.formData.statusUser = this.$loginInfo.account;
-
-      this.$post({
-        url: "/SJ/Save",
-        data: {
-          from: this.formData,
-          items: this.tableData
-        }
-      }).then(res => {
-        this.formData = res.data.tbBillList.result;
-        this.tableData = res.data.tbBillList.items;
-        this.isUpdate = false;
-      })
-    }, saveRemarks() {
-      this.remarksPopup = !this.remarksPopup;
-      this.remarks = this.formData.remarks;
-    },
-    editRemarks() {
-      if (this.remarks) {
-        //saveRemarksGid
-        this.$post({
-          url: "/SJ/saveRemarksGid",
-          data: {
-            gid: this.formData.id,
-            remarks: this.remarks
-          }
-        }).then(res => {
-          if (res.data.tbBillList > 0) {
-            this.formData.remarks = this.remarks;
-            this.remarksPopup = !this.remarksPopup;
-            this.$showMessage("淇濆瓨鎴愬姛");
-          }
-        })
-      }
-    },
-    toImage() {
-      uni.navigateTo({
-        url: 'ImageItem?id=' + this.formData.id
-      });
-    }
-  },
-  onShow() {
-    //姣忔杩涘叆椤甸潰閮戒細鎵ц鐨勬柟娉�
-    this.init();
-  }
-};
+			editRemarks() {
+				if (this.remarks) {
+					//saveRemarksGid
+					this.$post({
+						url: "/SJ/saveRemarksGid",
+						data: {
+							gid: this.formData.id,
+							remarks: this.remarks
+						}
+					}).then(res => {
+						if (res.data.tbBillList > 0) {
+							this.formData.remarks = this.remarks;
+							this.remarksPopup = !this.remarksPopup;
+							this.$showMessage("淇濆瓨鎴愬姛");
+						}
+					})
+				} else {
+					this.$post({
+						url: "/SJ/saveRemarksGid",
+						data: {
+							gid: this.formData.id,
+							remarks: ''
+						}
+					}).then(res => {
+						if (res.data.tbBillList > 0) {
+							this.formData.remarks = this.remarks;
+							this.remarksPopup = !this.remarksPopup;
+							this.$showMessage("淇濆瓨鎴愬姛");
+						}
+					})
+				}
+			},
+		}
+	}
 </script>
 
 <style>
-.form-group {
-  display: flex;
-  align-items: center;
-  border-bottom: 1px solid #c9c9c9;
-}
+	/* 鍩虹鏍峰紡 */
+	.inspection-sheet {
+		font-family: 'Microsoft YaHei', 'Segoe UI', sans-serif;
+		max-width: 1000px;
+		margin: 0 auto;
+		padding: 20px;
+		background-color: #fff;
+		box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
+	}
 
-.form-label {
-  margin-bottom: 0;
-  padding: 5px;
-}
+	/* 澶撮儴鏍峰紡 */
+	.sheet-header {
+		text-align: center;
+		margin-bottom: 20px;
+		padding-bottom: 15px;
+		border-bottom: 2px solid #e0e0e0;
+	}
 
-.form-input {
-  flex: 1;
-  margin-bottom: 0;
-  padding: 5px;
-}
+	.sheet-header h1 {
+		color: #2c3e50;
+		font-size: 24px;
+		margin-bottom: 5px;
+	}
 
+	.inspection-number {
+		font-size: 16px;
+		font-weight: bold;
+		color: #3498db;
+	}
 
-.picker {
-  flex: 1;
-  margin-bottom: 0;
-  padding: 5px;
-  font-size: 12px;
-}
+	/* 鍩烘湰淇℃伅鍖烘牱寮� */
+	.basic-info,
+	.material-info {
+		margin-bottom: 20px;
+	}
 
-.uni-form-item {
-  display: flex;
-  border-bottom: 1px solid #c9c9c9;
-}
+	.info-row {
+		display: flex;
+		margin-bottom: 10px;
+		flex-wrap: wrap;
+	}
 
-.edit {
-  background-color: white;
-}
+	.info-label {
+		font-weight: bold;
+		color: #34495e;
+		min-width: 80px;
+		margin-right: 5px;
+	}
 
-/* 榛樿鏍峰紡 */
-.list-container {
-  height: 60vh;
-  /* 璁剧疆鍒楄〃瀹瑰櫒鐨勯珮搴︿负鍓╀綑绌洪棿锛屽苟鍑忓幓琛ㄥ崟瀹瑰櫒鐨勯珮搴� */
-  overflow-y: auto;
-  /* 鍏佽鍒楄〃瀹瑰櫒鍨傜洿婊氬姩 */
-  padding: 10px;
-  /* 鍙�夛細娣诲姞涓�浜涘唴杈硅窛锛屼娇鍒楄〃鍐呭鏇寸編瑙� */
-}
+	.info-value {
+		color: #2c3e50;
+		margin-right: 20px;
+	}
 
-/* 鍦ㄥ皬灞忓箷璁惧涓婏紝閲嶇疆楂樺害涓洪�傚簲灞忓箷 */
-@media (max-width: 768px) {
-  .list-container {
-    height: calc(100vh - 376px);
-    /* 閫傚綋璋冩暣楂樺害 */
-  }
-}
+	.highlight {
+		font-weight: bold;
+		color: #e74c3c;
+	}
 
+	/* 鐗╂枡淇℃伅鍖烘牱寮� */
+	.material-info {
+		border: 1px solid #eee;
+		padding: 15px;
+		border-radius: 5px;
+	}
 
-.form-container {
-  padding: 10px;
-  /* 鍙�夛細娣诲姞涓�浜涘唴杈硅窛锛屼娇琛ㄥ崟鍐呭鏇寸編瑙� */
-}
+	.info-block {
+		display: flex;
+		align-items: center;
+		margin-bottom: 10px;
+		flex-wrap: wrap;
+	}
 
-.th {
-  background-color: lightskyblue;
-  color: #FFFFFF;
-}
+	.doc-links {
+		margin-left: auto;
+	}
 
+	.doc-link {
+		color: #3498db;
+		text-decoration: none;
+		margin-left: 15px;
+		padding: 3px 8px;
+		border: 1px solid #3498db;
+		border-radius: 3px;
+		font-size: 12px;
+	}
 
-.plus-button {
-  line-height: 59px;
-  font-size: 24px;
-  cursor: pointer;
-  z-index: 1000;
-  margin-bottom: 10px;
-}
+	.sysLike {
+		color: #3498db;
+		text-decoration: none;
+		margin-left: 15px;
+		padding: 3px 8px;
+		border-radius: 3px;
+		font-size: 12px;
+	}
 
-.overlay {
-  position: fixed;
-  top: 0;
-  left: 0;
-  width: 100%;
-  height: 100%;
-  background-color: rgba(0, 0, 0, 0.5);
-  display: flex;
-  justify-content: center;
-  align-items: center;
-}
+	.doc-link:hover {
+		background-color: #f0f8ff;
+	}
 
-.popup {
-  background-color: #fff;
-  padding: 20px;
-  border: 1px solid #ccc;
-  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
-  width: 68vw;
-  /* 璁剧疆瀹藉害涓鸿鍙e搴︾殑80% */
-  height: 25vh;
-  /* 璁剧疆楂樺害涓鸿鍙i珮搴︾殑80% */
-}
+	/* 琛ㄦ牸鏍峰紡 */
+	.inspection-table {
+		margin: 25px 0;
+	}
+
+	.inspection-table table {
+		width: 100%;
+		border-collapse: collapse;
+	}
+
+	.inspection-table th,
+	.inspection-table td {
+		padding: 12px 15px;
+		border: 1px solid #ddd;
+		text-align: left;
+	}
+
+	.inspection-table th {
+		background-color: #f8f9fa;
+		font-weight: bold;
+		color: #34495e;
+	}
+
+	.inspection-table tr:nth-child(even) {
+		background-color: #f9f9f9;
+	}
+
+	.inspection-table tr:hover {
+		background-color: #f1f5f9;
+	}
+
+	/* 鎸夐挳鏍峰紡 */
+	.action-buttons {
+		display: flex;
+		justify-content: flex-end;
+		gap: 10px;
+		margin-top: 20px;
+	}
+
+	.primary-btn,
+	.secondary-btn {
+		padding: 10px 20px;
+		border: none;
+		border-radius: 4px;
+		font-size: 14px;
+		cursor: pointer;
+		transition: all 0.3s;
+	}
+
+	.primary-btn {
+		background-color: #3498db;
+		color: white;
+	}
+
+	.primary-btn:hover {
+		background-color: #2980b9;
+	}
+
+	.secondary-btn {
+		background-color: #ecf0f1;
+		color: #7f8c8d;
+	}
+
+	.secondary-btn:hover {
+		background-color: #d5dbdb;
+	}
+
+	.record-btn {
+		padding: 6px 12px;
+		background-color: #f8f9fa;
+		border: 1px solid #ddd;
+		/* border-radius: 3px; */
+		cursor: pointer;
+		transition: all 0.2s;
+	}
+
+	.record-btn:hover {
+		background-color: #e9ecef;
+	}
+
+	/* 姘村嵃鏍峰紡 */
+	.watermark {
+		position: absolute;
+		font-size: 40px;
+		font-weight: bold;
+		opacity: 1;
+		z-index: 1;
+		pointer-events: none;
+		transform: rotate(-15deg);
+		width: 100%;
+		text-align: center;
+		top: 50%;
+		left: 50%;
+		transform: translate(-50%, -50%) rotate(-15deg);
+	}
+
+	.watermark.approved {
+		color: #2ecc71;
+		/* 缁胯壊 */
+	}
+
+	.watermark.rejected {
+		color: #e74c3c;
+		/* 绾㈣壊 */
+	}
+
+	.watermark.pending {
+		color: #f39c12;
+		/* 姗欒壊 */
+	}
+
+	/* 鎻忚堪鏂囨湰瀹瑰櫒 */
+	.description-text {
+		position: relative;
+		z-index: 2;
+		padding: 25px;
+		background-color: rgba(255, 255, 255, 0.7);
+	}
+
+	/* 璋冩暣琛ㄦ牸鍗曞厓鏍� */
+	.inspection-table td:nth-child(2) {
+		position: relative;
+		overflow: hidden;
+		padding: 0;
+	}
+
+	.overlay {
+		position: fixed;
+		top: 0;
+		left: 0;
+		width: 100%;
+		height: 100%;
+		background-color: rgba(0, 0, 0, 0.5);
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		z-index: 10;
+	}
+
+	.popup {
+		background-color: #fff;
+		padding: 20px;
+		border: 1px solid #ccc;
+		box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
+		width: 68vw;
+		/* 璁剧疆瀹藉害涓鸿鍙e搴︾殑80% */
+		height: 25vh;
+		/* 璁剧疆楂樺害涓鸿鍙i珮搴︾殑80% */
+	}
+
+	.form-group {
+		display: flex;
+		align-items: center;
+		border-bottom: 1px solid #c9c9c9;
+	}
+
+	.updateBut {
+		background-color: #3498db;
+		color: white;
+	}
+
+	/* 鍝嶅簲寮忚璁� */
+	@media (max-width: 500px) {
+
+		.info-row,
+		.info-block {
+			flex-direction: column;
+			align-items: flex-start;
+		}
+
+		.doc-links {
+			margin-left: 0;
+			margin-top: 10px;
+		}
+
+		.action-buttons {
+			flex-direction: column;
+		}
+
+		.inspection-table table {
+			display: block;
+			overflow-x: auto;
+		}
+	}
 </style>
\ No newline at end of file
diff --git "a/pages/QC/SJ/Add\357\274\210\346\227\247\357\274\211.vue" "b/pages/QC/SJ/Add\357\274\210\346\227\247\357\274\211.vue"
new file mode 100644
index 0000000..ff7d5ef
--- /dev/null
+++ "b/pages/QC/SJ/Add\357\274\210\346\227\247\357\274\211.vue"
@@ -0,0 +1,547 @@
+<template>
+  <view>
+    <view class="form-container">
+      <form :modelValue="formData">
+        <view class="form-group">
+          <label class="form-label">棣栨鍗曞彿:</label>
+          <input class="form-input" disabled="true" type="text" v-model="formData.billNo"/>
+        </view>
+        <view class="form-group">
+          <label class="form-label">鍒涘缓鏃堕棿:</label>
+          <input class="form-input" disabled="true" type="text" v-model="formData.createTime"/>
+        </view>
+        <view class="uni-form-item uni-column form-item edit">
+          <text class="form-label">鐢熶骇绾垮埆:</text>
+          <superwei-combox v-if="isUpdate" :candidates="DAA020List" placeholder="璇烽�夋嫨鎴栬緭鍏�"
+                           v-model="formData.line"
+                           @select="onDaa020Change"
+                           class="picker form-input"
+                           style="border: none;"></superwei-combox>
+          <input v-else class="form-input" disabled="true" type="text" v-model="formData.line"/>
+        </view>
+        <view class="uni-form-item uni-column form-item edit">
+          <text class="form-label">鐗╂枡缂栫爜:</text>
+          <superwei-combox v-if="isUpdate" :candidates="boardItems" placeholder="璇烽�夋嫨鎴栬緭鍏�"
+                           v-model="formData.itemNo"
+                           :isJSON="true" keyName="itemName"
+                           @select="onItemChange"
+                           class="picker form-input"
+                           style="border: none;"></superwei-combox>
+          <input v-else class="form-input" disabled="true" type="text" v-model="formData.itemNo"/>
+        </view>
+       <view class="uni-form-item uni-column form-item edit">
+          <text class="form-label">璁″垝缂栧彿:</text>
+          <picker v-if="isUpdate" class="picker form-input" name="selector" :range="DAA001List"
+                  @change="onDaa001Change">
+            <text>{{ DAA001List[DAA001Index] }}</text>
+          </picker>
+          <input v-else class="form-input" disabled="true" type="text" v-model="formData.daa001"/>
+        </view>
+        <view class="form-group">
+          <label class="form-label">浜у搧鍚嶇О:</label>
+          <input class="form-input" disabled="true" type="text" v-model="formData.daa003"/>
+        </view>
+        <view class="form-group">
+          <label class="form-label">瑙勬牸鍨嬪彿:</label>
+          <input class="form-input" disabled="true" type="text" v-model="formData.daa004"/>
+        </view>
+       <view class="form-group">
+          <label class="form-label">宸ュ崟鏁伴噺:</label>
+          <input class="form-input" disabled="true" type="text" v-model="formData.daa008"/>
+        </view> 
+        <view class="form-group">
+          <label class="form-label">涓嶅悎鏍兼弿杩�:</label>
+          <input class="form-input" disabled="true" type="text" v-model="formData.remarks"/>
+        </view>
+      </form>
+    </view>
+    <view class="list-container">
+      <uni-table ref="table" border emptyText="鏆傛棤鏇村鏁版嵁">
+        <uni-tr>
+          <uni-th align="center" class="th" style="color: #FFFFFF;">妫�楠岄」鐩�</uni-th>
+          <uni-th align="center" class="th" style="color: #FFFFFF">鏄惁鍚堟牸</uni-th>
+          <uni-th align="center" class="th" style="color: #FFFFFF">璁板綍(鐐瑰嚮)</uni-th>
+        </uni-tr>
+        <uni-tr v-for="(item, index) in tableData" :key="index">
+          <uni-td align="center">
+            <input class="form-input" disabled="true" type="text" v-model="item.projName"/>
+          </uni-td>
+          <uni-td align="center">
+            <input class="form-input" disabled="true" type="text" v-model="item.result"/>
+          </uni-td>
+          <uni-td>
+            <view class="uni-group">
+              <button v-if="item.isCheck >=item.levelNum" type="default" @click="toDetail(item)">
+                {{ item.levelNum + '/' + item.isCheck }}
+              </button>
+              <button v-else type="warn" @click="toDetail(item)"> {{ item.levelNum + '/' + item.isCheck }}</button>
+            </view>
+          </uni-td>
+        </uni-tr>
+      </uni-table>
+    </view>
+    <view class="plus-button">
+      <button type="warn" v-if="isUpdate && !isShowTable" @click="save">鍒涘缓妫�楠屽崟骞剁敓鎴愰儴鍒嗛粯璁ゅ��</button>
+    </view>
+    <view class="plus-button">
+      <button type="warn" v-if="!isUpdate && !isShowTable" @click="toImage">涓婁紶/鏌ョ湅鍥剧墖</button>
+    </view>
+    <view class="plus-button">
+      <button type="warn" v-if="!isUpdate && formData.result == '鏈畬鎴�' && !isShowTable" @click="removeXJ">鍒犻櫎鍗曟嵁
+      </button>
+    </view>
+    <view class="plus-button">
+      <button type="warn" v-if="!isUpdate &&  !isShowTable" @click="saveRemarks">娣诲姞涓嶅悎鏍兼弿杩�</button>
+    </view>
+    <view class="plus-button">
+      <button type="warn" v-if="isShowTable" @click="getTable">鑾峰彇妫�楠岄」鐩�</button>
+    </view>
+    <view class="plus-button">
+      <button type="warn" v-if="isShowTable && isUpdate" @click="saveTable">鐢熸垚妫�楠岄」鐩�</button>
+    </view>
+    <view v-if="remarksPopup" class="overlay">
+      <view class="popup">
+        <h3>淇敼涓嶅悎鏍兼弿杩�</h3>
+        <form>
+          <view class="form-group">
+            <label class="form-label">涓嶅悎鏍兼弿杩�:</label>
+            <input class="form-input" type="text" v-model="remarks"/>
+          </view>
+          <button type="warn" @click="editRemarks">淇敼</button>
+          <button @click="remarksPopup = !remarksPopup">鍙栨秷</button>
+        </form>
+      </view>
+    </view>
+  </view>
+</template>
+<script>
+export default {
+  data() {
+    return {
+      formData: {
+        createTime: "",
+        id: "",
+        billNo: "",
+        itemNo: "",
+        itemName: "",
+        workshopCode: "",
+        workshopName: "",
+        line: "",
+        lineName: "",
+        comments: "",
+        statusUser: ""
+      },
+
+      DAA020List: [],
+
+      DAA001List: [],
+      schemeResult: [],
+      DAA001Index: -1,
+
+      ItemList: [],
+
+      boardItems: [],
+
+      womdaaList: [],
+
+      tableData: [],
+
+      isSubmit: true,
+
+      isUpdate: true,
+
+      isShowTable: false,
+
+      remarks: "",
+      remarksPopup: false,
+    };
+  },
+  onLoad(options) {
+    //options涓寘鍚簡url闄勫甫鐨勫弬鏁�
+
+    let params = options;
+
+    if (params["id"]) {
+      this.isUpdate = false;
+      this.formData.id = params["id"];
+      this.formData.billNo = params["billNo"];
+      this.init();
+    } else {
+      //鍒濆鍖栨楠屽崟鍙�
+      this.$post({
+        url: "/SJ/GetMaxBillNo"
+      }).then(res => {
+        this.formData.billNo = res.data.tbBillList;
+        this.formData.createTime = this.$getDate("yyyy-mm-dd");
+      });
+
+      //浜у搧缂栫爜涓嬫媺妗嗙殑鍒濆鍖�
+      this.$post({
+        url: "/XJ/getLineAll"
+      }).then(res => {
+        this.lineList = res.data.tbBillList;
+        this.DAA020List = res.data.tbBillList.map(item => item.lineName);
+        this.formData.itemNo = "";
+        this.formData.itemName = "";
+        this.formData.workshopCode = "";
+        this.formData.workshopName = "";
+        this.formData.line = "";
+        this.formData.lineName = "";
+        this.formData.pbaid = null;
+      })
+    }
+  },
+  methods: {
+    removeXJ() {
+      if (this.formData.id) {
+        this.$post({
+          url: "/SJ/removeSJ",
+          data: {
+            id: this.formData.id
+          }
+        }).then(res => {
+          if (res.data.tbBillList > 0) {
+            this.$showMessage("鍒犻櫎鎴愬姛");
+            //鍏抽棴褰撳墠椤甸潰锛岃繑鍥炰笂涓�椤甸潰鎴栧绾ч〉闈�
+            uni.navigateBack();
+          } else {
+            this.$showMessage("鍒犻櫎澶辫触");
+          }
+        });
+      } else {
+        this.$showMessage("璇峰厛閫夋嫨妫�楠屽崟鍙�");
+      }
+    },
+    init() {
+      if (this.formData.id) {
+        this.$post({
+          url: "/SJ/GetPage",
+          data: {
+            pageIndex: 1,
+            limit: 1,
+            id: this.formData.id
+          }
+        }).then(res => {
+          let tbBillListElement = res.data.tbBillList[0];
+          if (tbBillListElement) {
+            this.formData = tbBillListElement;
+            this.$post({
+              url: "/SJ/getQSItems",
+              data: {
+                pid: this.formData.id
+              }
+            }).then(res => {
+              this.tableData = res.data.tbBillList;
+
+              this.tableData.sort((a, b) => {
+                if (a.result === '鏈畬鎴�' && b.result === '鍚堟牸') {
+                  return -1;
+                } else if (a.result === '鍚堟牸' && b.result === '鏈畬鎴�') {
+                  return 1;
+                } else {
+                  return 0;
+                }
+              });
+
+              if (this.tableData.length <= 0) {
+                this.isShowTable = true;
+              }
+            })
+          }
+        })
+      }
+    },
+    onDaa020Change(event) {
+      //鑾峰彇鐢熶骇绾垮埆鐨勪笅鏍囧湴鍧�
+      //this.formData.line = event;
+
+      this.lineNo = this.lineList[this.DAA020List.indexOf(event)].lineNo;
+
+      this.formData.line = this.lineNo;
+
+      this.$post({
+        url: "/XJ/getBoardItem",
+        data: {
+          lineNo: this.lineNo
+        }
+      }).then(res => {
+        //濉厖宸ュ崟鍙风殑鏁版嵁婧�
+        this.boardItems = res.data.tbBillList;
+
+        this.ItemList = this.boardItems.map(item => item.itemName);
+      })
+
+    },
+    onItemChange(event) {
+
+      this.formData.itemNo = event.itemNo;
+
+      this.$post({
+        url: "/XJ/getDaa001",
+        data: {
+          daa020: this.lineNo,
+          item: this.formData.itemNo
+        }
+      }).then(res => {
+        //濉厖宸ュ崟鍙风殑鏁版嵁婧�
+        this.schemeResult = res.data.tbBillList;
+        this.DAA001List = this.schemeResult.map(s => s.daa001);
+        //鍙樹负榛樿绌哄�肩殑鐘舵��
+        this.DAA001Index = -1;
+        this.formData.daa001 = "";
+      })
+    },
+    //閫夊彇宸ュ崟濉厖鐗╂枡鍙峰拰鍏朵粬淇℃伅
+    onDaa001Change(event) {
+      this.DAA001Index = event.mp.detail.value;
+
+      this.formData.daa001 = this.schemeResult[this.DAA001Index].daa001;
+
+      //琛ㄥ崟涓殑閮ㄥ垎瀛楁璧嬪��
+      this.$post({
+        url: "/XJ/getItem",
+        data: {
+          daa001: this.formData.daa001
+        }
+      }).then(res => {
+        let data = res.data.tbBillList[0];
+        //褰撹繑鍥炵殑缁撴灉闆嗕负绌烘椂缃┖鍘熸湁鐨勫��
+        if (!data) {
+          this.formData.billNo = "";
+          this.formData.taskNo = "";
+          this.formData.itemNo = "";
+          this.tableData = [];
+          return;
+        }
+        //涓嶄负绌烘椂璧嬪��
+        this.formData.daa001 = data.daa001;
+        this.formData.daa003 = data.daa003;
+        this.formData.daa004 = data.daa004;
+        this.formData.daa008 = data.daa008;
+        this.formData.pbaid = data.id;
+
+
+        this.$post({
+          url: "/SJ/SetQSItems",
+          data: {
+            itemNo: this.formData.itemNo
+          }
+        }).then(res => {
+          if (res.data.tbBillList.length > 0) {
+            this.tableData = res.data.tbBillList; // 鍦ㄧ澶村嚱鏁颁腑锛宼his 鎸囧悜澶栧眰浣滅敤鍩熺殑 this
+            this.isSubmit = false;
+          } else {
+            this.$showMessage("姝ょ墿鏂欐病鏈夊惎鐢ㄧ殑妫�楠岄」鐩紝璇风淮鎶�!");
+            this.isSubmit = true;
+            this.tableData = [];
+          }
+        });
+
+      });
+    },
+    toDetail(item) {
+      if (this.isUpdate) {
+        uni.showToast({
+          icon: "none",
+          title: "璇峰厛鐢熸垚妫�楠岄」鐩�",
+          duration: 2000,
+        });
+      } else {
+        uni.navigateTo({
+          url: 'detail?id=' + item.id + '&billNo=' + this.formData.billNo + '&gid=' + this.formData.id
+        });
+      }
+    },
+    getTable() {
+      this.$post({
+        url: "/SJ/SetQSItems",
+        data: {
+          itemNo: this.formData.itemNo
+        }
+      }).then(res => {
+        if (res.data.tbBillList.length > 0) {
+          this.tableData = res.data.tbBillList; // 鍦ㄧ澶村嚱鏁颁腑锛宼his 鎸囧悜澶栧眰浣滅敤鍩熺殑 this
+          this.isShowTable = true;
+          this.isUpdate = true;
+        } else {
+          this.$showMessage("姝ょ墿鏂欐病鏈夊惎鐢ㄧ殑妫�楠岄」鐩紝璇风淮鎶�!");
+          this.isShowTable = true;
+          this.isUpdate = false;
+          this.tableData = [];
+        }
+      });
+    },
+    saveTable() {
+      if (this.tableData.length === 0) {
+        return;
+      }
+
+      this.$post({
+        url: "/SJ/SaveItem",
+        data: {
+          gid: this.formData.id,
+          items: this.tableData,
+          statusUser: this.$loginInfo.account
+        }
+      }).then(res => {
+        this.tableData = res.data.tbBillList.items;
+        this.isShowTable = false;
+        this.isUpdate = false;
+      })
+    },
+    save() {
+
+      if (this.tableData.length === 0) {
+        this.$showMessage(this.formData.itemNo + "鐗╂枡娌℃湁妫�楠岄」鐩�");
+        return;
+      }
+
+      if (!this.formData.daa001) {
+        this.$showMessage("璇烽�夋嫨璁″垝缂栧彿");
+        return;
+      }
+
+      this.formData.statusUser = this.$loginInfo.account;
+
+      this.$post({
+        url: "/SJ/Save",
+        data: {
+          from: this.formData,
+          items: this.tableData
+        }
+      }).then(res => {
+        this.formData = res.data.tbBillList.result;
+        this.tableData = res.data.tbBillList.items;
+        this.isUpdate = false;
+      })
+    }, saveRemarks() {
+      this.remarksPopup = !this.remarksPopup;
+      this.remarks = this.formData.remarks;
+    },
+    editRemarks() {
+      if (this.remarks) {
+        //saveRemarksGid
+        this.$post({
+          url: "/SJ/saveRemarksGid",
+          data: {
+            gid: this.formData.id,
+            remarks: this.remarks
+          }
+        }).then(res => {
+          if (res.data.tbBillList > 0) {
+            this.formData.remarks = this.remarks;
+            this.remarksPopup = !this.remarksPopup;
+            this.$showMessage("淇濆瓨鎴愬姛");
+          }
+        })
+      }
+    },
+    toImage() {
+      uni.navigateTo({
+        url: 'ImageItem?id=' + this.formData.id
+      });
+    }
+  },
+  onShow() {
+    //姣忔杩涘叆椤甸潰閮戒細鎵ц鐨勬柟娉�
+    this.init();
+  }
+};
+</script>
+
+<style>
+.form-group {
+  display: flex;
+  align-items: center;
+  border-bottom: 1px solid #c9c9c9;
+}
+
+.form-label {
+  margin-bottom: 0;
+  padding: 5px;
+}
+
+.form-input {
+  flex: 1;
+  margin-bottom: 0;
+  padding: 5px;
+}
+
+
+.picker {
+  flex: 1;
+  margin-bottom: 0;
+  padding: 5px;
+  font-size: 12px;
+}
+
+.uni-form-item {
+  display: flex;
+  border-bottom: 1px solid #c9c9c9;
+}
+
+.edit {
+  background-color: white;
+}
+
+/* 榛樿鏍峰紡 */
+.list-container {
+  height: 60vh;
+  /* 璁剧疆鍒楄〃瀹瑰櫒鐨勯珮搴︿负鍓╀綑绌洪棿锛屽苟鍑忓幓琛ㄥ崟瀹瑰櫒鐨勯珮搴� */
+  overflow-y: auto;
+  /* 鍏佽鍒楄〃瀹瑰櫒鍨傜洿婊氬姩 */
+  padding: 10px;
+  /* 鍙�夛細娣诲姞涓�浜涘唴杈硅窛锛屼娇鍒楄〃鍐呭鏇寸編瑙� */
+}
+
+/* 鍦ㄥ皬灞忓箷璁惧涓婏紝閲嶇疆楂樺害涓洪�傚簲灞忓箷 */
+@media (max-width: 768px) {
+  .list-container {
+    height: calc(100vh - 376px);
+    /* 閫傚綋璋冩暣楂樺害 */
+  }
+}
+
+
+.form-container {
+  padding: 10px;
+  /* 鍙�夛細娣诲姞涓�浜涘唴杈硅窛锛屼娇琛ㄥ崟鍐呭鏇寸編瑙� */
+}
+
+.th {
+  background-color: lightskyblue;
+  color: #FFFFFF;
+}
+
+
+.plus-button {
+  line-height: 59px;
+  font-size: 24px;
+  cursor: pointer;
+  z-index: 1000;
+  margin-bottom: 10px;
+}
+
+.overlay {
+  position: fixed;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  background-color: rgba(0, 0, 0, 0.5);
+  display: flex;
+  justify-content: center;
+  align-items: center;
+}
+
+.popup {
+  background-color: #fff;
+  padding: 20px;
+  border: 1px solid #ccc;
+  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
+  width: 68vw;
+  /* 璁剧疆瀹藉害涓鸿鍙e搴︾殑80% */
+  height: 25vh;
+  /* 璁剧疆楂樺害涓鸿鍙i珮搴︾殑80% */
+}
+</style>
\ No newline at end of file
diff --git "a/pages/QC/SJ/List\050\346\227\247\051.vue" "b/pages/QC/SJ/List\050\346\227\247\051.vue"
new file mode 100644
index 0000000..2b95d77
--- /dev/null
+++ "b/pages/QC/SJ/List\050\346\227\247\051.vue"
@@ -0,0 +1,384 @@
+<template>
+  <view>
+    <!-- 鍒锋柊椤甸潰鍚庣殑椤堕儴鎻愮ず妗� -->
+    <view class="tips" :class="{ 'tips-ani': tipShow }">鍒锋柊鎴愬姛</view>
+
+    <view class="newsTab">
+      <uni-segmented-control :current="current" :values="items" @clickItem="onClickItem" style-type="button"
+                             active-color="#87cefa"></uni-segmented-control>
+      <view class="content">
+        <view v-show="current===0">
+          <!-- 鍩轰簬 uni-list 鐨勯〉闈㈠竷灞� -->
+          <uni-list>
+            <!-- to 灞炴�ф惡甯﹀弬鏁拌烦杞鎯呴〉闈紝褰撳墠鍙负鍙傝�� -->
+            <uni-list-item style="margin-top: 10px;background-color: #EFEFF4;border-radius: 5px;"
+                           class="list-item" direction="column" v-for="item in data" :key="item.id"
+                           :to="'Add?id='+item.id+'&billNo='+item.billNo">
+              <!-- 閫氳繃header鎻掓Ы瀹氫箟鍒楄〃鐨勬爣棰� -->
+              <template v-slot:header>
+                <view class="form-group uni-title" style="margin-bottom: 0;">
+                  <label class="form-label">妫�楠屽崟鍙�:</label>
+                  <input class="form-input" disabled="true" type="text" v-model="item.billNo"/>
+                </view>
+              </template>
+              <!-- 閫氳繃body鎻掓Ы瀹氫箟鍒楄〃鍐呭鏄剧ず -->
+              <template v-slot:body>
+                <view style="margin-top: 0;">
+                  <view class="uni-content">
+                    <view class="uni-title-sub uni-ellipsis-2">
+                      <view class="form-group">
+                        <label class="form-label lab">鍒涘缓鏃堕棿:</label>
+                        <input class="form-input" disabled="true" type="text" v-model="item.statusDate"/>
+                      </view>
+                    </view>
+
+                    <view class="uni-title-sub uni-ellipsis-2">
+                      <view class="form-group">
+                        <label class="form-label lab">浜х嚎:</label>
+                        <input class="form-input" disabled="true" type="text" v-model="item.line"/>
+                      </view>
+                    </view>
+
+                    <view class="uni-title-sub uni-ellipsis-2">
+                      <view class="form-group">
+                        <label class="form-label lab">鐗╂枡缂栫爜:</label>
+                        <input class="form-input" disabled="true" type="text" v-model="item.itemNo"/>
+                      </view>
+                    </view>
+
+                    <view class="uni-title-sub uni-ellipsis-2">
+                      <view class="form-group">
+                        <label class="form-label">浜у搧鍚嶇О:</label>
+                        <input class="form-input" disabled="true" type="text" v-model="item.daa003"/>
+                      </view>
+                    </view>
+
+                    <view class="uni-title-sub uni-ellipsis-2">
+                      <view class="form-group">
+                        <label class="form-label">瑙勬牸鍨嬪彿:</label>
+                        <input class="form-input" disabled="true" type="text" v-model="item.daa004"/>
+                      </view>
+                    </view>
+
+                    <view class="uni-title-sub uni-ellipsis-2">
+                      <view class="form-group">
+                        <label class="form-label">宸ュ崟鏁伴噺:</label>
+                        <input class="form-input" disabled="true" type="text" v-model="item.daa008"/>
+                      </view>
+                    </view>
+
+                    <view class="uni-note" style="color: red">
+                      <view class="form-group">
+                        <label class="form-label lab">鍒涘缓浜�:</label>
+                        <input class="form-input" disabled="true" type="text" v-model="item.fName"/>
+                      </view>
+                    </view>
+
+                    <view class="uni-note" style="color: red">
+                      <view class="form-group">
+                        <label class="form-label lab">妫�楠屼汉:</label>
+                        <input class="form-input" disabled="true" type="text" v-model="item.statusUser"/>
+                      </view>
+                    </view>
+
+                    <view class="uni-note" style="color: red">
+                      <view class="form-group">
+                        <label class="form-label lab">妫�娴嬬粨鏋�:</label>
+                        <input class="form-input" disabled="true" type="text" v-model="item.result"/>
+                      </view>
+                    </view>
+
+                  </view>
+                </view>
+              </template>
+            </uni-list-item>
+          </uni-list>
+          <!-- 閫氳繃 loadMore 缁勪欢瀹炵幇涓婃媺鍔犺浇鏁堟灉锛屽闇�鑷畾涔夋樉绀哄唴瀹癸紝鍙弬鑰冿細https://ext.dcloud.net.cn/plugin?id=29 -->
+          <!-- <uni-load-more v-if="loading || options.status === 'noMore' " :status="options.status" /> -->
+
+          <!-- <view class="fab" @click="handleFabClick">
+            <text class="fab-icon">+</text>
+          </view> -->
+          <view class="plus-button" @click="handleFabClick">
+            +
+          </view>
+        </view>
+        <view v-show="current===1">
+          <uni-list>
+            <!-- to 灞炴�ф惡甯﹀弬鏁拌烦杞鎯呴〉闈紝褰撳墠鍙负鍙傝�� -->
+            <uni-list-item style="margin-top: 10px;background-color: #EFEFF4;border-radius: 5px;"
+                           class="list-item" direction="column" v-for="item in data" :key="item.id"
+                           :to="'Add?id='+item.id+'&billNo='+item.billNo">
+              <!-- 閫氳繃header鎻掓Ы瀹氫箟鍒楄〃鐨勬爣棰� -->
+              <template v-slot:header>
+                <view class="form-group uni-title" style="margin-bottom: 0;">
+                  <label class="form-label">妫�楠屽崟鍙�:</label>
+                  <input class="form-input" disabled="true" type="text" v-model="item.billNo"/>
+                </view>
+              </template>
+              <!-- 閫氳繃body鎻掓Ы瀹氫箟鍒楄〃鍐呭鏄剧ず -->
+              <template v-slot:body>
+                <view style="margin-top: 0;">
+                  <view class="uni-content">
+                    <view class="uni-title-sub uni-ellipsis-2">
+                      <view class="form-group">
+                        <label class="form-label lab">鍒涘缓鏃堕棿:</label>
+                        <input class="form-input" disabled="true" type="text" v-model="item.statusDate"/>
+                      </view>
+                    </view>
+
+                    <view class="uni-title-sub uni-ellipsis-2">
+                      <view class="form-group">
+                        <label class="form-label lab">浜х嚎:</label>
+                        <input class="form-input" disabled="true" type="text" v-model="item.line"/>
+                      </view>
+                    </view>
+
+                    <view class="uni-title-sub uni-ellipsis-2">
+                      <view class="form-group">
+                        <label class="form-label lab">鐗╂枡缂栫爜:</label>
+                        <input class="form-input" disabled="true" type="text" v-model="item.itemNo"/>
+                      </view>
+                    </view>
+
+                    <view class="uni-title-sub uni-ellipsis-2">
+                      <view class="form-group">
+                        <label class="form-label">浜у搧鍚嶇О:</label>
+                        <input class="form-input" disabled="true" type="text" v-model="item.daa003"/>
+                      </view>
+                    </view>
+
+                    <view class="uni-title-sub uni-ellipsis-2">
+                      <view class="form-group">
+                        <label class="form-label">瑙勬牸鍨嬪彿:</label>
+                        <input class="form-input" disabled="true" type="text" v-model="item.daa004"/>
+                      </view>
+                    </view>
+
+                    <view class="uni-title-sub uni-ellipsis-2">
+                      <view class="form-group">
+                        <label class="form-label">宸ュ崟鏁伴噺:</label>
+                        <input class="form-input" disabled="true" type="text" v-model="item.daa008"/>
+                      </view>
+                    </view>
+
+                    <view class="uni-note" style="color: red">
+                      <view class="form-group">
+                        <label class="form-label lab">鍒涘缓浜�:</label>
+                        <input class="form-input" disabled="true" type="text" v-model="item.fName"/>
+                      </view>
+                    </view>
+
+                    <view class="uni-note" style="color: red">
+                      <view class="form-group">
+                        <label class="form-label lab">妫�楠屼汉:</label>
+                        <input class="form-input" disabled="true" type="text" v-model="item.statusUser"/>
+                      </view>
+                    </view>
+
+                    <view class="uni-note" style="color: red">
+                      <view class="form-group">
+                        <label class="form-label lab">妫�娴嬬粨鏋�:</label>
+                        <input class="form-input" disabled="true" type="text" v-model="item.result"/>
+                      </view>
+                    </view>
+                  </view>
+                </view>
+              </template>
+            </uni-list-item>
+          </uni-list>
+        </view>
+      </view>
+    </view>
+
+
+  </view>
+</template>
+
+<script>
+export default {
+  components: {},
+  data() {
+    return {
+      items: ['鏈畬鎴�', '宸插畬鎴�'],
+      current: 0,
+      data: [],
+      tipShow: false // 鏄惁鏄剧ず椤堕儴鎻愮ず妗�
+    };
+  },
+  onLoad() {
+    //椤甸潰鍔犺浇鏃惰皟鐢ㄧ殑浜嬩欢
+    this.init();
+  },
+  methods: {
+    init() {
+      let result = "鏈畬鎴�";
+      if (this.current === 1) {
+        result = "宸插畬鎴�";
+      }
+      //椤甸潰鍔犺浇鏃惰皟鐢ㄧ殑浜嬩欢
+      this.$post({
+        url: "/SJ/GetPage",
+        data: {
+          pageIndex: 1,
+          limit: 20,
+          statusUser: this.$loginInfo.account,
+          result: result
+        }
+      }).then(res => {
+        this.data = res.data.tbBillList;
+      })
+    },
+    handleFabClick() {
+      uni.navigateTo({
+        url: 'Add?id'
+      });
+    },
+    onClickItem(index) {
+      if (this.current !== index.currentIndex) {
+        this.current = index.currentIndex;
+        this.init();
+      }
+    },
+  },
+  /**
+   * 涓嬫媺鍒锋柊鍥炶皟鍑芥暟
+   */
+  onPullDownRefresh() {
+    //閲嶆柊鎵ц涓�閬嶆煡璇�
+    this.init();
+    this.tipShow = true;
+    //鍏抽棴鍔ㄧ敾
+    uni.stopPullDownRefresh();
+
+    setTimeout(function () {
+      this.tipShow = false;
+    }, 3000);
+  },
+  /**
+   * 涓婃媺鍔犺浇鍥炶皟鍑芥暟
+   */
+  onReachBottom() {
+    this.init();
+  },
+  onShow() {
+    //姣忔杩涘叆椤甸潰閮戒細鎵ц鐨勬柟娉�
+    this.init();
+  }
+};
+</script>
+
+<style lang="scss">
+@import '@/common/uni-ui.scss';
+
+.uni-note {
+  margin-top: 0;
+}
+
+/* Set the input backgrounds to be gray */
+.form-input {
+  background-color: #f2f2f2; /* Or any other shade of gray you prefer */
+}
+
+/* Ensure automatic adaptation based on page size */
+.form-group {
+  display: flex;
+  align-items: center;
+}
+
+.form-label {
+  margin-bottom: 0;
+  border-bottom: 1px solid #FFFFFF;
+  padding: 5px;
+  font-size: 12px;
+  width: 60px;
+  /* Adjust the font size as per your requirement */
+}
+
+.form-input {
+  flex: 1;
+  margin-bottom: 0;
+  border-bottom: 1px solid #c7c7c7;
+  padding: 5px;
+  font-size: 12px;
+  background-color: #FFFFFF;
+  /* Adjust the font size as per your requirement */
+}
+
+.plus-button {
+  position: fixed;
+  bottom: 20px;
+  right: 20px;
+  width: 60px;
+  height: 60px;
+  border-radius: 50%;
+  background-color: #007bff;
+  color: #ffffff;
+  text-align: center;
+  line-height: 59px;
+  font-size: 24px;
+  cursor: pointer;
+  z-index: 1000;
+  margin-bottom: 35px;
+}
+
+page {
+  display: flex;
+  flex-direction: column;
+  box-sizing: border-box;
+  background-color: #efeff4;
+  min-height: 100%;
+  height: auto;
+}
+
+.tips {
+  color: #67c23a;
+  font-size: 14px;
+  line-height: 40px;
+  text-align: center;
+  background-color: #f0f9eb;
+  height: 0;
+  opacity: 0;
+  transform: translateY(-100%);
+  transition: all 0.3s;
+}
+
+.tips-ani {
+  transform: translateY(0);
+  height: 40px;
+  opacity: 1;
+}
+
+.content {
+  width: 100%;
+}
+
+.list-picture {
+  width: 100%;
+  height: 145px;
+}
+
+.thumb-image {
+  width: 100%;
+  height: 100%;
+}
+
+.ellipsis {
+  display: flex;
+  overflow: hidden;
+}
+
+.uni-ellipsis-1 {
+  overflow: hidden;
+  white-space: nowrap;
+  text-overflow: ellipsis;
+}
+
+.uni-ellipsis-2 {
+  overflow: hidden;
+  text-overflow: ellipsis;
+  display: -webkit-box;
+  -webkit-line-clamp: 2;
+  -webkit-box-orient: vertical;
+}
+</style>
\ No newline at end of file
diff --git a/pages/QC/SJ/List.vue b/pages/QC/SJ/List.vue
index 2b95d77..fbfe619 100644
--- a/pages/QC/SJ/List.vue
+++ b/pages/QC/SJ/List.vue
@@ -1,384 +1,523 @@
 <template>
-  <view>
-    <!-- 鍒锋柊椤甸潰鍚庣殑椤堕儴鎻愮ず妗� -->
-    <view class="tips" :class="{ 'tips-ani': tipShow }">鍒锋柊鎴愬姛</view>
+	<view class="inspection-app">
+		<view class="filter-section">
+			<view class="filter-controls">
+	 
+				<view class="status-tabs">
+					<button :class="['tab-button', activeTab === 0 ? 'active' : '']"
+						@click="switchTab(0)">鏈楠�</button>
+					<button :class="['tab-button', activeTab === 1 ? 'active' : '']"
+						@click="switchTab(1)">{{checkedCount}}</button>
+				</view>
 
-    <view class="newsTab">
-      <uni-segmented-control :current="current" :values="items" @clickItem="onClickItem" style-type="button"
-                             active-color="#87cefa"></uni-segmented-control>
-      <view class="content">
-        <view v-show="current===0">
-          <!-- 鍩轰簬 uni-list 鐨勯〉闈㈠竷灞� -->
-          <uni-list>
-            <!-- to 灞炴�ф惡甯﹀弬鏁拌烦杞鎯呴〉闈紝褰撳墠鍙负鍙傝�� -->
-            <uni-list-item style="margin-top: 10px;background-color: #EFEFF4;border-radius: 5px;"
-                           class="list-item" direction="column" v-for="item in data" :key="item.id"
-                           :to="'Add?id='+item.id+'&billNo='+item.billNo">
-              <!-- 閫氳繃header鎻掓Ы瀹氫箟鍒楄〃鐨勬爣棰� -->
-              <template v-slot:header>
-                <view class="form-group uni-title" style="margin-bottom: 0;">
-                  <label class="form-label">妫�楠屽崟鍙�:</label>
-                  <input class="form-input" disabled="true" type="text" v-model="item.billNo"/>
-                </view>
-              </template>
-              <!-- 閫氳繃body鎻掓Ы瀹氫箟鍒楄〃鍐呭鏄剧ず -->
-              <template v-slot:body>
-                <view style="margin-top: 0;">
-                  <view class="uni-content">
-                    <view class="uni-title-sub uni-ellipsis-2">
-                      <view class="form-group">
-                        <label class="form-label lab">鍒涘缓鏃堕棿:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.statusDate"/>
-                      </view>
-                    </view>
+			</view>
+		</view>
 
-                    <view class="uni-title-sub uni-ellipsis-2">
-                      <view class="form-group">
-                        <label class="form-label lab">浜х嚎:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.line"/>
-                      </view>
-                    </view>
+		<!-- 妫�楠屽崟鍒楄〃 -->
+		<view class="inspection-list">
+			<!-- 妫�楠屽崟鍗$墖1 -->
+			<view class="inspection-card" v-for="(item, index) in inspectionList" :key="index">
+				<view class="card-header">
+					<text class="badge urgent" v-if="item.urgentFlag == 1">鎬ユ枡</text>
+					<text class="badge urgent" v-if="item.jycs == 1">瓒呮椂</text>
+					<text class="badge normal" v-if="item.ftype == 1">濮斿</text>
+					<text class="badge normal" v-if="item.first == 1">棣栨鏉ユ枡</text>
+					<text class="card-title">妫�楠屽崟鍙�: {{item.billNo}}</text>
+					<text class="status pass" v-if="item.result=='鍚堟牸' && item.activeTab==1">鍚堟牸</text>
+					<text class="status Unqualified" v-if="item.result=='涓嶅悎鏍�' && item.activeTab==1">涓嶅悎鏍�</text>
+				</view>
 
-                    <view class="uni-title-sub uni-ellipsis-2">
-                      <view class="form-group">
-                        <label class="form-label lab">鐗╂枡缂栫爜:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.itemNo"/>
-                      </view>
-                    </view>
+				<view class="card-body">
+					<view class="info-row">
+						<view class="info-item">
+							<text class="info-label">鐗╂枡淇℃伅</text>
+							<text class="info-content">{{item.itemNo}}  </text>
+						</view>
+						<view class="info-item">
+							<text class="info-label">浜х嚎</text>
+							<text class="info-content">{{item.line}}</text>
+						</view>
+						<view class="info-item">
+							<text class="info-label">宸ュ崟鏁伴噺</text>
+							<text class="info-content highlight">{{item.daa008}}</text>
+						</view>
 
-                    <view class="uni-title-sub uni-ellipsis-2">
-                      <view class="form-group">
-                        <label class="form-label">浜у搧鍚嶇О:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.daa003"/>
-                      </view>
-                    </view>
+					</view>
+					<view class="info-row">
+						<view class="info-item">
+							<text class="info-label">浜у搧淇℃伅</text>
+							<text class="info-content">{{item.daa003}} |{{item.daa004}} </text>
+						</view>
+					</view>
+					<view class="info-row">
+						<view class="info-item" v-if="item.newFngDesc!=null">
+							<text class="info-label">涓婃涓嶈壇鎻忚堪</text>
+							<text class="info-content">{{item.newFngDesc}}</text>
+						</view>
+						<view class="info-item" v-if="item.fngDesc!=null">
+							<text class="info-label">涓嶈壇鎻忚堪</text>
+							<text class="info-content">{{item.fngDesc}}</text>
+						</view>
+					</view>
 
-                    <view class="uni-title-sub uni-ellipsis-2">
-                      <view class="form-group">
-                        <label class="form-label">瑙勬牸鍨嬪彿:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.daa004"/>
-                      </view>
-                    </view>
+					<view class="meta-info">
+						<text class="meta-item"><uni-icons type="calendar" size="14" color="#95a5a6"></uni-icons>
+							{{item.statusDate}}</text>
+						<text class="meta-item"><uni-icons type="person" size="14" color="#95a5a6"></uni-icons>
+							{{item.statusUser}}</text>
+					</view>
+				</view>
 
-                    <view class="uni-title-sub uni-ellipsis-2">
-                      <view class="form-group">
-                        <label class="form-label">宸ュ崟鏁伴噺:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.daa008"/>
-                      </view>
-                    </view>
-
-                    <view class="uni-note" style="color: red">
-                      <view class="form-group">
-                        <label class="form-label lab">鍒涘缓浜�:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.fName"/>
-                      </view>
-                    </view>
-
-                    <view class="uni-note" style="color: red">
-                      <view class="form-group">
-                        <label class="form-label lab">妫�楠屼汉:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.statusUser"/>
-                      </view>
-                    </view>
-
-                    <view class="uni-note" style="color: red">
-                      <view class="form-group">
-                        <label class="form-label lab">妫�娴嬬粨鏋�:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.result"/>
-                      </view>
-                    </view>
-
-                  </view>
-                </view>
-              </template>
-            </uni-list-item>
-          </uni-list>
-          <!-- 閫氳繃 loadMore 缁勪欢瀹炵幇涓婃媺鍔犺浇鏁堟灉锛屽闇�鑷畾涔夋樉绀哄唴瀹癸紝鍙弬鑰冿細https://ext.dcloud.net.cn/plugin?id=29 -->
-          <!-- <uni-load-more v-if="loading || options.status === 'noMore' " :status="options.status" /> -->
-
-          <!-- <view class="fab" @click="handleFabClick">
-            <text class="fab-icon">+</text>
-          </view> -->
-          <view class="plus-button" @click="handleFabClick">
-            +
-          </view>
-        </view>
-        <view v-show="current===1">
-          <uni-list>
-            <!-- to 灞炴�ф惡甯﹀弬鏁拌烦杞鎯呴〉闈紝褰撳墠鍙负鍙傝�� -->
-            <uni-list-item style="margin-top: 10px;background-color: #EFEFF4;border-radius: 5px;"
-                           class="list-item" direction="column" v-for="item in data" :key="item.id"
-                           :to="'Add?id='+item.id+'&billNo='+item.billNo">
-              <!-- 閫氳繃header鎻掓Ы瀹氫箟鍒楄〃鐨勬爣棰� -->
-              <template v-slot:header>
-                <view class="form-group uni-title" style="margin-bottom: 0;">
-                  <label class="form-label">妫�楠屽崟鍙�:</label>
-                  <input class="form-input" disabled="true" type="text" v-model="item.billNo"/>
-                </view>
-              </template>
-              <!-- 閫氳繃body鎻掓Ы瀹氫箟鍒楄〃鍐呭鏄剧ず -->
-              <template v-slot:body>
-                <view style="margin-top: 0;">
-                  <view class="uni-content">
-                    <view class="uni-title-sub uni-ellipsis-2">
-                      <view class="form-group">
-                        <label class="form-label lab">鍒涘缓鏃堕棿:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.statusDate"/>
-                      </view>
-                    </view>
-
-                    <view class="uni-title-sub uni-ellipsis-2">
-                      <view class="form-group">
-                        <label class="form-label lab">浜х嚎:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.line"/>
-                      </view>
-                    </view>
-
-                    <view class="uni-title-sub uni-ellipsis-2">
-                      <view class="form-group">
-                        <label class="form-label lab">鐗╂枡缂栫爜:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.itemNo"/>
-                      </view>
-                    </view>
-
-                    <view class="uni-title-sub uni-ellipsis-2">
-                      <view class="form-group">
-                        <label class="form-label">浜у搧鍚嶇О:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.daa003"/>
-                      </view>
-                    </view>
-
-                    <view class="uni-title-sub uni-ellipsis-2">
-                      <view class="form-group">
-                        <label class="form-label">瑙勬牸鍨嬪彿:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.daa004"/>
-                      </view>
-                    </view>
-
-                    <view class="uni-title-sub uni-ellipsis-2">
-                      <view class="form-group">
-                        <label class="form-label">宸ュ崟鏁伴噺:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.daa008"/>
-                      </view>
-                    </view>
-
-                    <view class="uni-note" style="color: red">
-                      <view class="form-group">
-                        <label class="form-label lab">鍒涘缓浜�:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.fName"/>
-                      </view>
-                    </view>
-
-                    <view class="uni-note" style="color: red">
-                      <view class="form-group">
-                        <label class="form-label lab">妫�楠屼汉:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.statusUser"/>
-                      </view>
-                    </view>
-
-                    <view class="uni-note" style="color: red">
-                      <view class="form-group">
-                        <label class="form-label lab">妫�娴嬬粨鏋�:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.result"/>
-                      </view>
-                    </view>
-                  </view>
-                </view>
-              </template>
-            </uni-list-item>
-          </uni-list>
-        </view>
-      </view>
-    </view>
-
-
-  </view>
+				<view class="card-actions">
+					<button v-if="item.activeTab==0" class="primary" @click="startInspection(item)">寮�濮嬫楠�</button>
+					<button v-if="item.activeTab==1" class="primary" @click="startInspection(item)">鏌ョ湅</button>
+				</view>
+			</view>
+		</view>
+	</view>
 </template>
 
 <script>
-export default {
-  components: {},
-  data() {
-    return {
-      items: ['鏈畬鎴�', '宸插畬鎴�'],
-      current: 0,
-      data: [],
-      tipShow: false // 鏄惁鏄剧ず椤堕儴鎻愮ず妗�
-    };
-  },
-  onLoad() {
-    //椤甸潰鍔犺浇鏃惰皟鐢ㄧ殑浜嬩欢
-    this.init();
-  },
-  methods: {
-    init() {
-      let result = "鏈畬鎴�";
-      if (this.current === 1) {
-        result = "宸插畬鎴�";
-      }
-      //椤甸潰鍔犺浇鏃惰皟鐢ㄧ殑浜嬩欢
-      this.$post({
-        url: "/SJ/GetPage",
-        data: {
-          pageIndex: 1,
-          limit: 20,
-          statusUser: this.$loginInfo.account,
-          result: result
-        }
-      }).then(res => {
-        this.data = res.data.tbBillList;
-      })
-    },
-    handleFabClick() {
-      uni.navigateTo({
-        url: 'Add?id'
-      });
-    },
-    onClickItem(index) {
-      if (this.current !== index.currentIndex) {
-        this.current = index.currentIndex;
-        this.init();
-      }
-    },
-  },
-  /**
-   * 涓嬫媺鍒锋柊鍥炶皟鍑芥暟
-   */
-  onPullDownRefresh() {
-    //閲嶆柊鎵ц涓�閬嶆煡璇�
-    this.init();
-    this.tipShow = true;
-    //鍏抽棴鍔ㄧ敾
-    uni.stopPullDownRefresh();
+	export default {
+		data() {
+			return {
+				projectIndex: 0,
+				optionsIndex: 0,
+				projects: ['褰撳墠', '鍏ㄩ儴'],
+				activeTab: 0, // 0-鏈楠�, 1-宸叉楠�
+				uncheckedCount: 0,
+				checkedCount: '宸叉楠�',
+				inspectionList: [],
+				pageIndex: 1,
+				limit: 20,
+				IQCJL: 0,
+				options: ['椤圭洰', '鐗╂枡缂栧彿', '鐗╂枡鍚嶇О', '渚涘簲鍟�', '閲囪喘鍛�'],
+				searchValue: ''
 
-    setTimeout(function () {
-      this.tipShow = false;
-    }, 3000);
-  },
-  /**
-   * 涓婃媺鍔犺浇鍥炶皟鍑芥暟
-   */
-  onReachBottom() {
-    this.init();
-  },
-  onShow() {
-    //姣忔杩涘叆椤甸潰閮戒細鎵ц鐨勬柟娉�
-    this.init();
-  }
-};
+			}
+		},
+		onLoad() {
+			//椤甸潰鍔犺浇鏃惰皟鐢ㄧ殑浜嬩欢
+			this.init();
+		},
+		methods: {
+			init() {
+
+				let result = "鏈畬鎴�";
+				if (this.activeTab === 1) {
+					result = "宸插畬鎴�";
+				}
+
+				if (this.isLoading) return; // 濡傛灉姝e湪鍔犺浇鍒欎笉缁х画鎵ц
+
+				this.isLoading = true;
+
+				//鑾峰彇褰撳墠鐧诲綍鐨勭敤鎴�
+				let userName = this.$loginInfo.account;
+
+
+				//椤甸潰鍔犺浇鏃惰皟鐢ㄧ殑浜嬩欢
+				this.$post({
+					url: "/SJ/GetPage",
+					data: {
+					  pageIndex: this.pageIndex ,
+					  limit: 20,
+					  statusUser: this.$loginInfo.account,
+					  result: result
+					}
+				}).then(res => {
+					 
+					if (this.pageIndex === 1) {
+						// 濡傛灉鏄涓�椤碉紝鐩存帴瑕嗙洊鍘熸暟鎹�
+						this.inspectionList = res.data.tbBillList;
+						//娣诲姞Tab淇℃伅锛屽垽鏂槸宸叉杩樻槸鏈鏁版嵁
+						this.inspectionList.forEach((item, index) => {
+							this.$set(item, 'activeTab', this.activeTab);
+							this.$set(item, 'IQCJL', this.IQCJL);
+						});
+					} else {
+
+						if (res.data.tbBillList.length > 0) {
+							// 濡傛灉鏄笅涓�椤碉紝杩藉姞鏂版暟鎹�
+							this.inspectionList = [...this.inspectionList, ...res.data.tbBillList];
+							//娣诲姞Tab淇℃伅锛屽垽鏂槸宸叉杩樻槸鏈鏁版嵁
+							this.inspectionList.forEach((item, index) => {
+								this.$set(item, 'activeTab', this.activeTab);
+								this.$set(item, 'IQCJL', this.IQCJL);
+							});
+						}
+
+					}
+					console.log(this.inspectionList)
+					this.totalCount = res.data.totalCount;
+					this.totalPage = Math.ceil(this.totalCount / this.limit);
+
+					this.noData = this.pageIndex >= this.totalPage;
+					this.isLoading = false; // 缁撴潫鍔犺浇
+					if (this.activeTab === 1) {
+						// this.checkedCount = '宸叉楠岋紙' + res.totalCount + '锛�';
+						this.checkedCount = '宸叉楠�';
+					} else {
+						this.uncheckedCount = res.totalCount;
+					}
+				}).catch(() => {
+					this.isLoading = false; // 鍑虹幇閿欒鏃剁粨鏉熷姞杞�
+				});
+			},
+			switchTab(index) {
+				this.activeTab = index
+				// 杩欓噷鍙互娣诲姞鍒囨崲鏍囩椤电殑閫昏緫
+				this.inspectionList = [];
+				this.init();
+			},
+			//璺宠浆妫�楠屽崟
+			startInspection(item) {
+				 
+				if (this.activeTab === 1) {
+					uni.navigateTo({
+						url: 'Add?id=' + item.id + '&current=B'
+					})
+				} else {
+					uni.navigateTo({
+						url: 'Add?id=' + item.id + '&current=A'
+					})
+				}
+
+			},
+			/**
+			 * 涓嬫媺鍒锋柊鍥炶皟鍑芥暟
+			 */
+			onPullDownRefresh() {
+
+				this.pageIndex = 1;
+				//閲嶆柊鎵ц涓�閬嶆煡璇�
+				this.init();
+				// this.tipShow = true;
+				//鍏抽棴鍔ㄧ敾
+				uni.stopPullDownRefresh();
+
+				// setTimeout(function () {
+				//   this.tipShow = false;
+				// }, 6000);
+
+			},
+			/**
+			 * 涓婃媺鍔犺浇鍥炶皟鍑芥暟
+			 */
+			onReachBottom() {
+				if (this.noData || this.isLoading) return;
+				this.pageIndex++;
+				this.init(); // 鍔犺浇鏇村鏁版嵁
+			},
+			onShow() {
+				//姣忔杩涘叆椤甸潰閮戒細鎵ц鐨勬柟娉�
+				// this.pageIndex = 1;
+				// this.data = [];
+				// //this.current = 0
+				this.init();
+			}
+		}
+	}
 </script>
 
-<style lang="scss">
-@import '@/common/uni-ui.scss';
+<style scoped>
+	/* 鍩虹鏍峰紡閲嶇疆 */
+	.inspection-app {
+		padding: 10px;
+		background-color: #f5f7fa;
+		min-height: 100vh;
+	}
 
-.uni-note {
-  margin-top: 0;
+	/* 椤堕儴绛涢�夊尯 */
+	.filter-section {
+		margin-bottom: 24px;
+	}
+
+	.filter-section h1 {
+		font-size: 24px;
+		font-weight: 600;
+		color: #2c3e50;
+		margin-bottom: 16px;
+	}
+
+	/* 鏂板鎼滅储妗嗘牱寮� */
+	.search-container {
+		display: flex;
+		flex: 1;
+		margin: 0 10px;
+		height: 36px;
+		/* 涓庡叾浠栨帶浠堕珮搴︿竴鑷� */
+	}
+
+	.search-input {
+		flex: 1;
+		padding: 8px 12px;
+		border: 1px solid #ddd;
+		border-radius: 4px 0 0 4px;
+		font-size: 14px;
+		background-color: white;
+	}
+
+	.search-button {
+		padding: 0 12px;
+		border: 1px solid #3498db;
+		border-radius: 0 4px 4px 0;
+		background-color: #3498db;
+		color: white;
+		font-size: 14px;
+		margin: 0;
+	}
+
+	/* .filter-controls {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  flex-wrap: wrap;
+  gap: 16px;
 }
 
-/* Set the input backgrounds to be gray */
-.form-input {
-  background-color: #f2f2f2; /* Or any other shade of gray you prefer */
-}
-
-/* Ensure automatic adaptation based on page size */
-.form-group {
+.dropdown-filter {
   display: flex;
   align-items: center;
-}
+  gap: 8px;
+} */
+	.filter-controls {
+		display: flex;
+		flex-wrap: wrap;
+		gap: 10px;
+	}
 
-.form-label {
-  margin-bottom: 0;
-  border-bottom: 1px solid #FFFFFF;
-  padding: 5px;
-  font-size: 12px;
-  width: 60px;
-  /* Adjust the font size as per your requirement */
-}
+	.dropdown-filter {
+		min-width: 70px;
+	}
 
-.form-input {
-  flex: 1;
-  margin-bottom: 0;
-  border-bottom: 1px solid #c7c7c7;
-  padding: 5px;
-  font-size: 12px;
-  background-color: #FFFFFF;
-  /* Adjust the font size as per your requirement */
-}
+	.filter-label {
+		font-size: 14px;
+		color: #7f8c8d;
+	}
 
-.plus-button {
-  position: fixed;
-  bottom: 20px;
-  right: 20px;
-  width: 60px;
-  height: 60px;
-  border-radius: 50%;
-  background-color: #007bff;
-  color: #ffffff;
-  text-align: center;
-  line-height: 59px;
-  font-size: 24px;
-  cursor: pointer;
-  z-index: 1000;
-  margin-bottom: 35px;
-}
+	.picker {
+		padding: 8px 12px;
+		border: 1px solid #ddd;
+		border-radius: 4px;
+		background-color: white;
+		font-size: 14px;
+		min-width: 120px;
+	}
 
-page {
-  display: flex;
-  flex-direction: column;
-  box-sizing: border-box;
-  background-color: #efeff4;
-  min-height: 100%;
-  height: auto;
-}
+	.status-tabs {
+		display: flex;
+		border-radius: 4px;
+		overflow: hidden;
+		background-color: #ecf0f1;
+	}
 
-.tips {
-  color: #67c23a;
-  font-size: 14px;
-  line-height: 40px;
-  text-align: center;
-  background-color: #f0f9eb;
-  height: 0;
-  opacity: 0;
-  transform: translateY(-100%);
-  transition: all 0.3s;
-}
+	.status-tabs {
+		flex: 1;
+		min-width: 200px;
+	}
 
-.tips-ani {
-  transform: translateY(0);
-  height: 40px;
-  opacity: 1;
-}
+	.tab-button {
+		padding: 0px 16px;
+		border: none;
+		background: none;
+		font-size: 14px;
+		transition: all 0.3s;
+		margin: 0;
+		height: 35px;
+	}
 
-.content {
-  width: 100%;
-}
+	.tab-button.active {
+		background-color: #3498db;
+		color: white;
+	}
 
-.list-picture {
-  width: 100%;
-  height: 145px;
-}
+	/* 妫�楠屽崟鍒楄〃 */
+	.inspection-list {
+		display: flex;
+		flex-direction: column;
+		gap: 20px;
+	}
 
-.thumb-image {
-  width: 100%;
-  height: 100%;
-}
+	/* 妫�楠屽崟鍗$墖 */
+	.inspection-card {
+		background-color: white;
+		border-radius: 8px;
+		box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
+		overflow: hidden;
+		transition: all 0.3s;
+	}
 
-.ellipsis {
-  display: flex;
-  overflow: hidden;
-}
+	.card-header {
+		padding: 16px;
+		border-bottom: 1px solid #eee;
+		display: flex;
+		align-items: center;
+	}
 
-.uni-ellipsis-1 {
-  overflow: hidden;
-  white-space: nowrap;
-  text-overflow: ellipsis;
-}
+	.card-title {
+		font-size: 16px;
+		font-weight: 600;
+		flex: 1;
+		margin: 0 8px;
+	}
 
-.uni-ellipsis-2 {
-  overflow: hidden;
-  text-overflow: ellipsis;
-  display: -webkit-box;
-  -webkit-line-clamp: 2;
-  -webkit-box-orient: vertical;
-}
+	.badge {
+		font-size: 12px;
+		padding: 2px 6px;
+		border-radius: 10px;
+		margin-right: 8px;
+	}
+
+	.badge.urgent {
+		background-color: #e74c3c;
+		color: white;
+	}
+
+	.badge.normal {
+		background-color: #ffaa00;
+		color: white;
+	}
+
+	.status {
+		font-size: 12px;
+		padding: 4px 8px;
+		border-radius: 4px;
+		font-weight: 500;
+	}
+
+	.status.pending {
+		background-color: #f39c12;
+		color: white;
+	}
+
+	.status.assigned {
+		background-color: #3498db;
+		color: white;
+	}
+
+	.status.pass {
+		background-color: #00cd00;
+		color: white;
+	}
+
+	.status.Unqualified {
+		background-color: #ff0000;
+		color: white;
+	}
+
+	.card-body {
+		padding: 16px;
+	}
+
+	.info-row {
+		display: flex;
+		margin-bottom: 12px;
+		gap: 16px;
+	}
+
+	.info-item {
+		flex: 1;
+	}
+
+	.info-label {
+		display: block;
+		font-size: 12px;
+		color: #7f8c8d;
+		margin-bottom: 4px;
+	}
+
+	.info-content {
+		font-size: 14px;
+		color: #2c3e50;
+		line-height: 1.5;
+	}
+
+	.highlight {
+		font-weight: 600;
+		color: #2c3e50;
+		font-size: 16px;
+	}
+
+	.meta-info {
+		display: flex;
+		gap: 16px;
+		font-size: 12px;
+		color: #95a5a6;
+		margin-top: 12px;
+	}
+
+	.meta-item {
+		display: flex;
+		align-items: center;
+		gap: 4px;
+	}
+
+	.card-actions {
+		padding: 12px 16px;
+		border-top: 1px solid #eee;
+		display: flex;
+		gap: 8px;
+	}
+
+	button {
+		padding: 8px 16px;
+		border: 1px solid #ddd;
+		border-radius: 4px;
+		background-color: white;
+		font-size: 14px;
+		transition: all 0.2s;
+		flex: 1;
+	}
+
+	button.primary {
+		background-color: #3498db;
+		color: white;
+		border-color: #2980b9;
+	}
+
+	/* 鍝嶅簲寮忚璁� */
+	@media (min-width: 768px) {
+		.inspection-list {
+			display: grid;
+			grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
+		}
+
+		.info-row {
+			flex-direction: row;
+		}
+
+	}
+
+	/* 鍝嶅簲寮忚璁� */
+	@media (min-width: 300px) {
+		.inspection-list {
+			display: grid;
+			grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
+		}
+
+		.info-row {
+			flex-direction: row;
+		}
+
+		.picker {
+			padding: 8px 12px;
+			border: 1px solid #ddd;
+			border-radius: 4px;
+			background-color: white;
+			font-size: 14px;
+			min-width: 10px;
+		}
+
+		/*   .search-container {
+      order: 3;
+      width: 100%;
+      margin: 0px 0 0 0;
+    }
+    
+    .status-tabs {
+      order: 4;
+      width: 100%;
+    } */
+	}
 </style>
\ No newline at end of file
diff --git a/pages/QC/SJ/detail.vue b/pages/QC/SJ/detail.vue
index 4de2ef6..2cde35f 100644
--- a/pages/QC/SJ/detail.vue
+++ b/pages/QC/SJ/detail.vue
@@ -1,438 +1,751 @@
 <template>
-  <view>
-    <view class="form-container">
-      <form :modelValue="formData">
-        <view class="form-group">
-          <label class="form-label">椤圭洰鍚嶇О:</label>
-          <input class="form-input" disabled="true" type="text" v-model="formData.projName"/>
-        </view>
-        <view class="form-group">
-          <label class="form-label">璐ㄩ噺瑕佹眰:</label>
-          <input class="form-input" disabled="true" type="text" v-model="formData.itemMod"/>
-        </view>
-        <view class="form-group">
-          <label class="form-label">妫�楠屾柟娉�:</label>
-          <input class="form-input" disabled="true" type="text" v-model="formData.inspectionMethod"/>
-        </view>
-        <view class="form-group">
-          <label class="form-label">浣跨敤浠〃:</label>
-          <input class="form-input" disabled="true" type="text" v-model="formData.usingInstruments"/>
-        </view>
-        <view class="form-group">
-          <label class="form-label">妫�楠屾暟:</label>
-          <input class="form-input" disabled="true" type="text" v-model="formData.levelNum"/>
-        </view>
-        <view class="form-group">
-          <label class="form-label">涓嬮檺:</label>
-          <input class="form-input" disabled="true" type="text" v-model="formData.minValue"/>
-        </view>
-        <view class="form-group">
-          <label class="form-label">鏍囧噯鍊�:</label>
-          <input class="form-input" disabled="true" type="text" v-model="formData.standardValue"/>
-        </view>
-        <view class="form-group">
-          <label class="form-label">涓婇檺:</label>
-          <input class="form-input" disabled="true" type="text" v-model="formData.maxValue"/>
-        </view>
-        <view class="form-group">
-          <label class="form-label">鏇存柊浜�:</label>
-          <input class="form-input" disabled="true" type="text" v-model="formData.updater"/>
-        </view>
-        <view class="form-group">
-          <label class="form-label">鏇存柊鏃堕棿:</label>
-          <input class="form-input" disabled="true" type="text" v-model="formData.updateTime"/>
-        </view>
-        <view class="form-group">
-          <label class="form-label">棰勮缁撴灉:</label>
-          <input class="form-input" disabled="true" type="text" v-model="formData.result"/>
-        </view>
-        <view class="form-group">
-          <label class="form-label">涓嶅悎鏍兼弿杩�:</label>
-          <input class="form-input" disabled="true" type="text" v-model="formData.remarks"/>
-        </view>
-        <view class="form-group edit">
-          <input class="form-input" style="color: red" disabled="true" type="text"
-                 value="娌℃湁鏈�澶у�煎拰鏈�灏忓�兼椂濉啓0锛堟湭閫氳繃妫�楠岋級鎴�1锛堥�氳繃妫�楠岋級"/>
-        </view>
-        <view class="form-group edit">
-          <label class="form-label">妫�娴嬬粨鏋�:</label>
-          <input class="form-input" type="number" v-model="formData.fcheckResu"/>
-        </view>
-        <button type="primary" v-if="tableData.length < formData.levelNum" @click="submit">淇濆瓨</button>
-      </form>
-    </view>
-    <view>
-      <img v-if="isShowImg" :src="base64Image" style="width:100%" @click="previewImage"/>
-    </view>
-    <view class="list-container">
-      <uni-table ref="table" border emptyText="鏆傛棤鏇村鏁版嵁">
-        <uni-tr>
-          <uni-th align="center" style="color: #FFFFFF;background-color: lightskyblue;">缂栧彿</uni-th>
-          <uni-th align="center" style="color: #FFFFFF;background-color: lightskyblue;">鍒ゅ畾鏍囪瘑</uni-th>
-          <uni-th align="center" style="color: #FFFFFF;background-color: lightskyblue;">妫�楠岀粨鏋�</uni-th>
-          <uni-th width="150" align="center" style="color: #FFFFFF;background-color: lightskyblue;">淇敼</uni-th>
-        </uni-tr>
-        <uni-tr v-for="(item, index) in tableData" :key="index">
-          <uni-td align="center">
-            {{ index + 1 }}
-          </uni-td>
-          <uni-td align="center">
-            <input class="form-input" disabled="true" type="text" v-model="item.fstand"/>
-          </uni-td>
-          <uni-td align="center">
-            <input class="form-input" disabled="true" type="text" v-model="item.fcheckResu"/>
-          </uni-td>
-          <uni-td>
-            <view class="uni-group edit">
-              <button type="warn" v-if="isNumber" @click="toDetail(item)">淇敼</button>
-              <button type="warn" v-if="!isNumber" @click="numberEdit(item)">{{ editResult(item.fcheckResu) }}</button>
-            </view>
-          </uni-td>
-        </uni-tr>
-      </uni-table>
-    </view>
+	<view class="container">
+		<!-- 澶撮儴 -->
+		<view class="header">
+			<view class="title">棣栨妫�楠岄」鐩槑缁�</view>
+			<view class="order-number">褰撳墠妫�楠屽崟鍙�: {{releaseNo}}</view>
+		</view>
 
-    <view class="plus-button">
-      <button type="warn" @click="saveRemarks">娣诲姞涓嶅悎鏍兼弿杩�</button>
-    </view>
+		<!-- 鏍囩鏍� -->
+		<view class="tabs">
+			<view v-for="(tab, index) in tabs" :key="index" class="tab" :class="{active: currentTab === index}"
+				@tap="switchTab(index,tab.id)">
+				{{ tab.projName }}
+			</view>
+		</view>
+		<view class="tab-content">
+			<!-- 鍩烘湰淇℃伅 -->
+			<view class="section">
+				<view class="section-header">鍩烘湰淇℃伅</view>
+				<view class="section-body">
+					<view class="info-grid">
+						<view class="info-item">
+							<view class="info-label">椤圭洰鍚嶇О</view>
+							<view class="info-value">{{ formData.projName }}</view>
+						</view>
+						<view class="info-item">
+							<view class="info-label">浣跨敤浠〃</view>
+							<view class="info-value">{{ formData.usingInstruments }}</view>
+						</view>
+						<view class="info-item">
+							<view class="info-label">妫�楠屾暟閲�</view>
+							<view class="info-value">{{ formData.levelNum }}</view>
+						</view>
 
-    <view v-if="remarksPopup" class="overlay">
-      <view class="popup">
-        <h3>淇敼涓嶅悎鏍兼弿杩�</h3>
-        <form>
-          <view class="form-group">
-            <label class="form-label">涓嶅悎鏍兼弿杩�:</label>
-            <input class="form-input" type="text" v-model="remarks"/>
-          </view>
-          <button type="warn" @click="editRemarks">淇敼</button>
-          <button @click="remarksPopup = !remarksPopup">鍙栨秷</button>
-        </form>
-      </view>
-    </view>
+						<view v-if="formData.minValue!=null" class="info-item">
+							<view class="info-label">涓嬮檺</view>
+							<view class="info-value">{{ formData.minValue }}</view>
+						</view>
+						<view v-if="formData.standardValue!=null" class="info-item">
+							<view class="info-label">鏍囧噯鍊�</view>
+							<view class="info-value">{{ formData.standardValue }}</view>
+						</view>
+						<view v-if="formData.maxValue!=null" class="info-item">
+							<view class="info-label">涓婇檺</view>
+							<view class="info-value">{{ formData.maxValue }}</view>
+						</view>
+					</view>
+				</view>
+			</view>
 
-    <view v-if="showPopup" class="overlay">
-      <view class="popup">
-        <h3>淇敼妫�楠岀粨鏋�</h3>
-        <form :modelValue="editData">
-          <view class="form-group">
-            <label class="form-label">妫�楠岀粨鏋�:</label>
-            <input class="form-input" type="text" v-model="editData.fcheckResu"/>
-          </view>
-          <button type="warn" @click="eidt">淇敼</button>
-          <button @click="showPopup = !showPopup">鍙栨秷</button>
-        </form>
-      </view>
-    </view>
-  </view>
+			<!-- 瑙勬牸瑕佹眰 -->
+			<view class="section">
+				<view class="section-header">璐ㄩ噺瑕佹眰</view>
+				<view class="section-body">
+					<text class="spec-text">{{ formData.itemMod }}</text>
+				</view>
+			</view>
+			<!-- 瑙勬牸瑕佹眰 -->
+			<view class="section">
+				<view class="section-header">妫�楠屾弿杩�</view>
+				<view class="section-body">
+					<text class="spec-text">{{ formData.inspectionMethod }}</text>
+				</view>
+			</view>
+			<!-- 妫�楠岀粨鏋� -->
+			<view class="section">
+				<view class="section-header">妫�楠岀粨鏋�</view>
+				<view class="section-body">
+					<view v-if="formData.result!=null" class="result-preview">
+						<view class="info-label">棰勮缁撴灉</view>
+						<view class="info-value"><b>{{formData.result}}</b></view>
+					</view>
+
+					<view v-if="formData.remarks!=null" class="result-ng">
+						<view class="info-label">涓嶈壇鎻忚堪</view>
+						<view class="info-value danger">{{formData.remarks}}</view>
+					</view>
+				</view>
+			</view>
+
+			<!-- 缁撴灉褰曞叆 -->
+			<view class="section">
+				<view class="section-header">妫�楠岀粨鏋滃綍鍏�</view>
+				<view class="section-body">
+					<view class="input-group input1">
+						<view class="input-wrapper">
+
+							<button class="btn upload-btn" @tap="chooseImage">
+								<uni-icons type="upload" size="16" color="#fff"></uni-icons>
+								涓婁紶/鏌ョ湅鍥剧墖
+							</button>
+							<button v-if="this.current" class="btn upload-btn" @tap="upRemarks">
+								<uni-icons type="compose" size="16" color="#fff"></uni-icons>
+								涓嶈壇鎻忚堪
+							</button>
+							<input v-if="(tableData.length < formData.levelNum)" @input="search($event)"
+								v-model="inputTxt" type="text" class="result-input" placeholder="璇疯緭鍏ユ楠岀粨鏋�..."
+								placeholder-class="placeholder" />
+							<button v-if="(tableData.length < formData.levelNum)"
+								style="margin: 0px;background-color: #3498db;color:#ffffff ;" class="btn primary-btn"
+								@tap="saveResult">淇濆瓨缁撴灉</button>
+						</view>
+					</view>
+
+					<view class="input-group input2">
+						<view class="input-wrapper">
+
+							<button class="btn upload-btn" @tap="chooseImage">
+								<uni-icons type="upload" size="16" color="#fff"></uni-icons>
+								涓婁紶/鏌ョ湅鍥剧墖
+							</button>
+							<button v-if="this.current" class="btn upload-btn" @tap="upRemarks">
+								<uni-icons type="compose" size="16" color="#fff"></uni-icons>
+								涓嶈壇鎻忚堪
+							</button>
+						</view>
+						<view class="input-wrapper" style="margin-top: 15px;">
+
+							<input v-if="(tableData.length < formData.checkQyt)" @input="search($event)"
+								v-model="inputTxt" type="text" class="result-input" placeholder="璇疯緭鍏ユ楠岀粨鏋�..."
+								placeholder-class="placeholder" />
+							<button v-if="(tableData.length < formData.checkQyt)"
+								style="margin: 0px;background-color: #3498db;color:#ffffff ;" class="btn primary-btn"
+								@tap="saveResult">淇濆瓨缁撴灉</button>
+						</view>
+					</view>
+				</view>
+			</view>
+
+			<!-- 缁撴灉琛ㄦ牸 -->
+			<view v-if="tableData.length>0" class="table-container">
+				<view class="table-header">
+					<view class="th">缂栧彿</view>
+					<view class="th">妫�楠岀粨鏋�<i style="color: rgb(0 212 68);"
+							v-if="!(tableData.length < formData.levelNum)">锛堣緭鍏ュ凡瀹屾垚锛�</i></view>
+					<view class="th" v-if="current">鎿嶄綔</view>
+				</view>
+
+				<view v-for="(item, index) in tableData" :key="index" class="table-row">
+					<view class="td">{{ index + 1 }}</view>
+					<view v-if="!isNumber" class="td">
+						<view :class="['result-badge', 'OK']" v-if="item.fcheckResu==1">
+							OK
+						</view>
+						<view :class="['result-badge', 'NG']" v-if="item.fcheckResu==0">
+							NG
+						</view>
+					</view>
+					<view v-if="isNumber" class="td">
+						<view :class="['result-badge', item.fcheckResu]">
+							{{ item.fcheckResu }}
+						</view>
+					</view>
+					<view class="td" v-if="current">
+						<button v-if="!isNumber" class="btn danger-btn" @tap="toggleResult(item)">
+							{{ editResult(item.fcheckResu) }}
+						</button>
+						<button v-if="isNumber" class="btn danger-btn" @tap="toDetail(item)">
+							淇敼
+						</button>
+					</view>
+				</view>
+			</view>
+			<view v-if="remarksPopup" class="overlay">
+				<view class="popup">
+					<h3>淇敼涓嶅悎鏍兼弿杩�</h3>
+					<form>
+						<view class="form-group">
+							<label class="form-label">涓嶅悎鏍兼弿杩�:</label>
+							<input class="form-input" type="text" v-model="remarks" />
+						</view>
+						<button class="updateBut" type="warn" @click="editRemarks">淇敼</button>
+						<button @click="remarksPopup = !remarksPopup">鍙栨秷</button>
+					</form>
+				</view>
+			</view>
+			<view v-if="showPopup" class="overlay">
+				<view class="popup">
+					<h3>淇敼妫�楠岀粨鏋�</h3>
+					<form :modelValue="editData">
+						<view class="form-group">
+							<label class="form-label">妫�楠岀粨鏋�:</label>
+							<input class="form-input" type="text" v-model="editData.fcheckResu" />
+						</view>
+						<button type="warn" @click="eidt">淇敼</button>
+						<button @click="showPopup = !showPopup">鍙栨秷</button>
+					</form>
+				</view>
+			</view>
+
+		</view>
+	</view>
 </template>
 
 <script>
-export default {
-  data() {
-    return {
-      formData: {},
-      isNumber: false,
-      checkItem: "",
-      id: 0,
-      gid: 0,
-      billNo: "",
-      showPopup: false,
-      editData: {},
-      tableData: [],
-      base64Image: "",
-      isShowImg: false,
-      remarks: "",
-      remarksPopup: false,
-    }
-  },
-  methods: {
+	import {
+		compile
+	} from "vue";
 
-    previewImage() {
-      uni.previewImage({
-        urls: [this.base64Image],
-      });
-    },
-    editResult(fcheckResu) {
-      if (fcheckResu == '1') {
-        return "鏀逛负涓嶅悎鏍�";
-      } else {
-        return "鏀逛负鍚堟牸";
-      }
-    },
-    submit() {
+	export default {
+		data() {
+			return {
+				formData: {},
+				tableData: {},
+				mainId: '',
+				isNumber: false,
+				currentTab: 0,
+				tabs: [],
+				inputResult: '',
+				remarksPopup: false,
+				showPopup: false,
+				editData: {},
+				inputTxt: '',
+				formID: '',
+				releaseNo: '',
+				current: false
+			}
+		},
+		methods: {
+			switchTab(index, mainIds) {
+				this.currentTab = index
+				this.mainId = mainIds;
+				this.refreshResult();
+			},
+			//妫�娴嬭緭鍏ユ鐨勮緭鍏ワ紝骞剁粰鍙橀噺璧嬪��
+			search(event) {
+				this.formData.fcheckResu = event.detail.value;
+			},
+			toggleResult(item) {
+				let fstand = "鈭�";
+				let fcheckResu = 1;
 
-      let count = this.formData.levelNum;
-      let fstand = "鈭�";
+				if (item.fcheckResu == '1') {
+					fstand = "脳";
+					fcheckResu = 0;
+				}
 
-      //鏈夋渶澶у�煎拰鏈�灏忓�煎氨鏍规嵁鏄惁绗﹀悎鏍囧噯鍊兼洿鏂板垽瀹氱粨鏋滐紝娌℃湁鏈�澶у�煎拰鏈�灏忓�煎氨鏍规嵁鏄惁閫氳繃妫�楠屽垽瀹氱粨鏋�
-      if (this.formData.maxValue && this.formData.minValue) {
+				this.$post({
+					url: "/SJ/UpdateQSItemDetail",
+					data: {
+						id: item.id,
+						pid: item.pid,
+						gid: item.gid,
+						fstand: fstand,
+						fcheckResu: fcheckResu,
+						updateBy: this.$loginInfo.account,
+					}
+				}).then(res => {
+					this.$showMessage("淇敼鎴愬姛");
+					this.refreshResult(); //鍒锋柊椤甸潰
+				})
+			},
+			chooseImage() {
+				uni.navigateTo({
+					url: 'ImageItem?id=' + this.formData.id
+				});
+			},
+			upRemarks() {
+				this.remarksPopup = true;
+			},
+			saveResult() {
+				let count = this.formData.levelNum;
+				let fstand = "鈭�";
 
-        if (!this.formData.fcheckResu) {
-          this.$showMessage("璇疯緭鍏ユ楠屽��");
-          return;
-        }
+				//鏈夋渶澶у�煎拰鏈�灏忓�煎氨鏍规嵁鏄惁绗﹀悎鏍囧噯鍊兼洿鏂板垽瀹氱粨鏋滐紝娌℃湁鏈�澶у�煎拰鏈�灏忓�煎氨鏍规嵁鏄惁閫氳繃妫�楠屽垽瀹氱粨鏋�
+				if (this.formData.maxValue && this.formData.minValue) {
 
-        if (this.formData.fcheckResu >= this.formData.minValue && this.formData.fcheckResu <= this.formData.maxValue) {
-          fstand = "鈭�"
-        } else {
-          fstand = "脳";
-        }
-        count = 1;
-      } else {
+					if (!this.formData.fcheckResu) {
+						this.$showMessage("璇疯緭鍏ユ楠屽��");
+						return;
+					}
 
-        if (!this.formData.fcheckResu) {
-          this.formData.fcheckResu = 1
-        }
+					if (this.formData.fcheckResu >= this.formData.minValue && this.formData.fcheckResu <= this.formData
+						.maxValue) {
+						fstand = "鈭�"
+					} else {
+						fstand = "脳";
+					}
+					count = 1;
+				} else {
 
-        if (this.formData.fcheckResu == 0 || this.formData.fcheckResu == 1) {
-          this.formData.isPass = this.formData.fcheckResu
-        } else {
-          this.$showMessage("鏃犳爣鍑嗗�兼椂锛屾楠岀粨鏋滃彧鑳戒负0鎴�1!");
-          return;
-        }
-        count = count - this.tableData.length;
-      }
+					if (!this.formData.fcheckResu) {
+						this.formData.fcheckResu = 1
+					}
 
-      this.formData.updater = this.$loginInfo.account;
+					if (this.formData.fcheckResu == 0 || this.formData.fcheckResu == 1) {
+						this.formData.isPass = this.formData.fcheckResu
+					} else {
+						this.$showMessage("鏃犳爣鍑嗗�兼椂锛屾楠岀粨鏋滃彧鑳戒负0鎴�1!");
+						return;
+					}
+					count = count - this.tableData.length;
+				}
 
-      this.$post({
-        url: "/SJ/SetQSItemDetail",
-        data: {
-          pid: this.id,
-          gid: this.gid,
-          fstand: fstand,
-          fcheckResu: this.formData.fcheckResu,
-          updateBy: this.formData.updater,
-          count: count
-        }
-      }).then(res => {
-        this.formData.fcheckResu = null;
-        this.$showMessage("淇濆瓨鎴愬姛");
-        this.refreshResult();
-      })
+				this.formData.updater = this.$loginInfo.account;
 
-    },
-    refreshResult() {
-      this.$post({
-        url: "/SJ/getQSItems",
-        data: {
-          id: this.id
-        }
-      }).then(res => {
-        this.formData = res.data.tbBillList[0];
-        this.formData.billNo = this.billNo;
-        if (this.formData.imageData) {
-          this.isShowImg = true;
-          this.base64Image = 'data:image/jpeg;base64,' + this.formData.imageData;
-        }
-        if (this.formData.maxValue && this.formData.minValue && this.formData.standardValue) {
-          this.isNumber = true;
-        }
-      })
+				this.$post({
+					url: "/SJ/SetQSItemDetail",
+					data: {
+						pid: this.mainId,
+						gid: this.formID,
+						fstand: fstand,
+						fcheckResu: this.formData.fcheckResu,
+						updateBy: this.formData.updater,
+						count: count
+					}
+				}).then(res => {
+					this.formData.fcheckResu = null;
+					this.$showMessage("淇濆瓨鎴愬姛");
+					this.refreshResult();
+				})
 
-      this.$post({
-        url: "/SJ/getQSItemDetail",
-        data: {
-          pid: this.id,
-          gid: this.gid
-        }
-      }).then(res => {
-        this.tableData = res.data.tbBillList;
-      })
-    },
-    toDetail(item) {
-      this.showPopup = !this.showPopup;
-      this.editData = item;
-    },
-    eidt() {
 
-      if (!this.editData.fcheckResu) {
-        this.$showMessage("璇疯緭鍏ユ楠岀粨鏋�");
-      }
+			},
+			goBack() {
+				uni.navigateBack()
+			},
+			//鑾峰彇妫�楠屽崟璇︽儏
+			refreshResult() {
+				this.$post({
+					url: "/SJ/getQSItems",
+					data: {
+						id: this.mainId
+					}
+				}).then(res => {
 
-      if (this.formData.fcheckResu == this.editData.fcheckResu) {
-        this.$showMessage("淇敼鎴愬姛");
-        return;
-      }
+					this.formData = res.data.tbBillList[0];
+					this.$post({
+						url: "/SJ/getQSItemDetail",
+						data: {
+							pid: this.mainId,
+							gid: this.formID
+						}
+					}).then(res => {
+						this.tableData = res.data.tbBillList;
+					})
+					// this.tableData = res.data.tbBillList.itemXj02s;
 
-      let fstand = "鈭�";
+					if (this.formData.imageData) {
+						this.isShowImg = true;
+						this.base64Image = 'data:image/jpeg;base64,' + this.formData.imageData;
+					}
 
-      if (this.formData.maxValue && this.formData.minValue) {
+					//fupAllow  fdownAllow  standardValue
+					if (this.formData.maxValue && this.formData.minValue && this.formData.standardValue) {
+						this.isNumber = true;
+					} else {
+						this.isNumber = false;
+					}
+				})
+			},
+			editResult(fcheckResu) {
+				if (fcheckResu == '1') {
+					return "鏀逛负涓嶅悎鏍�";
+				} else {
+					return "鏀逛负鍚堟牸";
+				}
+			},
+			toDetail(item) {
+				this.showPopup = !this.showPopup;
+				this.editData = item;
+			},
+			editRemarks() {
+				if (this.remarks) {
+					//saveRemarksGid
+					this.$post({
+						url: "/SJ/saveRemarksPid",
+						data: {
+							pid: this.formData.id,
+							remarks: this.remarks
+						}
+					}).then(res => {
+						if (res.data.tbBillList > 0) {
+							this.formData.remarks = this.remarks;
+							this.remarksPopup = !this.remarksPopup;
+							this.$showMessage("淇濆瓨鎴愬姛");
+						}
+					})
+				} else {
+					this.$post({
+						url: "/SJ/saveRemarksPid",
+						data: {
+							pid: this.formData.id,
+							remarks: ''
+						}
+					}).then(res => {
+						if (res.data.tbBillList > 0) {
+							this.formData.remarks = this.remarks;
+							this.remarksPopup = !this.remarksPopup;
+							this.$showMessage("淇濆瓨鎴愬姛");
+						}
+					})
+				}
+			},
+			eidt() {
 
-        if (!this.editData.fcheckResu) {
-          this.$showMessage("璇疯緭鍏ユ楠屽��");
-          return;
-        }
+				if (!this.editData.fcheckResu) {
+					this.$showMessage("璇疯緭鍏ユ楠岀粨鏋�");
+				}
 
-        if (this.editData.fcheckResu >= this.formData.minValue && this.editData.fcheckResu <= this.formData.maxValue) {
-          this.editData.isPass = 1
-        } else {
-          this.editData.isPass = 0
-          fstand = "脳";
-        }
-      } else {
+				if (this.formData.fcheckResu == this.editData.fcheckResu) {
+					this.$showMessage("淇敼鎴愬姛");
+					return;
+				}
 
-        if (!this.editData.fcheckResu) {
-          this.editData.fcheckResu = 1
-        }
+				let fstand = "鈭�";
 
-        if (this.editData.fcheckResu == 0 || this.editData.fcheckResu == 1) {
-          if (this.editData.fcheckResu == 0) {
-            fstand = "脳";
-          }
-        } else {
-          this.$showMessage("鏃犳爣鍑嗗�兼椂锛屾楠岀粨鏋滃彧鑳戒负0鎴�1!");
-          return;
-        }
-      }
+				if (this.formData.maxValue && this.formData.minValue) {
 
-      this.editData.updater = this.$loginInfo.account;
+					if (!this.editData.fcheckResu) {
+						this.$showMessage("璇疯緭鍏ユ楠屽��");
+						return;
+					}
 
-      this.$post({
-        url: "/SJ/UpdateQSItemDetail",
-        data: {
-          id: this.editData.id,
-          pid: this.id,
-          gid: this.gid,
-          fstand: fstand,
-          fcheckResu: this.editData.fcheckResu,
-          updateBy: this.editData.updater,
-        }
-      }).then(res => {
-        this.showPopup = !this.showPopup;
-        this.$showMessage("淇敼鎴愬姛");
-        this.refreshResult();//鍒锋柊椤甸潰
-      })
-    },
-    numberEdit(item) {
+					if (parseFloat(this.editData.fcheckResu) >= parseFloat(this.formData.fdownAllow) && parseFloat(this
+							.editData
+							.fcheckResu) <= parseFloat(this.formData.fupAllow)) {
+						this.editData.isPass = 1
+					} else {
+						this.editData.isPass = 0
+						fstand = "脳";
+					}
+				} else {
 
-      let fstand = "鈭�";
-      let fcheckResu = 1;
+					if (!this.editData.fcheckResu) {
+						this.editData.fcheckResu = 1
+					}
 
-      if (item.fcheckResu == '1') {
-        fstand = "脳";
-        fcheckResu = 0;
-      }
+					if (this.editData.fcheckResu == 0 || this.editData.fcheckResu == 1) {
+						if (this.editData.fcheckResu == 0) {
+							fstand = "脳";
+						}
+					} else {
+						this.$showMessage("鏃犳爣鍑嗗�兼椂锛屾楠岀粨鏋滃彧鑳戒负0鎴�1!");
+						return;
+					}
+				}
 
-      this.$post({
-        url: "/SJ/UpdateQSItemDetail",
-        data: {
-          id: item.id,
-          pid: item.pid,
-          gid: item.gid,
-          fstand: fstand,
-          fcheckResu: fcheckResu,
-          updateBy: this.$loginInfo.account,
-        }
-      }).then(res => {
-        this.$showMessage("淇敼鎴愬姛");
-        this.refreshResult(); //鍒锋柊椤甸潰
-      })
-    },
-    saveRemarks() {
-      this.remarksPopup = !this.remarksPopup;
-      this.remarks = this.formData.remarks;
-    },
-    editRemarks() {
-      if (this.remarks) {
-        //saveRemarksGid
-        this.$post({
-          url: "/SJ/saveRemarksPid",
-          data: {
-            pid: this.formData.id,
-            remarks: this.remarks
-          }
-        }).then(res => {
-          if (res.data.tbBillList > 0) {
-            this.formData.remarks = this.remarks;
-            this.remarksPopup = !this.remarksPopup;
-            this.$showMessage("淇濆瓨鎴愬姛");
-          }
-        })
-      }
-    }
-  },
-  onLoad(options) {
-//options涓寘鍚簡url闄勫甫鐨勫弬鏁�
-    let params = options;
+				this.editData.updater = this.$loginInfo.account;
 
-    this.id = params["id"];
-    this.billNo = params["billNo"];
-    this.gid = params["gid"];
-
-    this.refreshResult();
-  }
-}
+				this.$post({
+					url: "/SJ/UpdateQSItemDetail",
+					data: {
+						id: this.editData.id,
+						pid: this.mainId,
+						gid: this.formID,
+						fstand: fstand,
+						fcheckResu: this.editData.fcheckResu,
+						updateBy: this.editData.updater,
+					}
+				}).then(res => {
+					this.showPopup = !this.showPopup;
+					this.$showMessage("淇敼鎴愬姛");
+					this.refreshResult(); //鍒锋柊椤甸潰
+				})
+			},
+		},
+		onLoad(options) {
+			//options涓寘鍚簡url闄勫甫鐨勫弬鏁�
+			let params = options;
+			this.mainId = params["mainId"];
+			this.refreshResult();
+			this.formID = params["formID"];
+			this.releaseNo = params["releaseNo"];
+			this.currentTab = parseInt(params["index"]);
+			this.current = params["current"] === 'true' ? true : false;
+			this.$post({
+			url: "/SJ/getQSItems",
+			data: {
+				pid: this.formID
+			}
+			}).then(res1 => {
+				let tableData = res1.data.tbBillList
+				//褰撳凡妫�楠屼釜鏁伴兘涓嶄负绌烘椂鎸夌収妫�娴嬬粨鏋勬帓搴�
+				tableData.sort((a, b) => {
+					if (a.result === '鏈畬鎴�' && b.result === '鍚堟牸') {
+						return -1;
+					} else if (a.result === '鍚堟牸' && b.result === '鏈畬鎴�') {
+						return 1;
+					} else {
+						return 0;
+					}
+				});
+				this.tabs = tableData;
+				// if (this.tableData.length === 0) {
+				// 	this.isShowTable = true;
+				// }
+				this.tableData.forEach((item, index) => {
+					this.set(item, 'current', this.current);
+				});
+				console.log(this.tableData);
+			})
+		}
+	}
 </script>
 
-<style>
+<style lang="scss">
+	$primary-color: #409EFF;
+	$success-color: #67C23A;
+	$danger-color: #F56C6C;
+	$border-color: #DCDFE6;
+	$bg-color: #f5f7fa;
 
-.form-group {
-  display: flex;
-  align-items: center;
-  border: 1px solid #c9c9c9;
-  background-color: #d4d4d4;
-}
+	.container {
+		padding: 20px;
+		background-color: #fff;
+	}
 
-.form-label {
-  margin-bottom: 0;
-  padding: 5px;
-}
+	.header {
+		padding: 20px;
+		border-bottom: 1px solid $border-color;
+		background: linear-gradient(90deg, #f0f7ff, #e1f0ff);
 
-.form-input {
-  flex: 1;
-  margin-bottom: 0;
-  padding: 5px;
-}
+		.title {
+			font-size: 24px;
+			color: #333;
+			margin-bottom: 10px;
+		}
 
-/* 榛樿鏍峰紡 */
-.list-container {
-  height: calc(100vh - 750px);
-  /* 璁剧疆鍒楄〃瀹瑰櫒鐨勯珮搴︿负鍓╀綑绌洪棿锛屽苟鍑忓幓琛ㄥ崟瀹瑰櫒鐨勯珮搴� */
-  overflow-y: auto;
-  /* 鍏佽鍒楄〃瀹瑰櫒鍨傜洿婊氬姩 */
-  padding: 10px;
-  /* 鍙�夛細娣诲姞涓�浜涘唴杈硅窛锛屼娇鍒楄〃鍐呭鏇寸編瑙� */
-}
+		.order-number {
+			color: #666;
+			font-size: 14px;
+		}
+	}
 
-/* 鍦ㄥ皬灞忓箷璁惧涓婏紝閲嶇疆楂樺害涓洪�傚簲灞忓箷 */
-@media (max-width: 768px) {
-  .list-container {
-    height: calc(100vh - 485px);
-    /* 閫傚綋璋冩暣楂樺害 */
-  }
-}
+	.tabs {
+		display: flex;
+		background-color: $bg-color;
+		border-bottom: 1px solid $border-color;
 
-.form-container {
-  /* 璁剧疆琛ㄥ崟瀹瑰櫒鐨勯珮搴︼紝浣垮叾鍙互婊氬姩 */
-  overflow-y: auto;
-  /* 鍏佽琛ㄥ崟瀹瑰櫒鍨傜洿婊氬姩 */
-  padding: 10px;
-  /* 鍙�夛細娣诲姞涓�浜涘唴杈硅窛锛屼娇琛ㄥ崟鍐呭鏇寸編瑙� */
-}
+		.tab {
+			flex: 1;
+			text-align: center;
+			padding: 12px 0;
+			border-right: 1px solid $border-color;
+			color: #666;
+			transition: all 0.3s;
 
-.overlay {
-  position: fixed;
-  top: 0;
-  left: 0;
-  width: 100%;
-  height: 100%;
-  background-color: rgba(0, 0, 0, 0.5);
-  display: flex;
-  justify-content: center;
-  align-items: center;
-}
+			&:last-child {
+				border-right: none;
+			}
 
-.popup {
-  background-color: #fff;
-  padding: 20px;
-  border: 1px solid #ccc;
-  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
-  width: 68vw; /* 璁剧疆瀹藉害涓鸿鍙e搴︾殑80% */
-  height: 25vh; /* 璁剧疆楂樺害涓鸿鍙i珮搴︾殑80% */
-}
+			&.active {
+				background-color: #fff;
+				color: $primary-color;
+				font-weight: bold;
+				position: relative;
 
-.edit {
-  background-color: white;
-}
+				&::after {
+					content: '';
+					position: absolute;
+					bottom: 0;
+					left: 0;
+					right: 0;
+					height: 2px;
+					background-color: $primary-color;
+				}
+			}
+		}
+	}
+
+	.section {
+		margin: 20px 0;
+		border: 1px solid $border-color;
+		border-radius: 4px;
+
+		&-header {
+			padding: 12px 16px;
+			background-color: $bg-color;
+			border-bottom: 1px solid $border-color;
+			font-weight: bold;
+		}
+
+		&-body {
+			padding: 16px;
+		}
+	}
+
+	.info-grid {
+		display: grid;
+		grid-template-columns: repeat(3, 1fr);
+		gap: 16px;
+
+		.info-item {
+			margin-bottom: 12px;
+
+			.info-label {
+				color: #909399;
+				font-size: 14px;
+				margin-bottom: 4px;
+			}
+
+			.info-value {
+				color: #333;
+				font-weight: 500;
+			}
+		}
+	}
+
+	.input-group {
+		margin: 16px 0;
+
+		.input-wrapper {
+			display: flex;
+			gap: 12px;
+
+			.result-input {
+				flex: 1;
+				height: 45px;
+				padding: 0 12px;
+				border: 1px solid $border-color;
+				border-radius: 4px;
+				font-size: 14px;
+			}
+
+			.upload-btn {
+				background-color: #909399;
+				color: #fff;
+				padding: 0 10px;
+				margin: 0;
+				//height: 40rpx;
+			}
+		}
+	}
+
+	.table-container {
+		border: 1px solid $border-color;
+		border-radius: 4px;
+		margin-top: 20px;
+
+		.table-header {
+			display: flex;
+			background-color: $bg-color;
+			border-bottom: 1px solid $border-color;
+
+			.th {
+				flex: 1;
+				padding: 12px;
+				font-weight: bold;
+			}
+		}
+
+		.table-row {
+			display: flex;
+			border-bottom: 1px solid $border-color;
+			padding: 12px;
+
+			&:last-child {
+				border-bottom: none;
+			}
+
+			.td {
+				flex: 1;
+				display: flex;
+				align-items: center;
+			}
+		}
+	}
+
+	.result-badge {
+		display: inline-block;
+		padding: 4px 8px;
+		border-radius: 4px;
+		font-size: 12px;
+		font-weight: bold;
+
+		&.OK {
+			background-color: rgba($success-color, 0.1);
+			color: $success-color;
+		}
+
+		&.NG {
+			background-color: rgba($danger-color, 0.1);
+			color: $danger-color;
+		}
+	}
+
+	.action-buttons {
+		margin-top: 20px;
+		display: flex;
+		justify-content: flex-end;
+		gap: 12px;
+
+		.btn {
+			padding: 8px 20px;
+			border-radius: 4px;
+
+			&.primary-btn {
+				background-color: $primary-color;
+				color: #fff;
+
+			}
+
+			&.cancel-btn {
+				background-color: #909399;
+				color: #fff;
+			}
+		}
+	}
+
+	.danger {
+		color: $danger-color;
+	}
+
+	.overlay {
+		position: fixed;
+		top: 0;
+		left: 0;
+		width: 100%;
+		height: 100%;
+		background-color: rgba(0, 0, 0, 0.5);
+		display: flex;
+		justify-content: center;
+		align-items: center;
+	}
+
+	.popup {
+		background-color: #fff;
+		padding: 20px;
+		border: 1px solid #ccc;
+		box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
+		width: 68vw;
+		/* 璁剧疆瀹藉害涓鸿鍙e搴︾殑80% */
+		height: 25vh;
+		/* 璁剧疆楂樺害涓鸿鍙i珮搴︾殑80% */
+	}
+
+	.updateBut {
+		background-color: #3498db;
+		color: white;
+	}
+
+	.input1 {
+		display: block;
+	}
+
+	.input2 {
+		display: none;
+	}
+
+	/* 鍝嶅簲寮忚璁� */
+	@media (max-width: 500px) {
+		.input1 {
+			display: none;
+		}
+
+		.input2 {
+			display: block;
+		}
+	}
 </style>
\ No newline at end of file
diff --git "a/pages/QC/SJ/detail\357\274\210\346\227\247\357\274\211.vue" "b/pages/QC/SJ/detail\357\274\210\346\227\247\357\274\211.vue"
new file mode 100644
index 0000000..4de2ef6
--- /dev/null
+++ "b/pages/QC/SJ/detail\357\274\210\346\227\247\357\274\211.vue"
@@ -0,0 +1,438 @@
+<template>
+  <view>
+    <view class="form-container">
+      <form :modelValue="formData">
+        <view class="form-group">
+          <label class="form-label">椤圭洰鍚嶇О:</label>
+          <input class="form-input" disabled="true" type="text" v-model="formData.projName"/>
+        </view>
+        <view class="form-group">
+          <label class="form-label">璐ㄩ噺瑕佹眰:</label>
+          <input class="form-input" disabled="true" type="text" v-model="formData.itemMod"/>
+        </view>
+        <view class="form-group">
+          <label class="form-label">妫�楠屾柟娉�:</label>
+          <input class="form-input" disabled="true" type="text" v-model="formData.inspectionMethod"/>
+        </view>
+        <view class="form-group">
+          <label class="form-label">浣跨敤浠〃:</label>
+          <input class="form-input" disabled="true" type="text" v-model="formData.usingInstruments"/>
+        </view>
+        <view class="form-group">
+          <label class="form-label">妫�楠屾暟:</label>
+          <input class="form-input" disabled="true" type="text" v-model="formData.levelNum"/>
+        </view>
+        <view class="form-group">
+          <label class="form-label">涓嬮檺:</label>
+          <input class="form-input" disabled="true" type="text" v-model="formData.minValue"/>
+        </view>
+        <view class="form-group">
+          <label class="form-label">鏍囧噯鍊�:</label>
+          <input class="form-input" disabled="true" type="text" v-model="formData.standardValue"/>
+        </view>
+        <view class="form-group">
+          <label class="form-label">涓婇檺:</label>
+          <input class="form-input" disabled="true" type="text" v-model="formData.maxValue"/>
+        </view>
+        <view class="form-group">
+          <label class="form-label">鏇存柊浜�:</label>
+          <input class="form-input" disabled="true" type="text" v-model="formData.updater"/>
+        </view>
+        <view class="form-group">
+          <label class="form-label">鏇存柊鏃堕棿:</label>
+          <input class="form-input" disabled="true" type="text" v-model="formData.updateTime"/>
+        </view>
+        <view class="form-group">
+          <label class="form-label">棰勮缁撴灉:</label>
+          <input class="form-input" disabled="true" type="text" v-model="formData.result"/>
+        </view>
+        <view class="form-group">
+          <label class="form-label">涓嶅悎鏍兼弿杩�:</label>
+          <input class="form-input" disabled="true" type="text" v-model="formData.remarks"/>
+        </view>
+        <view class="form-group edit">
+          <input class="form-input" style="color: red" disabled="true" type="text"
+                 value="娌℃湁鏈�澶у�煎拰鏈�灏忓�兼椂濉啓0锛堟湭閫氳繃妫�楠岋級鎴�1锛堥�氳繃妫�楠岋級"/>
+        </view>
+        <view class="form-group edit">
+          <label class="form-label">妫�娴嬬粨鏋�:</label>
+          <input class="form-input" type="number" v-model="formData.fcheckResu"/>
+        </view>
+        <button type="primary" v-if="tableData.length < formData.levelNum" @click="submit">淇濆瓨</button>
+      </form>
+    </view>
+    <view>
+      <img v-if="isShowImg" :src="base64Image" style="width:100%" @click="previewImage"/>
+    </view>
+    <view class="list-container">
+      <uni-table ref="table" border emptyText="鏆傛棤鏇村鏁版嵁">
+        <uni-tr>
+          <uni-th align="center" style="color: #FFFFFF;background-color: lightskyblue;">缂栧彿</uni-th>
+          <uni-th align="center" style="color: #FFFFFF;background-color: lightskyblue;">鍒ゅ畾鏍囪瘑</uni-th>
+          <uni-th align="center" style="color: #FFFFFF;background-color: lightskyblue;">妫�楠岀粨鏋�</uni-th>
+          <uni-th width="150" align="center" style="color: #FFFFFF;background-color: lightskyblue;">淇敼</uni-th>
+        </uni-tr>
+        <uni-tr v-for="(item, index) in tableData" :key="index">
+          <uni-td align="center">
+            {{ index + 1 }}
+          </uni-td>
+          <uni-td align="center">
+            <input class="form-input" disabled="true" type="text" v-model="item.fstand"/>
+          </uni-td>
+          <uni-td align="center">
+            <input class="form-input" disabled="true" type="text" v-model="item.fcheckResu"/>
+          </uni-td>
+          <uni-td>
+            <view class="uni-group edit">
+              <button type="warn" v-if="isNumber" @click="toDetail(item)">淇敼</button>
+              <button type="warn" v-if="!isNumber" @click="numberEdit(item)">{{ editResult(item.fcheckResu) }}</button>
+            </view>
+          </uni-td>
+        </uni-tr>
+      </uni-table>
+    </view>
+
+    <view class="plus-button">
+      <button type="warn" @click="saveRemarks">娣诲姞涓嶅悎鏍兼弿杩�</button>
+    </view>
+
+    <view v-if="remarksPopup" class="overlay">
+      <view class="popup">
+        <h3>淇敼涓嶅悎鏍兼弿杩�</h3>
+        <form>
+          <view class="form-group">
+            <label class="form-label">涓嶅悎鏍兼弿杩�:</label>
+            <input class="form-input" type="text" v-model="remarks"/>
+          </view>
+          <button type="warn" @click="editRemarks">淇敼</button>
+          <button @click="remarksPopup = !remarksPopup">鍙栨秷</button>
+        </form>
+      </view>
+    </view>
+
+    <view v-if="showPopup" class="overlay">
+      <view class="popup">
+        <h3>淇敼妫�楠岀粨鏋�</h3>
+        <form :modelValue="editData">
+          <view class="form-group">
+            <label class="form-label">妫�楠岀粨鏋�:</label>
+            <input class="form-input" type="text" v-model="editData.fcheckResu"/>
+          </view>
+          <button type="warn" @click="eidt">淇敼</button>
+          <button @click="showPopup = !showPopup">鍙栨秷</button>
+        </form>
+      </view>
+    </view>
+  </view>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      formData: {},
+      isNumber: false,
+      checkItem: "",
+      id: 0,
+      gid: 0,
+      billNo: "",
+      showPopup: false,
+      editData: {},
+      tableData: [],
+      base64Image: "",
+      isShowImg: false,
+      remarks: "",
+      remarksPopup: false,
+    }
+  },
+  methods: {
+
+    previewImage() {
+      uni.previewImage({
+        urls: [this.base64Image],
+      });
+    },
+    editResult(fcheckResu) {
+      if (fcheckResu == '1') {
+        return "鏀逛负涓嶅悎鏍�";
+      } else {
+        return "鏀逛负鍚堟牸";
+      }
+    },
+    submit() {
+
+      let count = this.formData.levelNum;
+      let fstand = "鈭�";
+
+      //鏈夋渶澶у�煎拰鏈�灏忓�煎氨鏍规嵁鏄惁绗﹀悎鏍囧噯鍊兼洿鏂板垽瀹氱粨鏋滐紝娌℃湁鏈�澶у�煎拰鏈�灏忓�煎氨鏍规嵁鏄惁閫氳繃妫�楠屽垽瀹氱粨鏋�
+      if (this.formData.maxValue && this.formData.minValue) {
+
+        if (!this.formData.fcheckResu) {
+          this.$showMessage("璇疯緭鍏ユ楠屽��");
+          return;
+        }
+
+        if (this.formData.fcheckResu >= this.formData.minValue && this.formData.fcheckResu <= this.formData.maxValue) {
+          fstand = "鈭�"
+        } else {
+          fstand = "脳";
+        }
+        count = 1;
+      } else {
+
+        if (!this.formData.fcheckResu) {
+          this.formData.fcheckResu = 1
+        }
+
+        if (this.formData.fcheckResu == 0 || this.formData.fcheckResu == 1) {
+          this.formData.isPass = this.formData.fcheckResu
+        } else {
+          this.$showMessage("鏃犳爣鍑嗗�兼椂锛屾楠岀粨鏋滃彧鑳戒负0鎴�1!");
+          return;
+        }
+        count = count - this.tableData.length;
+      }
+
+      this.formData.updater = this.$loginInfo.account;
+
+      this.$post({
+        url: "/SJ/SetQSItemDetail",
+        data: {
+          pid: this.id,
+          gid: this.gid,
+          fstand: fstand,
+          fcheckResu: this.formData.fcheckResu,
+          updateBy: this.formData.updater,
+          count: count
+        }
+      }).then(res => {
+        this.formData.fcheckResu = null;
+        this.$showMessage("淇濆瓨鎴愬姛");
+        this.refreshResult();
+      })
+
+    },
+    refreshResult() {
+      this.$post({
+        url: "/SJ/getQSItems",
+        data: {
+          id: this.id
+        }
+      }).then(res => {
+        this.formData = res.data.tbBillList[0];
+        this.formData.billNo = this.billNo;
+        if (this.formData.imageData) {
+          this.isShowImg = true;
+          this.base64Image = 'data:image/jpeg;base64,' + this.formData.imageData;
+        }
+        if (this.formData.maxValue && this.formData.minValue && this.formData.standardValue) {
+          this.isNumber = true;
+        }
+      })
+
+      this.$post({
+        url: "/SJ/getQSItemDetail",
+        data: {
+          pid: this.id,
+          gid: this.gid
+        }
+      }).then(res => {
+        this.tableData = res.data.tbBillList;
+      })
+    },
+    toDetail(item) {
+      this.showPopup = !this.showPopup;
+      this.editData = item;
+    },
+    eidt() {
+
+      if (!this.editData.fcheckResu) {
+        this.$showMessage("璇疯緭鍏ユ楠岀粨鏋�");
+      }
+
+      if (this.formData.fcheckResu == this.editData.fcheckResu) {
+        this.$showMessage("淇敼鎴愬姛");
+        return;
+      }
+
+      let fstand = "鈭�";
+
+      if (this.formData.maxValue && this.formData.minValue) {
+
+        if (!this.editData.fcheckResu) {
+          this.$showMessage("璇疯緭鍏ユ楠屽��");
+          return;
+        }
+
+        if (this.editData.fcheckResu >= this.formData.minValue && this.editData.fcheckResu <= this.formData.maxValue) {
+          this.editData.isPass = 1
+        } else {
+          this.editData.isPass = 0
+          fstand = "脳";
+        }
+      } else {
+
+        if (!this.editData.fcheckResu) {
+          this.editData.fcheckResu = 1
+        }
+
+        if (this.editData.fcheckResu == 0 || this.editData.fcheckResu == 1) {
+          if (this.editData.fcheckResu == 0) {
+            fstand = "脳";
+          }
+        } else {
+          this.$showMessage("鏃犳爣鍑嗗�兼椂锛屾楠岀粨鏋滃彧鑳戒负0鎴�1!");
+          return;
+        }
+      }
+
+      this.editData.updater = this.$loginInfo.account;
+
+      this.$post({
+        url: "/SJ/UpdateQSItemDetail",
+        data: {
+          id: this.editData.id,
+          pid: this.id,
+          gid: this.gid,
+          fstand: fstand,
+          fcheckResu: this.editData.fcheckResu,
+          updateBy: this.editData.updater,
+        }
+      }).then(res => {
+        this.showPopup = !this.showPopup;
+        this.$showMessage("淇敼鎴愬姛");
+        this.refreshResult();//鍒锋柊椤甸潰
+      })
+    },
+    numberEdit(item) {
+
+      let fstand = "鈭�";
+      let fcheckResu = 1;
+
+      if (item.fcheckResu == '1') {
+        fstand = "脳";
+        fcheckResu = 0;
+      }
+
+      this.$post({
+        url: "/SJ/UpdateQSItemDetail",
+        data: {
+          id: item.id,
+          pid: item.pid,
+          gid: item.gid,
+          fstand: fstand,
+          fcheckResu: fcheckResu,
+          updateBy: this.$loginInfo.account,
+        }
+      }).then(res => {
+        this.$showMessage("淇敼鎴愬姛");
+        this.refreshResult(); //鍒锋柊椤甸潰
+      })
+    },
+    saveRemarks() {
+      this.remarksPopup = !this.remarksPopup;
+      this.remarks = this.formData.remarks;
+    },
+    editRemarks() {
+      if (this.remarks) {
+        //saveRemarksGid
+        this.$post({
+          url: "/SJ/saveRemarksPid",
+          data: {
+            pid: this.formData.id,
+            remarks: this.remarks
+          }
+        }).then(res => {
+          if (res.data.tbBillList > 0) {
+            this.formData.remarks = this.remarks;
+            this.remarksPopup = !this.remarksPopup;
+            this.$showMessage("淇濆瓨鎴愬姛");
+          }
+        })
+      }
+    }
+  },
+  onLoad(options) {
+//options涓寘鍚簡url闄勫甫鐨勫弬鏁�
+    let params = options;
+
+    this.id = params["id"];
+    this.billNo = params["billNo"];
+    this.gid = params["gid"];
+
+    this.refreshResult();
+  }
+}
+</script>
+
+<style>
+
+.form-group {
+  display: flex;
+  align-items: center;
+  border: 1px solid #c9c9c9;
+  background-color: #d4d4d4;
+}
+
+.form-label {
+  margin-bottom: 0;
+  padding: 5px;
+}
+
+.form-input {
+  flex: 1;
+  margin-bottom: 0;
+  padding: 5px;
+}
+
+/* 榛樿鏍峰紡 */
+.list-container {
+  height: calc(100vh - 750px);
+  /* 璁剧疆鍒楄〃瀹瑰櫒鐨勯珮搴︿负鍓╀綑绌洪棿锛屽苟鍑忓幓琛ㄥ崟瀹瑰櫒鐨勯珮搴� */
+  overflow-y: auto;
+  /* 鍏佽鍒楄〃瀹瑰櫒鍨傜洿婊氬姩 */
+  padding: 10px;
+  /* 鍙�夛細娣诲姞涓�浜涘唴杈硅窛锛屼娇鍒楄〃鍐呭鏇寸編瑙� */
+}
+
+/* 鍦ㄥ皬灞忓箷璁惧涓婏紝閲嶇疆楂樺害涓洪�傚簲灞忓箷 */
+@media (max-width: 768px) {
+  .list-container {
+    height: calc(100vh - 485px);
+    /* 閫傚綋璋冩暣楂樺害 */
+  }
+}
+
+.form-container {
+  /* 璁剧疆琛ㄥ崟瀹瑰櫒鐨勯珮搴︼紝浣垮叾鍙互婊氬姩 */
+  overflow-y: auto;
+  /* 鍏佽琛ㄥ崟瀹瑰櫒鍨傜洿婊氬姩 */
+  padding: 10px;
+  /* 鍙�夛細娣诲姞涓�浜涘唴杈硅窛锛屼娇琛ㄥ崟鍐呭鏇寸編瑙� */
+}
+
+.overlay {
+  position: fixed;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  background-color: rgba(0, 0, 0, 0.5);
+  display: flex;
+  justify-content: center;
+  align-items: center;
+}
+
+.popup {
+  background-color: #fff;
+  padding: 20px;
+  border: 1px solid #ccc;
+  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
+  width: 68vw; /* 璁剧疆瀹藉害涓鸿鍙e搴︾殑80% */
+  height: 25vh; /* 璁剧疆楂樺害涓鸿鍙i珮搴︾殑80% */
+}
+
+.edit {
+  background-color: white;
+}
+</style>
\ No newline at end of file

--
Gitblit v1.9.3