From 0d626ae57149d5ed40a32bd8b808ca6069aa6d5e Mon Sep 17 00:00:00 2001
From: gaosp <gaosp>
Date: 星期日, 14 一月 2024 16:35:08 +0800
Subject: [PATCH] update

---
 src/container/maintenance/index.vue |  313 +++++++++++++++++++++++++++++++++++----------------
 1 files changed, 213 insertions(+), 100 deletions(-)

diff --git a/src/container/maintenance/index.vue b/src/container/maintenance/index.vue
index b651ca1..e861d9e 100644
--- a/src/container/maintenance/index.vue
+++ b/src/container/maintenance/index.vue
@@ -1,110 +1,207 @@
 <!--
  * @Date: 2024-01-06 17:40:19
  * @LastEditors: Sneed
- * @LastEditTime: 2024-01-06 21:21:35
+ * @LastEditTime: 2024-01-14 16:13:57
  * @FilePath: /belleson-frontend/Users/mache/Documents/demo/mdc/src/container/maintenance/index.vue
 -->
 <template>
     <div class="maintenance">
-        <div class="nav">璁惧淇濆吇/鏃ュ父淇濆吇</div>
-        <List>
+        <div class="nav">璁惧淇濆吇/{{navName}}</div>
+        <List ref="list" url="/maintain/pageQuery">
             <template slot="search">
                 <div class="item">
                     <span>缁熶竴缂栧彿</span>
-                    <el-input class="item-value" v-model="query.no"></el-input>
+                    <el-input class="item-value" v-model="queryInfo.uuid"></el-input>
                 </div>
                 <div class="item">
                     <span>璁惧鍚嶇О</span>
-                    <!-- <el-input class="item-value" v-model="query.no"></el-input> -->
-                    <el-select class="item-value" v-model="query.no" placeholder="璇烽�夋嫨">
-                        <el-option
-                        v-for="item in options"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value">
+                    <el-select class="item-value" v-model="queryInfo.machineName" placeholder="璇烽�夋嫨">
+                        <el-option v-for="item in machineList" :key="item.id" :label="item.name" :value="item.id">
                         </el-option>
                     </el-select>
                 </div>
-                <div class="item">
+                <!-- <div class="item">
                     <span>璁惧鍨嬪彿</span>
-                    <el-input class="item-value" v-model="query.no"></el-input>
+                    <el-input class="item-value" v-model="queryInfo.type"></el-input>
                 </div>
                 <div class="item">
                     <span>璁惧瑙勬牸</span>
-                    <el-input class="item-value" v-model="query.no"></el-input>
-                </div>
+                    <el-input class="item-value" v-model="queryInfo.specification"></el-input>
+                </div> -->
                 <div class="item">
                     <span>浣跨敤閮ㄩ棬</span>
-                    <el-input class="item-value" v-model="query.no"></el-input>
+                    <el-select class="item-value" v-model="queryInfo.department">
+                        <el-option v-for="item in departmentlist" :key="item.value" :label="item.label" :value="item.value">
+                        </el-option>
+                    </el-select>
                 </div>
-                <div class="item">
+                <!-- <div class="item">
                     <span>瀹夎浣嶇疆</span>
-                    <el-input class="item-value" v-model="query.no"></el-input>
-                </div>
+                    <el-input class="item-value" v-model="queryInfo.location"></el-input>
+                </div> -->
                 <div class="item">
                     <span>璁″垝寮�濮嬫棩鏈�</span>
-                    <!-- <el-input class="item-value" v-model="query.no"></el-input> -->
-                    <el-date-picker
-                        class="item-value"
-                        v-model="query.no"
-                        align="right"
-                        type="date"
-                        placeholder="閫夋嫨鏃ユ湡"
-                        :picker-options="pickerOptions">
+                    <el-date-picker class="item-value" v-model="queryInfo.planStartDate" align="right" type="date" placeholder="閫夋嫨鏃ユ湡">
                     </el-date-picker>
                 </div>
                 <div class="item">
                     <span>璁″垝瀹屾垚鏃ユ湡</span>
-                    <el-date-picker
-                        class="item-value"
-                        v-model="query.no"
-                        align="right"
-                        type="date"
-                        placeholder="閫夋嫨鏃ユ湡"
-                        :picker-options="pickerOptions">
+                    <el-date-picker class="item-value" v-model="queryInfo.planFinishDate" align="right" type="date" placeholder="閫夋嫨鏃ユ湡">
                     </el-date-picker>
                 </div>
                 <div class="item">
-                    <div class="query btn">鏌ヨ</div>
+                    <el-button type="primary" size="small" @click="query">鏌ヨ</el-button>
                 </div>
                 <div class="item">
-                    <div class="reset btn">閲嶇疆</div>
+                    <el-button type="primary" size="small" @click="reset">閲嶇疆</el-button>
                 </div>
             </template>
+            <template slot="table-tool">
+                <el-button type="primary" size="mini" @click="addDevice(1)">娣诲姞</el-button>
+            </template>
             <template slot="columns">
-                <el-table-column
-                    prop="date"
-                    label="鏃ユ湡"
-                    width="180">
+                <!-- <el-table-column
+                type="selection"
+                align="center"
+                width="55">
+            </el-table-column> -->
+                <!-- <el-table-column align="center" label="缁熶竴缂栧彿" prop="uuid">
+                </el-table-column> -->
+                <el-table-column align="center" label="璁惧鍚嶇О" width="150" :show-overflow-tooltip="true" prop="machineName">
                 </el-table-column>
-                <el-table-column
-                    prop="name"
-                    label="濮撳悕"
-                    width="180">
+                <el-table-column align="center" label="璁惧鍨嬪彿" prop="type">
                 </el-table-column>
-                <el-table-column
-                    prop="address"
-                    label="鍦板潃">
+                <el-table-column align="center" label="璁惧瑙勬牸" prop="specification">
+                </el-table-column>
+                <el-table-column align="center" label="浣跨敤鍗曚綅" prop="department">
+                </el-table-column>
+                <el-table-column align="center" label="淇濆吇鑰�" prop="userName">
+                </el-table-column>
+                <el-table-column align="center" label="淇濆吇鍛ㄦ湡" prop="period">
+                </el-table-column>
+                <el-table-column align="center" label="淇濆吇绫诲瀷" prop="style">
+                    <template slot-scope="scope">
+                        <span>{{ scope.row.style === "1" ? "鏃ュ父淇濆吇" : scope.row.style === "2" ? "涓�绾т繚鍏�" :
+                            scope.row.style === "3" ? "浜岀骇淇濆吇" : "涓夌骇淇濆吇" }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column align="center" width="110" label="鏄惁鍚堟牸" prop="isQualified">
+                    <template slot-scope="scope">
+                        <span>{{ scope.row.isQualified === "1" ? "鍚堟牸" : "涓嶅悎鏍�" }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column align="center" width="120" :show-overflow-tooltip="true" label="璁″垝寮�濮嬫椂闂�">
+                    <template slot-scope="scope">
+                        <span v-if="scope.row.startDateFrom">{{ scope.row.startDateFrom + '~' + scope.row.startDateTo }}</span>
+                        <span v-else></span>
+                    </template>
+                </el-table-column>
+                <el-table-column align="center" width="120" :show-overflow-tooltip="true" label="璁″垝瀹屾垚鏃堕棿">
+                    <template slot-scope="scope">
+                        <span v-if="scope.row.completeDateFrom">{{ scope.row.completeDateFrom + '~'
+                            + scope.row.completeDateTo }}</span>
+                        <span v-else></span>
+                    </template>
+                </el-table-column>
+                <el-table-column align="center" width="150" :show-overflow-tooltip="true" label="淇濆吇鍐呭涓庡瓨鍦ㄩ棶棰�" prop="detail">
+                </el-table-column>
+                <el-table-column align="center" label="鎿嶄綔" prop="editor">
+                    <template slot-scope="scope">
+                        <el-button size="mini" type="text" @click="addDevice(2, scope.row, $event)">缂栬緫</el-button>
+                        <el-button size="mini" type="text" @click="deleteHandle(2, scope.row)">鍒犻櫎</el-button>
+                    </template>
                 </el-table-column>
             </template>
         </List>
+        <DailyMAddD ref="dailyMAddD" @reflash="submitForm" :style="navName" :departmentlist="departmentlist" :machineList="machineList" :userList="userList"></DailyMAddD>
     </div>
 </template>
 <script>
-    import List from '../list/index.vue'
-    export default {
-        components: {
-            List
-        },
-        data () {
-            return {
-                query: {
-                    no: ''
-                },
-                options: [{}]
-            }
+import List from '../list/index.vue'
+import { getUseDpts,getRequest } from '@/api/Api'
+import { userList } from '@/api/MdcApi'
+import DailyMAddD from './dailyMAdd.vue'
+export default {
+    components: {
+        List,
+        DailyMAddD
+    },
+    computed: {
+        navName () {
+            let names = ['鏃ュ父淇濆吇','涓�绾�','浜岀骇','涓夌骇']
+            return names[this.$route.params.style-1]
         }
-    }
+    },
+    data() {
+        return {
+            departmentlist: [],
+            userList: [],
+            machineList: [],
+            queryInfo: {
+                uuid: '',
+                machineName: '',
+                type: '',
+                specification: '',
+                department: '',
+                location: '',
+                planStartDate: '',
+                planFinishDate: '',
+            },
+            
+        }
+    },
+    mounted() {
+        this.init()
+        this.query()
+    },
+    methods: {
+        init () {
+            // 鏌ヨ浣跨敤閮ㄩ棬
+            getUseDpts().then(res => {
+                this.departmentlist = res.data.map(item => {
+                    return {
+                        value: item.id,
+                        label: item.name
+                    }
+                })
+            })
+            getRequest('machineList', {
+            }).then(res => {
+                this.machineList = res.data.list
+                console.log(res)
+            })
+            getRequest('userList', {
+            }).then(res => {
+                this.userList = res.data.list
+            })
+        },
+        query() {
+            this.$refs.list.pageQuery(this.queryInfo)
+        },
+        reset() {
+            Object.keys(this.queryInfo).forEach(key => {
+                this.queryInfo[key] = ''
+            })
+        },
+        addDevice(n, row, event) {
+            if (n === 1) {
+                this.$nextTick(() => {
+                    this.$refs.dailyMAddD.init(n)
+                })
+            } else {
+                this.$nextTick(() => {
+                    this.$refs.dailyMAddD.init(n, row)
+                })
+            }
+        },
+        deleteHandle() {
+
+        },
+        submitForm() {
+
+        }
+    },
+}
 </script>
 <style lang="scss">
 .maintenance {
@@ -115,51 +212,67 @@
             border: 1px solid #435F9E;
         }
     }
+
+    .el-button--mini {
+        background: transparent;
+    }
+
+    .el-button--primary {
+        background-color: transparent;
+    }
 }
 </style>
 <style lang="scss" scoped>
-    .maintenance {
-        width: 100%;
-        height: 100%;
-        overflow: hidden;
-        color: #FFF;
+.maintenance {
+    width: 100%;
+    height: 100%;
+    overflow: hidden;
+    color: #FFF;
+    display: flex;
+    flex-direction: column;
+
+    .nav {
+        padding: 10px 30px;
+        font-size: 14px;
+    }
+
+    .item {
+        margin-top: 20px;
+        margin-left: 50px;
         display: flex;
-        flex-direction: column;
-        .nav {
-            padding: 10px 30px;
+        align-items: center;
+
+        span {
+            width: 120px;
+            font-size: 16px;
+            font-family: PingFangSC, PingFang SC;
+            color: #C6DCE0;
+            text-align: right;
+            padding-right: 20px;
         }
-        .item {
-            margin-top: 20px;
-            margin-left: 50px;
-            display: flex;
-            align-items: center;
-            span {
-                width: 120px;
-                font-size: 16px;
-                font-family: PingFangSC, PingFang SC;
-                color: #C6DCE0;
-                text-align: right;
-                padding-right: 20px;
-            }
-            .item-value {
-                width: 200px;
-                border: 1px solid #435F9E;
-            }
-            .btn {
-                line-height: 1.5;
-                width: 100px;
-                text-align: center;
-                font-size: 16px;
-                cursor: pointer;
-            }
-            .reset {
-                background: #AAB6BA;
-                color: #FFF;
-            }
-            .query {
-                background: #5DD1FC;
-                color: #FFF;
-            }
+
+        .item-value {
+            width: 200px;
+            border: 1px solid #435F9E;
+        }
+
+        .btn {
+            line-height: 1.5;
+            width: 100px;
+            text-align: center;
+            font-size: 16px;
+            cursor: pointer;
+        }
+
+        .reset {
+            background: #AAB6BA;
+            color: #FFF;
+        }
+
+        .query {
+            background: #5DD1FC;
+            color: #FFF;
         }
     }
+}
 </style>
\ No newline at end of file

--
Gitblit v1.9.3