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

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

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