From 1aa48962bf1ae1ea53d7bca7eccdf3bc074fdda4 Mon Sep 17 00:00:00 2001
From: 南骏 池 <chiffly@163.com>
Date: 星期一, 02 六月 2025 13:44:14 +0800
Subject: [PATCH] 1.首检开发-v1

---
 H5/Js/IPQC_SJ/Add.js |  326 +++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 283 insertions(+), 43 deletions(-)

diff --git a/H5/Js/IPQC_SJ/Add.js b/H5/Js/IPQC_SJ/Add.js
index f63bff6..914d032 100644
--- a/H5/Js/IPQC_SJ/Add.js
+++ b/H5/Js/IPQC_SJ/Add.js
@@ -2,34 +2,47 @@
     el: '#app',
     data: function () {
         return {
-            tableData: [],      // 鐢熸垚鐨勮〃鏍兼暟鎹�
-            formData: {         // 琛ㄥ崟鏁版嵁
-            temperatureData: {} // 瀛樺偍娓╁害鏁版嵁
+            tableTbData: [],      // "鍒剁儹鎬ц兘"鐢熸垚鐨勮〃鏍兼暟鎹�
+            formTbData: {         // 琛ㄥ崟鏁版嵁
+            temperatureData: {} // 瀛樺偍鐨勫疄闄呮俯搴︺�佸疄闄呮祦閲忔暟鎹�
             },
+            indexZrxx:0,//鍒剁儹鎬ц兘index
             headers: [],
             showZr: false,
             waterOptions: [
+                { value: '100鈩�', text: '100鈩�' },
+                { value: '99鈩�', text: '99鈩�' },
+                { value: '90鈩�', text: '90鈩�' },
+                { value: '85鈩�', text: '85鈩�' },
+                { value: '80鈩�', text: '80鈩�' },
+                { value: '75鈩�', text: '75鈩�' },
+                { value: '65鈩�', text: '65鈩�' },
+                { value: '60鈩�', text: '60鈩�' },
+                { value: '55鈩�', text: '55鈩�' },
+                { value: '45鈩�', text: '45鈩�' },
+                { value: '42鈩�', text: '42鈩�' },
                 { value: '甯告俯姘�', text: '甯告俯姘�' },
-                { value: '0鈩�', text: '0鈩�' }, 
-                { value: '5鈩�', text: '5鈩�' }, 
-                { value: '15鈩�', text: '15鈩�' }, 
-                { value: '35鈩�', text: '35鈩�' }, 
-                { value: '55鈩�', text: '55鈩�' }, 
-                { value: '75鈩�', text: '75鈩�' }, 
-                { value: '100鈩�', text: '100鈩�' }
-            ],
+                { value: '鍐版按', text: '鍐版按' },
+                { value: '70鈩�', text: '70鈩�' },
+                { value: '50鈩�', text: '50鈩�' },
+                { value: '寰喎', text: '寰喎' }
+            ],//姘存俯閫夐」
             flowOptions: [
-                { value: '100ml', text: '100ml' },
-                { value: '200ml', text: '200ml' },
-                { value: '300ml', text: '300ml' },
-                { value: '400ml', text: '400ml' },
-                { value: '500ml', text: '500ml' },
-                { value: '600ml', text: '600ml' },
-                { value: '700ml', text: '700ml' },
-                { value: '800ml', text: '800ml' },
-                { value: '900ml', text: '900ml' },
-                { value: '1000ml', text: '1000ml' }
-            ],
+                { value: '50ml', text: '50ml' },
+                { value: '120ml', text: '120ml' },
+                { value: '150ml', text: '150ml' },
+                { value: '160ml', text: '160ml' },
+                { value: '250ml', text: '250ml' },
+                { value: '260ml', text: '260ml' },
+                { value: '350ml', text: '350ml' },
+                { value: '360ml', text: '360ml' },
+                { value: '450ml', text: '450ml' },
+                { value: '550ml', text: '550ml' },
+                { value: '750ml', text: '750ml' },
+                { value: '999ml', text: '999ml' },
+                { value: '涓�鍒嗛挓娴侀噺', text: '涓�鍒嗛挓娴侀噺' },
+                { value: '涓夊垎閽熸祦閲�', text: '涓夊垎閽熸祦閲�' }
+            ],//娴侀噺閫夐」
             selectedWater: [],// 宸查�夋按娓╁��
             selectedFlow: [],   // 宸查�夋祦閲忓��
             isLoading: false,
@@ -85,6 +98,17 @@
                 //    message: '涓婁紶澶辫触',
                 //},
             ],
+
+            //鏃堕棿閫夋嫨鍙傛暟
+            showScDatePicker: false,
+            minDate: new Date(new Date().getFullYear() - 1, 0, 1),  // 杩囧幓涓�骞�
+            maxDate: new Date(new Date().getFullYear() + 1, 11, 31), // 鏈潵涓�骞�
+            currentDate: new Date(),
+            scDate: '',  // 瀛樺偍鏍煎紡鍖栧悗鐨勬棩鏈�
+
+            //璁よ瘉淇℃伅閫夋嫨
+            showRzxx: false,
+            actions: [],
         }
     },
     mounted() {
@@ -117,16 +141,16 @@
         },
 
 
-        openZrPopup() {
+        openZrPopup(index) {
             this.showZr = true;
+            this.indexZrxx = this.tabActive;
+            this.loadTableConfig();
         },
         closeZrPopup() {
             this.showZr = false;
-            this.selectedWater = [];  // 鍏抽棴鏃舵竻绌洪�夋嫨
-            this.selectedFlow = [];   // 鍏抽棴鏃舵竻绌洪�夋嫨
+            // this.selectedWater = [];  // 鍏抽棴鏃舵竻绌洪�夋嫨
+            // this.selectedFlow = [];   // 鍏抽棴鏃舵竻绌洪�夋嫨
         },
-
-
         //閽堝娌℃湁涓婁笅闄愬�肩殑鏁版嵁锛屽彧闇�閫夋嫨鍚堟牸鎴栦笉鍚堟牸.鎸夐挳瑙﹀彂
         handleQualified(isQualified) {
             var input = "";
@@ -329,9 +353,10 @@
             this.showDialog= true
         },
 
-        updateRzxx() {
-            this.showDialogRzxx = true
-        },
+        // updateRzxx() {
+        //     this.showDialogRzxx = true
+        // },
+        //鍒犻櫎妫�楠屾槑缁嗚褰�
         deleteDetail13(guid12) {
             const that = this;
             var guid1 = that.formData.guid;//涓昏〃id
@@ -367,6 +392,7 @@
                 that.isLoading = false;
             });
         },
+        //鏇存柊璁よ瘉淇℃伅
         rzxxConfirm() {
             var that = this;
             var guid1 = that.formData.guid;//涓昏〃id
@@ -380,7 +406,7 @@
                 var json = res;
                 if (json.status == 0) {
                     that.$notify({ type: 'success', message: '杈撳叆鎴愬姛' });
-                    that.refreshJYItem();//鍒锋柊妫�楠岄」鐩�
+                    //that.refreshJYItem();//鍒锋柊妫�楠岄」鐩�
                 }
                 else {
                     that.$toast.fail(json.message);
@@ -393,6 +419,7 @@
                 that.isLoading = false;
             });
         },
+        //鏇存柊涓嶅悎鏍艰〃杩�
         remarksConfirm() {
             const that = this;
             that.isLoading = true;
@@ -522,8 +549,8 @@
         },
         createTb() {
             // 娓呯┖鏃ф暟鎹�
-            this.tableData = [];
-            this.formData.temperatureData = {};
+            this.tableTbData = [];
+            this.formTbData.temperatureData = {};
     
             // 鏍¢獙閫夋嫨
             if (this.selectedWater.length === 0 || this.selectedFlow.length === 0) {
@@ -532,23 +559,30 @@
             }
     
             // 鐢熸垚琛ㄥご
-            const headers = ['璁惧畾娓╁害','瀹為檯娓╁害', ...this.selectedFlow.sort().map(f => f )];
+            // 淇敼headers鐢熸垚閫昏緫 鈫�
+            const headers = [
+                '璁惧畾娓╁害', 
+                '瀹為檯娓╁害锛堚剝锛�', 
+                ...this.selectedFlow.sort().map(f => `${f}`)
+            ];
             this.headers = headers;
-
+            console.log(this.headers);
             // 鐢熸垚琛屾暟鎹�
-            this.tableData = this.selectedWater.sort((a,b) => a - b).map(water => {
+            this.tableTbData = this.selectedWater.sort((a,b) => a - b).map(water => {
                 const row = {
                     temperature: water === '甯告俯姘�' ? water : water,
-                    values: this.selectedFlow.map(flow => ({
-                        flow: flow,
-                        value: '' // 鍒濆绌哄��
-                    }))
+                    values: Object.fromEntries([
+                        ['temp', ''],  // 鍥哄畾娓╁害瀛楁
+                        ...this.selectedFlow.map(flow => [flow, ''])
+                    ])
                 };
                 
-                // 鍒濆鍖栬〃鍗曟暟鎹�
-                this.formData.temperatureData[water] = {};
+                // 鍒濆鍖栬〃鍗曟暟鎹粨鏋�
+                this.$set(this.formTbData.temperatureData, water, {});
+                // 娣诲姞鍥哄畾瀛楁鈥濆疄闄呮俯搴︹�滃垵濮嬪寲
+                this.$set(this.formTbData.temperatureData[water], 'temp', '');
                 this.selectedFlow.forEach(flow => {
-                    this.formData.temperatureData[water][flow] = '';
+                    this.$set(this.formTbData.temperatureData[water], flow, '');
                 });
                 
                 return row;
@@ -559,6 +593,212 @@
                 const tableEl = document.getElementById('temperature-table');
                 if (tableEl) tableEl.scrollIntoView({ behavior: 'smooth' });
             }, 100);
+            console.log(this.formTbData);
+        },
+        // 鏂板淇濆瓨閰嶇疆鏂规硶
+        saveTableConfig() {
+            const that = this;
+            that.isLoading = true;
+            
+            that.AxiosHttp("post", 'Ipqc/SaveTableConfig', {
+                selectedWater: (that.selectedWater),
+                selectedFlow: (that.selectedFlow),
+                tableData: (that.formTbData.temperatureData),
+                mxguid: that.tableData[that.indexZrxx].guid // 浣跨敤涓昏〃ID鍏宠仈
+            }, true).then(res1 => {
+                if (res1.status === 0) {
+                    that.$notify({ type: 'success', message: '閰嶇疆淇濆瓨鎴愬姛' });
+                } else {
+                    that.$toast.fail(res1.rtnMsg);
+                }
+                that.isLoading = false;
+            }).catch(error => {
+                that.$toast.fail("缃戠粶閿欒锛岃閲嶈瘯锛�");
+                that.isLoading = false;
+            });
+        },
+        // 鏂板鍔犺浇閰嶇疆鏂规硶
+        loadTableConfig() {
+            const that = this;
+            that.isLoading = true;
+            var mxguid =  that.tableData[that.indexZrxx].guid;
+
+
+            that.AxiosHttp("post", 'Ipqc/GetTableConfig', {
+                mxguid: mxguid,
+            }, true).then(res1 => {
+                if (res1.status === 0 && res1.data) {
+                    // 瑙f瀽瀛樺偍鐨勬暟鎹�
+                    that.selectedWater = JSON.parse(res1.data.selectedWater || '[]');
+                    that.selectedFlow = JSON.parse(res1.data.selectedFlow || '[]');
+                    that.formTbData.temperatureData = JSON.parse(res1.data.tableData || '{}');
+                    
+                    // 璋冪敤鏂扮殑娓叉煋鏂规硶
+                    this.renderExistingTable();
+                }
+                that.isLoading = false;
+            }).catch(error => {
+                that.isLoading = false;
+                that.$toast.fail("鍔犺浇閰嶇疆澶辫触");
+            });
+        },
+
+        // 鏂板娓叉煋宸叉湁鏁版嵁琛ㄦ牸鐨勬柟娉�
+        renderExistingTable() {
+            const that = this;
+            console.log(that.formTbData.temperatureData);
+            // 浠庣幇鏈夋暟鎹弽鍚戞帹瀵奸�夋嫨椤�
+            const existingWaters = Object.keys(that.formTbData.temperatureData);
+            const existingFlows = existingWaters.length > 0 
+                ? Object.keys(that.formTbData.temperatureData[existingWaters[0]])
+                    .filter(k => k !== 'temp')
+                : [];
+            
+            // 鐢熸垚琛ㄥご锛堜繚鐣欏師濮媍reateTb鐨勬牸寮忥級
+            that.headers = [
+                '璁惧畾娓╁害', 
+                '瀹為檯娓╁害锛堚剝锛�', 
+                ...existingFlows.map(f => `${f}`)
+            ];
+            
+            // 鐢熸垚琛屾暟鎹紙淇濈暀鍘熷缁撴瀯锛�
+            that.tableTbData = existingWaters.map(water => {
+                const values = that.formTbData.temperatureData[water];
+                return {
+                    temperature: water,
+                    values: Object.fromEntries([
+                        ['temp', values.temp || ''],
+                        ...existingFlows.map(flow => [flow, values[flow] || ''])
+                    ])
+                };
+            });
+            console.log(that.formTbData.temperatureData);
+            // 淇濈暀鍘熷婊氬姩閫昏緫
+            setTimeout(() => {
+                const tableEl = document.getElementById('temperature-table');
+                if (tableEl) tableEl.scrollIntoView({ behavior: 'smooth' });
+            }, 100);
+            console.log(that.formTbData.temperatureData);
+        },
+        //淇濆瓨鐢熶骇鏃ユ湡
+        confirmScDate(value) {
+            const date = new Date(value);
+            this.scDate = `${date.getFullYear()}-${(date.getMonth() + 1).toString().padStart(2, '0')}-${date.getDate().toString().padStart(2, '0')}`;
+            //this.rzxxValue = this.scDate; // 鍚屾椂鏇存柊璁よ瘉淇℃伅瀛楁
+            console.log(this.scDate);
+
+            var that = this;
+            var guid1 = that.formData.guid;//涓昏〃id
+            var mxguid = that.tableData[that.tabActive].guid;//妫�楠岄」鐩殑guid
+            that.isLoading = true;
+            that.AxiosHttp("post", 'Ipqc/updateScDate', {
+                gid: guid1,
+                mxguid: mxguid,
+                scDateValue: that.scDate,//杈撳叆鐨勮璇佷俊鎭�
+            }, true, 0).then(function (res) {
+                var json = res;
+                if (json.status == 0) {
+                    that.$notify({ type: 'success', message: '杈撳叆鎴愬姛' });
+                    that.refreshJYItem();//鍒锋柊妫�楠岄」鐩�
+                }
+                else {
+                    that.$toast.fail(json.message);
+                }
+                //that.$notify({ type: 'success', message: json.message });
+                that.isLoading = false;
+            }).catch(function (error) {
+                that.$toast.fail("缃戠粶閿欒锛岃閲嶈瘯锛�");
+                that.inRzxxValue = null;
+                that.isLoading = false;
+            });
+
+            this.showScDatePicker = false;
+        },
+
+        selectRzxx() {
+            this.showRzxx = true;
+            this.getRzxxList();
+        },
+        //鑾峰彇璁よ瘉淇℃伅鐩稿叧鍒楄〃
+        getRzxxList() {
+            var that = this;
+            that.isLoading = true;
+            var mxguid = that.tableData[that.tabActive].guid;//妫�楠岄」鐩殑guid
+            that.AxiosHttp("post", 'Ipqc/GetRzxxList', {
+                // 鏍规嵁瀹為檯鎺ュ彛闇�瑕佷紶閫掑弬鏁�
+                mxguid: mxguid,
+            }, false)
+            .then(function (res) {
+                if (res.status == 0) {
+                    that.actions = res.data.tbBillList.map(item => {
+                        return { name: item.defect_name } // 鏍规嵁瀹為檯鏁版嵁缁撴瀯璋冩暣
+                    });
+                } else {
+                    that.$toast.fail(res.message);
+                }
+                that.isLoading = false;
+            })
+            .catch(function (error) {
+                that.isLoading = false;
+                that.$toast.fail("鑾峰彇璁よ瘉淇℃伅澶辫触");
+            });
+        },
+        //閫夋嫨璁よ瘉淇℃伅
+        onRzxxSelect(item) {
+            this.showRzxx = false;
+            this.rzxxValue = item.name;
+            this.rzxxConfirm();
+            //this.refreshJYItem();//鍒锋柊妫�楠岄」鐩�
+            // 濡傛灉闇�瑕佽幏鍙栬缁嗕俊鎭彲鍦ㄦ澶勮皟鐢ㄥ叾浠栨柟娉�
+        },
+        //鏇存柊璁よ瘉淇℃伅浣跨敤鏁伴噺
+        updateRzxxNum(value, index) {
+            // 娣诲姞闃叉姈鍒ゆ柇
+            if (this.isLoading) {
+                return;
+            }
+
+            const that = this;
+            that.isLoading = true;
+            that.AxiosHttp("post", 'Ipqc/saveIpqcrzxxNum', {
+                guid: that.tableData[that.tabActive].guid,
+                ipqcrzxxNum: value
+            }, true, 0).then(res => {
+                if (res.status == 0) {
+                    //that.$notify({ type: 'success', message: '鏁伴噺鏇存柊鎴愬姛' });
+                    //that.refreshJYItem();//鍒锋柊妫�楠岄」鐩�
+                } else {
+                    that.$toast.fail(res.rtnMsg);
+                }
+                that.isLoading = false;
+            }).catch(error => {
+                that.isLoading = false;
+                that.$toast.fail("缃戠粶閿欒锛岃閲嶈瘯锛�");
+            });
+        },
+        //鏇存柊鏄惁鏈夋棤寮傚懗
+        updateCpscs(value) {
+            // 娣诲姞闃叉姈鍒ゆ柇
+            if (this.isLoading) {
+                return;
+            }
+            const that = this;
+            that.isLoading = true;
+            if (!value) return;
+            that.AxiosHttp("post", 'Ipqc/saveIpqCpscs', {
+                guid: that.tableData[that.tabActive].guid,
+                ipqCpscs: value
+            }, true, 0).then(res => {
+                if (res.status == 0) {
+                    //that.refreshJYItem();
+                } else {
+                    that.$toast.fail(res.rtnMsg);
+                }
+                that.isLoading = false;
+            }).catch(error => {
+                that.isLoading = false;
+                that.$toast.fail("缃戠粶閿欒锛岃閲嶈瘯锛�");
+            });
         },
     }
 })

--
Gitblit v1.9.3