From 4c31f76a8db1f1d503f50cf4f367786882b18d62 Mon Sep 17 00:00:00 2001
From: zhuzhuanzhuan
Date: 星期二, 18 七月 2023 15:27:14 +0800
Subject: [PATCH] 关于数值的新增,组件的调换,合格率的界面绘制和接口调取数据渲染

---
 src/views/mdc/base/modules/mdcPassRate/mdcPassRateModal.vue                               |  334 +++++++++++
 src/views/mdc/base/mdcPassRate.vue                                                        |  122 ++++
 src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityModalList.vue             |    4 
 src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityModal.vue                 |    7 
 src/views/mdc/base/modules/mdcPassRate/mdcPassRateList.vue                                |  666 ++++++++++++++++++++++
 src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationModal.vue           |    7 
 src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationList.vue  |    2 
 src/views/mdc/base/modules/MdcplancloseList/MdcplancloseForm.vue                          |    9 
 src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationModalEdit.vue       |    7 
 src/views/mdc/base/modules/mdcPassRate/mdcPassRateEdit.vue                                |  330 +++++++++++
 src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationModal.vue |    7 
 src/views/mdc/base/modules/mdcPassRate/mdcPassRateModalList.vue                           |  284 +++++++++
 src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityModelEdit.vue             |    7 
 src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationEdit.vue  |    7 
 src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityList.vue                  |    2 
 15 files changed, 1,777 insertions(+), 18 deletions(-)

diff --git a/src/views/mdc/base/mdcPassRate.vue b/src/views/mdc/base/mdcPassRate.vue
new file mode 100644
index 0000000..16380a1
--- /dev/null
+++ b/src/views/mdc/base/mdcPassRate.vue
@@ -0,0 +1,122 @@
+<template>
+  <div style="width: 100%; height: 100%;">
+    <a-card :bordered="false">
+      <a-row type="flex" :gutter="16">
+        <a-col :md="4">
+          <a-tabs :activeKey="activeKey"  @change="tabChange">
+            <a-tab-pane key="1" tab="杞﹂棿灞傜骇" force-render>
+              <base-tree @getCurrSelected="changeSelectionNode"></base-tree>
+            </a-tab-pane>
+            <a-tab-pane key="2" tab="閮ㄩ棬灞傜骇">,
+              <depart-tree  @getCurrSelectedDD="changeSelectionNodedd"
+              ></depart-tree>
+            </a-tab-pane>
+          </a-tabs>
+        </a-col>
+        <a-col :md="20">
+          <mdc-pass-rate-list    ref="MdcStandardProcessDurationList" :nodePeople='selectPeople' :nodeTree = 'selectEquement' :Type="slectTypeTree"></mdc-pass-rate-list>
+        </a-col>
+      </a-row>
+    </a-card>
+  </div>
+
+</template>
+
+<script>
+  import { putAction, getAction } from '@/api/manage'
+  import { frozenBatch } from '@/api/api'
+  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+  import JInput from '@/components/jeecg/JInput'
+  import BaseTree from '../common/BaseTree'
+  import mdcPassRateList from './modules/mdcPassRate/mdcPassRateList'
+  import JSuperQuery from '@/components/jeecg/JSuperQuery'
+  import JThirdAppButton from '@/components/jeecgbiz/thirdApp/JThirdAppButton'
+  import DepartTree from './modules/DepartList/DepartListTree/DepartTree'
+  export default {
+    name: 'mdcPassRate',
+    components: {
+      JThirdAppButton,
+      JInput,
+      BaseTree,
+      JSuperQuery,
+      DepartTree,
+      mdcPassRateList
+    },
+    data() {
+      return {
+        activeKey: '1',
+        description: '璁惧淇℃伅',
+        selectEquementId: '',
+        selectEquement: {},
+        selectPeople:{},
+        slectTypeTree:"",
+        url: {
+          equipmentStatistics: '/mdc/equipment/equipmentStatistics'
+        }
+      }
+    },
+    created() {
+    },
+    methods: {
+      tabChange(val) {
+        // console.log(val);
+        this.activeKey = val
+        this.slectTypeTree = val
+      },
+      // changeSelection(val) {
+      //   this.selectEquementId = val
+      //   this.$refs.efficiencyList.pQuery(val)
+      //   this.$refs.efficiencyList.searchQuery()
+      // },
+      changeSelectionNode(val) {
+        this.selectEquement = val
+        this.slectTypeTree = "1"
+      },
+      changeSelectionNodedd(val) {
+        this.selectPeople = val
+        this.slectTypeTree = "2"
+      }
+    }
+
+  }
+</script>
+<style scoped>
+  @import '~@assets/less/common.less';
+
+  .equipMessage {
+    width: 100%;
+    height: 10%;
+  }
+
+  .equipMessage table {
+    width: 60%;
+    height: 100%;
+    line-height: 50%;
+  }
+
+  .equipMessage table td {
+    text-align: center;
+  }
+
+  .equipMessage table td span {
+    display: inline-block;
+    width: 15px;
+    height: 15px;
+  }
+
+  .equipMessage table td .equipShutdown {
+    background-color: #808080;
+  }
+
+  .equipMessage table td .equipStandby {
+    background-color: #ffbf37;
+  }
+
+  .equipMessage table td .equipRun {
+    background-color: #19FE01;
+  }
+
+  .equipMessage table td .equipAlarm {
+    background-color: #FD0008;
+  }
+</style>
\ No newline at end of file
diff --git a/src/views/mdc/base/modules/MdcplancloseList/MdcplancloseForm.vue b/src/views/mdc/base/modules/MdcplancloseList/MdcplancloseForm.vue
index 05609ed..13395b2 100644
--- a/src/views/mdc/base/modules/MdcplancloseList/MdcplancloseForm.vue
+++ b/src/views/mdc/base/modules/MdcplancloseList/MdcplancloseForm.vue
@@ -23,7 +23,7 @@
           </a-col>
           <a-col :span="24">
             <a-form-model-item label="鏃堕暱锛堝垎閽燂級" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="planCloseTimeLong">
-              <a-input v-model="model.planCloseTimeLong" placeholder="璇疯緭鍏ユ椂闀匡紙鍒嗛挓锛�"  ></a-input>
+              <a-input-number :min="0" v-model="model.planCloseTimeLong" placeholder="璇疯緭鍏ユ椂闀匡紙鍒嗛挓锛�"  ></a-input-number>
             </a-form-model-item>
           </a-col>
           <a-col :span="24">
@@ -125,4 +125,9 @@
       },
     }
   }
-</script>
\ No newline at end of file
+</script>
+<style scoped lang="less">
+  /deep/ .ant-input-number{
+    width: 100%!important;
+  }
+</style>
\ No newline at end of file
diff --git a/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationModal.vue b/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationModal.vue
index 9dfba21..214db00 100644
--- a/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationModal.vue
+++ b/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationModal.vue
@@ -20,7 +20,7 @@
           </a-col>
           <a-col :span="12">
             <a-form-item label="鎵煩鍊�" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-input :disabled="disableSubmit" placeholder="璇疯緭鍏ユ壄鐭╁��"
+              <a-input-number :min="0" :disabled="disableSubmit" placeholder="璇疯緭鍏ユ壄鐭╁��"
                        v-decorator="['torqueValue', validatorRules.torqueValue]"/>
             </a-form-item>
           </a-col>
@@ -303,7 +303,7 @@
   }
 </script>
 
-<style scoped>
+<style scoped lang="less">
   .ant-btn {
     padding: 0 10px;
     margin-left: 3px;
@@ -322,4 +322,7 @@
   .ant-tabs-content .ant-form-item {
     margin-bottom: 0px;
   }
+  /deep/ .ant-input-number{
+    width: 100%!important;
+  }
 </style>
diff --git a/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationModalEdit.vue b/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationModalEdit.vue
index ccf44b3..acb880c 100644
--- a/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationModalEdit.vue
+++ b/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationModalEdit.vue
@@ -21,7 +21,7 @@
         <a-row :gutter="24">
           <a-col :span="12">
             <a-form-item label="鎵煩鍊�" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-input :disabled="disableSubmit" placeholder="璇疯緭鍏ユ壄鐭╁��"
+              <a-input-number :min="0" :disabled="disableSubmit" placeholder="璇疯緭鍏ユ壄鐭╁��"
                        v-decorator="['torqueValue', validatorRules.torqueValue]"/>
             </a-form-item>
           </a-col>
@@ -308,7 +308,7 @@
   }
 </script>
 
-<style scoped>
+<style scoped lang="less">
   .ant-btn {
     padding: 0 10px;
     margin-left: 3px;
@@ -327,4 +327,7 @@
   .ant-tabs-content .ant-form-item {
     margin-bottom: 0px;
   }
+  /deep/ .ant-input-number{
+    width: 100%!important;
+  }
 </style>
diff --git a/src/views/mdc/base/modules/mdcPassRate/mdcPassRateEdit.vue b/src/views/mdc/base/modules/mdcPassRate/mdcPassRateEdit.vue
new file mode 100644
index 0000000..61d6f57
--- /dev/null
+++ b/src/views/mdc/base/modules/mdcPassRate/mdcPassRateEdit.vue
@@ -0,0 +1,330 @@
+<template>
+  <a-modal :title="title" :width="800" :visible="visible" :confirmLoading="confirmLoading"
+           :okButtonProps="{ props: {disabled: disableSubmit} }" @ok="handleOk" @cancel="handleCancel" cancelText="鍏抽棴">
+    <a-spin :spinning="confirmLoading">
+      <a-form :form="form">
+        <a-row :gutter="24">
+          <a-col :span="12">
+            <a-form-item label="璁惧缂栧彿" :labelCol="labelCol" :wrapperCol="wrapperCol">
+              <a-input :disabled="disableSubmit" :readOnly="readOnly" allow-clear placeholder="璇疯緭鍏ヨ澶囩紪鍙�"
+                       v-decorator="['equipmentId',validatorRules.equipmentId]"/>
+            </a-form-item>
+
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="璁惧鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol">
+              <a-input :disabled="disableSubmit" :readOnly="readOnly" allow-clear placeholder="璇疯緭鍏ヨ澶囧悕绉�"
+                       v-decorator="['equipmentName',validatorRules.equipmentName]"/>
+            </a-form-item>
+          </a-col>
+        </a-row>
+        <a-row :gutter="24">
+          <a-col :span="12">
+            <a-form-item label="鍔犲伐鏁伴噺" :labelCol="labelCol" :wrapperCol="wrapperCol">
+              <a-input-number :disabled="disableSubmit" placeholder="璇疯緭鍏ュ姞宸ユ暟閲�" :min="0" v-decorator="['processQuantity', validatorRules.processQuantity]"></a-input-number>
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="涓嶅悎鏍兼暟閲�" :labelCol="labelCol" :wrapperCol="wrapperCol">
+              <a-input-number :disabled="disableSubmit" placeholder="璇疯緭鍏ヤ笉鍚堟牸鏁伴噺" :min="0" v-decorator="['unqualifiedQuantity', validatorRules.unqualifiedQuantity]"></a-input-number>
+            </a-form-item>
+          </a-col>
+        </a-row>
+        <a-row :gutter="24">
+          <a-form-item label="澶囨敞" :labelCol="labelColLong" :wrapperCol="wrapperColLong">
+            <a-textarea  :disabled="disableSubmit"  v-decorator="['remark', validatorRules.remark]" placeholder="璇疯緭鍏ュ娉�"  ></a-textarea>
+          </a-form-item>
+        </a-row>
+      </a-form>
+    </a-spin>
+    <!--<device-repair-list-model ref="deviceRepairListModel" @sendSelectionRows="getDeviceRows"></device-repair-list-model>-->
+    <!--<device-repair-edit-list-model ref="deviceRepairListModel" @sendSelectionRows="getDeviceRows"></device-repair-edit-list-model>-->
+  </a-modal>
+</template>
+
+<script>
+  import moment from 'moment'
+  import pick from 'lodash.pick'
+  // import DeviceRepairListModel from './DeviceRepairListModel'
+  // import DeviceRepairEditListModel from './DeviceRepairEditListModel'
+  // import JDate from './JDate'
+  import {
+    getAction,
+    postAction,
+    requestPut
+  } from '@/api/manage'
+  import {
+    duplicateCheck
+  } from '@/api/api'
+
+  export default {
+    name: 'mdcPassRateEdit',
+    // components: {DeviceRepairListModel,JDate,DeviceRepairEditListModel},
+    props: {},
+    data() {
+      return {
+        readOnly:true,
+        title: '',
+        visible: false,
+        show: false,
+        model: {},
+        checked: false,
+        startData:"",
+        endData:"",
+        labelCol: {
+          xs: {
+            span: 24
+          },
+          sm: {
+            span: 6
+          }
+        },
+        wrapperCol: {
+          xs: {
+            span: 24
+          },
+          sm: {
+            span: 18
+          }
+        },
+        labelColLong: {
+          xs: {
+            span: 24
+          },
+          sm: {
+            span: 3
+          }
+        },
+        wrapperColLong: {
+          xs: {
+            span: 24
+          },
+          sm: {
+            span: 21
+          }
+        },
+        confirmLoading: false,
+        form: this.$form.createForm(this),
+        validatorRules: {
+          equipmentId:{
+            rules:[
+              {
+                required:true,
+                message: ""
+              },
+            ],
+          },
+          equipmentName:{
+            rules:[
+              {
+                required:true,
+                message: ""
+              },
+            ],
+          },
+          // mdcRepairType:{
+          //   rules:[
+          //     {
+          //       required:true,
+          //       message: ""
+          //     },
+          //   ],
+          //   initialValue: '浼戠彮'
+          // }
+        },
+
+        url: {
+          add: '/mdc/mdcPassRate/add',
+          edit: '/mdc/mdcPassRate/edit'
+        },
+
+        disableSubmit: true,
+        partCategoryCascade: [],
+        cascadeDefaultValue: [],
+        editStart:''
+      }
+    },
+    created() {
+    },
+
+    methods: {
+      disabledDate(current){
+        //Can not slect days before today and today
+        // return current && current < moment().endOf("day");
+        return current < moment().subtract(+1, 'day')//浠婂ぉ涔嬪墠鐨勫勾鏈堟棩涓嶅彲閫夛紝涓嶅寘鎷粖澶�
+      },
+      moment,
+      // onChange(dates) {
+      //   console.log(111)
+      //   console.log(dates,dateStrings)
+      //   // console.log('From: ', dates[0], ', to: ', dates[1]);
+      //   // console.log('From: ', dateStrings[0], ', to: ', dateStrings[1]);
+      //   // this.startTime = dateStrings[0];
+      //   // this.endData = dateStrings[1];
+      //   // console.log(this.startData,this.endData);
+      // },
+      onChangeEnd(dates, dateStrings){
+        this.endTime = dateStrings[0];
+      },
+      getDeviceRows(val) {
+        this.form.setFieldsValue({
+          equipmentId: val.equipmentId,
+          equipmentName: val.equipmentName,
+        //   // equipmentModel: val.equipmentModel,
+        //   // equipmentIp: val.equipmentIp,
+        //   // dataPort: val.dataPort,
+        //   // driveType: val.driveType
+        })
+        // var equipmentIds;
+        // for(var i = 0;i<val.length;i++){
+        //   if (i == 0) {
+        //     equipmentIds =  val[i].equipmentId;
+        //   } else {
+        //     equipmentIds = equipmentIds + "," + val[i].equipmentId;
+        //   }
+        // }
+        // console.log("========",equipmentIds);
+        // this.form.setFieldsValue({
+        //   equipmentId: equipmentIds,
+        // })
+      },
+      deviceSearch() {
+        this.$refs.deviceRepairListModel.openPage()
+        this.$refs.deviceRepairListModel.title = '閫夋嫨璁惧'
+        this.$refs.deviceRepairListModel.disableSubmit = false
+      },
+      //绾ц仈妗唎nChange浜嬩欢
+      // onChange(value) {
+      //
+      // },
+      getParentIdsById(id) {
+        let that = this
+        getAction(this.url.getParentIdsById, {
+          id: id
+        }).then((res) => {
+          if (res.success) {
+            that.form.setFieldsValue({
+              partCategoryId: res.result
+            })
+          }
+        })
+      },
+      add(node) {
+        let _this = this
+        this.visible = true
+        this.form.resetFields()
+        this.model = {}
+        this.$nextTick(() => {
+          // _this.form.setFieldsValue({ 'tierType': node.entity.tierType + 1, 'parentName': node.title })
+          // _this.model.parentId = node.key
+        })
+      },
+      edit(record) {
+        this.form.resetFields()
+        this.model = Object.assign({}, record)
+        // this.editStart  = (this.model.startTime).replace(/:/g,'');
+        this.visible = true
+        this.$nextTick(() => {
+          this.form.setFieldsValue(pick(this.model,'equipmentId', 'equipmentName','processQuantity', 'unqualifiedQuantity','remark'
+          ))
+        })
+      },
+      close() {
+        this.$emit('close')
+        this.visible = false
+        this.show = false
+      },
+      handleOk() {
+        const that = this
+        // 瑙﹀彂琛ㄥ崟楠岃瘉
+        this.form.validateFields((err, values) => {
+          if (!err) {
+            that.confirmLoading = true
+            let formData = Object.assign(this.model, values)
+            let obj
+            if (!this.model.id) {
+              obj = postAction(this.url.add, formData)
+            } else {
+              obj = requestPut(this.url.edit, formData, {
+                id: this.model.id
+              })
+            }
+            obj.then((res) => {
+              if (res.success) {
+                that.$message.success("淇敼鎴愬姛")
+                // that.$message.success(res.message)
+                that.$emit('ok', res.result)
+              } else {
+                that.$message.warning(res.message)
+              }
+            }).finally(() => {
+              that.confirmLoading = false
+              that.close()
+            })
+          }
+        })
+      },
+      handleCancel() {
+        this.close()
+      },
+      // loadCascade() {
+      //   getAction(this.url.loadCascadeData).then((res) => {
+      //     if (res.success) {
+      //       this.partCategoryCascade = res.result
+      //     }
+      //   })
+      // },
+      onCascadeChange(value, selectedOptions) {
+        this.cascadeDefaultValue = [...value]
+      },
+      filter(inputValue, path) {
+        return path.some(option => option.label.toLowerCase().indexOf(inputValue.toLowerCase()) > -1)
+      },
+      //楠岃瘉 缂栫爜
+      validateNum(rule, value, callback) {
+        var params = {
+          tableName: 'lxmes_base_part',
+          fieldName: 'num',
+          fieldVal: value,
+          dataId: this.model.id,
+          //鏁版嵁搴撲腑瀛樺湪瀛楁del_flag骞朵娇鐢ㄨ瀛楁浣滀负鏈垹闄ょ瓥鐣ワ紝鐪熷垹闄わ細false 鍋囧垹闄わ細true
+          delFlag: 'true'
+        }
+        duplicateCheck(params).then((res) => {
+          if (res.success) {
+            callback()
+          } else {
+            callback('瀛樿揣缂栫爜宸插瓨鍦�!')
+          }
+        })
+      },
+      checkboxChange(e) {
+        this.checked = e.target.checked
+      }
+    }
+  }
+</script>
+
+<style scoped lang="less">
+  .ant-btn {
+    padding: 0 10px;
+    margin-left: 3px;
+  }
+
+  .ant-form-item-control {
+    line-height: 0px;
+  }
+
+  /** 涓昏〃鍗曡闂磋窛 */
+  .ant-form .ant-form-item {
+    margin-bottom: 10px;
+  }
+
+  /** Tab椤甸潰琛岄棿璺� */
+  .ant-tabs-content .ant-form-item {
+    margin-bottom: 0px;
+  }
+  /deep/ .ant-input-number{
+    width: 100%!important;
+  }
+</style>
diff --git a/src/views/mdc/base/modules/mdcPassRate/mdcPassRateList.vue b/src/views/mdc/base/modules/mdcPassRate/mdcPassRateList.vue
new file mode 100644
index 0000000..03de38d
--- /dev/null
+++ b/src/views/mdc/base/modules/mdcPassRate/mdcPassRateList.vue
@@ -0,0 +1,666 @@
+<template>
+  <a-card :bordered="false" class="device_list">
+    <!-- 鏌ヨ鍖哄煙 -->
+    <div style="width: 100%; background-color: #fff" class="table-page-search-wrapper">
+      <a-form layout="inline" @keyup.enter.native="searchQuery">
+        <a-row :gutter="24">
+          <a-col :md="7" :sm="7">
+            <a-form-item label="鏃堕棿">
+              <a-range-picker @change="dateParamChange" v-model="dates"  format="YYYY-MM-DD"/>
+            </a-form-item>
+          </a-col>
+          <a-col :md="4" :sm="4">
+            <a-form-item label="璁惧缂栧彿">
+              <a-input placeholder="杈撳叆璁惧缂栧彿鏌ヨ" v-model="queryParams.equipmentId"></a-input>
+            </a-form-item>
+          </a-col>
+          <a-col :md="4" :sm="4" :xs="4">
+            <a-form-item label="璁惧鍚嶇О">
+              <a-input placeholder="杈撳叆璁惧鍚嶇О鏌ヨ" v-model="queryParams.equipmentName"></a-input>
+            </a-form-item>
+          </a-col>
+          <a-col :md="2" :sm="3" :xs="3">
+            <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
+          </a-col>
+          <a-col :md="2" :sm="2" :xs="2">
+            <a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button>
+          </a-col>
+          <!--<a-col :lg="2" :md="3" :sm="3" :xs="3">-->
+            <!--<a-button type="primary" @click="exportExcel" icon="download">瀵煎嚭</a-button>-->
+          <!--</a-col>-->
+        </a-row>
+      </a-form>
+    </div>
+    <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
+    <div class="table-operator" style="display: inline;">
+      <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 id="DeviceList">
+      <a-table ref="table" bordered size="middle" rowKey="id" :columns="columns"
+               :scroll="{x:1000}" :dataSource="dataSource" :pagination="ipagination" :loading="loading"
+               :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
+               @change="handleTableChange">
+
+        <span slot="action" slot-scope="text, record">
+        <a @click="handleEdit(record)">缂栬緫</a>
+            <a-divider type="vertical" />
+          <a @click="handleDelete(record.id)">鍒犻櫎</a>
+        </span>
+        <span slot="discount1" slot-scope="text, record">
+          <div v-if="record.passRate == '0'">0%</div>
+          <div v-else>{{ (record.passRate * 100).toFixed(2) }}%</div>
+        </span>
+        <!--瀛楃涓茶秴闀挎埅鍙栫渷鐣ュ彿鏄剧ず-->
+        <span slot="num" slot-scope="text" style="font-weight: bold">
+          <j-ellipsis :value="text" :length="8"/>
+        </span>
+        <span slot="name" slot-scope="text" style="font-weight: bold">
+          <j-ellipsis :value="text" :length="8"/>
+        </span>
+        <span slot="model" slot-scope="text" style="font-weight: bold">
+          <j-ellipsis :value="text" :length="8"/>
+        </span>
+      </a-table>
+    </div>
+    <!-- table鍖哄煙-end -->
+    <!--<device-repair-model></device-repair-model>-->
+    <mdc-pass-rate-modal  ref="modalForm" @ok="modalFormOk"></mdc-pass-rate-modal>
+    <mdc-pass-rate-edit  ref="modalFormedit" @ok="modalFormOk"></mdc-pass-rate-edit>
+  </a-card>
+</template>
+
+<script>
+  import moment from 'moment'
+  import $ from 'jquery'
+  import JDictSelectTag from '@/components/dict/JDictSelectTag'
+  import JDate from '../../../../../components/jeecg/JDate'
+  import {
+    requestPut,
+    deleteAction,
+    downFile,
+    getAction
+  } from '@/api/manage'
+  import mdcPassRateModal from './mdcPassRateModal'
+  import mdcPassRateEdit from './mdcPassRateEdit'
+  // import DeviceRepairModelAdd from './DeviceRepairModelAdd'
+  // import DeviceRepairModelEdit from './DeviceRepairModelEdit'
+  import '@/components/table2excel/table2excel'
+  import {
+    JeecgListMixin
+  } from '@/mixins/JeecgListMixin'
+  import JInput from '@/components/jeecg/JInput'
+  import JEllipsis from '@/components/jeecg/JEllipsis'
+  import Tooltip from 'ant-design-vue/es/tooltip'
+  import { ajaxGetDictItems, getDictItemsFromCache, duplicateCheck } from '@/api/api'
+  export default {
+    name: 'mdcPassRateList',
+    mixins: [JeecgListMixin],
+    components: {
+      Tooltip,
+      mdcPassRateModal,
+      mdcPassRateEdit,
+      // DeviceRepairModelAdd,
+      // DeviceRepairModelEdit,
+      JDictSelectTag,
+      JInput,
+      JDate,
+      JEllipsis
+    },
+    props: {  nodeTree: '', Type:'',nodePeople: '' },
+    data() {
+      return {
+        typeTree:"",
+        typeParent:1,
+        typeEquipment:1,
+        dates: [],
+        xianshi:"",
+        readOnly:true,
+        queryParam: {},
+        queryParams:{},
+        queryParamEquip:{},
+        queryParamPeople:{},
+        dataStartsoucre:[],
+        columns: [
+          {
+            title: '璁惧缂栧彿',
+            align: 'center',
+            dataIndex: 'equipmentId'
+          },
+          {
+            title: '璁惧鍚嶇О',
+            align: 'center',
+            dataIndex: 'equipmentName',
+            // defaultSortOrder:'descend',
+            // sorter: (a, b) => {return a.equipmentName>b.equipmentName?1:-1}
+          },
+          {
+            title: '鏃ユ湡',
+            align: 'center',
+            dataIndex: 'efficientDate',
+            // scopedSlots:{customRender:'startTime'},
+            // customRender:(text,row,index) => {
+            //   return moment(text).format("YYYY-MM-DD HH:mm:ss")
+            // }
+          },
+          {
+            title: '鍔犲伐鏁伴噺',
+            align: 'center',
+            dataIndex: 'processQuantity'
+          },
+          {
+            title: '涓嶅悎鏍兼暟閲�',
+            align: 'center',
+            dataIndex: 'unqualifiedQuantity'
+          },
+          {
+            title: '鍚堟牸鐜�',
+            align: 'center',
+            dataIndex: 'passRate',
+            scopedSlots:{customRender:'discount1'}
+
+          },
+          {
+            title: '澶囨敞',
+            align: 'center',
+            dataIndex: 'remark'
+          },
+          {
+            title: '鎿嶄綔',
+            dataIndex: 'action',
+            scopedSlots: {customRender: 'action'},
+            align: "center",
+            width: 150
+          }
+        ],
+        url: {
+          list: '/mdc/mdcPassRate/list',
+          delete: '/mdc/mdcPassRate/delete',
+          deleteBatch: '/mdc/mdcPassRate/deleteBatch',
+          getEquipmentByPid: '/mdc/mdcequipment/getEquipmentByPid',
+          exportXlsUrl: "/mdc/mdcStandardProcessDuration/exportXls",
+          importExcelUrl: "/mdc/mdcStandardProcessDuration/importExcel",
+        }
+      }
+    },
+    watch:{
+      Type(valmath){
+        this.dataList = [];
+        this.queryParams.typeTree = valmath
+        // console.log(this.queryParams.typeTree)
+      },
+      nodeTree(val) { //鐩戝惉currSelected 鍙樺寲锛屽皢鍙樺寲鍚庣殑鏁板�间紶閫掔粰 getCurrSelected 浜嬩欢
+        if (JSON.stringify(val) != '{}') {
+          if (val.equipmentId) {
+            this.queryParamEquip.parentId =  ""
+            this.queryParams.equipmentId = val.equipmentId
+            this.queryParamEquip.equipmentId = val.equipmentId
+          } else {
+            this.queryParamEquip.parentId = val.key
+            this.queryParams.equipmentId = ''
+          }
+          this.searchQuery()
+        }
+      },
+      nodePeople(val){
+        if (JSON.stringify(val) != '{}') {
+          if (val.equipmentId) {
+            this.queryParamEquip.parentId =  ""
+            this.queryParams.equipmentId = val.equipmentId
+            this.queryParamEquip.equipmentId = val.equipmentId
+          } else {
+            this.queryParamPeople.parentId = val.key
+            this.queryParams.equipmentId = ''
+          }
+          this.searchQuery()
+        }
+      }
+    },
+    computed: {
+      importExcelUrl: function(){
+        return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
+      },
+    },
+    methods: {
+      dateParamChange(v1, v2) {
+        // console.log(v1,v2)
+        this.queryParam.startTime = v2[0]
+        this.queryParam.endTime = v2[1]
+        // console.log(v2[0],v2[1])
+      },
+      onChange(value, dateString) {
+        // console.log('Selected Time: ', value);
+        // console.log('Formatted Selected Time: ', dateString);
+      },
+      onOk(value) {
+        console.log('onOk: ', value);
+      },
+      searchReset() {
+        if(this.queryParams.typeTree == "1"){
+          this.typeTree = this.queryParams.typeTree
+          this.typeParent =  this.queryParams.parentId
+          this.typeEquipment = this.queryParams.equipmentId
+          this.queryParams = {}
+          this.queryParam = {}
+          this.dates = []
+          this.queryParams.typeTree = this.typeTree
+          this.queryParams.parentId = this.typeParent
+          if(this.queryParams.parentId !=  ""){
+            this.queryParams.equipmentId =  ""
+          }else{
+            if(this.queryParams.equipmentId == this.queryParamEquip.equipmentId){
+              this.queryParams.equipmentId =  this.typeEquipment
+            }else{
+              this.queryParams.equipmentId = this.queryParamEquip.equipmentId
+            }
+
+          }
+
+          this.ipagination.current = 1
+          this.ResetloadData();
+        }else{
+          this.typeTree = this.queryParams.typeTree
+          this.typeParent =  this.queryParams.parentId
+          // this.typeEquipment = this.queryParams.equipmentId
+          this.queryParams = {}
+          this.queryParam = {}
+          this.dates = []
+          this.queryParams.typeTree = this.typeTree
+          this.queryParams.parentId = this.typeParent
+          // this.queryParams.equipmentId =  this.typeEquipment
+          this.ipagination.current = 1
+          this.ResetloadData();
+        }
+
+      },
+      ResetloadData() {
+        if(!this.url.list){
+          this.$message.error("璇疯缃畊rl.list灞炴��!")
+          return
+        }
+        //鍔犺浇鏁版嵁 鑻ヤ紶鍏ュ弬鏁�1鍒欏姞杞界涓�椤电殑鍐呭
+        var params = this.getQueryParams();//鏌ヨ鏉′欢
+        if(!params){
+          return false;
+        }
+        params.typeTree = this.queryParams.typeTree
+        params.parentId = this.queryParams.parentId
+        params.equipmentId = this.queryParams.equipmentId
+        this.loading = true;
+        getAction(this.url.list, params).then((res) => {
+          if (res.success) {
+            this.dataSource = res.result.records||res.result;
+            // this.initDeviceType(this.dataSource)
+            //update-begin---author:zhangyafei    Date:20201118  for锛氶�傞厤涓嶅垎椤电殑鏁版嵁鍒楄〃------------
+            // 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
+        })
+      },
+      handleEdit: function (record) {
+        this.$refs.modalFormedit.edit(record);
+        this.$refs.modalFormedit.title = "缂栬緫";
+        this.$refs.modalFormedit.disableSubmit = false;
+      },
+      handleTableChange(pagination, filters, sorter) {
+        this.dataSource = []
+        //鍒嗛〉銆佹帓搴忋�佺瓫閫夊彉鍖栨椂瑙﹀彂
+        //TODO 绛涢��
+        // console.log(pagination)
+        if (Object.keys(sorter).length > 0) {
+          this.isorter.column = sorter.field;
+          this.isorter.order = "ascend" == sorter.order ? "asc" : "desc"
+        }
+        this.ipagination = pagination;
+        //鑾峰彇鏌ヨ鏉′欢
+        let sqp = {}
+        if(this.superQueryParams){
+          sqp['superQueryParams']=encodeURI(this.superQueryParams)
+          sqp['superQueryMatchType'] = this.superQueryMatchType
+        }
+        var param = Object.assign(sqp, this.queryParams, this.isorter ,this.filters);
+        param.pageNo = this.ipagination.current;
+        param.pageSize = this.ipagination.pageSize;
+        param.field = this.getQueryField();
+        param.parentId = this.queryParams.parentId;
+        param.equipmentId = this.queryParams.equipmentId;
+        param.startTime = this.queryParam.startTime;
+        param.endTime =  this.queryParam.endTime;
+        getAction(this.url.list,param).then((res) => {
+          if(res.success){
+            this.dataSource = res.result.records||res.result;
+            if(res.result.total)
+            {
+              this.ipagination.total = res.result.total;
+            }else{
+              this.ipagination.total = 0;
+            }
+          }else{
+            this.$message.warning(res.message)
+          }
+        }).finally(() => {
+          this.loading = false
+        })
+      },
+      searchQueryEdit(){
+        if(this.queryParams.typeTree == "1"){
+          this.queryParams.parentId =  this.queryParamEquip.parentId
+        }else{
+          this.queryParams.parentId = this.queryParamPeople.parentId
+          this.queryParams.equipmentIds = ""
+        }
+        this.dataSource = [];
+        //鑾峰彇鏌ヨ鏉′欢
+        let sqp = {}
+        if(this.superQueryParams){
+          sqp['superQueryParams']=encodeURI(this.superQueryParams)
+          sqp['superQueryMatchType'] = this.superQueryMatchType
+        }
+        var param = Object.assign(sqp, this.queryParams, this.isorter ,this.filters);
+        param.pageNo = this.ipagination.current;
+        param.pageSize = this.ipagination.pageSize;
+        param.field = this.getQueryField();
+        param.parentId = this.queryParams.parentId;
+        param.equipmentId = this.queryParams.equipmentId;
+        param.startTime = this.queryParam.startTime;
+        param.endTime =  this.queryParam.endTime;
+        getAction(this.url.list,param).then((res) => {
+          if(res.success){
+            this.dataSource = res.result.records||res.result;
+            if(res.result.total)
+            {
+              this.ipagination.total = res.result.total;
+            }else{
+              this.ipagination.total = 0;
+            }
+          }else{
+            this.$message.warning(res.message)
+          }
+        }).finally(() => {
+          this.loading = false
+        })
+      },
+      searchQuery(){
+        if(this.queryParams.typeTree == "1"){
+          this.queryParams.parentId =  this.queryParamEquip.parentId
+          // this.queryParams.equipmentId =  this.queryParamEquip.equipmentId
+
+        }else{
+          this.queryParams.parentId = this.queryParamPeople.parentId
+
+          // this.queryParams.equipmentId = ""
+        }
+        this.dataSource = [];
+        //鑾峰彇鏌ヨ鏉′欢
+        let sqp = {}
+        if(this.superQueryParams){
+          sqp['superQueryParams']=encodeURI(this.superQueryParams)
+          sqp['superQueryMatchType'] = this.superQueryMatchType
+        }
+        var param = Object.assign(sqp, this.queryParams, this.isorter ,this.filters);
+        param.pageNo = 1;
+        param.pageSize = this.ipagination.pageSize;
+        param.field = this.getQueryField();
+        param.parentId = this.queryParams.parentId;
+        param.equipmentId = this.queryParams.equipmentId;
+        param.startTime = this.queryParam.startTime;
+        param.endTime =  this.queryParam.endTime;
+        // console.log(param);
+        getAction(this.url.list,param).then((res) => {
+          if(res.success){
+            this.dataSource = res.result.records||res.result;
+            if(res.result.total)
+            {
+              this.ipagination.total = res.result.total;
+            }else{
+              this.ipagination.total = 0;
+            }
+          }else{
+            this.$message.warning(res.message)
+          }
+        }).finally(() => {
+          this.loading = false
+        })
+      },
+      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(!params){
+          return false;
+        }
+        this.loading = true;
+        getAction(this.url.list, params).then((res) => {
+          if (res.success) {
+            this.dataSource = res.result.records||res.result;
+            // this.initDeviceType(this.dataSource)
+            //update-begin---author:zhangyafei    Date:20201118  for锛氶�傞厤涓嶅垎椤电殑鏁版嵁鍒楄〃------------
+            // 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
+        })
+      },
+      modalFormOk(val) {
+        // 鏂板/淇敼 鎴愬姛鏃讹紝閲嶈浇鍒楄〃
+        this.searchQueryEdit();
+        // this.$emit('openBasetree','')
+        this.selectedRowKeys = []
+      },
+      handleDelete: function (id) {
+        if(!this.url.delete){
+          this.$message.error("璇疯缃畊rl.delete灞炴��!")
+          return
+        }
+        var that = this;
+        deleteAction(that.url.delete, {id: id}).then((res) => {
+          if (res.success) {
+            //閲嶆柊璁$畻鍒嗛〉闂
+            that.reCalculatePage(1)
+            that.$message.success(res.message);
+            that.searchQuery();
+          } else {
+            that.$message.warning(res.message);
+          }
+        });
+      },
+      batchDel: function () {
+        if(!this.url.deleteBatch){
+          this.$message.error("璇疯缃畊rl.deleteBatch灞炴��!")
+          return
+        }
+        if (this.selectedRowKeys.length <= 0) {
+          this.$message.warning('璇烽�夋嫨涓�鏉¤褰曪紒');
+          return;
+        } else {
+          var ids = "";
+          for (var a = 0; a < this.selectedRowKeys.length; a++) {
+            ids += this.selectedRowKeys[a] + ",";
+          }
+          var that = this;
+          this.$confirm({
+            title: "纭鍒犻櫎",
+            content: "鏄惁鍒犻櫎閫変腑鏁版嵁?",
+            onOk: function () {
+              that.loading = true;
+              deleteAction(that.url.deleteBatch, {ids: ids}).then((res) => {
+                if (res.success) {
+                  //閲嶆柊璁$畻鍒嗛〉闂
+                  that.reCalculatePage(that.selectedRowKeys.length)
+                  that.$message.success(res.message);
+                  that.loadData();
+                  that.onClearSelected();
+                } else {
+                  that.$message.warning(res.message);
+                }
+              }).finally(() => {
+                that.loading = false;
+              });
+            }
+          });
+        }
+      },
+      handleAdd() {
+        this.$refs.modalForm.add(this.node)
+        this.$refs.modalForm.title = '鏂板'
+        this.$refs.modalForm.disableSubmit = false
+      },
+      handleAddXIU() {
+        this.$refs.modalFormadd.add()
+        this.$refs.modalFormadd.title = '鏂板'
+        this.$refs.modalFormadd.disableSubmit = false
+      },
+      pQuery(parentId) {
+        this.queryParam.parentId = parentId[0]
+        if(this.selectedRowKeys.length >= 1) {
+          this.selectedRowKeys.length = 0
+        }
+        this.loadData()
+      },
+      onSelectChange(selectedRowKeys) {
+        this.selectedRowKeys = selectedRowKeys
+      },
+      initEquipment(id) {
+        let _this = this
+        getAction(this.url.getEquipmentByPid, { pid: id }).then((res) => {
+          if (res.success) {
+            if (res.result) {
+              _this.$set(this.queryParams, 'equipmentName', res.result.equipmentName)
+              _this.$set(this.queryParams, 'equipmentId', res.result.equipmentId)
+              _this.equipment = res.result
+              _this.searchQuery()
+            } else {
+              _this.$message.warning('璇烽厤缃澶囷紒')
+            }
+          }
+        })
+      },
+      handleExportXls(fileName){
+        if(!fileName || typeof fileName != "string"){
+          fileName = "瀵煎嚭鏂囦欢"
+        }
+        let param = this.getQueryParams();
+        if(this.selectedRowKeys && this.selectedRowKeys.length>0){
+          param['selections'] = this.selectedRowKeys.join(",")
+        }
+        param.pageSize = this.ipagination.pageSize;
+        param.field = this.getQueryField();
+        param.parentId = this.queryParams.parentId;
+        param.equipmentId = this.queryParams.equipmentId;
+        param.startTime = this.queryParam.startTime;
+        param.endTime =  this.queryParam.endTime;
+        console.log("瀵煎嚭鍙傛暟",param)
+        downFile(this.url.exportXlsUrl,param).then((data)=>{
+          if (!data) {
+            this.$message.warning("鏂囦欢涓嬭浇澶辫触")
+            return
+          }
+          if (typeof window.navigator.msSaveBlob !== 'undefined') {
+            window.navigator.msSaveBlob(new Blob([data],{type: 'application/vnd.ms-excel'}), fileName+'.xls')
+          }else{
+            let url = window.URL.createObjectURL(new Blob([data],{type: 'application/vnd.ms-excel'}))
+            let link = document.createElement('a')
+            link.style.display = 'none'
+            link.href = url
+            link.setAttribute('download', fileName+'.xls')
+            document.body.appendChild(link)
+            link.click()
+            document.body.removeChild(link); //涓嬭浇瀹屾垚绉婚櫎鍏冪礌
+            window.URL.revokeObjectURL(url); //閲婃斁鎺塨lob瀵硅薄
+          }
+        })
+      },
+      exportExcel() {
+        $("#DeviceList").table2excel({
+          exclude: ".noExl",
+          name: "Excel Document Name",
+          filename: "鎵煩閰嶇疆",
+          exclude_img: true,
+          fileext: ".xls",
+          exclude_links: true,
+          exclude_inputs: true
+        });
+      },
+    },
+    created() {
+      this.queryParam.typeTree = "1"
+    }
+  }
+</script>
+
+<style lang="less" scoped>
+  @import '~@assets/less/common.less';
+
+  @media screen and (min-width: 1920px){
+    .device_list{
+      height: 811px!important;
+      overflow: scroll;
+    }
+  }
+  @media screen and (min-width: 1680px) and (max-width: 1920px){
+    .device_list{
+      height: 811px!important;
+      overflow: scroll;
+    }
+  }
+  @media screen and (min-width: 1400px) and (max-width: 1680px){
+    .device_list{
+      height: 663px!important;
+      overflow: scroll;
+    }
+  }
+  @media screen and (min-width: 1280px) and (max-width: 1400px){
+    .device_list{
+      height: 564px!important;
+      overflow: scroll;
+    }
+  }
+  @media screen and (max-width: 1280px){
+    .device_list{
+      height: 564px!important;
+      overflow: scroll;
+    }
+  }
+</style>
diff --git a/src/views/mdc/base/modules/mdcPassRate/mdcPassRateModal.vue b/src/views/mdc/base/modules/mdcPassRate/mdcPassRateModal.vue
new file mode 100644
index 0000000..b88d705
--- /dev/null
+++ b/src/views/mdc/base/modules/mdcPassRate/mdcPassRateModal.vue
@@ -0,0 +1,334 @@
+<template>
+  <a-modal :title="title" :width="800" :visible="visible" :confirmLoading="confirmLoading"
+           :okButtonProps="{ props: {disabled: disableSubmit} }" @ok="handleOk" @cancel="handleCancel" cancelText="鍏抽棴">
+    <a-spin :spinning="confirmLoading">
+      <a-form :form="form">
+        <a-row :gutter="24">
+          <a-col :span="12">
+            <a-form-item label="璁惧缁�" :labelCol="labelCol" :wrapperCol="wrapperCol">
+              <a-input-search :readOnly="true" v-decorator="['equipmentIds', validatorRules.equipmentIds]"
+                              @search="deviceSearch" enter-button/>
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="涓嶅悎鏍兼暟閲�" :labelCol="labelCol" :wrapperCol="wrapperCol">
+              <a-input-number :min="0" placeholder="璇疯緭鍏ヤ笉鍚堟牸鏁伴噺"  v-decorator="['unqualifiedQuantity', validatorRules.unqualifiedQuantity,]"></a-input-number>
+            </a-form-item>
+          </a-col>
+        </a-row>
+        <a-row :gutter="24">
+          <a-col :span="12">
+            <a-form-item label="鏃ユ湡" :labelCol="labelCol" :wrapperCol="wrapperCol">
+              <j-date date-format="YYYY-MM-DD" placeholder="璇烽�夋嫨鏃ユ湡"
+                      v-decorator="['efficientDate', validatorRules.efficientDate]"></j-date>
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="鍔犲伐鏁伴噺" :labelCol="labelCol" :wrapperCol="wrapperCol">
+              <a-input-number :min="0" placeholder="璇疯緭鍏ュ姞宸ユ暟閲�"  v-decorator="['processQuantity', validatorRules.processQuantity]"></a-input-number>
+            </a-form-item>
+          </a-col>
+
+
+        </a-row>
+        <a-row :gutter="24">
+          <a-col :span="24">
+          <a-form-item label="澶囨敞" :labelCol="labelColLong" :wrapperCol="wrapperColLong">
+            <a-textarea   v-decorator="['remark', validatorRules.remark]" placeholder="璇疯緭鍏ュ娉�"  ></a-textarea>
+          </a-form-item>
+          </a-col>
+        </a-row>
+      </a-form>
+    </a-spin>
+    <mdc-pass-rate-modal-list ref="deviceRepairListModel" @sendSelectionRows="getDeviceRows"></mdc-pass-rate-modal-list>
+
+  </a-modal>
+</template>
+
+<script>
+  import moment from 'moment'
+  import pick from 'lodash.pick'
+  import mdcPassRateModalList from './mdcPassRateModalList'
+  // import JDate from './JDate'
+  import {
+    getAction,
+    postAction,
+    requestPut
+  } from '@/api/manage'
+  import {
+    duplicateCheck
+  } from '@/api/api'
+
+  export default {
+    name: 'mdcPassRateModal',
+    components: {mdcPassRateModalList},
+    props: {},
+    data() {
+      return {
+        mesag:21,
+        readOnly:true,
+        title: '',
+        visible: false,
+        show: false,
+        model: {},
+        checked: false,
+        startData:"",
+        endData:"",
+        labelCol: {
+          xs: {
+            span: 24
+          },
+          sm: {
+            span: 6
+          }
+        },
+        wrapperCol: {
+          xs: {
+            span: 24
+          },
+          sm: {
+            span: 18
+          }
+        },
+        labelColLong: {
+          xs: {
+            span: 24
+          },
+          sm: {
+            span: 3
+          }
+        },
+        wrapperColLong: {
+          xs: {
+            span: 24
+          },
+          sm: {
+            span: 21
+          }
+        },
+        confirmLoading: false,
+        form: this.$form.createForm(this),
+        validatorRules: {
+          equipmentIds:{
+            rules:[
+              {
+                required:true,
+                message: "璇烽�夋嫨璁惧"
+              },
+            ],
+          },
+        },
+
+        url: {
+          add: '/mdc/mdcPassRate/add',
+          edit: '/mdc/mdcPassRate/edit'
+        },
+
+        disableSubmit: true,
+        partCategoryCascade: [],
+        cascadeDefaultValue: []
+      }
+    },
+    created() {
+    },
+
+    methods: {
+      // disabledDate(current){
+      //   //Can not slect days before today and today
+      //   // return current && current < moment().endOf("day");
+      //   return current < moment().subtract(+1, 'day')//浠婂ぉ涔嬪墠鐨勫勾鏈堟棩涓嶅彲閫夛紝涓嶅寘鎷粖澶�
+      // },
+      moment,
+      // onChange(dates) {
+      //   // console.log(111)
+      //   // console.log(dates,dateStrings)
+      //   // console.log('From: ', dates[0], ', to: ', dates[1]);
+      //   // console.log('From: ', dateStrings[0], ', to: ', dateStrings[1]);
+      //   // this.startTime = dateStrings[0];
+      //   // this.endData = dateStrings[1];
+      //   // console.log(this.startData,this.endData);
+      // },
+      onChangeEnd(dates, dateStrings){
+        this.endTime = dateStrings[0];
+      },
+      getDeviceRows(val) {
+        var equipmentIds;
+        for(var i = 0;i<val.length;i++){
+          if (i == 0) {
+            equipmentIds =  val[i].equipmentId;
+          } else {
+            equipmentIds = equipmentIds + "," + val[i].equipmentId;
+          }
+        }
+        // console.log("========",equipmentIds);
+        this.form.setFieldsValue({
+          equipmentIds: equipmentIds,
+        })
+        //   this.form.setFieldsValue({
+        // equipmentId: val.equipmentId,
+        // equipmentName: val.equipmentName,
+        // equipmentModel: val.equipmentModel,
+        // equipmentIp: val.equipmentIp,
+        // dataPort: val.dataPort,
+        // driveType: val.driveType
+        // })
+      },
+      deviceSearch() {
+        this.$refs.deviceRepairListModel.openPage()
+        this.$refs.deviceRepairListModel.title = '閫夋嫨璁惧'
+        this.$refs.deviceRepairListModel.disableSubmit = false
+      },
+      //绾ц仈妗唎nChange浜嬩欢
+      // onChange(value) {
+      //
+      // },
+      getParentIdsById(id) {
+        let that = this
+        getAction(this.url.getParentIdsById, {
+          id: id
+        }).then((res) => {
+          if (res.success) {
+            that.form.setFieldsValue({
+              partCategoryId: res.result
+            })
+          }
+        })
+      },
+      add(node) {
+        let _this = this
+        this.visible = true
+        this.form.resetFields()
+        this.model = {}
+        this.$nextTick(() => {
+          // _this.form.setFieldsValue({ 'tierType': node.entity.tierType + 1, 'parentName': node.title })
+          // _this.model.parentId = node.key
+        })
+      },
+      edit(record) {
+        this.form.resetFields()
+        this.model = Object.assign({}, record)
+        this.visible = true
+        this.$nextTick(() => {
+          this.form.setFieldsValue(pick(this.model, 'equipmentId', 'equipmentName', 'vacationDate', 'vacationType', 'notes',
+          ))
+        })
+      },
+      close() {
+        this.$emit('close')
+        this.visible = false
+        this.show = false
+      },
+      handleOk() {
+        const that = this
+        // 瑙﹀彂琛ㄥ崟楠岃瘉
+        this.form.validateFields((err, values) => {
+          if (!err) {
+            that.confirmLoading = true
+            let formData = Object.assign(this.model, values)
+            // let start = moment(formData.startTime).format('YYYY-MM-DD HH:mm:ss');
+            // let end = moment(formData.endTime).format('YYYY-MM-DD HH:mm:ss');
+            // let startOne = start.replace(/:/g,'');
+            // let endOne = end.replace(/:/g,'');
+            // var data = new Date();
+            // let stertDate = moment(data).format("YYYY-MM-DD HH:mm:ss");
+            // let dataStart = stertDate.replace(/:/g,'');
+            // if(startOne < dataStart){
+            //   that.$message.warning("寮�濮嬫椂闂翠笉鑳藉皬浜庡綋鍓嶆椂闂�")
+            //   that.confirmLoading = false
+            // }else{
+            //   if(startOne>=endOne){
+            //     that.$message.warning("缁撴潫鏃堕棿涓嶈兘灏忎簬寮�濮嬫椂闂�");
+            //     // console.log(this.model)
+            //     // this.endTime = ''
+            //     that.confirmLoading = false
+            //   }else{
+                let obj
+                if (!this.model.id) {
+                  obj = postAction(this.url.add, formData)
+                } else {
+                  obj = requestPut(this.url.edit, formData, {
+                    id: this.model.id
+                  })
+                }
+                obj.then((res) => {
+                  if (res.success) {
+                    that.$message.success("娣诲姞鎴愬姛")
+                    // that.$message.success(res.message)
+                    that.$emit('ok', res.result)
+                  } else {
+                    that.$message.warning(res.message)
+                  }
+                }).finally(() => {
+                  that.confirmLoading = false
+                  that.close()
+                })
+              }
+            // }
+
+          // }
+        })
+      },
+      handleCancel() {
+        this.close()
+      },
+      // loadCascade() {
+      //   getAction(this.url.loadCascadeData).then((res) => {
+      //     if (res.success) {
+      //       this.partCategoryCascade = res.result
+      //     }
+      //   })
+      // },
+      onCascadeChange(value, selectedOptions) {
+        this.cascadeDefaultValue = [...value]
+      },
+      filter(inputValue, path) {
+        return path.some(option => option.label.toLowerCase().indexOf(inputValue.toLowerCase()) > -1)
+      },
+      //楠岃瘉 缂栫爜
+      validateNum(rule, value, callback) {
+        var params = {
+          tableName: 'lxmes_base_part',
+          fieldName: 'num',
+          fieldVal: value,
+          dataId: this.model.id,
+          //鏁版嵁搴撲腑瀛樺湪瀛楁del_flag骞朵娇鐢ㄨ瀛楁浣滀负鏈垹闄ょ瓥鐣ワ紝鐪熷垹闄わ細false 鍋囧垹闄わ細true
+          delFlag: 'true'
+        }
+        duplicateCheck(params).then((res) => {
+          if (res.success) {
+            callback()
+          } else {
+            callback('瀛樿揣缂栫爜宸插瓨鍦�!')
+          }
+        })
+      },
+      checkboxChange(e) {
+        this.checked = e.target.checked
+      }
+    }
+  }
+</script>
+
+<style scoped lang="less">
+  .ant-btn {
+    padding: 0 10px;
+    margin-left: 3px;
+  }
+
+  .ant-form-item-control {
+    line-height: 0px;
+  }
+
+  /** 涓昏〃鍗曡闂磋窛 */
+  .ant-form .ant-form-item {
+    margin-bottom: 10px;
+  }
+
+  /** Tab椤甸潰琛岄棿璺� */
+  .ant-tabs-content .ant-form-item {
+    margin-bottom: 0px;
+  }
+  /deep/ .ant-input-number{
+    width: 100%!important;
+  }
+</style>
diff --git a/src/views/mdc/base/modules/mdcPassRate/mdcPassRateModalList.vue b/src/views/mdc/base/modules/mdcPassRate/mdcPassRateModalList.vue
new file mode 100644
index 0000000..270c9d8
--- /dev/null
+++ b/src/views/mdc/base/modules/mdcPassRate/mdcPassRateModalList.vue
@@ -0,0 +1,284 @@
+<template>
+  <a-modal :title="title" :width="1000" :visible="visible" :maskClosable="false" @ok="handleOk" @cancel="handleCancel"
+           cancelText="鍏抽棴">
+    <a-card :bordered="false">
+      <!-- 鏌ヨ鍖哄煙 -->
+      <div class="table-page-search-wrapper">
+        <a-form layout="inline" @keyup.enter.native="searchQuery">
+          <a-row :gutter="24">
+            <a-col :md="6" :sm="6">
+              <a-form-item label="閮ㄩ棬" >
+                <!--<a-select v-model="queryParam.sectionPid" placeholder="璇烽�夋嫨閮ㄩ棬" :options="sectionPData" @change="initGroupOptions" />-->
+                <a-tree-select
+                  v-model="value"
+                  style="width: 100%"
+                  :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
+                  :tree-data="treeData"
+                  placeholder="璇烽�夋嫨閮ㄩ棬"
+                  tree-default-expand-all
+                >
+                <!--<span v-if="key === '0-0-1'" slot="title" slot-scope="{ key, value }" style="color: #08c">-->
+                               <!--Child Node1 {{ value }}-->
+                          <!--</span>-->
+                </a-tree-select>
+              </a-form-item>
+            </a-col>
+
+            <a-col :md="6" :sm="6">
+              <a-form-item label="杞﹂棿" >
+                <!--<a-select v-model="queryParam.sectionId" placeholder="璇烽�夋嫨杞﹂棿" :options="sectionData"/>-->
+                <a-tree-select
+                  v-model="valueProduct"
+                  style="width: 100%"
+                  :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
+                  :tree-data="sectionData"
+                  placeholder="璇烽�夋嫨杞﹂棿"
+                  tree-default-expand-all
+                >
+                  <!--<span v-if="key === '0-0-1'" slot="title" slot-scope="{ key, value }" style="color: #08c">-->
+                  <!--Child Node1 {{ value }}-->
+                  <!--</span>-->
+                </a-tree-select>
+              </a-form-item>
+            </a-col>
+
+            <a-col :md="6" :sm="6">
+              <a-form-item label="璁惧缂栫爜">
+                <a-input placeholder="璇疯緭鍏ヨ澶囩紪鐮佹绱�" v-model="queryParam.equipmentId"></a-input>
+              </a-form-item>
+            </a-col>
+
+            <a-col :md="6" :sm="6">
+              <a-form-item label="璁惧鍚嶇О">
+                <a-input placeholder="璇疯緭鍏ヨ澶囧悕绉版绱�" v-model="queryParam.equipmentName"></a-input>
+              </a-form-item>
+            </a-col>
+          </a-row>
+        </a-form>
+      </div>
+      <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
+      <div class="table-operator">
+        <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
+        <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button>
+      </div>
+      <!-- table鍖哄煙-begin -->
+      <div>
+        <a-table ref="table" size="middle" bordered rowKey="id" :scroll="{聽 y: 300聽}" :columns="columns"
+                 :dataSource="dataSource" :pagination="ipagination" :loading="loading"
+                 :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
+                 @change="handleTableChange">
+        </a-table>
+      </div>
+      <!-- table鍖哄煙-end -->
+    </a-card>
+  </a-modal>
+</template>
+
+<script>
+  import {
+    ajaxGetSelectItems
+  } from '@/api/api'
+  import JDictSelectTag from '@/components/dict/JDictSelectTag'
+  import {
+    deleteAction,
+    requestPut,
+    getAction,
+    postAction
+  } from '@/api/manage'
+  import {
+    JeecgListMixin
+  } from '@/mixins/JeecgListMixin'
+  import JInput from '@/components/jeecg/JInput'
+  import JEllipsis from '@/components/jeecg/JEllipsis'
+  import Tooltip from 'ant-design-vue/es/tooltip'
+  import JDate from '@/components/jeecg/JDate'
+  import moment from 'moment'
+
+  export default {
+    name: 'DeviceRepairListModel',
+    mixins: [JeecgListMixin],
+    components: {
+      JDictSelectTag,
+      JEllipsis,
+      JInput,
+      Tooltip,
+      JDate
+    },
+    props: {
+      status: {
+        type: Number,
+        default: 1
+      }
+    },
+    data() {
+      return {
+        treeData:[],
+        readOnly:true,
+        title:'',
+        visible: false,
+        disableMixinCreated: true,
+        queryParam: {},
+        columns: [{
+          title: '璁惧缂栫爜',
+          align: 'center',
+          dataIndex: 'equipmentId',
+        },
+          {
+            title: '璁惧鍚嶇О',
+            align: 'center',
+            dataIndex: 'equipmentName',
+          },
+          {
+            title: '椹卞姩绫诲瀷',
+            align: 'center',
+            dataIndex: 'driveType',
+          },
+          {
+            title: '鏁版帶绯荤粺',
+            align: 'center',
+            dataIndex: 'controlSystem',
+          }
+        ],
+        sectionPData: [],
+        sectionData: [],
+        url: {
+          list: '/mdc/mdcEquipment/findEquipmentList',
+          loadOptions: '/sys/sysDepart/loadDepartTreeOptions',
+          loadProductionOptions:'/mdc/mdcProduction/loadProductionTreeOptions'
+        },
+        value:undefined,
+        valueProduct:undefined
+      }
+    },
+    created() {
+
+    },
+    watch: {
+      value(value) {
+        // console.log(value);
+        this.queryParam.departId = value
+      },
+      valueProduct(value){
+        this.queryParam.productionId = value
+      }
+    },
+
+    methods: {
+      openPage() {
+        this.visible = true
+        this.onClearSelected()
+        this.dataSource = [];
+        this.queryParam = {
+          status: this.status
+        };
+        this.loadData();
+        this.initOptions();
+        this.initGroupOptions()
+      },
+      onSelectChange(selectedRowKeys, selectionRows) {
+        // this.SelectedList.push(selectedRowKeys);
+        this.selectedRowKeys = selectedRowKeys;
+        this.selectionRows = selectionRows
+        // this.SelectedList =[...this.SelectedList,...selectionRows];
+        // console.log(this.SelectedList);
+      },
+      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(!params){
+          return false;
+        }
+
+        this.loading = true;
+        getAction(this.url.list, params).then((res) => {
+          if (res.success) {
+            // console.log(res)
+            //update-begin---author:zhangyafei    Date:20201118  for锛氶�傞厤涓嶅垎椤电殑鏁版嵁鍒楄〃------------
+            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
+        })
+      },
+      modalFormOk(val) {
+        // 鏂板/淇敼 鎴愬姛鏃讹紝閲嶈浇鍒楄〃
+        this.loadData();
+        this.selectedRowKeys = [val.id];
+      },
+      searchQuery() {
+        this.loadData();
+        this.onClearSelected()
+      },
+      searchReset() {
+        this.queryParam = {
+          status: 1
+        };
+        this.loadData();
+        this.onClearSelected()
+      },
+      close() {
+        this.$emit('close')
+        this.visible = false
+      },
+      handleCancel() {
+        this.close()
+      },
+      handleOk() {
+        this.$emit('sendSelectionRows', this.selectionRows)
+        this.close()
+      },
+      initOptions() {
+        getAction(this.url.loadOptions).then(res => {
+          if (res.success) {
+            this.treeData = res.result
+          } else {
+            this.$message.warning(res.message)
+          }
+        })
+      },
+
+
+      initGroupOptions() {
+        getAction(this.url.loadProductionOptions).then(res => {
+          if (res.success) {
+            this.sectionData = res.result
+          } else {
+            this.$message.warning(res.message)
+          }
+        })
+      }
+    },
+  }
+</script>
+<style>
+  @import '~@assets/less/common.less';
+
+  .frozenRowClass {
+    color: #c9c9c9;
+  }
+
+  .success {
+    color: green;
+  }
+
+  .error {
+    color: red;
+  }
+</style>
diff --git a/src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityList.vue b/src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityList.vue
index ec64569..ee36381 100644
--- a/src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityList.vue
+++ b/src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityList.vue
@@ -35,7 +35,7 @@
     <div class="table-operator" style="display: inline;">
       <a-button @click="handleAdd" type="primary" icon="plus">鏂板
       </a-button>
-      <a-button type="primary" icon="download" @click="handleExportXls('鍋囨湡绠$悊')">瀵煎嚭</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>
diff --git a/src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityModal.vue b/src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityModal.vue
index 22c7794..604401a 100644
--- a/src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityModal.vue
+++ b/src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityModal.vue
@@ -50,7 +50,7 @@
           </a-col>
           <a-col :span="12">
             <a-form-item label='鍔犲伐鏁伴噺' :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-input placeholder="璇疯緭鍏ュ姞宸ユ暟閲�"  v-decorator="['processQuantity', validatorRules.processQuantity]"></a-input>
+              <a-input-number :min="0" placeholder="璇疯緭鍏ュ姞宸ユ暟閲�"  v-decorator="['processQuantity', validatorRules.processQuantity]"></a-input-number>
             </a-form-item>
           </a-col>
         </a-row>
@@ -331,7 +331,7 @@
   }
 </script>
 
-<style scoped>
+<style scoped lang="less">
   .ant-btn {
     padding: 0 10px;
     margin-left: 3px;
@@ -350,4 +350,7 @@
   .ant-tabs-content .ant-form-item {
     margin-bottom: 0px;
   }
+  /deep/ .ant-input-number{
+    width: 100%!important;
+  }
 </style>
diff --git a/src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityModalList.vue b/src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityModalList.vue
index 16c2642..c6a7d67 100644
--- a/src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityModalList.vue
+++ b/src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityModalList.vue
@@ -191,8 +191,8 @@
           status: this.status
         };
         this.loadData();
-        this.initOptions();
-        this.initGroupOptions()
+        // this.initOptions();
+        // this.initGroupOptions()
       },
       onSelectChange(selectedRowKeys, selectionRows) {
         // this.SelectedList.push(selectedRowKeys);
diff --git a/src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityModelEdit.vue b/src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityModelEdit.vue
index 5628ff3..657c7d6 100644
--- a/src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityModelEdit.vue
+++ b/src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityModelEdit.vue
@@ -53,7 +53,7 @@
           </a-col>
           <a-col :span="12">
             <a-form-item label='鍔犲伐鏁伴噺' :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-input :disabled="disableSubmit"  placeholder="璇疯緭鍏ュ姞宸ユ暟閲�"  v-decorator="['processQuantity', validatorRules.processQuantity]"></a-input>
+              <a-input-number :min="0" :disabled="disableSubmit"  placeholder="璇疯緭鍏ュ姞宸ユ暟閲�"  v-decorator="['processQuantity', validatorRules.processQuantity]"></a-input-number>
             </a-form-item>
           </a-col>
         </a-row>
@@ -335,7 +335,7 @@
   }
 </script>
 
-<style scoped>
+<style scoped lang="less">
   .ant-btn {
     padding: 0 10px;
     margin-left: 3px;
@@ -354,4 +354,7 @@
   .ant-tabs-content .ant-form-item {
     margin-bottom: 0px;
   }
+  /deep/ .ant-input-number{
+    width: 100%!important;
+  }
 </style>
diff --git a/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationEdit.vue b/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationEdit.vue
index e178932..884826a 100644
--- a/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationEdit.vue
+++ b/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationEdit.vue
@@ -38,7 +38,7 @@
           </a-col>
           <a-col :span="12">
             <a-form-item label="鏃堕暱锛堝垎閽燂級" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-input :disabled="disableSubmit" placeholder="璇疯緭鍏ユ椂闀�"  v-decorator="['duration', validatorRules.duration]"></a-input>
+              <a-input-number :min="0" :disabled="disableSubmit" placeholder="璇疯緭鍏ユ椂闀�"  v-decorator="['duration', validatorRules.duration]"></a-input-number>
             </a-form-item>
           </a-col>
         </a-row>
@@ -317,7 +317,7 @@
   }
 </script>
 
-<style scoped>
+<style scoped lang="less">
   .ant-btn {
     padding: 0 10px;
     margin-left: 3px;
@@ -336,4 +336,7 @@
   .ant-tabs-content .ant-form-item {
     margin-bottom: 0px;
   }
+  /deep/ .ant-input-number{
+    width: 100%!important;
+  }
 </style>
diff --git a/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationList.vue b/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationList.vue
index e2d3b2e..be6a8f5 100644
--- a/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationList.vue
+++ b/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationList.vue
@@ -35,7 +35,7 @@
     <div class="table-operator" style="display: inline;">
       <a-button @click="handleAdd" type="primary" icon="plus">鏂板
       </a-button>
-      <a-button type="primary" icon="download" @click="handleExportXls('鍋囨湡绠$悊')">瀵煎嚭</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>
diff --git a/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationModal.vue b/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationModal.vue
index efce7c7..9dfbc82 100644
--- a/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationModal.vue
+++ b/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationModal.vue
@@ -31,7 +31,7 @@
           </a-col>
           <a-col :span="12">
             <a-form-item label="鏃堕暱锛堝垎閽燂級" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-input placeholder="璇疯緭鍏ユ椂闀�"  v-decorator="['duration', validatorRules.duration]"></a-input>
+              <a-input-number :min="0" placeholder="璇疯緭鍏ユ椂闀�"  v-decorator="['duration', validatorRules.duration]"></a-input-number>
             </a-form-item>
           </a-col>
         </a-row>
@@ -313,7 +313,7 @@
   }
 </script>
 
-<style scoped>
+<style scoped lang="less">
   .ant-btn {
     padding: 0 10px;
     margin-left: 3px;
@@ -332,4 +332,7 @@
   .ant-tabs-content .ant-form-item {
     margin-bottom: 0px;
   }
+  /deep/ .ant-input-number{
+    width: 100%!important;
+  }
 </style>

--
Gitblit v1.9.3