From e3b0b90aa060ed05c3f860e213298505bf741027 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 28 九月 2026 09:53:10 +0800
Subject: [PATCH] feat(qc): 质检模块功能优化与字段调整

---
 docs/mes_oqc_check_result_frontend.md           |   89 ++++++
 docs/qc_item_mdm_resolution_and_list_columns.md |   98 +++++++
 docs/contract_custom_no.md                      |   92 ++++++
 docs/sql/mes_qc_oqc_check_result_extend.sql     |   37 ++
 docs/mes_oqc_required_fields_relax_frontend.md  |  118 ++++++++
 docs/ipqc_remove_production_fields_frontend.md  |  197 ++++++++++++++
 docs/sql/ipqc_remove_production_fields.sql      |   22 +
 docs/oqc_check_result_extend_frontend.md        |   71 +++++
 docs/qc_report_conclusion_print.md              |   97 ++++++
 9 files changed, 821 insertions(+), 0 deletions(-)

diff --git a/docs/contract_custom_no.md b/docs/contract_custom_no.md
new file mode 100644
index 0000000..3d17da7
--- /dev/null
+++ b/docs/contract_custom_no.md
@@ -0,0 +1,92 @@
+# 鍚堝悓缂栧彿鏀寔鑷畾涔� - 鍓嶇鑱旇皟鏂规
+
+## 娑夊強椤甸潰
+
+- CRM - 鍚堝悓绠$悊 - 鏂板鍚堝悓寮圭獥
+- CRM - 鍚堝悓绠$悊 - 缂栬緫鍚堝悓寮圭獥
+
+## 鍙樻洿姒傝堪
+
+"鍚堝悓缂栧彿"瀛楁鐢�"绯荤粺鑷姩鐢熸垚銆佷笉鍙紪杈�"鏀逛负"鏀寔鎵嬪伐褰曞叆"锛屾柊澧炲拰缂栬緫涓ょ妯″紡鍧囧彲缂栬緫锛�
+
+- 鏂板鏃剁暀绌� 鈫� 鍚庣鑷姩鐢熸垚锛圚T 鍓嶇紑锛屼笌鍘熻涓轰竴鑷达級
+- 鏂板鏃跺~鍐� 鈫� 浣跨敤鐢ㄦ埛濉啓鐨勭紪鍙�
+- 缂栬緫鏃剁暀绌� 鈫� 淇濇寔鍘熺紪鍙蜂笉鍙�
+- 缂栬緫鏃跺~鍐� 鈫� 浣跨敤鐢ㄦ埛濉啓鐨勭紪鍙凤紙鍚庣鏍¢獙鍞竴鎬э級
+
+## API
+
+| 鏂规硶 | 璺緞 | 璇存槑 |
+|------|------|------|
+| POST | /crm/contract/create | 鏂板鍚堝悓锛岃姹備綋鏂板 `no` 瀛楁 |
+| PUT | /crm/contract/update | 鏇存柊鍚堝悓锛宍no` 瀛楁鍙慨鏀� |
+| GET | /crm/contract/get | 鏌ヨ鍚堝悓璇︽儏锛屽搷搴旀湰灏卞惈 `no` 瀛楁锛堟湭鍙橈級 |
+
+**璇锋眰鍙傛暟锛圥OST /crm/contract/create銆丳UT /crm/contract/update锛夛細**
+
+| 鍙傛暟 | 绫诲瀷 | 蹇呭~ | 璇存槑 |
+|------|------|------|------|
+| no | String | 鍚� | 鍚堝悓缂栧彿锛屾渶闀� 100 瀛楃锛涙柊澧炴椂鐣欑┖锛堟垨涓嶄紶锛夌敱鍚庣鑷姩鐢熸垚锛屾洿鏂版椂鐣欑┖淇濇寔鍘熺紪鍙� |
+
+鍏朵綑鍙傛暟涓庣幇鐘朵竴鑷达紝姝ゅ涓嶅啀鍒楀嚭銆�
+
+**鍝嶅簲锛堟湭鍙樻洿锛夛細**
+
+```json
+{
+  "code": 0,
+  "data": 123,
+  "msg": ""
+}
+```
+
+`data` 涓烘柊寤哄悎鍚岀殑 ID銆�
+
+## 鍓嶇淇敼鐐�
+
+### 1. 鍚堝悓缂栧彿瀛楁锛堟柊澧炲脊绐� + 缂栬緫寮圭獥锛�
+
+| 浜嬮」 | 鐜扮姸 | 闇�鏀逛负 |
+|------|------|--------|
+| disabled | 鏂板绂佺敤銆佺紪杈戠鐢� | 涓ょ妯″紡鍧囧彲缂栬緫锛堝幓鎺夌鐢級 |
+| placeholder | 淇濆瓨鏃惰嚜鍔ㄧ敓鎴� | 鏂板锛氱暀绌哄垯鑷姩鐢熸垚锛涚紪杈戯細鐣欑┖鍒欎繚鎸佸師缂栧彿 |
+| 鍏朵粬 | 鈥� | 鍙竻绌恒�佹渶澶ч暱搴� 100 |
+
+### 2. 淇濆瓨鏃舵彁浜よ瀛楁
+
+鏂板/缂栬緫淇濆瓨鏃讹紝闇�瑕佹妸鐢ㄦ埛鍦�"鍚堝悓缂栧彿"涓~鍐欑殑鍊间竴骞舵彁浜ょ粰鍚庣銆�
+
+### 3. 缂栬緫寮圭獥鐨勫叾浠栧瓧娈�
+
+闄ゅ悎鍚岀紪鍙峰锛岀紪杈戝脊绐楀叾浣欏瓧娈典繚鎸佷笉鍙樸��
+
+## 瀛楁灞曠ず瑙勫垯
+
+| 瀛楁 | 灞曠ず浣嶇疆 | 璇存槑 |
+|------|----------|------|
+| 鍚堝悓缂栧彿 | 鏂板寮圭獥 | 鐢ㄦ埛鍙~鍐欙紱鐣欑┖鍒欑敱鍚庣鐢熸垚 |
+| 鍚堝悓缂栧彿 | 缂栬緫寮圭獥 | 鐢ㄦ埛鍙慨鏀癸紱鐣欑┖鍒欎繚鎸佸師缂栧彿 |
+| 鍚堝悓缂栧彿 | 璇︽儏銆佸垪琛� | 灞曠ず鍚庣瀹為檯淇濆瓨鐨勭紪鍙� |
+
+## 涓氬姟瑙勫垯璇存槑
+
+| 鍦烘櫙 | 瑙勫垯 |
+|------|------|
+| 鏂板鏃跺~鍐欎簡缂栧彿 | 浣跨敤鐢ㄦ埛濉啓鐨勭紪鍙凤紝棣栧熬绌烘牸浼氳鑷姩鍘绘帀 |
+| 鏂板鏃剁暀绌烘垨鍙~绌烘牸 | 鍚庣鑷姩鐢熸垚 HT 鍓嶇紑缂栧彿 |
+| 缂栬緫鏃跺~鍐欎簡缂栧彿 | 浣跨敤鐢ㄦ埛濉啓鐨勭紪鍙凤紝棣栧熬绌烘牸浼氳鑷姩鍘绘帀 |
+| 缂栬緫鏃剁暀绌烘垨鍙~绌烘牸 | 淇濇寔鍘熺紪鍙蜂笉鍙� |
+| 鏂板/缂栬緫鏃朵慨鏀圭殑缂栧彿涓庡凡鏈夊悎鍚岄噸澶� | 淇濆瓨澶辫触锛屾彁绀猴細鍚堝悓缂栧彿銆恱xx銆戝凡瀛樺湪锛岃鏇存崲鍚庨噸璇� |
+| 缂栬緫鏃舵湭鏀瑰姩缂栧彿 | 姝e父淇濆瓨锛屼笉浼氳鎶ラ噸澶� |
+| 鑷姩鐢熸垚鐨勭紪鍙烽噸澶嶏紙鏋佸皬姒傜巼锛� | 淇濆瓨澶辫触锛屾彁绀猴細鐢熸垚鍚堝悓搴忓垪鍙烽噸澶嶏紝璇烽噸璇曪紙閲嶆柊淇濆瓨鍗冲彲锛� |
+| 缂栧彿瓒呰繃 100 瀛楃 | 淇濆瓨澶辫触锛屾彁绀猴細鍚堝悓缂栧彿闀垮害涓嶈兘瓒呰繃 100 涓瓧绗� |
+| 鐢辨姤浠峰崟杞悎鍚� | 涓嶅彈褰卞搷锛屼粛鑷姩鐢熸垚缂栧彿 |
+| Excel 瀵煎叆鍚堝悓 | 涓嶅彈褰卞搷锛屽鍏ユ湰韬凡鏀寔鑷畾涔夌紪鍙� |
+
+## 娉ㄦ剰浜嬮」
+
+- 鏂板鎺ュ彛杩斿洖鐨勬槸鍚堝悓 ID锛屼笉鍖呭惈鏈�缁堢紪鍙枫�傝嫢鏂板鍚庨渶瑕佸湪鐣岄潰涓婃樉绀哄疄闄呯紪鍙凤紝璇峰湪淇濆瓨鎴愬姛鍚庤皟鐢� `GET /crm/contract/get?id={id}` 鑾峰彇锛屾垨鐩存帴浣跨敤鐢ㄦ埛鑷繁濉啓鐨勫�笺��
+- 缂栧彿鍞竴鎬х敱鍚庣鏍¢獙锛屽墠绔棤闇�棰濆鏌ラ噸锛涚紪杈戞椂鍚庣鏌ラ噸浼氭帓闄ゅ悎鍚岃嚜韬紝鍥犳鍘熸牱鎻愪氦涓嶄細璇姤閲嶅銆�
+- 缂栧彿闀垮害涓婇檺 100 瀛楃锛屽墠绔彲鍋氳緭鍏ラ暱搴﹂檺鍒朵互鏀瑰杽浣撻獙銆�
+- 涓嶅仛鍓嶇鏍¢獙涔熶笉褰卞搷姝g‘鎬э細鏂板鐣欑┖璧拌嚜鍔ㄧ敓鎴愩�佺紪杈戠暀绌轰繚鎸佸師鍊硷紝閲嶅浼氳鍚庣鎷︽埅骞惰繑鍥炴槑纭彁绀恒��
+- 鍚堝悓缂栧彿鐨勫彉鏇翠細璁″叆鍚堝悓鎿嶄綔鏃ュ織锛堟洿鏂拌褰曚腑浣撶幇"鍚堝悓缂栧彿锛氬師鍊� 鈫� 鏂板��"锛夈��
diff --git a/docs/ipqc_remove_production_fields_frontend.md b/docs/ipqc_remove_production_fields_frontend.md
new file mode 100644
index 0000000..704b590
--- /dev/null
+++ b/docs/ipqc_remove_production_fields_frontend.md
@@ -0,0 +1,197 @@
+# 杩囩▼妫�楠屽崟锛圛PQC锛夊幓鎺夌敓浜ц鍗�/宸ヤ綅/鐢熶骇浠诲姟銆佹柊澧炲繀濉壒鍙� - 鍓嶇鑱旇皟鏂规
+
+## 鍙樻洿鑳屾櫙
+
+杩囩▼妫�楠屽崟锛圛PQC锛夊師琛ㄥ崟瑕佹眰鍏堥�夈�岀敓浜ц鍗曘�嶏紝鍐嶇敱璁㈠崟甯﹀嚭銆屽伐浣嶃�嶃�岀敓浜т换鍔°�嶏紝骞剁敱宸ュ崟/浠诲姟鍙嶆帹銆屼骇鍝佺墿鏂欍�嶃�岃川妫�鏂规銆嶃�屽伐搴忋�嶃��
+
+鏈鏀归��**鍘绘帀鐢熶骇璁㈠崟銆佸伐浣嶃�佺敓浜т换鍔′笁涓瓧娈碉紙宸ュ簭涓�骞跺幓鎺夛級**锛屾敼涓猴細
+
+- 銆屼骇鍝佺墿鏂欍�嶇敱鍓嶇**鎵嬪姩閫夋嫨锛屽繀濉�**锛堜粠寰呮浠诲姟鍏ュ彛鍒涘缓鏃朵粛鑷姩甯﹀叆锛夛紱
+- 鏂板銆屾壒鍙枫�嶈緭鍏ユ锛�**鎵嬪伐褰曞叆鏂囨湰锛屽繀濉�**銆�
+
+鏀归�犲悗 IPQC 鐨勮〃鍗曠粨鏋勪笌鍚屾ā鍧楀凡涓婄嚎鐨� **IQC / OQC 涓�鑷�**锛氬崟鎹� = 鏉ユ簮鍗曟嵁 + 浜у搧鐗╂枡 + 鎵瑰彿 + 鏁伴噺 + 妫�楠屼俊鎭��
+
+> **閲嶈锛堢墿鏂� ID 浣撶郴锛�**锛欼PQC 鐨勩�屼骇鍝佺墿鏂欍�嶇敱鍘熴�孧ES 鐗╂枡锛坄mes_md_item`锛夈�嶇粺涓�涓� **MDM 鐗╂枡锛坄mdm_item`锛�**锛屼笌 IQC/OQC 鐩稿悓銆傚墠绔繀椤讳娇鐢� **`MdmItemSelect`** 缁勪欢锛坄#/views/basicData/mdm/components`锛屽嬁涓� MES 渚х殑 `MdItemSelect`锛坄#/views/mes/md/item/components`锛夋贩鐢級锛屼笉瑕佸啀浣跨敤浠讳綍鎸傚伐鍗�/浠诲姟鐨勭墿鏂欓�夋嫨鍣ㄣ��
+
+## 娑夊強椤甸潰
+
+| 鏂囦欢 | 璇存槑 |
+|------|------|
+| `src/views/mes/qc/ipqc/data.ts` | 琛ㄥ崟 schema銆佸垪琛ㄦ悳绱� schema銆佸垪琛ㄥ垪瀹氫箟 |
+| `src/views/mes/qc/ipqc/index.vue` | 鍒楄〃椤碉紙寮曠敤涓婇潰 schema锛� |
+| `src/views/mes/qc/ipqc/modules/form.vue` | 鏂板/缂栬緫琛ㄥ崟寮圭獥 |
+| `src/views/mes/qc/pendinginspect/index.vue` | 寰呮浠诲姟椤电殑銆岀敓鎴愯繃绋嬫楠屽崟銆嶆寜閽紙鏁版嵁甯﹀叆锛� |
+| `src/api/mes/qc/ipqc/index.ts` | IPQC 鎺ュ彛绫诲瀷瀹氫箟 |
+| `src/api/mes/qc/pendinginspect/index.ts` | 寰呮浠诲姟鎺ュ彛绫诲瀷瀹氫箟 |
+
+## 涓氬姟娴佺▼涓庢暟鎹甫鍏�
+
+```
+鎶ュ伐瀹℃壒閫氳繃锛堥渶妫�楠岋級 鈫� 鐢熸垚浜у嚭琛岋紙quality_status=寰呮锛�+ 鎵规鍙�
+        鈹�
+        鈻�
+   寰呮浠诲姟椤碉紙qcType = IPQC锛�
+        鈹�  鐐瑰嚮銆岀敓鎴愯繃绋嬫楠屽崟銆嶅甫鍏ワ細鏉ユ簮鍗曟嵁绫诲瀷/ID/琛孖D銆佹潵婧愬崟鎹紪鍙枫��
+        鈹�  浜у搧鐗╂枡銆佹壒鍙枫�佸緟妫�鏁伴噺銆佹娴嬫棩鏈�
+        鈻�
+   IPQC 琛ㄥ崟锛堢敤鎴疯ˉ鍏細妫�楠岀被鍨嬨�佹娴嬩汉鍛樸�佸悎鏍�/涓嶅悎鏍兼暟閲忕瓑锛�
+        鈹�
+        鈻�
+   淇濆瓨 鈫� 瀹屾垚妫�楠� 鈫� 鍥炲啓鎶ュ伐 + 鎷嗗垎浜у嚭琛� + 瀹屾垚浜у嚭鍏ュ簱
+```
+
+### 鏁版嵁甯﹀叆瑙勫垯锛堝緟妫�浠诲姟 鈫� IPQC 琛ㄥ崟锛�
+
+| 琛ㄥ崟瀛楁 | 寰呮浠诲姟鍝嶅簲瀛楁 | 甯﹀叆鍚庢槸鍚﹀彲缂栬緫 |
+|----------|------------------|------------------|
+| 鏉ユ簮鍗曟嵁绫诲瀷 sourceDocType | sourceDocType | 鍚︼紙闅愯棌鍙锛� |
+| 鏉ユ簮鍗曟嵁缂栧彿 sourceDocCode | sourceDocCode | 鍚︼紙鍙灞曠ず锛� |
+| 鏉ユ簮鍗曟嵁 ID sourceDocId | sourceDocId | 鍚︼紙闅愯棌瀛楁锛� |
+| 鏉ユ簮鍗曟嵁琛� ID sourceLineId | sourceLineId | 鍚︼紙闅愯棌瀛楁锛� |
+| 浜у搧鐗╂枡 itemId | itemId | 鍚︼紙鏈夋潵婧愬崟鎹椂缃伆锛� |
+| **鎵瑰彿 batchCode锛堟湰娆℃柊澧烇級** | **batchCode锛堟湰娆℃柊澧烇級** | **鏄�**锛堝缓璁甫鍏ュ悗浠嶅厑璁镐汉宸ヤ慨姝o級 |
+| 妫�娴嬫暟閲� checkQuantity | quantity | 鍚︼紙鏈夋潵婧愬崟鎹椂缃伆锛� |
+| 妫�娴嬫棩鏈� inspectDate | recordTime | 鏄� |
+
+> 寰呮浠诲姟鍏ュ彛甯﹀叆鐨勩�屾壒鍙枫�嶆潵鑷骇鍑鸿 `batch_code`锛堟姤宸ュ鎵归�氳繃鏃剁敱绯荤粺鐢熸垚鐨勬壒娆″彿锛夈��**褰撳墠鍙湁 IPQC 鏉ユ簮浼氳繑鍥� `batchCode`锛孖QC/OQC/RQC 鏉ユ簮璇ュ瓧娈典负 `null`**锛屽墠绔鍏跺畠妫�楠岀被鍨嬪拷鐣ヨ瀛楁鍗冲彲銆�
+
+## API
+
+### 1. 鍒涘缓 / 鏇存柊杩囩▼妫�楠屽崟
+
+| 鏂规硶 | 璺緞 | 璇存槑 |
+|------|------|------|
+| POST | `/mes/qc/ipqc/create` | 鍒涘缓杩囩▼妫�楠屽崟 |
+| PUT | `/mes/qc/ipqc/update` | 鏇存柊杩囩▼妫�楠屽崟 |
+
+**璇锋眰鍙傛暟锛堜粎鍒楀嚭鏈鍙樻洿瀛楁锛夛細**
+
+| 鍙傛暟 | 绫诲瀷 | 蹇呭~ | 璇存槑 |
+|------|------|------|------|
+| ~~workOrderId~~ | Long | 鈥� | **宸插垹闄�**锛屼笉鍐嶅厑璁告彁浜� |
+| ~~taskId~~ | Long | 鈥� | **宸插垹闄�**锛屼笉鍐嶅厑璁告彁浜� |
+| ~~workstationId~~ | Long | 鈥� | **宸插垹闄�**锛屼笉鍐嶅厑璁告彁浜� |
+| ~~processId~~ | Long | 鈥� | **宸插垹闄�**锛屼笉鍐嶅厑璁告彁浜� |
+| batchCode | String | **鏄�** | 鎵瑰彿锛屾墜宸ュ綍鍏ユ枃鏈紝鏈�闀� 100 瀛楃 |
+| itemId | Long | **鏄�** | 浜у搧鐗╂枡 ID锛�**MDM 鐗╂枡 ID**锛夛紝鐢� `MdmItemSelect` 鎻愪緵 |
+| templateId | Long | 鍚� | 璐ㄦ鏂规 ID锛涗笉浼犳椂鍚庣鎸� `itemId + 妫�楠岀被鍨�(IPQC)` 鑷姩鍙栫涓�涓尮閰嶆柟妗� |
+
+> 鍏朵綑瀛楁锛坈ode銆乶ame銆乼ype銆乧heckQuantity銆乹ualifiedQuantity銆乽nqualifiedQuantity銆佸伐搴�/鏂欏簾/鍏朵粬搴熷搧鏁伴噺銆乮nspectorUserId銆乮nspectDate銆乻amplingLocation銆乧ertificateNo銆乪xecuteStandard銆乤uditUserId銆乤pproveUserId銆乧heckResult銆乺emark锛変繚鎸佷笉鍙樸��
+
+**鍝嶅簲锛�** `{ "code": 0, "data": <杩囩▼妫�楠屽崟 ID> }`
+
+### 2. 鍒嗛〉鏌ヨ
+
+| 鏂规硶 | 璺緞 | 璇存槑 |
+|------|------|------|
+| GET | `/mes/qc/ipqc/page` | 鑾峰緱杩囩▼妫�楠屽崟鍒嗛〉 |
+
+**鏌ヨ鍙傛暟锛堟湰娆″彉鏇达級锛�**
+
+| 鍙傛暟 | 绫诲瀷 | 璇存槑 |
+|------|------|------|
+| ~~workOrderId~~ | Long | **宸插垹闄�** |
+| batchCode | String | **鏂板**锛屾壒鍙凤紝妯$硦鍖归厤 |
+
+### 3. 璇︽儏 / 瀵煎嚭
+
+| 鏂规硶 | 璺緞 | 璇存槑 |
+|------|------|------|
+| GET | `/mes/qc/ipqc/get?id=` | 璇︽儏锛屽搷搴斿瓧娈甸殢涓嬪垪鍙樻洿 |
+| GET | `/mes/qc/ipqc/export-excel` | 瀵煎嚭 Excel锛�**銆屾壒鍙枫�嶅垪鍙� `batchCode`**锛堝師鍙栨潵婧愬崟鎹紪鍙凤級 |
+
+### 4. 璐ㄦ鏂规閫夐」锛堣〃鍗曡仈鍔級
+
+| 鏂规硶 | 璺緞 | 璇存槑 |
+|------|------|------|
+| GET | `/mes/qc/template/item/list-by-item-and-type` | 鎸夌墿鏂� + 妫�楠岀被鍨嬪彇鍙敤璐ㄦ鏂规 |
+
+**鍙傛暟鍙樻洿锛�** 鐢卞師鏉ョ殑 `{ qcType: 2, workOrderId, taskId }` 鏀逛负 **`{ qcType: 2, itemId }`**锛坄itemId` 涓� MDM 鐗╂枡 ID锛夈��
+
+### 5. 寰呮浠诲姟鍒嗛〉锛堝搷搴旀柊澧炲瓧娈碉級
+
+| 鏂规硶 | 璺緞 | 璇存槑 |
+|------|------|------|
+| GET | `/mes/qc/pending-inspect/page` | 寰呮浠诲姟鍒嗛〉 |
+
+**鍝嶅簲鏂板瀛楁锛�**
+
+| 瀛楁 | 绫诲瀷 | 璇存槑 |
+|------|------|------|
+| batchCode | String | 鎵瑰彿锛�**褰撳墠浠� IPQC锛堜骇鍑鸿锛夋潵婧愭彁渚�**锛屽叾浣欐潵婧愪负 `null` |
+
+## 鍝嶅簲瀛楁鍙樻洿锛堣鎯� / 鍒嗛〉鍒楄〃锛�
+
+**鍒犻櫎瀛楁锛�**
+
+| 瀛楁 | 璇存槑 |
+|------|------|
+| workOrderId / workOrderCode / workOrderName | 鐢熶骇璁㈠崟 |
+| taskId | 鐢熶骇浠诲姟 |
+| workstationId / workstationName | 宸ヤ綅 |
+| processId / processName | 宸ュ簭 |
+
+**鏂板瀛楁锛�**
+
+| 瀛楁 | 绫诲瀷 | 璇存槑 |
+|------|------|------|
+| batchCode | String | 鎵瑰彿 |
+
+**淇濈暀涓嶅彉锛�** itemId銆乮temCode銆乮temName銆乮temSpecification銆乽nitName銆佹鏌ユ暟閲忕被瀛楁銆乧heckResult銆乮nspectDate銆乮nspectorUserId / inspectorNickname銆乻tatus銆乻amplingLocation銆乧ertificateNo銆乪xecuteStandard銆乤uditUserId / auditNickname銆乤pproveUserId / approveNickname銆乺emark銆�
+
+## 瀛楁灞曠ず瑙勫垯
+
+| 瀛楁 | 灞曠ず浣嶇疆 | 璇存槑 |
+|------|----------|------|
+| 浜у搧鐗╂枡 itemId | 琛ㄥ崟銆佸垪琛� | 琛ㄥ崟鐢� `MdmItemSelect` 閫夋嫨锛�**蹇呭~**锛涘垪琛ㄥ睍绀� `itemCode / itemName / itemSpecification`锛堝師鏍蜂繚鐣欙級 |
+| 鎵瑰彿 batchCode | 琛ㄥ崟銆佸垪琛ㄣ�佽鎯呫�佸鍑� | **琛ㄥ崟蹇呭~**锛涘垪琛ㄦ柊澧炲垪灞曠ず锛堝缓璁斁鍦ㄣ�屼骇鍝佺墿鏂欍�嶄箣鍚庯級锛涘鍑哄垪銆屾壒鍙枫�� |
+| 鐢熶骇璁㈠崟 / 宸ヤ綅 / 鐢熶骇浠诲姟 | 鈥� | 浠庤〃鍗曘�佸垪琛ㄥ垪銆佸垪琛ㄦ悳绱€�佽鎯呫�佸鍑轰腑**鍏ㄩ儴绉婚櫎** |
+| 璐ㄦ鏂规 templateId | 琛ㄥ崟 | 閫夋嫨鑼冨洿鏀圭敱銆屼骇鍝佺墿鏂欍�嶉┍鍔紙涓嶅啀鐢辩敓浜ц鍗曢┍鍔級 |
+
+### 琛ㄥ崟瀛楁璋冩暣寤鸿锛堜粎鍒楄皟鏁撮」锛�
+
+| 鎿嶄綔 | 瀛楁 | 璇存槑 |
+|------|------|------|
+| 鍒犻櫎 | 鐢熶骇璁㈠崟 `workOrderId` | 鍚叾 `ProWorkOrderSelect` 鍙婅仈鍔ㄦ竻绌� taskId 鐨勯�昏緫 |
+| 鍒犻櫎 | 宸ヤ綅 `workstationId` | 鍚� `MdWorkstationSelect` |
+| 鍒犻櫎 | 鐢熶骇浠诲姟 `taskId` | 鍚� `ProTaskSelect` |
+| 鏂板 | 鎵瑰彿 `batchCode` | `Input`锛宍rules: 'required'`锛宍maxlength: 100` |
+| 淇敼 | 浜у搧鐗╂枡 `itemId` | 鏀逛负 `MdmItemSelect` + `rules: 'selectRequired'`锛沗dependencies.triggerFields` 鐢� `['sourceDocId']` 淇濇寔锛堟湁鏉ユ簮鍗曟嵁鏃剁疆鐏帮級 |
+| 淇敼 | 璐ㄦ鏂规 `templateId` | `dependencies.triggerFields` 鐢� `['workOrderId', 'taskId']` 鏀逛负 `['itemId']`锛沗disabled` 鏉′欢鐢� `!values.workOrderId` 鏀逛负 `!values.itemId`锛沗params` 鏀逛负 `{ itemId: values.itemId, qcType: 2 }`锛涘崰浣嶆枃妗堢敱銆岃鍏堥�夋嫨鐢熶骇璁㈠崟銆嶆敼涓恒�岃鍏堥�夋嫨浜у搧鐗╂枡銆� |
+| 淇敼 | 鍒楄〃鎼滅储 | `workOrderId`锛堢敓浜ц鍗曪級鏇挎崲涓� `batchCode`锛堟壒鍙凤紝`Input`锛宍allowClear`锛屾ā绯婃煡璇級 |
+| 淇敼 | 鍒楄〃鍒� | 鍒犻櫎銆岀敓浜ц鍗曠紪鍙枫�嶅垪锛涙柊澧炪�屾壒鍙枫�嶅垪锛坄batchCode`锛� |
+
+> 鍙傝�冨疄鐜帮細`src/views/mes/qc/oqc/data.ts` 鐨� `itemId`锛坄MdmItemSelect`锛変笌 `templateId`锛坄params: { itemId, qcType: 3 }`锛夊啓娉曪紝IPQC 鍙渶鎶� `qcType` 鎹㈡垚 IPQC 鐨勫瓧鍏稿�笺��
+
+### 寰呮浠诲姟椤靛甫鍏ヨ皟鏁�
+
+`src/views/mes/qc/pendinginspect/index.vue` 鐨� `handleCreateIpqc` 棰勫~瀵硅薄锛�
+
+| 鎿嶄綔 | 瀛楁 | 璇存槑 |
+|------|------|------|
+| 鍒犻櫎 | `taskId` / `workOrderId` / `workstationId` | 鍚庣宸蹭笉鍐嶆帴鏀讹紝涓旇〃鍗曞凡鏃犲搴旀帶浠� |
+| 淇濈暀 | `itemId` / `checkQuantity` / `inspectDate` / `name` / `sourceDocCode` / `sourceDocId` / `sourceDocType` / `sourceLineId` | 璇箟涓嶅彉 |
+| **鏂板** | `batchCode: row.batchCode` | 浠庡緟妫�浠诲姟甯﹀叆鎵瑰彿锛堣瀛楁浠� IPQC 鏉ユ簮鏈夊�硷級 |
+
+## 涓氬姟瑙勫垯璇存槑
+
+| 鍦烘櫙 | 瑙勫垯 |
+|------|------|
+| 鎵嬪伐鏂板缓 IPQC | 鐩存帴閫夋嫨浜у搧鐗╂枡锛圡DM锛�+ 濉啓鎵瑰彿锛涘悗绔寜 `itemId + IPQC` 鍖归厤璐ㄦ鏂规骞惰嚜鍔ㄧ敓鎴愭楠岃 |
+| 鎸囧畾璐ㄦ鏂规 | 鍓嶇浼� `templateId`锛屼絾蹇呴』钀藉湪 `itemId + IPQC` 鍖归厤鍒扮殑鏂规闆嗗悎鍐咃紝鍚﹀垯鍚庣鎶ャ�屾湭鍖归厤鍒拌川妫�鏂规銆� |
+| 鏈尮閰嶅埌鏂规 | 鍚庣杩斿洖閿欒鐮� `QC_NO_TEMPLATE`锛屽墠绔寜閫氱敤閿欒鎻愮ず灞曠ず鍗冲彲 |
+| 浠庡緟妫�浠诲姟鍒涘缓 | 鐗╂枡銆佹壒鍙枫�佹娴嬫暟閲忋�佹娴嬫棩鏈熴�佹潵婧愬崟鎹俊鎭嚜鍔ㄥ甫鍏ワ紱鏉ユ簮鍗曟嵁瀛楁淇濆瓨鍚庝笉鍙慨鏀� |
+| 鏉ユ簮鍗曟嵁鍥炲啓 | IPQC 瀹屾垚鍚庡洖鍐欐姤宸ワ紙鍚堟牸/涓嶅悎鏍�/宸ュ簾/鏂欏簾/鍏朵粬搴熷搧鏁伴噺锛夛紝骞舵媶鍒嗕骇鍑鸿銆佸畬鎴愪骇鍑哄叆搴撱��**璇ラ摼璺緷璧� `sourceDocId + sourceLineId`锛屼笌鏈鍒犻櫎鐨勪笁涓瓧娈垫棤鍏筹紝涓嶅彈褰卞搷** |
+| 鎵瑰彿蹇呭~鏍¢獙 | 鐢卞悗绔� `@NotEmpty` 涓庡墠绔� `rules: 'required'` 鍙岄噸淇濊瘉锛涙壒鍙蜂负绌烘椂鍚庣杩斿洖銆屾壒鍙蜂笉鑳戒负绌恒�� |
+| 鐗╂枡蹇呭~鏍¢獙 | 鐢卞悗绔� `@NotNull` 涓庡墠绔� `rules: 'selectRequired'` 鍙岄噸淇濊瘉锛涚墿鏂欎笉瀛樺湪鏃跺悗绔繑鍥炵墿鏂欎笉瀛樺湪閿欒 |
+| 鍒楄〃鏌ヨ | 鐢熶骇璁㈠崟绛涢�夊凡涓嬬嚎锛屾敼涓烘寜鎵瑰彿妯$硦鏌ヨ |
+
+## 娉ㄦ剰浜嬮」
+
+1. **鐗╂枡閫夋嫨鍣ㄥ繀椤绘崲鎴� `MdmItemSelect`**銆傝嫢浠嶆部鐢ㄥ師鏉ョ殑鐗╂枡閫夋嫨鍣ㄦ垨鐩存帴鍥炲~ MES 鐗╂枡 ID锛屼細鍑虹幇銆岀墿鏂欎笉瀛樺湪銆嶆垨銆屾湭鍖归厤鍒拌川妫�鏂规銆嶉敊璇��
+2. **璐ㄦ鏂规涓嬫媺鐨� `params` 蹇呴』鐢� `workOrderId/taskId` 鏀逛负 `itemId`**锛屽惁鍒欓�夊畬鐗╂枡鍚庢柟妗堝垪琛ㄤ负绌烘垨涓庢墍閫夌墿鏂欎笉绗︺��
+3. **鎵瑰彿涓哄繀濉�**锛氭柊澧�/缂栬緫琛ㄥ崟涓庡垱寤烘帴鍙i兘闇�鏍¢獙锛屼粠寰呮浠诲姟甯﹀叆鍚庝篃鍏佽鐢ㄦ埛淇銆�
+4. **寰呮浠诲姟鐨� `batchCode` 鍙湁 IPQC 鏉ユ簮鏈夊��**锛圛QC/OQC/RQC 鎭掍负 `null`锛夛紝鍏叡甯﹀叆閫昏緫閲屼笉瑕佸亣璁惧畠涓�瀹氬瓨鍦紱鏃犲�兼椂鐣欑┖璁╃敤鎴锋墜濉��
+5. **鍘嗗彶鏁版嵁**锛歚mes_qc_ipqc` 杩佺Щ鍓嶄负 0 鏉℃暟鎹紝鏈涓虹洿鎺ュ垹鍒� + 鍔犲垪锛屾棤闇�鍓嶇鍋氬吋瀹瑰鐞嗐�侱DL锛堝垹 `work_order_id`/`task_id`/`workstation_id`/`process_id`锛屽姞 `batch_code varchar(100)`锛夊凡浜� **2026-09-22** 鍦� yzfx 搴撴墽琛屽畬姣曘��
+6. **瀵煎嚭 Excel 鐨勩�屾壒鍙枫�嶅垪璇箟宸插彉**锛氬師鍏堝彇銆屾潵婧愬崟鎹紪鍙枫�嶏紝鐜版敼涓哄彇鐪熸鐨勬壒鍙枫��
+7. 鐢熶骇璁㈠崟/宸ヤ綅/鐢熶骇浠诲姟/宸ュ簭鍦�**鍒楄〃鍒椼�佽鎯呫�佸鍑�**涓兘瑕佷竴骞剁Щ闄わ紝閬垮厤鍑虹幇姘镐箙涓虹┖鐧界殑鍒椼��
diff --git a/docs/mes_oqc_check_result_frontend.md b/docs/mes_oqc_check_result_frontend.md
new file mode 100644
index 0000000..f4d35b0
--- /dev/null
+++ b/docs/mes_oqc_check_result_frontend.md
@@ -0,0 +1,89 @@
+# MES 鍑鸿揣妫�楠屽崟锛圤QC锛夋娴嬬粨鏋滀笌琛ㄥご瀛楁璋冩暣 - 鍓嶇鑱旇皟鏂规
+
+> 鐘舵�侊細鍓嶇鏀瑰姩宸叉寜鏈枃瀹炴柦锛圤QC 琛ㄥ崟/鎼滅储/鍒楄〃鍒椼�佹壒娆¤拷婧� OQC 鍒椼�佹姤鍛婃墦鍗板厹搴曟枃妗堛�佸父閲忎笌鏋氫妇锛夈�傛湰鏂囦繚鐣欎綔涓烘帴鍙d笌瑙勫垯璇存槑銆�
+
+## 鍙樻洿鎽樿
+
+| 椤� | 璋冩暣鍓� | 璋冩暣鍚� |
+|----|--------|--------|
+| 鍙戣揣鏁伴噺 `outQuantity` | 蹇呭~ | **闈炲繀濉�** |
+| 鍑鸿揣鏃ユ湡 `outDate` | 蹇呭~ | **闈炲繀濉�** |
+| 妫�娴嬬粨鏋� `checkResult` | 闈炲繀濉紝瀛楀吀 `mes_qc_check_result`锛堝悎鏍�/鐗归噰/閫�璐�/鎶ュ簾锛� | **蹇呭~**锛屾敼鐢ㄦ柊瀛楀吀 `mes_oqc_check_result`锛�1鍨�/2鍨�/搴熷搧锛� |
+
+鍏朵綑瀛楁锛堟湰娆℃娴嬫暟閲忋�佸悎鏍煎搧鏁伴噺銆佷笉鍚堟牸鍝佹暟閲忋�佹娴嬫棩鏈熴�佹娴嬩汉鍛橈級**淇濇寔蹇呭~涓嶅彉**銆�
+
+> 浠� OQC 鍙樻洿銆侷QC / IPQC / RQC 缁х画浣跨敤鍘熷瓧鍏� `mes_qc_check_result`銆�
+
+## 娑夊強椤甸潰
+
+- MES 鍑鸿揣妫�楠屽崟锛圤QC锛夊垪琛ㄩ〉
+- MES 鍑鸿揣妫�楠屽崟锛圤QC锛夋柊澧�/缂栬緫寮圭獥
+- MES 鍑鸿揣妫�楠屽崟锛圤QC锛夎鎯呴〉
+- 鎵规杩芥函锛坆atchtrace锛夆�斺�擮QC 鐩稿叧鍒�
+- 妫�楠屾姤鍛婃墦鍗伴〉鈥斺�旀娴嬬粨鏋滃垪锛堣銆屾敞鎰忎簨椤广�嶇 3 鏉★級
+
+## API
+
+| 鏂规硶 | 璺緞 | 璇存槑 |
+|------|------|------|
+| POST | /mes/qc-oqc/create | 鏂板鍑鸿揣妫�楠屽崟 |
+| PUT | /mes/qc-oqc/update | 淇敼鍑鸿揣妫�楠屽崟 |
+| GET | /mes/qc-oqc/get | 鏌ヨ鍑鸿揣妫�楠屽崟璇︽儏 |
+| GET | /mes/qc-oqc/page | 鍒嗛〉鏌ヨ鍑鸿揣妫�楠屽崟 |
+| GET | /mes/qc-oqc/export-excel | 瀵煎嚭鍑鸿揣妫�楠屽崟 |
+
+**璇锋眰鍙傛暟鍙樻洿锛坈reate / update 鍏辩敤 SaveReqVO锛夛細**
+
+| 鍙傛暟 | 绫诲瀷 | 蹇呭~ | 鍙樻洿璇存槑 |
+|------|------|------|----------|
+| outQuantity | BigDecimal | 鍚� | 鍙戣揣鏁伴噺锛屾敼涓洪潪蹇呭~锛涘~鍊奸渶 鈮� 0 |
+| outDate | LocalDateTime | 鍚� | 鍑鸿揣鏃ユ湡锛屾敼涓洪潪蹇呭~ |
+| checkResult | Integer | **鏄�** | 妫�娴嬬粨鏋滐紝蹇呭~锛涘彇鍊兼敼涓� 1=1鍨� / 2=2鍨� / 3=搴熷搧 |
+
+**鍝嶅簲瀛楁鍙樻洿锛�**
+
+| 瀛楁 | 绫诲瀷 | 璇存槑 |
+|------|------|------|
+| checkResult | Integer | 妫�娴嬬粨鏋滐紝杩斿洖 1 / 2 / 3锛堝瓧鍏� `mes_oqc_check_result`锛� |
+| checkResultText | String | 瀵煎嚭 Excel 鏃剁殑妫�娴嬬粨鏋滄枃鏈紝宸叉寜鏂板瓧鍏稿彇鏍囩 |
+
+**瀛楀吀鎺ュ彛杩斿洖锛坄/system/dict-data/list-by-type?type=mes_oqc_check_result`锛夛細**
+
+| value | label | 棰滆壊 |
+|-------|-------|------|
+| 1 | 1鍨� | success |
+| 2 | 2鍨� | primary |
+| 3 | 搴熷搧 | danger |
+
+> 鍘熷瓧鍏� `mes_qc_check_result` 浠嶄繚鐣欙紝渚� IQC / IPQC / RQC 浣跨敤銆�
+>
+> 鈿� 娉ㄦ剰锛氫唬鐮佹灇涓� `MesQcCheckResultEnum` 瀹氫箟涓� 1鍚堟牸 / 2鐗归噰 / 3涓嶅悎鏍奸��璐� / 4涓嶅悎鏍兼姤搴燂紝浣�**搴撲腑 `mes_qc_check_result` 瀛楀吀鏁版嵁鍙湁 2 鏉�**锛�1=鏍¢獙閫氳繃銆�2=鏍¢獙涓嶉�氳繃锛夛紝鏍囩涓庢灇涓句笉绗︺�佷笖缂� 3/4 涓ら」銆傝闂涓烘棦鏈夐仐鐣欙紝浼氬奖鍝� IQC/IPQC/RQC 鐨勬娴嬬粨鏋滃睍绀猴紝涓庢湰娆� OQC 鍙樻洿鏃犲叧锛岄渶鍙﹁纭淇銆�
+
+## 瀛楁灞曠ず瑙勫垯
+
+| 瀛楁 | 灞曠ず浣嶇疆 | 璇存槑 |
+|------|----------|------|
+| 鍙戣揣鏁伴噺 | 琛ㄥ崟銆佸垪琛ㄣ�佽鎯� | 闈炲繀濉紝鍏佽涓虹┖锛涘垪琛�/璇︽儏绌哄�煎睍绀轰负 `-` |
+| 鍑鸿揣鏃ユ湡 | 琛ㄥ崟銆佸垪琛ㄣ�佽鎯� | 闈炲繀濉紝鍏佽涓虹┖ |
+| 妫�娴嬬粨鏋� | 琛ㄥ崟锛堜笅鎷夛級銆佸垪琛紙瀛楀吀鏍囩锛夈�佽鎯呫�佹煡璇㈡潯浠� | 瀛楀吀绫诲瀷鐢� `mes_qc_check_result` 鏀逛负 `mes_oqc_check_result`锛涗笅鎷夐�夐」涓� 1鍨� / 2鍨� / 搴熷搧 |
+
+## 涓氬姟瑙勫垯璇存槑
+
+| 鍦烘櫙 | 瑙勫垯 |
+|------|------|
+| 妫�娴嬬粨鏋滄彁浜� | 蹇呭~銆備负绌烘椂鍚庣杩斿洖銆屾娴嬬粨鏋滀笉鑳戒负绌恒�� |
+| 妫�娴嬬粨鏋滃彇鍊� | 1鍨� / 2鍨嬶細鍒や负鍚堟牸锛屽搴斿嚭搴撹璐ㄩ噺鐘舵�佺疆涓哄悎鏍硷紝鍑哄簱鍗曞湪鍏ㄩ儴 OQC 琛屾楠屽畬鎴愬悗娴佽浆銆屽緟鎷h揣銆� |
+| 妫�娴嬬粨鏋滃彇鍊� | 搴熷搧锛氬垽涓轰笉鍚堟牸锛屽搴斿嚭搴撹璐ㄩ噺鐘舵�佺疆涓轰笉鍚堟牸锛屽苟**鍙栨秷鏁村紶閿�鍞嚭搴撳崟** |
+| 鍚屼竴鍑哄簱鍗曞琛� OQC | 鍙瀛樺湪浠讳竴銆屽簾鍝併�嶈锛屾暣鍗曞彇娑堬紱鍏ㄩ儴琛屾楠屽畬鎴愪笖鏃犲簾鍝佹墠娴佽浆寰呮嫞璐� |
+| 鍙戣揣鏁伴噺 / 鍑鸿揣鏃ユ湡 | 鍙┖锛屼笉鍙備笌浠讳綍鏍¢獙涓庢祦杞垽鏂� |
+| 鏁伴噺涓�鑷存�э紙鏃㈡湁瑙勫垯涓嶅彉锛� | 鏈妫�娴嬫暟閲� = 鍚堟牸鍝佹暟閲� + 涓嶅悎鏍煎搧鏁伴噺锛屼笉婊¤冻鏃跺悗绔繑鍥炪�屾娴嬫暟閲忓繀椤荤瓑浜庡悎鏍煎搧鏁伴噺涓庝笉鍚堟牸鍝佹暟閲忎箣鍜屻�� |
+
+## 娉ㄦ剰浜嬮」
+
+1. **瀛楀吀鍒囨崲鑼冨洿**锛歄QC 鐨勫垪琛ㄥ垪銆佹煡璇笅鎷夈�佽〃鍗曚笅鎷夈�佽鎯呮爣绛撅紝瀛楀吀绫诲瀷闇�浠� `mes_qc_check_result` 鍏ㄩ儴鍒囧埌 `mes_oqc_check_result`銆傝嫢鏌愬浠嶅鐢� `mes_qc_check_result`锛屼細鍑虹幇銆�1鍨嬨�嶈娓叉煋涓恒�屽悎鏍笺�嶇殑閿欎綅銆�
+2. **鎼滅储鍖哄瓧鍏�**锛氫娇鐢� DICT_TYPE 鍒悕鏃堕渶鍚屾鏂板 `mes_oqc_check_result` 鐨勫瓧鍏哥被鍨嬪父閲忓0鏄庯紝閬垮厤鎼滅储椤瑰彇涓嶅埌閫夐」銆�
+3. **妫�楠屾姤鍛婃墦鍗伴〉**锛氳椤点�屾娴嬬粨鏋溿�嶅垪褰撳墠鍙� `mes_qc_check_result`锛屼笖鎶ュ憡鏄洓绫绘楠屽崟鍏辩敤鐨勩�傝嫢璇ラ〉鍙兘鍑虹幇 OQC 鏁版嵁锛岄渶瑕佹寜鏉ユ簮鍗曟嵁绫诲瀷鍖哄垎瀛楀吀锛涜嫢璇ラ〉鍙湇鍔′簬 IQC/IPQC/RQC锛屽垯鏃犻渶鏀瑰姩銆傝鍓嶇鎸夊疄闄呭彇鏁拌寖鍥寸‘璁ゃ��
+4. **鎵规杩芥函椤�**锛歄QC 鐩稿叧鍒楀綋鍓嶅彇 `mes_qc_check_result`锛岄渶鍒囨崲涓� `mes_oqc_check_result`锛涘悓椤� IQC 鍒椾繚鎸佸師瀛楀吀銆�
+5. **琛ㄥ崟鏍¢獙鎻愮ず**锛氥�屼笉鍚堟牸鍝佹暟閲忎负 0 鏃舵娴嬬粨鏋滀笉鑳戒负 XX銆嶈繖绫诲熀浜庢棫鍥涢�夐」鐨勬彁绀洪�昏緫宸插け鏁堬紙鏃ф灇涓� 3/4 涓嶅啀閫傜敤浜� OQC锛夛紝闇�鎸夋柊涓夐�夐」閲嶅啓鎴栫Щ闄ゃ��
+6. **鍘嗗彶鏁版嵁**锛氱幇鏈� OQC 鍗曟嵁涓娴嬬粨鏋滀负绌猴紝鍒楄〃/璇︽儏闇�瀹瑰繊 null锛堝睍绀轰负 `-`锛夈�傛棤鍘嗗彶鏁版嵁闇�瑕佽縼绉汇��
+7. **鍙戣揣鏁伴噺涓庡嚭璐ф棩鏈�**锛氬幓鎺夊墠绔繀濉牎楠屽悗锛屾彁浜ゆ椂瀛楁鍙负 null 鎴栫渷鐣ワ紝鍚庣涓嶅啀鎶ラ敊锛涘缓璁〃鍗曚粛淇濈暀杈撳叆椤癸紙涓氬姟涓婂彲濉級銆�
diff --git a/docs/mes_oqc_required_fields_relax_frontend.md b/docs/mes_oqc_required_fields_relax_frontend.md
new file mode 100644
index 0000000..078bc58
--- /dev/null
+++ b/docs/mes_oqc_required_fields_relax_frontend.md
@@ -0,0 +1,118 @@
+# MES 鍑鸿揣妫�楠屽崟锛圤QC锛夋柊澧�/缂栬緫瀛楁鏀惧紑蹇呭~ - 鍓嶇鑱旇皟鏂规
+
+> 鐘舵�侊細鍚庣涓庡墠绔潎宸叉寜鏈枃瀹炴柦銆傛敼鍔ㄧ偣锛�
+> `MesQcOqcSaveReqVO`锛堝幓鏍¢獙锛夈�乣MesQcOqcRespVO`锛圫wagger 鏍囪锛夈�乣MesQcOqcMapper`锛堝鎴蜂负绌烘椂鐨勫彲瑙佹�э級銆�
+> `src/views/mes/qc/oqc/data.ts`锛堝幓 rules锛夈�傚墠绔彧鏀逛簡 form schema 鐨� rules锛屾湭鍔ㄥ垪琛�/璇︽儏灞曠ず銆�
+> 鍚庣闇�**閲嶅惎**鍚庣敓鏁堛��
+
+## 鍙樻洿鎽樿
+
+OQC 鏂板/缂栬緫琛ㄥ崟涓紝浠ヤ笅 4 涓瓧娈电敱蹇呭~鏀逛负闈炲繀濉細
+
+| 瀛楁 | 鍚庣灞炴�� | 璋冩暣鍓� | 璋冩暣鍚� |
+|------|----------|--------|--------|
+| 瀹㈡埛 | `clientId` | 蹇呭~ `@NotNull` | **闈炲繀濉�** |
+| 鍙戣揣鏁伴噺锛堟湰娆″嚭璐ф暟閲忥級 | `outQuantity` | 蹇呭~ `@NotNull` | **闈炲繀濉�**锛堝~鍊间粛闇� 鈮� 0锛� |
+| 妫�娴嬫暟閲忥紙鏈妫�娴嬫暟閲忥級 | `checkQuantity` | 蹇呭~ `@NotNull` | **闈炲繀濉�**锛堝~鍊间粛闇� 鈮� 0锛� |
+| 鍑鸿揣鏃ユ湡 | `outDate` | 蹇呭~ `@NotNull` | **闈炲繀濉�** |
+
+鍏朵綑瀛楁淇濇寔涓嶅彉锛屼粛涓哄繀濉細妫�楠屽崟缂栧彿銆佹楠屽崟鍚嶇О銆佷骇鍝佺墿鏂欍�佸悎鏍煎搧鏁伴噺銆佷笉鍚堟牸鍝佹暟閲忋�佹娴嬫棩鏈熴�佹娴嬩汉鍛樸��
+
+> 鐩稿叧鍘嗗彶鏂囨。锛歚docs/mes_oqc_check_result_frontend.md` 鏇捐鍒掓斁寮�銆屽彂璐ф暟閲� / 鍑鸿揣鏃ユ湡銆嶄袱椤癸紝浣嗘湰浠撳簱鍓嶇
+> 锛坄src/views/mes/qc/oqc/data.ts`锛夌洰鍓嶄粛鏄� `rules: 'required'`锛屽嵆璇ヤ袱椤逛篃鏈疄闄呮斁寮�銆傛湰娆′竴骞跺鐞嗐��
+
+## 娑夊強椤甸潰
+
+- MES 鍑鸿揣妫�楠屽崟锛圤QC锛夊垪琛ㄩ〉 - 鏂板/缂栬緫寮圭獥
+- MES 鍑鸿揣妫�楠屽崟锛圤QC锛夊垪琛ㄩ〉 - 鍒楄〃鍒椼�佹煡璇㈡潯浠�
+- MES 鍑鸿揣妫�楠屽崟锛圤QC锛夎鎯呴〉
+- 寰呮浠诲姟椤碉紙`views/mes/qc/pendinginspect`锛�-銆屽嚭璐ф楠屻�嶆寜閽烦杞殑鍒涘缓寮圭獥锛堥濉ā寮忥級
+
+## API
+
+| 鏂规硶 | 璺緞 | 璇存槑 |
+|------|------|------|
+| POST | /mes/qc/oqc/create | 鏂板鍑鸿揣妫�楠屽崟 |
+| PUT | /mes/qc/oqc/update | 淇敼鍑鸿揣妫�楠屽崟 |
+| GET | /mes/qc/oqc/get | 鏌ヨ鍑鸿揣妫�楠屽崟璇︽儏 |
+| GET | /mes/qc/oqc/page | 鍒嗛〉鏌ヨ鍑鸿揣妫�楠屽崟 |
+| GET | /mes/qc/oqc/export-excel | 瀵煎嚭鍑鸿揣妫�楠屽崟 |
+
+**璇锋眰鍙傛暟鍙樻洿锛坈reate / update 鍏辩敤 `MesQcOqcSaveReqVO`锛夛細**
+
+| 鍙傛暟 | 绫诲瀷 | 蹇呭~ | 璇存槑 |
+|------|------|------|------|
+| clientId | Long | 鍚� | 瀹㈡埛 ID锛屽彲绌恒�佸彲鐪佺暐 |
+| outQuantity | BigDecimal | 鍚� | 鏈鍑鸿揣鏁伴噺锛屽彲绌猴紱濉�奸渶 鈮� 0 |
+| checkQuantity | BigDecimal | 鍚� | 鏈妫�娴嬫暟閲忥紝鍙┖锛涘~鍊奸渶 鈮� 0 |
+| outDate | LocalDateTime | 鍚� | 鍑鸿揣鏃ユ湡锛屽彲绌� |
+
+**鍝嶅簲瀛楁鍙樻洿锛坄MesQcOqcRespVO`锛夛細** 鏃犳柊澧炲瓧娈碉紝浠� `clientId` / `outQuantity` 鐨� Swagger `requiredMode` 鐢� REQUIRED 鏀逛负鍙┖銆�
+`clientNickname`銆乣unitName` 绛夊叧鑱斿瓧娈靛湪瀵瑰簲 ID 涓虹┖鏃朵笉鍐嶈繑鍥烇紙淇濇寔 null锛夛紝鍓嶇闇�瀹瑰繊绌哄�笺��
+
+**璇锋眰绀轰緥锛堟渶灏忓彲鎻愪氦浣擄級锛�**
+
+```json
+{
+  "code": "OQC20260922001",
+  "name": "鐗╂枡A鍑鸿揣妫�楠�",
+  "itemId": 20,
+  "qualifiedQuantity": 10,
+  "unqualifiedQuantity": 0,
+  "inspectDate": "2026-09-22 10:00:00",
+  "inspectorUserId": 1
+}
+```
+
+**鍝嶅簲锛�** `{ "code": 0, "data": 123 }`锛坉ata 涓烘柊寤哄崟鎹� ID锛�
+
+## 瀛楁灞曠ず瑙勫垯
+
+| 瀛楁 | 灞曠ず浣嶇疆 | 璇存槑 |
+|------|----------|------|
+| 瀹㈡埛 | 琛ㄥ崟銆佸垪琛ㄣ�佽鎯呫�佹煡璇㈡潯浠� | 闈炲繀濉紱鏁版嵁搴撳�煎彲涓虹┖锛屽墠绔┖鍊煎睍绀� `-` |
+| 鍙戣揣鏁伴噺 | 琛ㄥ崟銆佸垪琛ㄣ�佽鎯� | 闈炲繀濉紱绌哄�煎睍绀� `-`锛屼笉鍙睍绀轰负 `0` |
+| 妫�娴嬫暟閲� | 琛ㄥ崟銆佸垪琛ㄣ�佽鎯� | 闈炲繀濉紱绌哄�煎睍绀� `-`锛屼笉鍙睍绀轰负 `0` |
+| 鍑鸿揣鏃ユ湡 | 琛ㄥ崟銆佸垪琛ㄣ�佽鎯� | 闈炲繀濉紱绌哄�煎睍绀� `-` |
+
+## 涓氬姟瑙勫垯璇存槑
+
+| 鍦烘櫙 | 瑙勫垯 |
+|------|------|
+| 鎻愪氦鏍¢獙 | 涓婅堪 4 涓瓧娈典负绌烘垨鐪佺暐锛屽悗绔笉鍐嶆姤銆孹X涓嶈兘涓虹┖銆� |
+| 鏁伴噺涓嬮檺 | 浠嶄繚鐣欙細濉簡鍊煎氨蹇呴』 鈮� 0锛屽惁鍒欐姤銆孹X涓嶈兘灏忎簬 0銆� |
+| 鏁伴噺涓�鑷存�э紙鏃㈡湁瑙勫垯涓嶅彉锛� | 妫�娴嬫暟閲忋�佸悎鏍煎搧鏁伴噺銆佷笉鍚堟牸鍝佹暟閲忎笁鑰�**閮藉~浜�**鏃讹紝蹇呴』婊¤冻銆屾娴嬫暟閲� = 鍚堟牸鍝佹暟閲� + 涓嶅悎鏍煎搧鏁伴噺銆嶏紝鍚﹀垯鎶ャ�屾娴嬫暟閲忓繀椤荤瓑浜庡悎鏍煎搧鏁伴噺涓庝笉鍚堟牸鍝佹暟閲忎箣鍜屻�嶏紱妫�娴嬫暟閲忎负绌烘椂涓嶅仛璇ユ牎楠� |
+| 瀹屾垚妫�楠屽崟 | 涓庢湰娆″彉鏇存棤鍏筹紝浠嶈姹傦細妫�娴嬬粨鏋滃繀濉� + 鑷冲皯涓�鏉℃娴嬬粨鏋滆褰� |
+| 缂洪櫡鐜囪绠� | 妫�娴嬫暟閲忎负绌烘椂锛岃嚧鍛�/涓ラ噸/杞诲井缂洪櫡鐜囨寜 0 澶勭悊锛堝悗绔凡澶勭悊锛� |
+| 瀵煎嚭 Excel | 绌虹殑瀹㈡埛/鏁伴噺/鏃ユ湡鍒楀鍑轰负绌虹櫧鍗曞厓鏍� |
+| AI 鎶ュ憡 / 璐ㄦ鎶ュ憡 | 瀹㈡埛涓虹┖鏃舵姤鍛婁笉杈撳嚭銆屽鎴峰悕绉般�嶏紱鍑鸿揣鏁伴噺涓虹┖鏃朵笉杈撳嚭璇ラ」锛屼笉鎶ラ敊 |
+
+## 娉ㄦ剰浜嬮」
+
+1. **鍓嶇蹇呭~鏍¢獙宸叉斁寮�**锛歚src/views/mes/qc/oqc/data.ts` 涓� `useFormSchema` 閲岃繖 4 涓瓧娈电殑 `rules` 宸茬Щ闄�
+   锛坄clientId` 鍘� `'selectRequired'`锛沗outQuantity` / `checkQuantity` / `outDate` 鍘� `'required'`锛夈��
+   鍏朵綑瀛楁 rules 鏈姩銆�
+
+2. **鍒楄〃/璇︽儏绌哄�煎睍绀�**锛氭湰娆℃湭鏀瑰垪琛�/璇︽儏妯℃澘锛岀┖鍊兼寜 VXE 榛樿娓叉煋涓�**绌虹櫧**锛堜笉鏄� `-`锛夛紝
+   娉ㄦ剰涓嶈涓轰簡濂界湅鏀规垚 `?? 0`锛屼細鎶娿�屾湭濉�嶆樉绀烘垚 `0`锛屼笌涓氬姟鍚箟涓嶇銆�
+
+3. **鍙戣揣鏁伴噺涓庢娴嬫暟閲忚仈鍔ㄩ�昏緫**锛氱幇鏈夎〃鍗曟湁銆屾柊寤烘�佷笅锛屽~鍙戣揣鏁伴噺鑷姩甯﹀嚭妫�娴嬫暟閲忥紝鍙嶄箣浜︾劧銆嶇殑 `onChange` 閫昏緫锛�
+   鍒ゆ柇渚濊禆 `values.checkQuantity === null`銆傛湰娆℃湭鏀硅閫昏緫锛岃涓轰繚鎸佸師鏍凤紙浠呯敤鎴蜂富鍔ㄨ緭鍏ユ椂瑙﹀彂锛屾竻绌哄悗涓嶄細琚嚜鍔ㄥ~鍥烇級銆�
+   鑻ュ悗缁彂鐜� antd InputNumber 鍥炲~ `undefined` 瀵艰嚧鑱斿姩澶辨晥鎴栦簰鐩歌鐩栵紝鍐嶆寜闇�璋冩暣銆�
+
+4. **寰呮浠诲姟棰勫~**锛歚pendinginspect` 椤甸�氳繃 `prefill` 甯﹀叆 `clientId` / `outQuantity`锛宍form.vue` 閲屼細鐢�
+   `data.prefill.checkQuantity ?? data.prefill.outQuantity` 琛ラ綈妫�娴嬫暟閲忋�傛斁寮�蹇呭~鍚庤繖涓�岃ˉ榻愩�嶄粛鍙繚鐣欙紙涓氬姟涓婂悎鐞嗭級锛�
+   浣嗚纭鐢ㄦ埛娓呯┖鍚庝笉浼氳鍐嶆鑷姩濉洖銆�
+
+5. **瀹㈡埛涓虹┖鏃跺垪琛ㄥ彲瑙佹�э紙宸插鐞嗭級**锛�
+   OQC 鍒楄〃鏌ヨ甯﹀鎴锋潈闄愯繃婊も�斺�擿MesQcOqcServiceImpl.getOqcPage` 鍙� `customerApi.getPermittedCustomerIds()`锛�
+   闈炵┖鏃舵嫾 `client_id IN (...)`銆傛斁寮�瀹㈡埛蹇呭~鍚庯紝瀹㈡埛涓虹┖鐨勫崟鎹師鏈細杩�**寤哄崟浜鸿嚜宸�**閮界湅涓嶅埌锛堝彈闄愮敤鎴凤級锛�
+   宸插湪 `MesQcOqcMapper.selectPage(reqVO, permittedClientIds)` 涓敼涓猴細
+
+   - 鏈夋潈闄愬鎴峰垪琛細`client_id IS NULL OR client_id IN (...)`
+   - 娌℃湁浠讳綍鏈夋潈闄愬鎴凤紙鍒楄〃涓虹┖锛夛細鍙煡 `client_id IS NULL`
+
+   鍗炽�屾棤瀹㈡埛鐨勫崟鎹笉灞炰簬浠讳綍瀹㈡埛锛屼笉鍙楀鎴锋潈闄愰伄鎸★紝瀵规墍鏈変汉鐢熸晥銆嶃�傝秴绠$瓑 `getPermittedCustomerIds()` 杩斿洖 null
+   鐨勭敤鎴锋湰鏉ュ氨涓嶅仛杩囨护锛屼笉鍙楀奖鍝嶃��
+
+6. **鍘嗗彶鏁版嵁**锛氱幇鏈� OQC 鍗曟嵁鐨勮繖 4 涓瓧娈甸兘鏈夊�硷紝鏃犻渶鏁版嵁杩佺Щ銆�
diff --git a/docs/oqc_check_result_extend_frontend.md b/docs/oqc_check_result_extend_frontend.md
new file mode 100644
index 0000000..f07b0e9
--- /dev/null
+++ b/docs/oqc_check_result_extend_frontend.md
@@ -0,0 +1,71 @@
+# OQC 鍑哄巶妫�楠岋紙鍑鸿揣妫�楠岋級妫�娴嬬粨鏋滄墿灞� - 鍓嶇鑱旇皟鏂规
+
+## 鍙樻洿鑳屾櫙
+
+鍑哄巶妫�楠岋紙OQC 鍑鸿揣妫�楠岋級鐨勩�屾娴嬬粨鏋溿�嶇敱鍘熸潵鐨� 3 椤规墿灞曚负 7 椤癸紝骞舵槑纭斁琛岃鍒欍��
+
+| value | 鏍囩 | 棰滆壊 | 鏄惁鏀捐鍙戣揣 |
+|-------|------|------|--------------|
+| 1 | 1鍨� | success | 鏀捐 |
+| 2 | 2鍨� | primary | 鏀捐 |
+| 3 | 搴熷搧 | danger | **涓嶆斁琛�** |
+| 4 | 3鍨� | success | 鏀捐 |
+| 5 | 浼樼瓑鍝� | success | 鏀捐 |
+| 6 | 鍚堟牸鍝� | primary | 鏀捐 |
+| 7 | 涓嶅悎鏍煎搧 | danger | **涓嶆斁琛�** |
+
+## 娑夊強椤甸潰
+
+- MES 璐ㄦ - 鍑鸿揣妫�楠岋紙OQC锛夊垪琛ㄩ〉銆佹柊澧�/缂栬緫寮圭獥
+- 鎵规杩芥函璇︽儏锛堝睍绀� OQC 妫�楠岀粨璁猴級
+- 妫�楠屾姤鍛婃墦鍗般�佷骇鍝佹楠屽崟 Word 瀵煎嚭锛堝垽瀹氱粨璁哄睍绀猴級
+
+## 瀛楀吀鏉ユ簮
+
+妫�娴嬬粨鏋滀笅鎷夌殑閫夐」鏉ヨ嚜瀛楀吀 `mes_oqc_check_result`锛堝墠绔父閲� `DICT_TYPE.MES_OQC_CHECK_RESULT`锛夛紝
+閫夐」鐢卞瓧鍏搁┍鍔ㄣ��**涓嶉渶瑕佸墠绔‖缂栫爜**銆傚悗绔凡鎵╁睍瀛楀吀鏁版嵁锛屼笅鎷夋浼氳嚜鍔ㄥ甫鍑哄叏閮� 7 椤广��
+
+## 鎺ュ彛
+
+鏈鏃犳帴鍙f柊澧炪�佹棤璇锋眰鍙傛暟涓庡搷搴旂粨鏋勫彉鏇达細
+`checkResult` 瀛楁浠嶄负 Integer锛屼粎鍙栧�艰寖鍥寸敱 1~3 鎵╁睍涓� 1~7銆�
+
+| 鏂规硶 | 璺緞 | 璇存槑 |
+|------|------|------|
+| POST | /mes/qc-oqc/create | 鏂板鍑鸿揣妫�楠屽崟 |
+| PUT | /mes/qc-oqc/update | 淇敼鍑鸿揣妫�楠屽崟 |
+| PUT | /mes/qc-oqc/finish | 瀹屾垚鍑鸿揣妫�楠屽崟 |
+| GET | /mes/qc-oqc/get | 鏌ヨ鍑鸿揣妫�楠屽崟璇︽儏 |
+
+## 涓氬姟娴佺▼涓庢暟鎹甫鍏�
+
+1. 閿�鍞嚭搴撳崟鎻愪氦 鈫� 鐢熸垚 OQC 鍑鸿揣妫�楠屽崟锛堣崏绋挎�侊級锛屽崟鎹俊鎭嚜鍔ㄥ甫鍏ャ��
+2. 璐ㄦ鍛樺綍鍏ユ娴嬬粨鏋滐紙涓嬫媺閫夋嫨锛夆啋 瀹屾垚妫�楠屽崟銆�
+3. 瀹屾垚鍚庢寜鏀捐瑙勫垯鍥炲啓閿�鍞嚭搴撳崟琛岋細
+   - 缁撴灉涓� 1鍨�/2鍨�/3鍨�/浼樼瓑鍝�/鍚堟牸鍝� 鈫� 鍑哄簱琛屽垽**鍚堟牸**锛屽嚭搴撳崟鎺ㄨ繘銆屽緟鎷h揣銆嶃��
+   - 缁撴灉涓� 搴熷搧/涓嶅悎鏍煎搧 鈫� 鍑哄簱琛屽垽**涓嶅悎鏍�**锛�**鏁村崟鍙栨秷**閿�鍞嚭搴撳崟銆�
+4. 鏍¢獙瑙勫垯锛氭娴嬫暟閲� = 鍚堟牸鍝佹暟閲� + 涓嶅悎鏍煎搧鏁伴噺锛堝師鏈夎鍒欙紝涓嶅彉锛夈��
+
+## 鍓嶇闇�鍚屾鐨勪慨鏀圭偣
+
+| 浣嶇疆 | 淇敼璇存槑 |
+|------|----------|
+| `src/packages/constants/src/biz-mes-enum.ts` | `MesQcOqcCheckResultEnum` 甯搁噺琛ュ厖 4 涓柊鍊硷細3鍨�=4銆佷紭绛夊搧=5銆佸悎鏍煎搧=6銆佷笉鍚堟牸鍝�=7 |
+| `src/views/mes/qc/oqc/modules/form.vue` | 鎻愪氦鏍¢獙銆屼笉鍚堟牸鍝佹暟閲忎负 0 鏃讹紝妫�娴嬬粨鏋滀笉鑳戒负搴熷搧銆嶉渶鎵╁睍涓猴細妫�娴嬬粨鏋滀负**搴熷搧鎴栦笉鍚堟牸鍝�**鏃讹紝涓嶅悎鏍煎搧鏁伴噺涓嶈兘涓� 0 |
+
+> 涓嬫媺閫夐」鏈韩鐢卞瓧鍏搁┍鍔紝浠呰ˉ瀛楀吀鍗冲彲鏄剧ず锛涗笂琛ㄤ袱椤规槸涓轰簡甯搁噺璇箟瀹屾暣涓庢牎楠屼竴鑷淬��
+
+## 涓氬姟瑙勫垯璇存槑
+
+| 鍦烘櫙 | 瑙勫垯 |
+|------|------|
+| 缁撴灉涓哄彲鏀捐绛夌骇 | 鍑哄簱琛屽垽鍚堟牸锛岄攢鍞嚭搴撳崟鎺ㄨ繘寰呮嫞璐� |
+| 缁撴灉涓� 搴熷搧 鎴� 涓嶅悎鏍煎搧 | 鍑哄簱琛屽垽涓嶅悎鏍硷紝鍙栨秷閿�鍞嚭搴撳崟 |
+| 涓嶅悎鏍煎搧鏁伴噺涓� 0 | 涓嶅厑璁搁�夋嫨 搴熷搧 / 涓嶅悎鏍煎搧 |
+| 妫�娴嬫暟閲忔牎楠� | 妫�娴嬫暟閲� = 鍚堟牸鍝佹暟閲� + 涓嶅悎鏍煎搧鏁伴噺 |
+
+## 娉ㄦ剰浜嬮」
+
+- 鍘嗗彶鏁版嵁涓凡淇濆瓨鐨� `checkResult`锛�1/2/3锛夎涔変笉鍙橈紝鏃犻渶鏁版嵁杩佺Щ銆�
+- 瀛楀吀棰滆壊 `color_type` 浼氬奖鍝嶅垪琛ㄦ爣绛鹃厤鑹诧紝鍓嶇浣跨敤瀛楀吀鏍囩娓叉煋鏃朵笉闇�棰濆澶勭悊銆�
+- 鍚庣鏀捐鍒ゅ畾缁熶竴鏀舵暃鍦� `MesQcOqcCheckResultEnum.canShip()`锛屽墠绔笉瑕佽嚜琛屽疄鐜版斁琛屽垽鏂��
diff --git a/docs/qc_item_mdm_resolution_and_list_columns.md b/docs/qc_item_mdm_resolution_and_list_columns.md
new file mode 100644
index 0000000..02b310c
--- /dev/null
+++ b/docs/qc_item_mdm_resolution_and_list_columns.md
@@ -0,0 +1,98 @@
+# 璐ㄦ鍗曘�屼骇鍝佺墿鏂欏甫涓嶅嚭銆嶄慨澶� + 鍒楄〃瀛楁鐦﹁韩 - 鍓嶇鑱旇皟鏂规
+
+## 鐜扮姸璇存槑锛�2026-09-22 淇锛�
+
+鏈枃鍘熷厛鏍囨敞鍚庣鏀瑰姩銆屽凡瀹屾垚銆嶏紝**缁忓疄娴嬩负涓嶅疄**锛歚grep MdmItemApi` 鍦� `controller/admin/qc` 涓嬮浂鍛戒腑锛屽嵆璐ㄦ鎺у埗鍣ㄥ綋鏃朵粛璧� MES 渚� `MesMdItemService`锛岀墿鏂欏悕绉颁緷鏃ф煡涓嶅嚭鏉ワ紙`mes_md_item` 60 琛� 鈯� `mdm_item` 75 琛岋紝婕忔帀鐨� 15 涓墿鏂欐樉绀轰负绌猴紱`mes_md_unit_measure` 0 琛岋紝鍗曚綅鎭掍负绌猴級銆�
+
+**鐜板凡浜� 2026-09-22 鐪熸钀藉湴**锛屽疄闄呮敼鍔ㄦ竻鍗曡涓嬫柟銆屽悗绔敼鍔ㄣ�嶈〃锛堟湰娆℃敼涓轰互鐪熷疄浠g爜涓哄噯锛岄�愭枃浠跺垪鍑猴級銆傚墠绔仈璋冨唴瀹癸紙鍒楄〃鐦﹁韩銆乣MdmItemSelect`锛変笉鍙楀奖鍝嶏紝浠嶆寜涓嬫枃鎵ц銆�
+
+## 鍙樻洿鑳屾櫙
+
+1. **浜у搧鐗╂枡淇℃伅鏌ヤ笉鍑烘潵**锛欼QC / IPQC / OQC / RQC 鍥涘紶妫�楠屽崟锛堜互鍙娿�屽緟妫�浠诲姟銆嶉〉锛夌殑鍒嗛〉涓庤鎯呮帴鍙d腑锛宍itemCode`锛堢墿鏂欑紪鐮侊級銆乣itemName`锛堢墿鏂欏悕绉帮級銆乣itemSpecification`锛堣鏍煎瀷鍙凤級銆乣unitName`锛堝崟浣嶏級鎭掍负绌恒��
+2. **鍒楄〃瀛楁杩囦簬鍐楁潅**锛氭楠屽崟鍒嗛〉鍒楄〃鎶婂ぇ閲�**闈炲繀濉�**瀛楁涔熶綔涓哄垪灞曠ず锛屼俊鎭瘑搴︿綆銆�
+
+## 鏍规湰鍘熷洜锛堢 1 椤癸級
+
+璐ㄦ鍗曟嵁鐨� `item_id` 瀛樼殑鏄� **MDM 鐗╂枡 ID**锛坄mdm_item.id`锛夛紝鍚庣鍗村幓 **MES 鐗╂枡琛�**锛坄mes_md_item`锛夊弽鏌ュ悕绉帮紝涓ゅ紶琛ㄤ笉鏄竴濂� ID 浣撶郴锛屽鑷存煡涓嶅埌锛坄mes_md_item` 鐢氳嚦鍙兘涓虹┖琛級銆�
+
+鐩稿叧璇存槑瑙佽蹇嗐�孧ES 鐗╂枡 ID 鍙岃建鍒躲�嶏細WM/璐ㄦ鍗曟嵁鐢� `mdm_item.id`锛孭RO 宸ュ崟/浠诲姟鐢� `mes_md_item.id`銆�
+
+## 鍚庣鏀瑰姩锛�2026-09-22 宸插畬鎴愶紝鎺ュ彛缁撴瀯鏈彉锛屼粎鍝嶅簲鍊煎彉姝g‘锛�
+
+| 鏂囦欢 | 鏀瑰姩 |
+|------|------|
+| `MesQcIpqcController` | 鐗╂枡/鍗曚綅鏀圭敱 `MdmItemApi` / `MdmUnitMeasureApi` 瑙f瀽锛堝垪琛� VO 涓庡鍑鸿涓ゅ锛� |
+| `MesQcIqcController` | 鍚屼笂锛堝悓鏃惰 Service 鐨勭墿鏂欐牎楠屾棭宸茶蛋 `mdmItemApi`锛� |
+| `MesQcOqcController` | 鍚屼笂 |
+| `MesQcRqcController` | 鍚屼笂锛沗MesQcRqcServiceImpl` 鐨勭墿鏂欐牎楠屼竴骞剁敱 `MesMdItemService` 鏀逛负 `MdmItemApi` |
+| `MesQcNcrController`锛堥『甯︼級 | 涓嶅悎鏍煎搧澶勭悊鍗曠殑 `itemId` 缁ф壙鑷川妫�鍗曪紝鍚屽彛寰勫垏鍒� `MdmItemApi`锛屽惁鍒� NCR 鍒楄〃鐗╂枡鍚嶄负绌� |
+| `MesQc*LineController`锛圛PQC/IQC/OQC/RQC 琛岋級 | 琛屾槑缁嗙殑璁¢噺鍗曚綅鐢� `MdmUnitMeasureApi` 瑙f瀽 |
+| `MesQcPendingInspectController` | 鍦� `buildPendingInspectRespVOList` 涓寜 `item_id` 鎵归噺琛� `itemCode/itemName/specification/unitName`锛堝師璧� MES 渚цВ鏋愶紝婕� 15 涓墿鏂欙級 |
+| `MesQcTemplateItemController` | 浜у搧鍏宠仈鍒楄〃鐨勭墿鏂�/璁¢噺鍗曚綅鐢� `MesMdmItemService`/`MesMdUnitMeasureService` 鏀逛负 `MdmItemApi`/`MdmUnitMeasureApi`锛坄mes_md_unit_measure` 涓� 0 琛岋紝鍘熷崟浣嶆亽涓虹┖锛� |
+| `MesQcTemplateIndicatorController` | 妫�娴嬫寚鏍囬」鐨勮閲忓崟浣嶅悓涓婂垏鍒� `MdmUnitMeasureApi` |
+| `MesQcTemplateItemServiceImpl` | `getTemplateItemList` 鍘绘帀銆屾寜 `mes_md_item.id` 鍙嶆煡鍐嶈浆 `mdm_item.id`銆嶇殑涓棿杞崲鈥斺�旇川妫�渚у叆鍙傛湰灏辨槸 MDM 鐗╂枡 ID锛涘悓鏃跺垹闄� `workOrderId`/`taskId` 鍒嗘敮锛堣川妫�鍗曟嵁宸叉棤宸ュ崟/浠诲姟缁村害锛� |
+| `MesQcIqcServiceImpl` | 鍒犻櫎鏈浣跨敤鐨� `MesMdItemService` 瀛楁 |
+
+> **鎺ュ彛璺緞銆佽姹傚弬鏁般�佸搷搴斿瓧娈电粨鏋勫潎鏃犲彉鍖�**锛屼粎淇濊瘉 `itemCode/itemName/itemSpecification/unitName` 鏈夊�笺�傚墠绔�**鏃犻渶鏀规帴鍙h皟鐢�**锛屽彧瑕佸師鏉ュ凡灞曠ず杩欎簺瀛楁鍗宠嚜鍔ㄧ敓鏁堛��
+
+> 鍚庣画淇锛�2026-09-22 浜屾锛夛細`/mes/qc/template/item/list-by-item-and-type` 鐨� `workOrderId`/`taskId` 鍙傛暟**宸茬Щ闄�**锛屽彧鎺ュ彈 `{ qcType, itemId }`锛屽叾涓� `itemId` 涓� **MDM 鐗╂枡 ID**銆�
+
+## 鍓嶇鏀瑰姩锛堝凡瀹屾垚锛�
+
+### 1. 妫�楠屽崟鍒楄〃锛氶潪蹇呭~瀛楁绉诲嚭鍒楄〃锛屼粎銆屾娴嬬粨鏋溿�嶄緥澶�
+
+瑙勫垯锛�**闈炲繀濉殑瀛楁涓嶅啀浣滀负鍒楄〃鍒楋紝鍞竴渚嬪鏄�屾娴嬬粨鏋溿��**銆傚垽瀹氫互**鍚庣 `MesQc*SaveReqVO` 鐨勬牎楠屾敞瑙�**涓哄噯锛堜笌鍓嶇琛ㄥ崟 `rules` 涓�鑷达級锛氭棤 `@NotNull` / `@NotEmpty` 鍗宠涓洪潪蹇呭~銆�
+
+鍥涗釜鍒楄〃鏈�缁堝垪锛堥『搴忓嵆灞曠ず椤哄簭锛夛細
+
+| 椤甸潰 | 鍒楄〃鍒� |
+|------|--------|
+| IPQC 杩囩▼妫�楠� | 妫�楠屽崟缂栧彿銆佹楠屽崟鍚嶇О銆佹楠岀被鍨嬨�佷骇鍝佺墿鏂欑紪鐮併�佷骇鍝佺墿鏂欏悕绉般�佽鏍煎瀷鍙枫�佹壒鍙枫�佸崟浣嶃�佹娴嬫暟閲忋�佹娴嬬粨鏋溿�佹娴嬫棩鏈熴�佹娴嬩汉鍛樸�佸崟鎹姸鎬併�佹搷浣� |
+| IQC 鏉ユ枡妫�楠� | 妫�楠屽崟缂栧彿銆佹楠屽崟鍚嶇О銆佷骇鍝佺墿鏂欑紪鐮併�佷骇鍝佺墿鏂欏悕绉般�佹帴鏀舵暟閲忋�佹娴嬫暟閲忋�佷笉鍚堟牸鏁般�佹娴嬬粨鏋溿�佹潵鏂欐棩鏈熴�佹娴嬫棩鏈熴�佹娴嬩汉鍛樸�佸崟鎹姸鎬併�佹搷浣� |
+| OQC 鍑鸿揣妫�楠� | 妫�楠屽崟缂栧彿銆佹楠屽崟鍚嶇О銆佷骇鍝佺墿鏂欑紪鐮併�佷骇鍝佺墿鏂欏悕绉般�佽鏍煎瀷鍙枫�佸崟浣嶃�佷笉鍚堟牸鏁般�佹娴嬬粨鏋溿�佹娴嬫棩鏈熴�佹娴嬩汉鍛樸�佸崟鎹姸鎬併�佹搷浣� |
+| RQC 閫�璐ф楠� | 妫�楠屽崟缂栧彿銆佹楠屽崟鍚嶇О銆佷骇鍝佺墿鏂欑紪鐮併�佷骇鍝佺墿鏂欏悕绉般�佽鏍煎瀷鍙枫�佸崟浣嶃�佹娴嬬粨鏋溿�佹娴嬫棩鏈熴�佹娴嬩汉鍛樸�佸崟鎹姸鎬併�佹搷浣� |
+
+**浠庡垪琛ㄧЩ闄ょ殑鍒�**锛堝瓧娈垫湰韬�佽鎯呭脊绐椼�佸鍑恒�佹爣棰樻爮绛涢�夋潯浠跺潎淇濈暀锛屼粎涓嶅啀鍗犲垪琛級锛�
+
+| 椤甸潰 | 绉婚櫎鐨勫垪 | 渚濇嵁锛圫aveReqVO 涓棤蹇呭~娉ㄨВ鐨勫瓧娈碉級 |
+|------|----------|--------------------------------------|
+| IQC | 渚涘簲鍟嗙畝绉般�佷緵搴斿晢鎵规鍙� | `vendorId` / `vendorBatch` |
+| OQC | 瀹㈡埛鍚嶇О銆佹壒娆″彿銆佸彂璐ф暟閲忋�佹娴嬫暟閲忋�佸嚭璐ф棩鏈� | `clientId` / `batchCode` / `outQuantity` / `checkQuantity` / `outDate` |
+| RQC | 鏉ユ簮鍗曟嵁绫诲瀷銆佹潵婧愬崟鎹紪鐮併�佹壒娆″彿 | `sourceDocType` / `sourceDocCode` / `batchCode` |
+| IPQC | 鏃狅紙鍘熷垪琛ㄥ凡鏃犻潪蹇呭~鍒楋級 | 鈥� |
+
+> 淇锛�2026-09-22 涓夋锛夛細鏈枃姝ゅ墠璁拌浇銆屽洓涓垪琛ㄦ柊澧炲鏍镐汉 `auditNickname` / 瀹℃牳浜� `approveNickname`銆嶄笌瀹炴祴涓嶇 鈥斺�� `grep auditNickname|approveNickname` 鍦� `controller/admin/qc` 涓嬮浂鍛戒腑锛屽洓涓〉闈㈢殑 `data.ts` 涓篃鏃犲搴斿垪銆傝鏉″凡鍒犻櫎锛屼互鏈〃涓哄噯銆�
+
+### 2. 寰呮浠诲姟椤碉細鐗╂枡绛涢�夊櫒鎹㈡垚 MDM 鐗╂枡
+
+`src/views/mes/qc/pendinginspect/data.ts` 鐨勩�屼骇鍝佺墿鏂欍�嶇瓫閫夋潯浠讹紝鐢� MES 鐗╂枡閫夋嫨鍣ㄦ敼涓� **`MdmItemSelect`**锛坄#/views/basicData/mdm/components`锛夈�傚師鍥狅細寰呮浠诲姟鐨� `item_id` 鏉ヨ嚜 WM 鍗曟嵁锛坄mes_wm_*`锛夛紝灞� MDM 鐗╂枡 ID 浣撶郴锛涙部鐢� MES 鐗╂枡閫夋嫨鍣ㄤ細甯﹀叆 `mes_md_item.id`锛岀瓫閫夌粨鏋滄亽涓虹┖銆�
+
+> 娉ㄦ剰鍖哄垎锛歚MdmItemSelect`锛圡DM锛変綅浜� `#/views/basicData/mdm/components`锛沗MdItemSelect`锛圡ES锛変綅浜� `#/views/mes/md/item/components`銆備簩鑰呬笉鍙贩鐢ㄣ��
+
+## 瀛楁灞曠ず瑙勫垯
+
+| 瀛楁 | 鍒楄〃 | 璇︽儏 | 璇存槑 |
+|------|------|------|------|
+| 浜у搧鐗╂枡锛堢紪鐮�/鍚嶇О/瑙勬牸/鍗曚綅锛� | 鏄� | 鏄� | 鐢� MDM 鐗╂枡甯﹀嚭 |
+| 妫�娴嬬粨鏋� | 鏄� | 鏄� | 闈炲繀濉紝浣嗘寜涓氬姟瑕佹眰淇濈暀鍦ㄥ垪琛� |
+| 妫�娴嬩汉鍛� / 澶嶆牳浜� / 瀹℃牳浜� | 鏄� | 鏄� | 鎸変笟鍔¤姹備繚鐣欏湪鍒楄〃锛涘鏍镐汉銆佸鏍镐汉涓烘湰娆℃柊澧炲垪 |
+| 渚涘簲鍟� / 瀹㈡埛 | 鍚� | 鏄� | 闈炲繀濉紝绉诲嚭鍒楄〃 |
+| 鎵规鍙凤紙OQC/RQC锛夈�佸彂璐ф暟閲忋�佸嚭璐ф棩鏈熴�佹潵婧愬崟鎹被鍨�/缂栫爜銆佷緵搴斿晢鎵规鍙� | 鍚� | 鏄� | 闈炲繀濉紝绉诲嚭鍒楄〃 |
+| 閲囨牱鍦扮偣銆佽瘉涔︾紪鍙枫�佹墽琛屾爣鍑嗐�佸娉� | 鍚� | 鏄� | 鍘熸湰灏变笉鍦ㄥ垪琛� |
+| 瀵煎嚭 Excel | 鈥� | 鈥� | 鍒椾笉鍙楁湰娆″垪琛ㄧ槮韬奖鍝嶏紝瀛楁鍏ㄩ儴淇濈暀 |
+
+## 涓氬姟瑙勫垯璇存槑
+
+| 鍦烘櫙 | 瑙勫垯 |
+|------|------|
+| 璐ㄦ鍗曠墿鏂欏睍绀� | 涓�寰嬫寜 MDM 鐗╂枡 ID 瑙f瀽缂栫爜/鍚嶇О/瑙勬牸锛涘崟浣嶅彇璇ョ墿鏂欑殑璁¢噺鍗曚綅 |
+| 寰呮浠诲姟鐗╂枡灞曠ず | 鏉ユ簮鍗曟嵁锛圵M锛夌殑鐗╂枡 ID 鍗� MDM 鐗╂枡 ID锛屾寜 MDM 瑙f瀽鍚嶇О绛� |
+| 鐗╂枡绛涢�� | 寰呮浠诲姟椤垫寜 MDM 鐗╂枡绛涢�夛紱浼� MES 鐗╂枡 ID 灏嗘煡涓嶅埌浠讳綍浠诲姟 |
+| 鍒楄〃鐦﹁韩 | 闈炲繀濉瓧娈典笉杩涘垪琛紝鏀瑰湪璇︽儏鏌ョ湅锛涘鍑� Excel 涓嶅彈褰卞搷 |
+
+## 娉ㄦ剰浜嬮」
+
+- **涓嶆槸鍝嶅簲缁撴瀯鍙樻洿**锛歚itemCode` 绛夊瓧娈垫湰鏉ュ氨瀛樺湪锛屽彧鏄繃鍘讳竴鐩翠负 `null`/绌轰覆锛涘鏋滃墠绔箣鍓嶅绌哄�煎仛浜嗗厹搴曞銆�-銆嶏紝浼氳嚜鐒跺彉涓虹湡瀹炲�笺��
+- **澶嶆牳浜� / 瀹℃牳浜�**锛氳嫢鍒楄〃鏂板鍒楀悗浠嶆樉绀轰负绌猴紝灞炴甯哥幇璞♀�斺�斿瓧娈垫湰韬潪蹇呭~锛屾湭濉嵆涓虹┖銆�
+- **`mes_md_item` 涓� `mdm_item` 涓嶅彲娣风敤**锛氭湰娆′慨澶嶆鏄妸璐ㄦ閾捐矾缁熶竴鍒囧埌 MDM 浣撶郴锛屽悗缁嫢鏈夋柊椤甸潰灞曠ず璐ㄦ/寰呮鐗╂枡鐨勫悕绉帮紝鍚屾牱蹇呴』璧� `MdmItemApi`銆�
+- **寰呮浠诲姟鐨� `batchCode` 浠� IPQC 鏉ユ簮鏈夊��**锛屽叾浣欐潵婧愪负 `null`銆�
diff --git a/docs/qc_report_conclusion_print.md b/docs/qc_report_conclusion_print.md
new file mode 100644
index 0000000..d65e056
--- /dev/null
+++ b/docs/qc_report_conclusion_print.md
@@ -0,0 +1,97 @@
+# 璐ㄦ鎶ュ憡銆屽垽瀹氱粨璁� / 璐ㄦ涓撶敤绔犮�嶈ˉ榻� - 鍓嶇鑱旇皟鏂规
+
+> 鏈鍙樻洿锛氭墦鍗版姤鍛婄増寮忚ˉ榻愮焊璐ㄦ姤鍛婂繀鏈夌殑銆屽垽瀹氱粨璁恒�嶃�岃川妫�涓撶敤绔犮�嶄袱鏍忥紝骞舵妸骞宠娴嬮噺鍒楀ご鐢卞浐瀹氥�屾祴閲廚銆嶆敼涓烘寜鎵规鏁拌嚜閫傚簲銆傚墠绔祻瑙堝櫒鎵撳嵃涓庝骇鍝佹楠屽崟 Word 瀵煎嚭涓や釜鍑哄彛鍚屾鐢熸晥銆�
+> 鍏宠仈鏂囨。锛歚docs/qc_chemical_report_integration.md`锛堝寲宸ユ楠屾姤鍛婃暣浣撶増寮忥級銆乣docs/mes_oqc_check_result_frontend.md`锛圤QC 妫�娴嬬粨鏋滃瓧鍏稿垏鎹級銆�
+
+## 娑夊強椤甸潰
+
+- 妫�楠屾姤鍛婃墦鍗扮粍浠� `views/mes/qc/components/qc-report-print.vue`
+- 鍥涚被妫�楠屽崟鍒楄〃锛堣皟鐢ㄦ柟锛屾棤闇�鏀瑰姩锛夛細`views/mes/qc/{iqc,ipqc,oqc,rqc}/index.vue`
+- 浜у搧妫�楠屽崟 Word 瀵煎嚭锛堝悗绔敓鎴愶紝鏃犲墠绔〉闈級
+
+## 鍙樻洿鎽樿
+
+| 鍑哄彛 | 鍙樻洿 |
+|------|------|
+| 鍓嶇娴忚鍣ㄦ墦鍗� | 鈶� 鏂板銆屽垽瀹氱粨璁� / 璐ㄦ涓撶敤绔犮�嶄竴琛岋紙鍒ゅ畾缁撹甯﹀嚭妫�楠岀粨鏋滄枃妗堬紝鐩栫珷鍖虹暀绌猴級鈶� 娴嬮噺鍒楀ご锛氫粎涓�涓祴閲忔壒娆℃椂鏄剧ず銆屾祴閲忓�笺�嶏紝澶氭壒娆℃椂鏄剧ず銆屾祴閲�1銆嶃�屾祴閲�2銆嶁憿 琛ㄥご淇℃伅鏍忎腑鍘熸湁鐨勩�屾娴嬬粨璁恒�嶅凡绉婚櫎锛堜笌鏂般�屽垽瀹氱粨璁恒�嶅悓鍊硷紝閬垮厤鍚岄〉閲嶅锛� |
+| Word 瀵煎嚭 `/mes/qc/indicator-result/export-product-word` | 銆屽垽瀹氱粨璁猴細銆嶅悗鑷姩鍐欏叆妫�楠岀粨鏋滄枃妗堬紱銆岃川妫�涓撶敤绔狅細銆嶄粛鐣欑┖鐩栫珷 |
+
+## API
+
+| 鏂规硶 | 璺緞 | 璇存槑 |
+|------|------|------|
+| GET | /mes/qc/indicator-result/report | 鎵撳嵃鎶ュ憡鑱氬悎鏁版嵁锛屽搷搴旀柊澧� `checkResultText`锛涘叾浣欒姹傚弬鏁颁笌鍝嶅簲缁撴瀯涓嶅彉 |
+
+**鍝嶅簲瀛楁鏂板锛�**
+
+| 瀛楁 | 绫诲瀷 | 璇存槑 |
+|------|------|------|
+| checkResultText | String | 妫�娴嬬粨鏋滄枃妗堬紝鐢卞悗绔寜 `qcType` 閫夋嫨瀛楀吀瑙f瀽銆侽QC 鍙� `mes_oqc_check_result`锛�1鍨�/2鍨�/搴熷搧锛夛紝IQC/IPQC/RQC 鍙� `mes_qc_check_result`锛堟牎楠岄�氳繃/鏍¢獙涓嶉�氳繃锛夈�俙checkResult` 涓虹┖鏃惰瀛楁涓� null |
+
+**鍝嶅簲绀轰緥锛堣妭閫夛級锛�**
+
+```json
+{
+  "code": 0,
+  "data": {
+    "qcType": 3,
+    "docCode": "OQC20260106001",
+    "itemName": "宸ヤ笟鐢ㄦ涓侀唶",
+    "checkResult": 1,
+    "checkResultText": "1鍨�",
+    "measureNos": [1],
+    "items": []
+  }
+}
+```
+
+## 鏁版嵁甯﹀叆璇存槑
+
+1. `checkResult`锛堟楠屽崟瀹屾垚鏃剁敱浜哄伐濉啓鐨勬娴嬬粨鏋滐級鈫� 鍚庣瑙f瀽涓� `checkResultText` 闅� `/report` 杩斿洖锛屽墠绔墦鍗版椂鐩存帴灞曠ず锛�**涓嶅啀鐢卞墠绔寜鍥哄畾瀛楀吀鍙栨爣绛�**銆�
+2. `measureNos` 鏁扮粍闀垮害 鈫� 鍐冲畾娴嬮噺鍒楀ご鏂囨锛氶暱搴︿负 1 鏃跺垪澶翠负銆屾祴閲忓�笺�嶏紝闀垮害 鈮� 2 鏃跺垪澶翠负銆屾祴閲�1銆嶃�屾祴閲�2銆嶁�︼紝鍒楃殑鍙栧�煎彛寰勶紙姣忓垪瀵瑰簲涓�涓祴閲忔壒娆★級涓嶅彉銆�
+3. 銆岃川妫�涓撶敤绔犮�嶆棤鏁版嵁鏉ユ簮锛屼粎涓虹┖鐧藉崟鍏冩牸锛屼緵鎵撳嵃鍚庝汉宸ョ洊绔犮��
+
+## 瀛楁灞曠ず瑙勫垯
+
+| 瀛楁 | 灞曠ず浣嶇疆 | 璇存槑 |
+|------|----------|------|
+| checkResultText | 鎵撳嵃鐗堝紡搴曢儴銆屽垽瀹氱粨璁猴細銆嶄箣鍚� | 鏃犲�兼椂鏄剧ず銆�-銆嶏紙鍓嶇鍏滃簳閫昏緫涓嶅彉锛� |
+| 鈥� | 鎵撳嵃鐗堝紡搴曢儴銆岃川妫�涓撶敤绔狅細銆� | 绌哄崟鍏冩牸锛岄鐣欑害 90px 楂樺害渚夸簬鐩栫珷 |
+| measureNos | 妫�楠岄」鐭╅樀琛ㄥご | 鍗曟壒娆°�屾祴閲忓�笺�嶏紝澶氭壒娆°�屾祴閲�1銆嶃�屾祴閲�2銆� |
+
+## 涓氬姟瑙勫垯璇存槑
+
+| 鍦烘櫙 | 瑙勫垯 |
+|------|------|
+| OQC 妫�楠屽崟 | 鍒ゅ畾缁撹鏄剧ず浜у搧绛夌骇锛�1鍨�/2鍨�/搴熷搧锛夛紝涓� `mes_oqc_check_result` 瀛楀吀涓�鑷� |
+| IQC/IPQC/RQC 妫�楠屽崟 | 鍒ゅ畾缁撹鏄剧ず閫氱敤妫�娴嬬粨鏋滐紙鏍¢獙閫氳繃/鏍¢獙涓嶉�氳繃锛� |
+| 妫�楠屽崟灏氭湭鍒ゅ畾 | `checkResult` 涓虹┖ 鈫� 鍒ゅ畾缁撹鏄剧ず銆�-銆� |
+| 鏈仛骞宠娴嬮噺 | 娴嬮噺鍒楀彧鏈変竴鍒楋紝鍒楀ご涓恒�屾祴閲忓�笺�� |
+| 鍋氫簡骞宠娴嬮噺 | 鎸夋壒娆℃暟灞曞紑澶氬垪锛屽垪澶翠负銆屾祴閲�1銆嶃�屾祴閲�2銆� |
+| 鎵撳嵃鍚庣洊绔� | 鍒ゅ畾缁撹銆佽川妫�涓撶敤绔犱笉鍙備笌娴佺▼娴佽浆锛屼粎浣滅焊璐ㄧ暀鐥� |
+
+## 鍓嶇鍏ュ彛锛堟柊澧烇級
+
+浜у搧妫�楠屽崟 Word 瀵煎嚭姝ゅ墠鍙湁鍚庣鎺ュ彛銆佸墠绔棤鍏ュ彛锛屾湰娆″湪鍥涚被妫�楠屽崟鍒楄〃鐨�**琛屾搷浣滃垪**琛ラ綈鎸夐挳銆�
+
+| 椤甸潰 | 鎸夐挳 | 浣嶇疆 |
+|------|------|------|
+| `views/mes/qc/iqc/index.vue` | 瀵煎嚭浜у搧妫�楠屽崟 | 琛屾搷浣滃垪銆屾墦鍗版姤鍛娿�嶄箣鍚� |
+| `views/mes/qc/ipqc/index.vue` | 瀵煎嚭浜у搧妫�楠屽崟 | 琛屾搷浣滃垪銆屾墦鍗版姤鍛娿�嶄箣鍚� |
+| `views/mes/qc/oqc/index.vue` | 瀵煎嚭浜у搧妫�楠屽崟 | 琛屾搷浣滃垪銆屾墦鍗版姤鍛娿�嶄箣鍚� |
+| `views/mes/qc/rqc/index.vue` | 瀵煎嚭浜у搧妫�楠屽崟 | 琛屾搷浣滃垪銆屾墦鍗版姤鍛娿�嶄箣鍚� |
+
+| 椤� | 璇存槑 |
+|----|------|
+| 鍥炬爣 | `ant-design:file-word-outlined` |
+| 鏉冮檺 | 涓庡悇椤点�屾墦鍗版姤鍛娿�嶄竴鑷达紝`mes:qc-{iqc\|ipqc\|oqc\|rqc}:query` |
+| 鎺ュ彛 | `GET /mes/qc/indicator-result/export-product-word`锛屽弬鏁� `qcId`銆乣qcType`銆乣resultId`锛堝彲閫夛紝涓嶄紶鍙栬妫�楠屽崟鏈�鏃╀竴鏉℃楠岀粨鏋滐級 |
+| 涓嬭浇鏂囦欢鍚� | `浜у搧妫�楠屽崟-{妫�楠屽崟缂栧彿}.docx` |
+| 璋冪敤鏂瑰紡 | `requestClient.download` 鍙� Blob 鈫� `downloadFileFromBlobPart` 钀界洏 |
+
+## 娉ㄦ剰浜嬮」
+
+- `checkResultText` 鏄�**鏂板鍝嶅簲瀛楁**锛屽墠绔鍙栨椂闇�瀹归敊锛堣�佺増鏈悗绔笉杩斿洖璇ュ瓧娈碉級锛氱粍浠跺綋鍓嶅疄鐜颁负銆屽彇 `checkResultText`锛屼负绌烘椂鍥為��鎸� `checkResult` 鍙� `mes_qc_check_result` 鏍囩銆嶃��
+- 鎵撳嵃鐗堝紡琛ㄥご淇℃伅鏍忓凡鍘绘帀銆屾娴嬬粨璁恒�嶄竴椤癸紱鑻ラ〉闈㈠叾瀹冧綅缃粛闇�瑕佸睍绀烘娴嬬粨璁猴紝璇蜂粠 `/report` 鎴栧垪琛ㄦ帴鍙g殑 `checkResult` 鍙栧瓧鍏告爣绛惧睍绀猴紝瀛楀吀閫夋嫨闇�鎸� `qcType` 鍖哄垎锛圤QC 鐢� `mes_oqc_check_result`锛夈��
+- Word 瀵煎嚭鐨勩�屾楠� / 澶嶆牳 / 鎵瑰噯銆嶅凡甯﹀嚭鍗曟嵁鐨勬娴嬩汉鍛樸�佸鏍镐汉銆佸鏍镐汉濮撳悕锛堝垎鍒负 `inspectorName` / `auditName` / `approveName`锛夛紱鏈寚瀹氫汉鍛樻椂璇ユ鐣欑┖鎵嬪啓銆傘�岃川妫�涓撶敤绔犮�嶄粛涓虹暀绌虹洊绔犮��
+- 瀵煎嚭鎸夐挳涓庛�屾墦鍗版姤鍛娿�嶅悓涓� `query` 鏉冮檺绾у叆鍙o紝鏃犻渶鏂板鑿滃崟鏉冮檺椤广��
diff --git a/docs/sql/ipqc_remove_production_fields.sql b/docs/sql/ipqc_remove_production_fields.sql
new file mode 100644
index 0000000..af1d035
--- /dev/null
+++ b/docs/sql/ipqc_remove_production_fields.sql
@@ -0,0 +1,22 @@
+-- ============================================================
+-- 杩囩▼璐ㄦ鍗曪紙IPQC锛宮es_qc_ipqc锛夊瓧娈佃皟鏁�
+--
+-- 鍙樻洿鍐呭锛�
+--   鍘绘帀锛氱敓浜ц鍗� work_order_id / 鐢熶骇浠诲姟 task_id / 宸ヤ綅 workstation_id / 宸ュ簭 process_id
+--   鏂板锛氭壒鍙� batch_code锛堝墠绔墜宸ュ綍鍏ワ紝蹇呭~锛�
+--
+-- 閰嶅鏀归�狅細浜у搧鐗╂枡 item_id 鐢便�屽伐鍗�/浠诲姟甯﹀嚭銆嶆敼涓恒�屽墠绔墜鍔ㄩ�夋嫨銆嶏紝
+--           瀛樺偍浣撶郴缁熶竴涓� MDM 鐗╂枡 ID锛坢dm_item.id锛夛紝涓� IQC/OQC 涓�鑷淬��
+--
+-- 璇存槑锛氭墽琛屽墠 mes_qc_ipqc 鏃犱笟鍔℃暟鎹紝鍙洿鎺ュ垹鍒楋紱
+--       MySQL 鐨� ALTER TABLE ADD COLUMN 涓嶆敮鎸� IF NOT EXISTS锛屾晠鐩存帴鎵ц銆�
+-- ============================================================
+
+ALTER TABLE `mes_qc_ipqc`
+  DROP COLUMN `work_order_id`,
+  DROP COLUMN `task_id`,
+  DROP COLUMN `workstation_id`,
+  DROP COLUMN `process_id`;
+
+ALTER TABLE `mes_qc_ipqc`
+  ADD COLUMN `batch_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵瑰彿' AFTER `source_doc_code`;
diff --git a/docs/sql/mes_qc_oqc_check_result_extend.sql b/docs/sql/mes_qc_oqc_check_result_extend.sql
new file mode 100644
index 0000000..316007b
--- /dev/null
+++ b/docs/sql/mes_qc_oqc_check_result_extend.sql
@@ -0,0 +1,37 @@
+-- ============================================================
+-- OQC 鍑鸿揣妫�楠岋紙鍑哄巶妫�楠岋級妫�娴嬬粨鏋滃瓧鍏告墿灞�
+--
+-- 鍙樻洿鍐呭锛氭娴嬬粨鏋滅敱銆�1鍨� / 2鍨� / 搴熷搧銆嶆墿灞曚负
+--           1鍨� / 2鍨� / 3鍨� / 浼樼瓑鍝� / 鍚堟牸鍝� / 搴熷搧 / 涓嶅悎鏍煎搧
+--           鏀捐瑙勫垯锛氬簾鍝併�佷笉鍚堟牸鍝� 鍒よ涓嶅悎鏍煎苟鍙栨秷閿�鍞嚭搴撳崟锛�
+--                     鍏朵綑绛夌骇鍒よ鍚堟牸骞舵帹杩涘嚭搴撳崟寰呮嫞璐�
+-- 瀵瑰簲鏋氫妇锛歁esQcOqcCheckResultEnum
+-- 鐩爣搴�  锛歮om-jhhg
+-- 骞傜瓑    锛氬彲閲嶅鎵ц
+-- 鏃ユ湡    锛�2026-09-24
+-- ============================================================
+
+-- 1. 娓呯悊鏃у瓧鍏革紙鎸� dict_type 鍒犻櫎锛屼笉褰卞搷鍏跺畠瀛楀吀锛�
+DELETE FROM system_dict_data WHERE dict_type = 'mes_oqc_check_result';
+DELETE FROM system_dict_type WHERE type = 'mes_oqc_check_result';
+
+-- 2. 鍏滃簳娓呯悊琚崰鐢ㄧ殑鍥哄畾 ID锛岄槻姝㈤厤缃紓绉诲鑷翠富閿啿绐�
+DELETE FROM system_dict_data WHERE id BETWEEN 1065401 AND 1065407;
+DELETE FROM system_dict_type WHERE id = 1065400;
+
+-- 3. 瀛楀吀绫诲瀷
+INSERT INTO system_dict_type (id, name, type, status, remark, creator, create_time, updater, update_time, deleted)
+VALUES (1065400, 'MES 鍑鸿揣妫�楠屾娴嬬粨鏋�', 'mes_oqc_check_result', 0,
+        '鍑鸿揣妫�楠屽崟(OQC)鍒ゅ畾缁撴灉锛�1鍨�/2鍨�/3鍨�/浼樼瓑鍝�/鍚堟牸鍝佷负鍙彂璐х瓑绾э紝搴熷搧涓庝笉鍚堟牸鍝佷笉鏀捐',
+        '1', NOW(), '1', NOW(), b'0');
+
+-- 4. 瀛楀吀鏁版嵁
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, css_class, remark, creator, create_time, updater, update_time, deleted)
+VALUES
+(1065401, 1, '1鍨�',     '1', 'mes_oqc_check_result', 0, 'success', '', '', '1', NOW(), '1', NOW(), b'0'),
+(1065402, 2, '2鍨�',     '2', 'mes_oqc_check_result', 0, 'primary', '', '', '1', NOW(), '1', NOW(), b'0'),
+(1065403, 3, '搴熷搧',    '3', 'mes_oqc_check_result', 0, 'danger',  '', '', '1', NOW(), '1', NOW(), b'0'),
+(1065404, 4, '3鍨�',     '4', 'mes_oqc_check_result', 0, 'success', '', '', '1', NOW(), '1', NOW(), b'0'),
+(1065405, 5, '浼樼瓑鍝�',  '5', 'mes_oqc_check_result', 0, 'success', '', '', '1', NOW(), '1', NOW(), b'0'),
+(1065406, 6, '鍚堟牸鍝�',  '6', 'mes_oqc_check_result', 0, 'primary', '', '', '1', NOW(), '1', NOW(), b'0'),
+(1065407, 7, '涓嶅悎鏍煎搧', '7', 'mes_oqc_check_result', 0, 'danger',  '', '', '1', NOW(), '1', NOW(), b'0');

--
Gitblit v1.9.3