Browse Source

流水号定义修改

langfang-develop
liwei 3 years ago
parent
commit
64cb8d451f
4 changed files with 888 additions and 19 deletions
  1. +431
    -0
      src/views/plant/processData/technology/OPCCommunication.vue
  2. +29
    -8
      src/views/plant/processData/technology/index.vue
  3. +417
    -0
      src/views/plant/processData/technology/openProtocol.vue
  4. +11
    -11
      src/views/system/args/snrtab.vue

+ 431
- 0
src/views/plant/processData/technology/OPCCommunication.vue View File

@ -0,0 +1,431 @@
<template>
<el-dialog
title="配置OPC通讯"
visible
width="80%"
:before-close="handleClose"
v-loading="loading"
>
<el-form
:inline="true"
label-width="120px"
:rules="rules"
ref="formRef"
:model="formData"
class="demo-form-inline"
>
<el-row>
<el-col :span="8">
<el-form-item label="工艺" prop="OPCBasicComInfo-StepDesc">
<el-input disabled v-model="formData['OPCBasicComInfo-StepDesc']" />
</el-form-item
></el-col>
<el-col :span="8">
<el-form-item
:label="getColumnName('OPCBasicComInfo-StepNo')"
prop="OPCBasicComInfo-StepNo"
>
<el-input-number
disabled
v-model="formData['OPCBasicComInfo-StepNo']"
placeholder="请输入"
></el-input-number> </el-form-item
></el-col>
<el-col :span="8">
<el-form-item
:label="getColumnName('OPCBasicComInfo-PO')"
prop="OPCBasicComInfo-PO"
>
<el-input-number
disabled
v-model="formData['OPCBasicComInfo-PO']"
placeholder="请输入"
></el-input-number> </el-form-item
></el-col>
<el-col :span="8">
<el-form-item
:label="getColumnName('OPCBasicComInfo-ProjectId')"
prop="OPCBasicComInfo-ProjectId"
>
<el-input
disabled
v-model="formData['OPCBasicComInfo-ProjectId']"
placeholder="请输入"
></el-input> </el-form-item
></el-col>
<el-col :span="8">
<el-form-item
:label="getColumnName('OPCBasicComInfo-OperationId')"
prop="OPCBasicComInfo-OperationId"
>
<el-input-number
disabled
v-model="formData['OPCBasicComInfo-OperationId']"
placeholder="请输入"
></el-input-number> </el-form-item
></el-col>
<el-col :span="8">
<el-form-item
:label="getColumnName('OPCBasicComInfo-WorkPlaceNr')"
prop="OPCBasicComInfo-WorkPlaceNr"
>
<el-select
v-model="formData['OPCBasicComInfo-WorkPlaceNr']"
placeholder="请选择"
>
<el-option
v-for="item in stationList"
:key="item['WorkPlace-WorkPlaceNr']"
:label="item['WorkPlace-Descr']"
:value="item['WorkPlace-WorkPlaceNr']"
>
</el-option>
</el-select> </el-form-item
></el-col>
<el-col :span="8">
<el-form-item
:label="getColumnName('OPCBasicComInfo-BrandName')"
prop="OPCBasicComInfo-BrandName"
>
<el-input
v-model="formData['OPCBasicComInfo-BrandName']"
placeholder="请输入"
></el-input> </el-form-item
></el-col>
<el-col :span="8">
<el-form-item
:label="getColumnName('OPCBasicComInfo-MachineType')"
prop="OPCBasicComInfo-MachineType"
>
<el-input
v-model="formData['OPCBasicComInfo-MachineType']"
placeholder="请输入"
></el-input> </el-form-item
></el-col>
<el-col :span="8">
<el-form-item
:label="getColumnName('OPCBasicComInfo-IpAddress')"
prop="OPCBasicComInfo-IpAddress"
>
<el-input
v-model="formData['OPCBasicComInfo-IpAddress']"
placeholder="请输入"
></el-input> </el-form-item
></el-col>
</el-row>
<el-table
:data="formData['OPCBasicComInfo-OPCComRuleLi'] || []"
style="width: 100%"
>
<el-table-column type="expand">
<template slot-scope="props">
<el-table
:data="props.row['OPCComRule-OPCComDetailRuleLi'] || []"
style="width: 100%"
>
<el-table-column
:label="getColumnName('OPCComDetailRule-DetailId')"
prop="OPCComDetailRule-DetailId"
>
<template slot-scope="scope">
<el-input-number
style="width: 100%"
:min="0"
v-model="scope.row['OPCComDetailRule-DetailId']"
/>
</template>
</el-table-column>
<el-table-column
:label="getColumnName('OPCComDetailRule-BaseOnType')"
prop="OPCComDetailRule-BaseOnType"
>
<template slot-scope="scope">
<el-input
style="width: 100%"
v-model="scope.row['OPCComDetailRule-BaseOnType']"
/>
</template>
</el-table-column>
<el-table-column
:label="getColumnName('OPCComDetailRule-BaseOnValue')"
prop="OPCComDetailRule-BaseOnValue"
>
<template slot-scope="scope">
<el-input
style="width: 100%"
v-model="scope.row['OPCComDetailRule-BaseOnValue']"
/>
</template>
</el-table-column>
<el-table-column
:label="getColumnName('OPCComDetailRule-DataType')"
prop="OPCComDetailRule-DataType"
>
<template slot-scope="scope">
<el-input
style="width: 100%"
v-model="scope.row['OPCComDetailRule-DataType']"
/>
</template>
</el-table-column>
<el-table-column label="操作" width="100">
<template slot-scope="scope">
<el-button
size="mini"
type="danger"
@click="deleteOPCComDetailRule(scope.$index, props.$index)"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
</template>
</el-table-column>
<el-table-column
:label="getColumnName('OPCComRule-RuleId')"
prop="OPCComRule-RuleId"
>
<template slot-scope="scope">
<el-input-number
style="width: 100%"
:min="0"
v-model="scope.row['OPCComRule-RuleId']"
/>
</template>
</el-table-column>
<el-table-column
:label="getColumnName('OPCComRule-ActionType')"
prop="OPCComRule-ActionType"
>
<template slot-scope="scope">
<el-select
style="width: 100%"
v-model="scope.row['OPCComRule-ActionType']"
placeholder="请选择"
>
<el-option
v-for="item in actionTypeList"
:key="item['stdeftab-stdeftyp']"
:label="item['stdeftab-bez']"
:value="item['stdeftab-stdeftyp']"
>
</el-option>
</el-select>
</template>
</el-table-column>
<el-table-column
:label="getColumnName('OPCComRule-DBlockAddress')"
prop="OPCComRule-DBlockAddress"
>
<template slot-scope="scope">
<el-input
style="width: 100%"
v-model="scope.row['OPCComRule-DBlockAddress']"
/>
</template>
</el-table-column>
<el-table-column
:label="getColumnName('OPCComRule-DBlockValueType')"
prop="OPCComRule-DBlockValueType"
>
<template slot-scope="scope">
<el-select
v-model="scope.row['OPCComRule-DBlockValueType']"
style="width: 100%"
placeholder="请选择"
>
<el-option
v-for="item in DBlockList"
:key="item['stdeftab-stdeftyp']"
:label="item['stdeftab-bez']"
:value="item['stdeftab-stdeftyp']"
>
</el-option>
</el-select>
</template>
</el-table-column>
<el-table-column
:label="getColumnName('OPCComRule-DBlockValue')"
prop="OPCComRule-DBlockValue"
>
<template slot-scope="scope">
<el-input
style="width: 100%"
v-model="scope.row['OPCComRule-DBlockValue']"
/>
</template>
</el-table-column>
<el-table-column align="right" width="150">
<template slot="header">
<el-button type="success" @click="addOPCComRule">新增</el-button>
</template>
<template slot-scope="scope">
<el-button
size="mini"
v-if="scope.row['OPCComRule-DBlockValueType'] == '映射值'"
@click="addOPCComDetailRule(scope.$index, scope.row)"
>新增</el-button
>
<el-button
size="mini"
type="danger"
@click="deleteOPCComRule(scope.$index, scope.row)"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="handleClose"> </el-button>
<el-button type="primary" @click="submitForm"> </el-button>
</span>
</el-dialog>
</template>
<script>
import {add, getDetails, getStationList} from '@/api/plant/processData/basicCommunication'
export default {
props:{
item:{
default:{}
},
isAddOrEdit:{
default:'OPCCommunication'
},
},
data(){
return{
loading:false,
rules: {
'OPCBasicComInfo-PO': [
{ required: true, message: '请选择', trigger: 'blur' }
],
'OPCBasicComInfo-WorkPlaceNr': [
{ required: true, message: '请选择', trigger: 'blur' }
],
'OPCBasicComInfo-StepNo': [
{ required: true, message: '请选择', trigger: 'change' }
],
'OPCBasicComInfo-BrandName': [
{ required: true, message: '请输入', trigger: 'change' }
],
'OPCBasicComInfo-StepDesc': [
{ required: true, message: '请选择', trigger: 'change' }
],
'OPCBasicComInfo-MachineType':[
{ required: true, message: '请输入', trigger: 'change' }
],
'OPCBasicComInfo-IpAddress':[
{ required: true, message: '请输入', trigger: 'change' }
],
'OPCBasicComInfo-ProjectId':[
{ required: true, message: '请输入', trigger: 'change' }
]
},
formData:{},
OPCComRuleDefault:{
"OPCComRule-RuleId": undefined,
"OPCComRule-ActionType": undefined,
"OPCComRule-DBlockAddress": undefined,
"OPCComRule-DBlockValueType": undefined,
"OPCComRule-DBlockValue": undefined,
'OPCComRule-OPCComDetailRuleLi':[]
}, // OPCComRule
OPCComDetailRuleDefault:{
"OPCComDetailRule-DetailId": undefined,
"OPCComDetailRule-BaseOnType": undefined,
"OPCComDetailRule-BaseOnValue": undefined,
"OPCComDetailRule-DataType": undefined
}, // OPCComDetailRule
actionTypeList:[], //
DBlockList:[], //DB
stationList:[], //
}
},
methods:{
//
handleClose(){
this.$emit('setIsAddOrEdit', '')
},
//
submitForm() {
this.$refs['formRef'].validate((valid) => {
if (valid) {
this.add();
} else {
console.log('error submit!!');
return false;
}
});
},
//
add(){
this.loading=true;
add({
...this.formData
}).then(({code, data})=>{
this.loading=false;
if(code==200){
this.msgSuccess('添加成功');
this.handleClose();
}
}).catch(()=>{
this.loading=false;
})
},
// OPCComRule
addOPCComRule(){
this.formData['OPCBasicComInfo-OPCComRuleLi'].push(JSON.parse(JSON.stringify(this.OPCComRuleDefault)))
},
// OPCComDetailRule
addOPCComDetailRule(index, item){
this.formData['OPCBasicComInfo-OPCComRuleLi'][index]['OPCComRule-OPCComDetailRuleLi'].push(JSON.parse(JSON.stringify(this.OPCComDetailRuleDefault)))
},
// OPCComRule
deleteOPCComRule(index){
this.formData['OPCBasicComInfo-OPCComRuleLi'].splice(index, 1);
},
// OPCComDetailRule
deleteOPCComDetailRule(scopeIndex, parntIndex){
this.formData['OPCBasicComInfo-OPCComRuleLi'][parntIndex]['OPCComRule-OPCComDetailRuleLi'].splice(scopeIndex, 1);
},
//
getActionTypeList(){
this.getStanderOne({ statid: 'OPCComRule-ActionType' }).then(({data=[]}) => {
this.actionTypeList=data;
})
},
// DB
getDBlockList(){
this.getStanderOne({ statid: 'OPCComRule-DBlockValueType' }).then(({data=[]}) => {
this.DBlockList=data;
})
},
//
getDetails(){
getDetails(this.item['Operation-OperationId'], this.item['Operation-WorkPlaceNr']).then(({code, data})=>{
if(code==200){
this.formData=data;
}else{
this.formData={...this.item,'OPCBasicComInfo-OPCComRuleLi':[]};
}
})
},
//
getStationList(){
getStationList().then(({data=[]})=>{
this.stationList = data;
})
}
},
created(){
this.getActionTypeList();
this.getDBlockList();
this.getStationList();
this.getDetails();
}
}
</script>

+ 29
- 8
src/views/plant/processData/technology/index.vue View File

@ -12,17 +12,17 @@
</el-form>
<el-table border :data="tableData" style="width: 100%" :total="queryParams.total" :page.sync="queryParams.pageNumber"
:limit.sync="queryParams.pageSize">
<el-table-column prop="Operation-PO" :label="getColumnName('Operation-PO')">
<el-table-column prop="Operation-PO" width="100" :label="getColumnName('Operation-PO')">
</el-table-column>
<el-table-column prop="Operation-StepDesc" :label="getColumnName('Operation-StepDesc')">
<el-table-column prop="Operation-StepDesc" width="200" :label="getColumnName('Operation-StepDesc')">
</el-table-column>
<el-table-column prop="Operation-StepNo" :label="getColumnName('Operation-StepNo')">
</el-table-column>
<el-table-column prop="Operation-StepType" :label="getColumnName('Operation-StepType')">
<el-table-column prop="Operation-StepType" width="150" :label="getColumnName('Operation-StepType')">
</el-table-column>
<el-table-column prop="Operation-ProjectId" :label="getColumnName('Operation-ProjectId')">
<el-table-column prop="Operation-ProjectId" width="200" :label="getColumnName('Operation-ProjectId')">
</el-table-column>
<el-table-column prop="Operation-OperationId" :label="getColumnName('Operation-OperationId')">
<el-table-column prop="Operation-OperationId" width="100" :label="getColumnName('Operation-OperationId')">
</el-table-column>
<el-table-column prop="Operation-AttrCode" :label="getColumnName('Operation-AttrCode')">
</el-table-column>
@ -30,6 +30,7 @@
</el-table-column>
<el-table-column
prop="Operation-ActivateInStation"
width="100"
:label="getColumnName('Operation-ActivateInStation')"
>
<template slot-scope="scope">
@ -44,6 +45,7 @@
</el-table-column>
<el-table-column
prop="Operation-ActivateWhenRepair"
width="100"
:label="getColumnName('Operation-ActivateWhenRepair')"
>
<template slot-scope="scope">
@ -56,9 +58,12 @@
</el-switch>
</template>
</el-table-column>
<el-table-column label="操作" width="400" align="center">
<el-table-column label="操作" width="400" align="center" fixed="right">
<!-- <el-table-column label="操作" width="650" align="center" fixed="right"> -->
<template slot-scope="scope">
<el-button size="mini" @click="setItem(scope.row)">编辑</el-button>
<!-- <el-button size="mini" :disabled="scope.row['Operation-StepType'] != 'OPC通讯'" @click="setOPCCommunication(scope.row)">配置OPC通讯</el-button> -->
<!-- <el-button size="mini" :disabled="scope.row['Operation-StepType'] != '开放协议'" @click="setOpenProtocol(scope.row)">配置开放协议</el-button> -->
<el-button size="mini" :disabled="scope.row['Operation-StepType'] != '指导操作'" @click="setOperationGuide(scope.row)">配置操作指导</el-button>
<el-button size="mini" :disabled="scope.row['Operation-StepType'] != '扫码校验'" @click="setScanRule(scope.row)">配置扫码规则</el-button>
<el-button size="mini" type="danger" @click="handleDelete(scope.row)">删除</el-button>
@ -75,18 +80,24 @@
<AddOrEdit v-if="isAddOrEdit=='add' || isAddOrEdit=='edit'" :isAddOrEdit="isAddOrEdit" :item="item" @setIsAddOrEdit="setIsAddOrEdit" />
<ScanRule v-if="isAddOrEdit=='scanRule'" :isAddOrEdit="isAddOrEdit" :item="item" @setIsAddOrEdit="setIsAddOrEdit" />
<OperationGuide v-if="isAddOrEdit=='operationGuide'" :isAddOrEdit="isAddOrEdit" :item="item" @setIsAddOrEdit="setIsAddOrEdit" />
<OPCCommunication v-if="isAddOrEdit=='OPCCommunication'" :isAddOrEdit="isAddOrEdit" :item="item" @setIsAddOrEdit="setIsAddOrEdit" />
<OpenProtocol v-if="isAddOrEdit=='openProtocol'" :isAddOrEdit="isAddOrEdit" :item="item" @setIsAddOrEdit="setIsAddOrEdit" />
</div>
</template>
<script>
import AddOrEdit from './addOrEdit.vue';
import ScanRule from './scanRule.vue';
import OperationGuide from './operationGuide.vue'
import OperationGuide from './operationGuide.vue';
import OPCCommunication from './OPCCommunication.vue';
import OpenProtocol from './openProtocol.vue';
import {getTableList, delParser, getAttribute, getAttributeValue} from '@/api/plant/processData/technology'
export default {
components:{
AddOrEdit,
ScanRule,
OperationGuide
OperationGuide,
OPCCommunication,
OpenProtocol
},
data(){
return{
@ -127,6 +138,16 @@ export default {
this.item=item;
this.setIsAddOrEdit('operationGuide');
},
// OPC
setOPCCommunication(item){
this.item=item;
this.setIsAddOrEdit('OPCCommunication');
},
//
setOpenProtocol(item){
this.item=item;
this.setIsAddOrEdit('openProtocol');
},
//
handleDelete(item){
this.$confirm('是否确认删除当前数据项?', '警告', {


+ 417
- 0
src/views/plant/processData/technology/openProtocol.vue View File

@ -0,0 +1,417 @@
<template>
<el-dialog
:title="isAddOrEdit == 'edit' ? '编辑' : '新增'"
visible
width="90%"
v-loading="loading"
:before-close="handleClose"
>
<el-form
:inline="true"
:rules="rules"
ref="formRef"
:model="item"
label-width="120px"
class="demo-form-inline"
>
<el-row>
<el-col :span="8">
<el-form-item
:label="getColumnName('TightenWrenchInfo-PO')"
prop="TightenWrenchInfo-PO"
>
<el-select
v-model="item['TightenWrenchInfo-PO']"
:disabled="isAddOrEdit == 'edit'"
placeholder="请选择"
@change="setStep"
style="width: 185px"
>
<el-option
v-for="item in operationList"
:key="item['Operation-PO']"
:label="item['Operation-StepDesc']"
:value="item['Operation-PO']"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item
:label="getColumnName('TightenWrenchInfo-StepNo')"
prop="TightenWrenchInfo-StepNo"
>
<el-input
disabled
v-model="item['TightenWrenchInfo-StepNo']"
placeholder="请选择"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item
:label="getColumnName('TightenWrenchInfo-StepDesc')"
prop="TightenWrenchInfo-StepDesc"
>
<el-input
disabled
v-model="item['TightenWrenchInfo-StepDesc']"
placeholder="请选择"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item
:label="getColumnName('TightenWrenchInfo-ProjectId')"
prop="TightenWrenchInfo-ProjectId"
>
<el-input
disabled
v-model="item['TightenWrenchInfo-ProjectId']"
placeholder="请输入"
></el-input> </el-form-item
></el-col>
<el-col :span="8">
<el-form-item
:label="getColumnName('TightenWrenchInfo-OperationId')"
prop="TightenWrenchInfo-OperationId"
>
<el-input-number
disabled
v-model="item['TightenWrenchInfo-OperationId']"
placeholder="请输入"
></el-input-number> </el-form-item
></el-col>
<el-col :span="8">
<el-form-item
:label="getColumnName('TightenWrenchInfo-WorkPlaceNr')"
prop="TightenWrenchInfo-WorkPlaceNr"
>
<el-select
:disabled="isAddOrEdit == 'edit'"
v-model="item['TightenWrenchInfo-WorkPlaceNr']"
placeholder="请选择"
@change="setStep"
>
<el-option
v-for="item in stationList"
:key="item['WorkPlace-WorkPlaceNr']"
:label="item['WorkPlace-Descr']"
:value="item['WorkPlace-WorkPlaceNr']"
>
</el-option>
</el-select> </el-form-item
></el-col>
<el-col :span="8">
<el-form-item
:label="getColumnName('TightenWrenchInfo-BrandName')"
prop="TightenWrenchInfo-BrandName"
>
<el-input
v-model="item['TightenWrenchInfo-BrandName']"
placeholder="请输入"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item
:label="getColumnName('TightenWrenchInfo-MachineType')"
prop="TightenWrenchInfo-MachineType"
>
<el-input
v-model="item['TightenWrenchInfo-MachineType']"
placeholder="请输入"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item
:label="getColumnName('TightenWrenchInfo-IpAddress')"
prop="TightenWrenchInfo-IpAddress"
>
<el-input
v-model="item['TightenWrenchInfo-IpAddress']"
placeholder="请输入"
></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<div v-for="(data, index) in item.tightenWrenchRuleInfoLi" :key="index">
<el-col :span="5">
<el-form-item
:label="getColumnName('TightenWrenchRuleInfo-RuleId')"
:prop="'tightenWrenchRuleInfoLi.' + index + '.ruleId'"
:rules="[{ required: true, message: '请输入', trigger: 'blur' }]"
>
<el-input-number
:min="0"
v-model="data.ruleId"
placeholder="请输入"
></el-input-number>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item
:label="getColumnName('TightenWrenchRuleInfo-MainControlAction')"
:prop="'tightenWrenchRuleInfoLi.' + index + '.mainControlAction'"
label-width="160px"
:rules="[{ required: true, message: '请选择', trigger: 'blur' }]"
>
<el-select v-model="data.mainControlAction" placeholder="请选择">
<el-option
v-for="item in mainControlActionList"
:key="item['stdeftab-stdeftyp']"
:label="item['stdeftab-bez']"
:value="item['stdeftab-stdeftyp']"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item
:label="getColumnName('TightenWrenchRuleInfo-ControlId')"
:prop="'tightenWrenchRuleInfoLi.' + index + '.controlId'"
:rules="[{ required: true, message: '请输入', trigger: 'blur' }]"
>
<el-input-number
:min="1"
:max="9"
v-model="data.controlId"
placeholder="请输入"
></el-input-number>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item
:label="getColumnName('TightenWrenchRuleInfo-ControlTime')"
:prop="'tightenWrenchRuleInfoLi.' + index + '.controlTime'"
label-width="140px"
:rules="[{ required: true, message: '请输入', trigger: 'blur' }]"
>
<el-input-number
:min="0"
v-model="data.controlTime"
placeholder="请输入"
></el-input-number>
</el-form-item>
</el-col>
<el-col :span="4">
<el-button
v-if="item.tightenWrenchRuleInfoLi.length > 1"
@click="clearFormItem(index)"
type="danger"
>删除</el-button
>
<el-button
v-if="index == item.tightenWrenchRuleInfoLi.length - 1"
type="primary"
@click="addFormItem"
>新增</el-button
>
</el-col>
</div>
</el-col>
</el-row>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="handleClose"> </el-button>
<el-button type="primary" @click="submitForm"> </el-button>
</span>
</el-dialog>
</template>
<script>
import {add, edit, getOperation, getTightenwrenchDetail, getStationList } from '@/api/plant/processData/openProtocol'
export default {
props:{
item:{
default:{}
},
isAddOrEdit:{
default:'add'
},
},
data(){
return{
loading:false,
rules: {
'TightenWrenchInfo-PO': [
{ required: true, message: '请选择', trigger: 'blur' }
],
'TightenWrenchInfo-StepNo': [
{ required: true, message: '请选择', trigger: 'change' }
],
'TightenWrenchInfo-StepDesc': [
{ required: true, message: '请选择', trigger: 'change' }
],
'TightenWrenchInfo-BrandName': [
{ required: true, message: '请输入', trigger: 'change' }
],
'TightenWrenchInfo-MachineType': [
{ required: true, message: '请输入', trigger: 'change' }
],
'TightenWrenchInfo-IpAddress': [
{ required: true, message: '请输入', trigger: 'change' }
],
'TightenWrenchInfo-ProjectId':[
{ required: true, message: '请输入', trigger: 'change' }
],
'TightenWrenchInfo-OperationId':[
{ required: true, message: '请输入', trigger: 'change' }
],
'TightenWrenchInfo-WorkPlaceNr': [
{ required: true, message: '请选择', trigger: 'blur' }
],
},
defaultItem:{
'ruleId':undefined,
'mainControlAction': undefined,
'controlTime': undefined,
controlId:undefined
},
operationList:[], //
mainControlActionList:[], //
stationList:[], //
}
},
methods:{
//
handleClose(){
this.$emit('setIsAddOrEdit', '')
},
//
submitForm() {
this.$refs['formRef'].validate((valid) => {
console.log(this.item);
if (valid) {
if(this.isAddOrEdit=='add'){
this.add();
}else if(this.isAddOrEdit=='edit'){
this.edit();
}
} else {
console.log('error submit!!');
return false;
}
});
},
//
add(){
this.loading=true;
add({
...this.item,
'TightenWrenchInfo-TightenWrenchRuleInfoLi': this.item.tightenWrenchRuleInfoLi.map(e=>{
e={
'TightenWrenchRuleInfo-RuleId': e.ruleId,
'TightenWrenchRuleInfo-MainControlAction': e.mainControlAction,
'TightenWrenchRuleInfo-ControlTime': e.controlTime,
'TightenWrenchRuleInfo-ControlId':e.controlId
};
return e;
})
}).then(({code, data})=>{
this.loading=false;
if(code==200){
this.msgSuccess('添加成功');
this.handleClose();
}
}).catch(()=>{
this.loading=false;
})
},
//
edit(){
this.loading=true;
edit({
...this.item,
'TightenWrenchInfo-TightenWrenchRuleInfoLi': this.item.tightenWrenchRuleInfoLi.map(e=>{
e={
'TightenWrenchRuleInfo-RuleId': e.ruleId,
'TightenWrenchRuleInfo-MainControlAction': e.mainControlAction,
'TightenWrenchRuleInfo-ControlTime': e.controlTime,
'TightenWrenchRuleInfo-ControlId':e.controlId
};
return e;
})
}).then(({code, data})=>{
this.loading=false;
if(code==200){
this.msgSuccess('编辑成功');
this.handleClose();
}
}).catch(()=>{
this.loading=false;
})
},
// form
addFormItem(){
this.item.tightenWrenchRuleInfoLi.push({...this.defaultItem});
},
// form
clearFormItem(index){
this.item.tightenWrenchRuleInfoLi.splice(index, 1)
},
//
getOperation(){
getOperation().then(({data=[]})=>{
this.operationList=data
})
},
setStep(value){
const item = this.operationList.find(e=>e['Operation-PO'] == value);
this.item['TightenWrenchInfo-StepNo']= item['Operation-StepNo'];
this.item['TightenWrenchInfo-StepDesc']= item['Operation-StepDesc'];
this.item['TightenWrenchInfo-ProjectId']= item['Operation-ProjectId'];
this.item['TightenWrenchInfo-OperationId']= item['Operation-OperationId'];
},
//
getTightenwrenchDetail(){
getTightenwrenchDetail(this.item['TightenWrenchInfo-OperationId'], this.item['TightenWrenchInfo-WorkPlaceNr']).then(({data={}})=>{
this.item={
...this.item,
tightenWrenchRuleInfoLi:(data['TightenWrenchInfo-TightenWrenchRuleInfoLi'] || []).map(e=>{
e={
ruleId: e['TightenWrenchRuleInfo-RuleId'],
mainControlAction: e['TightenWrenchRuleInfo-MainControlAction'],
controlTime: e['TightenWrenchRuleInfo-ControlTime'],
controlId: e['TightenWrenchRuleInfo-ControlId']
};
return e;
})
}
console.log(this.item);
})
},
//
getStationList(){
getStationList().then(({data=[]})=>{
this.stationList = data;
})
}
},
created(){
this.getOperation();
this.getStationList();
this.getStanderOne({ statid: 'MainControlAction' }).then(({data=[]}) => {
this.mainControlActionList=data
})
if(this.isAddOrEdit=='edit'){
this.getTightenwrenchDetail();
}else{
this.item={
...this.item,
tightenWrenchRuleInfoLi:[{...this.defaultItem}]
}
}
}
}
</script>
<style lang="scss" scoped>
.el-input-number--medium {
width: 160px;
}
.el-select {
width: 146px;
}
</style>

+ 11
- 11
src/views/system/args/snrtab.vue View File

@ -57,9 +57,9 @@
<!-- 添加或修改配置对话框 -->
<el-dialog :title="title" :visible.sync="open" width="800px" :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="130px">
<el-col v-if="isAdd" :span="12">
<el-col :span="12">
<el-form-item :label="getColumnName('snrtab-finr')" prop="snrtab-finr">
<el-select v-model="form['snrtab-finr']" placeholder="请选择车间">
<el-select :disabled="!isAdd" v-model="form['snrtab-finr']" placeholder="请选择车间">
<el-option
v-for="item in options"
:key="item.pid"
@ -69,9 +69,9 @@
</el-select>
</el-form-item>
</el-col>
<el-col v-if="isAdd" :span="12">
<el-col :span="12">
<el-form-item :label="getColumnName('snrtab-snrid')" prop="snrtab-snrid">
<el-input v-model="form['snrtab-snrid']" placeholder="请输入" />
<el-input :disabled="!isAdd" v-model="form['snrtab-snrid']" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
@ -391,18 +391,18 @@ export default {
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset()
this.isAdd = false
getSnrtab({
finr: row['snrtab-finr'],
snrid: row['snrtab-snrid']
}).then(response => {
this.form = response.data
this.form['snrtab-identifierlayout0'] = this.form['snrtab-identifierlayout'].substring(0, 1)
this.form['snrtab-identifierlayout1'] = this.form['snrtab-identifierlayout'].substring(1, 2)
this.form['snrtab-identifierlayout2'] = this.form['snrtab-identifierlayout'].substring(2, 3)
this.form['snrtab-identifierlayout3'] = this.form['snrtab-identifierlayout'].substring(3, 4)
this.form['snrtab-identifierlayout4'] = this.form['snrtab-identifierlayout'].substring(4, 5)
let form = response.data;
form['snrtab-identifierlayout0'] = form['snrtab-identifierlayout'].substring(0, 1)
form['snrtab-identifierlayout1'] = form['snrtab-identifierlayout'].substring(1, 2)
form['snrtab-identifierlayout2'] = form['snrtab-identifierlayout'].substring(2, 3)
form['snrtab-identifierlayout3'] = form['snrtab-identifierlayout'].substring(3, 4)
form['snrtab-identifierlayout4'] = form['snrtab-identifierlayout'].substring(4, 5)
this.form = JSON.parse(JSON.stringify(form));
this.open = true
this.title = '修改'
})


Loading…
Cancel
Save