From 02d86ec24676f6d682277eb8e493e755d677c179 Mon Sep 17 00:00:00 2001
From: “linengliang” <vanSuperEnergy@163.com>
Date: 星期五, 25 八月 2023 18:14:37 +0800
Subject: [PATCH] 设备台账2.0

---
 src/views/eam/newEquipment/EquipmentList.vue                             |  640 +++++++++++++
 src/views/eam/newEquipment/EquipmentDocumentList.vue                     |  395 ++++++++
 src/views/eam/modules/equipmentNew/EquipmentModal.vue                    |  693 ++++++++++++++
 src/views/eam/newEquipment/EquipmentPrecisionParametersList.vue          |  285 +++++
 src/views/eam/modules/equipmentNew/EquipmentPrecisionParametersModal.vue |  208 ++++
 src/views/eam/modules/equipmentNew/EquipmentDocumentModal.vue            |  264 +++++
 src/views/eam/newEquipment/EquipmentProcessParametersList.vue            |  243 ++++
 src/views/eam/modules/equipmentNew/EquipmentProcessParametersModal.vue   |  178 +++
 8 files changed, 2,906 insertions(+), 0 deletions(-)

diff --git a/src/views/eam/modules/equipmentNew/EquipmentDocumentModal.vue b/src/views/eam/modules/equipmentNew/EquipmentDocumentModal.vue
new file mode 100644
index 0000000..45a09a2
--- /dev/null
+++ b/src/views/eam/modules/equipmentNew/EquipmentDocumentModal.vue
@@ -0,0 +1,264 @@
+<template>
+  <j-modal
+    :title="title"
+    :width="width"
+    :visible="visible"
+    :confirmLoading="confirmLoading"
+    switchFullscreen
+    @ok="handleOk"
+    @cancel="handleCancel"
+    cancelText="鍏抽棴">
+    <a-spin :spinning="confirmLoading">
+      <a-form-model ref="form" :model="model" :rules="validatorRules">
+        <a-row>
+          <a-col :span="24">
+            <a-form-model-item label="鏂囨。缂栧彿" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="num">
+              <a-input
+                placeholder="璇疯緭鍏ユ枃妗g紪鍙�"
+                v-model="model.num"
+              />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="鏂囨。绫诲瀷" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="fileType">
+              <j-dict-select-tag
+                allow-clear
+                placeholder="璇烽�夋嫨鏂囨。绫诲瀷"
+                :triggerChange="true"
+                dictCode="common_upload_type"
+                v-model="model.fileType"
+              />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="鏂囨。涓婁紶" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="fileType">
+              <a-upload-dragger
+                name="file"
+                :customRequest="customRequest"
+                @change="handleChange"
+                :file-list="fileList"
+                :multiple="false"
+              >
+                <p class="ant-upload-drag-icon">
+                  <a-icon type="inbox" />
+                </p>
+                <p class="ant-upload-text">
+                  鐐瑰嚮涓婁紶鎴栨嫋鎷芥枃浠惰嚦璇ュ尯鍩熻繘琛屼笂浼�
+                </p>
+                <p class="ant-upload-hint">
+                  浠呮敮鎸佸崟鏂囦欢涓婁紶
+                </p>
+              </a-upload-dragger>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="鏂囦欢鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="name">
+              <a-input
+                placeholder="璇疯緭鍏ユ枃浠跺悕绉�"
+                v-model="model.name"
+              />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="澶囨敞" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="remark">
+              <a-textarea
+                placeholder="璇疯緭鍏ュ娉�"
+                allow-clear
+                v-model="model.remark"
+              />
+            </a-form-model-item>
+          </a-col>
+        </a-row>
+      </a-form-model>
+    </a-spin>
+  </j-modal>
+</template>
+
+<script>
+
+  import { httpAction } from '@/api/manage'
+  import { validateDuplicateValue } from '@/utils/util'
+import { getAction, postFileAction } from '../../../../api/manage'
+import { ACCESS_TOKEN, TENANT_ID } from "@/store/mutation-types"
+import Vue from 'vue'
+
+  export default {
+    name: "EquipmentDocumentModal",
+    components: {
+    },
+    props:{
+      mainId:{
+        type:String,
+        required:false,
+        default:''
+      }
+    },
+    data () {
+      return {
+        title:"鎿嶄綔",
+        width:800,
+        visible: false,
+        model:{
+        },
+        labelCol: {
+          xs: { span: 24 },
+          sm: { span: 5 },
+        },
+        wrapperCol: {
+          xs: { span: 24 },
+          sm: { span: 16 },
+        },
+        headers: {},
+
+        confirmLoading: false,
+        validatorRules: {
+          num:[
+           { required: true, message: '璇疯緭鍏ユ枃妗g紪鍙凤紒' },
+          ],
+          fileType:[
+           { required: true, message: '璇疯緭鍏ラ�夋嫨绫诲瀷锛�' },
+          ]
+        },
+        url: {
+          add: "/eam/equipmentDocument/add",
+          edit: "/eam/equipmentDocument/edit",
+          listByBusIdAndBusType: "/system/sysUploadRela/listByBusIdAndBusType",
+        },
+        fileList: [],
+        fileObject: {},
+        isFileChange: false,
+        uploadId: '',
+      }
+    },
+    created () {
+    //澶囦唤model鍘熷鍊�
+      this.modelDefault = JSON.parse(JSON.stringify(this.model));
+       // this.initFileTypes();
+        const token = Vue.ls.get(ACCESS_TOKEN);
+        const tenantid = Vue.ls.get(TENANT_ID)
+        this.headers = {
+          'Content-Type': 'multipart/form-data',
+          "X-Access-Token": token,
+          'X-Access-Tenant': tenantid
+        };
+    },
+    methods: {
+      add () {
+        this.edit(this.modelDefault);
+      },
+      customRequest(val) {
+      if (this.fileList.length == 0) {
+        this.fileObject = val;
+      }
+      },
+      handleChange(info) {
+      //榛樿缁欓檮浠剁姸鎬侊紝浠呮帶鍒舵牱寮�
+      let file = info.file;
+      //鏂囦欢鏇存敼锛屾爣璁版洿鏂�
+      if (this.model.id) {
+        this.isFileChange = true;
+      }
+      //鍒犻櫎
+      if (file.status == "removed") {
+        this.fileList = [];
+        this.fileObject.file = {};
+        this.model.name=''
+        return false;
+      }
+      //鍗曟枃浠舵帶鍒�
+      if (this.fileList.length > 0) {
+        this.$message.warning("褰撳墠浠呭厑璁镐笂浼犱竴涓枃浠讹紒");
+        return false;
+      }
+      file.status = 'done';
+      //椤甸潰灞曠ず涓婁紶鏂囦欢
+      this.fileList.push(file);
+      this.model.name = file.name;
+      this.model = Object.assign({}, this.model);
+
+    },
+      edit (record) {
+        this.fileList = [];
+        this.uploadId = ''
+        this.model = Object.assign({}, record);
+        var that = this;
+        getAction(that.url.listByBusIdAndBusType, { busId: record.id, busType: 'equipment_file' }).then((res) => {
+        if (res.success) {
+          for (let i = 0; i < res.result.length; i++) {
+            that.fileList.push({
+              uid: res.result[i].upload.id,
+              name: res.result[i].upload.name,
+              status: "done",
+            })
+            that.$nextTick(() => {
+              that.model.name = res.result[i].upload.name 
+            }); 
+          }
+        }
+      })
+        this.visible = true;
+      },
+      close () {
+        this.$emit('close');
+        this.visible = false;
+        this.$refs.form.clearValidate();
+      },
+      handleOk () {
+        const that = this;
+        // 瑙﹀彂琛ㄥ崟楠岃瘉
+        this.$refs.form.validate(valid => {
+          if (JSON.stringify(that.fileObject.file) == '{}' && that.uploadId == '' && that.fileList.length == 0) {
+                that.$message.warning("璇蜂笂浼犳枃浠�");
+                return false
+          } 
+          if (valid) {
+              that.confirmLoading = true;
+              let formData = Object.assign({}, that.model);
+              let httpurl = ''
+              let method = ''
+              if (!that.model.id) {
+                httpurl += that.url.add;
+                method = 'post';
+                formData.equipmentId = that.mainId;
+              } else {
+                httpurl += that.url.edit;
+                method = 'put';
+              }
+
+              formData.type = "equipment_file";
+              formData.uploadId = that.uploadId;
+              // formData.fileType = "7";//鏂囦欢绫诲瀷  7锛氬浘鐗�
+              var saveDate = new FormData();
+
+              formData.isFileChange = that.isFileChange;
+
+              saveDate.append("file", that.fileObject.file);
+              saveDate.append('data', JSON.stringify(formData));
+
+              postFileAction(httpurl, saveDate, this.headers).then((res) => {
+                if (res.success) {
+                  that.$message.success(res.message);
+                  that.$emit('ok');
+                } else {
+                  that.$message.warning(res.message);
+                }
+              }).finally(() => {
+                that.confirmLoading = false;
+                that.close();
+              })
+              
+
+          }else{
+             return false
+          }
+        })
+      },
+      handleCancel () {
+        this.close()
+      },
+
+
+    },
+    
+  }
+</script>
diff --git a/src/views/eam/modules/equipmentNew/EquipmentModal.vue b/src/views/eam/modules/equipmentNew/EquipmentModal.vue
new file mode 100644
index 0000000..a174197
--- /dev/null
+++ b/src/views/eam/modules/equipmentNew/EquipmentModal.vue
@@ -0,0 +1,693 @@
+<template>
+  <j-modal
+    :title="title"
+    :width="width"
+    :visible="visible"
+    :confirmLoading="confirmLoading"
+    switchFullscreen
+    @ok="handleOk"
+    @cancel="handleCancel"
+    cancelText="鍏抽棴">
+    <a-spin :spinning="confirmLoading">
+      <a-form-model ref="form" :model="model" :rules="validatorRules" >
+        <a-row>
+          <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> 璁惧鍩虹淇℃伅 </a-divider>
+          <a-col :span="6">
+            <a-form-model-item label="璁惧鎵�灞炲垎绫�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentCategoryId">
+              <j-dict-select-tag
+                allow-clear
+                placeholder="璇烽�夋嫨璁惧鎵�灞炲垎绫�" 
+                :disabled="formDisabled" 
+                :triggerChange="true"
+                dictCode="mom_eam_equipment_category,name,id"
+                v-model="model.equipmentCategoryId"
+              />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item label="缁熶竴缂栫爜" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="num">
+              <a-input v-model="model.num" placeholder="鐢辩郴缁熺敓鎴�"  :disabled="formDisabled"></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item label="璁惧鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="name">
+              <a-input v-model="model.name" placeholder="璇疯緭鍏ヨ澶囧悕绉�"  :disabled="formDisabled"></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item label="鍨嬪彿" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="model">
+              <a-input v-model="model.model" placeholder="璇疯緭鍏ュ瀷鍙�"  :disabled="formDisabled"></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item label="瑙勬牸" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="specification">
+              <a-input v-model="model.specification" placeholder="璇疯緭鍏ヨ鏍�"  :disabled="formDisabled" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item label="鎬诲姛鐜�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="gpo">
+              <a-input v-model="model.gpo" placeholder="璇疯緭鍏ユ�诲姛鐜�" :disabled="formDisabled"></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item label="璁惧鍥剧墖" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentPhoto">
+              <j-image-upload
+                :isMultiple="false"
+                v-model="model.equipmentPhoto"
+              ></j-image-upload>
+            </a-form-model-item>
+          </a-col>
+          <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;">缁存姢鍙婁娇鐢ㄤ俊鎭�</a-divider>
+          <a-col :span="6">
+            <a-form-model-item label="缁存姢閮ㄩ棬" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="manageId">
+              <a-tree-select
+                :disabled="formDisabled"
+                style="width: 100%"
+                :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
+                :tree-data="treeData"
+                placeholder="璇烽�夋嫨缁存姢閮ㄩ棬" 
+                tree-default-expand-all
+                v-model="model.manageId"
+              />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item label="浣跨敤閮ㄩ棬" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="useId">
+              <a-tree-select
+                style="width: 100%"
+                :disabled="formDisabled"
+                :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
+                :tree-data="treeData"
+                placeholder="璇烽�夋嫨浣跨敤閮ㄩ棬"
+                tree-default-expand-all
+                v-model="model.useId"
+              />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item label="缁翠慨鐝粍" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="teamId">
+              <j-dict-select-tag
+                allow-clear
+                :disabled="formDisabled"
+                placeholder="璇烽�夋嫨璐d换鐝粍"
+                :triggerChange="true"
+                dictCode="mom_base_team,name,id,status='1' and del_flag='0'"
+                v-model="model.teamId"
+              />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item label="璧勪骇鍒堕�犲晢" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="constructorId">
+              <j-dict-select-tag
+                allow-clear
+                :disabled="formDisabled" 
+                placeholder="璇烽�夋嫨璧勪骇鍒堕�犲晢"
+                :triggerChange="true"
+                dictCode="mom_base_constructor,name,id,status!='0' and del_flag!='1'"
+                v-model="model.constructorId"
+              />
+            </a-form-model-item>
+          </a-col>
+          <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;">鐘舵�佸強鏍囪瘑</a-divider>
+          <a-col :span="6">
+            <a-form-model-item label="鍏抽敭璁惧鏍囪瘑" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="specificEquipment">
+              <j-dict-select-tag
+                allow-clear
+                placeholder="璇烽�夋嫨鍏抽敭璁惧鏍囪瘑" 
+                :disabled="formDisabled" 
+                :triggerChange="true"
+                dictCode="specific_equipment"
+                v-model="model.specificEquipment"
+              />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item label="璁惧鐘舵��" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentStatus">
+              <j-dict-select-tag
+                allow-clear
+                :disabled="formDisabled"
+                placeholder="璇疯緭鍏ヨ澶囩姸鎬�"
+                :triggerChange="true"
+                dictCode="equipment_status"
+                v-model="model.equipmentStatus"
+              />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item label="鎶�鏈姸鎬�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="technologyStatus">
+              <j-dict-select-tag
+                allow-clear
+                :disabled="formDisabled"
+                placeholder="璇烽�夋嫨鎶�鏈姸鎬�"  
+                :triggerChange="true"
+                dictCode="technology_status"
+                v-model="model.technologyStatus"
+              />
+            </a-form-model-item>
+          </a-col>
+          <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;">鍑哄巶鍙婂畨瑁呬俊鎭�</a-divider>
+          <a-col :span="6">
+            <a-form-model-item label="鍑哄巶缂栧彿" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="factoryNumber">
+              <a-input
+               :disabled="formDisabled"
+                placeholder="璇疯緭鍏ュ嚭鍘傜紪鍙�"
+                v-model="model.factoryNumber"
+              />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item label="鍑哄巶鏃ユ湡" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="leaveFactoryDate">
+              <a-date-picker
+                :disabled="formDisabled"
+                placeholder="璇疯緭鍏ュ嚭鍘傛棩鏈�"
+                style="width: 100%;"
+                v-model="model.leaveFactoryDate"
+              />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item label="楠屾敹鏃ユ湡" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="acceptanceCheckDate">
+              <a-date-picker
+                :disabled="formDisabled"
+                placeholder="璇疯緭鍏ラ獙鏀舵棩鏈�"
+                style="width: 100%;"
+                v-model="model.acceptanceCheckDate"
+              />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item label="绔嬮」鍗″彿" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="projectApprovalNo">
+              <a-input v-model="model.projectApprovalNo" :disabled="formDisabled" placeholder="璇疯緭鍏ョ珛椤瑰崱鍙�" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item label="宸ュ尯" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentUda1">
+              <a-input v-model="model.equipmentUda1" placeholder="璇疯緭鍏ュ伐鍖�" :disabled="formDisabled" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item label="閲嶉噺" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentUda3">
+              <a-input v-model="model.equipmentUda3"  :disabled="formDisabled" placeholder="璇疯緭鍏ラ噸閲�" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item label="閲嶉噺璁¢噺鍗曚綅" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentUda4">
+              <a-input v-model="model.equipmentUda4" :disabled="formDisabled" placeholder="璇疯緭鍏ラ噸閲忚閲忓崟浣岻D" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item label="瀹夎浣嶇疆" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="location">
+              <a-input v-model="model.location" placeholder="璇疯緭鍏ュ畨瑁呬綅缃�" :disabled="formDisabled" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item label="鍔熻兘浣嶇疆" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentUda5">
+              <a-input v-model="model.equipmentUda5" :disabled="formDisabled" placeholder="璇疯緭鍏ュ姛鑳戒綅缃�" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item label="璧勯噾鏉ユ簮" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="fundSource">
+              <a-input v-model="model.fundSource" :disabled="formDisabled" placeholder="璇疯緭鍏ヨ祫閲戞潵婧�" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item label="璧勪骇鏉ユ簮鍥藉" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sourceCountry">
+              <a-input v-model="model.sourceCountry" :disabled="formDisabled" placeholder="璇疯緭鍏ヨ祫浜ф潵婧愬浗瀹�" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item label="瀹夊叏閰嶇疆" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="securityConfiguration">
+              <a-input v-model="model.securityConfiguration" :disabled="formDisabled" placeholder="璇疯緭鍏ュ畨鍏ㄩ厤缃�" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item label="鍐峰嵈绯荤粺" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="coolingSystem">
+              <a-input v-model="model.coolingSystem" :disabled="formDisabled" placeholder="璇疯緭鍏ュ喎鍗寸郴缁�" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item label="鐏伀鍣�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="fireExtinguisher">
+              <a-input v-model="model.fireExtinguisher" :disabled="formDisabled" placeholder="璇疯緭鍏ョ伃鐏櫒" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item label="鐏伀鍣ㄦ湁鏁堟湡" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="fireExtinguisherValidityPeriod">
+              <a-input v-model="model.fireExtinguisherValidityPeriod" :disabled="formDisabled" placeholder="璇疯緭鍏ョ伃鐏櫒鏈夋晥鏈�" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item label="鎿嶄綔绯荤粺" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="operatingSystem">
+              <a-input v-model="model.operatingSystem" :disabled="formDisabled" placeholder="璇疯緭鍏ユ搷浣滅郴缁�" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item label="绯荤粺" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="system">
+              <a-input v-model="model.system" :disabled="formDisabled" placeholder="璇疯緭鍏ョ郴缁�" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item label="绔彛" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="port">
+              <a-input v-model="model.port" :disabled="formDisabled"  placeholder="璇疯緭鍏ョ鍙�" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item label="鍧愭爣鏁伴噺" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="coordinateNum">
+              <a-input-number v-model="model.coordinateNum" :disabled="formDisabled" placeholder="璇疯緭鍏ュ潗鏍囨暟閲�" style="width: 100%" />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item label="澶囨敞" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="remark">
+              <a-input v-model="model.remark" placeholder="璇疯緭鍏ュ娉�" :disabled="formDisabled" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;">ABC鏍囪瘑</a-divider>
+          <a-col :span="6">
+            <a-form-model-item label="骞冲潎浣跨敤鐜�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="standardA">
+              <j-dict-select-tag
+                allow-clear
+                placeholder="璇烽�夋嫨骞冲潎浣跨敤鐜�" 
+                :disabled="formDisabled" 
+                :triggerChange="true"
+                dictCode="ABC-standardA"
+                v-model="model.standardA"
+                @change="standardResultCompute"
+              />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item label="鍙浛鎹㈡��" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="standardB">
+              <j-dict-select-tag
+                allow-clear
+                placeholder="璇烽�夋嫨鍙浛鎹㈡��" 
+                :disabled="formDisabled" 
+                :triggerChange="true"
+                dictCode="ABC-standardB"
+                v-model="model.standardB"
+                @change="standardResultCompute"
+              />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item label="鏁呴殰褰卞搷搴�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="standardC">
+              <j-dict-select-tag
+                allow-clear
+                placeholder="璇烽�夋嫨鏁呴殰褰卞搷搴�" 
+                :disabled="formDisabled" 
+                :triggerChange="true"
+                dictCode="ABC-standardC"
+                v-model="model.standardC"
+                @change="standardResultCompute"
+              />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item label="鐢熶骇瓒呭樊搴�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="standardD">
+              <j-dict-select-tag
+                allow-clear
+                placeholder="璇烽�夋嫨鐢熶骇瓒呭樊搴�" 
+                :disabled="formDisabled" 
+                :triggerChange="true"
+                dictCode="ABC-standardD"
+                v-model="model.standardD"
+                @change="standardResultCompute"
+              />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item label="鏁呴殰棰戠巼" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="standardE">
+              <j-dict-select-tag
+                allow-clear
+                placeholder="璇烽�夋嫨鏁呴殰棰戠巼" 
+                :disabled="formDisabled" 
+                :triggerChange="true"
+                dictCode="ABC-standardE"
+                @change="standardResultCompute"
+                v-model="model.standardE"
+              />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item label="璁惧浠峰��" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="standardF">
+              <j-dict-select-tag
+                allow-clear
+                placeholder="璇烽�夋嫨璁惧浠峰��" 
+                :disabled="formDisabled" 
+                :triggerChange="true"
+                dictCode="ABC-standardF"
+                v-model="model.standardF"
+                @change="standardResultCompute"
+              />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item label="ABC鏍囪瘑" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentImportanceId">
+              <j-dict-select-tag
+                allow-clear
+                :disabled="formDisabled"
+                placeholder ="璇烽�夋嫨ABC鏍囪瘑"
+                :triggerChange="true"
+                dictCode="ABC-standard-result"
+                v-model="model.equipmentImportanceId"
+              />
+            </a-form-model-item>
+          </a-col>
+          <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> 绮惧害鍙婃ā鐗� </a-divider>
+          <a-col :span="6">
+            <a-form-model-item label="璁惧绮惧害绠$悊" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="precisionParameters">
+              <a-switch
+                :disabled="formDisabled" 
+                checked-children="鏄�"
+                un-checked-children="鍚�"
+                :checked="model.precisionParameters == '1'"
+                @change="handle2Switch(model.precisionParameters)"
+              />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6" v-if="model.precisionParameters == '1'">
+            <a-form-model-item label="璁惧绮惧害妯$増" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="precisionParametersTemplateId">
+              <a-input-search
+              :disabled="formDisabled"
+                placeholder="璇烽�夋嫨璁惧绮惧害妯℃澘"
+                enter-button
+                @search="onSearchPrecisionParametersTemplate()"
+                :read-only="true"
+                v-model="model.precisionParametersTemplateName"
+              />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item label="宸ヨ壓妯$増绠$悊" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="processParameters">
+              <a-switch
+              :disabled="formDisabled"
+                checked-children="鏄�"
+                un-checked-children="鍚�"
+                :checked="model.processParameters == '1'"
+                @change="handleSwitch(model.processParameters)"
+              />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6" v-if="model.processParameters == '1'">
+            <a-form-model-item label="璁惧宸ヨ壓妯$増" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="precisionParametersTemplateId">
+              <a-input-search
+              :disabled="formDisabled"
+                placeholder="璇烽�夋嫨璁惧宸ヨ壓妯℃澘"
+                enter-button
+                @search="onSearchProcessParametersTemplate()"
+                :read-only="true"
+                v-model="model.processParametersTemplateName"
+              />
+            </a-form-model-item>
+          </a-col>
+        </a-row>
+      </a-form-model>
+      <process-parameters-template-list
+      ref="ProcessParametersTemplateList"
+      @sendProcessParametersTemplateRecord='sendProcessParametersTemplateRecord'
+    ></process-parameters-template-list>
+    <precision-parameters-template-list
+      ref="PrecisionParametersTemplateList"
+      @sendPrecisionParametersTemplateRecord='sendPrecisionParametersTemplateRecord'
+    ></precision-parameters-template-list>
+    </a-spin>
+  </j-modal>
+</template>
+<script>
+  import { httpAction } from '@/api/manage'
+  import { validateDuplicateValue } from '@/utils/util'
+  import pick from 'lodash.pick'
+  import { postAction, requestPut, getAction } from '@/api/manage'
+  import { duplicateCheck } from '@/api/api'
+  import moment from 'moment'
+  import ProcessParametersTemplateList from '../equipment/ProcessParametersTemplateList'
+  import PrecisionParametersTemplateList from '../equipment/PrecisionParametersTemplateList'
+  import { JVxeTableModelMixin } from '@/mixins/JVxeTableModelMixin.js'
+  import { JVXETypes } from '@/components/jeecg/JVxeTable'
+  export default {
+    name: "EquipmentModal",
+    mixins: [JVxeTableModelMixin],
+    components: { 
+      validateDuplicateValue,
+      ProcessParametersTemplateList,
+      PrecisionParametersTemplateList,
+    },
+    props:{
+      disableSubmit: {
+        type: Boolean,
+        default: false,
+        required: false
+      },
+    },
+    data () {
+      return {
+        title:"鎿嶄綔",
+        width:1500,
+        visible: false,
+        model:{
+        },
+        labelCol: {
+          xs: { span: 24 },
+          sm: { span: 8 },
+        },
+        wrapperCol: {
+          xs: { span: 24 },
+          sm: { span: 16 },
+        },
+
+        confirmLoading: false,
+        validatorRules: {
+          num: [
+            { required: true, message: '璇疯緭鍏ヨ澶囩紪鍙�!' },
+            { min: 2, max: 30, message: '闀垮害鍦� 2 鍒� 30 涓瓧绗�', trigger: 'blur' },
+            { validator: this.validateNum },
+          ],
+        name:[
+            { required: true, message: '璇疯緭鍏ヨ澶囧悕绉�!' },
+            { min: 2, max: 30, message: '闀垮害鍦� 2 鍒� 30 涓瓧绗�', trigger: 'blur' },
+            { validator: this.validateName },
+          ],
+        teamId:[
+            { required: true, message: '璇烽�夋嫨璐d换鐝粍!' },
+          ],
+        processParametersTemplateName:[
+            { required: true, message: '璇烽�夋嫨宸ヨ壓鍙傛暟妯℃澘!' },
+          ],
+        precisionParametersTemplateName: [
+            { required: true, message: '璇烽�夋嫨璁惧绮惧害妯℃澘!' },
+          ],
+        remark:[
+            { min: 0, max: 100, message: '闀垮害涓嶈秴杩� 100 涓瓧绗�', trigger: 'blur' },
+          ],
+        equipmentCategoryId:[
+          { required: true, message: '璇烽�夊垯璁惧绫诲埆!' },
+        ]
+        },
+        url: {
+          add: "/eam/equipment/add",
+         edit: "/eam/equipment/edit",
+         loadOptions: '/sys/sysDepart/loadDepartTreeOptions',
+        },
+        treeData: [],
+     
+      }
+    },
+    created () {
+    //澶囦唤model鍘熷鍊�
+      this.initOptions();
+      this.modelDefault = JSON.parse(JSON.stringify(this.model));
+    },
+    methods: {
+      add () {
+        this.edit(this.modelDefault);
+      },
+      edit (record) {
+        console.log(this.disabled)
+        this.model = Object.assign({}, record);
+        this.visible = true;
+      },
+      close () {
+        this.$emit('close');
+        this.visible = false;
+        this.$refs.form.clearValidate();
+      },
+      handleOk () {
+        const that = this;
+        // 瑙﹀彂琛ㄥ崟楠岃瘉
+        this.$refs.form.validate(valid => {
+          if (valid) {
+            that.confirmLoading = true;
+            let httpurl = '';
+            let method = '';
+            if(!this.model.id){
+              httpurl+=this.url.add;
+              method = 'post';
+            }else{
+              httpurl+=this.url.edit;
+               method = 'put';
+            }
+            httpAction(httpurl,this.model,method).then((res)=>{
+              if(res.success){
+                that.$message.success(res.message);
+                that.$emit('ok');
+              }else{
+                that.$message.warning(res.message);
+              }
+            }).finally(() => {
+              that.confirmLoading = false;
+              that.close();
+            })
+          }else{
+             return false
+          }
+        })
+      },
+      handleCancel () {
+        this.close()
+      },
+      validateNum(rule, value, callback) {
+      var params = {
+        tableName: 'mom_eam_equipment',
+        fieldName: 'num',
+        fieldVal: value,
+        dataId: this.model.id,
+        //鏁版嵁搴撲腑瀛樺湪瀛楁del_flag骞朵娇鐢ㄨ瀛楁浣滀负鏈垹闄ょ瓥鐣ワ紝鐪熷垹闄わ細false 鍋囧垹闄わ細true
+        delFlag: '0',
+      };
+      duplicateCheck(params).then((res) => {
+        if (res.success) {
+          callback();
+        } else {
+          callback("缂栧彿宸插瓨鍦�!");
+        }
+      })
+    },
+
+    //楠岃瘉 鍚嶇О
+    validateName(rule, value, callback) {
+      var params = {
+        tableName: 'mom_eam_equipment',
+        fieldName: 'name',
+        fieldVal: value,
+        dataId: this.model.id,
+        //鏁版嵁搴撲腑瀛樺湪瀛楁del_flag骞朵娇鐢ㄨ瀛楁浣滀负鏈垹闄ょ瓥鐣ワ紝鐪熷垹闄わ細false 鍋囧垹闄わ細true
+        delFlag: '0',
+      };
+      duplicateCheck(params).then((res) => {
+        if (res.success) {
+          callback();
+        } else {
+          callback("鍚嶇О宸插瓨鍦�!");
+        }
+      })
+    },
+
+    handleSwitch(processParameters) {
+      if ('1' == processParameters) {
+        this.model.processParameters = '0'
+      } else {
+        this.model.processParameters = '1'
+      }
+      this.model = Object.assign({},this.model);
+    },
+    handle2Switch(precisionParameters) {
+      if ('1' == precisionParameters) {
+        this.model.precisionParameters = '0'
+      } else {
+        this.model.precisionParameters = '1'
+      }
+      this.model = Object.assign({},this.model);
+    },
+    initOptions() {
+      getAction(this.url.loadOptions).then(res => {
+        if (res.success) {
+          this.treeData = res.result
+        } else {
+          this.$message.warning(res.message)
+        }
+      })
+    },
+
+    handle2Change(val) {
+      if (val === null) {
+        setTimeout(() => {
+          this.form.setFieldsValue({ useId: "" });
+        }, 100)
+      }
+    },
+    handle1Change(val) {
+      if (val === null) {
+        setTimeout(() => {
+          this.form.setFieldsValue({ affiliationId: "" });
+        }, 100)
+      }
+    },
+
+    handle3Change(val) {
+      if (val === null) {
+        setTimeout(() => {
+          this.form.setFieldsValue({ manageId: "" });
+        }, 100)
+      }
+    },
+
+    uploadOk(imgList) {
+      this.model.sysUploadList = imgList
+      this.equipmentPhoto = this.getSrc(imgList[0])
+      // this.$set(this.model, 'photo', res);
+      // this.$set(this.model, 'sysUploadList', imgList);
+    },
+    
+    onSearchProcessParametersTemplate() {
+      this.$refs.ProcessParametersTemplateList.list();
+      this.$refs.ProcessParametersTemplateList.title = "閫夋嫨宸ヨ壓鍙傛暟妯℃澘";
+    },
+    sendProcessParametersTemplateRecord(data) {
+      let record = data.record;
+      this.model.processParametersTemplateId = record.id
+      this.model.processParametersTemplateName = record.name
+      this.model = Object.assign({},this.model);
+    },
+
+    onSearchPrecisionParametersTemplate() {
+      this.$refs.PrecisionParametersTemplateList.list();
+      this.$refs.PrecisionParametersTemplateList.title = "閫夋嫨璁惧绮惧害妯℃澘";
+    },
+    sendPrecisionParametersTemplateRecord(data) {
+      let record = data.record;
+      this.model.precisionParametersTemplateId = record.id
+      this.model.precisionParametersTemplateName = record.name
+      this.model = Object.assign({},this.model);
+    },
+    standardResultCompute(){
+
+      var standardA = this.model.standardA==null||this.model.standardA==undefined||this.model.standardA==''?0:parseInt(this.model.standardA);
+      var standardB = this.model.standardB==null||this.model.standardB==undefined||this.model.standardB==''?0:parseInt(this.model.standardB);
+      var standardC = this.model.standardA==null||this.model.standardC==undefined||this.model.standardC==''?0:parseInt(this.model.standardC);
+      var standardD = this.model.standardD==null||this.model.standardD==undefined||this.model.standardD==''?0:parseInt(this.model.standardD);
+      var standardE = this.model.standardE==null||this.model.standardE==undefined||this.model.standardE==''?0:parseInt(this.model.standardE);
+      var standardF = this.model.standardF==null||this.model.standardF==undefined||this.model.standardF==''?0:parseInt(this.model.standardF);
+
+      var sum = standardA+standardB+standardC+standardD+standardE+standardF;
+      console.log(sum)
+      if(sum>=18){
+         this.model.equipmentImportanceId='A'
+      }else if(sum>=10&&sum<=17){
+        this.model.equipmentImportanceId='B'
+      }else{
+        this.model.equipmentImportanceId='C'
+      }
+      this.model = Object.assign({},this.model);
+      
+    }
+    },
+    computed: {
+      formDisabled(){
+        return this.disableSubmit
+      },
+    },
+    watch: {
+    alterFlag() {
+      this.$bus.$emit('queryTreeData');
+    },
+    },
+  }
+</script>
\ No newline at end of file
diff --git a/src/views/eam/modules/equipmentNew/EquipmentPrecisionParametersModal.vue b/src/views/eam/modules/equipmentNew/EquipmentPrecisionParametersModal.vue
new file mode 100644
index 0000000..41c8f2c
--- /dev/null
+++ b/src/views/eam/modules/equipmentNew/EquipmentPrecisionParametersModal.vue
@@ -0,0 +1,208 @@
+<template>
+  <j-modal
+    :title="title"
+    :width="width"
+    :visible="visible"
+    :confirmLoading="confirmLoading"
+    switchFullscreen
+    @ok="handleOk"
+    @cancel="handleCancel"
+    cancelText="鍏抽棴">
+    <a-spin :spinning="confirmLoading">
+      <a-form-model ref="form" :model="model" :rules="validatorRules">
+        <a-row>
+          <a-col :span="24">
+            <a-form-model-item label="equipmentId" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentId">
+              <a-input v-model="model.equipmentId"  placeholder="璇疯緭鍏quipmentId" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="precisionParametersId" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="precisionParametersId">
+              <a-input v-model="model.precisionParametersId"  placeholder="璇疯緭鍏recisionParametersId" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="leaveFactoryValue" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="leaveFactoryValue">
+              <a-input v-model="model.leaveFactoryValue"  placeholder="璇疯緭鍏eaveFactoryValue" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="actualValue" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="actualValue">
+              <a-input v-model="model.actualValue"  placeholder="璇疯緭鍏ctualValue" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="verificationDate" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="verificationDate">
+              <a-input v-model="model.verificationDate"  placeholder="璇疯緭鍏erificationDate" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="eppUda1" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="eppUda1">
+              <a-input v-model="model.eppUda1"  placeholder="璇疯緭鍏ppUda1" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="eppUda2" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="eppUda2">
+              <a-input v-model="model.eppUda2"  placeholder="璇疯緭鍏ppUda2" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="eppUda3" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="eppUda3">
+              <a-input v-model="model.eppUda3"  placeholder="璇疯緭鍏ppUda3" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="eppUda4" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="eppUda4">
+              <a-input v-model="model.eppUda4"  placeholder="璇疯緭鍏ppUda4" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="eppUda5" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="eppUda5">
+              <a-input v-model="model.eppUda5"  placeholder="璇疯緭鍏ppUda5" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="remark" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="remark">
+              <a-input v-model="model.remark"  placeholder="璇疯緭鍏emark" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="status" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="status">
+              <a-input v-model="model.status"  placeholder="璇疯緭鍏tatus" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="tenantId" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="tenantId">
+              <a-input v-model="model.tenantId"  placeholder="璇疯緭鍏enantId" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="delFlag" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="delFlag">
+              <a-input-number v-model="model.delFlag"  placeholder="璇疯緭鍏elFlag" style="width: 100%" />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="initialMeasuredValue" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="initialMeasuredValue">
+              <a-input-number v-model="model.initialMeasuredValue"  placeholder="璇疯緭鍏nitialMeasuredValue" style="width: 100%" />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="allowableRange" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="allowableRange">
+              <a-input-number v-model="model.allowableRange"  placeholder="璇疯緭鍏llowableRange" style="width: 100%" />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="upperLimit" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="upperLimit">
+              <a-input-number v-model="model.upperLimit"  placeholder="璇疯緭鍏pperLimit" style="width: 100%" />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="lowerLimit" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="lowerLimit">
+              <a-input-number v-model="model.lowerLimit"  placeholder="璇疯緭鍏owerLimit" style="width: 100%" />
+            </a-form-model-item>
+          </a-col>
+        </a-row>
+      </a-form-model>
+    </a-spin>
+  </j-modal>
+</template>
+
+<script>
+
+  import { httpAction } from '@/api/manage'
+  import { validateDuplicateValue } from '@/utils/util'
+
+  export default {
+    name: "EquipmentPrecisionParametersModal",
+    components: {
+    },
+    props:{
+      mainId:{
+        type:String,
+        required:false,
+        default:''
+      }
+    },
+    data () {
+      return {
+        title:"鎿嶄綔",
+        width:800,
+        visible: false,
+        model:{
+        },
+        labelCol: {
+          xs: { span: 24 },
+          sm: { span: 5 },
+        },
+        wrapperCol: {
+          xs: { span: 24 },
+          sm: { span: 16 },
+        },
+
+        confirmLoading: false,
+        validatorRules: {
+        },
+        url: {
+          add: "/new/equipment/addEquipmentPrecisionParameters",
+          edit: "/new/equipment/editEquipmentPrecisionParameters",
+        }
+
+      }
+    },
+    created () {
+    //澶囦唤model鍘熷鍊�
+      this.modelDefault = JSON.parse(JSON.stringify(this.model));
+    },
+    methods: {
+      add () {
+        this.edit(this.modelDefault);
+      },
+      edit (record) {
+        this.model = Object.assign({}, record);
+        this.visible = true;
+      },
+      close () {
+        this.$emit('close');
+        this.visible = false;
+        this.$refs.form.clearValidate();
+      },
+      handleOk () {
+        const that = this;
+        // 瑙﹀彂琛ㄥ崟楠岃瘉
+        this.$refs.form.validate(valid => {
+          if (valid) {
+            that.confirmLoading = true;
+            let httpurl = '';
+            let method = '';
+            if(!this.model.id){
+              httpurl+=this.url.add;
+              method = 'post';
+            }else{
+              httpurl+=this.url.edit;
+               method = 'put';
+            }
+            this.model['equipmentId'] = this.mainId
+            httpAction(httpurl,this.model,method).then((res)=>{
+              if(res.success){
+                that.$message.success(res.message);
+                that.$emit('ok');
+              }else{
+                that.$message.warning(res.message);
+              }
+            }).finally(() => {
+              that.confirmLoading = false;
+              that.close();
+            })
+          }else{
+             return false
+          }
+        })
+      },
+      handleCancel () {
+        this.close()
+      },
+
+
+    }
+  }
+</script>
diff --git a/src/views/eam/modules/equipmentNew/EquipmentProcessParametersModal.vue b/src/views/eam/modules/equipmentNew/EquipmentProcessParametersModal.vue
new file mode 100644
index 0000000..5a80845
--- /dev/null
+++ b/src/views/eam/modules/equipmentNew/EquipmentProcessParametersModal.vue
@@ -0,0 +1,178 @@
+<template>
+  <j-modal
+    :title="title"
+    :width="width"
+    :visible="visible"
+    :confirmLoading="confirmLoading"
+    switchFullscreen
+    @ok="handleOk"
+    @cancel="handleCancel"
+    cancelText="鍏抽棴">
+    <a-spin :spinning="confirmLoading">
+      <a-form-model ref="form" :model="model" :rules="validatorRules">
+        <a-row>
+          <a-col :span="24">
+            <a-form-model-item label="equipmentId" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentId">
+              <a-input v-model="model.equipmentId"  placeholder="璇疯緭鍏quipmentId" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="processParametersId" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="processParametersId">
+              <a-input v-model="model.processParametersId"  placeholder="璇疯緭鍏rocessParametersId" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="parametersValue" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="parametersValue">
+              <a-input v-model="model.parametersValue"  placeholder="璇疯緭鍏arametersValue" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="eppUda1" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="eppUda1">
+              <a-input v-model="model.eppUda1"  placeholder="璇疯緭鍏ppUda1" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="eppUda2" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="eppUda2">
+              <a-input v-model="model.eppUda2"  placeholder="璇疯緭鍏ppUda2" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="eppUda3" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="eppUda3">
+              <a-input v-model="model.eppUda3"  placeholder="璇疯緭鍏ppUda3" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="eppUda4" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="eppUda4">
+              <a-input v-model="model.eppUda4"  placeholder="璇疯緭鍏ppUda4" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="eppUda5" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="eppUda5">
+              <a-input v-model="model.eppUda5"  placeholder="璇疯緭鍏ppUda5" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="remark" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="remark">
+              <a-input v-model="model.remark"  placeholder="璇疯緭鍏emark" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="status" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="status">
+              <a-input v-model="model.status"  placeholder="璇疯緭鍏tatus" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="tenantId" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="tenantId">
+              <a-input v-model="model.tenantId"  placeholder="璇疯緭鍏enantId" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="delFlag" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="delFlag">
+              <a-input-number v-model="model.delFlag"  placeholder="璇疯緭鍏elFlag" style="width: 100%" />
+            </a-form-model-item>
+          </a-col>
+        </a-row>
+      </a-form-model>
+    </a-spin>
+  </j-modal>
+</template>
+
+<script>
+
+  import { httpAction } from '@/api/manage'
+  import { validateDuplicateValue } from '@/utils/util'
+
+  export default {
+    name: "EquipmentProcessParametersModal",
+    components: {
+    },
+    props:{
+      mainId:{
+        type:String,
+        required:false,
+        default:''
+      }
+    },
+    data () {
+      return {
+        title:"鎿嶄綔",
+        width:800,
+        visible: false,
+        model:{
+        },
+        labelCol: {
+          xs: { span: 24 },
+          sm: { span: 5 },
+        },
+        wrapperCol: {
+          xs: { span: 24 },
+          sm: { span: 16 },
+        },
+
+        confirmLoading: false,
+        validatorRules: {
+        },
+        url: {
+          add: "/new/equipment/addEquipmentProcessParameters",
+          edit: "/new/equipment/editEquipmentProcessParameters",
+        }
+
+      }
+    },
+    created () {
+    //澶囦唤model鍘熷鍊�
+      this.modelDefault = JSON.parse(JSON.stringify(this.model));
+    },
+    methods: {
+      add () {
+        this.edit(this.modelDefault);
+      },
+      edit (record) {
+        this.model = Object.assign({}, record);
+        this.visible = true;
+      },
+      close () {
+        this.$emit('close');
+        this.visible = false;
+        this.$refs.form.clearValidate();
+      },
+      handleOk () {
+        const that = this;
+        // 瑙﹀彂琛ㄥ崟楠岃瘉
+        this.$refs.form.validate(valid => {
+          if (valid) {
+            that.confirmLoading = true;
+            let httpurl = '';
+            let method = '';
+            if(!this.model.id){
+              httpurl+=this.url.add;
+              method = 'post';
+            }else{
+              httpurl+=this.url.edit;
+               method = 'put';
+            }
+            this.model['equipmentId'] = this.mainId
+            httpAction(httpurl,this.model,method).then((res)=>{
+              if(res.success){
+                that.$message.success(res.message);
+                that.$emit('ok');
+              }else{
+                that.$message.warning(res.message);
+              }
+            }).finally(() => {
+              that.confirmLoading = false;
+              that.close();
+            })
+          }else{
+             return false
+          }
+        })
+      },
+      handleCancel () {
+        this.close()
+      },
+
+
+    }
+  }
+</script>
diff --git a/src/views/eam/newEquipment/EquipmentDocumentList.vue b/src/views/eam/newEquipment/EquipmentDocumentList.vue
new file mode 100644
index 0000000..4a30fcf
--- /dev/null
+++ b/src/views/eam/newEquipment/EquipmentDocumentList.vue
@@ -0,0 +1,395 @@
+<template>
+  <a-card :bordered="false" :class="'cust-erp-sub-tab'">
+    <!-- 鏌ヨ鍖哄煙 -->
+    <div class="table-page-search-wrapper">
+      <a-form layout="inline" @keyup.enter.native="searchQuery">
+        <a-row :gutter="24">
+        </a-row>
+      </a-form>
+    </div>
+    <!-- 鏌ヨ鍖哄煙-END -->
+
+    <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
+    <div class="table-operator" v-if="mainId">
+      <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button>
+      <!-- <a-button type="primary" icon="download" @click="handleExportXls('璁惧鏂囨。')">瀵煎嚭</a-button>
+      <a-upload
+        name="file"
+        :showUploadList="false"
+        :multiple="false"
+        :headers="tokenHeader"
+        :action="importExcelUrl"
+        @change="handleImportExcel">
+          <a-button type="primary" icon="import">瀵煎叆</a-button>
+      </a-upload> -->
+      <a-dropdown v-if="selectedRowKeys.length > 0">
+        <a-menu slot="overlay">
+          <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>鍒犻櫎</a-menu-item>
+        </a-menu>
+        <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔 <a-icon type="down" /></a-button>
+      </a-dropdown>
+    </div>
+
+    <!-- table鍖哄煙-begin -->
+    <div>
+      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
+        <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤�
+        <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a>
+      </div>
+
+      <a-table
+        ref="table"
+        size="middle"
+        bordered
+        rowKey="id"
+        :scroll="{x:true}"
+        :columns="columns"
+        :dataSource="dataSource"
+        :pagination="ipagination"
+        :loading="loading"
+        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
+        @change="handleTableChange">
+
+        <span
+          slot="size"
+          slot-scope="text"
+          class="error"
+        >
+          {{sizeConvert(text)}}
+        </span>
+
+        <span
+          slot="action"
+          slot-scope="text, record"
+        >
+          <a @click="handleEdit(record)">缂栬緫</a>
+
+          <a-divider type="vertical" />
+
+          <Tooltip
+            placement="top"
+            title="棰勮鍥剧墖"
+          >
+            <img
+              v-if="record.upload.path && (record.upload.format.toLowerCase()=='jpg'||record.upload.format.toLowerCase()=='bmp'||record.upload.format.toLowerCase()=='png'||record.upload.format.toLowerCase()=='jpeg'||record.upload.format.toLowerCase()=='gif')"
+              width="30"
+              height="14"
+              border="1"
+              draggable="false"
+              preview="1"
+              :preview-text="''"
+              :src="record.upload.src"
+            />
+          </Tooltip>
+          <a
+            v-if="record.upload.path && record.upload.format.toLowerCase()=='pdf'"
+            href="javascript:;"
+            @click="view(record)"
+          >
+            棰勮
+          </a>
+          <a-divider
+            v-if="record.upload.path && (record.upload.format.toLowerCase()=='jpg'||record.upload.format.toLowerCase()=='bmp'||record.upload.format.toLowerCase()=='png'||record.upload.format.toLowerCase()=='jpeg'||record.upload.format.toLowerCase()=='gif'||record.upload.format.toLowerCase()=='pdf')"
+            type="vertical"
+          />
+
+          <a
+            href="javascript:;"
+            @click="handleDownload(record)"
+          >涓嬭浇</a>
+
+          <a-divider type="vertical" />
+          <a-popconfirm
+            title="纭畾鍒犻櫎鍚�?"
+            @confirm="() => handleDelete(record.id)"
+          >
+            <a>鍒犻櫎</a>
+          </a-popconfirm>
+        </span>
+      </a-table>
+    </div>
+    <pdf-view ref="pdfview"></pdf-view>
+    <equipmentDocument-modal ref="modalForm" @ok="modalFormOk" :mainId="mainId"></equipmentDocument-modal>
+  </a-card>
+</template>
+
+<script>
+
+  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+  import EquipmentDocumentModal from '../modules/equipmentNew/EquipmentDocumentModal'
+  import { preview } from 'vue-photo-preview'
+  import { mixinDevice } from '@/utils/mixin'
+ import { ACCESS_TOKEN } from '@/store/mutation-types'
+ import Vue from 'vue'
+ import PdfView from '@views/common/PdfView'
+ import JInput from '@/components/jeecg/JInput'
+import Tooltip from 'ant-design-vue/es/tooltip'
+import JEllipsis from "@/components/jeecg/JEllipsis";
+ import { getFileAccessHttpUrl } from '@/api/manage';
+ import '@/assets/less/TableExpand.less'
+ import store from '@/store/' 
+import { downFile, getAction } from '../../../api/manage'
+  export default {
+    name: "EquipmentDocumentList",
+    mixins:[JeecgListMixin,mixinDevice],
+    components: { 
+      EquipmentDocumentModal,  
+      PdfView,
+      preview,
+      JInput,
+      Tooltip,
+      JEllipsis, 
+  },
+    props:{
+      mainId:{
+        type:String,
+        default:'',
+        required:false
+      }
+    },
+    watch:{
+      mainId:{
+        immediate: true,
+        handler(val) {
+          if(!this.mainId){
+            this.clearList()
+          }else{
+            this.queryParam['equipmentId'] = val
+            this.loadData(1);
+          }
+        }
+      }
+    },
+    data () {
+      return {
+        description: '璁惧鍙拌处绠$悊椤甸潰',
+        disableMixinCreated:true,
+        colorMap: {},
+        // 琛ㄥご
+        columns: [
+        {
+          title: '#',
+          dataIndex: '',
+          key: 'rowIndex',
+          width: 60,
+          align: "center",
+          customRender: function (t, r, index) {
+            return parseInt(index) + 1;
+          }
+        },
+        {
+          title: '鏂囨。缂栧彿',
+          dataIndex: 'num',
+          align: "center",
+          width:300,
+        },
+        {
+          title: '鏂囨。鍚嶇О',
+          align: 'center',
+          dataIndex: 'name',
+          width:300,
+        },
+        {
+          title: '鏂囨。绫诲瀷',
+          align: 'center',
+          dataIndex: 'type_dictText',
+          width:300,
+        },
+        {
+          title: '涓婁紶鏃堕棿',
+          align: "center",
+          dataIndex: 'createTime',
+          width:300,
+        },
+        {
+          title: '涓婁紶鑰�',
+          align: "center",
+          dataIndex: 'createBy',
+          width:300,
+        },
+        {
+          title: '澶у皬',
+          align: "center",
+          dataIndex: 'size',
+          scopedSlots: {
+            customRender: 'size'
+          },
+          width:300,
+        },
+        {
+          title: '鎿嶄綔',
+          align: "center",
+          dataIndex: 'action',
+          scopedSlots: {
+            customRender: 'action'
+          },
+          width: 200,
+        },
+        ],
+        url: {
+            list: "/eam/equipmentDocument/list",
+            delete: "/eam/equipmentDocument/delete",
+            deleteBatch: '/eam/equipmentDocument/deleteBatch',
+            urlDownload: window._CONFIG['staticDomainURL'],
+            download: '/sys/upload/downloadFile',
+        },
+        dictOptions:{
+        }
+      }
+    },
+    created() {
+    },
+    computed: {
+      importExcelUrl(){
+        return `${window._CONFIG['domianURL']}/${this.url.importUrl}/${this.mainId}`;
+      }
+    },
+    methods: {
+      clearList(){
+        this.dataSource=[]
+        this.selectedRowKeys=[]
+        this.ipagination.current = 1
+      },
+      sizeConvert(limit) {
+      var size = "";
+      if (limit < 0.1 * 1024) {
+        size = parseFloat(limit).toFixed(2) + "B";//灏忎簬0.1KB锛屽垯杞寲鎴怋
+      } else if (limit < 0.1 * 1024 * 1024) {
+        size = (parseFloat(limit) / 1024).toFixed(2) + "KB";//灏忎簬0.1MB锛屽垯杞寲鎴怟B
+      } else if (limit < 0.1 * 1024 * 1024 * 1024) {
+        size = (parseFloat(limit) / (1024 * 1024)).toFixed(2) + "MB";//灏忎簬0.1GB锛屽垯杞寲鎴怣B
+      } else {
+        size = (parseFloat(limit) / (1024 * 1024 * 1024)).toFixed(2) + "GB";//鍏朵粬杞寲鎴怗B
+      }
+      var sizeStr = size + "";//杞垚瀛楃涓�
+      var index = sizeStr.indexOf(".");//鑾峰彇灏忔暟鐐瑰鐨勭储寮�
+      var dou = sizeStr.substr(index + 1, 2);//鑾峰彇灏忔暟鐐瑰悗涓や綅鐨勫��
+      if (dou == "00") {//鍒ゆ柇鍚庝袱浣嶆槸鍚︿负00锛屽鏋滄槸鍒欏垹闄�00
+        return sizeStr.substring(0, index) + sizeStr.substr(index + 3, 2);
+      }
+      return size;
+    },
+    getSrc(record) {
+
+      if (!record.path) {
+        return '';
+      }
+      //鏈湴锛歭ocal\Minio锛歮inio\闃块噷浜戯細alioss
+      if (record.uploadType == 'local') {
+
+        let ssoLoginFlag = Vue.ls.get("ssoLoginFlag");
+        let deployMode = Vue.ls.get("deployMode");
+
+        if (ssoLoginFlag && deployMode == "container") {
+          var baseProject = Vue.ls.get("baseProject");
+          console.log("baseProject==>" + baseProject)
+
+          var hostname = window.location.protocol + "//" + window.location.host;
+          var url = hostname + '/' + baseProject + '/sys/common/static';
+          return getFileAccessHttpUrl(record.path + record.encodeName, url, window._CONFIG['hyperTextTransfer'])
+        } else {
+          //鏍规嵁鍙戝竷鐘舵�佷慨鏀筯ttps 鎴� http
+          return getFileAccessHttpUrl(record.path + record.encodeName, this.url.urlDownload, window._CONFIG['hyperTextTransfer'])
+        }
+
+      } else if (record.uploadType == 'alioss') {
+
+        const OSS = require('ali-oss')
+        const client = new OSS({
+          // region浠ユ澀宸炰负渚嬶紙oss-cn-hangzhou锛夛紝鍏朵粬region鎸夊疄闄呮儏鍐靛~鍐欍��
+          region: window._CONFIG['region'],
+          // 闃块噷浜戜富璐﹀彿AccessKey鎷ユ湁鎵�鏈堿PI鐨勮闂潈闄愶紝椋庨櫓寰堥珮銆傚己鐑堝缓璁偍鍒涘缓骞朵娇鐢≧AM璐﹀彿杩涜API璁块棶鎴栨棩甯歌繍缁达紝璇风櫥褰昍AM鎺у埗鍙板垱寤篟AM璐﹀彿銆�
+          accessKeyId: window._CONFIG['accessKeyId'],
+          accessKeySecret: window._CONFIG['accessKeySecret'],
+          bucket: window._CONFIG['bucket'],
+        })
+        // object-key琛ㄧず浠嶰SS涓嬭浇鏂囦欢鏃堕渶瑕佹寚瀹氬寘鍚枃浠跺悗缂�鍦ㄥ唴鐨勫畬鏁磋矾寰勶紝渚嬪abc/efg/123.jpg銆�
+        return client.signatureUrl(record.path)
+      }
+      },
+      view(record) {
+      this.$refs.pdfview.showPdf(record.upload.src);
+      },
+
+    handleDownload(record) {
+      downFile(this.url.download, { id: record.id }).then((res) => {
+        if (!res) {
+          this.$message.warning('鏂囦欢涓嬭浇澶辫触')
+          return
+        } else {
+          let fileName = record.name;
+          if (typeof window.navigator.msSaveBlob !== 'undefined') {
+            window.navigator.msSaveBlob(new Blob([res]), fileName);
+          } else {
+            let url = window.URL.createObjectURL(new Blob([res]));
+            let link = document.createElement('a');
+            link.style.display = 'none';
+            link.href = url;
+            link.setAttribute('download', fileName);
+            document.body.appendChild(link);
+            link.click()
+            document.body.removeChild(link) //涓嬭浇瀹屾垚绉婚櫎鍏冪礌
+            window.URL.revokeObjectURL(url) //閲婃斁鎺塨lob瀵硅薄
+          }
+        }
+      })
+    },
+    loadData(arg) {
+      if (!this.url.list) {
+        this.$message.error("璇疯缃畊rl.list灞炴��!")
+        return
+      }
+      //鍔犺浇鏁版嵁 鑻ヤ紶鍏ュ弬鏁�1鍒欏姞杞界涓�椤电殑鍐呭
+      if (arg === 1) {
+        this.ipagination.current = 1;
+      }
+      var params = this.getQueryParams();//鏌ヨ鏉′欢
+      if (this.equipmentId == '') {
+        params.equipmentId = '-1';
+      }
+      this.loading = true;
+      getAction(this.url.list, params).then((res) => {
+        if (res.success) {
+          for (let i = 0; i < res.result.records.length; i++) {
+            let r = res.result.records[i].upload;
+            r.src = this.getSrc(res.result.records[i].upload);
+          }
+          this.dataSource = res.result.records || res.result;
+          if (res.result.total) {
+            this.ipagination.total = res.result.total;
+          } else {
+            this.ipagination.total = 0;
+          }
+          //update-end---author:zhangyafei    Date:20201118  for锛氶�傞厤涓嶅垎椤电殑鏁版嵁鍒楄〃------------
+        } else {
+          this.$message.warning(res.message)
+        }
+      }).finally(() => {
+        this.loading = false
+      })
+    },
+
+
+
+    }
+  }
+</script>
+<style scoped>
+ @import '~@assets/less/common.less';
+/deep/ .frozenRowClass {
+  color: #c9c9c9;
+}
+.success {
+  color: green;
+}
+.error {
+  color: red;
+}
+.fontweight {
+  font-weight: bold;
+}
+.ant-card {
+  margin-left: -30px;
+  margin-right: -30px;
+}
+</style>
diff --git a/src/views/eam/newEquipment/EquipmentList.vue b/src/views/eam/newEquipment/EquipmentList.vue
new file mode 100644
index 0000000..7da1592
--- /dev/null
+++ b/src/views/eam/newEquipment/EquipmentList.vue
@@ -0,0 +1,640 @@
+<template>
+  <a-card :bordered="false">
+    <!-- 鏌ヨ鍖哄煙 -->
+    <div class="table-page-search-wrapper">
+      <a-form layout="inline" @keyup.enter.native="searchQuery">
+        <a-row :gutter="24">
+          <a-col :span="6">
+            <a-form-item label="璁惧鎵�灞炲垎绫�">
+              <j-dict-select-tag
+                allow-clear
+                placeholder="璇烽�夋嫨璁惧鎵�灞炲垎绫�" 
+                :triggerChange="true"
+                dictCode="mom_eam_equipment_category,name,id"
+                v-model="queryParam.equipmentCategoryId"
+              />
+            </a-form-item>
+          </a-col>
+          <a-col
+          :span="6"
+          >
+            <a-form-item label="璁惧缂栧彿">
+              <a-input
+                placeholder="璇疯緭鍏ヨ澶囩紪鍙锋煡璇�"
+                v-model="queryParam.num"
+              ></a-input>
+            </a-form-item>
+          </a-col>
+          <a-col
+          :span="6"
+          >
+            <a-form-item label="璁惧鍚嶇О">
+              <a-input
+                placeholder="璇疯緭鍏ヨ澶囧悕绉版煡璇�"
+                v-model="queryParam.name"
+              ></a-input>
+            </a-form-item>
+          </a-col>
+        </a-row>
+      </a-form>
+    </div>
+    <!-- 鏌ヨ鍖哄煙-END -->
+
+    <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
+    <div class="table-operator">
+      <a-button
+        type="primary"
+        @click="searchQuery"
+        icon="search"
+      >鏌ヨ</a-button>
+      <a-button
+        @click="searchReset"
+        icon="reload"
+      >閲嶇疆</a-button>
+      <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button>
+      <a-button type="primary" icon="download" @click="handleExportXls('璁惧鍙拌处')">瀵煎嚭</a-button>
+      <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
+        <a-button type="primary" icon="import">瀵煎叆</a-button>
+      </a-upload>
+    </div>
+
+    <!-- table鍖哄煙-begin -->
+    <div>
+      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
+        <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤�
+        <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a>
+      </div>
+
+      <a-table
+        ref="table"
+        size="middle"
+        bordered
+        rowKey="id"
+        :scroll="{x:true}"
+        :columns="columns"
+        :dataSource="dataSource"
+        :pagination="ipagination"
+        :loading="loading"
+        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type:'radio'}"
+        :customRow="clickThenSelect"
+        @change="handleTableChange">
+
+        <template slot="htmlSlot" slot-scope="text">
+          <div v-html="text"></div>
+        </template>
+        <template slot="imgSlot" slot-scope="text,record">
+          <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犲浘鐗�</span>
+          <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
+        </template>
+        <template slot="fileSlot" slot-scope="text">
+          <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犳枃浠�</span>
+          <a-button
+            v-else
+            :ghost="true"
+            type="primary"
+            icon="download"
+            size="small"
+            @click="downloadFile(text)">
+            涓嬭浇
+          </a-button>
+        </template>
+
+         <!--宸ヨ壓鍙傛暟涓�у睍绀�-->
+      <span
+        slot="processParameters"
+        slot-scope="text,record"
+      >
+        <a-badge
+          v-if="record.processParameters==1"
+          status="success"
+        />
+        <span
+          v-if="record.processParameters==1"
+          class="success"
+        >鏄�</span>
+        <a-badge
+          v-if="record.processParameters==0"
+          status="error"
+        />
+        <span
+          v-if="record.processParameters==0"
+          class="error"
+        >鍚�</span>
+      </span>
+      <span
+        slot="processParameters"
+        slot-scope="text,record"
+      >
+        <a-badge
+          v-if="record.processParameters==1"
+          status="success"
+        />
+        <span
+          v-if="record.processParameters==1"
+          class="success"
+        >鏄�</span>
+        <a-badge
+          v-if="record.processParameters==0"
+          status="error"
+        />
+        <span
+          v-if="record.processParameters==0"
+          class="error"
+        >鍚�</span>
+      </span>
+      <span
+        slot="precisionParameters"
+        slot-scope="text,record"
+      >
+        <a-badge
+          v-if="record.precisionParameters==1"
+          status="success"
+        />
+        <span
+          v-if="record.precisionParameters==1"
+          class="success"
+        >鏄�</span>
+        <a-badge
+          v-if="record.precisionParameters==0"
+          status="error"
+        />
+        <span
+          v-if="record.precisionParameters==0"
+          class="error"
+        >鍚�</span>
+      </span>
+      <span
+        slot="verification"
+        slot-scope="text,record"
+      >
+        <a-badge
+          v-if="record.verification==1"
+          status="success"
+        />
+        <span
+          v-if="record.verification==1"
+          class="success"
+        >鏄�</span>
+        <a-badge
+          v-if="record.verification==0"
+          status="error"
+        />
+        <span
+          v-if="record.verification==0"
+          class="error"
+        >鍚�</span>
+      </span>
+
+      <span
+        slot="action"
+        slot-scope="text, record"
+      >
+        <!-- class="table-operation" -->
+        <!-- <a
+          href="javascript:;"
+          @click="equipmentStructuresShow(record)"
+        >璁惧缁撴瀯</a>
+        <a-divider type="vertical" /> -->
+        <a
+          href="javascript:;"
+          @click='handleDetail(record)'
+        >璇︽儏</a>
+        <a-divider type="vertical" />
+        <a-dropdown>
+          <a class="ant-dropdown-link">
+            鏇村
+            <a-icon type="down" />
+          </a>
+          <a-menu slot="overlay">
+            <a-menu-item>
+              <a @click="equipmentResumeShow(record)">璁惧灞ュ巻</a>
+            </a-menu-item>
+            <a-menu-item>
+              <a @click="handleEdit(record)">缂栬緫</a>
+            </a-menu-item>
+            <a-menu-item>
+              <a-popconfirm
+                title="纭畾鍒犻櫎鍚�?"
+                @confirm="() => handleDelete(record.id)"
+              >
+                <a>鍒犻櫎</a>
+              </a-popconfirm>
+            </a-menu-item>
+          </a-menu>
+        </a-dropdown>
+      </span>
+      </a-table>
+    </div>
+    <equipment-resume-drawer
+      ref="EquipmentResumeDrawer"
+      @ok="modalFormOk"
+    ></equipment-resume-drawer>
+
+    <a-tabs defaultActiveKey="1">
+      <a-tab-pane tab="宸ヨ壓鍙傛暟" key="1" >
+        <EquipmentProcessParametersList :mainId="equipmentProcessParametersMainId" />
+      </a-tab-pane>
+      <a-tab-pane tab="璁惧绮惧害" key="2" forceRender>
+        <EquipmentPrecisionParametersList :mainId="equipmentPrecisionParametersMainId" />
+      </a-tab-pane>
+      <a-tab-pane tab="璁惧鏂囨。" key="3" forceRender>
+        <EquipmentDocumentList :mainId="equipmentDocumentMainId" />
+      </a-tab-pane>
+    </a-tabs>
+    <equipment-modal ref="modalForm" @ok="modalFormOk"></equipment-modal>
+  </a-card>
+</template>
+
+<script>
+
+  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+  import { mixinDevice } from '@/utils/mixin'
+  import EquipmentModal from '../modules/equipmentNew/EquipmentModal'
+  import { getAction } from '@/api/manage'
+  import EquipmentProcessParametersList from './EquipmentProcessParametersList'
+  import EquipmentDocumentList from './EquipmentDocumentList'
+  import EquipmentPrecisionParametersList from './EquipmentPrecisionParametersList'
+  import '@/assets/less/TableExpand.less'
+  import EquipmentResumeDrawer from '../modules/equipment/EquipmentResume/EquipmentResumeDrawer'
+
+ 
+  export default {
+    name: "EquipmentList",
+    mixins:[JeecgListMixin,mixinDevice],
+    components: {
+      EquipmentProcessParametersList,
+      EquipmentDocumentList,
+      EquipmentPrecisionParametersList,
+      EquipmentModal,
+      EquipmentResumeDrawer
+    },
+    data () {
+      return {
+        description: '璁惧鍙拌处绠$悊椤甸潰',
+        // 琛ㄥご
+        columns: [
+        {
+          title: '#',
+          dataIndex: '',
+          key: 'rowIndex',
+          align: 'center',
+          customRender: function (t, r, index) {
+            return parseInt(index) + 1
+          },
+          width: 50,
+        },
+        {
+          title: '璁惧绫诲瀷',
+          align: "center",
+          dataIndex: 'equipmentCategoryId_dictText',
+        },
+        {
+          title: '缁熶竴缂栫爜',
+          align: "center",
+          dataIndex: 'num',
+        },
+        {
+          title: '璁惧鍚嶇О',
+          align: "center",
+          dataIndex: 'name',
+        },
+        {
+          title: '鍨嬪彿',
+          align: "center",
+          dataIndex: 'model',
+        },
+        {
+          title: '瑙勬牸',
+          align: "center",
+          dataIndex: 'specification',
+        },
+        {
+          title: '鎬诲姛鐜�',
+          align: "center",
+          dataIndex: 'gpo',
+        },
+        {
+          title: '浣跨敤閮ㄩ棬',
+          align: "center",
+          dataIndex: 'useId_dictText',
+        },
+        {
+          title: '缁存姢閮ㄩ棬',
+          align: "center",
+          dataIndex: 'manageId_dictText',
+        },
+        {
+          title: '缁翠慨鐝粍',
+          align: "center",
+          dataIndex: 'teamId_dictText',
+        },
+        {
+          title: 'ABC鏍囪瘑',
+          align: "center",
+          dataIndex: 'equipmentImportanceId_dictText',
+        },
+        {
+          title: '鍏抽敭璁惧鏍囪瘑',
+          align: "center",
+          dataIndex: 'specificEquipment_dictText',
+        },
+        // {
+        //   title: '宸ュ尯',
+        //   align: "center",
+        //   dataIndex: 'equipmentUda1',
+        // },
+        // {
+        //   title: '瀹夊叏閰嶇疆',
+        //   align: "center",
+        //   dataIndex: 'securityConfiguration',
+        // },
+        // {
+        //   title: '鍐峰嵈绯荤粺',
+        //   align: "center",
+        //   dataIndex: 'coolingSystem',
+        // },
+        // {
+        //   title: '鐏伀鍣�',
+        //   align: "center",
+        //   dataIndex: 'fireExtinguisher',
+        // },
+        
+        // {
+        //   title: '鐏伀鍣ㄦ湁鏁堟湡',
+        //   align: "center",
+        //   dataIndex: 'fireExtinguisherValidityPeriod',
+        // },
+        // {
+        //   title: '鎿嶄綔绯荤粺',
+        //   align: "center",
+        //   dataIndex: 'operatingSystem',
+        // },
+        // {
+        //   title: '绯荤粺',
+        //   align: "center",
+        //   dataIndex: 'system',
+        // },
+        // {
+        //   title: '璁惧绔彛',
+        //   align: "center",
+        //   dataIndex: 'port',
+        // },
+        // {
+        //   title: '鍧愭爣鏁伴噺',
+        //   align: "center",
+        //   dataIndex: 'coordinateNum',
+        // },
+        // {
+        //   title: '璁惧鐘舵��',
+        //   align: "center",
+        //   dataIndex: 'equipmentStatus_dictText',
+        // },
+        // {
+        //   title: '閲嶉噺',
+        //   align: "center",
+        //   dataIndex: 'equipmentUda3',
+        // },
+        // {
+        //   title: '閲嶉噺璁¢噺鍗曚綅',
+        //   align: "center",
+        //   dataIndex: 'equipmentUda4_dictText',
+        // },
+        // {
+        //   title: '鍔熻兘浣嶇疆',
+        //   align: "center",
+        //   dataIndex: 'equipmentUda5',
+        // },
+        // {
+        //   title: '瀹夎浣嶇疆',
+        //   align: "center",
+        //   dataIndex: 'equipmentUda2',
+        // },
+        // {
+        //   title: '鍑哄巶鏃ユ湡',
+        //   align: "center",
+        //   dataIndex: 'leaveFactoryDate',
+        // },
+        // {
+        //   title: '绔嬮」鍗″彿',
+        //   align: "center",
+        //   dataIndex: 'projectApprovalNo',
+        // },
+        // {
+        //   title: '璧勯噾鏉ユ簮',
+        //   align: "center",
+        //   dataIndex: 'fundSource',
+        // },
+        // {
+        //   title: '楠屾敹鏃ユ湡',
+        //   align: "center",
+        //   dataIndex: 'acceptanceCheckDate',
+        // },
+        // {
+        //   title: '鍑哄巶缂栧彿',
+        //   align: "center",
+        //   dataIndex: 'factoryNo',
+        // },
+        // {
+        //   title: '璧勪骇鍒堕�犲晢',
+        //   align: "center",
+        //   dataIndex: 'constructorId_dictText',
+        // },
+        // {
+        //   title: '璧勪骇鐨勬潵婧愬浗瀹�',
+        //   align: "center",
+        //   dataIndex: 'sourceCountry',
+        // }, 
+        {
+          title: '宸ヨ壓鍙傛暟绠$悊',
+          align: "center",
+          dataIndex: 'processParameters',
+          scopedSlots: { customRender: 'processParameters' },
+        },
+        {
+          title: '宸ヨ壓鍙傛暟妯℃澘',
+          align: "center",
+          dataIndex: 'processParametersTemplateName',
+        },
+        {
+          title: '璁惧绮惧害绠$悊',
+          align: "center",
+          dataIndex: 'precisionParameters',
+          scopedSlots: { customRender: 'precisionParameters' },
+        },
+        {
+          title: '绮惧害鍙傛暟妯℃澘',
+          align: "center",
+          dataIndex: 'precisionParametersTemplateName',
+        },
+        // {
+        //   title: '澶囨敞',
+        //   align: "center",
+        //   dataIndex: 'remark',
+        // },
+        {
+          title: '鎿嶄綔',
+          align: "center",
+          dataIndex: 'action',
+          scopedSlots: {
+            customRender: 'action',
+          },
+          width: 200,
+          fixed: 'right',
+        },
+        ],
+        url: {
+          list: "/eam/equipment/list",
+          delete: "/eam/equipment/delete",
+          deleteBatch: "/eam/equipment/deleteBatch",
+          active: "/eam/equipment/active",
+          exportXlsUrl: '/eam/equipment/exportXls',
+          importExcelUrl: "/eam/equipment/importExcel",
+        },
+        dictOptions:{
+        },
+        /* 鍒嗛〉鍙傛暟 */
+        ipagination:{
+          current: 1,
+          pageSize: 5,
+          pageSizeOptions: ['5', '10', '50'],
+          showTotal: (total, range) => {
+            return range[0] + "-" + range[1] + " 鍏�" + total + "鏉�"
+          },
+          showQuickJumper: true,
+          showSizeChanger: true,
+          total: 0
+        },
+        selectedMainId:'',
+        superFieldList:[],
+        equipmentProcessParametersMainId: '',
+        equipmentDocumentMainId: '',
+        equipmentPrecisionParametersMainId: '',
+      }
+    },
+    created() {
+      this.getSuperFieldList();
+    },
+    computed: {
+      importExcelUrl: function(){
+        return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
+      }
+    },
+    methods: {
+      initDictConfig(){
+      },
+      equipmentResumeShow(record) {
+      this.$refs.EquipmentResumeDrawer.visible = true
+      this.$refs.EquipmentResumeDrawer.title = '璁惧灞ュ巻'
+      this.$refs.EquipmentResumeDrawer.handleShow(record)
+       },
+      clickThenSelect(record) {
+        return {
+          on: {
+            click: () => {
+              this.onSelectChange(record.id.split(","), [record]);
+            }
+          }
+        }
+      },
+      onClearSelected() {
+        this.selectedRowKeys = [];
+        this.selectionRows = [];
+        this.selectedMainId=''
+      },
+      onSelectChange(selectedRowKeys, selectionRows) {
+        this.selectedMainId=selectedRowKeys[0]
+        this.selectedRowKeys = selectedRowKeys;
+        this.selectionRows = selectionRows;
+        this.equipmentProcessParametersMainId = selectionRows[0]['id']
+        this.equipmentDocumentMainId = selectionRows[0]['id']
+        this.equipmentPrecisionParametersMainId = selectionRows[0]['id']
+      },
+      loadData(arg) {
+        if(!this.url.list){
+          this.$message.error("璇疯缃畊rl.list灞炴��!")
+          return
+        }
+        //鍔犺浇鏁版嵁 鑻ヤ紶鍏ュ弬鏁�1鍒欏姞杞界涓�椤电殑鍐呭
+        if (arg === 1) {
+          this.ipagination.current = 1;
+        }
+        this.onClearSelected()
+        var params = this.getQueryParams();//鏌ヨ鏉′欢
+        this.loading = true;
+        getAction(this.url.list, params).then((res) => {
+          if (res.success) {
+            this.dataSource = res.result.records;
+            this.ipagination.total = res.result.total;
+          }
+          if(res.code===510){
+            this.$message.warning(res.message)
+          }
+          this.loading = false;
+        })
+      },
+      getSuperFieldList(){
+        let fieldList=[];
+        fieldList.push({type:'string',value:'num',text:'缁熶竴缂栫爜',dictCode:''})
+        fieldList.push({type:'string',value:'name',text:'璁惧鍚嶇О',dictCode:''})
+        fieldList.push({type:'string',value:'model',text:'鍨嬪彿',dictCode:''})
+        fieldList.push({type:'string',value:'specification',text:'瑙勬牸',dictCode:''})
+        fieldList.push({type:'string',value:'equipmentStatus',text:'璁惧鐘舵��',dictCode:''})
+        fieldList.push({type:'string',value:'technologyStatus',text:'technologyStatus',dictCode:''})
+        fieldList.push({type:'string',value:'assetNumber',text:'assetNumber',dictCode:''})
+        fieldList.push({type:'string',value:'equipmentCategoryId',text:'equipmentCategoryId',dictCode:''})
+        fieldList.push({type:'string',value:'specificEquipment',text:'specificEquipment',dictCode:''})
+        fieldList.push({type:'string',value:'equipmentPhoto',text:'equipmentPhoto',dictCode:''})
+        fieldList.push({type:'string',value:'constructorId',text:'璧勪骇鍒堕�犲晢',dictCode:''})
+        fieldList.push({type:'string',value:'supplierId',text:'supplierId',dictCode:''})
+        fieldList.push({type:'string',value:'factoryNumber',text:'factoryNumber',dictCode:''})
+        fieldList.push({type:'string',value:'leaveFactoryDate',text:'鍑哄巶鏃ユ湡',dictCode:''})
+        fieldList.push({type:'string',value:'acceptanceCheckDate',text:'楠屾敹鏃ユ湡',dictCode:''})
+        fieldList.push({type:'string',value:'affiliationId',text:'affiliationId',dictCode:''})
+        fieldList.push({type:'string',value:'manageId',text:'缁存姢閮ㄩ棬ID',dictCode:''})
+        fieldList.push({type:'string',value:'manager',text:'manager',dictCode:''})
+        fieldList.push({type:'string',value:'useId',text:'浣跨敤閮ㄩ棬ID',dictCode:''})
+        fieldList.push({type:'string',value:'functionary',text:'functionary',dictCode:''})
+        fieldList.push({type:'string',value:'location',text:'location',dictCode:''})
+        fieldList.push({type:'string',value:'equipmentImportanceId',text:'ABC鏍囪瘑ID',dictCode:''})
+        fieldList.push({type:'string',value:'processParameters',text:'processParameters',dictCode:''})
+        fieldList.push({type:'string',value:'processParametersTemplateId',text:'processParametersTemplateId',dictCode:''})
+        fieldList.push({type:'string',value:'precisionParameters',text:'precisionParameters',dictCode:''})
+        fieldList.push({type:'string',value:'precisionParametersTemplateId',text:'precisionParametersTemplateId',dictCode:''})
+        fieldList.push({type:'string',value:'verification',text:'verification',dictCode:''})
+        fieldList.push({type:'string',value:'verificationPeriod',text:'verificationPeriod',dictCode:''})
+        fieldList.push({type:'string',value:'lastVerificationDate',text:'lastVerificationDate',dictCode:''})
+        fieldList.push({type:'string',value:'nextVerificationDate',text:'nextVerificationDate',dictCode:''})
+        fieldList.push({type:'string',value:'status',text:'status',dictCode:''})
+        fieldList.push({type:'string',value:'remark',text:'remark',dictCode:''})
+        fieldList.push({type:'string',value:'equipmentUda1',text:'宸ュ尯',dictCode:''})
+        fieldList.push({type:'string',value:'equipmentUda2',text:'瀹夎浣嶇疆',dictCode:''})
+        fieldList.push({type:'string',value:'equipmentUda3',text:'閲嶉噺',dictCode:''})
+        fieldList.push({type:'string',value:'equipmentUda4',text:'閲嶉噺璁¢噺鍗曚綅ID',dictCode:''})
+        fieldList.push({type:'string',value:'equipmentUda5',text:'鍔熻兘浣嶇疆',dictCode:''})
+        fieldList.push({type:'string',value:'tenantId',text:'tenantId',dictCode:''})
+        fieldList.push({type:'int',value:'delFlag',text:'delFlag',dictCode:''})
+        fieldList.push({type:'string',value:'teamId',text:'缁翠慨鐝粍ID',dictCode:''})
+        fieldList.push({type:'string',value:'sourceId',text:'sourceId',dictCode:''})
+        fieldList.push({type:'string',value:'fundSource',text:'璧勯噾鏉ユ簮',dictCode:''})
+        fieldList.push({type:'string',value:'factoryNo',text:'鍑哄巶缂栧彿',dictCode:''})
+        fieldList.push({type:'string',value:'mfr',text:'鍒堕�犲晢',dictCode:''})
+        fieldList.push({type:'string',value:'sourceCountry',text:'璧勪骇鏉ユ簮鍥藉',dictCode:''})
+        fieldList.push({type:'string',value:'gpo',text:'鎬诲姛鐜�',dictCode:''})
+        fieldList.push({type:'string',value:'keyEquipmentIdentification',text:'鍏抽敭璁惧鏍囪瘑',dictCode:''})
+        fieldList.push({type:'string',value:'securityConfiguration',text:'瀹夊叏閰嶇疆',dictCode:''})
+        fieldList.push({type:'string',value:'coolingSystem',text:'鍐峰嵈绯荤粺',dictCode:''})
+        fieldList.push({type:'string',value:'fireExtinguisher',text:'鐏伀鍣�',dictCode:''})
+        fieldList.push({type:'string',value:'fireExtinguisherValidityPeriod',text:'鐏伀鍣ㄦ湁鏁堟湡',dictCode:''})
+        fieldList.push({type:'string',value:'operatingSystem',text:'鎿嶄綔绯荤粺',dictCode:''})
+        fieldList.push({type:'string',value:'system',text:'绯荤粺',dictCode:''})
+        fieldList.push({type:'string',value:'port',text:'绔彛',dictCode:''})
+        fieldList.push({type:'BigDecimal',value:'coordinateNum',text:'鍧愭爣鏁伴噺',dictCode:''})
+        fieldList.push({type:'string',value:'projectApprovalNo',text:'绔嬮」鍗″彿',dictCode:''})
+        this.superFieldList = fieldList
+      }
+    }
+  }
+</script>
+<style scoped>
+  @import '~@assets/less/common.less'
+</style>
\ No newline at end of file
diff --git a/src/views/eam/newEquipment/EquipmentPrecisionParametersList.vue b/src/views/eam/newEquipment/EquipmentPrecisionParametersList.vue
new file mode 100644
index 0000000..9fe1860
--- /dev/null
+++ b/src/views/eam/newEquipment/EquipmentPrecisionParametersList.vue
@@ -0,0 +1,285 @@
+<template>
+  <a-card :bordered="false" :class="'cust-erp-sub-tab'">
+    <!-- 鏌ヨ鍖哄煙 -->
+    <div class="table-page-search-wrapper">
+      <a-form layout="inline" @keyup.enter.native="searchQuery">
+        <a-row :gutter="24">
+        </a-row>
+      </a-form>
+    </div>
+    <!-- 鏌ヨ鍖哄煙-END -->
+
+    <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
+    <div class="table-operator" v-if="mainId">
+      <!-- <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button> -->
+      <!-- <a-button type="primary" icon="download" @click="handleExportXls('璁惧绮惧害')">瀵煎嚭</a-button>
+      <a-upload
+        name="file"
+        :showUploadList="false"
+        :multiple="false"
+        :headers="tokenHeader"
+        :action="importExcelUrl"
+        @change="handleImportExcel">
+          <a-button type="primary" icon="import">瀵煎叆</a-button>
+      </a-upload> -->
+      <a-dropdown v-if="selectedRowKeys.length > 0">
+        <a-menu slot="overlay">
+          <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>鍒犻櫎</a-menu-item>
+        </a-menu>
+        <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔 <a-icon type="down" /></a-button>
+      </a-dropdown>
+    </div>
+
+    <!-- table鍖哄煙-begin -->
+    <div>
+      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
+        <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤�
+        <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a>
+      </div>
+
+      <a-table
+        ref="table"
+        size="middle"
+        bordered
+        rowKey="id"
+        :scroll="{x:true}"
+        :columns="columns"
+        :dataSource="dataSource"
+        :pagination="ipagination"
+        :loading="loading"
+        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
+        @change="handleTableChange">
+
+        <template
+          v-for="col in columns"
+          :slot="col.dataIndex"
+          slot-scope='text, record, index'
+        >
+          <div :key="col.dataIndex">
+            <span v-if="col.dataIndex == 'remark'">
+              <j-ellipsis
+                :value="text"
+                :length="10"
+              />
+            </span>
+            <a-input-number
+              :value="text"
+              v-if="col.dataIndex == 'upperLimit'"
+              @change="(e)=>handleChange(e, record.key, col, index)"
+              style="width: 100%"
+            />
+            <a-input-number
+              :value="text"
+              v-if="col.dataIndex == 'lowerLimit'"
+              @change="(e)=>handleChange(e, record.key, col, index)"
+              style="width: 100%"
+            />
+            <a-input-number
+              :value="text"
+              v-if="col.dataIndex == 'actualValue'"
+              @change="(e)=>handleChange(e, record.key, col, index)"
+              style="width: 100%"
+            />
+            <span v-if="col.dataIndex == 'action'">
+              <a-button
+                type="primary"
+                @click="handleEdit(record)"
+              >鎻愪氦</a-button>
+            </span>
+          </div>
+        </template>
+
+        <!-- <span slot="action" slot-scope="text, record">
+          <a @click="handleEdit(record)">缂栬緫</a>
+          <a-divider type="vertical" />
+          <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)">
+            <a>鍒犻櫎</a>
+          </a-popconfirm>
+        </span> -->
+
+      </a-table>
+    </div>
+
+    <equipmentPrecisionParameters-modal ref="modalForm" @ok="modalFormOk" :mainId="mainId"></equipmentPrecisionParameters-modal>
+  </a-card>
+</template>
+
+<script>
+
+  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+  import EquipmentPrecisionParametersModal from '../modules/equipmentNew/EquipmentPrecisionParametersModal'
+import { postAction } from '../../../api/manage'
+
+  export default {
+    name: "EquipmentPrecisionParametersList",
+    mixins:[JeecgListMixin],
+    components: { EquipmentPrecisionParametersModal },
+    props:{
+      mainId:{
+        type:String,
+        default:'',
+        required:false
+      }
+    },
+    watch:{
+      mainId:{
+        immediate: true,
+        handler(val) {
+          if(!this.mainId){
+            this.clearList()
+          }else{
+            this.queryParam['equipmentId'] = val
+            this.loadData(1);
+          }
+        }
+      }
+    },
+    data () {
+      return {
+        description: '璁惧鍙拌处绠$悊椤甸潰',
+        disableMixinCreated:true,
+        // 琛ㄥご
+        columns: [
+        {
+          title: '#',
+          dataIndex: '',
+          key: 'rowIndex',
+          width: 60,
+          align: "center",
+          customRender: function (t, r, index) {
+            return parseInt(index) + 1;
+          },
+        },
+        {
+          title: '绮惧害鍙傛暟缂栫爜',
+          dataIndex: 'precisionParametersNum',
+          align: "center",
+          width:250,
+        },
+        {
+          title: '绮惧害鍙傛暟鍚嶇О',
+          dataIndex: 'precisionParametersName',
+          align: "center",
+          width:250,
+        },
+        {
+          title: '璁¢噺鍗曚綅',
+          dataIndex: 'precisionParametersUnitName',
+          align: "center",
+          width:250,
+        },
+        {
+          title: '涓婇檺鍊�',
+          dataIndex: 'upperLimit',
+          align: "center",
+          scopedSlots: {
+            customRender: 'upperLimit'
+          },
+          width:250,
+        },
+        {
+          title: '涓嬮檺鍊�',
+          dataIndex: 'lowerLimit',
+          align: "center",
+          scopedSlots: {
+            customRender: 'lowerLimit'
+          },
+          width:250,
+        },
+        {
+          title: '瀹為檯绮惧害鍊�',
+          dataIndex: 'actualValue',
+          align: "center",
+          scopedSlots: {
+            customRender: 'actualValue'
+          },
+          width:250,
+        },
+        {
+          title: '澶囨敞',
+          dataIndex: 'remark',
+          align: "center",
+        },
+        {
+          title: '鎿嶄綔',
+          dataIndex: 'action',
+          width: 160,
+          align: "center",
+          scopedSlots: {
+            customRender: 'action'
+          },
+        },
+        ],
+        url: {
+          list: "/eam/equipmentPrecisionParameters/list",
+          edit: "/eam/equipmentPrecisionParameters/edit",
+          // delete: "/new/equipment/deleteEquipmentPrecisionParameters",
+          // deleteBatch: "/new/equipment/deleteBatchEquipmentPrecisionParameters",
+          // exportXlsUrl: "/new/equipment/exportEquipmentPrecisionParameters",
+          // importUrl: "/new/equipment/importEquipmentPrecisionParameters",
+        },
+        dictOptions:{
+        }
+      }
+    },
+    created() {
+    },
+    computed: {
+      importExcelUrl(){
+        return `${window._CONFIG['domianURL']}/${this.url.importUrl}/${this.mainId}`;
+      }
+    },
+    methods: {
+      clearList(){
+        this.dataSource=[]
+        this.selectedRowKeys=[]
+        this.ipagination.current = 1
+      },
+      handleChange(value, key, column, index) {
+      let that = this;
+      const temp = [...that.dataSource];
+      const target = temp.filter(item => key === item.key)[index];
+      if (target) {
+        target[column.dataIndex] = value;
+        if ('actualValue' == column.dataIndex) {
+          target['actualValue'] = value;
+        }
+        if ('upperLimit' == column.dataIndex) {
+          target['upperLimit'] = value;
+        }
+        if ('lowerLimit' == column.dataIndex) {
+          target['lowerLimit'] = value;
+        }
+        //鏄剧ず甯﹁繃鏉ョ殑鏁版嵁
+        that.dataSource = temp;
+      }
+    },
+    handleEdit(record) {
+      this.loading = true;
+      if (record.actualValue === "" || record.actualValue === null) {
+        this.$message.warning("鍙傝�冨�间笉鑳戒负绌猴紒")
+        this.loading = false;
+        return
+      }
+      postAction(this.url.edit, record).then((res) => {
+        if (res.success) {
+          this.$message.success(res.message);
+          this.loadData()
+        } else {
+          this.$message.warning(res.message);
+        }
+      }).finally(() => {
+        this.loading = false;
+      });
+    },
+
+    modalFormOk() {
+      this.loadData(1);
+    },
+
+    }
+  }
+</script>
+<style scoped>
+  @import '~@assets/less/common.less'
+</style>
diff --git a/src/views/eam/newEquipment/EquipmentProcessParametersList.vue b/src/views/eam/newEquipment/EquipmentProcessParametersList.vue
new file mode 100644
index 0000000..b676148
--- /dev/null
+++ b/src/views/eam/newEquipment/EquipmentProcessParametersList.vue
@@ -0,0 +1,243 @@
+<template>
+  <a-card :bordered="false" :class="'cust-erp-sub-tab'">
+    <!-- 鏌ヨ鍖哄煙 -->
+    <div class="table-page-search-wrapper">
+      <a-form layout="inline" @keyup.enter.native="searchQuery">
+        <a-row :gutter="24">
+        </a-row>
+      </a-form>
+    </div>
+    <!-- 鏌ヨ鍖哄煙-END -->
+    <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
+    <div class="table-operator" v-if="mainId">
+      <!-- <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button> -->
+      <!-- <a-button type="primary" icon="download" @click="handleExportXls('宸ヨ壓鍙傛暟')">瀵煎嚭</a-button>
+      <a-upload
+        name="file"
+        :showUploadList="false"
+        :multiple="false"
+        :headers="tokenHeader"
+        :action="importExcelUrl"
+        @change="handleImportExcel">
+          <a-button type="primary" icon="import">瀵煎叆</a-button>
+      </a-upload> -->
+      <a-dropdown v-if="selectedRowKeys.length > 0">
+        <a-menu slot="overlay">
+          <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>鍒犻櫎</a-menu-item>
+        </a-menu>
+        <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔 <a-icon type="down" /></a-button>
+      </a-dropdown>
+    </div>
+
+    <!-- table鍖哄煙-begin -->
+    <div>
+      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
+        <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤�
+        <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a>
+      </div>
+      <a-table
+        ref="table"
+        size="middle"
+        bordered
+        rowKey="id"
+        :scroll="{x:true}"
+        :columns="columns"
+        :dataSource="dataSource"
+        :pagination="ipagination"
+        :loading="loading"
+        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
+        @change="handleTableChange">
+        <template
+          v-for="col in columns"
+          :slot="col.dataIndex"
+          slot-scope='text, record, index'
+        >
+          <div :key="col.dataIndex">
+            <span v-if="col.dataIndex == 'remark'">
+              <j-ellipsis
+                :value="text"
+                :length="10"
+              />
+            </span>
+            <a-input-number
+              :value="text"
+              v-if="col.dataIndex == 'parametersValue'"
+              @change="(e)=>handleChange(e, record.key, col, index)"
+              style="width: 100%"
+            />
+            <span v-if="col.dataIndex == 'action'">
+              <a-button
+                type="primary"
+                @click="handleEdit(record)"
+              >鎻愪氦</a-button>
+            </span>
+          </div>
+        </template>
+        <!-- <span slot="action" slot-scope="text, record">
+          <a @click="handleEdit(record)">缂栬緫</a>
+          <a-divider type="vertical" />
+          <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)">
+            <a>鍒犻櫎</a>
+          </a-popconfirm>
+        </span> -->
+      </a-table>
+    </div>
+    <equipmentProcessParameters-modal ref="modalForm" @ok="modalFormOk" :mainId="mainId"></equipmentProcessParameters-modal>
+  </a-card>
+</template>
+
+<script>
+
+  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+  import EquipmentProcessParametersModal from '../modules/equipmentNew/EquipmentProcessParametersModal'
+import { postAction } from '../../../api/manage'
+
+  export default {
+    name: "EquipmentProcessParametersList",
+    mixins:[JeecgListMixin],
+    components: { EquipmentProcessParametersModal },
+    props:{
+      mainId:{
+        type:String,
+        default:'',
+        required:false
+      }
+    },
+    watch:{
+      mainId:{
+        immediate: true,
+        handler(val) {
+          if(!this.mainId){
+            this.clearList()
+          }else{
+            this.queryParam['equipmentId'] = val
+            this.loadData(1);
+          }
+        }
+      }
+    },
+    data () {
+      return {
+        description: '璁惧鍙拌处绠$悊椤甸潰',
+        disableMixinCreated:true,
+        // 琛ㄥご
+        columns: [
+        {
+          title: '#',
+          dataIndex: '',
+          key: 'rowIndex',
+          width: 60,
+          align: "center",
+          customRender: function (t, r, index) {
+            return parseInt(index) + 1;
+          }
+        },
+        {
+          title: '宸ヨ壓鍙傛暟缂栫爜',
+          align: "center",
+          dataIndex: 'processParametersNum',
+          width:350,
+        },
+        {
+          title: '宸ヨ壓鍙傛暟鍚嶇О',
+          align: "center",
+          dataIndex: 'processParametersName',
+          width:350,
+        },
+        {
+          title: '璁¢噺鍗曚綅',
+          align: "center",
+          dataIndex: 'processParametersUnitName',
+          width:350,
+        },
+        {
+          title: '鍙傛暟鍊�',
+          align: "center",
+          dataIndex: 'parametersValue',
+          scopedSlots: {
+            customRender: 'parametersValue'
+          },
+          width:350,
+        },
+        {
+          title: '澶囨敞',
+          align: "center",
+          dataIndex: 'remark',
+          scopedSlots: {
+            customRender: 'remark'
+          },
+        },
+        {
+          title: '鎿嶄綔',
+          align: "center",
+          dataIndex: 'action',
+          scopedSlots: {
+            customRender: 'action'
+          },
+          width:200
+        },
+        ],
+        url: {
+          list: "/eam/equipmentProcessParameters/list",
+          edit: "/eam/equipmentProcessParameters/edit",
+          // delete: "/new/equipment/deleteEquipmentProcessParameters",
+          // deleteBatch: "/new/equipment/deleteBatchEquipmentProcessParameters",
+          // exportXlsUrl: "/new/equipment/exportEquipmentProcessParameters",
+          // importUrl: "/new/equipment/importEquipmentProcessParameters",
+        },
+        dictOptions:{
+        }
+      }
+    },
+    created() {
+    },
+    computed: {
+      importExcelUrl(){
+        return `${window._CONFIG['domianURL']}/${this.url.importUrl}/${this.mainId}`;
+      }
+    },
+    methods: {
+      clearList(){
+        this.dataSource=[]
+        this.selectedRowKeys=[]
+        this.ipagination.current = 1
+      },
+      handleEdit(record) {
+      this.loading = true;
+      if (record.parametersValue === "" || record.parametersValue === null) {
+        this.$message.warning("鍙傝�冨�间笉鑳戒负绌猴紒")
+        this.loading = false;
+        return
+      }
+      postAction(this.url.edit, record).then((res) => {
+        if (res.success) {
+          this.$message.success(res.message);
+          this.loadData()
+        } else {
+          this.$message.warning(res.message);
+        }
+      }).finally(() => {
+        this.loading = false;
+      });
+    },
+    handleChange(value, key, column, index) {
+      let that = this;
+      const temp = [...that.dataSource];
+      const target = temp.filter(item => key === item.key)[index];
+      if (target) {
+        target[column.dataIndex] = value;
+        if ('parametersValue' == column.dataIndex) {
+          target['parametersValue'] = value;
+        }
+        //鏄剧ず甯﹁繃鏉ョ殑鏁版嵁
+        that.dataSource = temp;
+      }
+    },
+    
+
+    }
+  }
+</script>
+<style scoped>
+  @import '~@assets/less/common.less'
+</style>

--
Gitblit v1.9.3