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

---
 src/container/ledger/index.vue |  399 +++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 274 insertions(+), 125 deletions(-)

diff --git a/src/container/ledger/index.vue b/src/container/ledger/index.vue
index 098f8af..749b994 100644
--- a/src/container/ledger/index.vue
+++ b/src/container/ledger/index.vue
@@ -1,12 +1,12 @@
 <!--
  * @Date: 2024-01-06 17:40:19
  * @LastEditors: Sneed
- * @LastEditTime: 2024-01-10 21:43:14
+ * @LastEditTime: 2024-01-14 16:31:53
  * @FilePath: /belleson-frontend/Users/mache/Documents/demo/mdc/src/container/ledger/index.vue
 -->
 <template>
     <div class="maintenance">
-        <div class="nav">璁惧淇濆吇/鏃ュ父淇濆吇</div>
+        <div class="nav">鍙拌处</div>
         <List ref="list" url="/account/pageQuery">
             <template slot="search">
                 <div class="item">
@@ -14,121 +14,254 @@
                     <el-input class="item-value" v-model="queryInfo.uuid"></el-input>
                 </div>
                 <div class="item">
+                    <span>璁惧瑙勬牸</span>
+                    <el-input class="item-value" v-model="queryInfo.specification"></el-input>
+                </div>
+                <div class="item">
+                    <span>璁惧鍨嬪彿</span>
+                    <el-input class="item-value" v-model="queryInfo.type"></el-input>
+                </div>
+                <div class="item">
                     <span>鍔犲伐绫诲瀷</span>
-                    <el-select class="item-value" v-model="queryInfo.category" placeholder="---璇烽�夋嫨---">
-                        <el-option
-                        v-for="item in deviceType"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value">
+                    <el-select class="item-value" v-model="queryInfo.category" placeholder="">
+                        <el-option v-for="item in deviceType" :key="item.value" :label="item.label" :value="item.value">
+                        </el-option>
+                    </el-select>
+                </div>
+                <div class="item">
+                    <span>璐﹀姟灞炴��</span>
+                    <el-select class="item-value" v-model="queryInfo.accountingAttribute" placeholder="">
+                        <el-option v-for="item in accountingAttribute" :key="item.value" :label="item.label"
+                            :value="item.value">
                         </el-option>
                     </el-select>
                 </div>
                 <div class="item">
                     <span>浣跨敤閮ㄩ棬</span>
                     <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 v-for="item in departmentlist" :key="item.value" :label="item.label" :value="item.value">
                         </el-option>
                     </el-select>
                 </div>
                 <div class="item">
-                    <div class="query btn" @click="query">鏌ヨ</div>
+                    <span>璁惧绠$悊鍒嗙被</span>
+                    <el-select class="item-value" v-model="queryInfo.manageType">
+                        <el-option value="A">A</el-option>
+                        <el-option value="B">B</el-option>
+                        <el-option value="C">C</el-option>
+                    </el-select>
                 </div>
                 <div class="item">
-                    <div class="reset btn">閲嶇疆</div>
+                    <span>鎶曚骇鏃ユ湡</span>
+                    <el-date-picker class="item-value" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
+                        v-model="queryInfo.productionDate" type="date" clearable placeholder="閫夋嫨鏃ユ湡"></el-date-picker>
+                </div>
+                <div class="item">
+                    <span>鐢熶骇鍘傚</span>
+                    <el-input class="item-value" v-model="queryInfo.manufacturer"></el-input>
+                </div>
+                <div class="item">
+                    <el-button type="primary" size="small" @click="query">鏌ヨ</el-button>
+                    <!-- <div class="query btn" @click="query">鏌ヨ</div> -->
+                </div>
+                <div class="item">
+                    <el-button type="primary" size="small" @click="reset">閲嶇疆</el-button>
+                    <!-- <div class="reset btn"  @click="reset">閲嶇疆</div> -->
                 </div>
             </template>
-            
+
             <template slot="table-tool">
                 <el-button type="primary" size="mini" @click="add">娣诲姞璁惧鍙拌处</el-button>
             </template>
             <template slot="columns">
-                <el-table-column
-                    prop="uuid"
-                    label="缁熶竴缂栧彿"
-                    width="180">
+                <!-- <el-table-column type="selection" align="center" width="55">
+                </el-table-column> -->
+                <el-table-column label="缁熶竴缂栧彿" align="center" prop="uuid">
                 </el-table-column>
-                <el-table-column
-                    prop="specification"
-                    label="璁惧瑙勬牸"
-                    width="180">
+                <el-table-column label="璁惧鍚嶇О" align="center" prop="machineName">
                 </el-table-column>
-                <el-table-column
-                    prop="machineId"
-                    label="璁惧鍨嬪彿">
+                <el-table-column label="璁惧瑙勬牸" align="center" prop="specification">
+                </el-table-column>
+                <el-table-column label="璁惧鍨嬪彿" align="center" prop="category">
+                </el-table-column>
+                <!-- <el-table-column
+                label="璁惧绠$悊鍒嗙被"
+                align="center"
+                prop="managType">
+            </el-table-column>
+            <el-table-column
+                label="鐝"
+                align="center"
+                prop="classes">
+            </el-table-column> -->
+                <el-table-column label="浣跨敤閮ㄩ棬" align="center" prop="department">
+                </el-table-column>
+                <el-table-column label="璁惧绫诲瀷" align="center" prop="category">
+                </el-table-column>
+                <el-table-column label="璁惧鐘舵��" align="center" prop="state">
+                    <template slot-scope="scope">
+                        <span v-if="scope.row.state == 'STOP'">鍏虫満鐘舵��</span>
+                        <span v-else-if="scope.row.state == 'RUN'">杩愯鐘舵��</span>
+                        <span v-else-if="scope.row.state == 'IDLE'">绌洪棽鐘舵��</span>
+                        <span v-else-if="scope.row.state == 'ALARM'">鎶ヨ鐘舵��</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="璐﹀姟灞炴��" align="center" prop="accountingAttribute">
+                </el-table-column>
+                <el-table-column label="鐢熶骇鍘傚" align="center" prop="manufacturer">
+                </el-table-column>
+                <el-table-column label="鎶曚骇鏃ユ湡" align="center" prop="productionDate">
+                </el-table-column>
+                <el-table-column label="鍥藉埆" align="center" prop="country">
+                </el-table-column>
+                <el-table-column width="110" align="center" label="璁惧鍘熷��(鍏�)" prop="originalValue">
+                </el-table-column>
+                <el-table-column width="110" align="center" label="璁惧閲嶉噺(kg)" prop="weight">
+                </el-table-column>
+                <el-table-column width="110" align="center" label="鐢垫皵澶嶆潅绯绘暟" prop="elecCompFactor">
+                </el-table-column>
+                <el-table-column width="110" align="center" label="鏈烘澶嶆潅绯绘暟" prop="mechCompFactor">
+                </el-table-column>
+                <el-table-column width="120" align="center" label="璁惧鍑�鐜板��(鍏�)" prop="presentValue">
+                </el-table-column>
+                <el-table-column label="澶囨敞" align="center" prop="remark">
+                </el-table-column>
+                <el-table-column fixed="right" align="center" label="鎿嶄綔">
+                    <template slot-scope="scope">
+                        <el-button type="text" size="small" @click="addOrUpdateHandle(scope.row)">缂栬緫</el-button>
+                        <el-button type="text" size="small" @click="del(scope.row)">鍒犻櫎</el-button>
+                    </template>
                 </el-table-column>
             </template>
         </List>
-        <manage-add-update :addVisible="addOrUpdateVisible" @close="close" @confirm="confirm" :deviceType="deviceType"
-:departmentlist="departmentlist"></manage-add-update>
+        <manage-add-update v-if="addOrUpdateVisible" :addVisible="addOrUpdateVisible" @close="close" @confirm="confirm"
+            :deviceType="deviceType" :departmentlist="departmentlist" :isselectlist="isselectlist"
+            :deviceStatus="deviceStatus" :financePro="financePro" :row="row"></manage-add-update>
     </div>
 </template>
 <script>
-    import ManageAddUpdate from './Manage-add-update'
-    import { getUseDpts } from '@/api/Api'
-    import List from '../list/index.vue'
-    export default {
-        components: {
-            List,
-            ManageAddUpdate
-        },
-        data () {
-            return {
-                // 鍔犲伐绫诲瀷
-                deviceType: [
-                    { value: '绔嬪姞', label: '绔嬪姞' },
-                    { value: '鍗у姞', label: '鍗у姞' },
-                    { value: '绔嬪崸杞崲', label: '绔嬪崸杞崲' },
-                    { value: '浜旇酱', label: '浜旇酱' },
-                    { value: '鏁版帶杞�', label: '鏁版帶杞�' },
-                    { value: '澶嶅悎鍔犲伐', label: '澶嶅悎鍔犲伐' },
-                    { value: '鏁版帶纾�', label: '鏁版帶纾�' },
-                    { value: '榻垮姞宸�', label: '榻垮姞宸�' },
-                    { value: '鐢靛伐鍔�', label: '鐢靛伐鍔�' }
-                ],
-                departmentlist: [],
-                queryInfo: {
-                    no: ''
+import ManageAddUpdate from './Manage-add-update'
+import { getUseDpts, getRequest } from '@/api/Api'
+import List from '../list/index.vue'
+export default {
+    components: {
+        List,
+        ManageAddUpdate
+    },
+    data() {
+        return {
+            // 鍔犲伐绫诲瀷
+            deviceType: [
+                { value: '绔嬪姞', label: '绔嬪姞' },
+                { value: '鍗у姞', label: '鍗у姞' },
+                { value: '绔嬪崸杞崲', label: '绔嬪崸杞崲' },
+                { value: '浜旇酱', label: '浜旇酱' },
+                { value: '鏁版帶杞�', label: '鏁版帶杞�' },
+                { value: '澶嶅悎鍔犲伐', label: '澶嶅悎鍔犲伐' },
+                { value: '鏁版帶纾�', label: '鏁版帶纾�' },
+                { value: '榻垮姞宸�', label: '榻垮姞宸�' },
+                { value: '鐢靛伐鍔�', label: '鐢靛伐鍔�' }
+            ],
+            isselectlist: [
+                {
+                    label: '鏄�',
+                    value: '1'
                 },
-                options: [{}],
-                addOrUpdateVisible: false
-            }
-        },
-        mounted () {
-            this.query()
-            this.init()
-        },
-        methods: {
-            init  () {
-                // 鏌ヨ浣跨敤閮ㄩ棬
-                getUseDpts().then(res => {
-                    this.departmentlist = res.data.map(item => {
-                        return {
+                {
+                    label: '鍚�',
+                    value: '0'
+                }
+            ],
+            // 璁惧鐘舵��
+            deviceStatus: [
+                { value: 'STOP', label: '鍏虫満' },
+                { value: 'RUN', label: '杩愯' },
+                { value: 'IDLE', label: '绌洪棽' },
+                { value: 'ALARM', label: '鎶ヨ' }
+            ],
+            // 璐﹀姟灞炴��
+            financePro: [
+                { value: '甯愬唴', label: '甯愬唴' },
+                { value: '甯愬', label: '甯愬' }
+            ],
+            departmentlist: [],
+            queryInfo: {
+                uuid: '',
+                specification: '',
+                type: '',
+                category: '',
+                accountingAttribute: '',
+                department: '',
+                manageType: '',
+                productionDate: '',
+                manufacturer: '',
+            },
+            options: [{}],
+            row: {},
+            addOrUpdateVisible: false
+        }
+    },
+    mounted() {
+        this.query()
+        this.init()
+    },
+    methods: {
+        init() {
+            // 鏌ヨ浣跨敤閮ㄩ棬
+            getUseDpts().then(res => {
+                this.departmentlist = res.data.map(item => {
+                    return {
                         value: item.id,
                         label: item.name
-                        }
+                    }
+                })
+            })
+        },
+        query() {
+            this.$refs.list.pageQuery(this.queryInfo)
+        },
+        reset() {
+            Object.keys(this.queryInfo).forEach(key => {
+                this.queryInfo[key] = ''
+            })
+        },
+        add() {
+            this.row = {}
+            this.addOrUpdateVisible = true
+        },
+        close() {
+            this.addOrUpdateVisible = false
+        },
+        confirm() {
+            this.query()
+            this.close()
+        },
+        addOrUpdateHandle(row) {
+            this.row = row
+            this.addOrUpdateVisible = true
+        },
+        del(row) {
+            this.$confirm('纭畾瑕佹案涔呭垹闄ゆ椤�?', '鎻愮ず', {
+                confirmButtonText: '纭畾',
+                cancelButtonText: '鍙栨秷',
+                type: 'warning'
+            }).then(() => {
+                getRequest('accountDel', { ids: [row.id].join(',') }).then(res => {
+                    this.$message({
+                        type: 'success',
+                        message: '鍒犻櫎鎴愬姛锛�'
+                    })
+                    this.submitForm()
+                }).catch(() => {
+                    this.$message({
+                        type: 'info',
+                        message: '宸插彇娑堝垹闄�'
                     })
                 })
-            },
-            query () {
-                this.$refs.list.pageQuery(this.queryInfo)
-            },
-            add () {
-                this.addOrUpdateVisible = true
-            },
-            close () {
-                this.addOrUpdateVisible = false
-            },
-            confirm () {
-                this.query()
-                this.close()
-            }
-        },
-    }
+            })
+        }
+    },
+}
 </script>
 <style lang="scss">
 .maintenance {
@@ -139,51 +272,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