From 9f880b5f6d08ad418ba11f4280505c7a41ec3807 Mon Sep 17 00:00:00 2001 From: 张诺 <2864490065@qq.com> Date: 星期四, 24 七月 2025 10:38:22 +0800 Subject: [PATCH] 完善 设备领用 用户归还完毕不显示归还按钮 --- src/views/equipment/management/index.vue | 202 +++++++++++++++------- docs/配煤计算器使用文档.md | 299 +++++++++++++++++++++++++++++++++ 2 files changed, 436 insertions(+), 65 deletions(-) diff --git "a/docs/\351\205\215\347\205\244\350\256\241\347\256\227\345\231\250\344\275\277\347\224\250\346\226\207\346\241\243.md" "b/docs/\351\205\215\347\205\244\350\256\241\347\256\227\345\231\250\344\275\277\347\224\250\346\226\207\346\241\243.md" new file mode 100644 index 0000000..e1f6ddc --- /dev/null +++ "b/docs/\351\205\215\347\205\244\350\256\241\347\256\227\345\231\250\344\275\277\347\224\250\346\226\207\346\241\243.md" @@ -0,0 +1,299 @@ +# 閰嶇叅璁$畻鍣ㄤ娇鐢ㄦ枃妗� + +## 馃搵 鐩綍 +- [妯″潡姒傝堪](#妯″潡姒傝堪) +- [鍔熻兘鐗规�(#鍔熻兘鐗规��) +- [鐣岄潰甯冨眬](#鐣岄潰甯冨眬) +- [鎿嶄綔鎸囧崡](#鎿嶄綔鎸囧崡) +- [璁$畻鍘熺悊](#璁$畻鍘熺悊) +- [甯歌闂](#甯歌闂) +- [娉ㄦ剰浜嬮」](#娉ㄦ剰浜嬮」) + +## 馃幆 妯″潡姒傝堪 + +閰嶇叅璁$畻鍣ㄦ槸涓�涓笓涓氱殑鐓ょ閰嶆瘮浼樺寲宸ュ叿锛岄�氳繃绾挎�ц鍒掔畻娉曡绠楀嚭婊¤冻绾︽潫鏉′欢鐨勬渶浼樼叅绉嶉厤姣旀柟妗堛�傜郴缁熸敮鎸佸绉嶇叅璐ㄥ弬鏁扮害鏉燂紝鑳藉鑷姩鐢熸垚閰嶆瘮鎸囦护锛屽苟鎻愪緵澶氱澶囬�夋柟妗堜緵鐢ㄦ埛閫夋嫨銆� + +### 涓昏鐢ㄩ�� +- 鐓ょ閰嶆瘮浼樺寲璁$畻 +- 鎴愭湰鏈�灏忓寲閰嶇叅鏂规 +- 鐓よ川鍙傛暟绾︽潫绠$悊 +- 閰嶇叅鎿嶄綔鎸囦护鐢熸垚 +- 寰呭叆搴撴暟鎹鐞� + +## 猸� 鍔熻兘鐗规�� + +### 1. 鏅鸿兘閰嶆瘮璁$畻 +- 鍩轰簬绾挎�ц鍒掔畻娉曠殑鏈�浼樺寲姹傝В +- 鏀寔2-10绉嶇叅绉嶇殑閰嶆瘮璁$畻 +- 鑷姩婊¤冻鐓よ川绾︽潫鏉′欢 +- 鎴愭湰鏈�灏忓寲鐩爣鍑芥暟 + +### 2. 鐓ょ绠$悊 +- 鏀寔"宸叉湁鐓�"鍜�"鏈煡鐓�"涓ょ绫诲瀷 +- 宸叉湁鐓よ嚜鍔ㄨ幏鍙栫叅璐ㄥ弬鏁板拰浠锋牸 +- 鏈煡鐓ゆ敮鎸佹墜鍔ㄨ緭鍏ュ弬鏁� +- 鐓ょ鏁版嵁鑷姩琛ュ叏鍔熻兘 + +### 3. 绾︽潫鏉′欢璁剧疆 +- 娣峰悎鐓ゆ渶浣庡彂鐑噺锛堝繀濉級 +- 娣峰悎鐓ゆ渶楂樼~鍒嗭紙鍙�夛級 +- 娣峰悎鐓ゆ渶楂樼伆鍒嗭紙鍙�夛級 +- 娣峰悎鐓ゆ渶楂樻按鍒嗭紙鍙�夛級 + +### 4. 缁撴灉灞曠ず +- 鏈�浼橀厤姣旀柟妗堣缁嗕俊鎭� +- 娣峰悎鐓よ川灞炴�ч娴� +- 鎿嶄綔鎸囦护鐢熸垚锛堥厤姣斻�佸惃鏁般�侀摬鏁帮級 +- 澶氱澶囬�夋柟妗堝姣� + +### 5. 鏁版嵁瀵煎嚭 +- 涓�閿坊鍔犺嚦寰呭叆搴� +- 閰嶇叅鏂规鏁版嵁鎸佷箙鍖� +- 鐢熸垚鐓ょ瑙勬牸璁剧疆 + +## 馃枼锔� 鐣岄潰甯冨眬 + +### 宸︿晶锛氭暟鍊艰緭鍏ュ尯 +``` +鈹屸攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹� +鈹� 閫氱敤璁剧疆 鈹� +鈹溾攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹� +鈹� 鐓ょ灞炴�� 鈹� +鈹溾攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹� +鈹� 閰嶇叅绾︽潫鏉′欢 鈹� +鈹溾攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹� +鈹� [閲嶇疆] [娣诲姞寰呭叆搴揮 鈹� +鈹� [璁$畻鏈�浼橀厤姣擼 鈹� +鈹斺攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹� +``` + +### 鍙充晶锛氶厤鐓や紭鍖栫粨鏋� +``` +鈹屸攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹� +鈹� 馃幆 鏈�浼橀厤姣旂粨鏋� 鈹� +鈹溾攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹� +鈹� 馃搳 娣峰悎鐓ゅ睘鎬� 鈹� +鈹溾攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹� +鈹� 馃攧 澶囬�夋柟妗� 鈹� +鈹斺攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹� +``` + +## 馃摉 鎿嶄綔鎸囧崡 + +### 绗竴姝ワ細鍩虹璁剧疆 + +#### 1.1 閫氱敤璁剧疆 +- **寰呴厤鐓ょ鏁伴噺**锛氳緭鍏ュ弬涓庨厤鐓ょ殑鐓ょ鏁伴噺锛�2-10绉嶏級 +- **鍙備笌閰嶇叅鎬诲惃鏁�**锛氳緭鍏ラ渶瑕侀厤鍒剁殑娣峰悎鐓ゆ�婚噸閲忥紙鍗曚綅锛氬惃锛� +- **姣忛摬閲嶉噺**锛氳緭鍏ユ寲鎺樿澶囨瘡閾茬殑閲嶉噺锛堝崟浣嶏細鍚級 + +> 馃挕 **鎻愮ず**锛氫慨鏀圭叅绉嶆暟閲忓悗锛岀郴缁熶細鑷姩璋冩暣鐓ょ杈撳叆琛ㄥ崟鐨勬暟閲� + +#### 1.2 鐓ょ灞炴�ц缃� + +**宸叉湁鐓ゆā寮�**锛� +1. 閫夋嫨鐓ょ绫诲瀷涓�"宸叉湁鐓�" +2. 浠庝笅鎷夊垪琛ㄤ腑閫夋嫨鍏蜂綋鐓ょ +3. 绯荤粺鑷姩濉厖璇ョ叅绉嶇殑鎵�鏈夊弬鏁帮紙鍙戠儹閲忋�佷环鏍笺�佺~鍒嗐�佺伆鍒嗐�佹按鍒嗭級 +4. 宸叉湁鐓ょ殑鍙傛暟涓哄彧璇荤姸鎬侊紝鏃犳硶鎵嬪姩淇敼 + +**鏈煡鐓ゆā寮�**锛� +1. 閫夋嫨鐓ょ绫诲瀷涓�"鏈煡鐓�" +2. 鎵嬪姩杈撳叆鐓ょ鍚嶇О +3. 蹇呭~鍙傛暟锛氬彂鐑噺锛坘cal锛夈�佷环鏍硷紙鍏�/鍚級 +4. 鍙�夊弬鏁帮細纭垎锛�%锛夈�佺伆鍒嗭紙%锛夈�佹按鍒嗭紙%锛� + +> 鈿狅笍 **娉ㄦ剰**锛氬鏋滆缃簡鐩稿簲鐨勭害鏉熸潯浠讹紝瀵瑰簲鐨勭叅璐ㄥ弬鏁板皢鍙樹负蹇呭~ + +#### 1.3 绾︽潫鏉′欢璁剧疆 +- **娣峰悎鐓ゆ渶浣庡彂鐑噺**锛氳缃贩鍚堢叅蹇呴』杈惧埌鐨勬渶浣庡彂鐑噺锛堝繀濉級 +- **娣峰悎鐓ゆ渶楂樼~鍒�**锛氳缃贩鍚堢叅鍏佽鐨勬渶澶х~鍒嗗惈閲忥紙鍙�夛級 +- **娣峰悎鐓ゆ渶楂樼伆鍒�**锛氳缃贩鍚堢叅鍏佽鐨勬渶澶х伆鍒嗗惈閲忥紙鍙�夛級 +- **娣峰悎鐓ゆ渶楂樻按鍒�**锛氳缃贩鍚堢叅鍏佽鐨勬渶澶ф按鍒嗗惈閲忥紙鍙�夛級 + +### 绗簩姝ワ細璁$畻閰嶆瘮 + +#### 2.1 鏁版嵁楠岃瘉 +鐐瑰嚮"璁$畻鏈�浼橀厤姣�"鎸夐挳鍓嶏紝绯荤粺浼氳嚜鍔ㄩ獙璇侊細 +- 鑷冲皯闇�瑕�2涓湁鏁堢殑鐓ょ鏁版嵁 +- 鐓ょ鍚嶇О銆佸彂鐑噺銆佷环鏍间负蹇呭~椤� +- 绾︽潫鏉′欢瀵瑰簲鐨勭叅璐ㄥ弬鏁板畬鏁存�� + +#### 2.2 璁$畻杩囩▼ +绯荤粺閲囩敤绾挎�ц鍒掔畻娉曪細 +1. 鏋勫缓鐩爣鍑芥暟锛堟垚鏈渶灏忓寲锛� +2. 璁剧疆绾︽潫鏉′欢锛堢叅璐ㄥ弬鏁伴檺鍒讹級 +3. 姹傝В鏈�浼橀厤姣旀柟妗� +4. 鐢熸垚鎿嶄綔鎸囦护 + +#### 2.3 缁撴灉瑙h + +**鏈�浼橀厤姣旂粨鏋滆〃鏍�**锛� +| 瀛楁 | 璇存槑 | +|------|------| +| 鐓ょ | 鍙備笌閰嶇叅鐨勭叅绉嶅悕绉� | +| 閰嶆瘮 | 璇ョ叅绉嶅湪娣峰悎鐓や腑鐨勯噸閲忓崰姣旓紙%锛� | +| 鍚ㄦ暟 | 璇ョ叅绉嶇殑瀹為檯鐢ㄩ噺锛堝惃锛� | +| 閾叉暟 | 闇�瑕佺殑鎸栨帢閾叉暟 | + +**娣峰悎鐓ゅ睘鎬�**锛� +- 鍙戠儹閲忥細棰勬祴鐨勬贩鍚堢叅鍙戠儹閲� +- 纭垎锛氶娴嬬殑娣峰悎鐓ょ~鍒嗗惈閲� +- 鐏板垎锛氶娴嬬殑娣峰悎鐓ょ伆鍒嗗惈閲� +- 姘村垎锛氶娴嬬殑娣峰悎鐓ゆ按鍒嗗惈閲� +- 鎴愭湰锛氭贩鍚堢叅鐨勫姞鏉冨钩鍧囨垚鏈� +- 鐢熸垚锛氬彲閫夋嫨鎴栬緭鍏ョ敓鎴愮殑鐓ょ鍚嶇О + +### 绗笁姝ワ細鏂规閫夋嫨 + +#### 3.1 澶囬�夋柟妗� +绯荤粺鑷姩鐢熸垚5绉嶅閫夋柟妗堬細 +1. 鍙戠儹閲忛檷1% +2. 鍙戠儹閲忛檷2% +3. 纭垎鍗�1% +4. 纭垎鍗�2% +5. 鍙戠儹閲忛檷0.5%涓旂~鍒嗗崌0.5% + +#### 3.2 鏂规瀵规瘮 +姣忎釜澶囬�夋柟妗堥兘鍖呭惈锛� +- 瀹屾暣鐨勯厤姣旇〃鏍� +- 娣峰悎鐓よ川灞炴�ч娴� +- 鎴愭湰瀵规瘮淇℃伅 + +### 绗洓姝ワ細鏁版嵁淇濆瓨 + +#### 4.1 鐢熸垚鐓ょ璁剧疆 +鍦ㄦ渶浼橀厤姣旂粨鏋滀腑锛� +1. 鐐瑰嚮"鐢熸垚"瀛楁鐨勮緭鍏ユ +2. 杈撳叆鎴栭�夋嫨鐩爣鐓ょ鍚嶇О +3. 绯荤粺鏀寔鑷姩琛ュ叏鍔熻兘 + +#### 4.2 娣诲姞鑷冲緟鍏ュ簱 +1. 纭繚宸查�夋嫨鐢熸垚鐓ょ +2. 鐐瑰嚮"娣诲姞鑷冲緟鍏ュ簱"鎸夐挳 +3. 绯荤粺楠岃瘉鏁版嵁瀹屾暣鎬� +4. 淇濆瓨閰嶇叅鏂规鑷冲緟鍏ュ簱妯″潡 + +## 馃敩 璁$畻鍘熺悊 + +### 鏍稿績鎬濊矾 +閰嶇叅璁$畻鍣ㄧ殑鏍稿績鎬濊矾寰堢畝鍗曪細**鍦ㄦ弧瓒崇叅璐ㄨ姹傜殑鍓嶆彁涓嬶紝鎵惧埌鎴愭湰鏈�浣庣殑閰嶇叅鏂规**銆� + +灏卞儚鍋氳彍涓�鏍凤紝浣犳湁鍑犵涓嶅悓鐨勯鏉愶紙鐓ょ锛夛紝姣忕椋熸潗鏈変笉鍚岀殑鐗规�э紙鍙戠儹閲忋�佺~鍒嗙瓑锛夊拰浠锋牸锛屼綘瑕佹寜涓�瀹氭瘮渚嬫贩鍚堬紝鍋氬嚭绗﹀悎瑕佹眰鐨勮彍鍝侊紙娣峰悎鐓わ級锛屽悓鏃舵帶鍒舵垚鏈渶浣庛�� + +### 璁$畻鐩爣 +**鏈�灏忓寲鎬绘垚鏈�** = 鐓ょA鐨勭敤閲� 脳 鐓ょA鐨勪环鏍� + 鐓ょB鐨勭敤閲� 脳 鐓ょB鐨勪环鏍� + ... + +### 蹇呴』婊¤冻鐨勬潯浠� +1. **鍙戠儹閲忚姹�**锛氭贩鍚堝悗鐨勭叅鍙戠儹閲忎笉鑳戒綆浜庤瀹氭爣鍑� +2. **纭垎闄愬埗**锛氭贩鍚堝悗鐨勭叅纭垎涓嶈兘瓒呰繃璁惧畾涓婇檺 +3. **鐏板垎闄愬埗**锛氭贩鍚堝悗鐨勭叅鐏板垎涓嶈兘瓒呰繃璁惧畾涓婇檺 +4. **姘村垎闄愬埗**锛氭贩鍚堝悗鐨勭叅姘村垎涓嶈兘瓒呰繃璁惧畾涓婇檺 +5. **閰嶆瘮骞宠 **锛氭墍鏈夌叅绉嶇殑閰嶆瘮鍔犺捣鏉ュ繀椤荤瓑浜�100% +6. **鐜板疄绾︽潫**锛氭瘡绉嶇叅鐨勭敤閲忎笉鑳芥槸璐熸暟 + +### 娣峰悎鐓よ川璁$畻鏂规硶 +娣峰悎鐓ょ殑鍚勯」鎸囨爣閲囩敤**鍔犳潈骞冲潎**鏂规硶璁$畻锛� + +**涓句緥璇存槑**锛� +- 鐓锛氬崰姣�30%锛屽彂鐑噺6000kcal +- 鐓锛氬崰姣�70%锛屽彂鐑噺5000kcal +- 娣峰悎鐓ゅ彂鐑噺 = 30% 脳 6000 + 70% 脳 5000 = 5300kcal + +### 璁$畻姝ラ + +#### 绗�1姝ワ細鏁版嵁妫�鏌� +- 妫�鏌ョ叅绉嶆暟閲忔槸鍚﹁冻澶燂紙鑷冲皯2绉嶏級 +- 妫�鏌ュ繀濉俊鎭槸鍚﹀畬鏁达紙鍚嶇О銆佸彂鐑噺銆佷环鏍硷級 +- 妫�鏌ユ暟鎹槸鍚﹀悎鐞嗭紙浠锋牸銆佸彂鐑噺涓嶈兘涓鸿礋鏁帮級 + +#### 绗�2姝ワ細鍒濆閰嶆瘮 +- 鍏堢粰姣忕鐓ゅ垎閰嶇浉绛夌殑姣斾緥 +- 渚嬪3绉嶇叅锛屾瘡绉嶅厛鍒嗛厤33.33% + +#### 绗�3姝ワ細妫�鏌ョ害鏉� +- 璁$畻鍒濆閰嶆瘮涓嬬殑娣峰悎鐓よ川閲� +- 妫�鏌ユ槸鍚︽弧瓒冲彂鐑噺绛夎姹� + +#### 绗�4姝ワ細璋冩暣浼樺寲 +- 濡傛灉鍙戠儹閲忎笉澶燂紝澧炲姞楂樼儹鍊肩叅鐨勬瘮渚� +- 濡傛灉纭垎瓒呮爣锛屽噺灏戦珮纭叅鐨勬瘮渚� +- 鍦ㄦ弧瓒宠姹傜殑鍓嶆彁涓嬶紝浼樺厛浣跨敤渚垮疁鐨勭叅 + +#### 绗�5姝ワ細鐢熸垚鎸囦护 +- 灏嗛厤姣旇浆鎹负瀹為檯鐨勬搷浣滃惃鏁� +- 璁$畻闇�瑕佺殑鎸栨帢閾叉暟 +- 棰勬祴娣峰悎鐓ょ殑鍚勯」璐ㄩ噺鎸囨爣 + +### 澶囬�夋柟妗堥�昏緫 +绯荤粺浼氳嚜鍔ㄧ敓鎴�5涓閫夋柟妗堬紝閫氳繃**寰皟绾︽潫鏉′欢**鏉ユ彁渚涙洿澶氶�夋嫨锛� + +1. **鏂规1**锛氬彂鐑噺瑕佹眰闄嶄綆1%锛堟垚鏈彲鑳芥洿浣庯級 +2. **鏂规2**锛氬彂鐑噺瑕佹眰闄嶄綆2%锛堟垚鏈繘涓�姝ラ檷浣庯級 +3. **鏂规3**锛氱~鍒嗕笂闄愭彁楂�1%锛堟湁鏇村鐓ょ鍙�夛級 +4. **鏂规4**锛氱~鍒嗕笂闄愭彁楂�2%锛堣繘涓�姝ユ斁瀹介�夋嫨锛� +5. **鏂规5**锛氬彂鐑噺鐣ラ檷+纭垎鐣ュ崌锛堝钩琛¤皟鏁达級 + +### 绠�鍖栬鏄� +鏈郴缁熶娇鐢ㄧ殑鏄�**绠�鍖栫殑浼樺寲绠楁硶**锛屼笉鏄畬鏁寸殑鏁板瑙勫垝姹傝В鍣ㄣ�傚浜庡ぇ澶氭暟瀹為檯閰嶇叅鍦烘櫙锛岃繖绉嶇畝鍖栨柟娉曞凡缁忚兘澶熸彁渚涘彲闈犮�佸疄鐢ㄧ殑閰嶇叅鏂规銆� + +## 鉂� 甯歌闂 + +### Q1锛氫负浠�涔堣绠楃粨鏋滄樉绀�"鏃犲彲琛岃В"锛� +**A1**锛氬彲鑳界殑鍘熷洜锛� +- 绾︽潫鏉′欢杩囦簬涓ユ牸锛屾棤娉曟壘鍒版弧瓒虫墍鏈夋潯浠剁殑閰嶆瘮 +- 鐓ょ鏁版嵁涓嶈冻鎴栬川閲忓樊寮傚お澶� +- 鍙戠儹閲忕害鏉熻缃繃楂� + +**瑙e喅鏂规**锛� +- 閫傚綋鏀惧绾︽潫鏉′欢 +- 澧炲姞鏇村鐓ょ閫夋嫨 +- 妫�鏌ョ叅绉嶆暟鎹殑鍚堢悊鎬� + +### Q2锛氫负浠�涔堟湁浜涚叅绉嶅湪缁撴灉涓厤姣斾负0锛� +**A2**锛氱畻娉曚細鑷姩浼樺寲閰嶆瘮锛屾煇浜涚叅绉嶅彲鑳藉洜涓猴細 +- 鎴愭湰杩囬珮 +- 鐓よ川涓嶇鍚堢害鏉熻姹� +- 鍏朵粬鐓ょ缁勫悎宸茶兘婊¤冻闇�姹� + +### Q3锛氬浣曟彁楂樿绠楃簿搴︼紵 +**A3**锛� +- 鎻愪緵鏇村噯纭殑鐓よ川鍙傛暟鏁版嵁 +- 鍚堢悊璁剧疆绾︽潫鏉′欢 +- 浣跨敤鏇村鐨勭叅绉嶈繘琛岄厤姣� + +### Q4锛氬閫夋柟妗堟湁浠�涔堜綔鐢紵 +**A4**锛氬閫夋柟妗堝府鍔╃敤鎴凤細 +- 鍦ㄤ富鏂规涓嶅彲琛屾椂鎻愪緵鏇夸唬閫夋嫨 +- 瀵规瘮涓嶅悓绾︽潫鏉′欢涓嬬殑鎴愭湰鍙樺寲 +- 涓哄喅绛栨彁渚涙洿澶氬弬鑰冧俊鎭� + +## 鈿狅笍 娉ㄦ剰浜嬮」 + +### 鏁版嵁杈撳叆 +1. **蹇呭~鍙傛暟**锛氱叅绉嶅悕绉般�佸彂鐑噺銆佷环鏍煎繀椤诲~鍐� +2. **鏁版嵁鏍煎紡**锛氭墍鏈夋暟鍊煎繀椤讳负姝f暟 +3. **鍗曚綅缁熶竴**锛氱‘淇濇墍鏈夊弬鏁颁娇鐢ㄦ纭殑鍗曚綅 + +### 绾︽潫璁剧疆 +1. **鍙戠儹閲忕害鏉�**锛氬繀椤昏缃紝涓斿簲鍚堢悊鍙揪 +2. **鍙�夌害鏉�**锛氬鏋滆缃簡鏌愰」绾︽潫锛屽搴旂殑鐓よ川鍙傛暟蹇呴』瀹屾暣 +3. **绾︽潫鍐茬獊**锛氶伩鍏嶈缃浉浜掔煕鐩剧殑绾︽潫鏉′欢 + +### 缁撴灉搴旂敤 +1. **鏂规楠岃瘉**锛氬缓璁湪瀹為檯搴旂敤鍓嶈繘琛屽皬瑙勬ā璇曢獙楠岃瘉 +2. **鏁版嵁鏇存柊**锛氬畾鏈熸洿鏂扮叅绉嶆暟鎹簱锛岀‘淇濅环鏍煎拰璐ㄩ噺鍙傛暟鍑嗙‘ +3. **鎿嶄綔璇樊**锛氬疄闄呮搷浣滀腑鑰冭檻璁惧绮惧害鍜屼汉涓鸿宸� + +### 绯荤粺闄愬埗 +1. **鐓ょ鏁伴噺**锛氱郴缁熸敮鎸�2-10绉嶇叅绉嶉厤姣� +2. **绠楁硶绮惧害**锛氬綋鍓嶄娇鐢ㄧ畝鍖栫畻娉曪紝澶嶆潅鎯呭喌涓嬪彲鑳介渶瑕佷笓涓氫紭鍖栬蒋浠� +3. **瀹炴椂鎬�**锛氶厤姣旂粨鏋滃熀浜庤緭鍏ユ椂鐨勬暟鎹紝瀹為檯鐓よ川鍙兘鏈夊彉鍖� + +--- + +**鐗堟湰淇℃伅**锛歷1.0 +**鏇存柊鏃ユ湡**锛�2025骞�7鏈�16鏃� +**鏂囨。浣滆��**锛氱郴缁熸妧鏈洟闃� + +> 馃挕 濡傛湁鍏朵粬闂鎴栧缓璁紝璇疯仈绯绘妧鏈敮鎸佸洟闃熴�� diff --git a/src/views/equipment/management/index.vue b/src/views/equipment/management/index.vue index 656e162..26930d9 100644 --- a/src/views/equipment/management/index.vue +++ b/src/views/equipment/management/index.vue @@ -49,18 +49,33 @@ type="danger" v-show="activeTab === 'management'" @click="handleDelete" - >鍒犻櫎</el-button + :disabled="selectedCount === 0" + >鍒犻櫎 {{ selectedCount > 0 ? `(${selectedCount})` : '' }}</el-button > </el-row> <!-- 琛ㄦ牸缁勪欢 --> - <div> + <div class="table-container"> + <!-- 鍔犺浇鐘舵�� --> + <el-skeleton v-if="loading" animated> + <template #template> + <el-skeleton-item variant="h1" style="width: 40%" /> + <div style="padding: 14px;"> + <el-skeleton-item variant="text" /> + <el-skeleton-item variant="text" /> + <el-skeleton-item variant="text" /> + </div> + </template> + </el-skeleton> + + <!-- 鏁版嵁琛ㄦ牸 --> <data-table + v-else :showOverflowTooltip="false" :border="true" :columns="columns" :loading="loading" style="width: 100%; height: calc(100vh - 29em)" - :show-selection="true" + :show-selection="activeTab === 'management'" :table-data="tableData" @edit="handleEdit" @viewRow="handleView" @@ -70,12 +85,27 @@ :operationsWidth="getOperationsWidth()" :customButtons="getCustomButtons()" > + <!-- 绌虹姸鎬佹彃妲� --> + <template #empty> + <el-empty + :description="`鏆傛棤${currentTabConfig?.label || ''}鏁版嵁`" + :image-size="120" + > + <template #description> + <p>鏆傛棤{{ currentTabConfig?.label || '' }}鏁版嵁</p> + <p v-if="queryParams.searchAll" class="text-secondary"> + 灏濊瘯璋冩暣鎼滅储鏉′欢鎴� + <el-button type="primary" link @click="resetQuery">娓呯┖鎼滅储</el-button> + </p> + </template> + </el-empty> + </template> </data-table> </div> <pagination v-if="total > 0" :layout="'total, prev, pager, next, jumper'" - :limit="pageSizes" + :limit="pageSize" :page="pageNum" :total="total" @pagination="handPagination" @@ -119,7 +149,7 @@ </template> <script setup> -import { computed, onMounted, reactive, ref, nextTick } from "vue"; +import { computed, onMounted, reactive, ref, nextTick, toRefs } from "vue"; import { ElMessage } from "element-plus"; import { Delete, Plus } from "@element-plus/icons-vue"; @@ -138,6 +168,33 @@ } from "@/api/equipment/management/index.js"; import { getUsageRecordList, getUsageDetailList } from "@/api/equipment/requisition/index.js"; +// 璁惧鐘舵�佹灇涓� +const EQUIPMENT_STATUS = { + USING: 1, // 浣跨敤涓� + PARTIAL_RETURN: 2, // 閮ㄥ垎褰掕繕 + RETURNED: 3 // 宸插綊杩� +}; + +// 鑾峰彇鐘舵�佹枃鏈� +const getStatusText = (status) => { + switch(status) { + case EQUIPMENT_STATUS.USING: return "浣跨敤涓�"; + case EQUIPMENT_STATUS.PARTIAL_RETURN: return "閮ㄥ垎褰掕繕"; + case EQUIPMENT_STATUS.RETURNED: return "宸插綊杩�"; + default: return "鏈煡鐘舵��"; + } +}; + +// 鑾峰彇鐘舵�侀鑹� +const getStatusColor = (status) => { + switch(status) { + case EQUIPMENT_STATUS.USING: return '#409eff'; // 钃濊壊 + case EQUIPMENT_STATUS.PARTIAL_RETURN: return '#e6a23c'; // 姗欒壊 + case EQUIPMENT_STATUS.RETURNED: return '#67c23a'; // 缁胯壊 + default: return '#909399'; // 鐏拌壊 + } +}; + // 鍝嶅簲寮忕姸鎬佺鐞� - 浣跨敤瑙f瀯鍜岄粯璁ゅ�� const initFormState = () => ({ consumables: false }); @@ -150,25 +207,10 @@ activeTab: "management", selectedRows: [], tableData: [], - // 寮圭獥鐘舵�� - dialogs: { - management: false, - equipmentRequisition: false, - usageRecord: false, - detailTable: false, - }, - // 璇︽儏琛ㄦ牸鐘舵�� - detailTable: { - data: [], - columns: [], - title: "", - }, // 鍒嗛〉鐘舵�� - pagination: { - pageNum: 1, - pageSize: 10, - total: 0, - }, + pageNum: 1, + pageSize: 10, + total: 0, // 鏌ヨ鍙傛暟 queryParams: { searchAll: "", @@ -185,11 +227,20 @@ activeTab, selectedRows, tableData, - dialogs, - detailTable, - pagination, + pageNum, + pageSize, + total, queryParams, } = toRefs(state); + +// 娣诲姞缂哄け鐨勫搷搴斿紡鍙橀噺 +const manaDialog = ref(false); +const equipmentRequisitionDialog = ref(false); +const usageRecordDialog = ref(false); +const dialogTableVisible = ref(false); +const dialogTableTitle = ref(''); +const dialogTableData = ref([]); +const dialogTableColumns = ref([]); // 鏍囩椤甸厤缃� - 渚夸簬鍚庣画鎵╁睍 const tabsConfig = { @@ -229,37 +280,14 @@ prop: "equipmentStatus", label: "浣跨敤鐘舵��", minWidth: 100, - formatter: (row) => (row.equipmentStatus == 1 ? "浣跨敤涓�" : "宸插綊杩�"), + formatter: (row) => getStatusText(row.equipmentStatus), + cellStyle: (row) => ({ color: getStatusColor(row.equipmentStatus) }), }, - { prop: "usageStartTime", label: "浣跨敤寮�濮嬫椂闂�", minWidth: 100 }, { prop: "usageEndTime", label: "浣跨敤缁撴潫鏃堕棿", minWidth: 100 }, { prop: "remarks", label: "澶囨敞", minWidth: 100 }, ], }, - // usageRecord:{ - // label: "棰嗙敤璁板綍", - // searchPlaceholder: "璁惧缂栧彿/璁惧鍚嶇О/瑙勬牸鍨嬪彿", - // showSearch: true, - // api: getManagementList, - // deleteApi: delEquipment, - // columns: [ - // { prop: "equipmentId", label: "璁惧缂栧彿", minWidth: 100 }, - // { prop: "equipmentName", label: "璁惧鍚嶇О", minWidth: 100 }, - // { prop: "quantity", label: "鏁伴噺", minWidth: 100 }, - // { prop: "specification", label: "瑙勬牸鍨嬪彿", minWidth: 100 }, - // { - // prop: "usageStatus", - // label: "浣跨敤鐘舵��", - // minWidth: 100, - // formatter: (row) => row.usageStatus == 1 ? "鍚敤" : "绂佺敤" - // }, - // { prop: "purchaseDate", label: "閲囪喘鏃ユ湡", minWidth: 100 }, - // { prop: "purchasePrice", label: "閲囪喘浠锋牸", minWidth: 100 }, - // ] - // }, - - // 鍚庣画鍙互鍦ㄨ繖閲屾坊鍔犳柊鐨勬爣绛鹃〉閰嶇疆 }; // 鏍囩椤垫暟鎹� @@ -311,8 +339,8 @@ type: 'success', size: 'small', link: true, - show: (row) => row.equipmentStatus == 1 || row.equipmentStatus == 2, // 鍙湁浣跨敤涓殑璁惧鎵嶆樉绀哄綊杩樻寜閽� - disabled: (row) => false, + show: (row) => row.equipmentStatus === EQUIPMENT_STATUS.USING || row.equipmentStatus === EQUIPMENT_STATUS.PARTIAL_RETURN, + disabled: (row) => row.equipmentStatus === EQUIPMENT_STATUS.RETURNED, }); } @@ -331,9 +359,20 @@ } }; const handleReturn = (row) => { + // 妫�鏌ヨ澶囩姸鎬� + if (row.equipmentStatus === EQUIPMENT_STATUS.RETURNED) { + ElMessage.warning('璇ヨ澶囧凡褰掕繕瀹屾垚锛屾棤闇�鍐嶆褰掕繕'); + return; + } + + if (row.equipmentStatus !== EQUIPMENT_STATUS.USING && row.equipmentStatus !== EQUIPMENT_STATUS.PARTIAL_RETURN) { + ElMessage.warning('璇ヨ澶囧綋鍓嶇姸鎬佷笉鏀寔褰掕繕鎿嶄綔'); + return; + } + form.value = { ...row }; addOrEdit.value = "return"; // 璁剧疆涓哄綊杩樻ā寮� - title.value = `褰掕繕璁惧`; + title.value = `褰掕繕璁惧 - ${row.equipmentName || ''}`; copyForm.value = { ...row }; equipmentRequisitionDialog.value = true; console.log("褰掕繕璁惧锛�", row); @@ -353,13 +392,13 @@ loading.value = true; tableData.value = []; pageNum.value = 1; - pageSizes.value = 10; + pageSize.value = 10; total.value = 0; - queryParams.searchAll = ""; + queryParams.value.searchAll = ""; }; const resetQuery = () => { - queryParams.searchAll = ""; + queryParams.value.searchAll = ""; pageNum.value = 1; getList(); }; @@ -476,7 +515,7 @@ const handPagination = (val) => { pageNum.value = val.page; - pageSizes.value = val.limit; + pageSize.value = val.limit; getList(); }; @@ -489,8 +528,8 @@ deleteApi: () => currentTabConfig.value.deleteApi, selectedRows: selectedRows, getList: () => getList(), - tableData: tableData, - total: total, + tableData, + total, confirmText: "纭鍒犻櫎閫変腑鐨勬暟鎹悧锛�", successText: "鍒犻櫎鎴愬姛", }); @@ -508,10 +547,14 @@ // 璁惧棰嗙敤寮圭獥鎻愪氦澶勭悊 const onEquipmentRequisitionSubmit = (formData) => { - if (formData.equipmentStatus == 2) { - ElMessage.success("璁惧褰掕繕鎴愬姛"); - } else { + if (formData.equipmentStatus === EQUIPMENT_STATUS.RETURNED) { + ElMessage.success("璁惧宸插畬鍏ㄥ綊杩�"); + } else if (formData.equipmentStatus === EQUIPMENT_STATUS.PARTIAL_RETURN) { + ElMessage.success("璁惧閮ㄥ垎褰掕繕鎴愬姛"); + } else if (formData.equipmentStatus === EQUIPMENT_STATUS.USING) { ElMessage.success("璁惧棰嗙敤鎴愬姛"); + } else { + ElMessage.success("鎿嶄綔鎴愬姛"); } equipmentRequisitionDialog.value = false; nextTick(() => { @@ -526,8 +569,8 @@ loading.value = true; const apiParams = { current: pageNum.value, - pageSize: pageSizes.value, - searchAll: queryParams.searchAll, + pageSize: pageSize.value, + searchAll: queryParams.value.searchAll, }; const { data, code } = await currentTabConfig.value.api(apiParams); @@ -603,4 +646,33 @@ .main-container { background: red !important; } + +/* 璁惧鐘舵�佹牱寮� */ +.status-using { + color: #409eff; + font-weight: 500; +} + +.status-partial-return { + color: #e6a23c; + font-weight: 500; +} + +.status-returned { + color: #67c23a; + font-weight: 500; +} + +.status-unknown { + color: #909399; + font-weight: 500; +} + +/* 鐘舵�佹爣绛炬牱寮� */ +:deep(.el-table .cell .status-tag) { + font-size: 12px; + padding: 2px 6px; + border-radius: 4px; + white-space: nowrap; +} </style> -- Gitblit v1.9.3