From 0ac076bd5d4b37a63e250eb461c2cb6e9ea73eb6 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期五, 13 十月 2023 11:22:31 +0800
Subject: [PATCH] 1.模具清单100%  2.模具点检项100%

---
 src/api/MouldManager.js                |   78 ++++++
 src/views/mouldManager/mouldCheck.vue  |  449 ++++++++++++++++++++++++++++++++++
 src/views/mouldManager/mouldList.vue   |  112 +++++++-
 src/views/systemSetting/dataImport.vue |   91 +++++++
 4 files changed, 708 insertions(+), 22 deletions(-)

diff --git a/src/api/MouldManager.js b/src/api/MouldManager.js
index 9997a8e..71e4b8d 100644
--- a/src/api/MouldManager.js
+++ b/src/api/MouldManager.js
@@ -26,3 +26,81 @@
     params: data
   })
 }
+
+// 妯″叿鐐规椤瑰垪琛ㄦ煡璇�
+export function MouldCheckItemSearch(data) {
+  return request({
+    url: 'MouldManager/MouldCheckItemSearch',
+    method: 'get',
+    params: data
+  })
+}
+
+// 妯″叿鐐规椤规柊澧炵紪杈�
+export function AddUpdateMouldCheckItem(data) {
+  return request({
+    url: 'MouldManager/AddUpdateMouldCheckItem',
+    method: 'post',
+    data
+  })
+}
+
+// 妯″叿鐐规椤瑰垹闄�
+export function DeleteMouldCheckItem(data) {
+  return request({
+    url: 'MouldManager/DeleteMouldCheckItem',
+    method: 'post',
+    params: data
+  })
+}
+
+// 妯″叿鐐规鏍囧噯鍒楄〃鏌ヨ
+export function DeviceCheckStandArdSearch(data) {
+  return request({
+    url: 'MouldManager/DeviceCheckStandArdSearch',
+    method: 'get',
+    params: data
+  })
+}
+
+// 妯″叿鐐规鏍囧噯缂栬緫/鏌ョ湅鑾峰彇鏁版嵁
+export function ViewDeviceCheckStanedSearch(data) {
+  return request({
+    url: 'MouldManager/ViewDeviceCheckStanedSearch',
+    method: 'post',
+    params: data
+  })
+}
+
+// 妯″叿鐐规鏍囧噯鏂板缂栬緫
+export function AddUpdateMouldCheckStandArd(data, opertype) {
+  return request({
+    url: 'MouldManager/AddUpdateMouldCheckStandArd?opertype=' + opertype,
+    method: 'post',
+    data
+  })
+}
+// 妯″叿鐐规鏍囧噯鍒犻櫎
+export function DeleteMouldCheckStaned(data) {
+  return request({
+    url: 'MouldManager/DeleteMouldCheckStaned',
+    method: 'post',
+    params: data
+  })
+}
+// 妯″叿鐐规鏍囧噯鍏宠仈妯″叿鏌ヨ
+export function CheckStanedAssociationMould(data) {
+  return request({
+    url: 'MouldManager/CheckStanedAssociationMould',
+    method: 'get',
+    params: data
+  })
+}
+// 妯″叿鐐规鏍囧噯鍏宠仈妯″叿鎻愪氦
+export function SaveCheckStanedAssociationMould(data, checkstand_code) {
+  return request({
+    url: 'MouldManager/SaveCheckStanedAssociationMould?checkstand_code=' + checkstand_code,
+    method: 'post',
+    data
+  })
+}
diff --git a/src/views/mouldManager/mouldCheck.vue b/src/views/mouldManager/mouldCheck.vue
index 4f616dd..73a8e8f 100644
--- a/src/views/mouldManager/mouldCheck.vue
+++ b/src/views/mouldManager/mouldCheck.vue
@@ -1,11 +1,450 @@
-<template />
+<template>
+  <div>
+    <div class="body" :style="{height:mainHeight+'px'}">
+      <div class="bodyTopButtonGroup" style="justify-content: space-between">
+        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
+        <el-button v-waves type="success" icon="el-icon-download" @click="$router.push('./../systemSetting/dataImport?fileCode=13')">瀵煎叆</el-button>
+      </div>
+
+      <div class="bodyTopFormGroup">
+        <el-form
+          ref="form"
+          :model="form"
+          label-width="100px"
+          inline
+          style="display: flex;"
+        >
+          <div class="elForm">
+            <el-form-item label="閮ㄤ綅缂栫爜" style=" display: flex;">
+              <el-input v-model="form.checkitemcode" placeholder="璇疯緭鍏�" style="width: 200px" />
+            </el-form-item>
+            <el-form-item label="閮ㄤ綅鍚嶇О" style=" display: flex;">
+              <el-input v-model="form.checkitemname" placeholder="璇疯緭鍏�" style="width: 200px" />
+            </el-form-item>
+            <el-form-item label="鐐规瑕佹眰" style=" display: flex;">
+              <el-input v-model="form.checkdescr" placeholder="璇疯緭鍏�" style="width: 200px" />
+            </el-form-item>
+
+          </div>
+          <div
+            class="bodySearchReset"
+            :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}"
+          >
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+          </div>
+        </el-form>
+        <div
+          class="bodyTopFormExpand"
+          style="height:5px"
+        >
+          <!--          <svg-icon-->
+          <!--            v-show="mouseHoverType==='mouseout'"-->
+          <!--            style="cursor: pointer"-->
+          <!--            :icon-class="!isExpandForm?'doubleDown3':'doubleUp3'"-->
+          <!--            @mouseenter="mouseHoverType=$event.type"-->
+          <!--          />-->
+          <!--          <svg-icon-->
+          <!--            v-show="mouseHoverType==='mouseenter'"-->
+          <!--            style="cursor: pointer"-->
+          <!--            :icon-class="!isExpandForm?'doubleDown':'doubleUp'"-->
+          <!--            @click="isExpandForm=!isExpandForm"-->
+          <!--            @mouseout="mouseHoverType=$event.type"-->
+          <!--          />-->
+        </div>
+      </div>
+
+      <div class="elTableDiv">
+        <!--        <TableColumnSettings-->
+        <!--          :list1="tableColumnSettingsArray"-->
+        <!--          @tableColumnUpdate="tableColumnUpdate"-->
+        <!--        />-->
+        <el-table
+          ref="tableDataRef"
+          :key="tableTimeStampKey"
+          :data="tableData"
+          :height="isExpandForm?tableHeight:(tableHeight+40)+'px'"
+          border
+          class="tableFixed"
+          :row-class-name="tableRowClassName"
+          :style="{width: 100+'%',height:isExpandForm?tableHeight:(tableHeight+40)+'px',}"
+          highlight-current-row
+          :header-cell-style="this.$headerCellStyle"
+          :cell-style="this.$cellStyle"
+          @sort-change="sortChange"
+        >
+
+          <el-table-column
+            v-for="item in tableColumnSettingsArray"
+            v-if="item.show"
+            :key="item.id"
+            :sortable="item.sortable"
+            :prop="item.prop"
+            :min-width="item.minWidth"
+            :label="item.label"
+            :width="item.width"
+            show-tooltip-when-overflow
+            :fixed="item.fixed?(item.fixed==='left'?'left':'right'):false"
+          >
+            <template slot-scope="{row}">
+              <div v-if="!row[item.prop]">/</div>
+              <div v-else>{{ row[item.prop] }}</div>
+            </template>
+          </el-table-column>
+
+          <el-table-column
+            label="鎿嶄綔"
+            fixed="right"
+            width="120"
+          >
+            <template slot-scope="{row}">
+              <div class="operationClass">
+                <el-tooltip class="item" effect="dark" content="缂栬緫" placement="top">
+                  <i :style="{color:$store.state.settings.theme}" class="el-icon-edit-outline" @click="edit('edit',row)" />
+                </el-tooltip>
+                <el-tooltip v-del-tab-index class="item" effect="dark" content="鍒犻櫎" placement="top">
+                  <i :style="{color:$store.state.settings.theme}" class="el-icon-delete" @click="del(row)" />
+                </el-tooltip>
+              </div>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+      <!--鍒嗛〉-->
+      <pagination
+        :total="total"
+        :page.sync="form.page"
+        :limit.sync="form.rows"
+        align="right"
+        layout="total,prev, pager, next,sizes"
+        popper-class="select_bottom"
+        @pagination="getMouldCheckItemSearch"
+      />
+    </div>
+
+    <el-dialog
+      v-el-drag-dialog
+      :title="operation==='add'?'鏂板':'缂栬緫'"
+      :visible.sync="dialogVisible"
+      width="800px"
+      :close-on-click-modal="false"
+      top="15vh"
+      @closed="handleClose"
+      @close="handleClose"
+    >
+      <el-form ref="dialogForm" inline :rules="dialogFormRules" :model="dialogForm" label-width="80px">
+        <el-form-item label="閮ㄤ綅缂栫爜" prop="checkitemcode">
+          <el-input v-model="dialogForm.checkitemcode" :disabled="operation!=='add'" style="width: 200px" />
+        </el-form-item>
+        <el-form-item label="閮ㄤ綅鍚嶇О" prop="checkitemname">
+          <el-input v-model="dialogForm.checkitemname" style="width: 200px" />
+        </el-form-item>
+        <el-form-item label="鐐规瑕佹眰" prop="checkitemdescr">
+          <el-input v-model="dialogForm.checkitemdescr" type="textarea" style="width: 200px" />
+        </el-form-item>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <div class="footerButton">
+          <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>
+          <el-button
+            v-waves
+            type="primary"
+            :loading="$store.state.app.buttonIsDisabled"
+            :disabled="$store.state.app.buttonIsDisabled"
+            @click="dialogVisibleConfirm"
+          >纭� 瀹�</el-button>
+        </div>
+      </span>
+    </el-dialog>
+
+    <!--瀵煎叆缁勪欢-->
+    <import-picker
+      ref="importPickerFunc"
+      class="importPickerClass"
+      :shows.sync="shows"
+      :title="title_value"
+      :colos="colos"
+      :code="code"
+    />
+
+  </div>
+</template>
 
 <script>
+import Pagination from '@/components/Pagination'
+import ImportPicker from '@/components/ImportPicker'
+import { validateCode } from '@/utils/global'
+import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
+import TableColumnSettings from '@/components/TableColumnSettings'
+import { AddUpdateMouldCheckItem, DeleteMouldCheckItem, MouldCheckItemSearch } from '@/api/MouldManager'
+
 export default {
-  name: 'MouldCheck'
+  name: 'Zzjg',
+  components: {
+    Pagination, ImportPicker, TableColumnSettings
+  },
+  directives: { elDragDialog, waves },
+  data() {
+    return {
+      mouseHoverType: 'mouseout',
+      isExpandForm: false,
+      mainHeight: 0,
+      tableHeight: 0,
+      form: {
+        checkitemcode: '', // 閮ㄤ綅缂栫爜
+        checkitemname: '', // 閮ㄤ綅鍚嶇О
+        checkdescr: '', // 鐐规瑕佹眰
+        prop: 'lm_date', // 鎺掑簭瀛楁
+        order: 'desc', // 鎺掑簭瀛楁
+        page: 1, // 绗嚑椤�
+        rows: 20 // 姣忛〉澶氬皯鏉�
+      },
+
+      total: 10,
+      tableData: [],
+      tableColumnSettingsArray: [
+        { minWidth: false, width: 55, prop: 'id', label: 'id', id: 1, show: false, fixed: false, sortable: false }, // 闅愯棌鍒�  show: false闅愯棌锛宼rue鏄剧ず
+        { minWidth: false, width: 55, prop: 'rowNum', label: '搴忓彿', id: 2, show: true, fixed: 'left', sortable: false }, // custom
+        {
+          minWidth: 110,
+          width: false,
+          prop: 'code',
+          label: '閮ㄤ綅缂栫爜',
+          id: 3,
+          show: true,
+          fixed: false,
+          sortable: true
+        },
+        {
+          minWidth: 110,
+          width: false,
+          prop: 'name',
+          label: '閮ㄤ綅鍚嶇О',
+          id: 4,
+          show: true,
+          fixed: false,
+          sortable: true
+        },
+        {
+          minWidth: 330,
+          width: false,
+          prop: 'description',
+          label: '鐐规瑕佹眰',
+          id: 5,
+          show: true,
+          fixed: false,
+          sortable: true
+        },
+        // {
+        //   minWidth: false,
+        //   width: 110,
+        //   prop: 'isscan',
+        //   label: '閫夋嫨鎵爜',
+        //   id: 6,
+        //   show: true,
+        //   fixed: false,
+        //   sortable: true
+        // },
+        // {
+        //   minWidth: false,
+        //   width: 110,
+        //   prop: 'cycle',
+        //   label: '鐐规鍛ㄦ湡',
+        //   id: 7,
+        //   show: true,
+        //   fixed: false,
+        //   sortable: true
+        // },
+        {
+          minWidth: false,
+          width: 110,
+          prop: 'lm_user',
+          label: '鍒涘缓浜哄憳',
+          id: 8,
+          show: true,
+          fixed: false,
+          sortable: true
+        },
+        {
+          minWidth: false,
+          width: 160,
+          prop: 'lm_date',
+          label: '鍒涘缓鏃堕棿',
+          id: 9,
+          show: true,
+          fixed: false,
+          sortable: true
+        }
+      ],
+      tableTimeStampKey: new Date().getTime(), // 琛ㄦ牸key
+
+      dialogVisible: false,
+      dialogForm: {
+        id: '',
+        checkitemcode: '', // 璁惧鐐规閮ㄤ綅缂栫爜
+        checkitemname: '', // 璁惧鐐规閮ㄤ綅鍚嶇О
+        checkitemdescr: '', // 璁惧鐐规閮ㄤ綅瑕佹眰
+        operType: '' // 鎿嶄綔绫诲瀷
+      },
+      operation: '',
+      dialogFormRules: {
+        checkitemcode: [
+          { required: true, validator: validateCode, trigger: ['blur', 'change'] }
+        ],
+        checkitemname: [
+          { required: true, message: '璇疯緭鍏ラ儴浣嶅悕绉�', trigger: ['blur', 'change'] }
+        ]
+      },
+
+      title_value: '鏁版嵁瀵煎叆 / 鐐规閮ㄤ綅',
+      code: '10',
+      shows: false
+
+    }
+  },
+
+  created() {
+    this.getMouldCheckItemSearch()
+  },
+  mounted() {
+    window.addEventListener('resize', this.getHeight)
+    this.getHeight()
+  },
+  methods: {
+    tableColumnUpdate(val, isCopyTrue) {
+      if (isCopyTrue) {
+        this.tableColumnSettingsArray = val
+      }
+      this.tableTimeStampKey = new Date().getTime()
+      this.$refs.tableDataRef.doLayout()
+    },
+    async getMouldCheckItemSearch() {
+      const res = await MouldCheckItemSearch(this.form)
+      this.tableData = res.data
+      this.total = res.count
+    },
+    // 鎺掑簭鏀瑰彉鏃�
+    sortChange({ column, prop, order }) {
+      if (order === 'descending') {
+        order = 'desc'
+      } else if (order === 'ascending') {
+        order = 'asc'
+      } else {
+        order = 'desc'
+      }
+      this.form.order = order
+      this.form.prop = prop
+      this.getMouldCheckItemSearch()
+    },
+    // 鏌ヨ
+    search() {
+      this.getMouldCheckItemSearch()
+    },
+    // 閲嶇疆
+    reset() {
+      this.form.checkitemcode = ''
+      this.form.checkitemname = ''
+      this.form.checkdescr = ''
+      this.getMouldCheckItemSearch()
+    },
+
+    // 鏂板鎸夐挳
+    add(operation) {
+      this.operation = operation
+      this.dialogVisible = true
+    },
+    // 淇敼鎸夐挳
+    edit(operation, row) {
+      this.operation = operation
+      this.dialogVisible = true
+
+      this.$nextTick(() => {
+        this.dialogForm.id = row.id
+        this.dialogForm.checkitemcode = row.code
+        this.dialogForm.checkitemname = row.name
+        this.dialogForm.checkitemdescr = row.description
+      })
+    },
+    // 鍒犻櫎鎸夐挳
+    async del(row) {
+      this.$confirm('鏄惁纭鍒犻櫎?', '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning'
+      }).then(() => {
+        DeleteMouldCheckItem({ checkitemcode: row.code }).then(res => {
+          if (res.code === '200') {
+            this.$message.success('鍒犻櫎鎴愬姛!')
+            if (this.form.page > 1 && this.tableData.length === 1) {
+              this.form.page--
+            }
+            this.getMouldCheckItemSearch()
+          }
+        })
+      }).catch(() => {
+        this.$message.info('宸插彇娑堝垹闄�')
+      })
+    },
+    // 瀵硅瘽妗嗗叧闂簨浠�
+    handleClose() {
+      this.dialogForm.id = ''
+      this.dialogForm.checkitemcode = ''
+      this.dialogForm.checkitemname = ''
+      this.dialogForm.checkitemdescr = ''
+      this.dialogForm.cycle = 'D'
+      this.dialogForm.isqrcode = 'N'
+      this.$refs.dialogForm.clearValidate()
+    },
+    // 瀵硅瘽妗嗗彇娑�
+    dialogVisibleCancel() {
+      this.dialogVisible = false
+    },
+    // 瀵硅瘽妗嗙‘璁�
+    dialogVisibleConfirm() {
+      this.$refs.dialogForm.validate(valid => {
+        if (valid) {
+          this.$store.state.app.buttonIsDisabled = true
+          const data = {
+            id: this.dialogForm.id,
+            checkitemcode: this.dialogForm.checkitemcode,
+            checkitemname: this.dialogForm.checkitemname,
+            checkitemdescr: this.dialogForm.checkitemdescr,
+            opertype: this.operation === 'add' ? 'Add' : 'Update'
+          }
+          AddUpdateMouldCheckItem(data).then(res => {
+            if (res.code === '200') {
+              this.dialogVisible = false
+              this.$notify.success(this.operation === 'add' ? '娣诲姞鎴愬姛锛�' : '淇敼鎴愬姛锛�')
+              this.getMouldCheckItemSearch()
+              this.$store.state.app.buttonIsDisabled = false
+            } else {
+              this.$notify.error(this.operation === 'add' ? '娣诲姞澶辫触锛�' : '淇敼澶辫触锛�')
+            }
+          })
+        }
+      })
+    },
+    // 鑾峰彇椤甸潰楂樺害
+    getHeight() {
+      this.$nextTick(() => {
+        this.mainHeight = window.innerHeight - 85
+        this.tableHeight = this.mainHeight - 240
+        this.$refs.tableDataRef.doLayout()
+      })
+    },
+    tableRowClassName({ row, rowIndex }) {
+      return 'custom-row'
+    },
+    // 瀵煎叆鎸夐挳
+    upload() {
+      this.shows = true
+      this.$refs.importPickerFunc.newDataFunc()
+    },
+    colos() {
+      this.shows = false
+    }
+  }
 }
 </script>
 
-<style scoped>
-
-</style>
diff --git a/src/views/mouldManager/mouldList.vue b/src/views/mouldManager/mouldList.vue
index 5517990..73800c4 100644
--- a/src/views/mouldManager/mouldList.vue
+++ b/src/views/mouldManager/mouldList.vue
@@ -3,8 +3,9 @@
     <div class="body" :style="{height:mainHeight+'px'}">
       <div class="bodyTopButtonGroup" style="justify-content: space-between">
         <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
+        <el-button v-waves type="success" icon="el-icon-download" @click="$router.push('./../systemSetting/dataImport?fileCode=12')">瀵煎叆</el-button>
         <!--        <el-button v-waves type="primary" icon="el-icon-download" @click="download">瀵煎嚭</el-button>-->
-        <!--        <el-button v-waves icon="el-icon-download" @click="upload">瀵煎叆</el-button>-->
+
       </div>
 
       <div class="bodyTopFormGroup">
@@ -27,7 +28,7 @@
               </el-select>
             </el-form-item>
             <el-form-item label="浣跨敤鐘舵��" style=" display: flex;">
-              <el-select v-model="form.onstate" style="width: 200px" placeholder="璇烽�夋嫨">
+              <el-select v-model="form.usestatus" style="width: 200px" placeholder="璇烽�夋嫨">
                 <el-option
                   v-for="item in onstateArr"
                   :key="item.code"
@@ -118,16 +119,17 @@
             sortable="custom"
           >
             <template slot-scope="{row}">
-              {{ row.status === 'Y' ? '姝e父' : '鏁呴殰' }}
+              <el-tag v-if="row.status==='Y'" size="small" type="success">姝e父</el-tag>
+              <el-tag v-if="row.status==='N'" size="small" type="danger">鏁呴殰</el-tag>
             </template>
           </el-table-column>
           <el-table-column
-            prop="onstate"
+            prop="usestatus"
             label="浣跨敤鐘舵��"
             sortable="custom"
           >
             <template slot-scope="{row}">
-              {{ onstateArr.find(i => parseFloat(i.code) === parseFloat(row.usestaus)).name }}
+              {{ onstateArr.find(i => parseFloat(i.code) === parseFloat(row.usestatus)).name }}
             </template>
           </el-table-column>
           <el-table-column
@@ -144,7 +146,11 @@
             prop="spec"
             label="瑙勬牸鍨嬪彿"
             sortable="custom"
-          />
+          >
+            <template slot-scope="{row}">
+              {{ row.spec ? row.spec : '/' }}
+            </template>
+          </el-table-column>
           <el-table-column
             prop="warehousename"
             label="浠撳簱鍚嶇О"
@@ -203,7 +209,7 @@
                   <i
                     class="el-icon-edit-outline"
                     :style="{color:$store.state.settings.theme}"
-                    @click="edit('edit',row)"
+                    @click="edit(row)"
                   />
                 </el-tooltip>
                 <el-tooltip v-del-tab-index class="item" effect="dark" content="鍒犻櫎" placement="top">
@@ -327,9 +333,10 @@
   ProductionScheduleReportExcelSearch,
   ProductionScheduleReportSearch
 } from '@/api/ReportManager'
-import { MouldMangerSearch } from '@/api/MouldManager'
+import { AddUpdateMouldManger, DeleteMouldManger, MouldMangerSearch } from '@/api/MouldManager'
 import { InventoryTreePermissions, WareHouse } from '@/api/GeneralBasicData'
 import arrayToTree from 'array-to-tree'
+import { TCunstomerDelete } from '@/api/basicSettings'
 
 export default {
   name: 'Zzjg',
@@ -345,7 +352,7 @@
       tableHeight: 0,
       form: {
         mouldstaus: '', // 妯″叿鐘舵��
-        onstate: '', // 浣跨敤鐘舵��
+        usestatus: '', // 浣跨敤鐘舵��
         mouldcode: '', // 妯″叿缂栫爜
         mouldname: '', // 妯″叿鍚嶇О
         mouldspec: '', // 妯″叿瑙勬牸鍨嬪彿
@@ -405,9 +412,9 @@
       },
 
       Inventory: [
-        { code: '-1',
-          name: '鍏ㄩ儴'
-        }
+        // { code: '-1',
+        //   name: '鍏ㄩ儴'
+        // }
       ],
 
       wareHouseArr: []
@@ -430,13 +437,13 @@
     this.getHeight()
   },
   methods: {
-    async  getInventoryTreePermissions() {
+    async getInventoryTreePermissions() {
       const res = await InventoryTreePermissions()
       res.data.forEach(i => {
         i.name = i.code + ' ' + i.name
       })
 
-      this.Inventory = arrayToTree(this.Inventory.concat(res.data), {
+      this.Inventory = arrayToTree(res.data, {
         parentProperty: 'parentid',
         customID: 'code',
         childrenProperty: 'children'
@@ -512,7 +519,7 @@
     // 閲嶇疆
     reset() {
       this.form.mouldstaus = ''
-      this.form.onstate = ''
+      this.form.usestatus = ''
       this.form.mouldcode = ''
       this.form.mouldname = ''
 
@@ -524,17 +531,88 @@
 
     add() {
       this.operation = 'add'
+      this.dialogForm.opertype = 'Add'
       this.dialogVisible = true
     },
+    edit(row) {
+      this.operation = 'edit'
+      this.dialogVisible = true
+      this.dialogForm.opertype = 'Update'
 
+      this.$nextTick(() => {
+        this.dialogForm.mouldcode = row.code
+        this.dialogForm.mouldname = row.name
+        this.dialogForm.mouldspec = row.spec
+        this.dialogForm.warehousecode = row.warehousecode
+        this.dialogForm.surplife = row.surp_life
+        this.dialogForm.resilife = row.resi_life
+        this.dialogForm.status = row.status
+        this.dialogForm.mouldpart = row.partcode ? row.partcode.split(',') : []
+        this.$refs.tree.setCheckedKeys(this.dialogForm.mouldpart)
+      })
+    },
+    del(row) {
+      this.$confirm('鏄惁纭鍒犻櫎?', '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning'
+      }).then(() => {
+        DeleteMouldManger({ mouldcode: row.code }).then(res => {
+          if (res.code === '200') {
+            this.$notify.success('鍒犻櫎鎴愬姛!')
+            this.getMouldMangerSearch()
+          }
+        })
+      }).catch(() => {
+        this.$notify.info('宸插彇娑堝垹闄�')
+      })
+    },
     handleClose() {
-
+      this.dialogForm = {
+        mouldcode: '',
+        mouldname: '',
+        mouldspec: '',
+        warehousecode: '',
+        surplife: '',
+        resilife: '',
+        status: 'Y',
+        mouldpart: '',
+        opertype: ''
+      }
+      this.$refs.dialogForm.clearValidate()
     },
     dialogVisibleCancel() {
       this.dialogVisible = false
     },
     dialogVisibleConfirm() {
-      console.log(this.$refs.tree.getCheckedKeys())
+      this.$refs.dialogForm.validate(valid => {
+        if (valid) {
+          const checkData = this.$refs.tree.getCheckedNodes()
+          this.dialogForm.mouldpart = []
+          checkData.forEach(item => {
+            if (!Object.keys(item).includes('children')) {
+              this.dialogForm.mouldpart.push(item.code)
+            }
+          })
+          if (this.dialogForm.mouldpart.length === 0) {
+            return this.$message.info('鍏宠仈浜у搧涓嶈兘涓虹┖锛�')
+          }
+          this.$store.state.app.buttonIsDisabled = true
+          AddUpdateMouldManger(this.dialogForm).then(res => {
+            if (res.code === '200') {
+              this.$notify.success(this.operation === 'add' ? '娣诲姞鎴愬姛锛�' : '淇敼鎴愬姛锛�')
+              this.$refs.tree.setCheckedKeys([])
+
+              this.dialogVisible = false
+              this.$store.state.app.buttonIsDisabled = false
+              this.getMouldMangerSearch()
+            } else {
+              this.$store.state.app.buttonIsDisabled = false
+              this.$notify.error(this.operation === 'add' ? '娣诲姞澶辫触锛�' : '淇敼澶辫触锛�')
+            }
+          })
+        }
+      })
     },
     filterNode(value, data) {
       if (!value) return true
diff --git a/src/views/systemSetting/dataImport.vue b/src/views/systemSetting/dataImport.vue
index 353c595..8e5e0ca 100644
--- a/src/views/systemSetting/dataImport.vue
+++ b/src/views/systemSetting/dataImport.vue
@@ -129,6 +129,11 @@
                     item.indexOf('涓婄骇搴撲綅缂栫爜')!==-1||
                     item.indexOf('瑙勬牸鍨嬪彿')!==-1||
                     item.indexOf('瀛樿揣鍒嗙被')!==-1||
+                    item.indexOf('浠撳簱缂栫爜')!==-1||
+                    item.indexOf('棰勮瀵垮懡')!==-1||
+                    item.indexOf('鍓╀綑瀵垮懡')!==-1||
+                    item.indexOf('妯″叿缂栫爜')!==-1||
+                    item.indexOf('浜у搧缂栫爜')!==-1||
 
                     item.indexOf('璁¢噺鍗曚綅/缁勫悕绉�')!==-1
                   "
@@ -553,6 +558,21 @@
           j.uuid = nanoid()
         })
       }
+
+      if (this.sheetName.indexOf('妯″叿娓呭崟') !== -1) {
+        this.statusArr = [
+          { code: 'Y', name: '姝e父' },
+          { code: 'N', name: '鏁呴殰' }
+        ]
+
+        this.tableData[0].forEach(j => {
+          j.uuid = nanoid()
+          j['*鐘舵��'] = j['*鐘舵��'] ? this.statusArr.find(e => e.name === j['*鐘舵��']).code : ''
+        })
+        this.tableData[1].forEach(j => {
+          j.uuid = nanoid()
+        })
+      }
     },
     // 鎻愪氦
     submit() {
@@ -627,6 +647,13 @@
           }
           if (this.sheetName.indexOf('缂洪櫡瀹氫箟') !== -1) {
             const res = this.handleDefectDefineSubmitData()
+            if (res.code !== '200') {
+              return this.$message.info(res.message)
+            }
+          }
+
+          if (this.sheetName.indexOf('妯″叿娓呭崟') !== -1 && this.sheetName.indexOf('妯″叿鍏宠仈浜у搧') !== -1) {
+            const res = this.handleMouldListSubmitData()
             if (res.code !== '200') {
               return this.$message.info(res.message)
             }
@@ -1190,6 +1217,50 @@
 
       return { code: '200', message: '鎴愬姛锛�' }
     },
+    // 澶勭悊妯″叿娓呭崟鎻愪氦鏁版嵁
+    handleMouldListSubmitData() {
+      let flag = true
+      let msg = ''
+      if ([...new Set(this.tableData[0].map(i => i['*妯″叿缂栧彿(鍞竴)']))].length !== this.tableData[0].length) {
+        return this.$message.info('妯″叿娓呭崟缂栧彿涓嶈兘閲嶅锛�')
+      }
+      // if ([...new Set(this.tableData[1].map(i => i['*寰�鏉ュ崟浣嶇紪鍙�(鍞竴)']))].length !== this.tableData[1].length) {
+      //   return this.$message.info('寰�鏉ュ崟浣嶇紪鍙蜂笉鑳介噸澶嶏紒')
+      // }
+      this.tableData[0].forEach(j => {
+        if (!j['*妯″叿缂栧彿(鍞竴)']) {
+          flag = false
+          msg = '*妯″叿缂栧彿(鍞竴)涓嶈兘涓虹┖锛�'
+        }
+        if (!j['*妯″叿鍚嶇О']) {
+          flag = false
+          msg = '*妯″叿鍚嶇О涓嶈兘涓虹┖锛�'
+        }
+      })
+      this.tableData[1].forEach(j => {
+        if (!j['妯″叿缂栫爜'] && j['浜у搧缂栫爜']) {
+          flag = false
+          msg = '妯″叿缂栫爜涓嶈兘涓虹┖锛�'
+        }
+        if (j['妯″叿缂栫爜'] && !j['浜у搧缂栫爜']) {
+          flag = false
+          msg = '浜у搧缂栫爜涓嶈兘涓虹┖锛�'
+        }
+      })
+
+      if (!flag) {
+        return { code: '301', message: msg }
+      }
+
+      this.tableData[0].map(item => {
+        delete (item.uuid)
+      })
+      this.tableData[1].map(item => {
+        delete (item.uuid)
+      })
+
+      return { code: '200', message: '鎴愬姛锛�' }
+    },
 
     // parents:鐢ㄤ簬杩斿洖鐨勬暟缁勶紝childNode:瑕佹煡璇㈢殑鑺傜偣锛宼reeData锛歫son鏍戝舰鏁版嵁
     findParent(parents, childNode, treeData) {
@@ -1369,6 +1440,26 @@
           '缂洪櫡鎻忚堪': ''
         })
       }
+      //  妯″叿娓呭崟
+      if (this.sheetName.indexOf('妯″叿娓呭崟') !== -1 && this.activeName === '0') {
+        this.tableData[0].unshift({
+          uuid: nanoid(),
+          '*妯″叿缂栧彿(鍞竴)': '',
+          '*妯″叿鍚嶇О': '',
+          '瑙勬牸鍨嬪彿': '',
+          '*鐘舵��': 'Y',
+          '*浠撳簱缂栫爜': '',
+          '棰勮瀵垮懡(娆�)': '',
+          '鍓╀綑瀵垮懡(娆�)': ''
+        })
+      }
+      if (this.sheetName.indexOf('妯″叿鍏宠仈浜у搧') !== -1 && this.activeName === '1') {
+        this.tableData[1].unshift({
+          uuid: nanoid(),
+          '妯″叿缂栫爜': '',
+          '浜у搧缂栫爜': ''
+        })
+      }
     },
     delRow(row) {
       // 閽堝鍗晄heet

--
Gitblit v1.9.3