Explorar o código

云塑后台管理页面

sunyadv %!s(int64=5) %!d(string=hai) anos
pai
achega
cd407131a6

+ 2 - 2
cloud-model/src/main/resources/application.properties

@@ -13,8 +13,8 @@ spring.thymeleaf.jackson.date-format=yyyy-MM-dd HH:mm:ss
 # ####################################################################################################
 # Êý¾ÝÔ´ÅäÖÃ
 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
-#spring.datasource.url=jdbc:mysql://118.190.47.230:3306/cloud_model?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
-spring.datasource.url=jdbc:mysql://118.190.47.230:3306/cloud_model_test?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
+spring.datasource.url=jdbc:mysql://118.190.47.230:3306/cloud_model?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
+#spring.datasource.url=jdbc:mysql://118.190.47.230:3306/cloud_model_test?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
 spring.datasource.username=root
 spring.datasource.password=p011430seya1026
 #spring.datasource.druid.test-on-borrow=true

+ 2 - 2
target/classes/main/resources/application.properties

@@ -13,8 +13,8 @@ spring.thymeleaf.jackson.date-format=yyyy-MM-dd HH:mm:ss
 # ####################################################################################################
 # Êý¾ÝÔ´ÅäÖÃ
 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
-#spring.datasource.url=jdbc:mysql://118.190.47.230:3306/cloud_model?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
-spring.datasource.url=jdbc:mysql://118.190.47.230:3306/cloud_model_test?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
+spring.datasource.url=jdbc:mysql://118.190.47.230:3306/cloud_model?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
+#spring.datasource.url=jdbc:mysql://118.190.47.230:3306/cloud_model_test?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
 spring.datasource.username=root
 spring.datasource.password=p011430seya1026
 #spring.datasource.druid.test-on-borrow=true

BIN=BIN
ys_int/dist.rar


+ 32 - 0
ys_int/src/i18n/lang/en.js

@@ -238,6 +238,30 @@ const lang = {
         num1: "Please fill in a number less than or equal to 100 million",
         abnormal: "Abnormal",
         dropped: "Dropped",
+        material: "Material Grade",
+        color: "Color Specification",
+        size: "Mold Size",
+        tonnage: "Machine Tonnage",
+        product: "Finished Product Weight",
+        mathead: "Head Weight",
+        minshot: "Min Shot Amount",
+        maxshot: "Max Shot Amount",
+        stand: "StandardMolding Cycle",
+        dynamic: "MaleMold Temperature",
+        fiexd: "MasterMold Temperature",
+        inputmaterial: "Please enter Material Grade",
+        inputcolor: "Please enter Color Specification",
+        inputsize: "Please enter Mold Size",
+        inputtonnage: "Please enter Machine Tonnage",
+        inputproduct: "Please enter Finished Product Weight",
+        inputmathead: "Please enter Head Weight",
+        inputminshot: "Please enter Min Shot Amount",
+        inputmaxshot: "Please enter Max Shot Amount",
+        inputstand: "Please enter Standard Molding Cycle",
+        inputdynamic: "Please enter MaleMold(Dynamic Mold) Temperature",
+        inputfiexd: "Please enter MasterMold(Fixed Mold) Temperature",
+        proinfo: "Process information",
+        proinfodetail: "Mold Injection Molding Process Information",
 		// 模具详情
 		beScrapped: "To be scrapped",
 		scraped: "Scrap",
@@ -379,6 +403,14 @@ const lang = {
         proNum: "Product Num",
         inputProNum: "Please input product num",
         toWait: "Operation Success,Please wait for the data transmission",
+        workInterval: "workInterval",
+        freeInterval: "freeInterval",
+        threshold: "Sensor Threshold",
+        inputworkInterval: "Please enter workInterval",
+        inputfreeInterval: "Please enter freeInterval",
+        inputthreshold: "Please enter Sensor Threshold",
+        inputthresholdNum: "Sensor Threshold is a number",
+        inputthresholdBhind: "Sensor Threshold is 20 ~ 200",
     },
     // 后台翻译
     port: {

+ 32 - 0
ys_int/src/i18n/lang/zh.js

@@ -239,6 +239,30 @@ const lang = {
         num1: "请填写小于等于1亿的数字",
         abnormal: "异常",
         dropped: "掉线",
+        material: "材料牌号",
+        color: "颜色规格",
+        size: "模具尺寸",
+        tonnage: "机台吨位",
+        product: "成品重量",
+        mathead: "料头重量",
+        minshot: "最小射胶量",
+        maxshot: "最大射胶量",
+        stand: "标准成型周期",
+        dynamic: "公模(动模)模温",
+        fiexd: "母模(定模)模温",
+        inputmaterial: "请输入材料牌号",
+        inputcolor: "请输入颜色规格",
+        inputsize: "请输入模具尺寸",
+        inputtonnage: "请输入机台吨位",
+        inputproduct: "请输入成品重量",
+        inputmathead: "请输入料头重量",
+        inputminshot: "请输入最小射胶量",
+        inputmaxshot: "请输入最大射胶量",
+        inputstand: "请输入标准成型周期",
+        inputdynamic: "请输入公模(动模)模温",
+        inputfiexd: "请输入母模(定模)模温",
+        proinfo: "工艺信息",
+        proinfodetail: "模具注塑工艺信息",
 		// 模具详情
 		beScrapped: "待报废",
 		scraped: "已报废",
@@ -380,6 +404,14 @@ const lang = {
         proNum: "产品编号",
         inputProNum: "请输入产品编号",
         toWait: "操作成功,请等待数据传输",
+        workInterval: "工作状态上报间隔",
+        freeInterval: "空闲状态上报间隔",
+        threshold: "传感器阈值",
+        inputworkInterval: "请输入工作状态上报间隔",
+        inputfreeInterval: "请输入空闲状态上报间隔",
+        inputthreshold: "请输入传感器阈值",
+        inputthresholdNum: "传感器阈值为数字",
+        inputthresholdBhind: "传感器阈值为20~200",
     },
     ...locale
 }

+ 48 - 2
ys_int/src/views/base/allocation.vue

@@ -163,6 +163,15 @@
                     <el-input v-model.number="issuedVal.alarmDegree" type="age" autocomplete="off" :placeholder="$t('basic.inputAlarmDegree')" style="width:250px;"></el-input>
                 </el-form-item>
+                <el-form-item :label="$t('basic.workInterval')">
+                    <el-input v-model.number="issuedVal.workInterval" type="age" autocomplete="off" :placeholder="$t('basic.inputworkInterval')" style="width:250px;"></el-input>
+                </el-form-item>
+                <el-form-item :label="$t('basic.freeInterval')">
+                    <el-input v-model.number="issuedVal.freeInterval" type="age" autocomplete="off" :placeholder="$t('basic.inputfreeInterval')" style="width:250px;"></el-input>
+                </el-form-item>
+                <el-form-item :label="$t('basic.threshold')" prop="threshold">
+                    <el-input v-model.number="issuedVal.threshold" type="age" autocomplete="off" :placeholder="$t('basic.inputthreshold')" style="width:250px;"></el-input>
+                </el-form-item>
             </el-form>
             <span slot="footer" class="dialog-footer">
                 <el-button @click="operateDialogVisible = false">{{$t('el.messagebox.cancel')}}</el-button>
@@ -194,6 +203,18 @@
     import util from "../../common/js/util";
     export default {
         data() {
+            const checkNum = (rule, value, callback) => {
+                if (!value) {
+                    return callback(new Error(this.$t('basic.inputthreshold')));
+                } else {
+                    const reg = /^1[0-9]\d{9}$/
+                    if (value <= 200 && value >= 20) {
+                        callback();
+                    } else {
+                        return callback(new Error(this.$t('basic.inputthresholdBhind')));
+                    }
+                }
+            };
             const msg = (rule, value, callback) => {
                 if (!value) {
                     switch(rule.field) {
@@ -267,6 +288,10 @@
                         { required: true, validator: msg },
                         { type: 'number', message: this.$t('basic.inputAlarmDegreeNum')}
                     ],
+                    threshold: [
+                        { required: false, validator: checkNum },
+                        { type: 'number', message: this.$t('basic.inputthresholdNum')}
+                    ],
                 },
 
                 listLoading: false,
@@ -287,6 +312,9 @@
                 issuedVal: {
                     alarmBattery: 30,
                     alarmDegree: 80,
+                    workInterval: "",
+                    freeInterval: "",
+                    threshold: "",
                 },
                 issuedVisible: false,
                 multipleSelection: [],
@@ -481,6 +509,9 @@
                 this.issuedVal.alarmBattery = this.allocations[this.activeIndex].alarmBattery;
                 this.issuedVal.alarmDegree = parseInt(this.allocations[this.activeIndex].alarmDegree);
                 this.activeIndex = index;
+                this.issuedVal.workInterval = "";
+                this.issuedVal.freeInterval = "";
+                this.issuedVal.threshold = "";
             },
 
             //启用设备
@@ -488,18 +519,32 @@
                 // this.allocations[this.activeIndex].isUse = 1;
                 this.operateDialogVisible = false;
                 var str = this.allocations[this.activeIndex].equipmentNo;
-                this.http.post( this.port.base.setPacket, {
+
+                var form = {
                     lowPowerLimit: this.issuedVal.alarmBattery,//.toString(16),
                     hotAlarmLimit: this.issuedVal.alarmDegree,//.toString(16),
                     isUse: 1,
                     equipmentNo: str
-                },
+                };
+
+                if(this.issuedVal.workInterval != ""){
+                    form.workInterval = this.issuedVal.workInterval
+                }
+                if(this.issuedVal.freeInterval != ""){
+                    form.freeInterval = this.issuedVal.freeInterval
+                }
+                if(this.issuedVal.threshold != ""){
+                    form.threshold = this.issuedVal.threshold
+                }
+
+                this.http.post( this.port.base.setPacket, form,
                 res => {
                     if (res.code == "ok") {
                         this.$message({
                             message: this.$t("basic.toWait"),
                             type: "success"
                         });
+                        this.$refs.issuedVal.clearValidate();
                         this.getMoulds();
                     } else {
                         this.$message({
@@ -509,6 +554,7 @@
                     }
                 },
                 error => {
+                    this.$refs.issuedVal.clearValidate();
                     this.$message({
                         message: error,
                         type: "error"

+ 213 - 18
ys_int/src/views/mold/moldDetail.vue

@@ -36,8 +36,8 @@
                     {{$t('mold.moldNo')}}:
                     <span class="info">{{moldDetail.modelNo}}</span>
                 </el-col>
-<!--                 
-                <el-col :span="6" class="detail">
+                
+                <!-- <el-col :span="6" class="detail">
                     {{$t('mold.hillNumber')}}:
                     <span class="info">{{moldDetail.hillNumber}}</span>
                 </el-col>
@@ -83,6 +83,57 @@
                 </el-col>
             </el-col>
 
+            <el-col :span="24" class="main">
+                <el-col :span="24" class="title">
+                    {{$t('mold.proinfodetail')}}
+                </el-col>
+
+                <el-col :span="6" class="detail">
+                    {{$t('mold.material')}}:
+                     <span class="info">{{moldDetail.injectionMolding.materialType}}</span>
+                </el-col>
+                <el-col :span="6" class="detail">
+                    {{$t('mold.color')}}:
+                    <span class="info">{{moldDetail.injectionMolding.color}}</span>
+                </el-col>
+                <el-col :span="6" class="detail">
+                    {{$t('mold.size')}}:
+                    <span class="info">{{moldDetail.injectionMolding.size}}</span>
+                </el-col>
+                <el-col :span="6" class="detail">
+                    {{$t('mold.tonnage')}}:
+                    <span class="info">{{moldDetail.injectionMolding.machineTonnage}}</span>
+                </el-col>
+                <el-col :span="6" class="detail">
+                    {{$t('mold.product')}}:
+                    <span class="info">{{moldDetail.injectionMolding.allWeight}}</span>
+                </el-col>
+                <el-col :span="6" class="detail">
+                    {{$t('mold.mathead')}}:
+                    <span class="info">{{moldDetail.injectionMolding.headWeight}}</span>
+                </el-col>
+                <el-col :span="6" class="detail">
+                    {{$t('mold.minshot')}}:
+                    <span class="info">{{moldDetail.injectionMolding.minShotWeight}}</span>
+                </el-col>
+                <el-col :span="6" class="detail">
+                    {{$t('mold.maxshot')}}:
+                    <span class="info">{{moldDetail.injectionMolding.maxShotWeight}}</span>
+                </el-col>
+                <el-col :span="6" class="detail">
+                    {{$t('mold.stand')}}:
+                    <span class="info">{{moldDetail.injectionMolding.cycle}}</span>
+                </el-col>
+                <el-col :span="6" class="detail">
+                    {{$t('mold.dynamic')}}:
+                    <span class="info">{{moldDetail.injectionMolding.commonModelTemperature}}</span>
+                </el-col>
+                <el-col :span="6" class="detail">
+                    {{$t('mold.fiexd')}}:
+                    <span class="info">{{moldDetail.injectionMolding.motherModelTemperature}}</span>
+                </el-col>
+            </el-col>
+
             <el-col :span="24" class="title">
                 {{$t('mold.file')}}
 
@@ -562,32 +613,68 @@
         </el-dialog>
 
         <!--更新界面-->
-        <el-dialog :title="$t('mold.updateM')" v-if="addFormVisible" :visible.sync="addFormVisible" :close-on-click-modal="false" customClass="customWidth">
-            <el-form :model="addForm" label-width="140px" :rules="formRules" ref="addForm" :inline="true" class="demo-form-inline">
-                <el-form-item :label="$t('mold.modelName')" prop="modelName">
-                    <el-input v-model="addForm.modelName" autocomplete="off" :placeholder="$t('mold.inputmodelName')" style="width:480px"></el-input>
+        <el-dialog :title="addTitle" v-if="addFormVisible" :visible.sync="addFormVisible" :close-on-click-modal="false" customClass="customWidth">
+            <el-form :model="addForm" label-width="150px" :rules="formRules" ref="addForm" :inline="true" class="demo-form-inline">
+                <el-form-item :label="$t('mold.modelName')" prop="modelName" v-if="addState">
+                    <el-input v-model="addForm.modelName" autocomplete="off" :placeholder="$t('mold.inputmodelName')" style="width:470px"></el-input>
                 </el-form-item>
-                <el-form-item :label="$t('mold.initial')" prop="initialModulus">
-                    <el-input v-model="addForm.initialModulus" autocomplete="off" :placeholder="$t('mold.inputinitial')" style="width:480px"></el-input>
+                <el-form-item :label="$t('mold.initial')" prop="initialModulus" v-if="addState">
+                    <el-input v-model="addForm.initialModulus" autocomplete="off" :placeholder="$t('mold.inputinitial')" style="width:470px"></el-input>
                 </el-form-item>
-                <el-form-item :label="$t('mold.life')" prop="settingLife">
-                    <el-input v-model="addForm.settingLife" autocomplete="off" :placeholder="$t('mold.inputlife')" style="width:480px"></el-input>
+                <el-form-item :label="$t('mold.life')" prop="settingLife" v-if="addState">
+                    <el-input v-model="addForm.settingLife" autocomplete="off" :placeholder="$t('mold.inputlife')" style="width:470px"></el-input>
                 </el-form-item>
-                <el-form-item :label="$t('mold.rfid')" prop="rfid">
-                    <el-input v-model="addForm.rfid" autocomplete="off" :placeholder="$t('mold.inputrfid')" style="width:480px"></el-input>
+                <el-form-item :label="$t('mold.rfid')" prop="rfid" v-if="addState">
+                    <el-input v-model="addForm.rfid" autocomplete="off" :placeholder="$t('mold.inputrfid')" style="width:470px"></el-input>
                 </el-form-item>
-                <el-form-item :label="$t('mold.hole')" prop="holes">
-                    <el-input v-model="addForm.holes" autocomplete="off" :placeholder="$t('mold.inputhole')" style="width:480px"></el-input>
+                <el-form-item :label="$t('mold.hole')" prop="holes" v-if="addState">
+                    <el-input v-model="addForm.holes" autocomplete="off" :placeholder="$t('mold.inputhole')" style="width:470px"></el-input>
                 </el-form-item>
-                <el-form-item :label="$t('mold.maintainCount')" prop="maintainCount">
-                    <el-select v-model="addForm.maintainCount" clearable multiple allow-create filterable default-first-option :placeholder="$t('mold.inputmaintainCount')" style="width:480px">
+                <el-form-item :label="$t('mold.maintainCount')" prop="maintainCount" v-if="addState">
+                    <el-select v-model="addForm.maintainCount" clearable multiple allow-create filterable default-first-option :placeholder="$t('mold.inputmaintainCount')" style="width:470px">
                         <el-option v-for="item in maintainCount" :key="item" :label="item" :value="item"></el-option>
                     </el-select>
                 </el-form-item>
+
+                <el-form-item :label="$t('mold.material')" prop="materialType" v-if="!addState">
+                    <el-input v-model="addForm.materialType" autocomplete="off" :placeholder="$t('mold.inputmaterial')" style="width:470px"></el-input>
+                </el-form-item>
+                <el-form-item :label="$t('mold.color')" prop="color" v-if="!addState">
+                    <el-input v-model="addForm.color" autocomplete="off" :placeholder="$t('mold.inputcolor')" style="width:470px"></el-input>
+                </el-form-item>
+                <el-form-item :label="$t('mold.size')" prop="size" v-if="!addState">
+                    <el-input v-model="addForm.size" autocomplete="off" :placeholder="$t('mold.inputsize')" style="width:470px"></el-input>
+                </el-form-item>
+                <el-form-item :label="$t('mold.tonnage')" prop="machineTonnage" v-if="!addState">
+                    <el-input v-model="addForm.machineTonnage" autocomplete="off" :placeholder="$t('mold.inputtonnage')" style="width:470px"></el-input>
+                </el-form-item>
+                <el-form-item :label="$t('mold.product')" prop="allWeight" v-if="!addState">
+                    <el-input v-model="addForm.allWeight" autocomplete="off" :placeholder="$t('mold.inputproduct')" style="width:470px"></el-input>
+                </el-form-item>
+                <el-form-item :label="$t('mold.mathead')" prop="headWeight" v-if="!addState">
+                    <el-input v-model="addForm.headWeight" autocomplete="off" :placeholder="$t('mold.inputmathead')" style="width:470px"></el-input>
+                </el-form-item>
+                <el-form-item :label="$t('mold.maxshot')" prop="maxShotWeight" v-if="!addState">
+                    <el-input v-model="addForm.maxShotWeight" autocomplete="off" :placeholder="$t('mold.inputmaxshot')" style="width:470px"></el-input>
+                </el-form-item>
+                <el-form-item :label="$t('mold.minshot')" prop="minShotWeight" v-if="!addState">
+                    <el-input v-model="addForm.minShotWeight" autocomplete="off" :placeholder="$t('mold.inputminshot')" style="width:470px"></el-input>
+                </el-form-item>
+                <el-form-item :label="$t('mold.stand')" prop="cycle" v-if="!addState">
+                    <el-input v-model="addForm.cycle" autocomplete="off" :placeholder="$t('mold.inputstand')" style="width:470px"></el-input>
+                </el-form-item>
+                <el-form-item :label="$t('mold.dynamic')" prop="commonModelTemperature" v-if="!addState">
+                    <el-input v-model="addForm.commonModelTemperature" autocomplete="off" :placeholder="$t('mold.inputdynamic')" style="width:470px"></el-input>
+                </el-form-item>
+                <el-form-item :label="$t('mold.fiexd')" prop="motherModelTemperature" v-if="!addState">
+                    <el-input v-model="addForm.motherModelTemperature" autocomplete="off" :placeholder="$t('mold.inputfiexd')" style="width:470px"></el-input>
+                </el-form-item>
             </el-form>
             <div slot="footer" class="dialog-footer">
                 <el-button @click.native="addFormVisible = false">{{$t('el.messagebox.cancel')}}</el-button>
-                <el-button type="primary" @click.native="inviteSubmit" :loading="addLoading">{{$t('el.messagebox.confirm')}}</el-button>
+                <el-button v-if="addState" type="primary" @click.native="toNext(0)">{{$t('basic.next')}}</el-button>
+                <el-button v-if="!addState" type="primary" @click.native="toPart(0)">{{$t('basic.prev')}}</el-button>
+                <el-button v-if="!addState" type="primary" @click.native="inviteSubmit" :loading="addLoading">{{$t('el.messagebox.confirm')}}</el-button>
             </div>
         </el-dialog>
     </section>
@@ -639,6 +726,40 @@
                         case "name":
                             return callback(new Error(this.$t('mold.inputpartName')));
                             break;
+                        
+                        case "materialType":
+                            return callback(new Error(this.$t('mold.inputmaterial')));
+                            break;
+                        case "color":
+                            return callback(new Error(this.$t('mold.inputcolor')));
+                            break;
+                        case "size":
+                            return callback(new Error(this.$t('mold.inputsize')));
+                            break;
+                        case "machineTonnage":
+                            return callback(new Error(this.$t('mold.inputtonnage')));
+                            break;
+                        case "allWeight":
+                            return callback(new Error(this.$t('mold.inputproduct')));
+                            break;
+                        case "headWeight":
+                            return callback(new Error(this.$t('mold.inputmathead')));
+                            break;
+                        case "maxShotWeight":
+                            return callback(new Error(this.$t('mold.inputmaxshot')));
+                            break;
+                        case "minShotWeight":
+                            return callback(new Error(this.$t('mold.inputminshot')));
+                            break;
+                        case "cycle":
+                            return callback(new Error(this.$t('mold.inputstand')));
+                            break;
+                        case "commonModelTemperature":
+                            return callback(new Error(this.$t('mold.inputdynamic')));
+                            break;
+                        case "motherModelTemperature":
+                            return callback(new Error(this.$t('mold.inputfiexd')));
+                            break;
                         default:
                             callback();
                     } 
@@ -696,6 +817,40 @@
                     life: [
                         { required: true, validator: checkLife, trigger: 'blur'}
                     ],
+
+                    materialType: [
+                        { required: true, validator: msg, trigger: "blur" }
+                    ],
+                    color: [
+                        { required: true, validator: msg, trigger: "blur" }
+                    ],
+                    size: [
+                        { required: true, validator: msg, trigger: "blur" }
+                    ],
+                    machineTonnage: [
+                        { required: true, validator: msg, trigger: "blur" }
+                    ],
+                    allWeight: [
+                        { required: true, validator: msg, trigger: "blur" }
+                    ],
+                    headWeight: [
+                        { required: true, validator: msg, trigger: "blur" }
+                    ],
+                    maxShotWeight: [
+                        { required: true, validator: msg, trigger: "blur" }
+                    ],
+                    minShotWeight: [
+                        { required: true, validator: msg, trigger: "blur" }
+                    ],
+                    cycle: [
+                        { required: true, validator: msg, trigger: "blur" }
+                    ],
+                    commonModelTemperature: [
+                        { required: true, validator: msg, trigger: "blur" }
+                    ],
+                    motherModelTemperature: [
+                        { required: true, validator: msg, trigger: "blur" }
+                    ],
                 },
 
                 //权限
@@ -752,6 +907,8 @@
                 companys: [],
                 projects: [],
                 maintainCount: [5000,10000,15000,20000,25000],
+                addTitle: this.$t('mold.updateM'),
+                addState: true,
                 addLoading: false,
                 addFormVisible: false,
                 addForm: {
@@ -761,6 +918,18 @@
                     maintainCount: [],
                     rfid: "",
                     holes: "",
+                    
+                    materialType: "",
+                    color: "",
+                    size: "",
+                    machineTonnage: "",
+                    allWeight: "",
+                    headWeight: "",
+                    maxShotWeight: "",
+                    minShotWeight: "",
+                    cycle: "",
+                    commonModelTemperature: "",
+                    motherModelTemperature: "",
                 },
 
                 //零件文件
@@ -1627,6 +1796,20 @@
                 }
             },
 
+            toNext(i) {
+                if(i == 0) {
+                    this.addState = false;
+                    this.addTitle = this.$t('mold.proinfo');
+                }
+            },
+
+            toPart(i) {
+                if(i == 0) {
+                    this.addState = true;
+                    this.addTitle = this.$t('mold.updateM');
+                }
+            },
+
             //更新弹框
             showAdd(id) {
                 this.addFormVisible = true;
@@ -1637,7 +1820,19 @@
                     settingLife: "",
                     maintainCount: [],
                     rfid: "",
-                    holes: ""
+                    holes: "",
+                    
+                    materialType: "",
+                    color: "",
+                    size: "",
+                    machineTonnage: "",
+                    allWeight: "",
+                    headWeight: "",
+                    maxShotWeight: "",
+                    minShotWeight: "",
+                    cycle: "",
+                    commonModelTemperature: "",
+                    motherModelTemperature: "",
                 };
             },
 

+ 157 - 23
ys_int/src/views/mold/moldList.vue

@@ -91,45 +91,81 @@
         </el-col>
 
         <!--新增界面-->
-        <el-dialog :title="$t('mold.addMold')" v-if="addFormVisible" :visible.sync="addFormVisible" :close-on-click-modal="false" customClass="customWidth">
-            <el-form :model="addForm" label-width="140px" :rules="formRules" ref="addForm" :inline="true" class="demo-form-inline">
-                <el-form-item :label="$t('mold.modelName')" prop="modelName">
-                    <el-input v-model="addForm.modelName" autocomplete="off" :placeholder="$t('mold.inputmodelName')" style="width:480px"></el-input>
+        <el-dialog :title="addTitle" v-if="addFormVisible" :visible.sync="addFormVisible" :close-on-click-modal="false" customClass="customWidth">
+            <el-form :model="addForm" label-width="150px" :rules="formRules" ref="addForm" :inline="true" class="demo-form-inline">
+                <el-form-item :label="$t('mold.modelName')" prop="modelName" v-if="addState">
+                    <el-input v-model="addForm.modelName" autocomplete="off" :placeholder="$t('mold.inputmodelName')" style="width:470px"></el-input>
                 </el-form-item>
-                <el-form-item :label="$t('mold.moldNo')" prop="modelNo">
-                    <el-input v-model="addForm.modelNo" autocomplete="off" :placeholder="$t('mold.inputmoldNo')" style="width:480px"></el-input>
+                <el-form-item :label="$t('mold.moldNo')" prop="modelNo" v-if="addState">
+                    <el-input v-model="addForm.modelNo" autocomplete="off" :placeholder="$t('mold.inputmoldNo')" style="width:470px"></el-input>
                 </el-form-item>
-                <el-form-item :label="$t('basic.equipmentNo')" prop="equipmentId">
-                    <el-select v-model="addForm.equipmentId" clearable filterable :placeholder="$t('mold.inputequipment')" style="width:480px">
+                <el-form-item :label="$t('basic.equipmentNo')" prop="equipmentId" v-if="addState">
+                    <el-select v-model="addForm.equipmentId" clearable filterable :placeholder="$t('mold.inputequipment')" style="width:470px">
                         <el-option v-for="item in boxes" :key="item.id" :label="item.equipmentNo" :value="item.id"></el-option>
                     </el-select>
                 </el-form-item>
-                <el-form-item :label="$t('mold.initial')" prop="initialModulus">
-                    <el-input v-model="addForm.initialModulus" autocomplete="off" :placeholder="$t('mold.inputinitial')" style="width:480px"></el-input>
+                <el-form-item :label="$t('mold.initial')" prop="initialModulus" v-if="addState">
+                    <el-input v-model="addForm.initialModulus" autocomplete="off" :placeholder="$t('mold.inputinitial')" style="width:470px"></el-input>
                 </el-form-item>
-                <el-form-item :label="$t('mold.life')" prop="settingLife">
-                    <el-input v-model="addForm.settingLife" autocomplete="off" :placeholder="$t('mold.inputlife')" style="width:480px"></el-input>
+                <el-form-item :label="$t('mold.life')" prop="settingLife" v-if="addState">
+                    <el-input v-model="addForm.settingLife" autocomplete="off" :placeholder="$t('mold.inputlife')" style="width:470px"></el-input>
                 </el-form-item>
-                <el-form-item :label="$t('mold.rfid')" prop="rfid">
-                    <el-input v-model="addForm.rfid" autocomplete="off" :placeholder="$t('mold.inputrfid')" style="width:480px"></el-input>
+                <el-form-item :label="$t('mold.rfid')" prop="rfid" v-if="addState">
+                    <el-input v-model="addForm.rfid" autocomplete="off" :placeholder="$t('mold.inputrfid')" style="width:470px"></el-input>
                 </el-form-item>
-                <el-form-item :label="$t('mold.hole')" prop="holes">
-                    <el-input v-model="addForm.holes" autocomplete="off" :placeholder="$t('mold.inputhole')" style="width:480px"></el-input>
+                <el-form-item :label="$t('mold.hole')" prop="holes" v-if="addState">
+                    <el-input v-model="addForm.holes" autocomplete="off" :placeholder="$t('mold.inputhole')" style="width:470px"></el-input>
                 </el-form-item>
-                <el-form-item :label="$t('mold.factoryName')" prop="produceCompanyId">
-                    <el-select v-model="addForm.produceCompanyId" clearable filterable :placeholder="$t('mold.inputfactoryName')" style="width:480px">
+                <el-form-item :label="$t('mold.factoryName')" prop="produceCompanyId" v-if="addState">
+                    <el-select v-model="addForm.produceCompanyId" clearable filterable :placeholder="$t('mold.inputfactoryName')" style="width:470px">
                         <el-option v-for="item in companys" :key="item.id" :label="item.companyName" :value="item.id"></el-option>
                     </el-select>
                 </el-form-item>
-                <el-form-item :label="$t('mold.maintainCount')" prop="maintainCount">
-                    <el-select v-model="addForm.maintainCount" clearable multiple allow-create filterable default-first-option :placeholder="$t('mold.inputmaintainCount')" style="width:480px">
+                <el-form-item :label="$t('mold.maintainCount')" prop="maintainCount" v-if="addState">
+                    <el-select v-model="addForm.maintainCount" clearable multiple allow-create filterable default-first-option :placeholder="$t('mold.inputmaintainCount')" style="width:470px">
                         <el-option v-for="item in maintainCount" :key="item" :label="item" :value="item"></el-option>
                     </el-select>
                 </el-form-item>
+                
+                <el-form-item :label="$t('mold.material')" prop="materialType" v-if="!addState">
+                    <el-input v-model="addForm.materialType" autocomplete="off" :placeholder="$t('mold.inputmaterial')" style="width:470px"></el-input>
+                </el-form-item>
+                <el-form-item :label="$t('mold.color')" prop="color" v-if="!addState">
+                    <el-input v-model="addForm.color" autocomplete="off" :placeholder="$t('mold.inputcolor')" style="width:470px"></el-input>
+                </el-form-item>
+                <el-form-item :label="$t('mold.size')" prop="size" v-if="!addState">
+                    <el-input v-model="addForm.size" autocomplete="off" :placeholder="$t('mold.inputsize')" style="width:470px"></el-input>
+                </el-form-item>
+                <el-form-item :label="$t('mold.tonnage')" prop="machineTonnage" v-if="!addState">
+                    <el-input v-model="addForm.machineTonnage" autocomplete="off" :placeholder="$t('mold.inputtonnage')" style="width:470px"></el-input>
+                </el-form-item>
+                <el-form-item :label="$t('mold.product')" prop="allWeight" v-if="!addState">
+                    <el-input v-model="addForm.allWeight" autocomplete="off" :placeholder="$t('mold.inputproduct')" style="width:470px"></el-input>
+                </el-form-item>
+                <el-form-item :label="$t('mold.mathead')" prop="headWeight" v-if="!addState">
+                    <el-input v-model="addForm.headWeight" autocomplete="off" :placeholder="$t('mold.inputmathead')" style="width:470px"></el-input>
+                </el-form-item>
+                <el-form-item :label="$t('mold.maxshot')" prop="maxShotWeight" v-if="!addState">
+                    <el-input v-model="addForm.maxShotWeight" autocomplete="off" :placeholder="$t('mold.inputmaxshot')" style="width:470px"></el-input>
+                </el-form-item>
+                <el-form-item :label="$t('mold.minshot')" prop="minShotWeight" v-if="!addState">
+                    <el-input v-model="addForm.minShotWeight" autocomplete="off" :placeholder="$t('mold.inputminshot')" style="width:470px"></el-input>
+                </el-form-item>
+                <el-form-item :label="$t('mold.stand')" prop="cycle" v-if="!addState">
+                    <el-input v-model="addForm.cycle" autocomplete="off" :placeholder="$t('mold.inputstand')" style="width:470px"></el-input>
+                </el-form-item>
+                <el-form-item :label="$t('mold.dynamic')" prop="commonModelTemperature" v-if="!addState">
+                    <el-input v-model="addForm.commonModelTemperature" autocomplete="off" :placeholder="$t('mold.inputdynamic')" style="width:470px"></el-input>
+                </el-form-item>
+                <el-form-item :label="$t('mold.fiexd')" prop="motherModelTemperature" v-if="!addState">
+                    <el-input v-model="addForm.motherModelTemperature" autocomplete="off" :placeholder="$t('mold.inputfiexd')" style="width:470px"></el-input>
+                </el-form-item>
             </el-form>
             <div slot="footer" class="dialog-footer">
                 <el-button @click.native="addFormVisible = false">{{$t('el.messagebox.cancel')}}</el-button>
-                <el-button type="primary" @click.native="addSubmit" :loading="addLoading">{{$t('el.messagebox.confirm')}}</el-button>
+                <el-button v-if="addState" type="primary" @click.native="toNext(0)">{{$t('basic.next')}}</el-button>
+                <el-button v-if="!addState" type="primary" @click.native="toPart(0)">{{$t('basic.prev')}}</el-button>
+				<el-button v-if="!addState" type="primary" @click.native="addSubmit" :loading="addLoading">{{$t('el.messagebox.confirm')}}</el-button>
             </div>
         </el-dialog>
     </section>
@@ -193,6 +229,40 @@
                         case "maintainCount":
                             return callback(new Error(this.$t('mold.inputmaintainCount')));
                             break;
+                        
+                        case "materialType":
+                            return callback(new Error(this.$t('mold.inputmaterial')));
+                            break;
+                        case "color":
+                            return callback(new Error(this.$t('mold.inputcolor')));
+                            break;
+                        case "size":
+                            return callback(new Error(this.$t('mold.inputsize')));
+                            break;
+                        case "machineTonnage":
+                            return callback(new Error(this.$t('mold.inputtonnage')));
+                            break;
+                        case "allWeight":
+                            return callback(new Error(this.$t('mold.inputproduct')));
+                            break;
+                        case "headWeight":
+                            return callback(new Error(this.$t('mold.inputmathead')));
+                            break;
+                        case "maxShotWeight":
+                            return callback(new Error(this.$t('mold.inputmaxshot')));
+                            break;
+                        case "minShotWeight":
+                            return callback(new Error(this.$t('mold.inputminshot')));
+                            break;
+                        case "cycle":
+                            return callback(new Error(this.$t('mold.inputstand')));
+                            break;
+                        case "commonModelTemperature":
+                            return callback(new Error(this.$t('mold.inputdynamic')));
+                            break;
+                        case "motherModelTemperature":
+                            return callback(new Error(this.$t('mold.inputfiexd')));
+                            break;
                         default:
                             callback();
                     } 
@@ -237,7 +307,41 @@
                     ],
                     maintainCount: [
                         { required: true, validator: msg, trigger: ["blur", "change"] }
-                    ]
+                    ],
+
+                    materialType: [
+                        { required: true, validator: msg, trigger: "blur" }
+                    ],
+                    color: [
+                        { required: true, validator: msg, trigger: "blur" }
+                    ],
+                    size: [
+                        { required: true, validator: msg, trigger: "blur" }
+                    ],
+                    machineTonnage: [
+                        { required: true, validator: msg, trigger: "blur" }
+                    ],
+                    allWeight: [
+                        { required: true, validator: msg, trigger: "blur" }
+                    ],
+                    headWeight: [
+                        { required: true, validator: msg, trigger: "blur" }
+                    ],
+                    maxShotWeight: [
+                        { required: true, validator: msg, trigger: "blur" }
+                    ],
+                    minShotWeight: [
+                        { required: true, validator: msg, trigger: "blur" }
+                    ],
+                    cycle: [
+                        { required: true, validator: msg, trigger: "blur" }
+                    ],
+                    commonModelTemperature: [
+                        { required: true, validator: msg, trigger: "blur" }
+                    ],
+                    motherModelTemperature: [
+                        { required: true, validator: msg, trigger: "blur" }
+                    ],
                 },
                 listLoading: false,
                 total: 0,
@@ -250,6 +354,8 @@
 
                 maintainCount: [5000,10000,15000,20000,25000],
 
+                addTitle: this.$t('mold.addMold'),
+                addState: true,
                 addLoading: false,
                 addFormVisible: false,
                 addForm: {
@@ -261,7 +367,19 @@
                     maintainCount: [],
                     rfid: "",
                     holes: "",
-                    produceCompanyId: ""
+                    produceCompanyId: "",
+
+                    materialType: "",
+                    color: "",
+                    size: "",
+                    machineTonnage: "",
+                    allWeight: "",
+                    headWeight: "",
+                    maxShotWeight: "",
+                    minShotWeight: "",
+                    cycle: "",
+                    commonModelTemperature: "",
+                    motherModelTemperature: "",
                 }
             };
         },
@@ -426,6 +544,8 @@
             //添加界面
             showAdd() {
                 this.getMoulds();
+                this.addState = true;
+                this.addTitle = this.$t('mold.addMold');
                 this.addFormVisible = true;
                 this.addForm = {
                     modelNo: "",
@@ -440,6 +560,20 @@
                 };
             },
 
+            toNext(i) {
+                if(i == 0) {
+                    this.addState = false;
+                    this.addTitle = this.$t('mold.proinfo');
+                }
+            },
+
+            toPart(i) {
+                if(i == 0) {
+                    this.addState = true;
+                    this.addTitle = this.$t('basic.addAsset');
+                }
+            },
+
             addSubmit() {
                 this.$refs.addForm.validate(valid => {
                     if (valid) {