Commit 4422ed6a authored by 仇晓婷's avatar 仇晓婷

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

parents dc884b02 a25dc3f1
......@@ -1296,3 +1296,44 @@ html [type=button] {
.detail .ivu-row .filed-col p .html p{
margin: 0 10px 0 0;
}
.lay100 {
height: calc(100vh - 105px);
background-color: #f5f6fa;
.con {
padding: 5px 5px 0px 10px;
}
.con_bord {
// margin: 15px 32px;
box-shadow: #c7c7c7 1px 2px 7px 3px;
}
background: rgba(245, 246, 250, 1);
}
.menu_side{
background: #fff!important;
margin: 5px 0 0 0!important;
border: 1px solid #dcdee2!important;
}
.show_menu{
width: 30px;
height: 30px;
position: fixed;
top: 100px;
left: 0;
z-index: 9;
.menu_play{
width: 30px;
height: 30px;
line-height: 34px;
font-size: 14px;
text-align: center;
color: #515A6E;
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
background: #ffffff;
box-shadow: #ccc 2px 2px 4px 1px;
}
.menu_play:hover{
background-color: #2d8cf0;
color: white;
}
}
\ No newline at end of file
......@@ -1251,7 +1251,8 @@ export default {
routingStepId: '工步ID',
quantity: '数量',
singlequantity: '总计数量',
routingDetailName: '工序名称',
routingDetailNo:'工序号',
materialId: '物料id',
materialType: '物料类型',
materialNumber: '物料编号',
......@@ -1323,7 +1324,8 @@ export default {
routingHeaderId: '工艺ID',
routingHeaderName: '工艺',
routingDetailId: '工序ID',
routingDetailName: '工序',
routingDetailName: '工序名称',
routingDetailNo:'工序号',
routingStepId: '工步ID',
checkContent: '检测内容',
checkType: '检测类型',
......@@ -1357,7 +1359,8 @@ export default {
routingHeaderId: '工艺ID',
routingHeaderName: '工艺',
routingDetailId: '工序ID',
routingDetailName: '工序',
routingDetailName: '工序名称',
routingDetailNo:'工序号',
routingStepId: '工步ID',
quantity: '数量',
materialId: '物料id',
......
<template>
<Layout class="full">
<Sider hide-trigger :style="{background: '#fff'}" width="260">
<!-- <Sider hide-trigger :style="{background: '#fff'}" width="260">
<div class="zh-tree" :style="{height:treeHeight+'px'}">
<h3 class="zh-title">产品结构</h3>
<div class="zh-box">
......@@ -13,8 +13,16 @@
></Tree>
</div>
</div>
</Sider> -->
<Sider hide-trigger v-if="showMenu" class="menu_side" width="300">
<ProductTree @on-hide="onHide" @on-select="productSearch" />
</Sider>
<Content class="content">
<div v-if="!showMenu" class="show_menu">
<a class="menu_play fr" @click="showMenuFn" title="展开">
<Icon type="ios-arrow-forward" size="24" />
</a>
</div>
<Content class="content" :class="!showMenu?'con_bord':''">
<!--:data="dataT"-->
<DataGrid
:action="action"
......@@ -100,6 +108,7 @@ import Detail from "./detail";
import Search from "./search";
import Split from "./split";
import Send from "./send";
import ProductTree from "@/components/page/productTree.vue";
export default {
name: "list",
components: {
......@@ -108,11 +117,12 @@ export default {
Detail,
Search,
Split,
Send
Send,ProductTree,
},
data() {
return {
action: Api.index,
showMenu: true,
easySearch: {
keys: {
op: "mesCode,productName",
......@@ -763,6 +773,18 @@ export default {
this.$Message.error("数量为1,不能进行分解");
}
},
onHide() {
// this.$Message.info("收起左侧树")
this.showMenu = false;
},
showMenuFn() {
//this.$Message.info("展开左侧树")
this.showMenu = true;
},
productSearch(id, item, ids) {
let where = { productId: { op: "In", value: ids } };
this.$refs.grid.reload(where);
},
//确定分解
orderSplitOk() {
let returnDatalist = this.$refs.orderSplit.returnDataList();
......
......@@ -4,8 +4,16 @@
<Sider hide-trigger :style="{background: '#fff'}" width="260">
<Tree-Type @func="getMsgFormSon" :style="{ height: treeHeight + 'px' }"></Tree-Type>
</Sider>
<!-- <Sider hide-trigger v-if="showMenu" class="menu_side" width="300">
<ProductTree @on-hide="onHide" @on-select="productSearch" />
</Sider>
<div v-if="!showMenu" class="show_menu">
<a class="menu_play fr" @click="showMenuFn" title="展开">
<Icon type="ios-arrow-forward" size="24" />
</a>
</div> -->
<!-- 右侧内容 -->
<Content class="content">
<Content class="content" :class="!showMenu?'con_bord':''">
<Tabs v-model="selectName" @on-click="handleClick">
<TabPane label="订单报价" key="offer" name="offer">
<div class="search-form">
......@@ -140,7 +148,7 @@ import MetalQuotation from "./components/metalQuotation.vue"; //订单报价弹
import Photosensitive from "./components/photosensitive.vue"; //订单报价弹框光敏
import MetalDetails from "./components/metalDetails.vue"; //报价历史记录铺粉详情弹框
import PhotosensitiveDetails from "./components/photosensitiveDetails.vue"; //报价历史记录光敏详情弹框
import ProductTree from "@/components/page/productTree.vue";//左侧树列表
import MetalQuotationGeneration from "./components/metalQuotationGeneration.vue"; //生成报价单弹框
import PhotosensitiveGeneration from "./components/photosensitiveGeneration.vue"; //生成报价单弹框
export default {
......@@ -152,7 +160,7 @@ export default {
MetalQuotation,
Photosensitive,
MetalDetails,
PhotosensitiveDetails,
PhotosensitiveDetails,ProductTree,
MetalQuotationGeneration,
PhotosensitiveGeneration
},
......@@ -162,6 +170,7 @@ export default {
result: []
},
userId: 0,
showMenu: true,
model1: "",
rows: {},
modalDai: false, //待审核
......@@ -381,6 +390,16 @@ export default {
};
},
methods: {
onHide() {
this.showMenu = false;
},
showMenuFn() {
this.showMenu = true;
},
productSearch(id, item, ids) {
let where = { productId: { op: "In", value: ids } };
this.$refs.grid.reload(where);
},
update() {
this.tableTata(this.selectName);
},
......
......@@ -154,6 +154,7 @@
v-model="entity.taskContent"
:height="200"
v-paste="handleImg"
border
/>
</FormItem>
</Col>
......
......@@ -84,7 +84,7 @@
</Col>
<Col :span="24">
<FormItem :label="l('taskContent')" prop="taskContent">
<i-quill v-model="entity.taskContent" :height="200" v-paste="handleImg" />
<i-quill v-model="entity.taskContent" :height="200" border v-paste="handleImg" />
</FormItem>
</Col>
</Row>
......
......@@ -37,7 +37,7 @@ export default {
action: Api.index,
easySearch: {
keys: {
op: "name,description,remark,resourceCode,equipType,note",
op: "name",
value: null
},
routingHeaderId: { op: "Equal", value: -1 }
......@@ -70,17 +70,18 @@ export default {
});
}
},
{ key: "taskSeq", title: this.l("taskSeq"), align: "left" },
{ key: "taskSeq", title: this.l("taskSeq"), align: "left",width:80 },
{
key: "name",
title: this.l("name"),
align: "left"
align: "left",
},
{
key: "equipType",
title: this.l("equipType"),
align: "left",
easy: true
easy: true,
hide:true,
},
{
key: "resourceType",
......@@ -117,32 +118,36 @@ export default {
key: "isParticipateIntime",
title: this.l("isParticipateIntime"),
align: "center",
code: "Process.state"
code: "Process.state",
hide: true,
},
{
key: "isImportant",
title: this.l("isImportant"),
align: "center",
code: "Process.state"
code: "Process.state",
width:100,
hide: true,
},
{
key: "isOutside",
title: this.l("isOutside"),
align: "left",
align: "center",
hide: true,
code: "Process.state"
code: "Process.state",
width:100
},
{
key: "efficiencyValue",
title: this.l("efficiencyValue"),
align: "left",
align: "right",
hide: true
},
{
key: "singleOut",
title: this.l("singleOut"),
align: "left",
align: "right",
hide: true
},
......@@ -394,53 +399,6 @@ export default {
this.load();
},
l(key) {
/*
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:'备注',
}
*/
let vkey = "routing_detail" + "." + key;
return this.$t(vkey) || key;
}
......
......@@ -17,6 +17,7 @@
<i-quill
v-model="entity.stepContent"
:height="260"
border
v-paste="handleImg"
/>
<!-- <Input v-model="entity.stepContent" type="textarea" :rows="5"></Input> -->
......
......@@ -5,7 +5,7 @@
<Form ref="formInline" :model="easySearch" inline>
<FormItem prop="keys">
<Input
placeholder="请输入关键字检测要求/测量单位/模板/备注/生产要求/标准指标/模板名称/抽检批次"
placeholder="请输入检测要求/标准指标"
v-model="easySearch.keys.value"
/>
</FormItem>
......@@ -15,7 +15,7 @@
</Form>
</template>
<template slot="searchForm">
<Search :headid="hid"/>
<Search :headid="hid" />
</template>
<template slot="buttons">
<Button type="primary" @click="add">新增</Button>
......@@ -46,7 +46,7 @@ export default {
easySearch: {
keys: {
op:
"checkParams,measurementUnit,qualityTemplate,remark,productionRequirement,standard,qualityTemplateName,samplingBatch",
"checkParams,standard",
value: null
},
routingHeaderId: { op: "Equal", value: -1 }
......@@ -55,42 +55,34 @@ export default {
title: "新增",
detail: null,
curId: 0,
hid:0,
hid: 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"),
key: "routingHeaderId",
title: this.l("routingHeaderId"),
align: "left",
high: true
high: true,
hide: true
},
{
key: "lastModifierUserId",
title: this.l("lastModifierUserId"),
key: "routingDetailId",
title: this.l("routingDetailId"),
align: "left",
high: true
high: true,
hide: true
},
{
key: "routingHeaderId",
title: this.l("routingHeaderId"),
key: "routingDetailNo",
title: this.l("routingDetailNo"),
align: "left",
high: true
high: true,
width: 80
},
{
key: "routingDetailId",
title: this.l("routingDetailId"),
key: "routingDetailName",
title: this.l("routingDetailName"),
align: "left",
high: true
},
......@@ -98,14 +90,16 @@ export default {
key: "routingStepId",
title: this.l("routingStepId"),
align: "left",
high: true
high: true,
hide: true
},
{
key: "checkType",
title: this.l("checkType"),
align: "left",
high: true,
code: "QC.checktype"
code: "QC.checktype",
width:100,
},
{
key: "checkParams",
......@@ -119,48 +113,54 @@ export default {
title: this.l("measurementUnit"),
align: "left",
easy: true,
high: true
high: true,
hide:true,
},
{
key: "fillintype",
title: this.l("fillintype"),
align: "left",
align: "center",
high: true,
code: "QC.fillintype"
code: "QC.fillintype",
width:140,
},
{
key: "isphotograph",
title: this.l("isphotograph"),
align: "left",
align: "center",
high: true,
code: "Process.state"
code: "Process.state",
width:100,
},
{
key: "status",
title: this.l("status"),
align: "left",
align: "center",
high: true,
code: "Process.Status"
code: "Process.Status",
width:80,
},
{
key: "productionRequirement",
title: this.l("productionRequirement"),
align: "left",
easy: true,
high: true
high: true,
hide: true
},
{
key: "standard",
title: this.l("standard"),
align: "left",
easy: true,
high: true
high: true,
},
{
key: "qualityTemplateName",
title: this.l("qualityTemplateName"),
align: "left",
easy: true,
hide: true,
high: true,
render: (h, params) => {
return h("div", { class: "action" }, [
......@@ -178,43 +178,77 @@ export default {
{
key: "isImportant",
title: this.l("isImportant"),
align: "left",
align: "center",
high: true,
code: "Process.state"
code: "Process.state",
width:100,
},
{
key: "firstCheck",
title: this.l("firstCheck"),
align: "left",
align: "center",
high: true,
code: "Process.state"
code: "Process.state",
width:100,
},
{
key: "inspection",
title: this.l("inspection"),
align: "left",
align: "center",
high: true,
code: "Process.state"
code: "Process.state",
width:80,
},
{
key: "inspectionTime",
title: this.l("inspectionTime"),
align: "left",
high: true
high: true,
hide: true
},
{
key: "sampling",
title: this.l("sampling"),
align: "left",
align: "center",
high: true,
code: "Process.state"
code: "Process.state",
width:80,
},
{
key: "samplingBatch",
title: this.l("samplingBatch"),
align: "left",
easy: true,
high: true
high: true,
hide: true
},
{
key: "creationTime",
title: this.l("creationTime"),
align: "left",
high: true,
hide: true
},
{
key: "creatorUserId",
title: this.l("creatorUserId"),
align: "left",
high: true,
hide: true
},
{
key: "lastModificationTime",
title: this.l("lastModificationTime"),
align: "left",
high: true,
hide: true
},
{
key: "lastModifierUserId",
title: this.l("lastModifierUserId"),
align: "left",
high: true,
hide: true
},
{
title: "操作",
......@@ -257,16 +291,16 @@ export default {
};
},
created() {
if(this.headerid!=-1){
if (this.headerid != -1) {
this.easySearch.routingHeaderId.value = this.headerid;
}else{
this.easySearch.routingHeaderId.value=this.$route.query.id;
} else {
this.easySearch.routingHeaderId.value = this.$route.query.id;
}
this.hid=Number(this.easySearch.routingHeaderId.value)
this.hid = Number(this.easySearch.routingHeaderId.value);
},
mounted() {
console.log(this);
this.search()
this.search();
},
async fetch({ store, params }) {
await store.dispatch("loadDictionary"); // 加载数据字典
......@@ -318,7 +352,7 @@ export default {
},
openTemplate(url) {
this.fileUrlPath = this.downUrl + path;
alert(this.fileUrlPath)
alert(this.fileUrlPath);
},
l(key) {
let vkey = "routing_qc_card" + "." + key;
......
......@@ -5,7 +5,7 @@
<Form ref="formInline" :model="easySearch" inline>
<FormItem prop="keys">
<Input
placeholder="请输入关键字物料类型/物料编号/物料名称/牌号/规格/型号规格/材质/采购标准/质量等级/备注/产品图号"
placeholder="请输入关键字物料名称"
v-model="easySearch.keys.value"
/>
</FormItem>
......@@ -46,7 +46,7 @@ export default {
easySearch: {
keys: {
op:
"materialType,materialNumber,nameMaterial,brand,specifications,xhgg,texture,procurementStandards,qualityGrade,remark,drawNum",
"nameMaterial",
value: null
},
routingHeaderId: { op: "Equal", value: -1 }
......@@ -58,85 +58,63 @@ export default {
hid: 0,
columns: [
{ key: "id", title: this.l("id"), hide: true, align: "left" },
{
key: "creationTime",
title: this.l("creationTime"),
hide: true,
align: "left"
},
{
key: "creatorUserId",
title: this.l("creatorUserId"),
hide: true,
align: "left"
},
{
key: "lastModificationTime",
title: this.l("lastModificationTime"),
hide: true,
align: "left"
},
{
key: "lastModifierUserId",
title: this.l("lastModifierUserId"),
hide: true,
align: "left"
},
{
key: "isDeleted",
title: this.l("isDeleted"),
hide: true,
align: "left"
},
{
key: "deletionTime",
title: this.l("deletionTime"),
hide: true,
align: "left"
},
{
key: "deleterUserId",
title: this.l("deleterUserId"),
hide: true,
align: "left"
},
{
key: "routingHeaderId",
title: this.l("routingHeaderId"),
align: "left",
high: true
high: true,
hide:true,
},
{
key: "routingDetailId",
title: this.l("routingDetailId"),
align: "left",
high: true,
hide:true,
},
{
key: "routingDetailNo",
title: this.l("routingDetailNo"),
align: "left",
high: true,
width: 80
},
{
key: "routingDetailName",
title: this.l("routingDetailName"),
align: "left",
high: true
},
{
key: "routingStepId",
title: this.l("routingStepId"),
align: "left",
high: true
high: true,
hide:true,
},
{
key: "quantity",
title: this.l("quantity"),
align: "left",
high: true
align: "right",
high: true,
width:80,
},
{
key: "materialId",
title: this.l("materialId"),
align: "left",
high: true
high: true,
hide:true,
},
{
key: "materialType",
title: this.l("materialType"),
align: "left",
align: "center",
easy: true,
high: true,
code: "mes_xingchi_resource.material.materialReType"
code: "mes_xingchi_resource.material.materialReType",
width:100,
},
{
key: "materialNumber",
......@@ -150,7 +128,7 @@ export default {
title: this.l("nameMaterial"),
align: "left",
easy: true,
high: true
high: true,
},
{
key: "brand",
......@@ -171,7 +149,8 @@ export default {
title: this.l("xhgg"),
align: "left",
easy: true,
high: true
high: true,
hide:true,
},
{
key: "texture",
......@@ -197,23 +176,66 @@ export default {
{
key: "state",
title: this.l("state"),
align: "left",
align: "center",
high: true,
code: "Process.Status"
code: "Process.Status",
width:80,
},
{
key: "remark",
title: this.l("remark"),
key: "drawNum",
title: this.l("drawNum"),
align: "left",
easy: true,
high: true
},
{
key: "drawNum",
title: this.l("drawNum"),
key: "creationTime",
title: this.l("creationTime"),
hide: true,
align: "left",
easy: true,
high: true
hide:true,
},
{
key: "creatorUserId",
title: this.l("creatorUserId"),
hide: true,
align: "left",
hide:true,
},
{
key: "lastModificationTime",
title: this.l("lastModificationTime"),
hide: true,
align: "left",
hide:true,
},
{
key: "lastModifierUserId",
title: this.l("lastModifierUserId"),
hide: true,
align: "left",
hide:true,
},
{
key: "isDeleted",
title: this.l("isDeleted"),
hide: true,
align: "left",
hide:true,
},
{
key: "deletionTime",
title: this.l("deletionTime"),
hide: true,
align: "left",
hide:true,
},
{
key: "deleterUserId",
title: this.l("deleterUserId"),
hide: true,
align: "left",
hide:true,
},
{
title: "操作",
......
<style lang="less">
@import "./technolog.less";
.lay100 {
height: calc(100vh - 105px);
background-color: #f5f6fa;
.con {
padding: 5px 5px 0px 10px;
}
.con_bord {
// margin: 15px 32px;
box-shadow: #c7c7c7 1px 2px 7px 3px;
}
background: rgba(245, 246, 250, 1);
}
.fullWindow {
position: fixed;
width: 100%;
......@@ -223,7 +212,7 @@ export default {
key: "isEffect",
title: this.l("isEffect"),
align: "center",
width:80,
width: 80,
high: true,
code: "Process.Status"
},
......@@ -392,6 +381,11 @@ export default {
// },
viewprocess(row) {
this.curId = row.id;
if (row.fileId) {
this.uId = row.fileId;
} else {
this.uId = this.$u.guid(); //未上传过文件
}
this.title = "预览";
this.detail = () => import("./processview");
this.modal = true;
......
......@@ -11,12 +11,19 @@
</Spin>
</Col>
</Row>
<div class="out" v-show="!circleModal">
<Row v-show="!circleModal&&!dataSatus">
<Col span="24">
<div class="out">
<Row class="table_row" style="width:100%">
<Button class="fr" v-if="isoutpdf" type="primary" @click="$u.outPdf('.outP','工艺规程')">导出pdf</Button>
<Button
class="fr"
v-if="isoutpdf"
type="primary"
@click="$u.outPdf('.outP','工艺规程')"
>导出pdf</Button>
</Row>
</div>
<div class="outP" v-show="!circleModal">
<div class="outP">
<div class="table_box part01" style="min-height:400px">
<Row class="table_row" style="width:100%">
<Col span="3">
......@@ -124,7 +131,7 @@
<h2>工艺内容</h2>
</Row>
<Row class="table_row row03 auto_row">
<div style="min-height:300px" class="tex_in10">{{formValidate.remark}}</div>
<div style="min-height:300px" v-html="formValidate.remark" class="tex_in10"></div>
</Row>
<Row class="table_row center row_title">
<h2>工艺附图</h2>
......@@ -216,6 +223,13 @@
</table>
</div>
</div>
</Col>
</Row>
<Row style="height:300px" v-show="!circleModal&&dataSatus">
<Col span="24" class="tc">
<div style="margin-top:80px">数据加载失败!</div>
</Col>
</Row>
</div>
</template>
<script>
......@@ -231,7 +245,15 @@ export default {
details: [],
qcards: []
},
circleModal: true
circleModal: true,
dataSatus: false,
nameList: [],
parms: {
app: "technology",
eid: this.uid,
name: "",
field: ""
}
};
},
props: {
......@@ -240,7 +262,8 @@ export default {
type: Boolean,
default: true
},
eid: Number
eid: Number,
uid: String
},
mounted() {
if (this.eid > 0) {
......@@ -250,12 +273,14 @@ export default {
methods: {
load(v) {
this.circleModal = true;
this.dataSatus = false;
var url = `${designUrl}/routingheader/getprocessinfo?headerid=` + v;
service
.get(`${url}`)
.then(response => {
this.circleModal = false;
this.formValidate = response.result;
this.loadImg();
if (
this.formValidate.change_order_code == "" ||
typeof this.formValidate.change_order_code == "undefined"
......@@ -272,6 +297,24 @@ export default {
})
.catch(err => {
this.circleModal = false;
this.dataSatus = true;
});
},
loadImg() {
this.nameList = [];
this.formValidate.files = [];
//查询上传到文件服务器上的文件
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.url = data.downloadPath;
objImag.id = data.id;
this.nameList.push(objImag);
});
this.formValidate.files = this.nameList;
}
});
}
},
......
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