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

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

parents d7148bdf 2e921022
......@@ -1340,4 +1340,9 @@ html [type=button] {
background-color: #2d8cf0;
color: white;
}
}
.details{
.ivu-input-number{
width: 100%;
}
}
\ No newline at end of file
<style lang="less">
.timer {
.ivu-input-number {
width: 60px;
}
// .ivu-input-number {
// width: 60px;
// }
> span {
line-height: 30px;
width: 40px;
}
}
</style>
......@@ -21,7 +22,7 @@
<div class="fg1">
<InputNumber v-model="second" :formatter="value => `${value}`" :min="0" :max="60" />
</div>
<span></span>
<span></span>
</div>
</template>
<script>
......
......@@ -34,36 +34,36 @@ export default {
let outStr = "";
if (day) {
if (second == 0 && minute > 0 && hour > 0) {
outStr = day + "天" + hour + "小时" + minute + "分";
outStr = day + "天" + hour + "小时" + minute + "分";
} else if (second == 0 && minute == 0 && hour > 0) {
outStr = day + "天" + hour + "小时";
} else if (second == 0 && minute == 0 && hour == 0) {
outStr = day + "天";
} else {
outStr = day + "天" + hour + "小时" + minute + "分" + second + "秒";
outStr = day + "天" + hour + "小时" + minute + "分钟" + second + "秒钟";
}
return outStr;
} else {
if (hour) {
if (second == 0 && minute > 0) {
outStr = hour + "小时" + minute + "分";
outStr = hour + "小时" + minute + "分";
} else if (second == 0 && minute == 0) {
outStr = hour + "小时";
} else {
outStr = hour + "小时" + minute + "分" + second + "秒";
outStr = hour + "小时" + minute + "分钟" + second + "秒钟";
}
return outStr;
} else {
if (minute) {
if (second == 0) {
outStr = minute + "分";
outStr = minute + "分";
} else {
outStr = minute + "分" + second + "秒";
outStr = minute + "分钟" + second + "秒钟";
}
return outStr;
} else {
if (second) {
return second + "秒";
return second + "秒";
}
}
}
......
......@@ -1215,10 +1215,10 @@ export default {
description: '描述',
taskContent: '工序内容',
resourceId: '资源ID',
resourceType: '资源类型',
resourceCode: '资源类型',
resourceType: '首选资源',
resourceCode: '首选资源',
runtime: '排产单件工时',
setupTime: '准备工时',
setupTime: '排产准结工时',
transportTime: '转运工时',
checkTime: '检验工时',
checkFlag: '检验标识',
......@@ -1235,7 +1235,7 @@ export default {
outsideTime: '外协工期',
performanceHours: '绩效工时',
isImportantResources: '关重资源',
schedulingWorkingHours: '排产准结工时',
schedulingWorkingHours: '*排产准结工时',//准备工时?
realWorkingHours: '实作准结工时',
realRuntime: '实作单件工时',
performanceWorkingHours: '绩效准结工时',
......
......@@ -65,7 +65,7 @@ export default {
columns: [
{ title: " ", width: 130 },
{
key: "insert_flag",
key: "insert_flag",
title: this.l("insert_flag"),
align: "center",
high: true,
......@@ -92,7 +92,8 @@ export default {
color: params.row.insert_flag == 1 ? "#2680EB" : "#aaa"
},
on: {
click: () => this.changeFlag(params.row.op_task_pk, params.index)
click: () =>
this.changeFlag(params.row.op_task_pk, params.index)
}
})
]
......@@ -118,6 +119,14 @@ export default {
title: this.l("task_name"),
align: "left",
easy: true,
high: true,
hide: true
},
{
key: "taskseq_des",
title: this.l("task_name"),
align: "left",
easy: true,
high: true
},
{
......@@ -161,33 +170,38 @@ export default {
key: "setup_time",
title: this.l("setup_time"),
align: "right",
high: true
high: true,
type: "outputTime"
},
{
key: "run_time",
title: this.l("run_time"),
align: "right",
high: true
high: true,
type: "outputTime"
},
{
key: "outside_time",
title: this.l("outside_time"),
align: "right",
high: true
high: true,
type: "outputTime"
},
{
key: "transport_time",
title: this.l("transport_time"),
align: "right",
high: true,
hide: true
hide: true,
type: "outputTime"
},
{
key: "check_time",
title: this.l("check_time"),
align: "right",
high: true,
hide: true
hide: true,
type: "outputTime"
},
{
key: "efficiency_value",
......@@ -276,14 +290,6 @@ export default {
hide: true
},
{
key: "taskseq_des",
title: this.l("taskseq_des"),
align: "left",
easy: true,
high: true,
hide: true
},
{
key: "workshopcode",
title: this.l("workshopcode"),
......@@ -409,7 +415,10 @@ export default {
//this.loadData(this.row)
if (this.data1[this.rowIndex].insert_flag == 1) {
//根据插单数据状态进行插单或取消插单操作
let params1 = { partTaskPks: [], opTaskPks: [this.data1[this.rowIndex].op_task_pk] };
let params1 = {
partTaskPks: [],
opTaskPks: [this.data1[this.rowIndex].op_task_pk]
};
Api.cancelinsertorder(params1)
.then(res => {
if (res.success) {
......@@ -423,7 +432,10 @@ export default {
this.$Message.error("数据异常!");
});
} else {
let params = { partTaskPks: [], opTaskPks: [this.data1[this.rowIndex].op_task_pk] };
let params = {
partTaskPks: [],
opTaskPks: [this.data1[this.rowIndex].op_task_pk]
};
Api.saveinsertorder(params)
.then(res => {
if (res.success) {
......
......@@ -41,7 +41,7 @@
</Col>
</Row>
<component :is="detail" :eid="id" :schemas="schemas"/>
<component :is="detail" :eid="id" :schemas="schemas" @ok-claer="clearS" />
</Content>
</Layout>
<div class="footer" v-if="showFooter">
......@@ -77,8 +77,8 @@ export default {
total: 0,
blacks: false,
gant: false,
gantt:null,
curPage:null
gantt: null,
curPage: null
};
},
async fetch({ store, params }) {
......@@ -121,6 +121,8 @@ export default {
if (r.success) {
this.$Message.success("清空列表成功");
this.orderlist();
this.id = 0;
this.listData();
}
});
},
......@@ -130,6 +132,16 @@ export default {
});
}
},
clearS() {
this.id = 0;
Api.clearall().then(r => {
if (r.success) {
this.orderlist();
this.id = 0;
this.listData();
}
});
},
// 返回
comeBlck() {
this.$router.push({ path: "/aps/aps" });
......@@ -151,26 +163,26 @@ export default {
this.modal1Gant = true;
this.gantt = () => import("./gantt");
},
changeCheck(item,i) {
this.$set(this.list,i,item);
if(this.title!='排产方案对比'){
this.showFooter=true;
changeCheck(item, i) {
this.$set(this.list, i, item);
if (this.title != "排产方案对比") {
this.showFooter = true;
}
},
submit() {
this.detail = () => import("./compare");
this.title = "排产方案对比";
this.showFooter=false;
this.detail = () => import("./compare");
this.title = "排产方案对比";
this.showFooter = false;
},
cancel() {
this.showFooter = false;
}
},
computed:{
schemas(){
return this.list.filter(u=>{
return u.checked==true;
})
computed: {
schemas() {
return this.list.filter(u => {
return u.checked == true;
});
}
}
};
......
......@@ -60,7 +60,7 @@ export default {
},
{
title: "零件图号",
key: "part_id",
key: "part_number",
align: "center"
},
{
......@@ -76,7 +76,7 @@ export default {
},
{
title: "计划结束时间",
key: "plan_start",
key: "plan_finish",
width: 200,
align: "center"
},
......@@ -138,7 +138,8 @@ export default {
}).then(r => {
if (r.result) {
this.$Message.success(r.result.retmsg);
this.orderlist();
this.$emit('ok-claer')
} else {
this.$Message.error("下发失败");
}
......@@ -150,7 +151,7 @@ export default {
}).then(r => {
if (r.result) {
this.$Message.success(r.result.retmsg);
this.orderlist();
this.$emit('ok-claer')
} else {
this.$Message.error("下发失败");
}
......
......@@ -33,6 +33,7 @@
<i-quill
v-model="bugForm.content"
:height="600"
v-paste="handleImg"
/>
</FormItem>
</Row>
......
<template>
<div style="padding:40px 0">
<Detail :idVal="detailId" />
<Process ref="userProcess" :idVal="detailId" />
<Process ref="userProcess" :idVal="detailId" style="width:80%"/>
<div class="footers" v-if="footerStatu === '2'" style="text-align:left;">
<Form
:model="formMyCheck"
......
......@@ -15,17 +15,17 @@
</Col>
<Col span="9">
<div class="iview_cont">
&nbsp;
<label v-text="formValidate.code"></label>
</div>
</Col>
<Col span="5">
<div class="row_label box"></div>
</Col>
<Col span="3">
<div class="row_label">任务类型</div>
</Col>
<Col span="4">
<Col span="9">
<div class="iview_cont border_none">
&nbsp;
<label v-text="formValidate.task_type_str"></label>
</div>
</Col>
......@@ -36,17 +36,17 @@
</Col>
<Col span="9">
<div class="iview_cont">
&nbsp;
<label v-text="formValidate.versiondesc"></label>
</div>
</Col>
<Col span="5">
<div class="row_label box"></div>
</Col>
<Col span="3">
<div class="row_label">研制方式</div>
</Col>
<Col span="4">
<Col span="9">
<div class="iview_cont border_none">
&nbsp;
<label v-text="formValidate.development_mode_str"></label>
</div>
</Col>
......@@ -262,7 +262,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>工艺附图(magics文件或打印数据文件eosjz截图)</h2>
......@@ -298,14 +298,18 @@
<tr>
<td class="tl">{{item5.taskseq}}</td>
<td class="tl">{{item5.name}}</td>
<td class="tl">{{item5.task_content}}</td>
<td class="tl">
<div v-html="item5.task_content" ></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">{{item6.task_content}}</td>
<td class="tl">
<div v-html="item6.task_content" ></div>
</td>
<td class="tl">{{item6.operator}}</td>
<td class="tl">{{item6.proofreader}}</td>
</tr>
......@@ -353,12 +357,12 @@
</div>
</template>
<script>
import service from '@/plugins/request'
import service from "@/plugins/request";
export default {
name: 'processview',
name: "processview",
data() {
return {
filesurl: '',
filesurl: "",
downUrl: fileUrlDown,
formValidate: {
// name: '可乐叉烧',
......@@ -466,7 +470,7 @@ export default {
// }
]
}
}
};
},
props: {
//设置工艺、创建工艺
......@@ -477,26 +481,23 @@ export default {
},
methods: {
loaddata(headerID) {
var url = `${designUrl}/routingheader/getprocessinfo?headerid=` + headerID
service.get(`${url}`).then((response) => {
this.formValidate = response.result
var url =
`${designUrl}/routingheader/getprocessinfo?headerid=` + headerID;
service.get(`${url}`).then(response => {
this.formValidate = response.result;
if (this.formValidate.change_order_code == '') {
this.formValidate.change_order_date = ''
if (this.formValidate.change_order_code == "") {
this.formValidate.change_order_date = "";
}
if (typeof this.formValidate.production_batch == "undefined") {
this.formValidate.production_batch = "&nbsp";
}
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'
}
})
if (typeof this.formValidate.print_data_name == "undefined") {
this.formValidate.print_data_name = "&nbsp";
}
});
}
}
}
};
</script>
......@@ -17,13 +17,10 @@
<label v-text="formValidate.code"></label>
</div>
</Col>
<Col span="5">
<div class="row_label box"></div>
</Col>
<Col span="3">
<div class="row_label">任务类型</div>
</Col>
<Col span="4">
<Col span="9">
<div class="iview_cont border_none">
<label v-text="formValidate.task_type_str"></label>
</div>
......@@ -38,13 +35,10 @@
<label v-text="formValidate.versiondesc"></label>
</div>
</Col>
<Col span="5">
<div class="row_label box"></div>
</Col>
<Col span="3">
<div class="row_label">研制方式</div>
</Col>
<Col span="4">
<Col span="9">
<div class="iview_cont border_none">
<label v-text="formValidate.development_mode_str"></label>
</div>
......@@ -261,7 +255,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>
......@@ -297,14 +291,18 @@
<tr>
<td class="tl">{{item5.taskseq}}</td>
<td class="tl">{{item5.name}}</td>
<td class="tl">{{item5.task_content}}</td>
<td class="tl">
<div v-html="item5.task_content" ></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">{{item6.task_content}}</td>
<td class="tl">
<div v-html="item6.task_content" ></div>
</td>
<td class="tl">{{item6.operator}}</td>
<td class="tl">{{item6.proofreader}}</td>
</tr>
......
import Api from '@/plugins/request'
export default {
index: `${crmUrl}/project/paged`,
paged(params) {
return Api.post(`${crmUrl}/project/paged`, params);
},
list(params) {
return Api.post(`${crmUrl}/customer/list`, params);
},
get(params) {
return Api.get(`${crmUrl}/project/get`, params);
},
create(params) {
return Api.post(`${crmUrl}/project/create`, params);
},
update(params) {
return Api.post(`${crmUrl}/project/update`, params);
},
//删除:
delete(params) {
return Api.delete(`${crmUrl}/project/delete`, { params: params });
},
getshoptree(params) { //获取组织树
return Api.get(`${crmUrl}/shop/getshoptree`, params);
},
customerconnectors(params) { //客户下所以联系人
return Api.get(`${crmUrl}/connector/customerconnectors`, params);
},
}
\ No newline at end of file
<template>
<div class="">
<div class="case_box">
<!-- <a class="file_card div_card" @click="ditaile(item.name)"
v-for="(item,index) in cardlist" :label="item.id" :key="index">
<div class="file">
<Icon type="ios-paper" v-if="item.id%3==0"/> -->
<!-- <Icon type="ios-film" v-else/> -->
<!-- <Icon type="md-film" v-else/>
</div>
<div class="list">
<ul>
<li>{{item.name}}</li>
<li>{{item.userName}}</li>
<li>{{item.time}}</li>
</ul>
</div>
</a> -->
工艺提醒列表
<DataGrid
:columns="columns"
ref="grid" style="height:auto"
:action="action"
type="card"
:high="false"
:span="6"
:lazy="true"
>
<!-- <template slot="easySearch">
<Form ref="formInline" :model="easySearch" inline>
<FormItem prop="keys">
<Input
search
enter-button
placeholder="请输入关键字项目名称"
v-model="easySearch.keys.value"
@on-search="search"
/>
</FormItem>
</Form>
</template> -->
<template slot="buttons">
<Button type="primary" @click="add">新增</Button>
</template>
<!--<template slot="card" slot-scope="{row}">
<!-- v-for="(item,index) in cardlist" :label="item.id" :key="index"
<div class="body">
<Row class="title-i">
<Col :span="18" class="order-code">项目名称:{{row.name}}</Col>
<Col :span="6" class="btn-click">
<a @click="edit(row.id)">
<Icon type="ios-create" @click="edit(row.id)" />
</a>
<a @click="detail(row.id)">
<Icon type="ios-paper" />
</a>
<a @click="remove(row.id)">
<Icon type="ios-trash" />
</a>
</Col>
</Row>
<div class="down-text">
<Row class="row">
<Col span="12" class="fa">主管部门:{{row.shopId}}</Col>
<Col span="12" class="fa">负责人:{{row.principal}}</Col>
</Row>
<Row class="row">
<Col span="12" class="fa">
销售阶段:
<state code="crm.project.stage" :value="row.stage" />
</Col>
<Col span="12" class="fa">
是否报备:
<state code="crm.project.isInform" :value="row.isInform" />
</Col>
</Row>
<Row class="row">
<Col span="12" class="fa">
状态:
<state code="crm.project.status" :value="row.status" />
</Col>
<Col span="12" class="fa">预算:{{row.budget}}</Col>
</Row>
</div>
</div>
</template> -->
</DataGrid>
</div>
</div>
</template>
<script>
import Api from "./api";
export default {
name:'starOrder',
data(){
return{
action: Api.index,
easySearch: {
keys: { op: "name", value: null },
customerId: { op: "Equal", value: null }
},
columns: [{ key: "id", title: this.l("id"), hide: true, align: "left" }],
cardlist:[
{
name:'工艺文档名称',
userName:'张三',
time:'2020-02-06',
id:1,
checked:false
},{
name:'工艺文档名称',
userName:'张三',
time:'2020-02-06',
id:2,
checked:false
},{
name:'工艺文档名称',
userName:'张三',
time:'2020-02-06',
id:3,
checked:false
},{
name:'工艺文档名称',
userName:'张三',
time:'2020-02-06',
id:4,
checked:false
},{
name:'工艺文档名称',
userName:'张三',
time:'2020-02-06',
id:5,
checked:false
},{
name:'工艺文档名称',
userName:'张三',
time:'2020-02-06',
id:6,
checked:false
},{
name:'工艺文档名称',
userName:'张三',
time:'2020-02-06',
id:7,
checked:false
},{
name:'工艺文档名称',
userName:'张三',
time:'2020-02-06',
id:8,
checked:false
},{
name:'工艺文档名称',
userName:'张三',
time:'2020-02-06',
id:9,
checked:false
},{
name:'工艺文档名称',
userName:'张三',
time:'2020-02-06',
id:10,
checked:false
},{
name:'工艺文档名称',
userName:'张三',
time:'2020-02-06',
id:11,
checked:false
},{
name:'工艺文档名称',
userName:'张三',
time:'2020-02-06',
id:12,
checked:false
},{
name:'工艺文档名称',
userName:'张三',
time:'2020-02-06',
id:13,
checked:false
},{
name:'工艺文档名称',
userName:'张三',
time:'2020-02-06',
id:14,
checked:false
},{
name:'工艺文档名称',
userName:'张三',
time:'2020-02-06',
id:15,
checked:false
},{
name:'工艺文档名称',
userName:'张三',
time:'2020-02-06',
id:16,
checked:false
},{
name:'工艺文档名称',
userName:'张三',
time:'2020-02-06',
id:17,
checked:false
},{
name:'工艺文档名称',
userName:'张三',
time:'2020-02-06',
id:18,
checked:false
},{
name:'工艺文档名称',
userName:'张三',
time:'2020-02-06',
id:19,
checked:false
},{
name:'工艺文档名称',
userName:'张三',
time:'2020-02-06',
id:20,
checked:false
},{
name:'工艺文档名称',
userName:'张三',
time:'2020-02-06',
id:21,
checked:false
},{
name:'工艺文档名称',
userName:'张三',
time:'2020-02-06',
id:22,
checked:false
},{
name:'工艺文档名称',
userName:'张三',
time:'2020-02-06',
id:23,
checked:false
},
],
}
},
created() {
// this.treeHeight = window.innerHeight - 120;
},
async fetch({ store, params }) {
await store.dispatch("loadDictionary"); // 加载数据字典
},
mounted() {
window.onresize = () => {
///浏览器窗口大小变化
return (() => {
this.treeHeight = window.innerHeight - 120;
})();
};
},
methods: {
ditaile(name){
this.$Message.success("查看: "+ name +" 详情...")
},
search() {
this.$refs.grid.reload(this.easySearch);
},
},
}
</script>
<template>
<div class="p20">
<div class="">
作业指导书
</div>
</div>
</template>
<script>
export default {
name:'starOrder',
data(){
return{
starmodal: false,
}
},
created() {
// this.treeHeight = window.innerHeight - 120;
},
async fetch({ store, params }) {
await store.dispatch("loadDictionary"); // 加载数据字典
},
mounted() {
window.onresize = () => {
///浏览器窗口大小变化
return (() => {
this.treeHeight = window.innerHeight - 120;
})();
};
},
methods: {
starFun(){
this.$Message.success("开工...")
},
},
}
</script>
<template>
<div class="p20">
<div class="">
工步导航
</div>
</div>
</template>
<script>
export default {
name:'starOrder',
data(){
return{
starmodal: false,
}
},
created() {
// this.treeHeight = window.innerHeight - 120;
},
async fetch({ store, params }) {
await store.dispatch("loadDictionary"); // 加载数据字典
},
mounted() {
window.onresize = () => {
///浏览器窗口大小变化
return (() => {
this.treeHeight = window.innerHeight - 120;
})();
};
},
methods: {
starFun(){
this.$Message.success("开工...")
},
},
}
</script>
......@@ -2,21 +2,23 @@
<template>
<div class="wu_bg">
<!-- <div class="wu_top">
工艺查看 /technology/details/setup/setupDetails
工艺查看 /technology/details/setup/setupDetails
to="/produce/execute/ProcessCheck/setupDetails"
</div> -->
<Layout class="tech_box">
<Header>
<div class="tech_body">
<Menu mode="horizontal" theme="light" active-name="1">
<MenuItem name="1" to="/produce/execute/ProcessCheck/setupDetails">工艺规程</MenuItem>
<MenuItem name="2" to="/produce/execute/ProcessCheck/setupDetails">作业指导书</MenuItem>
<MenuItem name="3" to="/produce/execute/ProcessCheck/setupDetails">工步导航</MenuItem>
<MenuItem name="4" to="/produce/execute/ProcessCheck/setupDetails">工艺提醒</MenuItem>
<Menu mode="horizontal" theme="light" active-name="1" @on-select="openSaveTip">
<MenuItem name="1" >工艺规程</MenuItem>
<MenuItem name="2" >作业指导书</MenuItem>
<MenuItem name="3" >工步导航</MenuItem>
<MenuItem name="4" >工艺提醒</MenuItem>
</Menu>
</div>
</Header>
<Layout class="bottom_box" >
<nuxt-child keep-alive></nuxt-child>
<!-- <nuxt-child keep-alive></nuxt-child> -->
<component :is="detail" :eid="id" />
</Layout>
</Layout>
</div>
......@@ -26,26 +28,26 @@ export default {
name:'starOrder',
data(){
return{
starmodal: false,
id: "1",
detail: null,
}
},
created() {
// this.treeHeight = window.innerHeight - 120;
this.detail = () => import("./components/setupDetails");
},
async fetch({ store, params }) {
await store.dispatch("loadDictionary"); // 加载数据字典
},
mounted() {
window.onresize = () => {
///浏览器窗口大小变化
return (() => {
this.treeHeight = window.innerHeight - 120;
})();
};
// this.detail = () => import("./components/setupDetails");
},
methods: {
starFun(){
this.$Message.success("开工...")
openSaveTip(key){
this.id = key
if(this.id == "1"){ this.detail = () => import("./components/setupDetails");}
if(this.id == "2"){ this.detail = () => import("./components/remind");}
if(this.id == "3"){ this.detail = () => import("./components/workSteps");}
if(this.id == "4"){ this.detail = () => import("./components/guidance");}
},
},
}
......
......@@ -39,8 +39,15 @@
font-size: 40px;
}
}
.icon_A{
i{
font-size: 40px;
color: #2d8cf0;
}
}
ul,li{
list-style: disc;
// list-style: disc;
padding-left: 9PX;
}
}
}
......@@ -336,22 +343,23 @@
}
.tech_box{
height: calc(100vh - 165px);
.ivu-layout-header{
height: 50px;
}
.tech_body{
// padding: 0 20px;
.ivu-layout-header{
height: 0;
}
text-align: center;
background: #fff;
.ivu-menu-horizontal{
height: 40px;
line-height: 40px;
height: 50px;
line-height: 50px;
display: inline-block;
.ivu-menu-item{
width: 115px;
text-align: center;
}
a.ivu-menu-item-active::before{
li.ivu-menu-item-active::before{
content: "";
display: block;
border-width: 5px 6px 0;
border-style: solid;
border-color: #2d8cf0 transparent transparent;
......@@ -361,7 +369,7 @@
bottom: -6px;
left: 43%;
}
a.ivu-menu-item-active::after{
li.ivu-menu-item-active::after{
content: "";
display: block;
border-width: 4px 4px 0;
......@@ -433,4 +441,9 @@
}
}
}
.div_card{
display: inline-block;
// margin: 15px 43px;
color: #515a6e;
}
}
\ No newline at end of file
<template>
<div class="p20">
<div class="">
工艺附件
</div>
</div>
</template>
<script>
export default {
name:'starOrder',
data(){
return{
starmodal: false,
}
},
created() {
// this.treeHeight = window.innerHeight - 120;
},
async fetch({ store, params }) {
await store.dispatch("loadDictionary"); // 加载数据字典
},
mounted() {
window.onresize = () => {
///浏览器窗口大小变化
return (() => {
this.treeHeight = window.innerHeight - 120;
})();
};
},
methods: {
starFun(){
this.$Message.success("开工...")
},
},
}
</script>
<template>
<div class="p20">
<div class="">
辅材
</div>
</div>
</template>
<script>
export default {
name:'starOrder',
data(){
return{
starmodal: false,
}
},
created() {
// this.treeHeight = window.innerHeight - 120;
},
async fetch({ store, params }) {
await store.dispatch("loadDictionary"); // 加载数据字典
},
mounted() {
window.onresize = () => {
///浏览器窗口大小变化
return (() => {
this.treeHeight = window.innerHeight - 120;
})();
};
},
methods: {
starFun(){
this.$Message.success("开工...")
},
},
}
</script>
<template>
<div class="p20">
<div class="">
主材
</div>
</div>
</template>
<script>
export default {
name:'starOrder',
data(){
return{
starmodal: false,
}
},
created() {
// this.treeHeight = window.innerHeight - 120;
},
async fetch({ store, params }) {
await store.dispatch("loadDictionary"); // 加载数据字典
},
mounted() {
window.onresize = () => {
///浏览器窗口大小变化
return (() => {
this.treeHeight = window.innerHeight - 120;
})();
};
},
methods: {
starFun(){
this.$Message.success("开工...")
},
},
}
</script>
<template>
<div class="p20">
<div class="">
量具
</div>
</div>
</template>
<script>
export default {
name:'starOrder',
data(){
return{
starmodal: false,
}
},
created() {
// this.treeHeight = window.innerHeight - 120;
},
async fetch({ store, params }) {
await store.dispatch("loadDictionary"); // 加载数据字典
},
mounted() {
window.onresize = () => {
///浏览器窗口大小变化
return (() => {
this.treeHeight = window.innerHeight - 120;
})();
};
},
methods: {
starFun(){
this.$Message.success("开工...")
},
},
}
</script>
<template>
<div class="p20">
<div class="">
数控程序
</div>
</div>
</template>
<script>
export default {
name:'starOrder',
data(){
return{
starmodal: false,
}
},
created() {
// this.treeHeight = window.innerHeight - 120;
},
async fetch({ store, params }) {
await store.dispatch("loadDictionary"); // 加载数据字典
},
mounted() {
window.onresize = () => {
///浏览器窗口大小变化
return (() => {
this.treeHeight = window.innerHeight - 120;
})();
};
},
methods: {
starFun(){
this.$Message.success("开工...")
},
},
}
</script>
<template>
<div class="p20">
<div class="">
工具
</div>
</div>
</template>
<script>
export default {
name:'starOrder',
data(){
return{
starmodal: false,
}
},
created() {
// this.treeHeight = window.innerHeight - 120;
},
async fetch({ store, params }) {
await store.dispatch("loadDictionary"); // 加载数据字典
},
mounted() {
window.onresize = () => {
///浏览器窗口大小变化
return (() => {
this.treeHeight = window.innerHeight - 120;
})();
};
},
methods: {
starFun(){
this.$Message.success("开工...")
},
},
}
</script>
<template>
<div class="p20">
<div class="">
工装
</div>
</div>
</template>
<script>
export default {
name:'starOrder',
data(){
return{
starmodal: false,
}
},
created() {
// this.treeHeight = window.innerHeight - 120;
},
async fetch({ store, params }) {
await store.dispatch("loadDictionary"); // 加载数据字典
},
mounted() {
window.onresize = () => {
///浏览器窗口大小变化
return (() => {
this.treeHeight = window.innerHeight - 120;
})();
};
},
methods: {
starFun(){
this.$Message.success("开工...")
},
},
}
</script>
<template>
<div class="">
<div class="star" v-if="!starmodal">
<a class="start" @click="starFun" >
<Icon type="md-play" />
生产准备</a>
</div>
<div class="star flex fc-b" v-else-if="starmodal">
<Button class="button" size='large' type="primary"><Icon type="ios-pause" /> 暂停</Button>
<Button class="button" size='large' type="primary"><Icon type="logo-angular" /> 交检</Button>
<Button class="button" size='large' type="primary"><Icon type="ios-checkmark-circle-outline" /> 完工</Button>
<Button class="button" size='large' type="primary"><Icon type="md-swap" /> 转序交接</Button>
</div>
<div class="footer_box">
<div class="ul_box fl">
<ul>
<li>名称:名称1</li>
<li>图号:UIGT-763245</li>
<li>状态:未开工</li>
<li>订单编号:097543346</li>
<li>订单属性1:</li>
<li>订单属性2:</li>
<li>订单属性3:</li>
<li>计划数量:10</li>
<li>节点日期:2020-02-25</li>
</ul>
</div>
<div class="ul_box fl">
<ul>
<li>工序名称:名称1</li>
<li>工序序号:UIGT-763245</li>
<li>派工数量:66</li>
<li>资源名称:23366</li>
<li>资源编号:986732038</li>
<li>人员信息:</li>
<li>开始时间:</li>
<li>结束时间:</li>
<li>单件工时:10</li>
<li>准备工时:2020-02-25</li>
</ul>
</div>
<div class="img_box fl">
图片区
</div>
</div>
<div class="wu_bg">
<!-- <div class="wu_top">
工艺查看 /technology/details/setup/setupDetails
to="/produce/execute/ProcessCheck/setupDetails"
</div> -->
<Layout class="tech_box">
<Header>
<div class="tech_body">
<Menu mode="horizontal" theme="light" active-name="1" @on-select="openSaveTip">
<MenuItem name="1" >主材</MenuItem>
<MenuItem name="2" >辅材</MenuItem>
<MenuItem name="3" >工具</MenuItem>
<MenuItem name="4" >量具</MenuItem>
<MenuItem name="5" >工装</MenuItem>
<MenuItem name="6" >数控程序</MenuItem>
<MenuItem name="7" >工艺附件</MenuItem>
</Menu>
</div>
</Header>
<Layout class="bottom_box" >
<!-- <nuxt-child keep-alive></nuxt-child> -->
<component :is="detail" :eid="id" />
</Layout>
</Layout>
</div>
</template>
<script>
......@@ -51,26 +31,29 @@ export default {
name:'starOrder',
data(){
return{
starmodal: false,
id: "1",
detail: null,
}
},
created() {
// this.treeHeight = window.innerHeight - 120;
this.detail = () => import("./components/mainMaterial");
},
async fetch({ store, params }) {
await store.dispatch("loadDictionary"); // 加载数据字典
},
mounted() {
window.onresize = () => {
///浏览器窗口大小变化
return (() => {
this.treeHeight = window.innerHeight - 120;
})();
};
// this.detail = () => import("./components/setupDetails");
},
methods: {
starFun(){
this.$Message.success("开工...")
openSaveTip(key){
this.id = key
if(this.id == "1"){ this.detail = () => import("./components/mainMaterial");}
if(this.id == "2"){ this.detail = () => import("./components/auxiliary");}
if(this.id == "3"){ this.detail = () => import("./components/tool");}
if(this.id == "4"){ this.detail = () => import("./components/measuring");}
if(this.id == "5"){ this.detail = () => import("./components/workClothes");}
if(this.id == "6"){ this.detail = () => import("./components/program");}
if(this.id == "7"){ this.detail = () => import("./components/annex");}
},
},
}
......
......@@ -15,7 +15,10 @@
</div>
<div class="star_step">
<div class="step_item" v-for="i of 6" :key="i">
<p class="icon_B">
<p class="icon_A" v-if="i>=4">
<Icon type="md-checkmark-circle" />
</p>
<p class="icon_B" v-else>
<Icon type="md-arrow-dropright-circle" />
</p>
<p><a> 开工</a></p>
......
......@@ -47,7 +47,7 @@
</Col>
<Col :span="8">
<FormItem :label="l('version')" prop="versionid">
<Dictionary code="Process.Routing.version" v-model="entity.versionid"></Dictionary>
<Dictionary code="Process.Routing.version" v-model="entity.versionid"></Dictionary>
</FormItem>
</Col>
<Col :span="8">
......@@ -196,7 +196,15 @@ export default {
},
rules: {
name: [{ required: true, message: "必填", trigger: "blur" }],
code: [{ required: true, message: "必填", trigger: "blur" }]
code: [{ required: true, message: "必填", trigger: "blur" }],
routingType: [
{
required: true,
message: "请选择工艺类型",
trigger: "change",
type: "number"
}
]
},
parms: {
app: "technology",
......
......@@ -43,12 +43,12 @@
<div class="details_box">
<div class="details_body">
<Menu mode="horizontal" theme="light" active-name="0">
<MenuItem name="0" :to="'/technology/details?id='+headerId">工序</MenuItem>
<MenuItem name="0" :to="'/technology/details?id='+headerId+'&headerStatus='+headerStatus">工序</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="2" :to="'/technology/details/routingqccard?id='+headerId+'&headerStatus='+headerStatus">质控卡</MenuItem>
<MenuItem name="3" :to="'/technology/details/routingsupporting?id='+headerId+'&headerStatus='+headerStatus">工艺BOM</MenuItem>
<!-- <MenuItem name="4" to="/technology/details/setup/setupDetails">生产准备</MenuItem> -->
<MenuItem name="5" :to="'/technology/details/routinghcorder?id='+headerId">工艺更改单</MenuItem>
<MenuItem name="5" :to="'/technology/details/routinghcorder?id='+headerId" v-show="headerStatus==1">工艺更改单</MenuItem>
</Menu>
</div>
<div class="bottom_box">
......@@ -67,12 +67,14 @@ export default {
showMenu: true,
treeHeight: "",
actNum: "1",
headerId: -1
headerId: -1,
headerStatus:-1,
};
},
created() {
console.log("xiang", this.$route, this.router);
this.headerId = this.$route.query.id;
this.headerStatus = this.$route.query.headerStatus;
},
async fetch({ store, params }) {
await store.dispatch("loadDictionary"); // 加载数据字典
......
<template>
<div class="details">
<Form ref="form" :model="entity" :rules="rules" :label-width="120">
<Form ref="form" :model="entity" :rules="rules" :label-width="100">
<Row>
<!--
<Col :span="12">
......@@ -73,48 +73,52 @@
</FormItem>
</Col>
-->
<Col :span="8">
<Col :span="12">
<FormItem :label="l('taskSeq')" prop="taskSeq">
<InputNumber v-model="maxNum" style="width:235px"></InputNumber>
<InputNumber v-model="maxNum"></InputNumber>
</FormItem>
</Col>
<Col :span="8">
<Col :span="12">
<FormItem :label="l('name')" prop="name">
<Input v-model="entity.name" style="width:235px"></Input>
<Input v-model="entity.name"></Input>
</FormItem>
</Col>
<Col :span="8">
<Col :span="6">
<FormItem :label="l('equipType')" prop="equipTypeId">
<EquipSelect v-model="entity.equipTypeId" @on-change="equipChange" style="width:235px"></EquipSelect>
<EquipSelect v-model="entity.equipTypeId" @on-change="equipChange"></EquipSelect>
</FormItem>
</Col>
<Col :span="8">
<Col :span="6">
<FormItem :label="l('resourceType')" prop="resourceType">
<!-- <Dictionary code="Process.routing_detail.resource_type" v-model="entity.resourceType"></Dictionary> -->
<ResourceSelect v-model="entity.resourceId" @on-change="resourceChange" style="width:235px"></ResourceSelect>
<ResourceSelect v-model="entity.resource" @on-change="resourceChange"></ResourceSelect>
</FormItem>
</Col>
<Col :span="8">
<Col :span="6">
<FormItem :label="l('isImportant')" prop="isImportant">
<Dictionary code="Process.state" v-model="entity.isImportant" type="radio"></Dictionary>
</FormItem>
</Col>
<Col :span="8">
<Col :span="6">
<FormItem :label="l('isParticipateIntime')" prop="isParticipateIntime">
<Dictionary code="Process.state" v-model="entity.isParticipateIntime" type="radio"></Dictionary>
</FormItem>
</Col>
<!-- <Col :span="8">
<FormItem :label="l('isImportantResources')" prop="isImportantResources">
<Dictionary code="Process.state" v-model="entity.isImportantResources" type="radio"></Dictionary>
</FormItem>
</Col>
<Col :span="8">
<FormItem :label="l('schedulingWorkingHours')" prop="schedulingWorkingHours">
<InputTime v-model="entity.schedulingWorkingHours" />
</Col>-->
<Col :span="12">
<FormItem :label="l('setupTime')" prop="setupTime">
<InputTime v-model="entity.setupTime" />
</FormItem>
</Col>
<Col :span="8">
<Col :span="12">
<FormItem :label="l('runtime')" prop="runtime">
<InputTime v-model="entity.runtime" />
</FormItem>
</Col>
<Col :span="8">
<!-- <Col :span="8">
<FormItem :label="l('realRuntime')" prop="realRuntime">
<InputTime v-model="entity.realRuntime" />
</FormItem>
......@@ -123,8 +127,18 @@
<FormItem :label="l('realWorkingHours')" prop="realWorkingHours">
<InputTime v-model="entity.realWorkingHours" />
</FormItem>
</Col>-->
<Col :span="4">
<FormItem :label="l('efficiencyValue')" prop="efficiencyValue">
<InputNumber v-model="entity.efficiencyValue"></InputNumber>
</FormItem>
</Col>
<Col :span="8">
<Col :span="4">
<FormItem :label="l('singleOut')" prop="singleOut">
<InputNumber v-model="entity.singleOut"></InputNumber>
</FormItem>
</Col>
<Col :span="4">
<FormItem :label="l('isOutside')" prop="isOutside">
<Dictionary
code="Process.state"
......@@ -134,31 +148,15 @@
></Dictionary>
</FormItem>
</Col>
<Col :span="8" v-show="entity.isOutside==1">
<Col :span="12" :style="{visibility:entity.isOutside==1?'visible':'hidden'}">
<FormItem :label="l('outsideTime')" prop="outsideTime">
<InputTime v-model="entity.outsideTime" />
</FormItem>
</Col>
<Col :span="8">
<FormItem :label="l('isParticipateIntime')" prop="isParticipateIntime">
<Dictionary code="Process.state" v-model="entity.isParticipateIntime" type="radio"></Dictionary>
</FormItem>
</Col>
<Col :span="8">
<FormItem :label="l('efficiencyValue')" prop="efficiencyValue">
<InputNumber v-model="entity.efficiencyValue" style="width:235px"></InputNumber>
</FormItem>
</Col>
<Col :span="8">
<FormItem :label="l('singleOut')" prop="singleOut">
<InputNumber v-model="entity.singleOut" style="width:235px"></InputNumber>
</FormItem>
</Col>
<Divider />
<Divider />
<Col :span="24">
<FormItem :label="l('taskContent')" prop="taskContent">
<i-quill v-model="entity.taskContent" :height="200" v-paste="handleImg" border />
<i-quill v-model="entity.taskContent" :height="260" v-paste="handleImg" border />
</FormItem>
</Col>
</Row>
......@@ -183,17 +181,18 @@ export default {
name: "",
taskSeq: null,
taskContent: "",
resource: [],
resourceId: null,
resourceType: null,
resourceCode: "",
runtime: 0,
efficiencyValue: null,
singleOut: null,
efficiencyValue: 1,
singleOut: 1,
isOutside: null,
isImportant: null,
outsideTime: 0,
isImportantResources: null,
schedulingWorkingHours: 0,
setupTime: 0,
realWorkingHours: 0,
realRuntime: 0,
isParticipateIntime: null,
......@@ -250,24 +249,24 @@ export default {
});
},
handleImg(e) {
let file = null
if (
e.clipboardData &&
e.clipboardData.items[0] &&
e.clipboardData.items[0].type &&
e.clipboardData.items[0].type.indexOf('image') > -1
) {
//这里就是判断是否有粘贴进来的文件且文件为图片格式
file = e.clipboardData.items[0].getAsFile()
let reader = new FileReader()
reader.readAsDataURL(file)
setTimeout(() => {
var img = '<img src="' + reader.result + '" alt=""/>'
this.entity.taskContent += img
}, 1000)
let file = null;
if (
e.clipboardData &&
e.clipboardData.items[0] &&
e.clipboardData.items[0].type &&
e.clipboardData.items[0].type.indexOf("image") > -1
) {
//这里就是判断是否有粘贴进来的文件且文件为图片格式
file = e.clipboardData.items[0].getAsFile();
let reader = new FileReader();
reader.readAsDataURL(file);
setTimeout(() => {
var img = '<img src="' + reader.result + '" alt=""/>';
this.entity.taskContent += img;
}, 1000);
// new R
}
// new R
}
},
l(key) {
key = "routing_detail" + "." + key;
......@@ -279,7 +278,7 @@ export default {
},
resourceChange(v, items) {
this.entity.resourceId = v[1];
this.entity.resourceType =v[0];
this.entity.resourceType = v[0];
this.entity.resourceCode = items[1].__label;
}
},
......
......@@ -5,15 +5,16 @@
<Filed :span="12" :name="l('name')">{{entity.name}}</Filed>
<Filed :span="12" :name="l('equipType')">{{entity.equipType}}</Filed>
<Filed :span="12" :name="l('resourceType')">
<state code="Process.routing_detail.resource_type" :value="entity.resourceType" type="text"></state>
<!-- <state code="Process.routing_detail.resource_type" :value="entity.resourceType" type="text"></state> -->
{{entity.resourceCode}}
</Filed>
<Filed :span="12" :name="l('isImportant')">
<state code="Process.state" :value="entity.isImportant" type="text"></state>
</Filed>
<Filed :span="12" :name="l('isImportantResources')">
<!-- <Filed :span="12" :name="l('isImportantResources')">
<state code="Process.state" :value="entity.isImportantResources" type="text"></state>
</Filed>
<Filed :span="12" :name="l('schedulingWorkingHours')"><OutputTime :value="entity.schedulingWorkingHours"></OutputTime></Filed>
</Filed> -->
<Filed :span="12" :name="l('setupTime')"><OutputTime :value="entity.setupTime"></OutputTime></Filed>
<Filed :span="12" :name="l('runtime')"><OutputTime :value="entity.runtime"></OutputTime></Filed>
<Filed :span="12" :name="l('realRuntime')"><OutputTime :value="entity.realRuntime"></OutputTime></Filed>
<Filed :span="12" :name="l('realWorkingHours')"><OutputTime :value="entity.realWorkingHours"></OutputTime></Filed>
......
<template>
<Form ref="form" :model="entity" :rules="rules" :label-width="120" class="eid-form">
<Row>
<Col :span="8">
<FormItem :label="l('taskSeq')" prop="taskSeq">
<InputNumber v-model="entity.taskSeq" style="width:235px"></InputNumber >
<div class="details">
<Form ref="form" :model="entity" :rules="rules" :label-width="100">
<Row>
<!--
<Col :span="12">
<FormItem :label="l('routingHeaderId')" prop="routingHeaderId">
<InputNumber v-model="entity.routingHeaderId"></InputNumber>
</FormItem>
</Col>
<Col :span="8">
<FormItem :label="l('name')" prop="name">
<Input v-model="entity.name" style="width:235px"></Input>
<Col :span="12">
<FormItem :label="l('classId')" prop="classId">
<InputNumber v-model="entity.classId"></InputNumber>
</FormItem>
</Col>
<Col :span="8">
<FormItem :label="l('equipType')" prop="equipTypeId">
<EquipSelect v-model="entity.equipTypeId" @on-change="equipChange" style="width:235px"></EquipSelect>
<Col :span="12">
<FormItem :label="l('note')" prop="note">
<Input v-model="entity.note"></Input>
</FormItem>
</Col>
<Col :span="8">
<FormItem :label="l('resourceType')" prop="resourceType">
<ResourceSelect v-model="entity.resourceId" @on-change="resourceChange" style="width:235px"></ResourceSelect>
<Col :span="12">
<FormItem :label="l('milestoneId')" prop="milestoneId">
<InputNumber v-model="entity.milestoneId"></InputNumber>
</FormItem>
</Col>
<Col :span="8">
<FormItem :label="l('isImportant')" prop="isImportant">
<Dictionary code="Process.state" v-model="entity.isImportant" type="radio"></Dictionary>
<Col :span="12">
<FormItem :label="l('status')" prop="status">
<Dictionary code="Process.Status" v-model="entity.status"></Dictionary>
</FormItem>
</Col>
<Col :span="8">
<FormItem :label="l('isImportantResources')" prop="isImportantResources">
<Dictionary code="Process.state" v-model="entity.isImportantResources" type="radio"></Dictionary>
</FormItem>
</Col>
<Col :span="8">
<FormItem :label="l('schedulingWorkingHours')" prop="schedulingWorkingHours">
<InputTime v-model="entity.schedulingWorkingHours" />
</FormItem>
</Col>
<Col :span="8">
<FormItem :label="l('runtime')" prop="runtime">
<InputTime v-model="entity.runtime" />
</FormItem>
</Col>
<Col :span="8">
<FormItem :label="l('realRuntime')" prop="realRuntime">
<InputTime v-model="entity.realRuntime" />
<Col :span="24">
<FormItem :label="l('remark')" prop="remark">
<Input v-model="entity.remark" type="textarea" :rows="5"></Input>
</FormItem>
</Col>
<Col :span="8">
<FormItem :label="l('realWorkingHours')" prop="realWorkingHours">
<InputTime v-model="entity.realWorkingHours" />
<Col :span="12">
<FormItem :label="l('extend')" prop="extend">
<Input v-model="entity.extend"></Input>
</FormItem>
</Col>
<Col :span="8">
<FormItem :label="l('isOutside')" prop="isOutside">
<Dictionary
code="Process.state"
v-model="entity.isOutside"
type="radio"
style="height:20px"
></Dictionary>
<Col :span="12">
<FormItem :label="l('performanceHours')" prop="performanceHours">
<InputNumber v-model="entity.performanceHours"></InputNumber>
</FormItem>
</Col>
<Col :span="8" v-show="entity.isOutside==1">
<FormItem :label="l('outsideTime')" prop="outsideTime">
<InputTime v-model="entity.outsideTime" />
<Col :span="12">
<FormItem :label="l('resourceCode')" prop="resourceCode">
<Input v-model="entity.resourceCode"></Input>
</FormItem>
</Col>
<Col :span="8">
<FormItem :label="l('isParticipateIntime')" prop="isParticipateIntime">
<Dictionary code="Process.state" v-model="entity.isParticipateIntime" type="radio"></Dictionary>
<Col :span="12">
<FormItem :label="l('performanceWorkingHours')" prop="performanceWorkingHours">
<InputNumber v-model="entity.performanceWorkingHours"></InputNumber>
</FormItem>
</Col>
<Col :span="8">
<FormItem :label="l('efficiencyValue')" prop="efficiencyValue">
<InputNumber v-model="entity.efficiencyValue"></InputNumber>
<Col :span="12">
<FormItem :label="l('equipType')" prop="equipType">
<Input v-model="entity.equipType"></Input>
</FormItem>
</Col>
<Col :span="8">
<FormItem :label="l('singleOut')" prop="singleOut">
<InputNumber v-model="entity.singleOut"></InputNumber>
<Col :span="12">
<FormItem :label="l('equipTypeId')" prop="equipTypeId">
<InputNumber v-model="entity.equipTypeId"></InputNumber>
</FormItem>
</Col>
<Divider />
<Col :span="24">
<FormItem :label="l('taskContent')" prop="taskContent">
<i-quill v-model="entity.taskContent" :height="200" border v-paste="handleImg" />
<Col :span="24">
<FormItem :label="l('remark')" prop="remark">
<Input v-model="entity.remark" type="textarea" :rows="5"></Input>
</FormItem>
</Col>
</Row>
<FormItem>
<Button type="primary" @click="handleSubmit" :disabled="disabled">保存</Button>
<Button @click="handleClose" class="ml20">取消</Button>
</FormItem>
</Form>
-->
<Col :span="12">
<FormItem :label="l('taskSeq')" prop="taskSeq">
<InputNumber v-model="maxNum"></InputNumber>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('name')" prop="name">
<Input v-model="entity.name"></Input>
</FormItem>
</Col>
<Col :span="6">
<FormItem :label="l('equipType')" prop="equipTypeId">
<EquipSelect v-model="entity.equipTypeId" @on-change="equipChange"></EquipSelect>
</FormItem>
</Col>
<Col :span="6">
<FormItem :label="l('resourceType')" prop="resourceType">
<ResourceSelect v-model="entity.resource" @on-change="resourceChange"></ResourceSelect>
</FormItem>
</Col>
<Col :span="6">
<FormItem :label="l('isImportant')" prop="isImportant">
<Dictionary code="Process.state" v-model="entity.isImportant" type="radio"></Dictionary>
</FormItem>
</Col>
<Col :span="6">
<FormItem :label="l('isParticipateIntime')" prop="isParticipateIntime">
<Dictionary code="Process.state" v-model="entity.isParticipateIntime" type="radio"></Dictionary>
</FormItem>
</Col>
<!-- <Col :span="8">
<FormItem :label="l('isImportantResources')" prop="isImportantResources">
<Dictionary code="Process.state" v-model="entity.isImportantResources" type="radio"></Dictionary>
</FormItem>
</Col>-->
<Col :span="12">
<FormItem :label="l('setupTime')" prop="setupTime">
<InputTime v-model="entity.setupTime" />
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('runtime')" prop="runtime">
<InputTime v-model="entity.runtime" />
</FormItem>
</Col>
<!-- <Col :span="8">
<FormItem :label="l('realRuntime')" prop="realRuntime">
<InputTime v-model="entity.realRuntime" />
</FormItem>
</Col>
<Col :span="8">
<FormItem :label="l('realWorkingHours')" prop="realWorkingHours">
<InputTime v-model="entity.realWorkingHours" />
</FormItem>
</Col>-->
<Col :span="4">
<FormItem :label="l('efficiencyValue')" prop="efficiencyValue">
<InputNumber v-model="entity.efficiencyValue"></InputNumber>
</FormItem>
</Col>
<Col :span="4">
<FormItem :label="l('singleOut')" prop="singleOut">
<InputNumber v-model="entity.singleOut"></InputNumber>
</FormItem>
</Col>
<Col :span="4">
<FormItem :label="l('isOutside')" prop="isOutside">
<Dictionary
code="Process.state"
v-model="entity.isOutside"
type="radio"
style="height:20px"
></Dictionary>
</FormItem>
</Col>
<Col :span="12" :style="{visibility:entity.isOutside==1?'visible':'hidden'}">
<FormItem :label="l('outsideTime')" prop="outsideTime">
<InputTime v-model="entity.outsideTime" />
</FormItem>
</Col>
<Divider />
<Col :span="24">
<FormItem :label="l('taskContent')" prop="taskContent">
<i-quill v-model="entity.taskContent" :height="260" v-paste="handleImg" border />
</FormItem>
</Col>
</Row>
<FormItem>
<Button type="primary" @click="handleSubmit" :disabled="disabled">保存</Button>
<Button @click="handleClose" class="ml20">取消</Button>
</FormItem>
</Form>
</div>
</template>
<script>
import Api from "./api";
......@@ -122,7 +194,7 @@ export default {
load(v) {
Api.get({ id: v }).then(r => {
this.entity = r.result;
this.entity.resourceId = [r.result.resourceType, r.result.resourceId];
this.entity.resource = [r.result.resourceType, r.result.resourceId];
});
},
handleSubmit() {
......@@ -187,8 +259,8 @@ export default {
this.entity.equipTypeId = items.id;
},
resourceChange(v, items) {
this.entity.resourceType = items[0].value;
this.entity.resourceId = v;
this.entity.resourceId = v[1];
this.entity.resourceType = v[0];
this.entity.resourceCode = items[1].__label;
}
},
......
......@@ -19,7 +19,8 @@ import ApiStep from "./routingStep/api";
export default {
name: "expand",
props: {
row: { type: Array, default: [] }
row: { type: Array, default: [] },
headerStatus:Number,
},
data() {
return {
......@@ -112,7 +113,7 @@ export default {
attrs: { oprate: "edit" },
on: { click: () => this.edit(params.row.id, params.index) }
},
"编辑"
this.headerStatus == 4||this.headerStatus == 0 ? "编辑" : ""
),
h(
"op",
......@@ -120,7 +121,7 @@ export default {
attrs: { oprate: "delete" },
on: { click: () => this.remove(params.row.id) }
},
"删除"
this.headerStatus == 4||this.headerStatus == 0 ? "删除" : ""
)
]);
}
......
......@@ -2,7 +2,7 @@
<div>
<DataGrid :columns="columns" ref="grid" :data="list" :easy="false" :high="false" :page="false">
<template slot="buttons">
<Button type="primary" @click="add">新增</Button>
<Button type="primary" @click="add" v-show="headerStatus==0||headerStatus==4">新增</Button>
</template>
</DataGrid>
<Modal v-model="modal" :title="title" width="1300" footer-hide>
......@@ -57,7 +57,8 @@ export default {
render: (h, params) => {
return h(expandRow, {
props: {
row: params.row.steps
row: params.row.steps,
headerStatus:this.headerStatus,
},
on: {
//监听子组件showDetail事件
......@@ -96,16 +97,16 @@ export default {
align: "left",
easy: true
},
{
key: "isImportantResources",
title: this.l("isImportantResources"),
align: "center",
code: "Process.state"
},
// {
// key: "isImportantResources",
// title: this.l("isImportantResources"),
// align: "center",
// code: "Process.state"
// },
{
key: "schedulingWorkingHours",
title: this.l("schedulingWorkingHours"),
key: "setupTime",
title: this.l("setupTime"),
align: "right",
type: "outputTime",
},
......@@ -116,12 +117,12 @@ export default {
align: "right",
type: "outputTime",
},
{
key: "realRuntime",
title: this.l("realRuntime"),
align: "right",
type: "outputTime",
},
// {
// key: "realRuntime",
// title: this.l("realRuntime"),
// align: "right",
// type: "outputTime",
// },
{
key: "outsideTime",
title: this.l("outsideTime"),
......@@ -293,7 +294,7 @@ export default {
)
}
},
"新增"
this.headerStatus == 4||this.headerStatus == 0 ? "新增" : ""
),
h(
"op",
......@@ -310,7 +311,7 @@ export default {
attrs: { oprate: "edit" },
on: { click: () => this.edit(params.row.id) }
},
"编辑"
this.headerStatus == 4||this.headerStatus == 0 ? "编辑" : ""
),
h(
"op",
......@@ -318,7 +319,7 @@ export default {
attrs: { oprate: "delete" },
on: { click: () => this.remove(params.row.id) }
},
"删除"
this.headerStatus == 4||this.headerStatus == 0 ? "删除" : ""
)
]);
}
......@@ -326,7 +327,8 @@ export default {
],
list: [],
maxNum: 0,
maxNumTemp: 0
maxNumTemp: 0,
headerStatus:-1,
};
},
created() {
......@@ -336,6 +338,7 @@ export default {
this.easySearch.routingHeaderId.value = this.$route.query.id;
}
this.hid = Number(this.easySearch.routingHeaderId.value);
this.headerStatus=this.$route.query.headerStatus
},
mounted() {
this.load();
......
......@@ -9,7 +9,12 @@
</Col>
<Col span="8">
<FormItem :label="l('printData')" prop="printData">
<DatePicker type="date" v-model="entity.printData" style="width:100%" format="yyyy/MM/dd"></DatePicker>
<DatePicker
type="date"
v-model="entity.printData"
style="width:100%"
format="yyyy/MM/dd"
></DatePicker>
</FormItem>
</Col>
<Col span="8">
......@@ -69,7 +74,12 @@
</Col>
<Col span="8">
<FormItem :label="l('effectiveDate')" prop="effectiveDate">
<DatePicker type="date" v-model="entity.effectiveDate" style="width:100%" format="yyyy/MM/dd"></DatePicker>
<DatePicker
type="date"
v-model="entity.effectiveDate"
style="width:100%"
format="yyyy/MM/dd"
></DatePicker>
</FormItem>
</Col>
<Col span="24">
......@@ -117,7 +127,7 @@
</Col>
</Row>
</Form>
<changeSendReview ref="changeSendReview"></changeSendReview>
<changeSendReview ref="changeSendReview" @on-ok="ok"></changeSendReview>
</div>
</template>
<script>
......@@ -165,7 +175,8 @@ export default {
},
props: {
v: Object,
eid: Number
eid: Number,
headid: Number
},
mounted() {
// if (this.eid > 0) {
......@@ -174,7 +185,8 @@ export default {
this.loadCode();
},
methods: {
loadCode() {//生成更改单编号
loadCode() {
//生成更改单编号
let parma = {
code: "JSWJGGD"
};
......@@ -190,8 +202,9 @@ export default {
this.$refs.form.validate(v => {
if (v) {
this.disabled = true;
this.entity.handlingOpinions=this.entity.handlingOpinionsId
this.entity.handlingOpinions = this.entity.handlingOpinionsId;
this.entity.routingHeaderId = this.headid;
this.entity.status = 1;
Api.create(this.entity)
.then(r => {
this.disabled = false;
......@@ -208,9 +221,8 @@ export default {
this.$refs.changeSendReview.info.changeInfo =
res.result.items[0];
this.$refs.changeSendReview.changeorder_code = this.entity.changeorderCode;
});
this.$refs.changeSendReview.modalInfo = true;
this.$refs.changeSendReview.modalInfo = true;
}
} else {
this.$Message.error("保存失败");
......@@ -235,50 +247,53 @@ export default {
},
handleImg(e) {
console.warn(e);
let file = null
if (
e.clipboardData &&
e.clipboardData.items[0] &&
e.clipboardData.items[0].type &&
e.clipboardData.items[0].type.indexOf('image') > -1
) {
//这里就是判断是否有粘贴进来的文件且文件为图片格式
file = e.clipboardData.items[0].getAsFile()
let reader = new FileReader()
reader.readAsDataURL(file)
setTimeout(() => {
var img = '<img src="' + reader.result + '" alt=""/>'
this.entity.beforeChangeContent += img
}, 1000)
let file = null;
if (
e.clipboardData &&
e.clipboardData.items[0] &&
e.clipboardData.items[0].type &&
e.clipboardData.items[0].type.indexOf("image") > -1
) {
//这里就是判断是否有粘贴进来的文件且文件为图片格式
file = e.clipboardData.items[0].getAsFile();
let reader = new FileReader();
reader.readAsDataURL(file);
setTimeout(() => {
var img = '<img src="' + reader.result + '" alt=""/>';
this.entity.beforeChangeContent += img;
}, 1000);
// new R
}
// new R
}
},
handleImg1(e) {
handleImg1(e) {
console.warn(e);
let file = null
if (
e.clipboardData &&
e.clipboardData.items[0] &&
e.clipboardData.items[0].type &&
e.clipboardData.items[0].type.indexOf('image') > -1
) {
//这里就是判断是否有粘贴进来的文件且文件为图片格式
file = e.clipboardData.items[0].getAsFile()
let reader = new FileReader()
reader.readAsDataURL(file)
setTimeout(() => {
var img = '<img src="' + reader.result + '" alt=""/>'
this.entity.afterChangeContent += img
}, 1000)
let file = null;
if (
e.clipboardData &&
e.clipboardData.items[0] &&
e.clipboardData.items[0].type &&
e.clipboardData.items[0].type.indexOf("image") > -1
) {
//这里就是判断是否有粘贴进来的文件且文件为图片格式
file = e.clipboardData.items[0].getAsFile();
let reader = new FileReader();
reader.readAsDataURL(file);
setTimeout(() => {
var img = '<img src="' + reader.result + '" alt=""/>';
this.entity.afterChangeContent += img;
}, 1000);
// new R
}
// new R
}
},
departChange(v, items) {
this.entity.departmentId = v;
this.entity.departmentName = items.name;
},
departChange(v,items)
ok()
{
this.entity.departmentId=v
this.entity.departmentName=items.name
this.$emit("on-ok")
},
l(key) {
key = "routing_header_changeorder" + "." + key;
......
......@@ -87,6 +87,7 @@ export default {
this.$http.order.batchstart(this.dataListRetrunNew).then(response => {
if (response.success) {
this.$Message.info("工艺更改单送审成功!");
this.$emit("on-ok")
} else {
this.$Message.error("送审失败!");
}
......
<template>
<Form ref="form" :model="entity" :rules="rules" :label-width="110">
<Row>
<Col span="8">
<FormItem :label="l('changeorderCode')" prop="changeorderCode">
<Input v-model="entity.changeorderCode" readonly></Input>
</FormItem>
</Col>
<Col span="8">
<FormItem :label="l('printData')" prop="printData">
<DatePicker type="date" v-model="entity.printData" style="width:100%" format="yyyy/MM/dd"></DatePicker>
</FormItem>
</Col>
<Col span="8">
<FormItem :label="l('departmentName')" prop="departmentId">
<departmentSelect v-model="entity.departmentId" @on-change="departChange"></departmentSelect>
</FormItem>
</Col>
<Col span="8">
<FormItem :label="l('proposeUserName')" prop="proposeUserId">
<UserSelect v-model="entity.proposeUserId"></UserSelect>
</FormItem>
</Col>
<Col span="8">
<FormItem :label="l('technicalName')" prop="technicalName">
<Input v-model="entity.technicalName"></Input>
</FormItem>
</Col>
<Col span="8">
<FormItem :label="l('technicalCode')" prop="technicalCode">
<Input v-model="entity.technicalCode"></Input>
</FormItem>
</Col>
<Col span="8">
<FormItem :label="l('changedVersion')" prop="changedVersion">
<dictionary
code="Process.Routing.version"
v-model="entity.changedVersion"
style="width:100%"
></dictionary>
</FormItem>
</Col>
<Col span="8">
<FormItem :label="l('quantity')" prop="quantity">
<InputNumber v-model="entity.quantity" style="width:100%"></InputNumber>
</FormItem>
</Col>
<Form ref="form" :model="entity" :rules="rules" :label-width="110">
<Row>
<Col span="8">
<FormItem :label="l('changeorderCode')" prop="changeorderCode">
<Input v-model="entity.changeorderCode" readonly></Input>
</FormItem>
</Col>
<Col span="8">
<FormItem :label="l('printData')" prop="printData">
<DatePicker type="date" v-model="entity.printData" style="width:100%" format="yyyy/MM/dd"></DatePicker>
</FormItem>
</Col>
<Col span="8">
<FormItem :label="l('departmentName')" prop="departmentId">
<departmentSelect v-model="entity.departmentId" @on-change="departChange"></departmentSelect>
</FormItem>
</Col>
<Col span="8">
<FormItem :label="l('proposeUserName')" prop="proposeUserId">
<UserSelect v-model="entity.proposeUserId"></UserSelect>
</FormItem>
</Col>
<Col span="8">
<FormItem :label="l('technicalName')" prop="technicalName">
<Input v-model="entity.technicalName"></Input>
</FormItem>
</Col>
<Col span="8">
<FormItem :label="l('technicalCode')" prop="technicalCode">
<Input v-model="entity.technicalCode"></Input>
</FormItem>
</Col>
<Col span="8">
<FormItem :label="l('changedVersion')" prop="changedVersion">
<dictionary
code="Process.Routing.version"
v-model="entity.changedVersion"
style="width:100%"
></dictionary>
</FormItem>
</Col>
<Col span="8">
<FormItem :label="l('quantity')" prop="quantity">
<InputNumber v-model="entity.quantity" style="width:100%"></InputNumber>
</FormItem>
</Col>
<Col span="8">
<FormItem :label="l('executiveBranch')" prop="executiveBranchId">
<departmentSelect v-model="entity.executiveBranchId"></departmentSelect>
</FormItem>
</Col>
<Col span="8">
<FormItem :label="l('executiveBranch')" prop="executiveBranchId">
<departmentSelect v-model="entity.executiveBranchId"></departmentSelect>
</FormItem>
</Col>
<Col span="8">
<FormItem :label="l('handlingOpinions')" prop="handlingOpinionsId">
<Dictionary
code="Process.Routing.opinion"
v-model="entity.handlingOpinionsId"
type="radio"
></Dictionary>
</FormItem>
</Col>
<Col span="8">
<FormItem :label="l('changeReason')" prop="changeReason">
<Input v-model="entity.changeReason"></Input>
</FormItem>
</Col>
<Col span="8">
<FormItem :label="l('effectiveDate')" prop="effectiveDate">
<DatePicker type="date" v-model="entity.effectiveDate" style="width:100%" format="yyyy/MM/dd"></DatePicker>
</FormItem>
</Col>
<Col span="24">
<FormItem :label="l('beforeChangeContent')" prop="beforeChangeContent">
<i-quill v-model="entity.beforeChangeContent" :height="200" border v-paste="handleImg" />
</FormItem>
</Col>
<Col span="24">
<FormItem :label="l('afterChangeContent')" prop="afterChangeContent">
<i-quill v-model="entity.afterChangeContent" :height="200" border v-paste="handleImg1" />
</FormItem>
</Col>
<Col span="8">
<FormItem :label="l('handlingOpinions')" prop="handlingOpinionsId">
<Dictionary
code="Process.Routing.opinion"
v-model="entity.handlingOpinionsId"
type="radio"
></Dictionary>
</FormItem>
</Col>
<Col span="8">
<FormItem :label="l('changeReason')" prop="changeReason">
<Input v-model="entity.changeReason"></Input>
</FormItem>
</Col>
<Col span="8">
<FormItem :label="l('effectiveDate')" prop="effectiveDate">
<DatePicker
type="date"
v-model="entity.effectiveDate"
style="width:100%"
format="yyyy/MM/dd"
></DatePicker>
</FormItem>
</Col>
<Col span="24">
<FormItem :label="l('beforeChangeContent')" prop="beforeChangeContent">
<i-quill v-model="entity.beforeChangeContent" :height="200" border v-paste="handleImg" />
</FormItem>
</Col>
<Col span="24">
<FormItem :label="l('afterChangeContent')" prop="afterChangeContent">
<i-quill v-model="entity.afterChangeContent" :height="200" border v-paste="handleImg1" />
</FormItem>
</Col>
<!--
<!--
<Col span="12">
<FormItem :label="l('checkPerson')" prop="checkPerson">
<InputNumber v-model="entity.checkPerson"></InputNumber>
......@@ -103,19 +108,19 @@
<Process ref="userProcess" schemaIdVal="d0cdafe3-2341-4499-a4f5-278ef0f30740" />
</FormItem>
</Col>
-->
</Row>
-->
</Row>
<Row>
<Col span="24" style="text-align:right">
<FormItem label>
<Button @click="handleClose" class="ml20">取消</Button>&nbsp;&nbsp;
<Button type="primary" @click="handleSubmit" :disabled="disabled">保存</Button>&nbsp;&nbsp;
<Checkbox v-show="submitShow" v-model="checked" class="ml10" label="送审">送审</Checkbox>
</FormItem>
</Col>
</Row>
</Form>
<Row>
<Col span="24" style="text-align:right">
<FormItem label>
<Button @click="handleClose" class="ml20">取消</Button>&nbsp;&nbsp;
<Button type="primary" @click="handleSubmit" :disabled="disabled">保存</Button>&nbsp;&nbsp;
<Checkbox v-show="submitShow" v-model="checked" class="ml10" label="送审">送审</Checkbox>
</FormItem>
</Col>
</Row>
</Form>
</template>
<script>
import Api from "./api";
......@@ -123,7 +128,7 @@ import iQuill from "@/components/quill";
import changeSendReview from "./changeSendReview.vue";
export default {
name: "Edit",
components: { iQuill, changeSendReview },
components: { iQuill, changeSendReview },
data() {
return {
disabled: false,
......@@ -151,6 +156,7 @@ export default {
this.$refs.form.validate(v => {
if (v) {
this.disabled = true;
this.entity.status = 1;//修改后(未通过审核或新建的)的状态都为待送审
Api.update(this.entity)
.then(r => {
this.disabled = false;
......@@ -174,45 +180,45 @@ export default {
},
handleImg(e) {
console.warn(e);
let file = null
if (
e.clipboardData &&
e.clipboardData.items[0] &&
e.clipboardData.items[0].type &&
e.clipboardData.items[0].type.indexOf('image') > -1
) {
//这里就是判断是否有粘贴进来的文件且文件为图片格式
file = e.clipboardData.items[0].getAsFile()
let reader = new FileReader()
reader.readAsDataURL(file)
setTimeout(() => {
var img = '<img src="' + reader.result + '" alt=""/>'
this.entity.beforeChangeContent += img
}, 1000)
let file = null;
if (
e.clipboardData &&
e.clipboardData.items[0] &&
e.clipboardData.items[0].type &&
e.clipboardData.items[0].type.indexOf("image") > -1
) {
//这里就是判断是否有粘贴进来的文件且文件为图片格式
file = e.clipboardData.items[0].getAsFile();
let reader = new FileReader();
reader.readAsDataURL(file);
setTimeout(() => {
var img = '<img src="' + reader.result + '" alt=""/>';
this.entity.beforeChangeContent += img;
}, 1000);
// new R
}
// new R
}
},
handleImg1(e) {
handleImg1(e) {
console.warn(e);
let file = null
if (
e.clipboardData &&
e.clipboardData.items[0] &&
e.clipboardData.items[0].type &&
e.clipboardData.items[0].type.indexOf('image') > -1
) {
//这里就是判断是否有粘贴进来的文件且文件为图片格式
file = e.clipboardData.items[0].getAsFile()
let reader = new FileReader()
reader.readAsDataURL(file)
setTimeout(() => {
var img = '<img src="' + reader.result + '" alt=""/>'
this.entity.afterChangeContent += img
}, 1000)
let file = null;
if (
e.clipboardData &&
e.clipboardData.items[0] &&
e.clipboardData.items[0].type &&
e.clipboardData.items[0].type.indexOf("image") > -1
) {
//这里就是判断是否有粘贴进来的文件且文件为图片格式
file = e.clipboardData.items[0].getAsFile();
let reader = new FileReader();
reader.readAsDataURL(file);
setTimeout(() => {
var img = '<img src="' + reader.result + '" alt=""/>';
this.entity.afterChangeContent += img;
}, 1000);
// new R
}
// new R
}
},
l(key) {
key = "routing_header_changeorder" + "." + key;
......
<template>
<div>
<DataGrid :columns="columns" ref="grid" :action="action">
<DataGrid :columns="columns" ref="grid" :action="action" :conditions="easySearch">
<template slot="easySearch">
<Form ref="formInline" :model="easySearch" inline>
<FormItem prop="keys">
<Input placeholder="请输入关键字更改单编号" v-model="easySearch.keys.value" v-width="260"/>
<Input placeholder="请输入关键字更改单编号" v-model="easySearch.keys.value" v-width="260" />
</FormItem>
<FormItem>
<Button type="primary" @click="search">查询</Button>
......@@ -19,17 +19,20 @@
</template>
</DataGrid>
<Modal v-model="modal" :title="title" width="1200" footer-hide scrollable>
<component :is="detail" :eid="curId" @on-close="cancel" @on-ok="ok" />
<component :is="detail" :eid="curId" :headid="hid" @on-close="cancel" @on-ok="ok" />
</Modal>
<changeSendReview ref="changeSendReview" @on-ok="ok"></changeSendReview>
</div>
</template>
<script>
import Api from "./api";
import Search from "./search";
import changeSendReview from "./changeSendReview.vue";
export default {
name: "list",
components: {
Search
Search,
changeSendReview
},
head: {
title: "工艺变更单",
......@@ -43,8 +46,13 @@ export default {
keys: {
op: "changeorderCode,",
value: null
},
routingHeaderId: {
op: "Equal",
value: this.$http.common.getquerystring("id")
}
},
hid: 0,
modal: false,
title: "新增",
detail: null,
......@@ -75,7 +83,7 @@ export default {
align: "left",
high: true,
type: "user",
width: 140,
width: 140
},
{
key: "technicalName",
......@@ -103,7 +111,7 @@ export default {
title: this.l("quantity"),
align: "right",
high: true,
width: 100,
width: 100
},
{
key: "status",
......@@ -117,7 +125,7 @@ export default {
key: "creationTime",
title: this.l("creationTime"),
hide: true,
align: "left",
align: "center",
hide: true
},
{
......@@ -132,7 +140,7 @@ export default {
key: "lastModificationTime",
title: this.l("lastModificationTime"),
hide: true,
align: "left",
align: "center",
hide: true
},
{
......@@ -146,7 +154,7 @@ export default {
{
title: "操作",
key: "action",
width: 120,
width: 150,
align: "left",
render: (h, params) => {
return h("div", { class: "action" }, [
......@@ -165,7 +173,7 @@ export default {
attrs: { oprate: "edit" },
on: { click: () => this.edit(params.row.id) }
},
params.row.status==1?"编辑":''
params.row.status == 1||params.row.status == 4 ? "编辑" : ""
),
h(
"op",
......@@ -173,7 +181,15 @@ export default {
attrs: { oprate: "delete" },
on: { click: () => this.remove(params.row.id) }
},
params.row.status==1?"删除":""
params.row.status == 1||params.row.status == 4 ? "删除" : ""
),
h(
"op",
{
attrs: { oprate: "edit" },
on: { click: () => this.sendReview(params.row) }
},
params.row.status == null||params.row.status == 1 ? "送审" : ""
)
]);
}
......@@ -183,6 +199,7 @@ export default {
},
mounted() {
console.log(this);
this.search();
},
async fetch({ store, params }) {
await store.dispatch("loadDictionary"); // 加载数据字典
......@@ -190,6 +207,7 @@ export default {
methods: {
ok() {
this.$refs.grid.load();
this.$refs.changeSendReview.modalInfo = false;
this.modal = false;
this.curId = 0;
},
......@@ -198,6 +216,7 @@ export default {
},
add() {
this.curId = 0;
this.hid = this.$http.common.getquerystring("id");
this.title = "新增";
this.detail = () => import("./add");
this.modal = true;
......@@ -232,6 +251,18 @@ export default {
this.curId = 0;
this.modal = false;
},
sendReview(row) {
let params = {
changeorder_code: row.changeorderCode,
pageindex: 1,
pageSize: 10
};
Api.getpaged1(params).then(res => {
this.$refs.changeSendReview.info.changeInfo = res.result.items[0];
this.$refs.changeSendReview.changeorder_code = row.changeorderCode;
});
this.$refs.changeSendReview.modalInfo = true;
},
l(key) {
let vkey = "routing_header_changeorder" + "." + key;
return this.$t(vkey) || key;
......
......@@ -19,7 +19,7 @@
<Search :headid="hid" />
</template>
<template slot="buttons">
<Button type="primary" @click="add">新增</Button>
<Button type="primary" @click="add" v-show="headerStatus==0||headerStatus==4">新增</Button>
</template>
</DataGrid>
<Modal v-model="modal" :title="title" width="1000" footer-hide>
......@@ -200,7 +200,7 @@ export default {
attrs: { oprate: "edit" },
on: { click: () => this.edit(params.row.id) }
},
"编辑"
this.headerStatus == 4||this.headerStatus == 0 ? "编辑" : ""
),
h(
"op",
......@@ -208,14 +208,15 @@ export default {
attrs: { oprate: "delete" },
on: { click: () => this.remove(params.row.id) }
},
"删除"
this.headerStatus == 4||this.headerStatus == 0 ? "删除" : ""
)
]);
}
}
],
downUrl: fileUrlDown,
fileUrlPath: ""
fileUrlPath: "",
headerStatus:-1,
};
},
created() {
......@@ -225,6 +226,8 @@ export default {
this.easySearch.routingHeaderId.value = this.$route.query.id;
}
this.hid = Number(this.easySearch.routingHeaderId.value);
this.headerStatus=this.$route.query.headerStatus
},
mounted() {
console.log(this);
......
......@@ -19,7 +19,7 @@
<Search :headid="hid"/>
</template>
<template slot="buttons">
<Button type="primary" @click="add">新增</Button>
<Button type="primary" @click="add" v-show="headerStatus==0||headerStatus==4">新增</Button>
</template>
</DataGrid>
<Modal v-model="modal" :title="title" width="1200" footer-hide>
......@@ -204,7 +204,7 @@ export default {
attrs: { oprate: "edit" },
on: { click: () => this.edit(params.row.id) }
},
"编辑"
this.headerStatus == 4||this.headerStatus == 0 ? "编辑" : ""
),
h(
"op",
......@@ -212,12 +212,13 @@ export default {
attrs: { oprate: "delete" },
on: { click: () => this.remove(params.row.id) }
},
"删除"
this.headerStatus == 4||this.headerStatus == 0 ? "删除" : ""
)
]);
}
}
]
],
headerStatus:-1,
};
},
created() {
......@@ -227,6 +228,7 @@ export default {
this.easySearch.routingHeaderId.value = this.$route.query.id;
}
this.hid=Number(this.easySearch.routingHeaderId.value)
this.headerStatus=this.$route.query.headerStatus
},
mounted() {
console.log(this);
......
......@@ -60,6 +60,7 @@
:eid="curId"
:uid="uId"
:title="title"
:headid="hid"
@on-close="cancel"
@on-ok="ok"
/>
......@@ -143,6 +144,7 @@ export default {
easySearch: {
keys: { op: "unicode,name,code", value: null }
},
hid: 0,
modal: false,
title: "新增",
info: null,
......@@ -273,7 +275,7 @@ export default {
{
title: "操作",
key: "action",
width: 320,
width: 260,
align: "left",
render: (h, params) => {
return h("div", { class: "action" }, [
......@@ -320,8 +322,8 @@ export default {
h(
"op",
{
attrs: { oprate: "detail" }
// on: { click: () => this.TechnologyChange(params.row) }
attrs: { oprate: "detail" },
on: { click: () => this.TechnologyChange(params.row) }
},
params.row.approvalStatus == 1 ? "新增更改单" : ""
),
......@@ -387,8 +389,9 @@ export default {
version: row.version,
departmentName: row.departmentName
};
// this.info=()=>import("./details")
this.src = "/technology/details?id=" + row.id;
this.src = "/technology/details?id=" + row.id+"&headerStatus="+row.approvalStatus;
},
viewClose() {
this.viewModal = false;
......@@ -484,28 +487,10 @@ export default {
},
//工艺更改
TechnologyChange(row) {
this.$refs.routingchangeorder.flag = 0;
this.$refs.routingchangeorder.routing_header_Id = row.id;
var userId = this.$store.state.userInfo.userId;
let parma = {
Id: userId
};
this.$refs.routingchangeorder.changeorder_code = "";
this.$http.sysUser.getuserinfo(parma).then(res => {
if (res.result) {
this.$refs.routingchangeorder.formValidate = {
technical_name: row.name,
technical_code: row.code,
department_name: res.result.departmentTitle,
propose_user_name: res.result.userName
};
}
});
var url1 = `${designUrl}/routingheader/GetCodeByType?code=JSWJGGD`;
service.get(`${url1}`).then(response => {
this.$refs.routingchangeorder.changeorder_code = response.result;
});
this.$refs.routingchangeorder.modelChange = true;
this.hid = row.id;
this.title = "新增";
this.detail = () => import("./details/routinghcorder/add");
this.modal = true;
},
Main(data) {
......
......@@ -22,7 +22,7 @@
<MenuItem name="1" to="/test/user">人员选择</MenuItem>
<MenuItem name="2" to="/test/com">异步组件</MenuItem>
<MenuItem name="4" to="/test/resource">资源选择</MenuItem>
<MenuItem name="3">Option 3</MenuItem>
<MenuItem name="3" to="/test/view">详情拖拽排版</MenuItem>
</div>
</Menu>
</div>
......
<template>
<div class="flex view">
<div class="item">
aaa
</div>
</div>
</template>
<script>
export default {
name: '',
data() {
return {
items:[]
}
},
methods:{
init(){
var items=[];
for (let i = 0; i <30; i++) {
items.push({
key:"I"+i,
name:"Item"+v,
width:4,
height:1
})
}
}
}
}
</script>
<style lang="less" >
@line-height:40px;
@item-width:12.5%;
.view{
}
</style>
\ No newline at end of file
......@@ -9,7 +9,7 @@ const Setting = {
* 基础配置
* */
// 网页标题的后缀
titleSuffix: '陕西见著MES',
titleSuffix: '见著MES',
// 路由模式,可选值为 history 或 hash
routerMode: 'history',
// 应用的基路径
......
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