Commit 230baa98 authored by 周远喜's avatar 周远喜

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

parents 29d1b26b 5aa70e24
...@@ -132,7 +132,7 @@ export default { ...@@ -132,7 +132,7 @@ export default {
padding-left: 10px; padding-left: 10px;
} }
.tree { .tree {
height: calc(100vh - 200px); height: calc(100vh - 215px);
overflow: auto; overflow: auto;
} }
} }
......
...@@ -9538,7 +9538,8 @@ ...@@ -9538,7 +9538,8 @@
"dependencies": { "dependencies": {
"deepmerge": { "deepmerge": {
"version": "2.2.1", "version": "2.2.1",
"bundled": true "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz",
"integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA=="
} }
} }
}, },
...@@ -19890,7 +19891,8 @@ ...@@ -19890,7 +19891,8 @@
"version": "4.0.8", "version": "4.0.8",
"resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz",
"integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=",
"dev": true "dev": true,
"optional": true
}, },
"rx-lite-aggregates": { "rx-lite-aggregates": {
"version": "4.0.8", "version": "4.0.8",
......
.transmit_box { .transmit_box {
height: 100%; height: 100%;
} }
.transmit_title { .transmit_title {
padding-top: 10px; padding-top: 10px;
} }
.border_bottom { .border_bottom {
border-bottom: 1px solid #e4e6ed; border-bottom: 1px solid #e4e6ed;
} }
.transmit_content { .transmit_content {
padding: 20px 0 0 0; padding: 20px 0 0 0;
height : calc(100% - 108px); height: calc(100% - 108px);
} }
.select { .select {
color : #a7b8cc; color: #a7b8cc;
font-size: 22px; font-size: 22px;
} }
.wuliao_left { .wuliao_left {
float : left; float: left;
width : 310px; width: 310px;
margin-right: 15px; margin-right: 15px;
// height : calc(100% - 16px); // height : calc(100% - 16px);
height: 500px; height: 500px;
border : 1px solid #e4e6ed; border: 1px solid #e4e6ed;
overflow-y : auto; overflow-y: auto;
overflow-x : hidden; overflow-x: hidden;
} }
.wuliao_right { .wuliao_right {
width : calc(100% - 325px); width: calc(100% - 325px);
height : calc(100% - 16px); height: calc(100% - 16px);
border : 1px solid #e4e6ed; border: 1px solid #e4e6ed;
overflow-y: auto; overflow-y: auto;
overflow-x: hidden; overflow-x: hidden;
} }
.card_title { .card_title {
background : #f8f8f9; background: #f8f8f9;
padding : 8px 15px; padding: 8px 15px;
border-bottom: 1px solid #e4e6ed; border-bottom: 1px solid #e4e6ed;
position : relative; position: relative;
height: 46px; height: 46px;
} }
.state { .state {
float : right; float: right;
color : #515a6e; color: #515a6e;
padding: 5px 5px; padding: 5px 5px;
} }
.transmit_cont { .transmit_cont {
position : absolute; position: absolute;
top : 28px; top: 28px;
right : 0px; right: 0px;
border-radius: 4px; border-radius: 4px;
width : 105px; width: 105px;
height : 155px; height: 155px;
background : #fff; background: #fff;
box-shadow : 0px 0px 6px rgba(0, 0, 0, 0.2); box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.2);
} }
.state_body { .state_body {
padding : 10px 0px; padding: 10px 0px;
text-align : center; text-align: center;
line-height: 24px; line-height: 24px;
} }
.state_footer { .state_footer {
border-top: 1px solid #e4e6ed; border-top: 1px solid #e4e6ed;
padding : 3px; padding: 3px;
} }
.title_btn02 { .title_btn02 {
padding: 0px 9px; padding: 0px 9px;
border : none; border: none;
} }
.color02 { .color02 {
color: #249e91; color: #249e91;
} }
.card_box { .card_box {
cursor: pointer; cursor: pointer;
width : 270px; width: 270px;
height: 116px; height: 116px;
border: 1px solid #e4e6ed; border: 1px solid #e4e6ed;
margin: 20px auto; margin: 20px auto;
} }
.hover { .hover {
cursor : pointer; cursor: pointer;
width : 270px; width: 270px;
height : 116px; height: 116px;
border : 1px solid #e4e6ed; border: 1px solid #e4e6ed;
margin : 20px auto; margin: 20px auto;
background: #f5f7fd; background: #f5f7fd;
} }
.card_body { .card_body {
width : 230px; width: 230px;
float : left; float: left;
padding: 10px 0 0 10px; padding: 10px 0 0 10px;
} }
.card_right { .card_right {
cursor : pointer; cursor: pointer;
background: #e4e6ed; background: #e4e6ed;
height : 114px; height: 114px;
text-align: center; text-align: center;
float : left; float: left;
width : 38px; width: 38px;
} }
.yellow { .yellow {
background: #ffc000; background: #ffc000;
} }
.pink { .pink {
background: #ff7a8b; background: #ff7a8b;
} }
.green { .green {
background: #27c149; background: #27c149;
} }
.card_right>img { .card_right>img {
margin-top: 48px; margin-top: 48px;
} }
.list_item { .list_item {
height : 24px; height: 24px;
line-height: 24px; line-height: 24px;
img { img {
width : 16px; width: 16px;
height: 16px; height: 16px;
} }
} }
.table01 { .table01 {
padding: 0 10px; padding: 0 10px;
} }
.new_box { .new_box {
.photo { .photo {
float : left; float: left;
margin : 0 20px 0 0; margin: 0 20px 0 0;
width : calc(40% - 20px); width: calc(40% - 20px);
border-right: solid 1px #bebcbc; border-right: solid 1px #bebcbc;
text-align : center; text-align: center;
img {
width : 350px !important;
height: 300px !important;
}
// .photo_box{
// }
}
.table { img {
float: left; width: 350px !important;
width: calc(60% - 20px); height: 300px !important;
} }
// .photo_box{
// }
}
.table {
float: left;
width: calc(60% - 20px);
}
} }
.fixed_box { .fixed_box {
// height : 658px; // height : 658px;
overflow-y: auto; overflow-y: auto;
overflow-x: hidden; overflow-x: hidden;
padding : 0 10px; padding: 0 10px;
} }
// 工艺文件 // 工艺文件
.outP { .outP {
.iviewimg { .iviewimg {
width : 100%; width: 100%;
height : 70px; height: 70px;
text-align: center; text-align: center;
margin : 0 0 60px; margin: 0 0 60px;
} }
} }
.table_box { .table_box {
border: 1px solid #000; border: 1px solid #000;
.row_title{
height : 40px;
}
.table_row {
line-height : 40px;
border-bottom: 1px solid #000;
div {
text-align: center;
}
.box {
width : 100%;
height : 40px;
border-bottom: 1px solid #fff;
}
}
.row_label { .row_title {
border-right: 1px solid #000; height: 40px;
} }
.table_row {
line-height: 40px;
border-bottom: 1px solid #000;
.iview_cont { div {
border-right: 1px solid #000; text-align: center;
width : 100%;
height : 40px;
} }
.table_row02 { .box {
border-top : 1px solid #000; width: 100%;
border-bottom: 1px solid #000; height: 40px;
height : 42px; border-bottom: 1px solid #fff;
line-height : 40px;
text-align : center;
margin-top : 10px;
} }
}
.row_label {
border-right: 1px solid #000;
}
.iview_cont {
border-right: 1px solid #000;
width: 100%;
height: 40px;
}
.table_row02 {
border-top: 1px solid #000;
border-bottom: 1px solid #000;
height: 42px;
line-height: 40px;
text-align: center;
margin-top: 10px;
}
} }
.center { .center {
text-align: center; text-align: center;
} }
.title_cont { .title_cont {
margin : 10px auto; margin: 10px auto;
width : auto; width: auto;
display: inline-block; display: inline-block;
} }
.iview_cont01 { .iview_cont01 {
display : inline-block; display: inline-block;
margin : 0 6px; margin: 0 6px;
font-weight: bold; font-weight: bold;
} }
.f16 { .f16 {
font-size: 16px; font-size: 16px;
} }
.h1 { .h1 {
font-size : 36px; font-size: 36px;
display : inline-block; display: inline-block;
width : auto; width: auto;
padding : 0 8px; padding: 0 8px;
height : 46px; height: 46px;
border-bottom: 1px solid #000; border-bottom: 1px solid #000;
margin : 40px auto; margin: 40px auto;
} }
.outP table thead tr th, .outP table thead tr th,
.outP table tbody tr td { .outP table tbody tr td {
padding : 2px 0; padding: 2px 0;
// height : 30px; // height : 30px;
line-height: 28px; line-height: 28px;
} }
.outP table tbody tr td { .outP table tbody tr td {
padding: 0 5px; padding: 0 5px;
} }
.tit01 { .tit01 {
min-width: 70px; min-width: 70px;
} }
.tit02 { .tit02 {
min-width: 100px; min-width: 100px;
} }
.tit03 { .tit03 {
min-width: 300px; min-width: 300px;
} }
.tit04 { .tit04 {
min-width: 100px; min-width: 100px;
} }
.tit05 { .tit05 {
min-width: 100px; min-width: 100px;
} }
.title01 { .title01 {
min-width: 110px; min-width: 110px;
} }
.title02 { .title02 {
min-width: 300px; min-width: 300px;
} }
.title03 { .title03 {
min-width: 100px; min-width: 100px;
} }
.title04 { .title04 {
min-width: 100px; min-width: 100px;
} }
.title05 { .title05 {
min-width: 100px; min-width: 100px;
} }
.title06 { .title06 {
min-width: 100px; min-width: 100px;
} }
.outPdf table, .outPdf table,
.outPdf table tr th, .outPdf table tr th,
.outPdf table tr td { .outPdf table tr td {
border-color: #000; border-color: #000;
} }
\ No newline at end of file
...@@ -274,6 +274,8 @@ export default { ...@@ -274,6 +274,8 @@ export default {
this.disabled = false; this.disabled = false;
if (r.success) { if (r.success) {
this.$Message.success("保存成功"); this.$Message.success("保存成功");
this.$refs.grid.load();
this.$refs.grid.footerToolbar = false;
} else { } else {
this.$Message.error("保存失败"); this.$Message.error("保存失败");
} }
......
...@@ -17,9 +17,12 @@ ...@@ -17,9 +17,12 @@
</FormItem> </FormItem>
</Col> </Col>
<Col :span="8"> <Col :span="8">
<FormItem :label="l('code')" prop="code"> <FormItem v-if="title=='新增'" :label="l('code')" prop="code">
<Input v-model="entity.code"></Input> <Input v-model="entity.code"></Input>
</FormItem> </FormItem>
<FormItem v-else-if="title=='克隆'" :label="l('code')" prop="code">
<Input disabled v-model="entity.code"></Input>
</FormItem>
</Col> </Col>
<Col :span="8"> <Col :span="8">
<FormItem :label="l('routingType')" prop="routingType"> <FormItem :label="l('routingType')" prop="routingType">
...@@ -192,24 +195,33 @@ export default { ...@@ -192,24 +195,33 @@ export default {
}, },
props: { props: {
v: Object, v: Object,
eid: Number eid: Number,
title: String
}, },
mounted() { mounted() {
this.parms.eid = this.$u.guid(); this.parms.eid = this.$u.guid();
this.$refs.refFile.intFiles(); this.$refs.refFile.intFiles();
// console.log(this.title)
// console.log(this.eid)
if (this.eid > 0) {
this.load(this.eid);
}
}, },
methods: { methods: {
handleSubmit() { handleSubmit() {
this.$refs.form.validate(v => { this.$refs.form.validate(v => {
if (v) { if (v) {
this.disabled = true; this.disabled = true;
if(this.title=='克隆'){
this.$Message.success("克隆");
this.getcloneData()
}else{
if (this.$refs.refFile.nameList.length > 0) { if (this.$refs.refFile.nameList.length > 0) {
this.entity.fileId = this.parms.eid; this.entity.fileId = this.parms.eid;
} else { } else {
this.entity.fileId = ""; this.entity.fileId = "";
} }
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("保存成功");
...@@ -223,9 +235,31 @@ export default { ...@@ -223,9 +235,31 @@ export default {
this.$Message.error("保存失败"); this.$Message.error("保存失败");
console.warn(err); console.warn(err);
}); });
}
} }
}); });
}, },
// 克隆工艺
getcloneData(){
let parmese = {
headerId: this.eid,
code: this.entity.code
};
Api.getCloneHeader(parmese).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() { handleClose() {
this.$emit("on-close"); this.$emit("on-close");
}, },
...@@ -253,8 +287,19 @@ export default { ...@@ -253,8 +287,19 @@ 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.entity.isEffect = parseInt(r.result.isEffect);
this.entity.id = 0; this.entity.id = 0;
}); });
if(this.title=='克隆'){
Api.getCodeNumber({code:'GY',count:'1'}).then( r => {
// console.log(r)
if(r.success){
this.entity.code = r.result[0]
}else{
this.$Message.error("生成编号失败");
}
})
}
}, },
l(key) { l(key) {
key = "routingHeader" + "." + key; key = "routingHeader" + "." + key;
...@@ -266,10 +311,11 @@ export default { ...@@ -266,10 +311,11 @@ export default {
this.entity = this.$u.clone(this.v); this.entity = this.$u.clone(this.v);
}, },
eid(v) { eid(v) {
if (v > 0) { // console.log("id:",v)
if (v != 0) {
this.load(v); this.load(v);
} }
} },
} }
}; };
</script> </script>
\ No newline at end of file
...@@ -13,6 +13,13 @@ export default { ...@@ -13,6 +13,13 @@ export default {
update(params) { update(params) {
return Api.put(`${technologyUrl}routingheader/update`, params); return Api.put(`${technologyUrl}routingheader/update`, params);
}, },
getCloneHeader(params){
return Api.post(`${technologyUrl}routingheader/cloneheader`,params);
},
getCodeNumber(params){
return Api.post(`${systemUrl}/cache/generate_serialcode`,params);
},
delete(id) { delete(id) {
return Api.delete(`${technologyUrl}routingheader/delete`, { return Api.delete(`${technologyUrl}routingheader/delete`, {
params: { params: {
......
...@@ -157,7 +157,7 @@ export default { ...@@ -157,7 +157,7 @@ export default {
}, },
parms: { parms: {
app: "technology", app: "technology",
eid: this.uid != "" ? this.uid : "", eid: this.uid,
name: "", name: "",
field: "" field: ""
} }
...@@ -165,7 +165,7 @@ export default { ...@@ -165,7 +165,7 @@ export default {
}, },
props: { props: {
eid: Number, eid: Number,
uid: String uid: String,
}, },
mounted() { mounted() {
if (this.eid > 0) { if (this.eid > 0) {
...@@ -176,6 +176,7 @@ export default { ...@@ -176,6 +176,7 @@ export default {
load(v) { load(v) {
Api.get({ id: v }).then(r => { Api.get({ id: v }).then(r => {
this.$refs.refFile.intFilesClone(); this.$refs.refFile.intFilesClone();
this.parms.eid = this.uid;
this.entity = r.result; this.entity = r.result;
}); });
}, },
...@@ -183,7 +184,7 @@ export default { ...@@ -183,7 +184,7 @@ export default {
this.$refs.form.validate(v => { this.$refs.form.validate(v => {
if (v) { if (v) {
this.disabled = true; this.disabled = true;
this.entity.fileId = this.parms.eid; this.entity.fileId = this.uid;
Api.update(this.entity) Api.update(this.entity)
.then(r => { .then(r => {
this.disabled = false; this.disabled = false;
...@@ -236,6 +237,8 @@ export default { ...@@ -236,6 +237,8 @@ export default {
if (v != 0) { if (v != 0) {
this.load(v); this.load(v);
} }
},
uid(v) {
} }
} }
}; };
......
...@@ -6,11 +6,11 @@ ...@@ -6,11 +6,11 @@
.con { .con {
padding: 5px 5px 0px 10px; padding: 5px 5px 0px 10px;
} }
.con_bord{ .con_bord {
// margin: 15px 32px; // margin: 15px 32px;
box-shadow: #c7c7c7 1px 2px 7px 3px; box-shadow: #c7c7c7 1px 2px 7px 3px;
} }
background: rgba(245,246,250,1); background: rgba(245, 246, 250, 1);
} }
.fullWindow { .fullWindow {
position: fixed; position: fixed;
...@@ -42,31 +42,38 @@ ...@@ -42,31 +42,38 @@
</a> </a>
</div> </div>
<Content class="con" :class="!showMenu?'con_bord':''"> <Content class="con" :class="!showMenu?'con_bord':''">
<DataGrid :columns="columns" ref="grid" :action="action" class="card_box"> <DataGrid :columns="columns" ref="grid" :action="action" class="card_box">
<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 <Input
placeholder="请输入工艺名称/工艺编号" placeholder="请输入工艺名称/工艺编号"
v-width="200" v-width="200"
v-model="easySearch.keys.value" v-model="easySearch.keys.value"
clearable clearable
/> />
</FormItem> </FormItem>
<FormItem> <FormItem>
<Button type="primary" @click="search">查询</Button> <Button type="primary" @click="search">查询</Button>
</FormItem> </FormItem>
</Form> </Form>
</template> </template>
<template slot="searchForm"> <template slot="searchForm">
<Search /> <Search />
</template> </template>
<template slot="buttons"> <template slot="buttons">
<Button type="primary" @click="add">新增</Button> <Button type="primary" @click="add">新增</Button>
</template> </template>
</DataGrid> </DataGrid>
<Modal v-model="modal" :title="title" width="1200" footer-hide> <Modal v-model="modal" :title="title" width="1120" footer-hide>
<component :is="detail" :eid="curId" :uid="uid" @on-close="cancel" @on-ok="ok" /> <component
:is="detail"
:eid="curId"
:uid="uId"
:title="title"
@on-close="cancel"
@on-ok="ok"
/>
</Modal> </Modal>
<div class="fullWindow flex fd" v-if="viewModal"> <div class="fullWindow flex fd" v-if="viewModal">
<div class="top flex"> <div class="top flex">
...@@ -76,7 +83,7 @@ ...@@ -76,7 +83,7 @@
</a> </a>
</div> </div>
<div class="fg tc f14 fwBold blueTitle"> <div class="fg tc f14 fwBold blueTitle">
{{l('code')}}: {{l('code')}}:
<span class="grayTitle mr10">{{titleObj.code}}</span> <span class="grayTitle mr10">{{titleObj.code}}</span>
{{l('name')}}: {{l('name')}}:
<span class="grayTitle mr10">{{titleObj.name}}</span> <span class="grayTitle mr10">{{titleObj.name}}</span>
...@@ -85,7 +92,7 @@ ...@@ -85,7 +92,7 @@
{{l('version')}}: {{l('version')}}:
<span class="grayTitle">{{titleObj.version}}</span> <span class="grayTitle">{{titleObj.version}}</span>
<!-- {{l('departmentId')}}: <!-- {{l('departmentId')}}:
<span class="grayTitle">{{titleObj.departmentId}}</span> --> <span class="grayTitle">{{titleObj.departmentId}}</span>-->
</div> </div>
</div> </div>
<div class="fg"> <div class="fg">
...@@ -122,7 +129,7 @@ export default { ...@@ -122,7 +129,7 @@ export default {
src: null, src: null,
detail: null, detail: null,
curId: 0, curId: 0,
uid:'', uId: "",
columns: [ columns: [
{ key: "id", title: this.$t("id"), hide: true, align: "left" }, { key: "id", title: this.$t("id"), hide: true, align: "left" },
{ {
...@@ -191,7 +198,7 @@ export default { ...@@ -191,7 +198,7 @@ export default {
{ {
key: "isMain", key: "isMain",
title: this.l("isMain"), title: this.l("isMain"),
align: "left", align: "center",
width: 80, width: 80,
high: true, high: true,
code: "Process.state" code: "Process.state"
...@@ -215,7 +222,8 @@ export default { ...@@ -215,7 +222,8 @@ export default {
{ {
key: "isEffect", key: "isEffect",
title: this.l("isEffect"), title: this.l("isEffect"),
align: "left", align: "center",
width:80,
high: true, high: true,
code: "Process.Status" code: "Process.Status"
}, },
...@@ -224,7 +232,7 @@ export default { ...@@ -224,7 +232,7 @@ export default {
title: this.l("versionnotes"), title: this.l("versionnotes"),
align: "left", align: "left",
high: true, high: true,
hide:true, hide: true
}, },
{ {
key: "phase", key: "phase",
...@@ -243,18 +251,26 @@ export default { ...@@ -243,18 +251,26 @@ export default {
{ {
key: "isSendPpm", key: "isSendPpm",
title: this.l("isSendPpm"), title: this.l("isSendPpm"),
align: "left", align: "center",
width: 180, width: 140,
high: true, high: true,
code: "Process.Status" code: "Process.Status"
}, },
{ {
title: "操作", title: "操作",
key: "action", key: "action",
width: 140, width: 180,
align: "center", align: "center",
render: (h, params) => { render: (h, params) => {
return h("div", { class: "action" }, [ return h("div", { class: "action" }, [
h(
"op",
{
attrs: { oprate: "detail" },
on: { click: () => this.viewprocess(params.row) }
},
"预览"
),
h( h(
"op", "op",
{ {
...@@ -263,7 +279,14 @@ export default { ...@@ -263,7 +279,14 @@ export default {
}, },
"查看" "查看"
), ),
//h('op', { attrs: { oprate: 'copy' }, on: { click: () => this.copy(params.row.id) } }, '克隆'), h(
"op",
{
attrs: { oprate: "copy" },
on: { click: () => this.copy(params.row.id) }
},
"克隆"
),
h( h(
"op", "op",
{ {
...@@ -290,7 +313,8 @@ export default { ...@@ -290,7 +313,8 @@ export default {
routingType: 0, //工艺类型 routingType: 0, //工艺类型
version: "", //工艺版本 version: "", //工艺版本
departmentId: null //车间 departmentId: null //车间
} },
processviewModal: false
}; };
}, },
created() { created() {
...@@ -366,9 +390,20 @@ export default { ...@@ -366,9 +390,20 @@ export default {
// this.detail = () => import("./detail"); // this.detail = () => import("./detail");
// this.modal = true; // this.modal = true;
// }, // },
viewprocess(row) {
this.curId = row.id;
this.title = "预览";
this.detail = () => import("./processview");
this.modal = true;
},
edit(row) { edit(row) {
this.curId = row.id; this.curId = row.id;
this.uId=row.fileId; if (row.fileId) {
this.uId = row.fileId;
} else {
this.uId = this.$u.guid(); //未上传过文件
}
this.title = "编辑"; this.title = "编辑";
this.detail = () => import("./edit"); this.detail = () => import("./edit");
this.modal = true; this.modal = true;
...@@ -392,3 +427,24 @@ export default { ...@@ -392,3 +427,24 @@ export default {
} }
}; };
</script> </script>
<style lang="less" scoped>
.order-quotation {
height: 100vh !important;
}
.table {
margin-top: 15px;
}
.topTitle {
height: 30px;
.table_title {
float: left;
width: 340px;
}
.title_btn {
margin-top: 1px;
}
}
.single-page-con {
overflow-y: hidden !important;
}
</style>
.iview_cont{
border-right: 1px solid #000;
width: 100%;
// height: 60px;
// line-height: 60px;
}
.iview_cont6{
height: 60px;
line-height: 60px;
}
.title_cont{
margin: 10px auto;
width: auto;
display: inline-block;
}
.iview_cont01{
display: inline-block;
margin: 5px 6px;
font-weight: bold;
span{
display: inline;
}
.min120{
min-width: 120px;
}
}
.box{
width: 100%;
height: 40px;
border-bottom: 1px solid #fff;
}
.h1{
font-size: 36px;
display:inline-block;
width: auto;
padding: 0 8px;
height: 46px;
border-bottom: 1px solid #000;
margin: 40px auto;
}
.table_row02{
border-top: 1px solid #000;
border-bottom: 1px solid #000;
height:62px;
line-height: 60px;
text-align: center;
margin-top: 10px;
}
.row03{
.tex_in10{
text-indent: 12px;
text-align: inherit!important;
}
}
.auto_row {
min-height: 60px!important;
height: auto!important;
padding: 5px;
}
.outP table thead tr th,.outP table tbody tr td{
padding: 2px 0;
// height: 30px;
line-height: 28px;
}
.outP table tbody tr td{
padding: 0 5px;
}
.tit01{ min-width: 70px; }
.tit02{ min-width: 100px; }
.tit03{ min-width: 300px; }
.tit04{ min-width: 100px; }
.tit05{ min-width: 100px; }
.title01{ min-width: 110px; }
.title02{ min-width: 300px; }
.title03{ min-width: 100px; }
.title04{ min-width: 100px; }
.title05{ min-width: 100px; }
.title06{ min-width: 100px; }
.outPdf table, .outPdf table tr th, .outPdf table tr td {
border-color: #000;
}
// 工艺文件
.outP {
.iviewimg {
width: 100%;
height: 70px;
text-align: center;
margin: 0 0 60px;
}
}
.table_box {
border: 1px solid #000;
.row_title {
height: 40px;
}
.table_row {
line-height: 40px;
border-bottom: 1px solid #000;
div {
text-align: center;
}
.box {
width: 100%;
height: 40px;
border-bottom: 1px solid #fff;
}
}
.row_label {
border-right: 1px solid #000;
}
.iview_cont {
border-right: 1px solid #000;
width: 100%;
height: 40px;
}
.table_row02 {
border-top: 1px solid #000;
border-bottom: 1px solid #000;
height: 42px;
line-height: 40px;
text-align: center;
margin-top: 10px;
}
}
.center {
text-align: center;
}
.title_cont {
margin: 10px auto;
width: auto;
display: inline-block;
}
.iview_cont01 {
display: inline-block;
margin: 0 6px;
font-weight: bold;
}
.f16 {
font-size: 16px;
}
.h1 {
font-size: 36px;
display: inline-block;
width: auto;
padding: 0 8px;
height: 46px;
border-bottom: 1px solid #000;
margin: 40px auto;
}
.outP table thead tr th,
.outP table tbody tr td {
padding: 2px 0;
// height : 30px;
line-height: 28px;
}
.outP table tbody tr td {
padding: 0 5px;
}
.tit01 {
min-width: 70px;
}
.tit02 {
min-width: 100px;
}
.tit03 {
min-width: 300px;
}
.tit04 {
min-width: 100px;
}
.tit05 {
min-width: 100px;
}
.title01 {
min-width: 110px;
}
.title02 {
min-width: 300px;
}
.title03 {
min-width: 100px;
}
.title04 {
min-width: 100px;
}
.title05 {
min-width: 100px;
}
.title06 {
min-width: 100px;
}
.outPdf table,
.outPdf table tr th,
.outPdf table tr td {
border-color: #000;
}
\ No newline at end of file
<style lang="less">
@import "./menu.less";
</style>
<template>
<div>
<Row v-show="circleModal" style="height:300px">
<Col class="demo-spin-col" span="24">
<Spin fix style="margin-top:80px">
<Icon type="ios-loading" size="36" class="demo-spin-icon-load"></Icon>
<div>数据加载中......</div>
</Spin>
</Col>
</Row>
<div class="out" v-show="!circleModal">
<Row class="table_row" style="width:100%">
<Button class="fr" v-if="isoutpdf" type="primary" @click="$u.outPdf('.outP','工艺规程')">导出pdf</Button>
</Row>
</div>
<div class="outP" v-show="!circleModal">
<div class="table_box part01" style="min-height:400px">
<Row class="table_row" style="width:100%">
<Col span="3">
<div class="row_label">工艺文件编号</div>
</Col>
<Col span="9">
<div class="iview_cont">
&nbsp;
<label v-text="formValidate.code"></label>
</div>
</Col>
<Col span="3">
<div class="row_label">任务类型</div>
</Col>
<Col span="9">
<div class="iview_cont border_none">
&nbsp;
<label v-text="formValidate.task_type_str"></label>
</div>
</Col>
</Row>
<Row class="table_row">
<Col span="3">
<div class="row_label">工艺文件版本</div>
</Col>
<Col span="9">
<div class="iview_cont">
&nbsp;
<label v-text="formValidate.versiondesc"></label>
</div>
</Col>
<Col span="3">
<div class="row_label">研制方式</div>
</Col>
<Col span="9">
<div class="iview_cont border_none">
&nbsp;
<label v-text="formValidate.development_mode_str"></label>
</div>
</Col>
</Row>
<Row class="center">
<div class="h1" v-text="formValidate.name"></div>
</Row>
<Row class="center">
<div class="title_cont f16">
<div class="iview_cont01">
<span>产品名称:</span>
<label class="table_row" v-text="formValidate.productName"></label>
</div>
<div class="iview_cont01">
<span>产品代号:</span>
<label class="table_row" v-text="formValidate.productCode"></label>
</div>
</div>
</Row>
<Row class="center f16">
<div class="iview_cont01">
<span>编 制:</span>
<label class="table_row min120" v-text="formValidate.authorName"></label>
</div>
</Row>
<Row class="center f16">
<div class="iview_cont01">
<span>校 对:</span>
<label class="table_row min120" v-text="formValidate.proofreader"></label>
</div>
</Row>
<Row class="center f16">
<div class="iview_cont01">
<span>批 准:</span>
<label class="table_row min120" v-text="formValidate.approver"></label>
</div>
</Row>
<Row class="table_row02">
<Col span="3">
<div class="iview_cont">更改单编号</div>
</Col>
<Col span="5">
<div class="iview_cont iview_cont6">
<label v-text="formValidate.change_order_code"></label>
</div>
</Col>
<Col span="3">
<div class="iview_cont">更改单日期</div>
</Col>
<Col span="5">
<div class="iview_cont iview_cont6">
<label v-text="formValidate.change_order_date"></label>
</div>
</Col>
<Col span="3">
<div class="iview_cont">更改办法</div>
</Col>
<Col span="5">
<div class="iview_cont iview_cont6 border_none">
<label v-text="formValidate.change_method"></label>
</div>
</Col>
</Row>
</div>
<div class="table_box part01">
<Row class="table_row center row_title">
<h2>工艺内容</h2>
</Row>
<Row class="table_row row03 auto_row">
<div style="min-height:300px" class="tex_in10">{{formValidate.remark}}</div>
</Row>
<Row class="table_row center row_title">
<h2>工艺附图</h2>
</Row>
<Row class="table_row row03 auto_row">
<div style="min-height:300px" class="tex_in10">
<img
v-for="(item2,index2) in formValidate.files"
:key="index2"
:src=" downUrl +item2.url"
style="max-width:1000px"
/>
</div>
</Row>
</div>
<Row class="center f16">
<h2>工艺过程卡</h2>
</Row>
<div class="body-box part01">
<table>
<thead>
<tr>
<th class="tit01">序号</th>
<th class="tit02">工序</th>
<th class="tit03">工序内容及要求</th>
<th class="tit04">操作者</th>
<th class="tit05">检验者</th>
</tr>
</thead>
<tbody>
<template v-for="(item5,index5) in formValidate.details">
<tr>
<td class="tl">{{item5.taskseq}}</td>
<td class="tl">{{item5.name}}</td>
<td class="tl">
<div v-html="item5.task_content" class="html"></div>
</td>
<td class="tl">{{item5.operator}}</td>
<td class="tl">{{item5.proofreader}}</td>
</tr>
<tr v-for="(item6,index6) in item5.step">
<td class="tl">{{item6.taskseq}}</td>
<td class="tl">{{item6.name}}</td>
<td class="tl">
<div v-html="item6.task_content" class="html"></div>
</td>
<td class="tl">{{item6.operator}}</td>
<td class="tl">{{item6.proofreader}}</td>
</tr>
<tr>
<td class="tl"></td>
<td class="tl"></td>
<td class="tl"></td>
<td class="tl"></td>
<td class="tl"></td>
</tr>
</template>
</tbody>
</table>
</div>
<Row class="center f16">
<h2>检测记录表</h2>
</Row>
<div class="body-box part01">
<table>
<thead>
<tr>
<th class="title01">检测工序号</th>
<th class="title02">检测项目内容</th>
<th class="title03">检测结果</th>
<th class="title04">合格判定</th>
<th class="title05">检验员</th>
<th class="title06">备注</th>
</tr>
</thead>
<tbody>
<template v-for="(item7,index7) in formValidate.qcards">
<tr>
<td class="tl">{{item7.taskseq}}</td>
<td class="tl">{{item7.check_content}}</td>
<td class="tl">{{item7.checkresult}}</td>
<td class="tl">{{item7.result}}</td>
<td class="tl">{{item7.checker}}</td>
<td class="tl">{{item7.remarks}}</td>
</tr>
</template>
</tbody>
</table>
</div>
</div>
</div>
</template>
<script>
import service from "@/plugins/request";
export default {
name: "processview",
data() {
return {
filesurl: "",
downUrl: fileUrlDown,
formValidate: {
files: [],
details: [],
qcards: []
},
circleModal: true
};
},
props: {
//设置工艺、创建工艺
isoutpdf: {
type: Boolean,
default: true
},
eid: Number
},
mounted() {
if (this.eid > 0) {
this.load(this.eid);
}
},
methods: {
load(v) {
this.circleModal = true;
var url = `${designUrl}/routingheader/getprocessinfo?headerid=` + v;
service
.get(`${url}`)
.then(response => {
this.circleModal = false;
this.formValidate = response.result;
if (
this.formValidate.change_order_code == "" ||
typeof this.formValidate.change_order_code == "undefined"
) {
this.formValidate.change_order_date = "";
}
if (typeof this.formValidate.production_batch == "undefined") {
this.formValidate.production_batch = "&nbsp";
}
if (typeof this.formValidate.print_data_name == "undefined") {
this.formValidate.print_data_name = "&nbsp";
}
})
.catch(err => {
this.circleModal = false;
});
}
},
watch: {
eid(v) {
if (v != 0) {
this.load(v);
}
}
}
};
</script>
<style type="less" scoped>
.demo-spin-icon-load {
animation: ani-demo-spin 1s linear infinite;
}
@keyframes ani-demo-spin {
from {
transform: rotate(0deg);
}
50% {
transform: rotate(180deg);
}
to {
transform: rotate(360deg);
}
}
.demo-spin-col {
height: 100px;
position: relative;
border: 0px solid #eee;
}
</style>
.iview_cont {
border-right: 1px solid #000;
width: 100%;
}
.iview_cont6 {
height: 60px;
line-height: 60px;
}
.title_cont {
margin: 10px auto;
width: auto;
display: inline-block;
}
.iview_cont01 {
display: inline-block;
margin: 5px 6px;
font-weight: bold;
}
.iview_cont01 span {
display: inline;
}
.iview_cont01 .min120 {
min-width: 120px;
}
.box {
width: 100%;
height: 40px;
border-bottom: 1px solid #fff;
}
.h1 {
font-size: 36px;
display: inline-block;
width: auto;
padding: 0 8px;
height: 46px;
border-bottom: 1px solid #000;
margin: 40px auto;
}
.table_row02 {
border-top: 1px solid #000;
border-bottom: 1px solid #000;
height: 62px;
line-height: 60px;
text-align: center;
margin-top: 10px;
}
.row03 .tex_in10 {
text-indent: 12px;
text-align: inherit!important;
}
.auto_row {
min-height: 60px!important;
height: auto!important;
padding: 5px;
}
.outP table thead tr th,
.outP table tbody tr td {
padding: 2px 0;
line-height: 28px;
}
.outP table tbody tr td {
padding: 0 5px;
}
.tit01 {
min-width: 70px;
}
.tit02 {
min-width: 100px;
}
.tit03 {
min-width: 300px;
}
.tit04 {
min-width: 100px;
}
.tit05 {
min-width: 100px;
}
.title01 {
min-width: 110px;
}
.title02 {
min-width: 300px;
}
.title03 {
min-width: 100px;
}
.title04 {
min-width: 100px;
}
.title05 {
min-width: 100px;
}
.title06 {
min-width: 100px;
}
.outPdf table,
.outPdf table tr th,
.outPdf table tr td {
border-color: #000;
}
.outP .iviewimg {
width: 100%;
height: 70px;
text-align: center;
margin: 0 0 60px;
}
.table_box {
border: 1px solid #000;
}
.table_box .row_title {
height: 40px;
}
.table_box .table_row {
line-height: 40px;
border-bottom: 1px solid #000;
}
.table_box .table_row div {
text-align: center;
}
.table_box .table_row .box {
width: 100%;
height: 40px;
border-bottom: 1px solid #fff;
}
.table_box .row_label {
border-right: 1px solid #000;
}
.table_box .iview_cont {
border-right: 1px solid #000;
width: 100%;
height: 40px;
}
.table_box .table_row02 {
border-top: 1px solid #000;
border-bottom: 1px solid #000;
height: 42px;
line-height: 40px;
text-align: center;
margin-top: 10px;
}
.center {
text-align: center;
}
.title_cont {
margin: 10px auto;
width: auto;
display: inline-block;
}
.iview_cont01 {
display: inline-block;
margin: 0 6px;
font-weight: bold;
}
.f16 {
font-size: 16px;
}
.h1 {
font-size: 36px;
display: inline-block;
width: auto;
padding: 0 8px;
height: 46px;
border-bottom: 1px solid #000;
margin: 40px auto;
}
.outP table thead tr th,
.outP table tbody tr td {
padding: 2px 0;
line-height: 28px;
}
.outP table tbody tr td {
padding: 0 5px;
}
.tit01 {
min-width: 70px;
}
.tit02 {
min-width: 100px;
}
.tit03 {
min-width: 300px;
}
.tit04 {
min-width: 100px;
}
.tit05 {
min-width: 100px;
}
.title01 {
min-width: 110px;
}
.title02 {
min-width: 300px;
}
.title03 {
min-width: 100px;
}
.title04 {
min-width: 100px;
}
.title05 {
min-width: 100px;
}
.title06 {
min-width: 100px;
}
.outPdf table,
.outPdf table tr th,
.outPdf table tr td {
border-color: #000;
}
.transmit_box {
height: 100%;
}
.transmit_title {
padding-top: 10px;
}
.border_bottom {
border-bottom: 1px solid #e4e6ed;
}
.transmit_content {
padding: 20px 0 0 0;
height: calc(100% - 108px);
}
.select {
color: #a7b8cc;
font-size: 22px;
}
.wuliao_left {
float: left;
width: 310px;
margin-right: 15px;
height: 500px;
border: 1px solid #e4e6ed;
overflow-y: auto;
overflow-x: hidden;
}
.wuliao_right {
width: calc(100% - 325px);
height: calc(100% - 16px);
border: 1px solid #e4e6ed;
overflow-y: auto;
overflow-x: hidden;
}
.card_title {
background: #f8f8f9;
padding: 8px 15px;
border-bottom: 1px solid #e4e6ed;
position: relative;
height: 46px;
}
.state {
float: right;
color: #515a6e;
padding: 5px 5px;
}
.transmit_cont {
position: absolute;
top: 28px;
right: 0px;
border-radius: 4px;
width: 105px;
height: 155px;
background: #fff;
box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.2);
}
.state_body {
padding: 10px 0px;
text-align: center;
line-height: 24px;
}
.state_footer {
border-top: 1px solid #e4e6ed;
padding: 3px;
}
.title_btn02 {
padding: 0px 9px;
border: none;
}
.color02 {
color: #249e91;
}
.card_box {
cursor: pointer;
width: 270px;
height: 116px;
border: 1px solid #e4e6ed;
margin: 20px auto;
}
.hover {
cursor: pointer;
width: 270px;
height: 116px;
border: 1px solid #e4e6ed;
margin: 20px auto;
background: #f5f7fd;
}
.card_body {
width: 230px;
float: left;
padding: 10px 0 0 10px;
}
.card_right {
cursor: pointer;
background: #e4e6ed;
height: 114px;
text-align: center;
float: left;
width: 38px;
}
.yellow {
background: #ffc000;
}
.pink {
background: #ff7a8b;
}
.green {
background: #27c149;
}
.card_right > img {
margin-top: 48px;
}
.list_item {
height: 24px;
line-height: 24px;
}
.list_item img {
width: 16px;
height: 16px;
}
.table01 {
padding: 0 10px;
}
.new_box .photo {
float: left;
margin: 0 20px 0 0;
width: calc(40% - 20px);
border-right: solid 1px #bebcbc;
text-align: center;
}
.new_box .photo img {
width: 350px !important;
height: 300px !important;
}
.new_box .table {
float: left;
width: calc(60% - 20px);
}
.fixed_box {
overflow-y: auto;
overflow-x: hidden;
padding: 0 10px;
}
.outP .iviewimg {
width: 100%;
height: 70px;
text-align: center;
margin: 0 0 60px;
}
.table_box {
border: 1px solid #000;
}
.table_box .row_title {
height: 40px;
}
.table_box .table_row {
line-height: 40px;
border-bottom: 1px solid #000;
}
.table_box .table_row div {
text-align: center;
}
.table_box .table_row .box {
width: 100%;
height: 40px;
border-bottom: 1px solid #fff;
}
.table_box .row_label {
border-right: 1px solid #000;
}
.table_box .iview_cont {
border-right: 1px solid #000;
width: 100%;
height: 40px;
}
.table_box .table_row02 {
border-top: 1px solid #000;
border-bottom: 1px solid #000;
height: 42px;
line-height: 40px;
text-align: center;
margin-top: 10px;
}
.center {
text-align: center;
}
.title_cont {
margin: 10px auto;
width: auto;
display: inline-block;
}
.iview_cont01 {
display: inline-block;
margin: 0 6px;
font-weight: bold;
}
.f16 {
font-size: 16px;
}
.h1 {
font-size: 36px;
display: inline-block;
width: auto;
padding: 0 8px;
height: 46px;
border-bottom: 1px solid #000;
margin: 40px auto;
}
.outP table thead tr th,
.outP table tbody tr td {
padding: 2px 0;
line-height: 28px;
}
.outP table tbody tr td {
padding: 0 5px;
}
.tit01 {
min-width: 70px;
}
.tit02 {
min-width: 100px;
}
.tit03 {
min-width: 300px;
}
.tit04 {
min-width: 100px;
}
.tit05 {
min-width: 100px;
}
.title01 {
min-width: 110px;
}
.title02 {
min-width: 300px;
}
.title03 {
min-width: 100px;
}
.title04 {
min-width: 100px;
}
.title05 {
min-width: 100px;
}
.title06 {
min-width: 100px;
}
.outPdf table,
.outPdf table tr th,
.outPdf table tr td {
border-color: #000;
}
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