Commit 923d9fe9 authored by 周远喜's avatar 周远喜

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

parents 92d1f463 05136b76
<template>
<div>
<span v-if="type=='date'">
<span>
<Tooltip :content="value">
{{value.substr(0,10)}}
{{date}}
</Tooltip>
</span>
<span v-else>{{value.substr(0,19)}}</span>
</div>
</template>
<script>
export default {
name: 'dtSpan',
data() {
return {
date:""
}
},
props: {
......@@ -25,10 +24,22 @@ export default {
default: '2001-01-01 00:00:00'
},
},
created() {},
created() {
this.init()
},
methods: {
init(){
if(this.value&&this.value.length>=19){
this.date=this.value.substr(0,this.type=='date'?10:19)
}
return this.date;
}
},
computed: {},
watch: {}
watch: {
value(){
this.init()
}
}
}
</script>
\ No newline at end of file
<template>
<Form ref="form" :model="entity" :rules="rules" :label-width="140">
<Row>
<Col :span="12">
<FormItem label="物料编码:" prop="">
<Input placeholder="请输入物料编码" v-model="entity.projectNo" />
</FormItem>
</Col>
<Col :span="12">
<FormItem label="零件图号:" prop="">
<Input placeholder="请输入零件图号" v-model="entity.lingNo" />
</FormItem>
</Col>
<Col :span="12">
<FormItem label="零件名称:" prop="">
<Input placeholder="请输入零件名称" v-model="entity.lingName" />
</FormItem>
</Col>
<Col :span="12">
<FormItem label="工艺规程/工序号:" prop="">
<Input placeholder="请输入工艺规程/工序号" v-model="entity.produCode" />
</FormItem>
</Col>
<Col :span="12">
<FormItem label="工序名称:" prop="">
<Input placeholder="请输入工序名称" v-model="entity.produName" />
</FormItem>
</Col>
<Col :span="12">
<FormItem label="程序名称:" prop="">
<Input placeholder="请输入程序名称" v-model="entity.projecName" />
</FormItem>
</Col>
<Col :span="12">
<FormItem label="程序文件名称:" prop="">
<Input placeholder="请输入程序文件名称" v-model="entity.fileName" />
</FormItem>
</Col>
<Col :span="12">
<FormItem label="版本号:" prop="">
<Input placeholder="请输入版本号" v-model="entity.tvb" />
</FormItem>
</Col>
<Col :span="12">
<FormItem label="创建人:" prop="">
<Input placeholder="请输入创建人" v-model="entity.creatUser" />
</FormItem>
</Col>
<Col :span="12">
<FormItem label="状态:" prop="">
{{entity.statue}}
<!-- <Input v-model="entity.statue" /> -->
</FormItem>
</Col>
<Col :span="12">
<FormItem label="备注:" prop="">
<Input placeholder="请输入备注信息" v-model="entity.notse" />
</FormItem>
</Col>
</Row>
<FormItem>
<Button type="primary" @click="handleSubmit" :disabled="disabled">保存</Button>
<Button @click="handleClose" class="ml20">取消</Button>
</FormItem>
</Form>
</template>
<script>
export default {
name: "Edit",
data() {
return {
disabled: false,
entity: {},
orderCatList: [],
rules: {
name: [{ required: true, message: "必填", trigger: "blur" }]
},
single: false
};
},
props: {
row: {
type: Object,
default: () => {
return null;
}
}
},
methods: {
load(v) {
this.entity = v;
},
handleSubmit() {
this.$refs.form.validate(v => {
if (v) {
}
});
},
handleClose() {
this.$emit("on-close");
},
l(key) {
key = "mes_op_task_execute" + "." + key;
return this.$t(key);
}
},
watch: {
// row(v) {
// if (v != {}) {
//alert(JSON.stringify(v))
// this.entity = v;
// }
// }
}
};
</script>
......@@ -8,52 +8,47 @@
<div class="dispatch_part">
<p class="dispatch_part_top">
<b class="mr10">设备列表</b>
{{listTask.length}}
{{listSheBei.length}}
<!-- {{ids}} -->
</p>
<div class="dispatch_part_body" v-if="listShow == '订单'" :style="{height:byheight}">
<h4 class="tc" v-if="this.listTask.length==0">暂无数据</h4>
<div v-for="(item,index) in listOrder" :key="index" :name="item.mesCode">
<h3 class="h3_bg">
订单号:{{item[0].mesCode}}
<Tag class="h3_tag">{{item.length}}</Tag>
</h3>
<p slot="content">
<Row :gutter="15" class="card_body01">
<Col span="8" class="dispatch_card" v-for="(li,index) in item" :key="li.id">
<Card>
<p slot="title" class="card_top">
<Checkbox v-model="li.checked" :disabled="li.status!=-1">
<Icon type="ios-pricetags" />
工序{{li.process_seq}}{{li.process_name}}
</Checkbox>
</p>
<div class="h60">
<p class="g_title">{{li.productName}}--{{li.equipCode}}</p>
<p>
产品数量:{{li.quantity}}
<op
title="拆分"
type="icon"
icon="md-cut"
v-if="li.quantity > 1 && li.pid == 0 && li.status==-1"
@click="setChai(li,index)"
></op>
<op
title="删除"
type="icon"
icon="md-close-circle"
v-else-if="li.dispatchStatus!=2 && li.pid != 0"
@click="removeDetail(li,index)"
></op>
</p>
<p>{{li.beginTime}}--{{li.endTime}}</p>
<p>人员 :{{li.userNames}}</p>
</div>
</Card>
</Col>
</Row>
</p>
<div class="dispatch_part_body" :style="{height:byheight}">
<h4 class="tc" v-if="this.listSheBei.length==0">暂无数据</h4>
<div
v-for="(item,index) in listSheBei"
:key="index"
:name="item.dncCode"
class="row_box"
>
<h3 class="h3_bg">
<Checkbox v-model="item.checked">设备编号:{{item.dncCode}}</Checkbox>
<a class="h3_tag">{{item.dncName}}</a>
</h3>
<p>
<Row class="card_body01">
<Col span="8" class="dispatch_card">资源主操:{{item.dncUser}}</Col>
<Col span="8" class="dispatch_card">位置:{{item.dncArea}}</Col>
<Col span="8" class="dispatch_card">状态:{{item.dncStatue}}</Col>
</Row>
</p>
<p class="show_btn">
<a @click="showRow(item.id,item.btnShow)">
<Tooltip content="所属程序列表">
<Icon v-if="btnModal" type="ios-arrow-down" />
<Icon v-else type="ios-arrow-up" />
</Tooltip>
</a>
</p>
<div class="h60" v-if="!btnModal">
<Row class="card_body02" v-for="(li,index) in item.row" :key="index">
<Col span="8" class="dispatch_li">
<Checkbox v-model="li.checked">程序名:{{li.mdcNmae}}</Checkbox>
</Col>
<Col span="8" class="dispatch_li">大小:{{li.size}}</Col>
<Col span="8" class="dispatch_li">下载时间:{{li.downTime}}</Col>
</Row>
<!-- {{liOrderIds}} -->
</div>
</div>
</div>
</div>
</Col>
......@@ -61,46 +56,31 @@
<div class="dispatch_part">
<p class="dispatch_part_top">
<b class="mr10">程序列表</b>
<span >{{listSheBei.length}}</span>
<span>{{listChengxu.length}}</span>
<!-- {{chengXuIds}} -->
</p>
<div class="dispatch_part_body" :style="{height:byheight}">
<h4 class="tc" v-if="listSheBei.length==0">暂无数据</h4>
<div class="shebei">
<Row :gutter="15">
<span style="display:none">{{shebeiId}}</span>
<Col
span="12"
class="dispatch_card"
v-for="(item,index) in listSheBei"
:key="index"
>
<Card class="card">
<p slot="title" class="card_top">
<label @click="setShebeiId(item.id)" class="label">
<Icon
type="ios-disc"
size="18"
:color="item.id==shebeiId?'#2d8cf0':'#fff'"
/>
<input
name="shebei"
:value="item.equip_id"
type="radio"
style="display:none"
/>
设备编号:{{item.equip_id}}
</label>
<h4 class="tc" v-if="listChengxu.length==0">暂无数据</h4>
<!-- <div class="shebei"> -->
<Row :gutter="15" class="card_body01">
<Col span="8" class="dispatch_card" v-for="(item,index) in listChengxu" :key="index">
<Card>
<p slot="title" class="card_top">
<Checkbox v-model="item.checked">程序名称:{{item.mesCode}}</Checkbox>
<!-- :disabled="item.status!=-1" -->
</p>
<div class="h60">
<p class="g_title">{{item.productName}}</p>
<p>
<Icon type="ios-pricetags" />
工序{{item.process_seq}}{{item.process_name}}
</p>
<div class="h60">
<p class="g_title">{{item.equip_name}}</p>
<p>资源主操:{{item.operatorUsers}}</p>
<p>位置:{{item.locationx}}</p>
<p>状态:{{item.equip_status}}</p>
</div>
</Card>
</Col>
</Row>
</div>
<p>{{item.beginTime}}--{{item.endTime}}</p>
</div>
</Card>
</Col>
</Row>
<!-- </div> -->
</div>
</div>
</Col>
......@@ -113,14 +93,16 @@
:mask-closable="false"
ok-text="拆分"
@on-ok="okChai()"
> 拆分数量:
>
拆分数量:
<Tag>{{chaiNum}}</Tag>
<Slider v-model="chaiNum" :max="maxnum" show-stops :min="1"></Slider>
</Modal>
<!-- 底部 -->
<FooterToolbar style="height:65px" v-show="showOperate&&footerToolbar">
<Button class="span ml20" type="primary" @click="openDrawer">下载</Button>
<!-- <Button class="span ml20" type="primary" @click="openDrawer">文本对比</Button> -->
<!-- <span>已选程序:{{chengXuIds.length}}</span> -->
<Button class="span ml20" type="primary" v-if="xiaZai" @click="downFile">下载</Button>
<Button class="span ml20" type="primary" v-if="beyong" @click="fileBeyong">文本对比</Button>
<Button @click="footerToolbar=false">取消</Button>
</FooterToolbar>
<Drawer title="排产设置盘" v-model="facilityModal" width="820" class="drawer_box">
......@@ -146,7 +128,8 @@
v-model="entity.userIds"
:multiple="true"
style="width: 500px"
/><!-- :type="3" -->
/>
<!-- :type="3" -->
</FormItem>
</Col>
<Col span="24" class="drawer_midell">
......@@ -186,10 +169,10 @@ export default {
byheight: "450px",
button1: "全部",
button2: "设备",
listShow: "订单",
shebei: "",
curTask:null,
dateRange: {//禁选工时时间区间
curTask: null,
dateRange: {
//禁选工时时间区间
disabledDate(date) {
return date && date.valueOf() < Date.now() - 86400000;
}
......@@ -200,9 +183,116 @@ export default {
footerMore: true, //CheckItem!=null&&CheckItem!=''
footerModel: false, //底部按钮
facilityModal: false, //设备抽屉
listSheBei: [], //设备列表
xiaZai:false,
beyong:false,
listMan: [], //人员列表
listTask: [], //工单列表数据
listSheBei: [//设备列表数据
{
dncCode: "19212_0665001",
dncName: "数控机床01",
dncUser: "王拉拉",
dncArea: "区域01",
dncStatue: "空闲",
checked: false,
btnShow: false,
id: 1,
row: [
{
mdcNmae: "00123_281",
id:101,
size: "128Mb",
downTime: "2020-05-26 10:30:26",
checked: false
},
{
mdcNmae: "00123_282",
id:102,
size: "128Mb",
downTime: "2020-05-26 10:30:26",
checked: false
},
{
mdcNmae: "00123_283",
id:103,
size: "128Mb",
downTime: "2020-05-26 10:30:26",
checked: false
}
]
},{
dncCode: "19212_0665002",
dncName: "数控机床02",
dncUser: "张帆",
dncArea: "区域02",
dncStatue: "空闲",
checked: false,
btnShow: false,
id: 2,
row: [
{
mdcNmae: "00123_281",
id:201,
size: "128Mb",
downTime: "2020-05-26 10:30:26",
checked: false
},
{
mdcNmae: "00123_282",
id:202,
size: "128Mb",
downTime: "2020-05-26 10:30:26",
checked: false
},
{
mdcNmae: "00123_283",
id:203,
size: "128Mb",
downTime: "2020-05-26 10:30:26",
checked: false
}
]
}
],
listChengxu: [//程序列表
{
mesCode: "1288-268",
id: 1,
checked: false,
productName: "数控机床",
process_seq: "1",
process_name: "领料",
beginTime: "2020/05/26 ",
endTime: "2020/05/26 "
},{
mesCode: "1288-269",
id: 2,
checked: false,
productName: "摸具机床",
process_seq: "2",
process_name: "打磨",
beginTime: "2020/05/26 ",
endTime: "2020/05/26 "
},{
mesCode: "1288-269",
id: 3,
checked: false,
productName: "摸具机床",
process_seq: "2",
process_name: "打磨",
beginTime: "2020/05/26 ",
endTime: "2020/05/26 "
},{
mesCode: "1288-269",
id: 4,
checked: false,
productName: "摸具机床",
process_seq: "2",
process_name: "打磨",
beginTime: "2020/05/26 ",
endTime: "2020/05/26 "
}
],
btnModal: true,//箭头
listTitle: [], //订单号列表
newList: [], //选中数据
chaiModal: false, //拆分弹框
......@@ -258,7 +348,7 @@ export default {
};
},
created() {
this.getUserInfoFn();
// this.getUserInfoFn();
this.byheight = window.innerHeight - 178 + "px";
},
mounted() {
......@@ -295,6 +385,16 @@ export default {
this.shebeiId = id;
this.footerToolbar = true;
},
// 切换箭头
showRow(id,btn){
// console.log(id)
// let ss=!btnModal
// this.listSheBei.map(u=>{
// })
// console.log(btnModal = ss)
this.btnModal = !this.btnModal
},
// 获取查询人员
getselectuser(id) {
let parme = { departmentId: id, type: "2" };
......@@ -312,7 +412,7 @@ export default {
res.result.map(u => {
u.checked = false;
});
this.listSheBei = res.result;
this.listChengxu = res.result;
});
},
// 获取用户工单 JSON.stringify(parme)
......@@ -324,7 +424,9 @@ export default {
res.result.map(u => {
if (u.pid) {
pid = u.pid;
} else { pid = 0;}
} else {
pid = 0;
}
let detailnew = {
beginTime: u.beginTime, //开始时间
dispatchStatus: u.dispatchStatus, //
......@@ -349,7 +451,7 @@ export default {
};
savedUl.push(detailnew);
});
this.listTask = savedUl;
// this.listSheBei = savedUl;
});
},
// 时间改变方法
......@@ -369,10 +471,16 @@ export default {
changeStatus(a) {
this.getUserInfoFn();
},
downFile(){
this.$Message.success("下载文件")
},
fileBeyong(){
this.$Message.success("对比文件")
},
// 打开抽屉
openDrawer() {
let chekids = this.ids;
let formData = this.listTask;
let formData = this.listSheBei;
let timebegin = formData[0].beginTime;
let timend = formData[0].endTime;
this.newList = [];
......@@ -389,7 +497,7 @@ export default {
this.facilityModal = true;
} else {
this.pentity.taskTime = [timebegin, timend];
}// console.log("选中的数据", this.newList);
} // console.log("选中的数据", this.newList);
},
// 设备派工
sendSheBei() {
......@@ -447,7 +555,7 @@ export default {
},
// 拆分方法
setChai(item, index) {
this.curTask=item;
this.curTask = item;
this.chaiModal = true;
this.chaiNum = 1;
this.maxnum = item.quantity - 1;
......@@ -457,10 +565,10 @@ export default {
okChai() {
var old = this.$u.clone(this.curTask);
var add = this.$u.clone(this.curTask);
old.quantity -= this.chaiNum;
add.quantity = this.chaiNum;
add.id = 0;
add.pid = old.id;
old.quantity -= this.chaiNum;
add.quantity = this.chaiNum;
add.id = 0;
add.pid = old.id;
let params = {
isDispatch: 0, //派工是1,保存是0
entryList: [old, add]
......@@ -495,31 +603,53 @@ export default {
computed: {
ids() {
let ids = [];
this.listTask.map(u => {
if (u.checked) { ids.push(u.id);}
this.listSheBei.map(u => {
if (u.checked) {
ids.push(u.id);
}
});
if (ids.length > 0) {this.footerToolbar = true;}
if (ids.length > 0) {
this.footerToolbar = true;
this.xiaZai = true;
}
return ids;
},
chengXuIds() {
let chengXuIds = [];
this.listChengxu.map(u => {
if (u.checked) {
chengXuIds.push(u.id);
}
});
if (chengXuIds.length > 0) {
this.footerToolbar = true;
}
return chengXuIds;
},
listOrder() {
let orders = this.$u.group(this.listTask, u => {
let orders = this.$u.group(this.listSheBei, u => {
return u.mesCode;
});// console.warn("listOrder", orders);
}); // console.warn("listOrder", orders);
return orders;
},
peploeId() {
let peploeId = [];
this.listMan.map(u => {
if (u.checked) {
peploeId.push(u.id);
}
});
this.footerToolbar = true;
return peploeId;
liOrderIds() {
let liOrderIds = [];
let rowList ;
this.listSheBei.map(u => { rowList = u.row });
// rowList.map(item=>{ rowData.push(item) })
// rowList.map(tm=>{
// if(tm.checked){
// liOrderIds.push(tm.id)
// }
// })
// this.footerToolbar = true;
return rowList;
},
showOperate() {
return (
this.ids.length > 0 && (this.shebeiId > 0 || this.peploeId.length > 0)
this.ids.length > 0 && (this.chengXuIds.length > 0 )
// || this.liOrderIds.length > 0
);
}
},
......
......@@ -31,11 +31,39 @@
.dispatch_part_body{
padding: 10px;
overflow-y: auto;
.h3_bg{
background: #a5adbf;
padding: 0 0 0 10px;
.h3_tag{
margin-left: 15px!important;
.row_box {
border: 1px solid #ccc;
border-radius:4px;
margin: 10px 0;
.h3_bg{
padding: 5px 0 5px 10px;
border-bottom: 1px solid #ccc;
.h3_tag{
margin-left: 40px;
color: #2680EB;
}
}
.card_body01{
padding: 0 10px 0;
}
.h60{
.card_body02{
padding: 0 10px 0;
margin: 4px 0;
.dispatch_li{
line-height: 24px;
}
}
}
.show_btn{
font-size: 16px;
a{
text-align: center;
width: 40px;
display: block;
height: 24px;
margin: 0 auto;
}
}
}
.dispatch_card{
......@@ -47,43 +75,13 @@
}
}
.ivu-card-head{
background: #2d8cf0!important;
background: #2d8cf0;
}
}
.g_title{
color: #2d8cf0;
}
}
.dispatch_card02{
margin: 10px 0;
// padding-left: 0!important;
// padding-right: 0!important;
.man_body{
max-width: 185px;
.checkUser{
border-radius: 24px;
width: 100%;
height: 50px;
line-height: 47px;
span{
height: 50px;
}
.svg_name{
overflow: hidden;
text-overflow: ellipsis;
-o-text-overflow: ellipsis;
white-space:nowrap;
display: block;
float: right;
width: 82%;
}
.svg{
width: 70px;
}
}
}
}
}
}
.drawer_midell{
......@@ -105,8 +103,6 @@
font-weight: 600;
}
.drawer_midell{
// height: 120px;
// margin: 20px 0;
.drawer_center{
text-align: center;
padding: 10px;
......
<template>
<Form ref="form" :model="entity" :rules="rules" :label-width="140">
<Row>
<Col :span="12">
<FormItem label="物料编码:" prop="">
<Input placeholder="请输入物料编码" v-model="entity.projectNo" />
</FormItem>
</Col>
<Col :span="12">
<FormItem label="零件图号:" prop="">
<Input placeholder="请输入零件图号" v-model="entity.lingNo" />
</FormItem>
</Col>
<Col :span="12">
<FormItem label="零件名称:" prop="">
<Input placeholder="请输入零件名称" v-model="entity.lingName" />
</FormItem>
</Col>
<Col :span="12">
<FormItem label="工艺规程/工序号:" prop="">
<Input placeholder="请输入工艺规程/工序号" v-model="entity.produCode" />
</FormItem>
</Col>
<Col :span="12">
<FormItem label="工序名称:" prop="">
<Input placeholder="请输入工序名称" v-model="entity.produName" />
</FormItem>
</Col>
<Col :span="12">
<FormItem label="程序名称:" prop="">
<Input placeholder="请输入程序名称" v-model="entity.projecName" />
</FormItem>
</Col>
<Col :span="12">
<FormItem label="程序文件名称:" prop="">
<Input placeholder="请输入程序文件名称" v-model="entity.fileName" />
</FormItem>
</Col>
<Col :span="12">
<FormItem label="版本号:" prop="">
<Input placeholder="请输入版本号" v-model="entity.tvb" />
</FormItem>
</Col>
<Col :span="12">
<FormItem label="创建人:" prop="">
<Input placeholder="请输入创建人" v-model="entity.creatUser" />
</FormItem>
</Col>
<Col :span="12">
<FormItem label="状态:" prop="">
{{entity.statue}}
<!-- <Input v-model="entity.statue" /> -->
</FormItem>
</Col>
<Col :span="12">
<FormItem label="备注:" prop="">
<Input placeholder="请输入备注信息" v-model="entity.notse" />
</FormItem>
</Col>
</Row>
<FormItem>
<Button type="primary" @click="handleSubmit" :disabled="disabled">保存</Button>
<Button @click="handleClose" class="ml20">取消</Button>
</FormItem>
</Form>
</template>
<script>
export default {
name: "Edit",
data() {
return {
disabled: false,
entity: {},
orderCatList: [],
rules: {
name: [{ required: true, message: "必填", trigger: "blur" }]
},
single: false
};
},
props: {
row: {
type: Object,
default: () => {
return null;
}
}
},
methods: {
load(v) {
this.entity = v;
},
handleSubmit() {
this.$refs.form.validate(v => {
if (v) {
this.disabled = true;
let parmsUp = {
run_time: this.entity.run_time,
first_equip: this.entity.eQUIPID,
id: this.entity.id
};
// Api.updatesetuptimeandfirstequip(parmsUp)
// .then(res => {
// if (res.success) {
// if (!this.single) {
// this.$Message.success("保存成功");
// this.$emit("on-option-ok");
// } else {
// let parms = {
// id: this.entity.routing_detail_id, //工序ID
// name: this.entity.task_name, //工序名
// task_seq: this.entity.task_seq, //工序号
// resource_id: this.entity.eQUIPID, //设备id
// runtime: this.entity.run_time, //单件工时
// department_id: 0 //班组ID
// };
// Api.apsupdate(parms)
// .then(r => {
// this.disabled = false;
// if (r.success) {
// this.$Message.success("保存成功");
// this.$emit("on-option-ok");
// } else {
// this.$Message.error("保存失败");
// }
// })
// .catch(err => {
// this.disabled = false;
// this.$Message.error("保存失败");
// console.warn(err);
// });
// }
// } else {
// this.$Message.error("保存失败");
// }
// })
// .catch(err => {
// this.disabled = false;
// this.$Message.error("保存失败");
// console.warn(err);
// });
}
});
},
handleClose() {
this.$emit("on-close");
},
l(key) {
key = "mes_op_task_execute" + "." + key;
return this.$t(key);
}
},
watch: {
row(v) {
if (v != {}) {
alert(JSON.stringify(v))
this.entity = v;
}
}
}
};
</script>
<template>
<div class="dnc_box">
<!-- 数据传输:action="action" 接口数据 -->
<DataGrid :columns="columns" ref="grid" :data="data" :high="false">
<DataGrid :columns="columns" ref="grid" :data="data" :high="false" :height="tableHeight">
<template slot="easySearch">
<Form ref="formInline" :model="easySearch" inline>
<FormItem prop="keys">
......@@ -13,20 +13,28 @@
</Form>
</template>
<template slot="buttons">
<Button type="primary" >新增</Button>
<Button type="primary" @click="addRow">新增</Button>
</template>
</DataGrid>
<Modal v-model="editModal" title="编辑" footer-hide width="800">
<!-- <Edit :row="rowData" @on-close="cancel" @on-option-ok="addOk" /> -->
<Edit :row="rowData" @on-close="cancel" @on-option-ok="editOk" />
</Modal>
<Modal v-model="addModal" title="新增" footer-hide width="800">
<addView @on-close="cancel" @on-option-ok="addOk" />
</Modal>
</div>
</template>
<script>
import Edit from "./edit";
import addView from "./add";
export default {
components: {},
components: {Edit,addView},
data() {
return {
editModal: false,
addModal:false,
tableHeight:800,
rowData:{},
easySearch: {
keys: { op: 'projectNo', value: null }
},
......@@ -61,7 +69,7 @@ export default {
},
{
key: "tvb",
title: "版本"
title: "版本"
},
{
key: "creatUser",
......@@ -110,8 +118,7 @@ export default {
creatUser: "刘建",
statue: "受控",
notse: "适用于MDF设备"
},
{
},{
projectNo: "12366588",
id:2,
lingNo: "dd4.rt5.991",
......@@ -124,8 +131,7 @@ export default {
creatUser: "刘建",
statue: "受控",
notse: "适用于MDF设备"
},
{
},{
projectNo: "2536898",
id:3,
lingNo: "dd4.rt5.991",
......@@ -138,8 +144,46 @@ export default {
creatUser: "刘建",
statue: "受控",
notse: "适用于MDF设备"
},
{
},{
projectNo: "35653248",
id:4,
lingNo: "dd4.rt5.991",
lingName: "轴承",
produCode: "JJGYI-001/1",
produName: "车",
projecName: "精车文件",
fileName: "dd4rt5991.1.A.txt",
tvb: "A",
creatUser: "刘建",
statue: "受控",
notse: "适用于MDF设备"
},{
projectNo: "35653248",
id:4,
lingNo: "dd4.rt5.991",
lingName: "轴承",
produCode: "JJGYI-001/1",
produName: "车",
projecName: "精车文件",
fileName: "dd4rt5991.1.A.txt",
tvb: "A",
creatUser: "刘建",
statue: "受控",
notse: "适用于MDF设备"
},{
projectNo: "35653248",
id:4,
lingNo: "dd4.rt5.991",
lingName: "轴承",
produCode: "JJGYI-001/1",
produName: "车",
projecName: "精车文件",
fileName: "dd4rt5991.1.A.txt",
tvb: "A",
creatUser: "刘建",
statue: "受控",
notse: "适用于MDF设备"
},{
projectNo: "35653248",
id:4,
lingNo: "dd4.rt5.991",
......@@ -156,17 +200,35 @@ export default {
]
};
},
created() {},
created(){
this.tableHeight = window.innerHeight - 230
},
mounted() {
// this.loadDuration();
window.onresize = () => {///浏览器窗口大小变化
return (() => {
window.screenHeight = window.innerHeight
this.tableHeight = window.screenHeight - 230
})()
}
},
methods: {
search() {
this.$Message.success("搜索查询")
// this.$refs.grid.reload(this.easySearch)
},
addRow(){
this.addModal = true
},
edit(rowData){
console.log(rowData)
this.rowData = rowData;
this.editModal = true
},
editOk(){},
addOk(){},
cancel(){
this.editModal = false
this.addModal = false
},
},
computed: {},
......
<template>
<div>数据分析表
<Echart1 ></Echart1>
<div>
<a class="back_href" @click="goView">
<Icon type="ios-undo-outline" size="24" />返回设备监控
</a>
<!-- 数据分析表 -->
<Echart1 ></Echart1>
</div>
</template>
<script>
......@@ -73,6 +77,11 @@ export default {
};
},
methods: {},
methods: {
goView(){
//返回设备监控页面
this.$router.push("/dncmnc/mnc");
},
},
};
</script>
......@@ -44,14 +44,14 @@
placement="right-start"
>
<DropdownMenu slot="list" ref="ppp" style="min-width: 80px;">
<DropdownItem>
<a @click="add">添加</a>
<DropdownItem @click.native="add">
<a>添加</a>
</DropdownItem>
<DropdownItem name="edit">
<a @click="edit">修改</a>
<DropdownItem name="edit" @click.native="edit">
<a>修改</a>
</DropdownItem>
<DropdownItem name="del">
<a @click="remove">删除</a>
<DropdownItem name="del" @click.native="remove">
<a>删除</a>
</DropdownItem>
</DropdownMenu>
</Dropdown>
......
......@@ -58,7 +58,7 @@
<!-- <files ref="refFile" :parms="parms" fileFormat :Photos="true" @clickItem="clickData" /> -->
<InputFile v-if="li.dataType==7" v-model="entity[li.field]"></InputFile>
<Input v-if="li.dataType==8" type="textarea" v-model="entity[li.field]"></Input>
<state v-if="li.unitName" :value="li.unitName" code="material.main.unitName" type="tag"></state>
<state v-if="li.unitName&&(li.dataType==1||li.dataType==2)" :value="li.unitName" code="material.main.unitName" type="tag"></state>
</FormItem>
</Col>
<!-- <Col :span="24">
......
......@@ -2,23 +2,18 @@
<div>
<Form ref="form" :model="entity" :rules="rules" :label-width="90">
<Row>
<Col :span="12">
<!-- <Col :span="12">
<FormItem label="编码" prop="code">
<Input v-model="entity.code" placeholder="请输入" disabled></Input>
</FormItem>
</Col>
</Col>-->
<Col :span="12">
<FormItem label="名称" prop="name">
<Input v-model="entity.name" placeholder="请输入"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem
label="状态"
prop="status"
placeholder="请选择"
v-if="entity.status==3||entity.status==4"
>
<!-- <Col :span="12">
<FormItem label="状态" prop="status" placeholder="请选择">
<Dictionary
code="material.main.status"
v-model="entity.status"
......@@ -27,7 +22,7 @@
:key="entity.status"
></Dictionary>
</FormItem>
</Col>
</Col>-->
<Col :span="12">
<FormItem label="版本" prop="version">
<Input v-model="entity.version" placeholder="请输入"></Input>
......@@ -52,9 +47,9 @@
class="w100"
></InputNumber>
<Dictionary v-if="li.dataType==3" v-model="entity[li.field]" :code="li.note"></Dictionary>
<Input v-if="li.dataType==4" v-model="entity[li.filed]"></Input>
<Input v-if="li.dataType==5" type="textarea" v-model="entity[li.filed]"></Input>
<DatePicker
v-if="li.dataType==5"
v-if="li.dataType==4"
v-model="entity[li.field]"
type="date"
:placeholder="'选择'+li.title"
......@@ -63,6 +58,7 @@
<!-- <files ref="refFile" :parms="parms" fileFormat :Photos="true" @clickItem="clickData" /> -->
<InputFile v-if="li.dataType==7" v-model="entity[li.field]"></InputFile>
<Input v-if="li.dataType==8" type="textarea" v-model="entity[li.field]"></Input>
<state v-if="li.unitName&&(li.dataType==1||li.dataType==2)" :value="li.unitName" code="material.main.unitName" type="tag"></state>
</FormItem>
</Col>
<!-- <Col :span="24">
......
......@@ -228,7 +228,7 @@ export default {
search() {
this.$refs.grid.reload(this.easySearch);
},
initCols() {
initCols(delay) {
let conditions = [
{
conditionalType: "Equal",
......@@ -252,6 +252,7 @@ export default {
});
this.cols = this.$u.clone(this.columns);
let extra = items.map(u => {
// console.log(u);
var col = {
key: u.field,
title: u.title
......@@ -259,7 +260,10 @@ export default {
if (u.dataType == 3) {
col.code = u.note;
}
if (u.unitName) {
if (u.dataType == 4) {
col.type = 'date';
}
if (u.unitName&&(u.dataType==1||u.dataType==2)) {
var units = this.$store.getters.dictionaryByKey(
"material.main.unitName"
);
......@@ -267,7 +271,7 @@ export default {
let item = units.filter(p => {
return p.code == u.unitName;
});
console.log(units, item);
// console.log(units, item);
col.title += "(" + item[0].name + ")";
}
return col;
......@@ -275,6 +279,10 @@ export default {
this.cols = this.cols.concat(extra);
var action = this.cols.splice(this.columns.length - 1, 1);
this.cols.push(this.columns[this.columns.length - 1]);
if(delay){
delay();
}
// console.log(this.cols)
}
});
},
......@@ -341,12 +349,14 @@ export default {
handler(newName, oldName) {
console.log("ovo", newName, oldName);
if (newName.rootCategoryId) {
this.initCols();
this.initCols(()=>{
if (newName.categoryId) {
this.easySearch.categoryId.value = newName.ids;
this.$refs.grid.reload(this.easySearch);
}
});
}
if (newName.categoryId) {
this.easySearch.categoryId.value = newName.ids;
this.$refs.grid.reload(this.easySearch);
} else {
if (!newName.categoryId) {
this.easySearch.categoryId.value = "-1";
}
},
......
......@@ -18,7 +18,8 @@
<div v-else-if="li.dataType==8">{{entity[li.field]}}</div>
<div v-else-if="li.dataType==5" v-html="entity[li.field]"></div>
<span v-else>{{entity[li.field]}}</span>
<span v-if="li.unitName" v-text="li.unitName" class="ml10"></span>
<State v-if="li.unitName" :code="li.note" :value="entity[li.field]" />
<!-- <span v-if="li.unitName" v-text="li.unitName" class="ml10"></span> -->
</Filed>
</Row>
</div>
......@@ -257,8 +258,7 @@ export default {
if (this.entity.code) {
codeList.push(this.entity.code);
} else {
codeList.push(this.eid);
codeList.push(this.eid);
}
idList.push(this.eid);
} else {
......@@ -267,8 +267,7 @@ export default {
if (e.code) {
codeList.push(e.code);
} else {
codeList.push(e.id);
codeList.push(e.id);
}
});
}
......
<template>
<Form ref="form" :model="mod" :label-width="100">
<Row class="rowTitle100">
<Col :span="12">
<span class="ml20">产品号</span>
<Select
multiple
@on-change="productonchange"
v-model="product_ID"
class="w200"
>
<Option
v-for="item in product_List"
:value="item.productids"
:key="item.index"
>{{ item.productcodes }}</Option>
</Select>
</Col>
</Row>
<Row class="rowTitle100">
<Col :span="12">
<FormItem label="备注" >
<Input v-model="mod.check_Result" type="textarea" :rows="4" maxlength="100" show-word-limit></Input>
</FormItem>
</Col>
</Row>
<FormItem>
<Button type="primary" @click="handleSubmit" :disabled="disabled">确定</Button>
</FormItem>
</Form>
</template>
<script>
import service from '@/plugins/request'
export default {
name: 'backCheck',
components: {},
data() {
return {
disabled: false,
isCurrentUser: false,
mod: {
id: 0,
dispatch_id: 0,
execute_id: 0,
order_id: '',
routingHeaderId: 0,
routingDetailId: 0,
product_code: '',
board_code: '',
checkerIds: '',
checkerNames: '',
check_Status: 0,
check_Result: '',
checker: 0,
checkName: '',
check_time: null
},
recordList: [],
isMain: 1,
productisabled: false,
product_ID: [],
board_ID: [],
product_List: [],
board_List: []
}
},
mounted() {},
watch: {},
methods: {
handleSubmit() {
let state = true
if (this.product_ID.length == 0) {
state = false
this.$Message.error('请选择要打回的产品')
return
}
this.mod.product_code = this.product_ID.join(',')
this.mod.board_code = this.board_ID.join(',')
if (state) {
var url = `${PlanUrl}/ordercheckresult/savecheckresult`
service
.post(`${url}`, this.mod)
.then((response) => {
if (response.success) {
this.$Message.success('操作成功')
this.$parent.$parent.loadproduct()
this.$parent.$parent.backCheckModal = false
}
})
.catch((error) => {
this.$Message.error('保存失败')
})
}
},
handleClose() {},
loadentry(entryModel, fillModel) {
this.mod.dispatch_id = entryModel.id
this.mod.execute_id = entryModel.executeId
this.mod.order_id = entryModel.order_id
this.mod.routingHeaderId = entryModel.routingHeaderId
this.mod.routingDetailId = entryModel.routingDetailId
this.mod.checkName = this.$store.state.userInfo.userName
this.mod.check_Status = 3
this.product_code = ''
this.board_code = ''
this.isCurrentUser = false
this.isMain = entryModel.isMain
this.product_ID = []
this.board_ID = []
this.productisabled = fillModel.productisabled
this.product_ID.push(fillModel.product_ID)
this.board_ID.push(fillModel.board_ID)
this.product_List = fillModel.product_List
this.board_List = fillModel.board_List
},
productonchange(e) {},
boardonchange(e) {
this.product_ID = []
for (let i = 0; i < this.board_List.length; i++) {
let obj = this.board_List[i]
for (let j = 0; j < e.length; j++) {
if (obj.boardNumber == e[j]) {
this.product_ID.push(obj.productids)
}
}
}
}
}
}
</script>
\ No newline at end of file
<template>
<h2>数据检验</h2>
</template>
<div class="data-filling">
<div class="data-title flex">
<div class="fg">
<span class="ml20">产品号</span>
<Select
:multiple="false"
class="select-produt-name"
@on-change="productonchange"
v-model="product_ID"
>
<!-- <Option value="" class="option_text">请选择</Option> -->
<Option
v-for="item in product_List"
:value="item.productids"
:key="item.index"
>{{ item.productcodes }}</Option>
</Select>
</div>
<div class="tr">
<Button type="primary" @click="QcCardChecker(3)" class="title_btn ml10">检验员</Button>
<Button type="primary" @click="jybackCheck()" class="title_btn ml10">打回</Button>
<Button type="primary" @click="SendCheckRecord()" class="title_btn ml10">送检记录</Button>
</div>
</div>
<div class="table-i">
<Table border :columns="columns12" :data="recorddata">
<template slot-scope="{ row,index }" slot="selffillin">
<template v-if="row.inspect_type.split(',').indexOf('1')>-1">
<template
v-if="row.fillintype == 1"
>{{row.selfchecklist.user_name}} {{row.selfchecklist.addTime}}</template>
<template v-else-if="row.fillintype ==2">
<op class="view">{{row.selfchecklist.fill_in_content}}</op>
{{row.selfchecklist.user_name}} {{row.selfchecklist.addTime}}
</template>
<template v-else>
<op
v-if="row.selfchecklist.fillinstatus!=0"
class="view"
@click="showrecordData(row,1,false)"
v-text="row.selfchecklist.user_name+' '+row.selfchecklist.addTime"
></op>
</template>
</template>
</template>
<!--互检-->
<template slot-scope="{ row,index }" slot="mutualfillin">
<template v-if="row.inspect_type.split(',').indexOf('2')>-1">
<template>
<template
v-if="row.fillintype == 1"
>{{row.mutualchecklist.user_name}} {{row.mutualchecklist.addTime}}</template>
<template v-else-if="row.fillintype ==2">
<op class="view">{{row.mutualchecklist.fill_in_content}}</op>
{{row.mutualchecklist.user_name}} {{row.mutualchecklist.addTime}}
</template>
<template v-else>
<op
v-if="row.mutualchecklist.fillinstatus!=0"
class="view"
@click="showrecordData(row,2,false)"
v-text="row.mutualchecklist.user_name+' '+row.mutualchecklist.addTime"
></op>
</template>
</template>
</template>
</template>
<template slot-scope="{ row,index }" slot="seizurefillin">
<template v-if="row.inspect_type.split(',').indexOf('3')>-1">
<!--未填报-->
<template v-if="row.seizurechecklist.fillinstatus==0">
<!--自检完成-->
<template v-if="productobj.productstatus==3">
<Checkbox
v-model="row.seizurechecklist.checkstatus"
@on-change="seizurechecklistcheck(index,$event)"
v-if="row.fillintype == 1"
></Checkbox>
<Input
v-model="row.seizurechecklist.fill_in_content"
v-else-if="row.fillintype == 2"
placeholder="请输入..."
@on-blur="seizurechecklistinput(index,$event)"
></Input>
<template v-else>
<op
class="view"
@click="showrecordData(row,3,true)"
v-if="row.seizurechecklist.fill_in_content==''"
v-text="row.fillintype_str"
></op>
<op class="view" @click="showrecordData(row,3,true)" v-else v-text="look"></op>
</template>
</template>
</template>
<template v-else>
<template
v-if="row.fillintype == 1"
>{{row.seizurechecklist.user_name}} {{row.seizurechecklist.addTime}}</template>
<template v-else-if="row.fillintype ==2">
<op class="view">{{row.seizurechecklist.fill_in_content}}</op>
{{row.seizurechecklist.user_name}} {{row.seizurechecklist.addTime}}
</template>
<template v-else>
<op
class="view"
@click="showrecordData(row,3,false)"
v-text="row.seizurechecklist.user_name+' '+row.seizurechecklist.addTime"
></op>
</template>
</template>
</template>
</template>
<template slot-scope="{ row,index }" slot="isPhotograph">
<template v-if="row.isPhotograph==0">
<op class="view"></op>
</template>
<template v-else>
<op class="view" @click="showPhoto(row,true)" v-if="row.movieid==''">上传</op>
<op class="view" @click="showPhoto(row,true)" v-else>查看</op>
</template>
</template>
</Table>
</div>
<Modal
v-model="usercardModal"
title="刷卡汇报"
width="500"
:footer-hide="true"
:mask-closable="false"
>
<usercard ref="usercard" @on-ok="ok"></usercard>
</Modal>
<Modal
v-model="entryrecorddataModal"
title="数据包列表"
width="940"
:footer-hide="true"
:mask-closable="false"
>
<entryrecorddata ref="entryrecorddata" @binddataid="binddataid"></entryrecorddata>
</Modal>
<Modal
v-model="entryrecordfilesModal"
title="附件列表"
width="940"
:footer-hide="true"
:mask-closable="false"
>
<entryrecordfiles @binddataid="binddataid" ref="entryrecordfiles"></entryrecordfiles>
</Modal>
<Modal
v-model="entryrecordmovieModal"
title="上传照片"
width="1340"
height="500"
:footer-hide="true"
:mask-closable="false"
>
<entryrecordMovie @bindPhotoid="bindPhotoid" ref="entryrecordMovie"></entryrecordMovie>
</Modal>
<Modal
v-model="sendCheckRecordModal"
title="送检记录"
width="1340"
:footer-hide="true"
:mask-closable="false"
>
<sendCheckRecord ref="sendCheckRecord"></sendCheckRecord>
</Modal>
<Modal
v-model="backCheckModal"
title="打回"
width="1340"
:footer-hide="true"
:mask-closable="false"
>
<backCheck ref="backCheck"></backCheck>
</Modal>
</div>
</template>
<script>
export default {
name: '',
data() {
return {
import service from "@/plugins/request";
import usercard from "./usercard.vue";
import entryrecorddata from "./entryrecorddata.vue";
import entryrecordMovie from "./entryrecordMovie.vue";
import sendCheckRecord from "./sendCheckRecord.vue";
import entryrecordfiles from "./entryrecordfiles.vue";
import backCheck from "./backCheck.vue";
export default {
name: "starOrder",
props: ["row"],
components: {
usercard,
entryrecorddata,
entryrecordMovie,
sendCheckRecord,
entryrecordfiles,
backCheck
},
data() {
return {
product_List: [],
product_ID: "",
disabled: false,
ishavself: true,
ishavhj: true,
ishavzj: true,
board_ID: "",
board_List: [],
usercardModal: false,
sendCheckModal: false,
entryrecorddataModal: false,
entryrecordfilesModal: false,
entryrecordmovieModal: false,
sendCheckRecordModal: false,
backCheckModal:false,
recorddata: [],
entryModel: {},
look: "查看",
qc_show_data: null, //表格列表row
qc_show_fill_in_user_type: null, //1,2,3;自检,互检,检验员
datasearch: {
entryID: this.row.id,
isMain: 1,
productcode: "",
execute_id: this.row.executeId,
order_id: this.row.orderId
},
columns12: [
{ title: "序号", type: "index", width: "70", align: "center" },
{ title: "参数名称", key: "check_params", tooltip: true },
{
title: "检验类型",
key: "inspect_type",
render(h, params) {
return h("state", {
props: {
code: "QC.checktype",
value: params.row.inspect_type
}
});
}
},
{ title: "汇报类型", key: "fillintype_str", width: 100 },
{ title: "标准指标", key: "standard" },
{ title: "生产要求", key: "production_requirement", tooltip: true },
{ title: "检测内容", key: "check_content", tooltip: true },
{
title: "操作员",
key: "fillintype",
renderHeader: (h, params) => {
return h("div", [
h(
"Checkbox",
{
props: {
value: this.isselfCheckAll
},
on: {
"on-change": () => {
this.handleselfCheckAll(); //点击修改下面Checkbox的状态
}
}
},
"操作员"
)
]);
},
slot: "selffillin"
},
{
title: "互检员",
key: "mutual",
renderHeader: (h, params) => {
return h("div", [
h(
"Checkbox",
{
props: {
value: this.ismutualCheckAll
},
on: {
"on-change": () => {
this.handlemutualCheckAll(); //点击修改下面Checkbox的状态
}
}
},
"互检员"
)
]);
},
slot: "mutualfillin"
},
{
title: "检验员",
key: "seizure",
renderHeader: (h, params) => {
return h("div", [
h(
"Checkbox",
{
props: {
value: this.isseizureCheckAll
},
on: {
"on-change": () => {
this.handleseizureCheckAll(); //点击修改下面Checkbox的状态
}
}
},
"检验员"
)
]);
},
slot: "seizurefillin"
},
{
title: "是否拍照",
key: "isPhotograph",
width: 100,
slot: "isPhotograph"
},
{
title: "模板",
key: "qualityTemplate",
width: 80,
render: (h, params) => {
return h(
"div",
{
class: "icon_box"
},
[
h(
"A",
{
attrs: {
href: fileUrlDown + params.row.qualityTemplate,
target: "_blank"
},
props: {},
style: {
color: "#249E91",
marginRight: "5px",
cursor: "pointer"
}
},
params.row.qualityTemplateName
)
]
);
}
}
]
};
},
created() {
console.log(this.row);
this.entryModel.executeId = this.row.executeId;
this.entryModel.order_id = this.row.order_id;
this.entryModel.id = this.row.id;
this.entryModel.routingHeaderId = this.row.headid;
this.entryModel.routingDetailId = this.row.routingdetailId;
this.entryModel.isMain = 1;
this.datasearch.entryID = this.row.id;
this.datasearch.isMain = 1;
this.datasearch.productcode = this.datasearch.productcode;
this.datasearch.execute_id = this.row.executeId;
this.datasearch.order_id = this.row.orderId;
},
async fetch({ store, params }) {
await store.dispatch("loadDictionary"); // 加载数据字典
},
mounted() {
this.loadproduct();
},
methods: {
loaddata() {
var url = `${PlanUrl}/orderexecutequalityrecord/getentryqcrecordlist`;
service.get(url, this.datasearch).then(response => {
this.recorddata = response.result;
this.ishavself = true;
this.ishavhj = true;
this.ishavzj = true;
for (let i = 0; i < this.recorddata.length; i++) {
let obj = this.recorddata[i];
let checktypes = obj.inspect_type.split(",");
if (checktypes.indexOf("1") > -1) {
this.ishavself = false;
}
if (checktypes.indexOf("2") > -1) {
this.ishavhj = false;
}
if (checktypes.indexOf("3") > -1) {
this.ishavzj = false;
}
}
});
},
loadproduct() {
let entry = {
dispatch_id: this.row.id,
execute_id: this.row.executeId,
order_id: this.row.orderId,
routingHeaderId: this.row.headid,
routingDetailId: this.row.routingdetailId
};
var url = `${PlanUrl}/ordercheck/getentryproductcode?entryID=`+this.row.id;
service.get(url, entry).then(response => {
this.product_List = response.result;
for (let i = 0; i < this.product_List.length; i++) {
let obj = this.product_List[i];
if (obj.productstatus == 3) {
this.datasearch.productcode = obj.productids;
this.product_ID = obj.productids;
this.productobj = obj;
break;
}
}
this.loaddata();
});
},
productonchange(v) {
this.datasearch.productcode = v;
for (let i = 0; i < this.product_List.length; i++) {
let obj = this.product_List[i]
if (obj.productids == e) {
this.productobj = obj
}
}
this.loaddata();
},
showrecordData(params, fill_in_user_type, isedit) {
this.qc_show_data = params; //表格列表row
this.qc_show_fill_in_user_type = fill_in_user_type; //1,2,3;自检,互检,检验员
if (params.fillintype == 3) {
//fillintype 1 选择框 2 输入框 3 附件 4 键值对数据
//附件页面
this.entryrecordfilesModal = true;
this.$refs.entryrecordfiles.loadpage(
params,
fill_in_user_type,
this.product_ID,
this.board_ID,
isedit
);
} else if (params.fillintype == 4) {
//数据包页面
this.entryrecorddataModal = true;
this.$refs.entryrecorddata.loadpage(
params,
fill_in_user_type,
this.product_ID,
this.board_ID,
isedit
);
}
},
binddataid(qc_card_id, fill_in_user_type, content) {
for (let i = 0; i < this.recorddata.length; i++) {
let obj = this.recorddata[i];
if (obj.qc_card_id == qc_card_id) {
if (fill_in_user_type == 1) {
obj.selfchecklist.fill_in_content = content;
} else if (fill_in_user_type == 2) {
obj.mutualchecklist.fill_in_content = content;
} else if (fill_in_user_type == 3) {
obj.seizurechecklist.fill_in_content = content;
}
}
}
},
showPhoto(params, isedit) {
this.entryrecordmovieModal = true;
this.$refs.entryrecordMovie.loadpage(
params,
this.product_ID,
this.board_ID,
isedit
);
},
ok() {
this.usercardModal = false;
this.loadproduct();
// this.loaddata();
},
bindPhotoid(qc_card_id, content) {
for (let i = 0; i < this.recorddata.length; i++) {
let obj = this.recorddata[i];
if (obj.qc_card_id == qc_card_id) {
obj.movieid = content;
}
}
},
handleselfCheckAll() {
this.isselfCheckAll = !this.isselfCheckAll;
for (let i = 0; i < this.recorddata.length; i++) {
let obj = this.recorddata[i];
if (obj.fillintype == 1) {
obj.selfchecklist.fill_in_content = this.isselfCheckAll ? "1" : "0";
obj.selfchecklist.checkstatus = this.isselfCheckAll;
}
}
},
handlemutualCheckAll() {
this.ismutualCheckAll = !this.ismutualCheckAll;
for (let i = 0; i < this.recorddata.length; i++) {
let obj = this.recorddata[i];
if (obj.fillintype == 1) {
obj.mutualchecklist.fill_in_content = this.ismutualCheckAll
? "1"
: "0";
obj.mutualchecklist.checkstatus = this.ismutualCheckAll;
}
}
},
handleseizureCheckAll() {
this.isseizureCheckAll = !this.isseizureCheckAll;
for (let i = 0; i < this.recorddata.length; i++) {
let obj = this.recorddata[i];
if (obj.fillintype == 1) {
obj.seizurechecklist.fill_in_content = this.isseizureCheckAll
? "1"
: "0";
obj.seizurechecklist.checkstatus = this.isseizureCheckAll;
}
}
},
show(index) {
this.$Modal.info({
title: "User Info",
content: `Name:${this.data6[index].name}<br>Age:${this.data6[index].age}<br>Address:${this.data6[index].address}`
});
},
remove(index) {
this.data6.splice(index, 1);
},
// change(e) {
// this.entity.productQuantity = e.length + ''
// },
QcCardChecker(fill_in_user_type) {
this.$refs.usercard.product_List = this.product_List;
let fillModel = {
fill_in_user_type: fill_in_user_type, //自检,互检
// productisabled: this.productisabled,
product_ID: this.product_ID,
// board_ID: this.board_ID,
product_List: this.product_List
// board_List: this.board_List
};
let recordList = [];
for (let i = 0; i < this.recorddata.length; i++) {
let obj = this.recorddata[i];
let checktypes = obj.inspect_type.split(",");
if (fill_in_user_type == 1) {
//自检
if (checktypes.indexOf("1") > -1) {
// &&
// obj.selfchecklist != null &&
// obj.selfchecklist.fill_in_content != null &&
// obj.selfchecklist.fill_in_content != ""
if (
(obj.selfchecklist != null &&
obj.selfchecklist.fill_in_content != null &&
obj.selfchecklist.fill_in_content != "" &&
obj.selfchecklist.fillinstatus == "0") ||
this.productobj.productstatus == 4 //打回重写填报
) {
let qc = {
qc_card_id: obj.qc_card_id,
movieid: obj.movieid,
Fillintype: obj.fillintype,
fill_in_content: obj.selfchecklist.fill_in_content,
fillinstatus: "1",
dispatch_id: obj.dispatch_id
};
recordList.push(qc);
}
}
} else if (fill_in_user_type == 2) {
//互检
if (checktypes.indexOf("2") > -1) {
//是否需要互检,2和3需要互检和专检 inspect_type
if (
(obj.mutualchecklist.fillinstatus == "0" &&
obj.mutualchecklist != null &&
obj.mutualchecklist.fill_in_content != null &&
obj.mutualchecklist.fill_in_content != "") ||
this.productobj.productstatus == 4 //打回重写填报
) {
let qc = {
qc_card_id: obj.qc_card_id,
movieid: obj.movieid,
Fillintype: obj.fillintype,
fill_in_content: obj.mutualchecklist.fill_in_content,
fillinstatus: "1",
dispatch_id: obj.dispatch_id
};
recordList.push(qc);
}
}
} else if (fill_in_user_type == 3) {
if (checktypes.indexOf("3") > -1) {
if (
(obj.seizurechecklist.fillinstatus == "0" &&
obj.seizurechecklist != null &&
obj.seizurechecklist.fill_in_content != null &&
obj.seizurechecklist.fill_in_content != "") ||
this.productobj.productstatus == 4
) {
if (obj.isPhotograph == 1 && obj.movieid == "") {
this.$Message.success("第" + (i + 1) + "项需上传找照片");
state = false;
return;
}
let qc = {
qc_card_id: obj.qc_card_id,
movieid: obj.movieid,
Fillintype: obj.fillintype,
fill_in_content: obj.seizurechecklist.fill_in_content,
fillinstatus: "1"
};
recordList.push(qc);
}
}
}
}
if (recordList.length == 0) {
this.$Message.success("填报项为空,请进行填报");
return;
}
this.usercardModal = true;
this.$refs.usercard.loadentry(this.entryModel, fillModel, recordList);
},
selfchecklistcheck(index, e) {
this.recorddata[index].selfchecklist.checkstatus = e;
this.recorddata[index].selfchecklist.fill_in_content = e ? "1" : "0";
},
selfchecklistinput(index, e) {
this.recorddata[index].selfchecklist.fill_in_content = e;
},
mutualchecklistcheck(index, e) {
this.recorddata[index].mutualchecklist.checkstatus = e;
this.recorddata[index].mutualchecklist.fill_in_content = e ? "1" : "0";
},
mutualchecklistinput(index, e) {
this.recorddata[index].mutualchecklist.fill_in_content = e;
},
seizurechecklistcheck(index, e) {
this.recorddata[index].seizurechecklist.checkstatus = e;
this.recorddata[index].seizurechecklist.fill_in_content = e ? "1" : "0";
},
seizurechecklistinput(index, e) {
this.recorddata[index].seizurechecklist.fill_in_content = e.target.value;
},
SendCheck() {
this.sendCheckModal = true;
this.$refs.sendCheck.loadentry(this.entryModel);
},
SendCheckRecord() {
this.sendCheckRecordModal = true;
this.$refs.sendCheckRecord.load(this.entryModel.id);
},
jybackCheck() {
let fillModel = {
// productisabled: this.productisabled,
product_ID: this.product_ID,
// board_ID: '',
product_List: this.product_List
// board_List: []
};
this.backCheckModal = true;
this.$refs.backCheck.loadentry(this.entryModel, fillModel);
}
}
};
</script>
<style lang="" scoped>
</style>
\ No newline at end of file
<style lang="less">
.data-filling {
padding: 10px;
width: 100%;
.data-title {
margin-bottom: 10px;
.ml20 {
padding: 8px;
float: left;
}
.select-produt-name {
width: 200px;
float: left;
}
}
.table-i {
margin: 0 20px;
}
}
</style>
......@@ -6,7 +6,6 @@
<span class="ml20">产品号</span>
<Select
multiple
@on-change="productonchange"
v-model="product_ID"
......
......@@ -135,7 +135,7 @@ export default {
handleClose() {},
loadentry(entryModel, fillModel, recordList) {
this.user.dispatch_id = recordList[0].dispatch_id
this.user.dispatch_id = entryModel.id
this.user.execute_id = entryModel.executeId;
this.user.order_id = entryModel.order_id;
this.user.routingHeaderId = entryModel.routingHeaderId;
......
......@@ -144,7 +144,7 @@ row.routingdetailId=this.$route.query.routid;
this.detail = () => import("./datafilling/check");
} //质量检验
if (number == 9) {
this.$Message.info("尊敬的用户,您没有该权限!");
// this.$Message.info("尊敬的用户,您没有该权限!");
// this.detail = () => import("./testdata/index");
} //测试数据
},
......
......@@ -6,6 +6,7 @@
<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>
......
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