Commit b9a8705f authored by 仇晓婷's avatar 仇晓婷

Merge branch 'product' of http://git.mes123.com/zhouyx/mes-ui into product

parents 2afeda48 774adbf8
...@@ -1239,3 +1239,4 @@ html [type=button] { ...@@ -1239,3 +1239,4 @@ html [type=button] {
.h100{ .h100{
height: 100%; height: 100%;
} }
\ No newline at end of file
...@@ -394,7 +394,7 @@ export default { ...@@ -394,7 +394,7 @@ export default {
this.$emit("on-drag-drop", a, b); this.$emit("on-drag-drop", a, b);
}, },
easySearch() { easySearch() {
if (this.conditions && this.conditions.keys.default) { if (this.conditions&& this.conditions.keys && this.conditions.keys.default) {
//判断没有传入条件的用默认的查询 //判断没有传入条件的用默认的查询
this.conditions.keys.value = this.keys; this.conditions.keys.value = this.keys;
} }
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
:show-upload-list="false" :show-upload-list="false"
:on-exceeded-size="onExceededSize" :on-exceeded-size="onExceededSize"
:on-format-error="onFormatError" :on-format-error="onFormatError"
multiple :multiple="multiple"
:style="style" :style="style"
:on-progress="onProgress" :on-progress="onProgress"
> >
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
</div> </div>
<Button icon="ios-cloud-upload-outline" v-if="!cloudIco">上传文件</Button> <Button icon="ios-cloud-upload-outline" v-if="!cloudIco">上传文件</Button>
</Upload> </Upload>
<Progress :percent="per" :stroke-width="5" v-show="vshowPro"/> <Progress :percent="per" :stroke-width="5" v-show="vshowPro" />
<Tag <Tag
v-for="(item,index) in nameList" v-for="(item,index) in nameList"
:key="index" :key="index"
...@@ -36,23 +36,24 @@ ...@@ -36,23 +36,24 @@
</template> </template>
<script> <script>
export default { export default {
name: 'files', name: "files",
model: { model: {
prop: 'value' prop: "value"
}, },
data() { data() {
return { return {
file: null, file: null,
downUrl: fileUrlDown, downUrl: fileUrlDown,
fileUrlPath: '', fileUrlPath: "",
nameList: [], nameList: [],
hbaseFileListNew: [], hbaseFileListNew: [],
formatList: ['png', 'jpg', 'gif'], formatList: ["png", "jpg", "gif"],
postUrl: '', multiple: true,
style: '', postUrl: "",
style: "",
per: 0, per: 0,
vshowPro: false vshowPro: false
} };
}, },
created() {}, created() {},
props: { props: {
...@@ -61,13 +62,17 @@ export default { ...@@ -61,13 +62,17 @@ export default {
type: Boolean, type: Boolean,
default: false default: false
}, },
singleFile: {//上传单文件
type: Boolean,
default: false
},
maxSize: { maxSize: {
type: Number, type: Number,
default: 10240 default: 10240
}, },
parms: { parms: {
type: [String, Object], type: [String, Object],
default: '' default: ""
}, },
unClosable: { unClosable: {
type: Boolean, type: Boolean,
...@@ -80,140 +85,177 @@ export default { ...@@ -80,140 +85,177 @@ export default {
}, },
methods: { methods: {
onProgress(event, file, fileList) { onProgress(event, file, fileList) {
this.per = 0 this.per = 0;
this.vshowPro = true this.vshowPro = true;
}, },
// change(event) { // change(event) {
// this.$emit('on-change', event) // this.$emit('on-change', event)
// }, // },
//上传成功文件 //上传成功文件
uploadSuccess(response, file, fileList) { uploadSuccess(response, file, fileList) {
this.per = 60 this.per = 60;
this.vshowPro = true this.vshowPro = true;
const hbaseFileList = [] const hbaseFileList = [];
const filesList = [] const filesList = [];
if (this.singleFile) {
this.nameList = [];
}
if (file.response.status == 0) { if (file.response.status == 0) {
let objImag = {} let objImag = {};
objImag.fileName = file.response.data.fileName objImag.fileName = file.response.data.fileName;
objImag.filePath = file.response.data.downloadPath objImag.filePath = file.response.data.downloadPath;
objImag.id = file.response.data.id objImag.id = file.response.data.id;
filesList.push(objImag) filesList.push(objImag);
this.nameList = this.nameList.concat(filesList) this.nameList = this.nameList.concat(filesList);
this.per = 100 this.per = 100;
setTimeout(() => { setTimeout(() => {
this.per = 0 this.per = 0;
this.vshowPro = false this.vshowPro = false;
}, 2000) }, 2000);
} else { } else {
this.$Message.error('上传失败,请重新上传!') this.$Message.error("上传失败,请重新上传!");
} }
}, },
//上传文件失败 //上传文件失败
uploadError(response, file, fileList) { uploadError(response, file, fileList) {
this.$Message.error('上传失败,请重新上传!') this.$Message.error("上传失败,请重新上传!");
}, },
//文件大小验证返回 //文件大小验证返回
onExceededSize(file, fileList) { onExceededSize(file, fileList) {
if (Object.keys(file).length == 0) { if (Object.keys(file).length == 0) {
this.$Message.error( this.$Message.error(
'上传文件不能大于' + this.maxSize + 'k,请重新上传!' "上传文件不能大于" + this.maxSize + "k,请重新上传!"
) );
} }
}, },
//文件格式验证 //文件格式验证
onFormatError(file, fileList) { onFormatError(file, fileList) {
if (Object.keys(file).length == 0) { if (Object.keys(file).length == 0) {
this.$Message.error('上传文件格式不正确,请重新上传!') this.$Message.error("上传文件格式不正确,请重新上传!");
} }
}, },
//删除上传 //删除上传
removeFile(file, fileList) {}, removeFile(file, fileList) {},
handleClose2(event, name) { handleClose2(event, name) {
//删除上传到文件服务器上的文件 //删除上传到文件服务器上的文件
this.$http.sysUser.deleteFile(name).then((res) => { this.$http.sysUser.deleteFile(name).then(res => {
if (res.status == 0) { if (res.status == 0) {
const index = this.nameList.findIndex(function(item) { const index = this.nameList.findIndex(function(item) {
return item.id === name return item.id === name;
}) });
this.nameList.splice(index, 1) this.nameList.splice(index, 1);
} else { } else {
this.$Message.error('删除失败!') this.$Message.error("删除失败!");
} }
}) });
}, },
downFile(path) { downFile(path) {
this.fileUrlPath = this.downUrl + path this.fileUrlPath = this.downUrl + path;
}, },
formatL() { formatL() {
if (this.files) { if (this.files) {
this.formatList = [ this.formatList = [
'pdf', "pdf",
'docx', "docx",
'doc', "doc",
'xls', "xls",
'xlsx', "xlsx",
'txt', "txt",
'png', "png",
'jpg', "jpg",
'gif' "gif"
] ];
} }
return this.formatList return this.formatList;
},
mutipleStatu() {
if (this.singleFile) {
this.multiple = false;
} else {
this.multiple = true;
}
}, },
//修改时使用 //修改时使用
intFiles() { intFiles() {
this.postUrl = this.postUrl =
fileUrl + fileUrl +
'/upload/?token=Bearer ' + "/upload/?token=Bearer " +
window.sessionStorage.getItem('token') + window.sessionStorage.getItem("token") +
'&' + "&" +
this.convertObj(this.parms) this.convertObj(this.parms);
//是否显示上传按钮
if (this.unClosable) {
this.style = "display:none;";
} else {
this.style = "";
}
this.nameList = [];
//查询上传到文件服务器上的文件
this.$http.sysUser.getFile(this.parms).then(res => {
if (res.data != [] && res.data.length > 0) {
res.data.forEach(data => {
let objImag = {};
objImag.fileName = data.fileName;
objImag.filePath = data.downloadPath;
objImag.id = data.id;
this.nameList.push(objImag);
});
}
});
},
//克隆后修改时使用
intFilesClone() {
this.postUrl =
fileUrl +
"/upload/?token=Bearer " +
window.sessionStorage.getItem("token") +
"&" +
this.convertObj(this.parms);
//是否显示上传按钮 //是否显示上传按钮
if (this.unClosable) { if (this.unClosable) {
this.style = 'display:none;' this.style = "display:none;";
} else { } else {
this.style = '' this.style = "";
} }
this.nameList = [] this.nameList = [];
//查询上传到文件服务器上的文件 //查询上传到文件服务器上的文件
this.$http.sysUser.getFile(this.parms).then((res) => { this.$http.sysUser.getFile(this.parms).then(res => {
if (res.data != [] && res.data.length > 0) { if (res.data != [] && res.data.length > 0) {
res.data.forEach((data) => { res.data.forEach(data => {
let objImag = {} let objImag = {};
objImag.fileName = data.fileName objImag.fileName = data.fileName;
objImag.filePath = data.downloadPath objImag.filePath = data.downloadPath;
objImag.id = data.id objImag.id = data.id;
this.nameList.push(objImag) this.nameList.push(objImag);
}) });
} }
}) });
}, },
//新增时重新定义posturl使用 //新增时重新定义posturl使用
intFiles1() { intFiles1() {
this.postUrl = this.postUrl =
fileUrl + fileUrl +
'/upload/?token=Bearer ' + "/upload/?token=Bearer " +
window.sessionStorage.getItem('token') + window.sessionStorage.getItem("token") +
'&' + "&" +
this.convertObj(this.parms) this.convertObj(this.parms);
}, },
//obj转为url //obj转为url
convertObj(data) { convertObj(data) {
if (data.eid != null) { if (data.eid != null) {
var _result = [] var _result = [];
for (var key in data) { for (var key in data) {
var value = data[key] var value = data[key];
if (value.constructor == Array) { if (value.constructor == Array) {
value.forEach(function(_value) { value.forEach(function(_value) {
_result.push(key + '=' + _value) _result.push(key + "=" + _value);
}) });
} else { } else {
_result.push(key + '=' + value) _result.push(key + "=" + value);
} }
} }
return _result.join('&') return _result.join("&");
} else return '' } else return "";
} }
}, },
computed: {}, computed: {},
...@@ -224,10 +266,11 @@ export default { ...@@ -224,10 +266,11 @@ export default {
// } // }
}, },
mounted() { mounted() {
this.formatL() this.formatL();
this.mutipleStatu();
// this.intFiles() // this.intFiles()
} }
} };
</script> </script>
<style lang="less"> <style lang="less">
</style> </style>
\ No newline at end of file
...@@ -1192,41 +1192,50 @@ export default { ...@@ -1192,41 +1192,50 @@ export default {
versionid: '版本ID', versionid: '版本ID',
isSendPpm: '发送PPM', isSendPpm: '发送PPM',
}, },
routing_detail: { routing_detail:{
id: '', id:'',
creationTime: '创建时间', creationTime:'创建时间',
creatorUserId: '创建人', creatorUserId:'创建人',
lastModificationTime: '修改时间', lastModificationTime:'最近修改时间',
lastModifierUserId: '修改人', lastModifierUserId:'最近修改人',
isDeleted: '是否删除', isDeleted:'是否删除',
deleterUserId: '删除人', deleterUserId:'删除人',
deletionTime: '删除时间', deletionTime:'删除时间',
classId: '', classId:'',
routingHeaderId: '工艺ID', routingHeaderId:'工艺规程id',
name: '工序名', name:'工序名称',
taskSeq: '工序号', taskSeq:'工序号',
description: '工序名称详细描述', description:'备注',
taskContent: '工序内容', taskContent:'工序内容',
resourceId: '设备', resourceId:'资源ID',
resourceType: '设备类型', resourceType:'资源类型',
runtime: '单件排产工时', runtime:'单件排产工时',
performancehours: '绩效工时', setupTime:'工序准备工时',
transportTime:'转运工时',
setupTime: '工序准备工时', checkTime:'检验工时',
transportTime: '转运工时', checkFlag:'检验标识',
checkTime: '检验工时', efficiencyValue:'效率系数',
checkFlag: '检验标识', singleOut:'单件产出',
efficiencyValue: '效率系数', isOutside:'是否外协',
singleOut: '单件产出', departmentId:'工序的承制车间',
isOutside: '是否外协', isImportant:'是否关键工序',
departmentId: '工序的承制单位', milestoneId:'里程碑',
isImportant: '是否关键工序', phaseId:'阶段id',
milestoneId: '里程碑', status:'状态',
phaseId: '阶段', remark:'备注',
status: '状态', extend:'扩展字段',
remark: '备注', outsideTime:'外协工期',
extend: '扩展字段', performanceHours:'绩效工时',
outsideTime: '外协工期', resourceCode:'资源编号',
isImportantResources:'关重资源',
schedulingWorkingHours:'排产准结工时',
realWorkingHours:'实作准结工时',
realRuntime:'实作单件工时',
performanceWorkingHours:'绩效准结工时',
isParticipateIntime:'是否参与工时分配',
equipType:'设备类型',
equipTypeId:'设备类型ID',
note:'备注',
}, },
RoutingSupporting: { RoutingSupporting: {
id: '', id: '',
...@@ -1280,32 +1289,6 @@ export default { ...@@ -1280,32 +1289,6 @@ export default {
stepContent: '工步内容', stepContent: '工步内容',
extend: '扩展字段', extend: '扩展字段',
}, },
routing_qc_card: {
id: '',
creationTime: '创建时间',
creatorUserId: '创建人',
lastModificationTime: '修改时间',
lastModifierUserId: '修改人',
isDeleted: '是否删除',
deleterUserId: '删除人',
deletionTime: '删除时间',
routingHeaderId: '工艺',
routingDetailId: '工序',
routingStepId: '工步',
checkContent: '检验内容',
checkType: '检验标记',
checkParams: '参数名称',
measurementUnit: '单位',
fillintype: '汇报类型',
qualityTemplate: '模板',
isphotograph: '是否拍照',
status: '状态',
extend: '扩展字段',
remark: '备注',
productionRequirement: '生产要求',
standard: '标准指标',
qualityTemplateName: '模板文件名称',
},
plan_resource: { plan_resource: {
id: '', id: '',
creationTime: '创建时间', creationTime: '创建时间',
...@@ -1347,7 +1330,6 @@ export default { ...@@ -1347,7 +1330,6 @@ export default {
checkParams: '检测要求', checkParams: '检测要求',
measurementUnit: '测量单位', measurementUnit: '测量单位',
fillintype: '填报类型', fillintype: '填报类型',
qualityTemplate: '模板',
isphotograph: '是否拍照', isphotograph: '是否拍照',
status: '状态', status: '状态',
extend: '扩展字段', extend: '扩展字段',
...@@ -1355,6 +1337,7 @@ export default { ...@@ -1355,6 +1337,7 @@ export default {
productionRequirement: '生产要求', productionRequirement: '生产要求',
standard: '标准指标', standard: '标准指标',
qualityTemplateName: '模板名称', qualityTemplateName: '模板名称',
qualityTemplate: '模板',
isImportant: '关键检验', isImportant: '关键检验',
firstCheck: '首件检验', firstCheck: '首件检验',
inspection: '巡检', inspection: '巡检',
......
...@@ -864,10 +864,11 @@ export default { ...@@ -864,10 +864,11 @@ export default {
sendOk() { sendOk() {
this.$refs.orderSend.$refs["formValidate"].validate(valid => { this.$refs.orderSend.$refs["formValidate"].validate(valid => {
if (valid) { if (valid) {
let objInfo = this.$refs.orderSend.returnData();
let ids = this.arrayIds; let ids = this.arrayIds;
let parms = []; let parms = [];
ids.forEach(e => { ids.forEach(e => {
let objInfo = this.$refs.orderSend.returnData();
objInfo.id = e; objInfo.id = e;
parms.push(objInfo); parms.push(objInfo);
}); });
......
<style lang="less"> <style lang="less">
@import "./technolog.less"; @import './technolog.less';
.details_box{
background: #f5f7f9;
display: flex;
margin: 0 20px;
flex-direction: column;
.details_body{
flex-grow: 1;
// width: 561px;
text-align: center;
background: white;
.ivu-menu-horizontal {
height: 50px;
line-height: 50px;
border-left: 1px solid #ccc;
background: #f5f7f9;
z-index: 888;
.ivu-menu-item{
width: 140px;
border-right: 1px solid #E0E0E0;
border-bottom: 1px solid #E0E0E0;
border-top: 1px solid #E0E0E0;
background: rgba(243,243,243,1);
}
.ivu-menu-item-active.ivu-menu-item-selected{
background: #fff;
border-top: 2px solid #2d8cf0;
border-bottom: 1px solid #fff;
}
}
}
.bottom_box{
padding: 5px 20px;
background: white;
border: 1px solid #ccc;
border-top: 0;
}
}
</style> </style>
<template> <template>
<Layout class="details_box"> <div class="details_box">
<Header>
<h4 class="details_top tc">
<a class="back_href" @click="back">
<Icon type="ios-undo-outline" />返回工艺规程
</a>
<div>工艺信息:{{info}}</div>
</h4>
<div class="details_body"> <div class="details_body">
<Menu mode="horizontal" theme="light" active-name="1"> <Menu mode="horizontal" theme="light" active-name="0">
<MenuItem name="1" to="/technology/details/working">工序</MenuItem> <MenuItem name="0" :to="'/technology/details?id='+headerId">工序</MenuItem>
<MenuItem name="2" to="/technology/details/routingqccard">质控卡</MenuItem> <MenuItem name="1" :to="'/technology/details/routingStep?id='+headerId">工步</MenuItem>
<MenuItem name="3" to="/technology/details/routingsupporting">工艺BOM</MenuItem> <MenuItem name="2" :to="'/technology/details/routingqccard?id='+headerId">质控卡</MenuItem>
<MenuItem name="4" to="/technology/details/setup/setupDetails">生产准备</MenuItem> <MenuItem name="3" :to="'/technology/details/routingsupporting?id='+headerId">工艺BOM</MenuItem>
<!-- <MenuItem name="4" to="/technology/details/setup/setupDetails">生产准备</MenuItem> -->
</Menu> </Menu>
</div> </div>
</Header> <div class="bottom_box">
<Layout class="bottom_box"> {{headerId}}
<nuxt-child keep-alive :info="info"></nuxt-child> <nuxt-child keep-alive :headerid="headerId"></nuxt-child>
</Layout> </div>
</Layout> </div>
</template> </template>
<script> <script>
import Api from "./api"; import Api from "./api";
export default { export default {
layout:"empty",
components: {}, components: {},
data() { data() {
return { return {
showMenu:true, showMenu:true,
treeHeight: '', treeHeight: '',
actNum:'1', actNum:'1',
info:"", headerId:-1
urlQccard:'',
} }
}, },
created() { created() {
this.treeHeight = window.innerHeight - 140 console.log("xiang",this.$route,this.router)
this.headerId=this.$route.query.id;
}, },
async fetch({ store, params }) { async fetch({ store, params }) {
await store.dispatch('loadDictionary') // 加载数据字典 await store.dispatch('loadDictionary') // 加载数据字典
}, },
mounted() { mounted() {
this.getRoutingheaderInfo()
window.onresize = () => {
///浏览器窗口大小变化
return (() => {
this.treeHeight = window.innerHeight - 140
})()
}
}, },
computed: { }, computed: { },
methods: { methods: {
getRoutingheaderInfo()
{
let params={
id:this.$http.common.getquerystring('id')
}
Api.get(params).then(r=>{
this.info=r.result.name
}).catch(err=>{
this.$Message.error("连接错误")
})
},
back(){
this.$router.push({
name: "technology",
// params: { transmitData: lemData }
});
},
}, },
watch:{
}
} }
</script> </script>
<template>
<Form ref="form" :model="entity" :rules="rules" :label-width="90">
<Row>
<Col :span="12"><FormItem :label="l('classId')" prop="classId"> <InputNumber v-model="entity.classId"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('routingHeaderId')" prop="routingHeaderId"> <InputNumber v-model="entity.routingHeaderId"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('name')" prop="name"> <Input v-model="entity.name"> </Input>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('taskSeq')" prop="taskSeq"> <InputNumber v-model="entity.taskSeq"></InputNumber>
</FormItem></Col>
<Col :span="24"><FormItem :label="l('description')" prop="description"> <Input v-model="entity.description" type="textarea" :rows="5"></Input>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('taskContent')" prop="taskContent"> <Input v-model="entity.taskContent"> </Input>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('resourceId')" prop="resourceId"> <InputNumber v-model="entity.resourceId"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('resourceType')" prop="resourceType"> <Dictionary code="Process.routing_detail.resource_type" v-model="entity.resourceType"></Dictionary>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('runtime')" prop="runtime"> <InputNumber v-model="entity.runtime"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('setupTime')" prop="setupTime"> <InputNumber v-model="entity.setupTime"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('transportTime')" prop="transportTime"> <InputNumber v-model="entity.transportTime"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('checkTime')" prop="checkTime"> <InputNumber v-model="entity.checkTime"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('checkFlag')" prop="checkFlag"> <Dictionary code="Process.routing_detail.check_flag" v-model="entity.checkFlag"></Dictionary>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('efficiencyValue')" prop="efficiencyValue"> <InputNumber v-model="entity.efficiencyValue"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('singleOut')" prop="singleOut"> <InputNumber v-model="entity.singleOut"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('isOutside')" prop="isOutside"> <Dictionary code="Process.state" v-model="entity.isOutside"></Dictionary>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('departmentId')" prop="departmentId"> <InputNumber v-model="entity.departmentId"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('isImportant')" prop="isImportant"> <Dictionary code="Process.state" v-model="entity.isImportant"></Dictionary>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('milestoneId')" prop="milestoneId"> <InputNumber v-model="entity.milestoneId"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('phaseId')" prop="phaseId"> <InputNumber v-model="entity.phaseId"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('status')" prop="status"> <Dictionary code="Process.Status" v-model="entity.status"></Dictionary>
</FormItem></Col>
<Col :span="24"><FormItem :label="l('remark')" prop="remark"> <Input v-model="entity.remark" type="textarea" :rows="5"></Input>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('extend')" prop="extend"> <Input v-model="entity.extend"> </Input>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('outsideTime')" prop="outsideTime"> <InputNumber v-model="entity.outsideTime"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('performanceHours')" prop="performanceHours"> <InputNumber v-model="entity.performanceHours"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('resourceCode')" prop="resourceCode"> <Input v-model="entity.resourceCode"> </Input>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('isImportantResources')" prop="isImportantResources"> <Dictionary code="Process.state" v-model="entity.isImportantResources"></Dictionary>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('schedulingWorkingHours')" prop="schedulingWorkingHours"> <InputNumber v-model="entity.schedulingWorkingHours"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('realWorkingHours')" prop="realWorkingHours"> <InputNumber v-model="entity.realWorkingHours"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('realRuntime')" prop="realRuntime"> <InputNumber v-model="entity.realRuntime"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('performanceWorkingHours')" prop="performanceWorkingHours"> <InputNumber v-model="entity.performanceWorkingHours"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('isParticipateIntime')" prop="isParticipateIntime"> <Dictionary code="Process.state" v-model="entity.isParticipateIntime"></Dictionary>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('equipType')" prop="equipType"> <Input v-model="entity.equipType"> </Input>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('equipTypeId')" prop="equipTypeId"> <InputNumber v-model="entity.equipTypeId"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('note')" prop="note"> <Input v-model="entity.note"> </Input>
</FormItem></Col>
</Row>
<FormItem>
<Button type="primary" @click="handleSubmit" :disabled="disabled">保存</Button>
<Button @click="handleClose" class="ml20">取消</Button>
</FormItem>
</Form>
</template>
<script>
import Api from './api'
export default {
name: 'Add',
data() {
return {
disabled: false,
entity: {classId: null,
routingHeaderId: null,
name: "",
taskSeq: null,
description: "",
taskContent: "",
resourceId: null,
resourceType: null,
runtime: null,
setupTime: null,
transportTime: null,
checkTime: null,
checkFlag: null,
efficiencyValue: null,
singleOut: null,
isOutside: null,
departmentId: null,
isImportant: null,
milestoneId: null,
phaseId: null,
status: null,
remark: "",
extend: "",
outsideTime: null,
performanceHours: null,
resourceCode: "",
isImportantResources: null,
schedulingWorkingHours: null,
realWorkingHours: null,
realRuntime: null,
performanceWorkingHours: null,
isParticipateIntime: null,
equipType: "",
equipTypeId: null,
note: ""},
rules: {
name: [{ required: true, message: '必填', trigger: 'blur' }]
}
}
},
props: {
v: Object,
eid: Number
},
mounted() {
if (this.eid > 0) {
this.load(this.eid);
}
},
methods: {
handleSubmit() {
this.$refs.form.validate((v) => {
if (v) {
this.disabled = true;
Api.create(this.entity).then((r) => {
this.disabled = false;
if (r.success) {
this.$Message.success('保存成功')
this.$emit('on-ok')
} else {
this.$Message.error('保存失败')
}
}).catch(err => {
this.disabled = false;
this.$Message.error('保存失败')
console.warn(err)
})
}
})
},
handleClose() {
this.$emit('on-close')
},
load(v) {
Api.get({ id: v }).then(r => {
this.entity = r.result;
this.entity.id = 0;
});
},
l(key) {
key = "routing_detail" + "." + key;
return this.$t(key)
}
},
watch: {
v() {
this.entity = this.$u.clone(this.v)
},
eid(v) {
if (v > 0) {
this.load(v);
}
}
}
}
</script>
\ No newline at end of file
import Api from '@/plugins/request'
export default {
index:`${technologyUrl}routingdetail/paged`,
paged(params){
return Api.post(`${technologyUrl}routingdetail/paged`,params);
},
get(params){
return Api.get(`${technologyUrl}routingdetail/get`,params);
},
create(params){
return Api.post(`${technologyUrl}routingdetail/create`,params);
},
update(params){
return Api.post(`${technologyUrl}routingdetail/update`,params);
},
delete(id) {
return Api.delete(`${technologyUrl}routingdetail/delete`,{params:{id:id}});
},
deletes(params) {
return Api.post(`${technologyUrl}routingdetail/batchdelete`,params);
}
}
\ No newline at end of file
<template>
<div class="detail">
<Row>
<Filed :span="12" :name="l('classId')">{{entity.classId}}</Filed>
<Filed :span="12" :name="l('routingHeaderId')">{{entity.routingHeaderId}}</Filed>
<Filed :span="12" :name="l('name')">{{entity.name}}</Filed>
<Filed :span="12" :name="l('taskSeq')">{{entity.taskSeq}}</Filed>
<Filed :span="24" :name="l('description')">{{entity.description}}</Filed>
<Filed :span="12" :name="l('taskContent')">{{entity.taskContent}}</Filed>
<Filed :span="12" :name="l('resourceId')">{{entity.resourceId}}</Filed>
<Filed :span="12" :name="l('resourceType')">{{entity.resourceType}}</Filed>
<Filed :span="12" :name="l('runtime')">{{entity.runtime}}</Filed>
<Filed :span="12" :name="l('setupTime')">{{entity.setupTime}}</Filed>
<Filed :span="12" :name="l('transportTime')">{{entity.transportTime}}</Filed>
<Filed :span="12" :name="l('checkTime')">{{entity.checkTime}}</Filed>
<Filed :span="12" :name="l('checkFlag')">{{entity.checkFlag}}</Filed>
<Filed :span="12" :name="l('efficiencyValue')">{{entity.efficiencyValue}}</Filed>
<Filed :span="12" :name="l('singleOut')">{{entity.singleOut}}</Filed>
<Filed :span="12" :name="l('isOutside')">{{entity.isOutside}}</Filed>
<Filed :span="12" :name="l('departmentId')">{{entity.departmentId}}</Filed>
<Filed :span="12" :name="l('isImportant')">{{entity.isImportant}}</Filed>
<Filed :span="12" :name="l('milestoneId')">{{entity.milestoneId}}</Filed>
<Filed :span="12" :name="l('phaseId')">{{entity.phaseId}}</Filed>
<Filed :span="12" :name="l('status')">{{entity.status}}</Filed>
<Filed :span="24" :name="l('remark')">{{entity.remark}}</Filed>
<Filed :span="12" :name="l('extend')">{{entity.extend}}</Filed>
<Filed :span="12" :name="l('outsideTime')">{{entity.outsideTime}}</Filed>
<Filed :span="12" :name="l('performanceHours')">{{entity.performanceHours}}</Filed>
<Filed :span="12" :name="l('resourceCode')">{{entity.resourceCode}}</Filed>
<Filed :span="12" :name="l('isImportantResources')">{{entity.isImportantResources}}</Filed>
<Filed :span="12" :name="l('schedulingWorkingHours')">{{entity.schedulingWorkingHours}}</Filed>
<Filed :span="12" :name="l('realWorkingHours')">{{entity.realWorkingHours}}</Filed>
<Filed :span="12" :name="l('realRuntime')">{{entity.realRuntime}}</Filed>
<Filed :span="12" :name="l('performanceWorkingHours')">{{entity.performanceWorkingHours}}</Filed>
<Filed :span="12" :name="l('isParticipateIntime')">{{entity.isParticipateIntime}}</Filed>
<Filed :span="12" :name="l('equipType')">{{entity.equipType}}</Filed>
<Filed :span="12" :name="l('equipTypeId')">{{entity.equipTypeId}}</Filed>
<Filed :span="12" :name="l('note')">{{entity.note}}</Filed>
</Row>
</div>
</template>
<script>
import Api from './api'
export default {
name: 'Add',
data() {
return {
entity: {},
rules: {
name: [{ required: true, message: '必填', trigger: 'blur' }],
code: [{ required: true, message: '必填', trigger: 'blur' }]
}
}
},
props: {
eid: Number
},
mounted() {
if (this.eid > 0) {
this.load(this.eid);
}
},
methods: {
load(v) {
Api.get({ id: v }).then(r => {
this.entity = r.result;
this.$emit('on-load')
})
},
handleClose() {
this.$emit('on-close')
},
l(key) {
key = "routing_detail" + "." + key;
return this.$t(key)
}
},
watch: {
eid(v) {
if (v > 0) {
this.load(v);
}
}
}
}
</script>
\ No newline at end of file
<template>
<Form ref="form" :model="entity" :rules="rules" :label-width="90">
<Row>
<Col :span="12"><FormItem :label="l('classId')" prop="classId"> <InputNumber v-model="entity.classId"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('routingHeaderId')" prop="routingHeaderId"> <InputNumber v-model="entity.routingHeaderId"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('name')" prop="name"> <Input v-model="entity.name"> </Input>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('taskSeq')" prop="taskSeq"> <InputNumber v-model="entity.taskSeq"></InputNumber>
</FormItem></Col>
<Col :span="24"><FormItem :label="l('description')" prop="description"> <Input v-model="entity.description" type="textarea" :rows="5"></Input>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('taskContent')" prop="taskContent"> <Input v-model="entity.taskContent"> </Input>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('resourceId')" prop="resourceId"> <InputNumber v-model="entity.resourceId"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('resourceType')" prop="resourceType"> <Dictionary code="Process.routing_detail.resource_type" v-model="entity.resourceType"></Dictionary>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('runtime')" prop="runtime"> <InputNumber v-model="entity.runtime"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('setupTime')" prop="setupTime"> <InputNumber v-model="entity.setupTime"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('transportTime')" prop="transportTime"> <InputNumber v-model="entity.transportTime"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('checkTime')" prop="checkTime"> <InputNumber v-model="entity.checkTime"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('checkFlag')" prop="checkFlag"> <Dictionary code="Process.routing_detail.check_flag" v-model="entity.checkFlag"></Dictionary>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('efficiencyValue')" prop="efficiencyValue"> <InputNumber v-model="entity.efficiencyValue"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('singleOut')" prop="singleOut"> <InputNumber v-model="entity.singleOut"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('isOutside')" prop="isOutside"> <Dictionary code="Process.state" v-model="entity.isOutside"></Dictionary>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('departmentId')" prop="departmentId"> <InputNumber v-model="entity.departmentId"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('isImportant')" prop="isImportant"> <Dictionary code="Process.state" v-model="entity.isImportant"></Dictionary>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('milestoneId')" prop="milestoneId"> <InputNumber v-model="entity.milestoneId"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('phaseId')" prop="phaseId"> <InputNumber v-model="entity.phaseId"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('status')" prop="status"> <Dictionary code="Process.Status" v-model="entity.status"></Dictionary>
</FormItem></Col>
<Col :span="24"><FormItem :label="l('remark')" prop="remark"> <Input v-model="entity.remark" type="textarea" :rows="5"></Input>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('extend')" prop="extend"> <Input v-model="entity.extend"> </Input>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('outsideTime')" prop="outsideTime"> <InputNumber v-model="entity.outsideTime"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('performanceHours')" prop="performanceHours"> <InputNumber v-model="entity.performanceHours"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('resourceCode')" prop="resourceCode"> <Input v-model="entity.resourceCode"> </Input>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('isImportantResources')" prop="isImportantResources"> <Dictionary code="Process.state" v-model="entity.isImportantResources"></Dictionary>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('schedulingWorkingHours')" prop="schedulingWorkingHours"> <InputNumber v-model="entity.schedulingWorkingHours"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('realWorkingHours')" prop="realWorkingHours"> <InputNumber v-model="entity.realWorkingHours"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('realRuntime')" prop="realRuntime"> <InputNumber v-model="entity.realRuntime"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('performanceWorkingHours')" prop="performanceWorkingHours"> <InputNumber v-model="entity.performanceWorkingHours"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('isParticipateIntime')" prop="isParticipateIntime"> <Dictionary code="Process.state" v-model="entity.isParticipateIntime"></Dictionary>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('equipType')" prop="equipType"> <Input v-model="entity.equipType"> </Input>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('equipTypeId')" prop="equipTypeId"> <InputNumber v-model="entity.equipTypeId"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('note')" prop="note"> <Input v-model="entity.note"> </Input>
</FormItem></Col>
</Row>
<FormItem>
<Button type="primary" @click="handleSubmit" :disabled="disabled">保存</Button>
<Button @click="handleClose" class="ml20">取消</Button>
</FormItem>
</Form>
</template>
<script>
import Api from './api'
export default {
name: 'Edit',
data() {
return {
disabled: false,
entity: {
},
rules: {
name: [{ required: true, message: '必填', trigger: 'blur' }]
}
}
},
props: {
eid: Number
},
mounted() {
if (this.eid > 0) {
this.load(this.eid);
}
},
methods: {
load(v) {
Api.get({ id: v }).then(r => {
this.entity = r.result;
})
},
handleSubmit() {
this.$refs.form.validate((v) => {
if (v) {
this.disabled = true;
Api.update(this.entity).then((r) => {
this.disabled = false;
if (r.success) {
this.$Message.success('保存成功')
this.$emit('on-ok')
} else {
this.$Message.error('保存失败')
}
}).catch(err => {
this.disabled = false;
this.$Message.error('保存失败')
console.warn(err)
})
}
})
},
handleClose() {
this.$emit('on-close')
},
l(key) {
key = "routing_detail" + "." + key;
return this.$t(key)
}
},
watch: {
eid(v) {
if (v != 0) {
this.load(v);
}
}
}
}
</script>
\ No newline at end of file
This diff is collapsed.
<template>
<Form ref="form" :model="entity" :rules="rules" :label-width="90">
<Row>
<Col :span="12"><FormItem :label="l('creationTime')" prop="creationTime"> <DatePicker type="date" v-model="entity.creationTime"></DatePicker>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('creatorUserId')" prop="creatorUserId"> <InputNumber v-model="entity.creatorUserId"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('lastModificationTime')" prop="lastModificationTime"> <DatePicker type="date" v-model="entity.lastModificationTime"></DatePicker>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('lastModifierUserId')" prop="lastModifierUserId"> <InputNumber v-model="entity.lastModifierUserId"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('isDeleted')" prop="isDeleted"> <Input v-model="entity.isDeleted"> </Input>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('deleterUserId')" prop="deleterUserId"> <InputNumber v-model="entity.deleterUserId"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('deletionTime')" prop="deletionTime"> <DatePicker type="date" v-model="entity.deletionTime"></DatePicker>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('routingHeaderId')" prop="routingHeaderId"> <InputNumber v-model="entity.routingHeaderId"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('routingDetailId')" prop="routingDetailId"> <InputNumber v-model="entity.routingDetailId"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('classId')" prop="classId"> <InputNumber v-model="entity.classId"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('stepSeq')" prop="stepSeq"> <InputNumber v-model="entity.stepSeq"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('name')" prop="name"> <Input v-model="entity.name"> </Input>
</FormItem></Col>
<Col :span="24"><FormItem :label="l('description')" prop="description"> <Input v-model="entity.description" type="textarea" :rows="5"></Input>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('status')" prop="status"> <Dictionary code="Process.Status" v-model="entity.status"></Dictionary>
</FormItem></Col>
<Col :span="24"><FormItem :label="l('remark')" prop="remark"> <Input v-model="entity.remark" type="textarea" :rows="5"></Input>
</FormItem></Col>
<Col :span="24"><FormItem :label="l('stepContent')" prop="stepContent"> <Input v-model="entity.stepContent" type="textarea" :rows="5"></Input>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('extend')" prop="extend"> <Input v-model="entity.extend"> </Input>
</FormItem></Col>
</Row>
<FormItem>
<Button type="primary" @click="handleSubmit" :disabled="disabled">保存</Button>
<Button @click="handleClose" class="ml20">取消</Button>
</FormItem>
</Form>
</template>
<script>
import Api from './api'
export default {
name: 'Add',
data() {
return {
disabled: false,
entity: {creationTime: null,
creatorUserId: null,
lastModificationTime: null,
lastModifierUserId: null,
isDeleted: null,
deleterUserId: null,
deletionTime: null,
routingHeaderId: null,
routingDetailId: null,
classId: null,
stepSeq: null,
name: "",
description: "",
status: null,
remark: "",
stepContent: "",
extend: ""},
rules: {
name: [{ required: true, message: '必填', trigger: 'blur' }]
}
}
},
props: {
v: Object,
eid: Number
},
mounted() {
if (this.eid > 0) {
this.load(this.eid);
}
},
methods: {
handleSubmit() {
this.$refs.form.validate((v) => {
if (v) {
this.disabled = true;
Api.create(this.entity).then((r) => {
this.disabled = false;
if (r.success) {
this.$Message.success('保存成功')
this.$emit('on-ok')
} else {
this.$Message.error('保存失败')
}
}).catch(err => {
this.disabled = false;
this.$Message.error('保存失败')
console.warn(err)
})
}
})
},
handleClose() {
this.$emit('on-close')
},
load(v) {
Api.get({ id: v }).then(r => {
this.entity = r.result;
this.entity.id = 0;
});
},
l(key) {
key = "routing_step" + "." + key;
return this.$t(key)
}
},
watch: {
v() {
this.entity = this.$u.clone(this.v)
},
eid(v) {
if (v > 0) {
this.load(v);
}
}
}
}
</script>
\ No newline at end of file
import Api from '@/plugins/request'
export default {
index:`${technologyUrl}routingstep/paged`,
paged(params){
return Api.post(`${technologyUrl}routingstep/paged`,params);
},
get(params){
return Api.get(`${technologyUrl}routingstep/get`,params);
},
create(params){
return Api.post(`${technologyUrl}routingstep/create`,params);
},
update(params){
return Api.post(`${technologyUrl}routingstep/update`,params);
},
delete(id) {
return Api.delete(`${technologyUrl}routingstep/delete`,{params:{id:id}});
},
deletes(params) {
return Api.post(`${technologyUrl}routingstep/batchdelete`,params);
}
}
\ No newline at end of file
<template>
<div class="detail">
<Row>
<Filed :span="12" :name="l('creationTime')">{{entity.creationTime}}</Filed>
<Filed :span="12" :name="l('creatorUserId')">{{entity.creatorUserId}}</Filed>
<Filed :span="12" :name="l('lastModificationTime')">{{entity.lastModificationTime}}</Filed>
<Filed :span="12" :name="l('lastModifierUserId')">{{entity.lastModifierUserId}}</Filed>
<Filed :span="12" :name="l('isDeleted')">{{entity.isDeleted}}</Filed>
<Filed :span="12" :name="l('deleterUserId')">{{entity.deleterUserId}}</Filed>
<Filed :span="12" :name="l('deletionTime')">{{entity.deletionTime}}</Filed>
<Filed :span="12" :name="l('routingHeaderId')">{{entity.routingHeaderId}}</Filed>
<Filed :span="12" :name="l('routingDetailId')">{{entity.routingDetailId}}</Filed>
<Filed :span="12" :name="l('classId')">{{entity.classId}}</Filed>
<Filed :span="12" :name="l('stepSeq')">{{entity.stepSeq}}</Filed>
<Filed :span="12" :name="l('name')">{{entity.name}}</Filed>
<Filed :span="24" :name="l('description')">{{entity.description}}</Filed>
<Filed :span="12" :name="l('status')">{{entity.status}}</Filed>
<Filed :span="24" :name="l('remark')">{{entity.remark}}</Filed>
<Filed :span="24" :name="l('stepContent')">{{entity.stepContent}}</Filed>
<Filed :span="12" :name="l('extend')">{{entity.extend}}</Filed>
</Row>
</div>
</template>
<script>
import Api from './api'
export default {
name: 'Add',
data() {
return {
entity: {},
rules: {
name: [{ required: true, message: '必填', trigger: 'blur' }],
code: [{ required: true, message: '必填', trigger: 'blur' }]
}
}
},
props: {
eid: Number
},
mounted() {
if (this.eid > 0) {
this.load(this.eid);
}
},
methods: {
load(v) {
Api.get({ id: v }).then(r => {
this.entity = r.result;
this.$emit('on-load')
})
},
handleClose() {
this.$emit('on-close')
},
l(key) {
key = "routing_step" + "." + key;
return this.$t(key)
}
},
watch: {
eid(v) {
if (v > 0) {
this.load(v);
}
}
}
}
</script>
\ No newline at end of file
<template>
<Form ref="form" :model="entity" :rules="rules" :label-width="90">
<Row>
<Col :span="12"><FormItem :label="l('creationTime')" prop="creationTime"> <DatePicker type="date" v-model="entity.creationTime"></DatePicker>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('creatorUserId')" prop="creatorUserId"> <InputNumber v-model="entity.creatorUserId"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('lastModificationTime')" prop="lastModificationTime"> <DatePicker type="date" v-model="entity.lastModificationTime"></DatePicker>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('lastModifierUserId')" prop="lastModifierUserId"> <InputNumber v-model="entity.lastModifierUserId"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('isDeleted')" prop="isDeleted"> <Input v-model="entity.isDeleted"> </Input>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('deleterUserId')" prop="deleterUserId"> <InputNumber v-model="entity.deleterUserId"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('deletionTime')" prop="deletionTime"> <DatePicker type="date" v-model="entity.deletionTime"></DatePicker>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('routingHeaderId')" prop="routingHeaderId"> <InputNumber v-model="entity.routingHeaderId"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('routingDetailId')" prop="routingDetailId"> <InputNumber v-model="entity.routingDetailId"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('classId')" prop="classId"> <InputNumber v-model="entity.classId"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('stepSeq')" prop="stepSeq"> <InputNumber v-model="entity.stepSeq"></InputNumber>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('name')" prop="name"> <Input v-model="entity.name"> </Input>
</FormItem></Col>
<Col :span="24"><FormItem :label="l('description')" prop="description"> <Input v-model="entity.description" type="textarea" :rows="5"></Input>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('status')" prop="status"> <Dictionary code="Process.Status" v-model="entity.status"></Dictionary>
</FormItem></Col>
<Col :span="24"><FormItem :label="l('remark')" prop="remark"> <Input v-model="entity.remark" type="textarea" :rows="5"></Input>
</FormItem></Col>
<Col :span="24"><FormItem :label="l('stepContent')" prop="stepContent"> <Input v-model="entity.stepContent" type="textarea" :rows="5"></Input>
</FormItem></Col>
<Col :span="12"><FormItem :label="l('extend')" prop="extend"> <Input v-model="entity.extend"> </Input>
</FormItem></Col>
</Row>
<FormItem>
<Button type="primary" @click="handleSubmit" :disabled="disabled">保存</Button>
<Button @click="handleClose" class="ml20">取消</Button>
</FormItem>
</Form>
</template>
<script>
import Api from './api'
export default {
name: 'Edit',
data() {
return {
disabled: false,
entity: {
},
rules: {
name: [{ required: true, message: '必填', trigger: 'blur' }]
}
}
},
props: {
eid: Number
},
mounted() {
if (this.eid > 0) {
this.load(this.eid);
}
},
methods: {
load(v) {
Api.get({ id: v }).then(r => {
this.entity = r.result;
})
},
handleSubmit() {
this.$refs.form.validate((v) => {
if (v) {
this.disabled = true;
Api.update(this.entity).then((r) => {
this.disabled = false;
if (r.success) {
this.$Message.success('保存成功')
this.$emit('on-ok')
} else {
this.$Message.error('保存失败')
}
}).catch(err => {
this.disabled = false;
this.$Message.error('保存失败')
console.warn(err)
})
}
})
},
handleClose() {
this.$emit('on-close')
},
l(key) {
key = "routing_step" + "." + key;
return this.$t(key)
}
},
watch: {
eid(v) {
if (v != 0) {
this.load(v);
}
}
}
}
</script>
\ No newline at end of file
<template> <template>
<div> <div>
<DataGrid :columns="columns" ref="grid" :action="action"><template slot="easySearch"><Form ref="formInline" :model="easySearch" inline><FormItem prop="keys"><Input placeholder="请输入关键字unicode/工艺名称/工艺编号" v-model="easySearch.keys.value" /> </FormItem> <DataGrid :columns="columns" ref="grid" :action="action"><template slot="easySearch"><Form ref="formInline" :model="easySearch" inline><FormItem prop="keys"><Input placeholder="请输入关键字工步名称/描述/备注/工步内容" v-model="easySearch.keys.value" /> </FormItem>
<FormItem><Button type="primary" @click="search">查询</Button></FormItem> <FormItem><Button type="primary" @click="search">查询</Button></FormItem>
</Form></template> </Form></template>
<template slot="searchForm"> <template slot="searchForm">
...@@ -24,15 +24,15 @@ export default { ...@@ -24,15 +24,15 @@ export default {
Search Search
}, },
head: { head: {
title: "工艺规程", title: "工",
author: "henq", author: "henq",
description: "routing_header 4/26/2020 10:12:38 AM", description: "routing_step 4/28/2020 4:23:17 PM",
}, },
data() { data() {
return { return {
action: Api.index, action: Api.index,
easySearch: { easySearch: {
keys:{op:"unicode,name,code",value:null} keys:{op:"name,description,remark,stepContent",value:null}
}, },
modal: false, modal: false,
title:"新增", title:"新增",
...@@ -40,33 +40,17 @@ keys:{op:"unicode,name,code",value:null} ...@@ -40,33 +40,17 @@ keys:{op:"unicode,name,code",value:null}
curId: 0, curId: 0,
columns: [ columns: [
{ key:"id",title:this.l("id") ,hide:true ,align:"left" }, { key:"id",title:this.l("id") ,hide:true ,align:"left" },
{ key:"creationTime",title:this.l("creationTime") ,align:"left" ,high:true }, { key:"creationTime",title:this.l("creationTime") ,hide:true ,align:"left" ,high:true },
{ key:"creatorUserId",title:this.l("creatorUserId") ,align:"left" ,high:true }, { key:"creatorUserId",title:this.l("creatorUserId") ,hide:true ,align:"left" ,high:true },
{ key:"lastModificationTime",title:this.l("lastModificationTime") ,align:"left" ,high:true }, { key:"lastModificationTime",title:this.l("lastModificationTime") ,hide:true ,align:"left" ,high:true },
{ key:"lastModifierUserId",title:this.l("lastModifierUserId") ,align:"left" ,high:true }, { key:"lastModifierUserId",title:this.l("lastModifierUserId") ,hide:true ,align:"left" ,high:true },
{ key:"classId",title:this.l("classId") ,align:"left" ,high:true }, { key:"routingHeaderId",title:this.l("routingHeaderId") ,hide:true ,align:"left" },
{ key:"unicode",title:this.l("unicode") ,align:"left" ,easy:true ,high:true }, { key:"routingDetailId",title:this.l("routingDetailId") ,hide:true ,align:"left" },
{ key:"classId",title:this.l("classId") ,hide:true ,align:"left" },
{ key:"stepSeq",title:this.l("stepSeq") ,align:"left" ,high:true },
{ key:"name",title:this.l("name") ,align:"left" ,easy:true ,high:true }, { key:"name",title:this.l("name") ,align:"left" ,easy:true ,high:true },
{ key:"code",title:this.l("code") ,align:"left" ,easy:true ,high:true }, { key:"description",title:this.l("description") ,align:"left" ,easy:true ,high:true },
{ key:"productId",title:this.l("productId") ,align:"left" ,high:true },
{ key:"version",title:this.l("version") ,align:"left" ,high:true },
{ key:"author",title:this.l("author") ,align:"left" ,high:true },
{ key:"departmentId",title:this.l("departmentId") ,align:"left" ,high:true },
{ key:"isMain",title:this.l("isMain") ,align:"left" ,high:true ,code:'Process.state' },
{ key:"upId",title:this.l("upId") ,align:"left" ,high:true },
{ key:"upDetailId",title:this.l("upDetailId") ,hide:true ,align:"left" ,high:true },
{ key:"routingType",title:this.l("routingType") ,align:"left" ,high:true ,code:'Process.Routing.routingType' },
{ key:"status",title:this.l("status") ,align:"left" ,high:true ,code:'Process.Status' }, { key:"status",title:this.l("status") ,align:"left" ,high:true ,code:'Process.Status' },
{ key:"approvalStatus",title:this.l("approvalStatus") ,align:"left" ,high:true ,code:'process.RoutingStatus' },
{ key:"approvalStatusRemark",title:this.l("approvalStatusRemark") ,align:"left" ,high:true },
{ key:"auditUserId1",title:this.l("auditUserId1") ,align:"left" ,high:true },
{ key:"auditUserId2",title:this.l("auditUserId2") ,align:"left" ,high:true },
{ key:"platesnum",title:this.l("platesnum") ,align:"left" ,high:true },
{ key:"isEffect",title:this.l("isEffect") ,align:"left" ,high:true ,code:'Process.Status' },
{ key:"versionnotes",title:this.l("versionnotes") ,align:"left" ,high:true },
{ key:"phase",title:this.l("phase") ,align:"left" ,high:true ,code:'Process.Routing.phase' },
{ key:"versionid",title:this.l("versionid") ,align:"left" ,high:true ,code:'Process.Routing.version' },
{ key:"isSendPpm",title:this.l("isSendPpm") ,align:"left" ,high:true ,code:'Process.Status' },
{ {
title: '操作', title: '操作',
key: 'action', key: 'action',
...@@ -137,42 +121,28 @@ keys:{op:"unicode,name,code",value:null} ...@@ -137,42 +121,28 @@ keys:{op:"unicode,name,code",value:null}
}, },
l(key) { l(key) {
/* /*
routing_header:{ routing_step:{
id:'', id:'',
creationTime:'创建时间', creationTime:'创建时间',
creatorUserId:'创建人', creatorUserId:'创建人',
lastModificationTime:'最近修改时间', lastModificationTime:'最近修改时间',
lastModifierUserId:'最近修改人', lastModifierUserId:'最近修改人',
deleterUserId:'上传人', isDeleted:'是否删除',
deleterUserId:'删除人',
deletionTime:'删除时间', deletionTime:'删除时间',
classId:'类id', routingHeaderId:'工艺规程id',
unicode:'unicode', routingDetailId:'工序id',
name:'工艺名称', classId:'',
code:'工艺编号', stepSeq:'工步号',
productId:'产品id', name:'工步名称',
version:'版本', description:'描述',
author:'作者',
departmentId:'主制车间',
isMain:'主工艺',
upId:'父工艺',
upDetailId:'',
routingType:'工艺类型',
status:'状态', status:'状态',
approvalStatus:'审批状态',
remark:'备注', remark:'备注',
approvalStatusRemark:'审批备注', stepContent:'工步内容',
auditUserId1:'审批人', extend:'扩展字段',
auditUserId2:'审批人',
isDeleted:'是否删除',
platesnum:'板数',
isEffect:'是否有效',
versionnotes:'版本说明',
phase:'阶段',
versionid:'版本ID',
isSendPpm:'是否发送PPM',
} }
*/ */
let vkey = "routing_header" + "." + key; let vkey = "routing_step" + "." + key;
return this.$t(vkey)||key return this.$t(vkey)||key
} }
} }
......
<template>
<Form ref="form" :model="condition" :label-width="90">
<Row>
<Col :span="12" :v-if="condition.creationTime.show"><FormItem :label="l('creationTime')" prop="creationTime"> <DatePicker type="daterange" v-model="condition.creationTime.value"></DatePicker>
</FormItem></Col>
<Col :span="12" :v-if="condition.creatorUserId.show"><FormItem :label="l('creatorUserId')" prop="creatorUserId"> <Input v-model="condition.creatorUserId.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.lastModificationTime.show"><FormItem :label="l('lastModificationTime')" prop="lastModificationTime"> <DatePicker type="daterange" v-model="condition.lastModificationTime.value"></DatePicker>
</FormItem></Col>
<Col :span="12" :v-if="condition.lastModifierUserId.show"><FormItem :label="l('lastModifierUserId')" prop="lastModifierUserId"> <Input v-model="condition.lastModifierUserId.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.stepSeq.show"><FormItem :label="l('stepSeq')" prop="stepSeq"> <Input v-model="condition.stepSeq.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.name.show"><FormItem :label="l('name')" prop="name"> <Input v-model="condition.name.value"> </Input>
</FormItem></Col>
<Col :span="24" :v-if="condition.description.show"><FormItem :label="l('description')" prop="description"> <Input v-model="condition.description.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.status.show"><FormItem :label="l('status')" prop="status"> <Dictionary code="Process.Status" v-model="condition.status.value"></Dictionary>
</FormItem></Col>
<Col :span="24" :v-if="condition.remark.show"><FormItem :label="l('remark')" prop="remark"> <Input v-model="condition.remark.value"> </Input>
</FormItem></Col>
<Col :span="24" :v-if="condition.stepContent.show"><FormItem :label="l('stepContent')" prop="stepContent"> <Input v-model="condition.stepContent.value"> </Input>
</FormItem></Col>
</Row>
</Form>
</template>
<script>
import Api from './api'
export default {
name: 'Add',
data() {
return {
condition: {
creationTime:{op:"Range",value:null,show:true},
creatorUserId:{op:"Equal",value:null,show:true},
lastModificationTime:{op:"Range",value:null,show:true},
lastModifierUserId:{op:"Equal",value:null,show:true},
stepSeq:{op:"Equal",value:null,show:true},
name:{op:"Equal",value:null,show:true},
description:{op:"Equal",value:null,show:true},
status:{op:"Equal",value:null,show:true},
remark:{op:"Equal",value:null,show:true},
stepContent:{op:"Equal",value:null,show:true},
},
}
},
methods: {
handleClose() {
this.$emit('on-close')
},
l(key) {
key = "routing_step" + "." + key;
return this.$t(key)
}
}
}
</script>
\ No newline at end of file
...@@ -47,14 +47,19 @@ ...@@ -47,14 +47,19 @@
<InputNumber v-model="entity.routingStepId"></InputNumber> <InputNumber v-model="entity.routingStepId"></InputNumber>
</FormItem> </FormItem>
</Col> </Col>
-->
<Col :span="12"> <Col :span="12">
<FormItem :label="l('routingHeaderName')" prop="routingHeaderId"> <FormItem :label="l('routingHeaderName')" prop="routingHeaderId">
<!--<InputNumber v-model="entity.routingHeaderId"></InputNumber>--> <InputNumber v-model="entity.routingHeaderId"></InputNumber>
181
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="12">
<FormItem :label="l('qualityTemplate')" prop="qualityTemplate">
<Input v-model="entity.qualityTemplate" type="textarea" :rows="2"></Input>
</FormItem>
</Col>
-->
<Col :span="8">
<FormItem :label="l('routingDetailName')" prop="routingDetailId"> <FormItem :label="l('routingDetailName')" prop="routingDetailId">
<Select v-model="entity.routingDetailId"> <Select v-model="entity.routingDetailId">
<Option <Option
...@@ -65,64 +70,29 @@ ...@@ -65,64 +70,29 @@
</Select> </Select>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="8">
<FormItem :label="l('checkContent')" prop="checkContent"> <FormItem :label="l('standard')" prop="standard">
<Input v-model="entity.checkContent"></Input> <Input v-model="entity.standard"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('measurementUnit')" prop="measurementUnit">
<Input v-model="entity.measurementUnit"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('checkType')" prop="checkType">
<Dictionary code="QC.checktype" v-model="entity.checkType"></Dictionary>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="8">
<FormItem :label="l('fillintype')" prop="fillintype"> <FormItem :label="l('fillintype')" prop="fillintype">
<Dictionary code="QC.fillintype" v-model="entity.fillintype"></Dictionary> <Dictionary code="QC.fillintype" v-model="entity.fillintype"></Dictionary>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12">
<FormItem :label="l('checkParams')" prop="checkParams">
<Input v-model="entity.checkParams" type="textarea" :rows="2"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('qualityTemplate')" prop="qualityTemplate">
<Input v-model="entity.qualityTemplate" type="textarea" :rows="2"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('isphotograph')" prop="isphotograph">
<Dictionary code="Process.state" v-model="entity.isphotograph" type="radio"></Dictionary>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('status')" prop="status">
<Dictionary code="Process.Status" v-model="entity.status" type="radio"></Dictionary>
</FormItem>
</Col>
<Col :span="24">
<FormItem :label="l('remark')" prop="remark">
<Input v-model="entity.remark" type="textarea" :rows="2"></Input>
</FormItem>
</Col>
<Col :span="12"> <Col :span="12">
<FormItem :label="l('productionRequirement')" prop="productionRequirement"> <FormItem :label="l('productionRequirement')" prop="productionRequirement">
<Input v-model="entity.productionRequirement" type="textarea" :rows="2"></Input> <Input v-model="entity.productionRequirement" type="textarea" :rows="2"></Input>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="12">
<FormItem :label="l('standard')" prop="standard"> <FormItem :label="l('checkContent')" prop="checkContent">
<Input v-model="entity.standard" type="textarea" :rows="2"></Input> <Input v-model="entity.checkContent" type="textarea" :rows="2"></Input>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="24">
<FormItem :label="l('qualityTemplateName')" prop="qualityTemplateName"> <FormItem :label="l('qualityTemplateName')" prop="qualityTemplateName">
<Input v-model="entity.qualityTemplateName"></Input> <files ref="refFile" :parms="parms" files singleFile />
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="12">
...@@ -135,26 +105,58 @@ ...@@ -135,26 +105,58 @@
<Dictionary code="Process.state" v-model="entity.firstCheck" type="radio"></Dictionary> <Dictionary code="Process.state" v-model="entity.firstCheck" type="radio"></Dictionary>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="6">
<FormItem :label="l('inspection')" prop="inspection"> <FormItem :label="l('inspection')" prop="inspection">
<Dictionary code="Process.state" v-model="entity.inspection" type="radio"></Dictionary> <Dictionary code="Process.state" v-model="entity.inspection" type="radio"></Dictionary>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="6">
<FormItem :label="l('inspectionTime')" prop="inspectionTime"> <FormItem :label="l('inspectionTime')" prop="inspectionTime">
<InputNumber v-model="entity.inspectionTime"></InputNumber> <InputNumber v-model="entity.inspectionTime"></InputNumber>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="6">
<FormItem :label="l('sampling')" prop="sampling"> <FormItem :label="l('sampling')" prop="sampling">
<Dictionary code="Process.state" v-model="entity.sampling" type="radio"></Dictionary> <Dictionary code="Process.state" v-model="entity.sampling" type="radio"></Dictionary>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="6">
<FormItem :label="l('samplingBatch')" prop="samplingBatch"> <FormItem :label="l('samplingBatch')" prop="samplingBatch">
<Input v-model="entity.samplingBatch"></Input> <Input v-model="entity.samplingBatch"></Input>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="24">
<FormItem :label="l('measurementUnit')" prop="measurementUnit">
<Input v-model="entity.measurementUnit"></Input>
</FormItem>
</Col>
<Col :span="8">
<FormItem :label="l('checkType')" prop="checkType">
<Dictionary code="QC.checktype" v-model="entity.checkType"></Dictionary>
</FormItem>
</Col>
<Col :span="8">
<FormItem :label="l('isphotograph')" prop="isphotograph">
<Dictionary code="Process.state" v-model="entity.isphotograph" type="radio"></Dictionary>
</FormItem>
</Col>
<Col :span="8">
<FormItem :label="l('status')" prop="status">
<Dictionary code="Process.Status" v-model="entity.status" type="radio"></Dictionary>
</FormItem>
</Col>
<Col :span="24">
<FormItem :label="l('checkParams')" prop="checkParams">
<Input v-model="entity.checkParams" type="textarea" :rows="2"></Input>
</FormItem>
</Col>
<Col :span="24">
<FormItem :label="l('remark')" prop="remark">
<Input v-model="entity.remark" type="textarea" :rows="2"></Input>
</FormItem>
</Col>
</Row> </Row>
<FormItem> <FormItem>
<Button type="primary" @click="handleSubmit" :disabled="disabled">保存</Button> <Button type="primary" @click="handleSubmit" :disabled="disabled">保存</Button>
...@@ -196,7 +198,13 @@ export default { ...@@ -196,7 +198,13 @@ export default {
rules: { rules: {
name: [{ required: true, message: "必填", trigger: "blur" }] name: [{ required: true, message: "必填", trigger: "blur" }]
}, },
routingDetailList: [] routingDetailList: [],
parms: {
app: 'qccard',
eid: null,
name: '',
field: ''
}
}; };
}, },
props: { props: {
...@@ -205,6 +213,8 @@ export default { ...@@ -205,6 +213,8 @@ export default {
}, },
mounted() { mounted() {
this.loadDetails(); this.loadDetails();
this.parms.eid = this.$u.guid()
this.$refs.refFile.intFiles()
if (this.eid > 0) { if (this.eid > 0) {
this.load(this.eid); this.load(this.eid);
} }
...@@ -214,12 +224,29 @@ export default { ...@@ -214,12 +224,29 @@ export default {
this.$refs.form.validate(v => { this.$refs.form.validate(v => {
if (v) { if (v) {
this.disabled = true; this.disabled = true;
this.entity.qualityTemplateName = ''
this.entity.qualityTemplate=''
if (this.$refs.refFile.nameList.length > 0) {
let nameList=this.$refs.refFile.nameList
let names=[]
let url=[]
nameList.forEach(e => {
names.push(e.fileName)
url.push(e.filePath)
});
this.entity.qualityTemplateName = JSON.stringify(names).replace('[','').replace(']','').replace(/\"/g,'')//附件本地库暂存文件名称
this.entity.qualityTemplate=JSON.stringify(url).replace('[','').replace(']','').replace(/\"/g,'')
}
Api.create(this.entity) Api.create(this.entity)
.then(r => { .then(r => {
this.disabled = false; this.disabled = false;
if (r.success) { if (r.success) {
this.$Message.success("保存成功"); this.$Message.success("保存成功");
this.$emit("on-ok"); this.$emit("on-ok");
//let newId = r.result
//this.updateEid(newId) //更新服务器上的id
} else { } else {
this.$Message.error("保存失败"); this.$Message.error("保存失败");
} }
...@@ -257,6 +284,20 @@ export default { ...@@ -257,6 +284,20 @@ export default {
}); });
this.routingDetailList = tempD; this.routingDetailList = tempD;
}); });
},
//新增时将uid转为eid
updateEid(newId) {
let parms = {
eid: this.parms.eid,
id: newId + ''
}
this.$http.sysUser.updateEid(parms).then((res) => {
if (res.status) {
// this.$Message.success('修改成功!')
} else {
//this.$Message.error('修改失败!')
}
})
}, },
l(key) { l(key) {
key = "routing_qc_card" + "." + key; key = "routing_qc_card" + "." + key;
......
<template> <template>
<div class="detail"> <div class="detail">
<Row> <Row>
<Filed :span="12" :name="l('routingHeaderName')">{{entity.routingHeaderId}}</Filed> <Filed :span="12" :name="l('routingHeaderName')" v-if="false">{{entity.routingHeaderId}}</Filed>
<Filed :span="12" :name="l('routingDetailName')">{{entity.routingDetailId}}</Filed> <Filed :span="12" :name="l('routingDetailName')">{{entity.routingDetailId}}</Filed>
<Filed :span="12" :name="l('routingStepId')" v-if="false">{{entity.routingStepId}}</Filed> <Filed :span="12" :name="l('standard')">{{entity.standard}}</Filed>
<Filed :span="12" :name="l('fillintype')">
<state code="QC.fillintype" :value="entity.fillintype+''" type="text"></state>
</Filed>
<Filed :span="12" :name="l('productionRequirement')">{{entity.productionRequirement}}</Filed>
<Filed :span="12" :name="l('checkContent')">{{entity.checkContent}}</Filed> <Filed :span="12" :name="l('checkContent')">{{entity.checkContent}}</Filed>
<Filed :span="12" :name="l('qualityTemplateName')"><a :href="downUrl+entity.qualityTemplate" target="_blank">{{entity.qualityTemplateName}}</a></Filed>
<Filed :span="12" :name="l('isImportant')">
<state code="Process.state" :value="entity.isImportant+''" type="text"></state>
</Filed>
<Filed :span="12" :name="l('firstCheck')">
<state code="Process.state" :value="entity.firstCheck+''" type="text"></state>
</Filed>
<Filed :span="12" :name="l('inspection')">
<state code="Process.state" :value="entity.inspection+''" type="text"></state>
</Filed>
<Filed :span="12" :name="l('inspectionTime')">{{entity.inspectionTime}}</Filed>
<Filed :span="12" :name="l('sampling')">
<state code="Process.state" :value="entity.sampling+''" type="text"></state>
</Filed>
<Filed :span="12" :name="l('samplingBatch')">{{entity.samplingBatch}}</Filed>
<Filed :span="12" :name="l('checkType')"> <Filed :span="12" :name="l('checkType')">
<state <state code="QC.checktype" v-modev="entity.checkType+''"></state>
code="QC.checktype"
:value="entity.checkType+''"
type="text"
></state>
</Filed> </Filed>
<Filed :span="24" :name="l('checkParams')">{{entity.checkParams}}</Filed> <Filed :span="12" :name="l('routingStepId')" v-if="false">{{entity.routingStepId}}</Filed>
<Filed :span="12" :name="l('checkParams')">{{entity.checkParams}}</Filed>
<Filed :span="12" :name="l('measurementUnit')">{{entity.measurementUnit}}</Filed> <Filed :span="12" :name="l('measurementUnit')">{{entity.measurementUnit}}</Filed>
<Filed :span="12" :name="l('fillintype')">
<state
code="QC.fillintype"
:value="entity.fillintype+''"
type="text"
></state>
</Filed>
<Filed :span="24" :name="l('qualityTemplate')">{{entity.qualityTemplate}}</Filed>
<Filed :span="12" :name="l('isphotograph')">{{entity.isphotograph}}</Filed> <Filed :span="12" :name="l('isphotograph')">{{entity.isphotograph}}</Filed>
<Filed :span="12" :name="l('status')"><state <Filed :span="12" :name="l('status')">
code="Process.state" <state code="Process.state" :value="entity.status+''" type="text"></state>
:value="entity.status+''" </Filed>
type="text"
></state></Filed>
<Filed :span="12" :name="l('extend')" v-if="false">{{entity.extend}}</Filed> <Filed :span="12" :name="l('extend')" v-if="false">{{entity.extend}}</Filed>
<Filed :span="24" :name="l('remark')">{{entity.remark}}</Filed> <Filed :span="24" :name="l('remark')">{{entity.remark}}</Filed>
<Filed :span="24" :name="l('productionRequirement')">{{entity.productionRequirement}}</Filed>
<Filed :span="24" :name="l('standard')">{{entity.standard}}</Filed>
<Filed :span="12" :name="l('qualityTemplateName')">{{entity.qualityTemplateName}}</Filed>
<Filed :span="12" :name="l('isImportant')"><state
code="Process.state"
:value="entity.isImportant+''"
type="text"
></state></Filed>
<Filed :span="12" :name="l('firstCheck')"><state
code="Process.state"
:value="entity.firstCheck+''"
type="text"
></state></Filed>
<Filed :span="12" :name="l('inspection')"><state
code="Process.state"
:value="entity.inspection+''"
type="text"
></state></Filed>
<Filed :span="12" :name="l('inspectionTime')">{{entity.inspectionTime}}</Filed>
<Filed :span="12" :name="l('sampling')">
<state
code="Process.state"
:value="entity.sampling+''"
type="text"
></state></Filed>
<Filed :span="12" :name="l('samplingBatch')">{{entity.samplingBatch}}</Filed>
<Filed :span="12" :name="l('creationTime')">{{entity.creationTime}}</Filed> <Filed :span="12" :name="l('creationTime')">{{entity.creationTime}}</Filed>
<Filed :span="12" :name="l('creatorUserId')"><User :value="entity.creatorUserId"></User></Filed> <Filed :span="12" :name="l('creatorUserId')">
<User :value="entity.creatorUserId"></User>
</Filed>
<Filed :span="12" :name="l('lastModificationTime')">{{entity.lastModificationTime}}</Filed> <Filed :span="12" :name="l('lastModificationTime')">{{entity.lastModificationTime}}</Filed>
<Filed :span="12" :name="l('lastModifierUserId')"><User v-model="entity.lastModifierUserId"></User></Filed> <Filed :span="12" :name="l('lastModifierUserId')">
<User v-model="entity.lastModifierUserId"></User>
</Filed>
<!-- <Filed :span="12" :name="l('isDeleted')">{{entity.isDeleted}}</Filed> <!-- <Filed :span="12" :name="l('isDeleted')">{{entity.isDeleted}}</Filed>
<Filed :span="12" :name="l('deleterUserId')">{{entity.deleterUserId}}</Filed> <Filed :span="12" :name="l('deleterUserId')">{{entity.deleterUserId}}</Filed>
<Filed :span="12" :name="l('deletionTime')">{{entity.deletionTime}}</Filed> <Filed :span="12" :name="l('deletionTime')">{{entity.deletionTime}}</Filed>
...@@ -77,7 +64,15 @@ export default { ...@@ -77,7 +64,15 @@ export default {
rules: { rules: {
name: [{ required: true, message: "必填", trigger: "blur" }], name: [{ required: true, message: "必填", trigger: "blur" }],
code: [{ required: true, message: "必填", trigger: "blur" }] code: [{ required: true, message: "必填", trigger: "blur" }]
} },
parms: {
app: 'contract',
eid: null,
name: '',
field: ''
},
downUrl: fileUrlDown,
fileUrlPath: "",
}; };
}, },
props: { props: {
...@@ -92,6 +87,8 @@ export default { ...@@ -92,6 +87,8 @@ export default {
load(v) { load(v) {
Api.get({ id: v }).then(r => { Api.get({ id: v }).then(r => {
this.entity = r.result; this.entity = r.result;
this.parms.eid = r.result.id
this.$refs.refFile.intFiles()
this.$emit("on-load"); this.$emit("on-load");
}); });
}, },
......
...@@ -48,75 +48,41 @@ ...@@ -48,75 +48,41 @@
</FormItem> </FormItem>
</Col> </Col>
--> -->
<Col :span="12"> <Col :span="8">
<FormItem :label="l('routingHeaderId')" prop="routingHeaderId"> <FormItem :label="l('routingDetailName')" prop="routingDetailId">
<InputNumber v-model="entity.routingHeaderId"></InputNumber> <Select v-model="entity.routingDetailId">
</FormItem> <Option
</Col> v-for="(item,index) in routingDetailList"
<Col :span="12"> :value="item.value"
<FormItem :label="l('routingDetailId')" prop="routingDetailId"> :key="index"
<InputNumber v-model="entity.routingDetailId"></InputNumber> >{{ item.label }}</Option>
</FormItem> </Select>
</Col> </FormItem>
<Col :span="12"> </Col>
<FormItem :label="l('checkContent')" prop="checkContent"> <Col :span="8">
<Input v-model="entity.checkContent"></Input> <FormItem :label="l('standard')" prop="standard">
</FormItem> <Input v-model="entity.standard"></Input>
</Col>
<Col :span="12">
<FormItem :label="l('measurementUnit')" prop="measurementUnit">
<Input v-model="entity.measurementUnit"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('checkType')" prop="checkType">
<Dictionary code="QC.checktype" v-model="entity.checkType"></Dictionary>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="8">
<FormItem :label="l('fillintype')" prop="fillintype"> <FormItem :label="l('fillintype')" prop="fillintype">
<Dictionary code="QC.fillintype" v-model="entity.fillintype"></Dictionary> <Dictionary code="QC.fillintype" v-model="entity.fillintype"></Dictionary>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12">
<FormItem :label="l('checkParams')" prop="checkParams">
<Input v-model="entity.checkParams" type="textarea" :rows="2"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('qualityTemplate')" prop="qualityTemplate">
<Input v-model="entity.qualityTemplate" type="textarea" :rows="2"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('isphotograph')" prop="isphotograph">
<Dictionary code="Process.state" v-model="entity.isphotograph" type="radio"></Dictionary>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('status')" prop="status">
<Dictionary code="Process.Status" v-model="entity.status" type="radio"></Dictionary>
</FormItem>
</Col>
<Col :span="24">
<FormItem :label="l('remark')" prop="remark">
<Input v-model="entity.remark" type="textarea" :rows="2"></Input>
</FormItem>
</Col>
<Col :span="12"> <Col :span="12">
<FormItem :label="l('productionRequirement')" prop="productionRequirement"> <FormItem :label="l('productionRequirement')" prop="productionRequirement">
<Input v-model="entity.productionRequirement" type="textarea" :rows="2"></Input> <Input v-model="entity.productionRequirement" type="textarea" :rows="2"></Input>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="12">
<FormItem :label="l('standard')" prop="standard"> <FormItem :label="l('checkContent')" prop="checkContent">
<Input v-model="entity.standard" type="textarea" :rows="2"></Input> <Input v-model="entity.checkContent" type="textarea" :rows="2"></Input>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="24">
<FormItem :label="l('qualityTemplateName')" prop="qualityTemplateName"> <FormItem :label="l('qualityTemplateName')" prop="qualityTemplateName">
<Input v-model="entity.qualityTemplateName"></Input> <Input v-model="entity.qualityTemplateName"></Input>
<files ref="refFile" :parms="parms" files singleFile/>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="12">
...@@ -129,26 +95,58 @@ ...@@ -129,26 +95,58 @@
<Dictionary code="Process.state" v-model="entity.firstCheck" type="radio"></Dictionary> <Dictionary code="Process.state" v-model="entity.firstCheck" type="radio"></Dictionary>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="6">
<FormItem :label="l('inspection')" prop="inspection"> <FormItem :label="l('inspection')" prop="inspection">
<Dictionary code="Process.state" v-model="entity.inspection" type="radio"></Dictionary> <Dictionary code="Process.state" v-model="entity.inspection" type="radio"></Dictionary>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="6">
<FormItem :label="l('inspectionTime')" prop="inspectionTime"> <FormItem :label="l('inspectionTime')" prop="inspectionTime">
<InputNumber v-model="entity.inspectionTime"></InputNumber> <InputNumber v-model="entity.inspectionTime"></InputNumber>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="6">
<FormItem :label="l('sampling')" prop="sampling"> <FormItem :label="l('sampling')" prop="sampling">
<Dictionary code="Process.state" v-model="entity.sampling" type="radio"></Dictionary> <Dictionary code="Process.state" v-model="entity.sampling" type="radio"></Dictionary>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="6">
<FormItem :label="l('samplingBatch')" prop="samplingBatch"> <FormItem :label="l('samplingBatch')" prop="samplingBatch">
<Input v-model="entity.samplingBatch"></Input> <Input v-model="entity.samplingBatch"></Input>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="24">
<FormItem :label="l('measurementUnit')" prop="measurementUnit">
<Input v-model="entity.measurementUnit"></Input>
</FormItem>
</Col>
<Col :span="8">
<FormItem :label="l('checkType')" prop="checkType">
<Dictionary code="QC.checktype" v-model="entity.checkType"></Dictionary>
</FormItem>
</Col>
<Col :span="8">
<FormItem :label="l('isphotograph')" prop="isphotograph">
<Dictionary code="Process.state" v-model="entity.isphotograph" type="radio"></Dictionary>
</FormItem>
</Col>
<Col :span="8">
<FormItem :label="l('status')" prop="status">
<Dictionary code="Process.Status" v-model="entity.status" type="radio"></Dictionary>
</FormItem>
</Col>
<Col :span="24">
<FormItem :label="l('checkParams')" prop="checkParams">
<Input v-model="entity.checkParams" type="textarea" :rows="2"></Input>
</FormItem>
</Col>
<Col :span="24">
<FormItem :label="l('remark')" prop="remark">
<Input v-model="entity.remark" type="textarea" :rows="2"></Input>
</FormItem>
</Col>
</Row> </Row>
<FormItem> <FormItem>
<Button type="primary" @click="handleSubmit" :disabled="disabled">保存</Button> <Button type="primary" @click="handleSubmit" :disabled="disabled">保存</Button>
...@@ -166,6 +164,13 @@ export default { ...@@ -166,6 +164,13 @@ export default {
entity: {}, entity: {},
rules: { rules: {
name: [{ required: true, message: "必填", trigger: "blur" }] name: [{ required: true, message: "必填", trigger: "blur" }]
},
routingDetailList: [],
parms: {
app: 'qccard',
eid: null,
name: '',
field: ''
} }
}; };
}, },
...@@ -173,6 +178,7 @@ export default { ...@@ -173,6 +178,7 @@ export default {
eid: Number eid: Number
}, },
mounted() { mounted() {
this.loadDetails();
if (this.eid > 0) { if (this.eid > 0) {
this.load(this.eid); this.load(this.eid);
} }
...@@ -180,6 +186,7 @@ export default { ...@@ -180,6 +186,7 @@ export default {
methods: { methods: {
load(v) { load(v) {
Api.get({ id: v }).then(r => { Api.get({ id: v }).then(r => {
this.$refs.refFile.intFilesClone()
this.entity = r.result; this.entity = r.result;
}); });
}, },
...@@ -208,6 +215,24 @@ export default { ...@@ -208,6 +215,24 @@ export default {
handleClose() { handleClose() {
this.$emit("on-close"); this.$emit("on-close");
}, },
loadDetails() {
//获取工序列表
let parms = {
headerID: 181
};
Api.pagedDetails(parms).then(r => {
let tempDetails = r.result;
let tempD = [];
tempDetails.forEach(data => {
let tempObj = {};
tempObj.value = data.id;
tempObj.label = data.name;
tempD.push(tempObj);
})
this.routingDetailList = tempD
});
},
l(key) { l(key) {
key = "routing_qc_card" + "." + key; key = "routing_qc_card" + "." + key;
return this.$t(key); return this.$t(key);
......
...@@ -129,13 +129,6 @@ export default { ...@@ -129,13 +129,6 @@ export default {
high: true, high: true,
code: "QC.fillintype" code: "QC.fillintype"
}, },
{
key: "qualityTemplate",
title: this.l("qualityTemplate"),
align: "left",
easy: true,
high: true
},
{ {
key: "isphotograph", key: "isphotograph",
title: this.l("isphotograph"), title: this.l("isphotograph"),
...@@ -169,7 +162,19 @@ export default { ...@@ -169,7 +162,19 @@ export default {
title: this.l("qualityTemplateName"), title: this.l("qualityTemplateName"),
align: "left", align: "left",
easy: true, easy: true,
high: true high: true,
render: (h, params) => {
return h("div", { class: "action" }, [
h(
"op",
{
attrs: { oprate: "detail" },
on: { click: () => this.view(params.row.id) }
},
params.row.qualityTemplateName
)
]);
}
}, },
{ {
key: "isImportant", key: "isImportant",
...@@ -247,7 +252,9 @@ export default { ...@@ -247,7 +252,9 @@ export default {
]); ]);
} }
} }
] ],
downUrl: fileUrlDown,
fileUrlPath: ""
}; };
}, },
mounted() { mounted() {
...@@ -301,6 +308,10 @@ export default { ...@@ -301,6 +308,10 @@ export default {
this.curId = 0; this.curId = 0;
this.modal = false; this.modal = false;
}, },
openTemplate(url) {
this.fileUrlPath = this.downUrl + path;
alert(this.fileUrlPath)
},
l(key) { l(key) {
let vkey = "routing_qc_card" + "." + key; let vkey = "routing_qc_card" + "." + key;
return this.$t(vkey) || key; return this.$t(vkey) || key;
......
...@@ -18,17 +18,17 @@ ...@@ -18,17 +18,17 @@
</FormItem> </FormItem>
</Col> </Col>
--> -->
<Col :span="12"> <Col :span="8">
<FormItem :label="l('routingHeaderId')" prop="routingHeaderId"> <FormItem :label="l('routingHeaderId')" prop="routingHeaderId">
<InputNumber v-model="entity.routingHeaderId"></InputNumber> <InputNumber v-model="entity.routingHeaderId"></InputNumber>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="8">
<FormItem :label="l('routingDetailId')" prop="routingDetailId"> <FormItem :label="l('routingDetailId')" prop="routingDetailId">
<InputNumber v-model="entity.routingDetailId"></InputNumber> <InputNumber v-model="entity.routingDetailId"></InputNumber>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="8">
<FormItem :label="l('materialType')" prop="materialType"> <FormItem :label="l('materialType')" prop="materialType">
<Dictionary <Dictionary
code="mes_xingchi_resource.material.materialReType" code="mes_xingchi_resource.material.materialReType"
...@@ -36,64 +36,64 @@ ...@@ -36,64 +36,64 @@
></Dictionary> ></Dictionary>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="8">
<FormItem :label="l('materialNumber')" prop="materialNumber"> <FormItem :label="l('materialNumber')" prop="materialNumber">
<Input v-model="entity.materialNumber"></Input> <Input v-model="entity.materialNumber"></Input>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="8">
<FormItem :label="l('nameMaterial')" prop="nameMaterial"> <FormItem :label="l('nameMaterial')" prop="nameMaterial">
<Input v-model="entity.nameMaterial"></Input> <Input v-model="entity.nameMaterial"></Input>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="8">
<FormItem :label="l('quantity')" prop="quantity"> <FormItem :label="l('quantity')" prop="quantity">
<InputNumber v-model="entity.quantity"></InputNumber> <InputNumber v-model="entity.quantity"></InputNumber>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="8">
<FormItem :label="l('brand')" prop="brand"> <FormItem :label="l('brand')" prop="brand">
<Input v-model="entity.brand"></Input> <Input v-model="entity.brand"></Input>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="8">
<FormItem :label="l('specifications')" prop="specifications"> <FormItem :label="l('specifications')" prop="specifications">
<Input v-model="entity.specifications"></Input> <Input v-model="entity.specifications"></Input>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="8">
<FormItem :label="l('xhgg')" prop="xhgg"> <FormItem :label="l('xhgg')" prop="xhgg">
<Input v-model="entity.xhgg"></Input> <Input v-model="entity.xhgg"></Input>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="8">
<FormItem :label="l('texture')" prop="texture"> <FormItem :label="l('texture')" prop="texture">
<Input v-model="entity.texture"></Input> <Input v-model="entity.texture"></Input>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="8">
<FormItem :label="l('procurementStandards')" prop="procurementStandards"> <FormItem :label="l('procurementStandards')" prop="procurementStandards">
<Input v-model="entity.procurementStandards"></Input> <Input v-model="entity.procurementStandards"></Input>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="8">
<FormItem :label="l('qualityGrade')" prop="qualityGrade"> <FormItem :label="l('qualityGrade')" prop="qualityGrade">
<Input v-model="entity.qualityGrade"></Input> <Input v-model="entity.qualityGrade"></Input>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="8">
<FormItem :label="l('drawNum')" prop="drawNum"> <FormItem :label="l('drawNum')" prop="drawNum">
<Input v-model="entity.drawNum"></Input> <Input v-model="entity.drawNum"></Input>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="8">
<FormItem :label="l('state')" prop="state"> <FormItem :label="l('state')" prop="state">
<Dictionary code="Process.state" v-model="entity.state" type="radio"></Dictionary> <Dictionary code="Process.state" v-model="entity.state" type="radio"></Dictionary>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="24"> <Col :span="24">
<FormItem :label="l('remark')" prop="remark"> <FormItem :label="l('remark')" prop="remark">
<Input v-model="entity.remark"></Input> <Input v-model="entity.remark" type="textarea" :rows="2"></Input>
</FormItem> </FormItem>
</Col> </Col>
</Row> </Row>
......
<template> <template>
<div class="detail"> <div class="detail">
<Row> <Row>
<Filed :span="12" :name="l('routingHeaderId')">{{entity.routingHeaderId}}</Filed> <Filed :span="12" :name="l('routingHeaderId')" v-if="false">{{entity.routingHeaderId}}</Filed>
<Filed :span="12" :name="l('routingDetailId')">{{entity.routingDetailId}}</Filed> <Filed :span="12" :name="l('routingDetailId')">{{entity.routingDetailId}}</Filed>
<Filed :span="12" :name="l('routingStepId')">{{entity.routingStepId}}</Filed> <Filed :span="12" :name="l('routingStepId')" v-if="false">{{entity.routingStepId}}</Filed>
<Filed :span="12" :name="l('quantity')">{{entity.quantity}}</Filed> <Filed :span="12" :name="l('quantity')">{{entity.quantity}}</Filed>
<Filed :span="12" :name="l('materialId')">{{entity.materialId}}</Filed> <Filed :span="12" :name="l('materialId')">{{entity.materialId}}</Filed>
<Filed :span="12" :name="l('materialType')"><state <Filed :span="12" :name="l('materialType')"><state
...@@ -27,8 +27,8 @@ ...@@ -27,8 +27,8 @@
></state> ></state>
</Filed> </Filed>
<Filed :span="12" :name="l('extend')" v-if="false">{{entity.extend}}</Filed> <Filed :span="12" :name="l('extend')" v-if="false">{{entity.extend}}</Filed>
<Filed :span="12" :name="l('remark')">{{entity.remark}}</Filed>
<Filed :span="12" :name="l('drawNum')">{{entity.drawNum}}</Filed> <Filed :span="12" :name="l('drawNum')">{{entity.drawNum}}</Filed>
<Filed :span="24" :name="l('remark')">{{entity.remark}}</Filed>
</Row> </Row>
</div> </div>
</template> </template>
......
...@@ -18,17 +18,17 @@ ...@@ -18,17 +18,17 @@
</FormItem> </FormItem>
</Col> </Col>
--> -->
<Col :span="12"> <Col :span="8">
<FormItem :label="l('routingHeaderId')" prop="routingHeaderId"> <FormItem :label="l('routingHeaderId')" prop="routingHeaderId">
<InputNumber v-model="entity.routingHeaderId"></InputNumber> <InputNumber v-model="entity.routingHeaderId"></InputNumber>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="8">
<FormItem :label="l('routingDetailId')" prop="routingDetailId"> <FormItem :label="l('routingDetailId')" prop="routingDetailId">
<InputNumber v-model="entity.routingDetailId"></InputNumber> <InputNumber v-model="entity.routingDetailId"></InputNumber>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="8">
<FormItem :label="l('materialType')" prop="materialType"> <FormItem :label="l('materialType')" prop="materialType">
<Dictionary <Dictionary
code="mes_xingchi_resource.material.materialReType" code="mes_xingchi_resource.material.materialReType"
...@@ -36,64 +36,64 @@ ...@@ -36,64 +36,64 @@
></Dictionary> ></Dictionary>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="8">
<FormItem :label="l('materialNumber')" prop="materialNumber"> <FormItem :label="l('materialNumber')" prop="materialNumber">
<Input v-model="entity.materialNumber"></Input> <Input v-model="entity.materialNumber"></Input>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="8">
<FormItem :label="l('nameMaterial')" prop="nameMaterial"> <FormItem :label="l('nameMaterial')" prop="nameMaterial">
<Input v-model="entity.nameMaterial"></Input> <Input v-model="entity.nameMaterial"></Input>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="8">
<FormItem :label="l('quantity')" prop="quantity"> <FormItem :label="l('quantity')" prop="quantity">
<InputNumber v-model="entity.quantity"></InputNumber> <InputNumber v-model="entity.quantity"></InputNumber>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="8">
<FormItem :label="l('brand')" prop="brand"> <FormItem :label="l('brand')" prop="brand">
<Input v-model="entity.brand"></Input> <Input v-model="entity.brand"></Input>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="8">
<FormItem :label="l('specifications')" prop="specifications"> <FormItem :label="l('specifications')" prop="specifications">
<Input v-model="entity.specifications"></Input> <Input v-model="entity.specifications"></Input>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="8">
<FormItem :label="l('xhgg')" prop="xhgg"> <FormItem :label="l('xhgg')" prop="xhgg">
<Input v-model="entity.xhgg"></Input> <Input v-model="entity.xhgg"></Input>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="8">
<FormItem :label="l('texture')" prop="texture"> <FormItem :label="l('texture')" prop="texture">
<Input v-model="entity.texture"></Input> <Input v-model="entity.texture"></Input>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="8">
<FormItem :label="l('procurementStandards')" prop="procurementStandards"> <FormItem :label="l('procurementStandards')" prop="procurementStandards">
<Input v-model="entity.procurementStandards"></Input> <Input v-model="entity.procurementStandards"></Input>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="8">
<FormItem :label="l('qualityGrade')" prop="qualityGrade"> <FormItem :label="l('qualityGrade')" prop="qualityGrade">
<Input v-model="entity.qualityGrade"></Input> <Input v-model="entity.qualityGrade"></Input>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="8">
<FormItem :label="l('state')" prop="state">
<Dictionary code="Process.state" v-model="entity.state" type="radio"></Dictionary>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('drawNum')" prop="drawNum"> <FormItem :label="l('drawNum')" prop="drawNum">
<Input v-model="entity.drawNum"></Input> <Input v-model="entity.drawNum"></Input>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="8">
<FormItem :label="l('state')" prop="state">
<Dictionary code="Process.state" v-model="entity.state" type="radio"></Dictionary>
</FormItem>
</Col>
<Col :span="24"> <Col :span="24">
<FormItem :label="l('remark')" prop="remark"> <FormItem :label="l('remark')" prop="remark">
<Input v-model="entity.remark"></Input> <Input v-model="entity.remark" type="textarea" :rows="2"></Input>
</FormItem> </FormItem>
</Col> </Col>
</Row> </Row>
......
<template>
<Form ref="form" :model="condition" :label-width="90">
<Row>
<Col :span="12" :v-if="condition.classId.show"><FormItem :label="l('classId')" prop="classId"> <Input v-model="condition.classId.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.routingHeaderId.show"><FormItem :label="l('routingHeaderId')" prop="routingHeaderId"> <Input v-model="condition.routingHeaderId.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.name.show"><FormItem :label="l('name')" prop="name"> <Input v-model="condition.name.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.taskSeq.show"><FormItem :label="l('taskSeq')" prop="taskSeq"> <Input v-model="condition.taskSeq.value"> </Input>
</FormItem></Col>
<Col :span="24" :v-if="condition.description.show"><FormItem :label="l('description')" prop="description"> <Input v-model="condition.description.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.resourceId.show"><FormItem :label="l('resourceId')" prop="resourceId"> <Input v-model="condition.resourceId.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.resourceType.show"><FormItem :label="l('resourceType')" prop="resourceType"> <Dictionary code="Process.routing_detail.resource_type" v-model="condition.resourceType.value"></Dictionary>
</FormItem></Col>
<Col :span="12" :v-if="condition.runtime.show"><FormItem :label="l('runtime')" prop="runtime"> <Input v-model="condition.runtime.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.setupTime.show"><FormItem :label="l('setupTime')" prop="setupTime"> <Input v-model="condition.setupTime.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.transportTime.show"><FormItem :label="l('transportTime')" prop="transportTime"> <Input v-model="condition.transportTime.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.checkTime.show"><FormItem :label="l('checkTime')" prop="checkTime"> <Input v-model="condition.checkTime.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.checkFlag.show"><FormItem :label="l('checkFlag')" prop="checkFlag"> <Dictionary code="Process.routing_detail.check_flag" v-model="condition.checkFlag.value"></Dictionary>
</FormItem></Col>
<Col :span="12" :v-if="condition.efficiencyValue.show"><FormItem :label="l('efficiencyValue')" prop="efficiencyValue"> <Input v-model="condition.efficiencyValue.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.singleOut.show"><FormItem :label="l('singleOut')" prop="singleOut"> <Input v-model="condition.singleOut.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.isOutside.show"><FormItem :label="l('isOutside')" prop="isOutside"> <Dictionary code="Process.state" v-model="condition.isOutside.value"></Dictionary>
</FormItem></Col>
<Col :span="12" :v-if="condition.departmentId.show"><FormItem :label="l('departmentId')" prop="departmentId"> <Input v-model="condition.departmentId.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.isImportant.show"><FormItem :label="l('isImportant')" prop="isImportant"> <Dictionary code="Process.state" v-model="condition.isImportant.value"></Dictionary>
</FormItem></Col>
<Col :span="12" :v-if="condition.milestoneId.show"><FormItem :label="l('milestoneId')" prop="milestoneId"> <Input v-model="condition.milestoneId.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.phaseId.show"><FormItem :label="l('phaseId')" prop="phaseId"> <Input v-model="condition.phaseId.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.status.show"><FormItem :label="l('status')" prop="status"> <Dictionary code="Process.Status" v-model="condition.status.value"></Dictionary>
</FormItem></Col>
<Col :span="24" :v-if="condition.remark.show"><FormItem :label="l('remark')" prop="remark"> <Input v-model="condition.remark.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.outsideTime.show"><FormItem :label="l('outsideTime')" prop="outsideTime"> <Input v-model="condition.outsideTime.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.performanceHours.show"><FormItem :label="l('performanceHours')" prop="performanceHours"> <Input v-model="condition.performanceHours.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.resourceCode.show"><FormItem :label="l('resourceCode')" prop="resourceCode"> <Input v-model="condition.resourceCode.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.isImportantResources.show"><FormItem :label="l('isImportantResources')" prop="isImportantResources"> <Dictionary code="Process.state" v-model="condition.isImportantResources.value"></Dictionary>
</FormItem></Col>
<Col :span="12" :v-if="condition.schedulingWorkingHours.show"><FormItem :label="l('schedulingWorkingHours')" prop="schedulingWorkingHours"> <Input v-model="condition.schedulingWorkingHours.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.realWorkingHours.show"><FormItem :label="l('realWorkingHours')" prop="realWorkingHours"> <Input v-model="condition.realWorkingHours.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.realRuntime.show"><FormItem :label="l('realRuntime')" prop="realRuntime"> <Input v-model="condition.realRuntime.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.performanceWorkingHours.show"><FormItem :label="l('performanceWorkingHours')" prop="performanceWorkingHours"> <Input v-model="condition.performanceWorkingHours.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.isParticipateIntime.show"><FormItem :label="l('isParticipateIntime')" prop="isParticipateIntime"> <Dictionary code="Process.state" v-model="condition.isParticipateIntime.value"></Dictionary>
</FormItem></Col>
<Col :span="12" :v-if="condition.equipType.show"><FormItem :label="l('equipType')" prop="equipType"> <Input v-model="condition.equipType.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.equipTypeId.show"><FormItem :label="l('equipTypeId')" prop="equipTypeId"> <Input v-model="condition.equipTypeId.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.note.show"><FormItem :label="l('note')" prop="note"> <Input v-model="condition.note.value"> </Input>
</FormItem></Col>
</Row>
</Form>
</template>
<script>
import Api from './api'
export default {
name: 'Add',
data() {
return {
condition: {
classId:{op:"Equal",value:null,show:true},
routingHeaderId:{op:"Equal",value:null,show:true},
name:{op:"Equal",value:null,show:true},
taskSeq:{op:"Equal",value:null,show:true},
description:{op:"Equal",value:null,show:true},
resourceId:{op:"Equal",value:null,show:true},
resourceType:{op:"Equal",value:null,show:true},
runtime:{op:"Equal",value:null,show:true},
setupTime:{op:"Equal",value:null,show:true},
transportTime:{op:"Equal",value:null,show:true},
checkTime:{op:"Equal",value:null,show:true},
checkFlag:{op:"Equal",value:null,show:true},
efficiencyValue:{op:"Equal",value:null,show:true},
singleOut:{op:"Equal",value:null,show:true},
isOutside:{op:"Equal",value:null,show:true},
departmentId:{op:"Equal",value:null,show:true},
isImportant:{op:"Equal",value:null,show:true},
milestoneId:{op:"Equal",value:null,show:true},
phaseId:{op:"Equal",value:null,show:true},
status:{op:"Equal",value:null,show:true},
remark:{op:"Equal",value:null,show:true},
outsideTime:{op:"Equal",value:null,show:true},
performanceHours:{op:"Equal",value:null,show:true},
resourceCode:{op:"Equal",value:null,show:true},
isImportantResources:{op:"Equal",value:null,show:true},
schedulingWorkingHours:{op:"Equal",value:null,show:true},
realWorkingHours:{op:"Equal",value:null,show:true},
realRuntime:{op:"Equal",value:null,show:true},
performanceWorkingHours:{op:"Equal",value:null,show:true},
isParticipateIntime:{op:"Equal",value:null,show:true},
equipType:{op:"Equal",value:null,show:true},
equipTypeId:{op:"Equal",value:null,show:true},
note:{op:"Equal",value:null,show:true},
},
}
},
methods: {
handleClose() {
this.$emit('on-close')
},
l(key) {
key = "routing_detail" + "." + key;
return this.$t(key)
}
}
}
</script>
\ No newline at end of file
<style lang="less"> <style lang="less">
@import "./technolog.less"; @import "./technolog.less";
.lay100 {
height: calc(100vh - 105px);
background-color: #f5f6fa;
.con {
padding: 5px 5px 0px 10px;
}
}
.fullWindow {
position: fixed;
width: 100%;
left: 0;
top: 50px;
bottom: 0;
right: 0;
// bottom:100%;
// right: 100%;
z-index: 990;
background-color: white;
// background: red;
.top {
height: 42px;
line-height: 42px;
background: #f5f7f9;
}
}
</style> </style>
<template> <template>
<Layout class="lay100"> <Layout class="lay100">
...@@ -20,7 +45,12 @@ ...@@ -20,7 +45,12 @@
<template slot="easySearch"> <template slot="easySearch">
<Form ref="formInline" :model="easySearch" inline> <Form ref="formInline" :model="easySearch" inline>
<FormItem prop="keys"> <FormItem prop="keys">
<Input placeholder="请输入工艺名称/工艺编号" v-width="200" v-model="easySearch.keys.value" clearable/> <Input
placeholder="请输入工艺名称/工艺编号"
v-width="200"
v-model="easySearch.keys.value"
clearable
/>
</FormItem> </FormItem>
<FormItem> <FormItem>
<Button type="primary" @click="search">查询</Button> <Button type="primary" @click="search">查询</Button>
...@@ -38,6 +68,19 @@ ...@@ -38,6 +68,19 @@
<Modal v-model="modal" :title="title" width="1200" footer-hide> <Modal v-model="modal" :title="title" width="1200" footer-hide>
<component :is="detail" :eid="curId" @on-close="cancel" @on-ok="ok" /> <component :is="detail" :eid="curId" @on-close="cancel" @on-ok="ok" />
</Modal> </Modal>
<div class="fullWindow flex fd" v-if="viewModal">
<div class="top flex">
<div v-width="200">
<a class="back_href" @click="viewClose">
<Icon type="ios-undo-outline" size="24"/>返回工艺规程
</a>
</div>
<div class="fg">工艺信息</div>
</div>
<div class="fg">
<iframe width="100%" id="infoFrame" height="100%" frameborder="0" :src="src"></iframe>
</div>
</div>
</Content> </Content>
</Layout> </Layout>
</template> </template>
...@@ -63,6 +106,9 @@ export default { ...@@ -63,6 +106,9 @@ export default {
}, },
modal: false, modal: false,
title: "新增", title: "新增",
info: null,
viewModal: false,
src: null,
detail: null, detail: null,
curId: 0, curId: 0,
columns: [ columns: [
...@@ -254,7 +300,14 @@ export default { ...@@ -254,7 +300,14 @@ export default {
// 详情页面 // 详情页面
view(id) { view(id) {
// this.$router.push("technology/details"); // this.$router.push("technology/details");
window.open("/technology/details?id="+id,"_blank") // window.open("/technology/details","_blank")
this.viewModal = true;
// this.info=()=>import("./details")
this.src = "/technology/details?id=" + id;
},
viewClose() {
this.viewModal = false;
this.src = null;
}, },
ok() { ok() {
this.$refs.grid.load(); this.$refs.grid.load();
...@@ -264,8 +317,8 @@ export default { ...@@ -264,8 +317,8 @@ export default {
search() { search() {
this.$refs.grid.reload(this.easySearch); this.$refs.grid.reload(this.easySearch);
}, },
productSearch(id,item,ids){ productSearch(id, item, ids) {
let where={ productId: { op: "In", value: ids }} let where = { productId: { op: "In", value: ids } };
this.$refs.grid.reload(where); this.$refs.grid.reload(where);
}, },
add() { add() {
......
...@@ -65,54 +65,7 @@ ...@@ -65,54 +65,7 @@
.product-layout .i-layout-content { .product-layout .i-layout-content {
padding: 4px 10px!important; padding: 4px 10px!important;
} }
.details_box{
background: #f5f7f9;
.ivu-layout-header {
height: 32px;
line-height: 37px;
}
.details_top{
height: 32px;
line-height: 32px;
position: relative;
background: #f5f7f9;
border-bottom: 1px solid #ccc;
.back_href{
position: absolute;
left: 20px;
top: 0;
.ivu-icon{
font-size: 20px;
}
}
}
.details_body{
// width: 561px;
text-align: center;
.ivu-menu-horizontal {
height: 50px;
line-height: 50px;
border-left: 1px solid #ccc;
background: #f5f7f9;
z-index: 888;
.ivu-menu-item{
width: 140px;
border-right: 1px solid #ccc;
border-bottom: 1px solid #ccc;
background: #f5f7f9;
}
.ivu-menu-item-active.ivu-menu-item-selected{
background: #fff;
border-top: 2px solid #2d8cf0;
border-bottom: 1px solid #fff;
}
}
}
.bottom_box{
margin-top: 50px;
padding: 5px 20px;
}
}
.setdetail_body{ .setdetail_body{
// padding: 0 20px; // padding: 0 20px;
.ivu-layout-header{ .ivu-layout-header{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment