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/quality/rawMaterial/rawMaterial-form.vue |   70 +++++------
 src/api/equipment/moulde.js                        |   32 +++++
 src/views/equipment/mould/index.vue                |  219 ++++++++++++++++++++++++++----------
 src/views/quality/Packaging_ledger/index.vue       |    2 
 src/views/common/ztt-table.vue                     |    2 
 5 files changed, 225 insertions(+), 100 deletions(-)

diff --git a/src/api/equipment/moulde.js b/src/api/equipment/moulde.js
new file mode 100644
index 0000000..e4d0614
--- /dev/null
+++ b/src/api/equipment/moulde.js
@@ -0,0 +1,32 @@
+import request from '@/router/axios'
+
+export function fetchList(query) {
+  return request({
+    url: '/mes/mould/page',
+    method: 'get',
+    params: query
+  })
+}
+
+export function addMould(data) {
+  return request({
+    url: '/mes/mould/addMould',
+    method: 'post',
+    data: data
+  })
+}
+
+export function updateMould(data) {
+  return request({
+    url: '/mes/mould/updateMould',
+    method: 'post',
+    data: data
+  })
+}
+
+export function delById(id) {
+  return request({
+    url: '/mes/mould/'+id,
+    method: 'delete',
+  })
+}
diff --git a/src/views/common/ztt-table.vue b/src/views/common/ztt-table.vue
index e963067..717635e 100644
--- a/src/views/common/ztt-table.vue
+++ b/src/views/common/ztt-table.vue
@@ -509,7 +509,7 @@
                 鍙兘涓婁紶xlsx/xls鏂囦欢锛屼笖涓嶈秴杩�10M<el-button
                   type="text"
                   style="font-size:14px;text-decoration: underline;"
-                  @click="downDataTemplate(uploadInfo.fileName)"   
+                  @click="downDataTemplate(uploadInfo.fileName)"
                   v-if="uploadInfo.download"
                   >涓嬭浇妯℃澘</el-button
                 >
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>
diff --git a/src/views/quality/Packaging_ledger/index.vue b/src/views/quality/Packaging_ledger/index.vue
index 1e66617..3445e0f 100644
--- a/src/views/quality/Packaging_ledger/index.vue
+++ b/src/views/quality/Packaging_ledger/index.vue
@@ -345,7 +345,7 @@
     },
     methods: {
       //鍖呰璇︽儏
-     
+
       //鎵撳嵃鎸夐挳
       printFun() {
           this.diaPrintTab = false;
diff --git a/src/views/quality/rawMaterial/rawMaterial-form.vue b/src/views/quality/rawMaterial/rawMaterial-form.vue
index 53a8f6a..0afc28b 100644
--- a/src/views/quality/rawMaterial/rawMaterial-form.vue
+++ b/src/views/quality/rawMaterial/rawMaterial-form.vue
@@ -173,9 +173,9 @@
                         <template slot-scope="scope">
                           <div v-if="!scope.row.children">
                           <el-tooltip :disabled="scope.row.deviceId != null" class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start">
-                            <!-- <el-autocomplete clearable
+                            <el-autocomplete clearable
                             :disabled="scope.row.deviceId == null ||  (dataForm.id!=null&&resultVal!=null)"
-                            @blur="changeState(scope.row,scope.$index)"
+                            @input="changeState(scope.row,scope.$index)"
                             v-model="scope.row.testValueList[index]"
                             :fetch-suggestions="querySearch"
                             placeholder="璇疯緭鍏ユ垨閫夋嫨妫�娴嬪��" >
@@ -183,9 +183,9 @@
                             <template slot-scope="{ item }">
                                 <div>{{ item.value }}</div>
                             </template>
-                            </el-autocomplete> -->
+                            </el-autocomplete>
 
-                              <el-select style="width:100%" filterable
+                              <!-- <el-select style="width:100%" filterable
                               :disabled="scope.row.deviceId == null ||  (dataForm.id!=null&&resultVal!=null)"
                               v-model="scope.row.testValueList[index]"
                               placeholder="璇疯緭鍏ユ垨閫夋嫨妫�娴嬪��"
@@ -196,7 +196,7 @@
                               >
                                 <el-option label="鏄�" value="鏄�"/>
                                 <el-option label="鍚�" value="鍚�"/>
-                              </el-select>
+                              </el-select> -->
                             </el-tooltip>
                           </div>
                         </template>
@@ -887,43 +887,41 @@
         console.log(e.target.value);
       },
       changeState(row, index) {
-        this.$nextTick(()=>{
-            if(row){
-                let isTrue = true
-                for(var i=0;i<row.testValueList.length;i++){
-                let val = row.testValueList[i]
-                let reg = /(^-?[0-9]{1,6}$)|(^-?[0-9]{1,6}[\.]{1}[0-9]{1,3}$)/
-                if(!reg.test(val) && !['鏄�','鍚�'].includes(val)){
-                    row.testValueList[i] = null
-                    this.$message.error("璇疯緭鍏ユ暟瀛楁垨閫夋嫨鏄惁")
-                    isTrue = false
-                }
-                }
-                if(!isTrue){
-                return
-                }
-          }
-          if (row.rpId != null && row.rpId != '') {
-            let val = row.testValueList.join(",")
-            if (val === undefined || val === '' || val === null) {
-                return
+        if(row){
+            let isTrue = true
+            for(var i=0;i<row.testValueList.length;i++){
+              let val = row.testValueList[i]
+              let reg = /(^-?[0-9]{1,6}$)|(^-?[0-9]{1,6}[\.]{1}[0-9]{1,3}$)/
+              if(!reg.test(val) && !['鏄�','鍚�'].includes(val)){
+                  row.testValueList[i] = null
+                  this.$message.error("璇疯緭鍏�6浣嶆暟瀛楁垨閫夋嫨鏄惁")
+                  isTrue = false
+              }
             }
-            let obj = {
+            if(!isTrue){
+              return
+            }
+        }
+        if (row.rpId != null && row.rpId != '') {
+          let val = row.testValueList.join(",")
+          if (val === undefined || val === '' || val === null) {
+              return
+          }
+          let obj = {
               deviceId: row.deviceId,
               rpId: row.rpId,
               testValue: val,
               note: row.note
-            }
-            updateRawInsProduct(obj).then(res => {
-                if (res.data.code == 0) {
-                    this.$message.success("鏇存柊鎴愬姛")
-                } else {
-                    this.$message.error("鏇存柊澶辫触")
-                }
-                this.init(this.dataForm.id)
-            })
           }
-        })
+          updateRawInsProduct(obj).then(res => {
+              if (res.data.code == 0) {
+                  this.$message.success("鏇存柊鎴愬姛")
+              } else {
+                  this.$message.error("鏇存柊澶辫触")
+              }
+              this.init(this.dataForm.id)
+          })
+        }
       },
       // 鍒犻櫎瀛愰」鐩�
       delChildren(row,index,isParent) {

--
Gitblit v1.9.3