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/detail.vue | 1101 +++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 707 insertions(+), 394 deletions(-)

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

--
Gitblit v1.9.3