From 4e2b8719ff4296831a9ef05faa6e91ce6a7b0bc7 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期五, 19 一月 2024 16:44:05 +0800
Subject: [PATCH] 模具管理模块

---
 src/views/equipment/mould/index.vue |  219 +++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 157 insertions(+), 62 deletions(-)

diff --git a/src/views/equipment/mould/index.vue b/src/views/equipment/mould/index.vue
index de379cd..8439374 100644
--- a/src/views/equipment/mould/index.vue
+++ b/src/views/equipment/mould/index.vue
@@ -1,44 +1,56 @@
 <template>
   <div class="mod-config">
       <basic-container>
-      <ttable
-      :table="table"
-      :isShowHide="true"
-      :ajaxFun="ajaxFun"
-      :prelang="prelang"
-      :options="options" 
-      ref="processconfiguration"
-      >
-      <template #toolbar>
-        <el-button  type="primary"
-                @click="">鏂板</el-button>
-                <!-- <el-dropdown style="margin-left: 20px;" @command="handleCommand">
-                    <el-button >
-                      鐘舵�佸彉鏇�<i class="el-icon-arrow-down el-icon--right"></i>
-                    </el-button>
-                    <el-dropdown-menu slot="dropdown">
-                      <el-dropdown-item :key="index" 
-                        :command="item.label"
-                        v-for="(item,index) in taskTypeArr" 
-                        >{{ item.label }}</el-dropdown-item
-                      >
-                    </el-dropdown-menu>
-                </el-dropdown> -->
-      </template>
-      </ttable>
+        <ttable
+        :table="table"
+        :ajaxFun="ajaxFun"
+        :prelang="prelang"
+        :options="options"
+        ref="mouldTable"
+        class="mouldTable"
+        >
+        <template #toolbar></template>
+        </ttable>
       </basic-container>
+      <el-dialog
+        :title="editRow==null ? '鏂板':'淇敼'"
+        :visible.sync="dialogVisible"
+        width="40%">
+            <el-form :model="editRow" label-position="right" label-width="100px" ref="editForm" :rules="editRules">
+                <el-form-item prop="code" label="妯″叿缂栫爜">
+                    <el-input v-model="editRow.code" placeholder="璇疯緭鍏ユā鍏风紪鐮佺О"></el-input>
+                </el-form-item>
+                <el-form-item prop="name" label="妯″叿鍚嶇О">
+                    <el-input v-model="editRow.name" placeholder="璇疯緭鍏ユā鍏峰悕绉�"></el-input>
+                </el-form-item>
+            </el-form>
+        <span slot="footer" class="dialog-footer">
+            <el-button @click="dialogVisible = false">鍙� 娑�</el-button>
+            <el-button type="primary" @click="confirmSaveOrUpdateMould">纭� 瀹�</el-button>
+        </span>
+        </el-dialog>
   </div>
 </template>
 
 <script>
 import ttable from '@/views/common/ztt-table.vue'
-import { fetchList, } from '@/api/quality/finishedDelivery'
-
+import * as fecha from 'element-ui/lib/utils/date'
+import { fetchList,addMould,updateMould,delById } from '@/api/equipment/moulde'
+import { mapGetters } from 'vuex'
 export default {
   data(){
       return {
+          editRules: {
+            code: [{required:true,message:'璇疯緭鍏ユā鍏风紪鍙�',trigger:'blur'}],
+            name: [{required:true,message:'璇疯緭鍏ユā鍏峰悕绉�',trigger:'blur'}]
+          },
+          editRow: {
+            code: null,
+            name: null,
+          },
+          dialogVisible: false,
           ajaxFun: fetchList,
-          prelang: 'operation',
+          prelang: 'moudle',
           dataListLoading: false,
           options: {
               height: 300, // 榛樿楂樺害-涓轰簡琛ㄥご鍥哄畾
@@ -62,79 +74,162 @@
               // 鏍囬
               column: [
                 {
-                  minWidth: '140',
-                  prop: 'packageNo',
-                  label: '璁惧',
-                  isTrue: true,
-                  isSearch: true,
-                  searchInfoType: 'text',
-                },{
-                  minWidth: '140',
-                  prop: 'outBatchNo',
+                  minWidth: '140px',
+                  prop: 'code',
                   label: '妯″叿缂栧彿',
                   isTrue: true,
                   isSearch: true,
                   searchInfoType: 'text',
+                  render: { fun: this.addOrUpdateHandle }
                 },
                 {
-                  minWidth: '140',
-                  prop: 'partNo',
+                  minWidth: '140px',
+                  prop: 'name',
                   label: '妯″叿鍚嶇О',
                   isTrue: true,
                   isSearch: true,
                   searchInfoType: 'text',
                 },
                 {
-                  minWidth: '140',
-                  prop: 'partName',
-                  label: '宸ュ簭',
+                  minWidth: '140px',
+                  prop: 'createUser',
+                  label: '璐d换浜�',
                   isTrue: true,
                   isSearch: true,
                   searchInfoType: 'text',
                 },
                 {
-                  minWidth: '140',
-                  prop: 'specs',
-                  label: '宸ユ',
+                  minWidth: '140px',
+                  prop: 'status',
+                  label: '妯″叿鐘舵��',
                   isTrue: true,
                   isSearch: true,
                   searchInfoType: 'text',
                 },
                 {
-                  minWidth: '140',
-                  prop: 'unit',
-                  label: '瀵垮懡杞崲绯绘暟',
+                  minWidth: '140px',
+                  prop: 'createTime',
+                  label: '鍒涘缓鏃堕棿',
                   isTrue: true,
                   isSearch: true,
-                  searchInfoType: 'text',
+                  searchInfoType: 'date',
+                  formatter: this.formatDateTime
                 },
               ],
               toolbar: [],
-              operator: [{
-                text: '鍒犻櫎',
-                type: 'text',
-                size: 'small',
-                fun: this.deleteHandle
-              }],
+              operator: null,
               operatorConfig: {
                 fixed: 'right',
                 label: '鎿嶄綔',
                 width: 100,
                 minWidth: 100
-                },
+              },
           },
      }
   },
-  // computed: {
-  //   ...mapGetters(['permissions'])
-  // },
+  computed: {
+    ...mapGetters(['permissions'])
+  },
   components: {
     ttable
   },
-  medthods: {
+  watch: {
+    dialogVisible(newVal){
+        if(!newVal){
+            this.editRow = {
+                code: null,
+                name: null,
+            }
+        }
+    }
+  },
+  created(){
+    if(this.permissions.equipment_mould_add){
+        this.table.toolbar.push({
+            text: '鏂板',
+            type: 'primary',
+            fun: this.addOrUpdateHandle
+        })
+    }
+    if(this.permissions.equipment_mould_lableprint){
+        this.table.toolbar.push({
+            text: '鏍囩鎵撳嵃',
+            type: 'primary',
+            fun: this.lableprint
+        })
+    }
+    if(this.permissions.equipment_mould_del){
+        this.table.operator = [{
+            text: '鍒犻櫎',
+            type: 'text',
+            fun: this.deleteHandle
+        }]
+    }
+  },
+  mounted(){
+
+  },
+  methods: {
+    deleteHandle(row){
+        this.$confirm('鏄惁纭鍒犻櫎妯″叿鍚嶇О涓�' + row.name, '鎻愮ず', {
+          confirmButtonText: '纭畾',
+          cancelButtonText: '鍙栨秷',
+          closeOnClickModal: false,
+          type: 'warning'
+        })
+          .then(function() {
+            return delById(row.id)
+          }).then((data) => {
+            this.$message.success('鍒犻櫎鎴愬姛')
+            this.getData()
+          })
+    },
+    lableprint(){
+
+    },
+    confirmSaveOrUpdateMould(){
+        this.$refs.editForm.validate(valid=>{
+            if(valid){
+                if(this.editRow.id){
+                    updateMould(this.editRow).then(res=>{
+                        if(res.status===200){
+                            this.$message.success("淇敼鎴愬姛")
+                            this.getData()
+                        }
+                    }).catch(error=>{
+                        console.error(error)
+                    })
+                }else{
+                    addMould(this.editRow).then(res=>{
+                        if(res.status===200){
+                            this.$message.success("鏂板鎴愬姛")
+                            this.getData()
+                        }
+                    }).catch(error=>{
+                        console.error(error)
+                    })
+                }
+                this.dialogVisible = false
+            }
+        })
+    },
+    addOrUpdateHandle(row){
+        if(row){
+            this.editRow = row
+        }
+        this.dialogVisible = true
+    },
     formatDateTime(row, column, cellValue) {
-        return cellValue ? fecha.format(new Date(cellValue), 'yyyy-MM-dd') : ''
+        return cellValue ? fecha.format(new Date(cellValue), 'yyyy-MM-dd HH:mm:ss') : ''
+    },
+    getData() {
+      this.$refs.mouldTable.getDataList()
     },
   },
 }
-</script>
\ No newline at end of file
+</script>
+<style scoped>
+.mouldTable >>>.el-table__fixed-right .el-table__fixed-body-wrapper {
+  top: 74px !important;
+}
+</style>

--
Gitblit v1.9.3