xiongchao 3 年之前
父節點
當前提交
76c9b88b8e

+ 18 - 0
src/api/check/checkstandard.js

@@ -35,6 +35,24 @@ export function addCheckStandard (parameter) {
   })
 }
 
+/**
+ * add func
+ * parameter: { }
+ * @param parameter
+ * @returns {*}
+ */
+export function importCheckStandard (parameter) {
+  return axios({
+    url: '/check/standards/import',
+    method: 'POST',
+    headers: {
+      'Accept': 'application/json',
+      'Content-Type': 'application/json;charset=UTF-8'
+    },
+    data: parameter
+  })
+}
+
 /**
  * update func
  * parameter: { }

+ 11 - 1
src/views/check/checkstandard/CheckStandard.vue

@@ -25,6 +25,10 @@
         icon="plus"
         @click="$refs.baseModal.base()">新增
       </a-button>
+      <a-button style="margin-left:8px;" type="primary" @click="doImport">
+        <a-icon type="upload"/>
+        新增导入
+      </a-button>
       <a-button
         style="margin-left: 8px"
         v-if="($auth('check-spot-standards-export')||$auth('check-polling-standards-export'))"
@@ -81,6 +85,7 @@
     </s-table>
     <base-form ref="baseModal" :check-type="checkType" @ok="handleOk"/>
     <detail ref="detailModal"/>
+    <import-form-add ref="importModal" @ok="handleOk"/>
   </a-card>
 </template>
 
@@ -88,6 +93,7 @@
 import { STable, Ellipsis } from '@/components'
 import BaseForm from './modules/BaseForm'
 import Detail from './modules/Detail'
+import ImportFormAdd from './modules/ImportFormAdd'
 import {
   getCheckStandardPage,
   deleteCheckStandards,
@@ -101,7 +107,8 @@ export default {
     STable,
     Ellipsis,
     BaseForm,
-    Detail
+    Detail,
+    ImportFormAdd
   },
   props: {
     /**
@@ -303,6 +310,9 @@ export default {
       this.queryParam = {}
       this.$refs.table.refresh(true)
     },
+    doImport () {
+      this.$refs.importModal.base(null, null)
+    },
     doExport () {
       const parameter = {
         ...this.queryParam

+ 12 - 2
src/views/check/checkstandard/modules/BaseForm.vue

@@ -105,6 +105,17 @@
           </a-form-item>
         </row-item>
         <row-item>
+          <a-form-item
+            label="排序"
+            :labelCol="BaseTool.Constant.labelCol"
+            :wrapperCol="BaseTool.Constant.wrapperCol"
+          >
+            <a-input-number
+              :step='1'
+              v-decorator="['sort', {initialValue: 1,rules: [{required: true, message: '排序不能为空'}]}]"/>
+          </a-form-item>
+        </row-item>
+<!--        <row-item>
           <a-form-item
             label="动作类型"
             :labelCol="BaseTool.Constant.labelCol"
@@ -126,7 +137,6 @@
           <a-form-item
             label="检查类型"
             :labelCol="BaseTool.Constant.labelCol"
-            v-show="false"
             :wrapperCol="BaseTool.Constant.wrapperCol"
           >
             <a-select
@@ -162,7 +172,7 @@
               </a-select-option>
             </a-select>
           </a-form-item>
-        </row-item>
+        </row-item>-->
       </row-list>
       <row-list :col="1">
         <row-item>

+ 8 - 7
src/views/check/checkstandard/modules/Detail.vue

@@ -8,17 +8,18 @@
   >
     <detail-list title="" :col="2">
       <detail-list-item term="标准名称">{{ model.name }}</detail-list-item>
-      <detail-list-item term="编码">{{ model.no }}</detail-list-item>
+      <detail-list-item term="排序">{{ model.sort }}</detail-list-item>
+<!--      <detail-list-item term="编码">{{ model.no }}</detail-list-item>-->
       <detail-list-item term="检查类型">{{ BaseTool.Object.getField(typeMap,model.type) }}</detail-list-item>
       <detail-list-item term="计划周期">{{ model.period }}{{ BaseTool.Object.getField(periodTypeMap,model.periodType) }}</detail-list-item>
       <detail-list-item term="标准工时">{{ model.standardHours }}</detail-list-item>
-      <detail-list-item term="动作类型">{{ BaseTool.Object.getField(actionTypeMap,model.actionType) }}</detail-list-item>
+<!--      <detail-list-item term="动作类型">{{ BaseTool.Object.getField(actionTypeMap,model.actionType) }}</detail-list-item>-->
       <detail-list-item term="部位">{{ model.partName }}</detail-list-item>
-      <detail-list-item term="是否启用"><badge :status="DictCache.COLOR.YES_NO[model.enable]" :text="enableMap[model.enable]"></badge></detail-list-item>
-      <detail-list-item term="创建人">{{ model.createdUserName }}</detail-list-item>
-<!--      <detail-list-item term="更新人">{{ model.updateUserName }}</detail-list-item>
-      <detail-list-item term="创建时间">{{ model.updateTime }}</detail-list-item>
-      <detail-list-item term="更新时间">{{ model.updateTime }}</detail-list-item>-->
+<!--      <detail-list-item term="是否启用"><badge :status="DictCache.COLOR.YES_NO[model.enable]" :text="enableMap[model.enable]"></badge></detail-list-item>-->
+      <!--      <detail-list-item term="创建人">{{ model.createdUserName }}</detail-list-item>
+          <detail-list-item term="更新人">{{ model.updateUserName }}</detail-list-item>
+           <detail-list-item term="创建时间">{{ model.updateTime }}</detail-list-item>
+           <detail-list-item term="更新时间">{{ model.updateTime }}</detail-list-item>-->
     </detail-list>
     <detail-list title="" :col="1">
       <detail-list-item term="要求">{{ model.requirement }}</detail-list-item>

+ 2 - 2
src/views/check/checkstandard/modules/DetailSbCheck.vue

@@ -133,13 +133,13 @@ export default {
             return record.period + this.BaseTool.Table.getMapText(this.periodTypeMap, text)
           }
         },
-        {
+   /*     {
           title: '动作类型',
           dataIndex: 'actionType',
           customRender: (text, record, index) => {
             return this.BaseTool.Table.getMapText(this.actionTypeMap, text)
           }
-        },
+        },*/
         {
           title: '标准工时',
           dataIndex: 'standardHours'

+ 114 - 0
src/views/check/checkstandard/modules/ImportFormAdd.vue

@@ -0,0 +1,114 @@
+<template>
+  <a-modal
+    :title="modalTitle"
+    :width="640"
+    :visible="visible"
+    :confirmLoading="confirmLoading"
+    @cancel="handleCancel"
+  >
+    <a-form :form="form">
+      <a-form-item
+        label="上传文件"
+        :labelCol="BaseTool.Constant.labelCol"
+        :wrapperCol="BaseTool.Constant.wrapperCol"
+      >
+        <a-upload :fileList="fileList" @change="handleChange" :remove="handleRemove" :beforeUpload="beforeUpload">
+          <a-button> <a-icon type="upload" />选择上传文件</a-button>
+        </a-upload>
+      </a-form-item>
+    </a-form>
+    <p style="color: red">注意事项:<br/>
+      1:请确保对应设备新号已经设置<br/>
+      2:请确保对应设备使用机台、维修员均已经设置<br/>
+      3:导入如出现问题,请及时联系<br/>
+    </p>
+    <template slot="footer">
+      <a-button :loading="confirmLoading" type="primary" @click="save()">确定</a-button>
+    </template>
+  </a-modal>
+</template>
+
+<script>
+import { importCheckStandard } from '@/api/check/checkstandard'
+
+export default {
+  name: 'SbModelBomImportForm',
+  data () {
+    return {
+      confirmLoading: false,
+      modalTitle: null,
+      form: this.$form.createForm(this),
+      visible: false,
+      type: null,
+      fileList: []
+    }
+  },
+  methods: {
+    base (useCompany, useProject) {
+      this.visible = true
+      this.modalTitle = '保养标准导入'
+      this.type = 1
+    },
+    handleRemove (file) {
+      const index = this.fileList.indexOf(file)
+      const newFileList = this.fileList.slice()
+      newFileList.splice(index, 1)
+      this.fileList = newFileList
+    },
+    beforeUpload (file) {
+      const reg = /\.(xls|xlsx)(\?.*)?$/
+      return new Promise((resolve, reject) => {
+        if (reg.test(file.name)) {
+          this.fileList = [file]
+          return false
+        } else {
+          this.$message.error(`请上传正确的excel文件`)
+          reject(new Error('请上传正确的excel文件'))
+          return false
+        }
+      })
+    },
+    handleChange (info) {
+      if (info.file.status !== 'uploading') {
+        console.log(info.file, info.fileList)
+      }
+      if (info.file.status === 'done') {
+        this.$message.success(`${info.file.name} file uploaded successfully`)
+      } else if (info.file.status === 'error') {
+        this.$message.error(`${info.file.name} file upload failed.`)
+      }
+    },
+    save () {
+      const { form: { validateFieldsAndScroll } } = this
+      this.confirmLoading = true
+      validateFieldsAndScroll((errors, values) => {
+        if (errors) {
+          this.confirmLoading = false
+          return
+        }
+        const formData = new FormData()
+       // formData.append('type', this.type)
+        formData.append('file', this.fileList[0])
+        importCheckStandard(formData)
+          .then((res) => {
+            this.$message.success(res.data)
+            this.handleCancel(values)
+            this.BaseTool.ListForm.clearOneList(this)
+            this.BaseTool.ListForm.pushOneListAddMore(this, res.data)
+          }).catch(() => {
+            this.confirmLoading = false
+          })
+      })
+    },
+    handleCancel (values) {
+      this.visible = false
+      this.confirmLoading = false
+      this.fileList = []
+      this.form.resetFields()
+      this.storeId = null
+      this.$emit('ok', values)
+    }
+
+  }
+}
+</script>

+ 1 - 2
src/views/sb/info/SbInfo.vue

@@ -146,8 +146,7 @@ import Detail from './modules/Detail'
 import DownloadModal from '@/views/download/DownloadModal'
 import PreviewModal from '@/views/preview/PreviewModal'
 import { updateSbInfo, getSbInfoPage, deleteSbInfos, fetchSbInfo, exportSbInfo } from '@/api/sb/info'
-import { queryDept, getDeptsAllByParentId } from '@/api/upms/dept'
-import BaseTool from '../../../utils/tool'
+import { queryDept } from '@/api/upms/dept'
 import { fetchSbTypeTree } from '@/api/sb/type'
 import ImportFormAdd from './modules/ImportFormAdd'
 import PrintSbCode from '@/views/sb/info/modules/PrintSbCode'