Merge branch 'develop' of https://e.coding.net/ctcdevteam/hberp/hberp into develop

This commit is contained in:
caoqianming 2022-03-29 08:53:27 +08:00
commit 709234e939
14 changed files with 1071 additions and 658 deletions

View File

@ -18,7 +18,7 @@
<el-form-item <el-form-item
v-if="item.field_type === 'string'" v-if="item.field_type === 'string'"
:label="item.field_name" :label="item.field_name"
:required="require" required
> >
<el-input <el-input
v-model="checkForm[item.field_key]" v-model="checkForm[item.field_key]"
@ -29,7 +29,7 @@
<el-form-item <el-form-item
v-else-if="item.field_type === 'int'" v-else-if="item.field_type === 'int'"
:label="item.field_name" :label="item.field_name"
:required="require" required
> >
<el-input-number <el-input-number
style="width: 100%;" style="width: 100%;"
@ -43,7 +43,7 @@
<el-form-item <el-form-item
v-else-if="item.field_type === 'float'" v-else-if="item.field_type === 'float'"
:label="item.field_name" :label="item.field_name"
:required="require" required
> >
<el-input-number <el-input-number
style="width: 100%;" style="width: 100%;"
@ -57,7 +57,7 @@
<el-form-item <el-form-item
v-else-if="item.field_type === 'date'" v-else-if="item.field_type === 'date'"
:label="item.field_name" :label="item.field_name"
:required="require" required
> >
<el-date-picker <el-date-picker
v-model="checkForm[item.field_key]" v-model="checkForm[item.field_key]"
@ -65,13 +65,14 @@
placeholder="选择日期" placeholder="选择日期"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
style="width: 100%" style="width: 100%"
@input="$forceUpdate()"
@change="keyChange($index,item.field_key)" @change="keyChange($index,item.field_key)"
/> />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
v-else-if="item.field_type === 'datetime'" v-else-if="item.field_type === 'datetime'"
:label="item.field_name" :label="item.field_name"
:required="require" required
> >
<el-date-picker <el-date-picker
v-model="checkForm[item.field_key]" v-model="checkForm[item.field_key]"
@ -79,13 +80,14 @@
placeholder="选择日期" placeholder="选择日期"
value-format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"
style="width: 100%" style="width: 100%"
@input="$forceUpdate()"
@change="keyChange($index,item.field_key)" @change="keyChange($index,item.field_key)"
/> />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
v-else-if="item.field_type === 'select'" v-else-if="item.field_type === 'select'"
:label="item.field_name" :label="item.field_name"
:required="require" required
> >
<el-select <el-select
v-model="checkForm[item.field_key]" v-model="checkForm[item.field_key]"
@ -104,7 +106,7 @@
<el-form-item <el-form-item
v-else-if="item.field_type === 'selects'" v-else-if="item.field_type === 'selects'"
:label="item.field_name" :label="item.field_name"
:required="require" required
> >
<el-select <el-select
v-model="checkForm[item.field_key]" v-model="checkForm[item.field_key]"

View File

@ -97,6 +97,7 @@
type="date" type="date"
placeholder="选择日期" placeholder="选择日期"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
@input="$forceUpdate()"
@change="keyChange($index,item.field_key)" @change="keyChange($index,item.field_key)"
/> />
<el-date-picker <el-date-picker
@ -105,6 +106,7 @@
type="date" type="date"
placeholder="选择日期" placeholder="选择日期"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
@input="$forceUpdate()"
@change="keyChange($index,item.field_key)" @change="keyChange($index,item.field_key)"
/> />
</el-form-item> </el-form-item>

View File

@ -153,13 +153,14 @@
debugger; debugger;
let video = document.getElementById('video'); let video = document.getElementById('video');
let stream = video.srcObject; let stream = video.srcObject;
console.log(stream);
let tracks = stream.getTracks(); let tracks = stream.getTracks();
this.$emit('close');
tracks.forEach(track => { tracks.forEach(track => {
track.stop() track.stop()
}); });
video.srcObject = null; video.srcObject = null;
this.video.srcObject.getTracks()[0].stop(); this.video.srcObject.getTracks()[0].stop();
}, },
}, },
beforeDestroy() { beforeDestroy() {
@ -177,10 +178,6 @@
</script> </script>
<style scoped> <style scoped>
.faceLoginWrap{ .faceLoginWrap{
/*padding: 50px;*/
/*width: 600px;*/
/*height: 600px;*/
/*background: #000000;*/
margin:50px auto 0 auto; margin:50px auto 0 auto;
box-sizing: border-box; box-sizing: border-box;
} }
@ -194,7 +191,6 @@
position: relative; position: relative;
width: 500px; width: 500px;
height: 500px; height: 500px;
/*background: #000000;*/
text-align: center; text-align: center;
} }

View File

@ -11,9 +11,9 @@ const getDefaultState = () => {
count: {}, count: {},
perms: [] perms: []
} }
} };
const state = getDefaultState() const state = getDefaultState();
const mutations = { const mutations = {
RESET_STATE: (state) => { RESET_STATE: (state) => {
@ -34,17 +34,17 @@ const mutations = {
SET_COUNT: (state, count) => { SET_COUNT: (state, count) => {
state.count = count state.count = count
} }
} };
const actions = { const actions = {
// user login // user login
login({ commit }, userInfo) { login({ commit }, userInfo) {
const { username, password } = userInfo const { username, password } = userInfo;
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
login({ username: username.trim(), password: password }).then(response => { login({ username: username.trim(), password: password }).then(response => {
const { data } = response const { data } = response;
commit('SET_TOKEN', data.access) commit('SET_TOKEN', data.access);
setToken(data.access) setToken(data.access);
resolve() resolve()
}).catch(error => { }).catch(error => {
@ -57,22 +57,23 @@ const actions = {
getInfo({ commit, state }) { getInfo({ commit, state }) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
getInfo(state.token).then(response => { getInfo(state.token).then(response => {
const { data } = response const { data } = response;
sessionStorage.setItem('userId',data.id); sessionStorage.setItem('userId',data.id);
if (!data) { if (!data) {
reject('验证失败,重新登陆.') this.$router.push({name:'login',params:{}});
reject('验证失败,重新登陆.');
} }
const { perms, name, avatar } = data const { perms, name, avatar } = data;
// perms must be a non-empty array // perms must be a non-empty array
if (!perms || perms.length <= 0) { if (!perms || perms.length <= 0) {
reject('没有任何权限!') reject('没有任何权限!')
} }
commit('SET_PERMS', perms) commit('SET_PERMS', perms);
commit('SET_NAME', name) commit('SET_NAME', name);
commit('SET_AVATAR', avatar) commit('SET_AVATAR', avatar);
resolve(data) resolve(data)
}).catch(error => { }).catch(error => {
reject(error) reject(error)
@ -84,9 +85,9 @@ const actions = {
logout({ commit, state }) { logout({ commit, state }) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
logout(state.token).then(() => { logout(state.token).then(() => {
removeToken() // must remove token first removeToken();// must remove token first
resetRouter() resetRouter();
commit('RESET_STATE') commit('RESET_STATE');
resolve() resolve()
}).catch(error => { }).catch(error => {
reject(error) reject(error)

View File

@ -109,7 +109,7 @@
} }
},*/ },*/
legend: { legend: {
data: [" 计划完成", " 已完成 "], data: ["已完成", "计划完成"],
textStyle: { textStyle: {
color: "#B4B4B4" color: "#B4B4B4"
}, },
@ -133,10 +133,7 @@
}, },
yAxis:{ yAxis:{
splitLine: { splitLine: {
type:"dashed", show: false
color: "#B4B4B4",
width:"1",
// show: true,
}, },
axisLine: { axisLine: {
lineStyle: { lineStyle: {

View File

@ -96,14 +96,14 @@
</div> </div>
<!-- 第四行数据 --> <!-- 第四行数据 -->
<div class="bototm-box"> <div class="bototm-box">
<dv-border-box-3 v-if="limitedTwo"> <dv-border-box-3 v-if="listNews">
<bottomRight <bottomRight
:configArticle="configArticle" :configArticle="configArticle"
/> />
</dv-border-box-3> </dv-border-box-3>
<dv-border-box-13> <dv-border-box-13>
<bottomLeft <bottomLeft
v-if="limitedTwo" v-if="limitedPlan"
:category="category" :category="category"
:planData="planData" :planData="planData"
:realData="realData" :realData="realData"
@ -146,6 +146,7 @@
processRate: false, processRate: false,
listUser: false, listUser: false,
listNews: false, listNews: false,
limitedPlan: false,
listProcess: false, listProcess: false,
create_time_start: '', create_time_start: '',
titleItem: [ titleItem: [
@ -699,7 +700,7 @@
//任务完成进度 //任务完成进度
getPageData() { getPageData() {
let that = this; let that = this;
that.listNews = false; that.limitedPlan = false;
getPlanGantt({type: 'big_screen'}).then(res => { getPlanGantt({type: 'big_screen'}).then(res => {
if (res.code === 200) { if (res.code === 200) {
let list = res.data.results; let list = res.data.results;
@ -707,8 +708,8 @@
that.category.push(item.number); that.category.push(item.number);
that.planData.push(item.count); that.planData.push(item.count);
that.realData.push(item.count_ok); that.realData.push(item.count_ok);
}) });
that.listNews = true; that.limitedPlan = true;
} else { } else {
that.$message.error(res.msg); that.$message.error(res.msg);
} }

View File

@ -79,7 +79,14 @@
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-link <el-link
v-if="scope.row.need_test" v-if="scope.row.need_test&&scope.row.test.length>0"
type="primary"
@click="handleRecord(scope)"
>
复验记录
</el-link>
<el-link
v-else-if="scope.row.need_test&&scope.row.test==[]"
type="primary" type="primary"
@click="handleMaterial(scope)" @click="handleMaterial(scope)"
> >
@ -112,7 +119,7 @@
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="12"> <el-col :span="12">
<div class="grid-content bg-purple"> <div class="grid-content bg-purple">
<el-form-item label="采购订单项目" :prop="pu_order_item"> <el-form-item label="采购订单项目">
<el-select v-model="inpur.pu_order_item" @change="showmessage"> <el-select v-model="inpur.pu_order_item" @change="showmessage">
<el-option <el-option
v-for="item in puorderTtemoptions" v-for="item in puorderTtemoptions"
@ -128,7 +135,7 @@
<el-col :span="12"> <el-col :span="12">
<div class="grid-content bg-purple"> <div class="grid-content bg-purple">
<el-form-item label="采购数量"> <el-form-item label="采购数量">
<el-input v-model="puorderItemdetial.count" :disabled="true"> <el-input v-model="puorderItemdetial.count" disabled>
</el-input> </el-input>
</el-form-item> </el-form-item>
</div> </div>
@ -140,7 +147,7 @@
<el-form-item label="到货时间"> <el-form-item label="到货时间">
<el-input <el-input
v-model="puorderItemdetial.delivery_date" v-model="puorderItemdetial.delivery_date"
:disabled="true" disabled
> >
</el-input> </el-input>
</el-form-item> </el-form-item>
@ -151,14 +158,14 @@
<el-form-item label="到货数量"> <el-form-item label="到货数量">
<el-input <el-input
v-model="puorderItemdetial.delivered_count" v-model="puorderItemdetial.delivered_count"
:disabled="true" disabled
> >
</el-input> </el-input>
</el-form-item> </el-form-item>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
<el-form-item label="仓库" :prop="warehouse"> <el-form-item label="仓库">
<el-select v-model="inpur.warehouse"> <el-select v-model="inpur.warehouse">
<el-option <el-option
v-for="item in warehouseData" v-for="item in warehouseData"
@ -169,10 +176,10 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="批次" :prop="batch"> <el-form-item label="批次">
<el-input v-model="inpur.batch" placeholder="批次号"></el-input> <el-input v-model="inpur.batch" placeholder="批次号"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="有效期" :prop="expiration_date"> <el-form-item label="有效期">
<el-date-picker <el-date-picker
v-model="inpur.expiration_date" v-model="inpur.expiration_date"
type="date" type="date"
@ -182,16 +189,16 @@
> >
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="入库数量" :prop="count"> <el-form-item label="入库数量">
<el-input-number v-model="inpur.count" :min="0"></el-input-number> <el-input-number v-model="inpur.count" :min="0"></el-input-number>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div style="text-align: right"> <div style="text-align: right">
<el-button type="danger" @click="dialogVisibles = false" <el-button type="danger" @click="dialogVisibles = false">
>取消 取消
</el-button> </el-button>
<el-button type="primary" @click="confirminpur('Form1')" <el-button type="primary" @click="confirminpur('Form1')">
>确认 确认
</el-button> </el-button>
</div> </div>
</el-dialog> </el-dialog>
@ -382,6 +389,91 @@
</el-button> </el-button>
</div> </div>
</el-dialog> </el-dialog>
<!--检验记录-->
<el-dialog
title="复检记录"
:close-on-click-modal="false"
:visible.sync="limitedCheckRecord"
>
<el-table
:data="recordList"
border
height="400"
>
<el-table-column type="index" width="50"/>
<el-table-column label="表单名称">
<template slot-scope="scope">{{ scope.row.form_.name }}</template>
</el-table-column>
<el-table-column label="检查类型">
入场检验
</el-table-column>
<el-table-column label="操作人">
<template slot-scope="scope">{{ scope.row.create_by_.name }}</template>
</el-table-column>
<el-table-column label="操作时间">
<template slot-scope="scope">
<span>{{scope.row.update_time.substring(0,scope.row.update_time.length-3)}}</span>
</template>
</el-table-column>
<el-table-column align="center" label="操作">
<template slot-scope="scope">
<el-link
type="primary"
@click="handleRecordDetail(scope)"
>
查看
</el-link>
<!--<el-link @click="delTestRecord(scope)">
删除
</el-link>-->
</template>
</el-table-column>
</el-table>
<div slot="footer" class="dialog-footer">
<el-button @click="limitedCheckRecord = false"> </el-button>
<el-button type="primary" @click="limitedCheckRecord = false"> </el-button>
</div>
</el-dialog>
<!--已完成检查表查看-->
<el-dialog
:title="formName"
:visible.sync="recordFinishedVisible"
:close-on-click-modal="false"
>
<el-row>
<el-col :span="12">
<div class="items">
<span class="itemLabel">操作人</span>
<span>{{create_by_}}</span>
</div>
</el-col>
<el-col :span="12">
<div class="items">
<span class="itemLabel">操作时间</span>
<span>{{update_time}}</span>
</div>
</el-col>
<el-col v-for="item in recordFieldList" :key="item.id" :span="12">
<div class="items" v-if="item.field_type!=='draw'&&item.field_value!==null&&item.field_value!==''">
<span class="itemLabel">{{item.field_name}}</span>
<span>{{item.field_value}}</span>
</div>
</el-col>
<el-col v-for="item in recordFieldList" :key="item.id" :span="24">
<div class="items" v-if="item.field_type==='draw'" style="height: 400px">
<span class="itemLabel">{{item.field_name}}</span>
<img style="width: 45%;vertical-align: text-top;" :src="'http://49.232.14.174:2222'+item.field_value"/>
</div>
</el-col>
</el-row>
<el-row>
<div class="items">
<span class="itemLabel">复检结果</span>
<span v-if="is_testOk">合格</span>
<span v-else>不合格</span>
</div>
</el-row>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
@ -393,9 +485,9 @@
} from "@/api/inm"; } from "@/api/inm";
import checkPermission from "@/utils/permission"; import checkPermission from "@/utils/permission";
import {getPuorderItemList, getpuorder} from "@/api/pum"; import {getPuorderItemList, getpuorder} from "@/api/pum";
import {getMaterialList, getrecordformList, getrffieldList} from "@/api/mtm"; import {getrecordformList, getrffieldList} from "@/api/mtm";
import {createTestrecord} from "@/api/inm"; import {createTestrecord} from "@/api/inm";
import {getTestRecord,getTestRecordItem} from "@/api/qm";
import {upUrl, upHeaders} from "@/api/file"; import {upUrl, upHeaders} from "@/api/file";
import {genTree} from "@/utils"; import {genTree} from "@/utils";
import Pagination from "@/components/Pagination"; // secondary package based on el-pagination import Pagination from "@/components/Pagination"; // secondary package based on el-pagination
@ -407,14 +499,24 @@
components: {Pagination}, components: {Pagination},
data() { data() {
return { return {
formName:'',
create_by_:'',
update_time:'',
is_testOk:true,
recordFieldList:[],
InventoryList: { InventoryList: {
count: 0, count: 0,
}, },
fifodetailList: { fifodetailList: {
count: 0, count: 0,
}, },
inpur: {}, inpur: {
dialogVisibles: false, pu_order_item:null,
warehouse:null,
batch:null,
expiration_date:null,
count:null,
},
upHeaders: upHeaders(), upHeaders: upHeaders(),
upUrl: upUrl(), upUrl: upUrl(),
fileList: [], fileList: [],
@ -440,14 +542,18 @@
innerVisible: false, innerVisible: false,
dialogVisible: false, dialogVisible: false,
dialogVisibles: false, dialogVisibles: false,
limitedCheckRecord: false,
recordFinishedVisible: false,
dialogType: "new", dialogType: "new",
testrecord: {}, testrecord: {},
recordList: [],
puorderItemdetial: [], puorderItemdetial: [],
puorderTtemoptions: [], puorderTtemoptions: [],
rule1: { rule1: {
pu_order_item: [{required: true, message: "请选择", trigger: "blur"}],
warehouse: [{required: true, message: "请选择", trigger: "blur"}],
name: [{required: true, message: "请输入", trigger: "blur"}], name: [{required: true, message: "请输入", trigger: "blur"}],
}, },
fileList: [],
item: "", item: "",
}; };
}, },
@ -482,7 +588,7 @@
//采购订单项入库 //采购订单项入库
confirminpur() { confirminpur() {
console.log(this.inpur); // console.log(this.inpur);
this.inpur.material = this.puorderItemdetial.material_.id; //物料类型 this.inpur.material = this.puorderItemdetial.material_.id; //物料类型
this.inpur.fifo = this.$route.params.id; //出入库记录 this.inpur.fifo = this.$route.params.id; //出入库记录
createfifoitem(this.inpur).then((res) => { createfifoitem(this.inpur).then((res) => {
@ -523,7 +629,7 @@
} }
}); });
}, },
handleUpSuccess(res, file, filelist) { handleUpSuccess(res, file) {
this.fileList.push({ this.fileList.push({
id: res.data.id, id: res.data.id,
name: res.data.name, name: res.data.name,
@ -552,6 +658,7 @@
this.fileList.splice(index, 1); this.fileList.splice(index, 1);
}) })
.catch((e) => { .catch((e) => {
e;
}); });
}, },
yeschange(val) { yeschange(val) {
@ -578,7 +685,7 @@
this.fileData.files = files; this.fileData.files = files;
this.fileData.need_test = this.FIFOItem.need_test; this.fileData.need_test = this.FIFOItem.need_test;
console.log(this.fileData); // console.log(this.fileData);
itemfiles(this.FIFOItem.id, this.fileData).then((res) => { itemfiles(this.FIFOItem.id, this.fileData).then((res) => {
if (res.code >= 200) { if (res.code >= 200) {
this.getList(); this.getList();
@ -622,7 +729,7 @@
}); });
}); });
console.log(this.recordform); // console.log(this.recordform);
this.testrecord.form = this.recordform; this.testrecord.form = this.recordform;
this.testrecord.record_data = _this.field; this.testrecord.record_data = _this.field;
this.testrecord.fifo_item = this.fifo_detail; this.testrecord.fifo_item = this.fifo_detail;
@ -636,6 +743,47 @@
} }
}); });
}, },
//检验记录
handleRecord(scope) {
let that = this;
that.fifo_item = scope.row.id;
that.limitedCheckRecord = true;
getTestRecord({fifo_item: scope.row.id}).then(res => {
if (res.code == 200) {
that.recordList = res.data.results;
} else {
this.$message.error(res.msg);
}
})
},
//点击记录里的查看
handleRecordDetail(scope) {
let that = this;
that.is_testOk = scope.row.is_testok;
that.recordFieldList = [];
that.create_by_ = scope.row.create_by_.name;
that.update_time = scope.row.update_time;
getTestRecordItem(scope.row.id).then((res) => {
if (res.code >= 200) {
that.recordFinishedVisible = true;
that.formName = res.data.form_.name;
that.recordFieldList = res.data.record_data;
}
})
},
}, },
}; };
</script> </script>
<style scoped>
.items {
height: 35px;
line-height: 35px;
padding-left: 20px;
}
.itemLabel {
font-size: 14px;
color: #606266;
font-weight: 600;
}
</style>

View File

@ -63,9 +63,9 @@
<el-table-column label="规格型号"> <el-table-column label="规格型号">
<template slot-scope="scope">{{ scope.row.specification }}</template> <template slot-scope="scope">{{ scope.row.specification }}</template>
</el-table-column> </el-table-column>
<el-table-column label="单片玻璃数量" v-if="materialList.results[0].type==1"> <!--<el-table-column label="单片玻璃数量" v-if="materialList.results[0].type==1">
<template slot-scope="scope">{{ scope.row.piece_count }}</template> <template slot-scope="scope">{{ scope.row.piece_count }}</template>
</el-table-column> </el-table-column>-->
<el-table-column label="计量单位"> <el-table-column label="计量单位">
<template slot-scope="scope">{{ scope.row.unit }}</template> <template slot-scope="scope">{{ scope.row.unit }}</template>
</el-table-column> </el-table-column>

View File

@ -117,7 +117,21 @@
<el-input v-model="vendor.address" placeholder="地址"/> <el-input v-model="vendor.address" placeholder="地址"/>
</el-form-item> </el-form-item>
<el-form-item label="供应物料" prop="material"> <el-form-item label="供应物料" prop="material">
<el-input v-model="vendor.material" placeholder="供应物料"/> <el-select
v-model="vendor.material"
style="width: 100%"
filterable
placeholder="请选择供应物料"
>
<el-option
v-for="item in materialList"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
<!--<el-input v-model="vendor.material" placeholder="供应物料"/>-->
</el-form-item> </el-form-item>
<el-form-item label="备注" prop="description"> <el-form-item label="备注" prop="description">
<el-input <el-input
@ -136,6 +150,7 @@
</div> </div>
</template> </template>
<script> <script>
import {getMaterialList} from "@/api/mtm";
import {getpVendorList, createVendor, updateVendor, deleteVendor} from "@/api/vendor"; import {getpVendorList, createVendor, updateVendor, deleteVendor} from "@/api/vendor";
// import {getUserList} from "@/api/user"; // import {getUserList} from "@/api/user";
import checkPermission from "@/utils/permission"; import checkPermission from "@/utils/permission";
@ -167,6 +182,7 @@
page: 1, page: 1,
page_size: 20, page_size: 20,
}, },
materialList: [],
keeperOptions: [], keeperOptions: [],
listLoading: true, listLoading: true,
dialogVisible: false, dialogVisible: false,
@ -183,6 +199,7 @@
watch: {}, watch: {},
created() { created() {
this.getList(); this.getList();
this.getMaterial();
}, },
methods: { methods: {
checkPermission, checkPermission,
@ -197,6 +214,15 @@
}); });
}, },
getMaterial(){
this.listLoading = true;
getMaterialList({page:0}).then((response) => {
if (response.data) {
this.materialList = response.data;
}
this.listLoading = false;
});
},
handleFilter() { handleFilter() {
this.listQuery.page = 1; this.listQuery.page = 1;
this.getList(); this.getList();

View File

@ -146,19 +146,50 @@
<template slot-scope="scope">{{ scope.row.material_.name }}</template> <template slot-scope="scope">{{ scope.row.material_.name }}</template>
</el-table-column> </el-table-column>
<el-table-column label="规格型号"> <el-table-column label="规格型号">
<template slot-scope="scope">{{ <template slot-scope="scope">{{scope.row.material_.specification }}
scope.row.material_.specification
}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="物料单位"> <el-table-column label="物料单位">
<template slot-scope="scope">{{ scope.row.material_.unit }}</template> <template slot-scope="scope">{{ scope.row.material_.unit }}</template>
</el-table-column> </el-table-column>
<el-table-column label="文件">
<template slot-scope="scope" v-if="scope.row.files">
<div v-for="item in scope.row.files_" v-bind:key="item.id">
<el-link :href="item.path" target="_blank" type="primary">{{item.name}}</el-link>
</div>
</template>
</el-table-column>
<el-table-column label="是否需要复验">
<template slot-scope="scope">
<el-tag v-if="scope.row.need_test == false"></el-tag>
<el-tag v-else></el-tag>
</template>
</el-table-column>
<el-table-column label="创建时间"> <el-table-column label="创建时间">
<template slot-scope="scope">{{ scope.row.create_time }}</template> <template slot-scope="scope">{{ scope.row.create_time }}</template>
</el-table-column> </el-table-column>
<el-table-column
align="center"
label="操作"
width="220px"
>
<template slot-scope="scope">
<el-link
v-if="scope.row.need_test&&scope.row.test.length>0"
type="primary"
@click="handleRecord(scope)"
>
复验记录
</el-link>
<el-link
v-if="scope.row.test.length===0"
type="info"
disabled
>
复验记录
</el-link>
</template>
</el-table-column>
</el-table> </el-table>
<pagination <pagination
v-show="fifodetailList4.count > 0" v-show="fifodetailList4.count > 0"
@ -170,6 +201,91 @@
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
</el-card> </el-card>
<!--检验记录-->
<el-dialog
title="复检记录"
:close-on-click-modal="false"
:visible.sync="limitedCheckRecord"
>
<el-table
:data="recordList"
border
height="400"
>
<el-table-column type="index" width="50"/>
<el-table-column label="表单名称">
<template slot-scope="scope">{{ scope.row.form_.name }}</template>
</el-table-column>
<el-table-column label="检查类型">
入场检验
</el-table-column>
<el-table-column label="操作人">
<template slot-scope="scope">{{ scope.row.create_by_.name }}</template>
</el-table-column>
<el-table-column label="操作时间">
<template slot-scope="scope">
<span>{{scope.row.update_time.substring(0,scope.row.update_time.length-3)}}</span>
</template>
</el-table-column>
<el-table-column align="center" label="操作">
<template slot-scope="scope">
<el-link
type="primary"
@click="handleRecordDetail(scope)"
>
查看
</el-link>
<!--<el-link @click="delTestRecord(scope)">
删除
</el-link>-->
</template>
</el-table-column>
</el-table>
<div slot="footer" class="dialog-footer">
<el-button @click="limitedCheckRecord = false"> </el-button>
<el-button type="primary" @click="limitedCheckRecord = false"> </el-button>
</div>
</el-dialog>
<!--已完成检查表查看-->
<el-dialog
:title="formName"
:visible.sync="recordFinishedVisible"
:close-on-click-modal="false"
>
<el-row>
<el-col :span="12">
<div class="items">
<span class="itemLabel">操作人</span>
<span>{{create_by_}}</span>
</div>
</el-col>
<el-col :span="12">
<div class="items">
<span class="itemLabel">操作时间</span>
<span>{{update_time}}</span>
</div>
</el-col>
<el-col v-for="item in recordFieldList" :key="item.id" :span="12">
<div class="items" v-if="item.field_type!=='draw'&&item.field_value!==null&&item.field_value!==''">
<span class="itemLabel">{{item.field_name}}</span>
<span>{{item.field_value}}</span>
</div>
</el-col>
<el-col v-for="item in recordFieldList" :key="item.id" :span="24">
<div class="items" v-if="item.field_type==='draw'" style="height: 400px">
<span class="itemLabel">{{item.field_name}}</span>
<img style="width: 45%;vertical-align: text-top;" :src="'http://49.232.14.174:2222'+item.field_value"/>
</div>
</el-col>
</el-row>
<el-row>
<div class="items">
<span class="itemLabel">复检结果</span>
<span v-if="is_testOk">合格</span>
<span v-else>不合格</span>
</div>
</el-row>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
@ -177,6 +293,7 @@
import {getwproductticketList, getwproductList} from "@/api/wpm"; import {getwproductticketList, getwproductList} from "@/api/wpm";
import {ticketread} from "@/api/workflow"; import {ticketread} from "@/api/workflow";
import {getfifodetailList} from "@/api/inm"; import {getfifodetailList} from "@/api/inm";
import {getTestRecord,getTestRecordItem} from "@/api/qm";
import checkPermission from "@/utils/permission"; import checkPermission from "@/utils/permission";
import Pagination from "@/components/Pagination"; // secondary package based on el-pagination import Pagination from "@/components/Pagination"; // secondary package based on el-pagination
@ -211,6 +328,8 @@
page: 1, page: 1,
page_size: 20, page_size: 20,
}, },
recordList:[],
recordFieldList:[],
customfieldList: [], customfieldList: [],
activeName: "1", activeName: "1",
decision_: { decision_: {
@ -230,6 +349,12 @@
fifodetailList4: { fifodetailList4: {
count: 0, count: 0,
}, },
formName:'',
create_by_:'',
update_time:'',
is_testOk:false,
limitedCheckRecord:false,
recordFinishedVisible:false,
}; };
}, },
computed: {}, computed: {},
@ -245,8 +370,6 @@
getList() { getList() {
this.listLoading = true; this.listLoading = true;
this.listQuery.material__type = 1; this.listQuery.material__type = 1;
this.listQuery.tag = 'notok'; this.listQuery.tag = 'notok';
getwproductList(this.listQuery).then((response) => { getwproductList(this.listQuery).then((response) => {
@ -254,7 +377,6 @@
this.wproductList = response.data; this.wproductList = response.data;
} }
}); });
}, },
//不合格玻璃审批工单列表 //不合格玻璃审批工单列表
@ -265,11 +387,12 @@
} }
}); });
}, },
//不合格玻璃审理单查看 //不合格玻璃审理单查看
handledetailbhg(scope) { handledetailbhg(scope) {
this.$router.push({name: "ticketDetail", params: {ticketId: scope.row.ticket}}) this.$router.push({name: "ticketDetail", params: {ticketId: scope.row.ticket}})
}, },
//入场检验不合格 //入场检验不合格
//不合格物料 //不合格物料
getList4() { getList4() {
@ -285,6 +408,34 @@
}); });
}, },
//检验记录
handleRecord(scope) {
let that = this;
that.fifo_item = scope.row.id;
that.limitedCheckRecord = true;
getTestRecord({fifo_item: scope.row.id}).then(res => {
if (res.code == 200) {
that.recordList = res.data.results;
} else {
this.$message.error(res.msg);
}
})
},
//点击记录里的查看
handleRecordDetail(scope) {
let that = this;
that.is_testOk = scope.row.is_testok;
that.recordFieldList = [];
that.create_by_ = scope.row.create_by_.name;
that.update_time = scope.row.update_time;
getTestRecordItem(scope.row.id).then((res) => {
if (res.code >= 200) {
that.recordFinishedVisible = true;
that.formName = res.data.form_.name;
that.recordFieldList = res.data.record_data;
}
})
},
}, },
}; };
</script> </script>

View File

@ -266,6 +266,9 @@
> >
<template slot-scope="scope">{{ scope.row.step_.name }}</template> <template slot-scope="scope">{{ scope.row.step_.name }}</template>
</el-table-column> </el-table-column>
<el-table-column label="检验员">
<!--<template slot-scope="scope">{{}}</template>-->
</el-table-column>
<el-table-column align="center" label="操作" width="220px"> <el-table-column align="center" label="操作" width="220px">
<template slot-scope="scope"> <template slot-scope="scope">
<el-link <el-link
@ -356,6 +359,9 @@
<el-table-column label="子计划编号"> <el-table-column label="子计划编号">
<template slot-scope="scope">{{ scope.row.subproduction_plan_.number }}</template> <template slot-scope="scope">{{ scope.row.subproduction_plan_.number }}</template>
</el-table-column> </el-table-column>
<el-table-column label="检验员">
<!--<template slot-scope="scope">{{}}</template>-->
</el-table-column>
<el-table-column align="center" label="操作" width="220px"> <el-table-column align="center" label="操作" width="220px">
<template slot-scope="scope"> <template slot-scope="scope">
<el-link <el-link

View File

@ -32,7 +32,7 @@
<el-span v-else></el-span> <el-span v-else></el-span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="创建"> <el-table-column label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.create_by_.username}} {{scope.row.create_by_.username}}
</template> </template>

View File

@ -3,13 +3,12 @@
<el-card> <el-card>
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>基本信息</span> <span>基本信息</span>
<el-button <el-button
style="float: right; padding: 3px 0" style="float: right; padding: 3px 0"
@click="getWordText()" @click="getWordText()"
type="text" type="text"
>查看作业指导书</el-button >查看作业指导书
> </el-button>
</div> </div>
<el-form <el-form
ref="form" ref="form"
@ -23,10 +22,9 @@
disabled="disabled" disabled="disabled"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="操作人">
<el-form-item label="创建人">
<el-input <el-input
v-model="operationData.create_by_.username" v-model="operationData.user"
disabled="disabled" disabled="disabled"
></el-input> ></el-input>
</el-form-item> </el-form-item>
@ -38,12 +36,13 @@
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button <el-button
v-if="operationData.is_submited == false"
type="primary" type="primary"
style="float: right" style="float: right"
@click="handlesubmit()" @click="handlesubmit()"
v-if="operationData.is_submited == false"
>提交本次操作</el-button
> >
提交本次操作
</el-button>
</el-form-item> </el-form-item>
<!-- <!--
<el-form-item label="边角料"> <el-form-item label="边角料">
@ -61,7 +60,12 @@
</el-form-item> </el-form-item>
!--> !-->
<el-form-item v-if="operationData.use_scrap"> <el-form-item v-if="operationData.use_scrap">
<el-button type="primary" @click="scrapSubmit()">创建</el-button> <el-button
type="primary"
@click="scrapSubmit()"
>
创建
</el-button>
<el-button>取消</el-button> <el-button>取消</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
@ -100,7 +104,7 @@
height="230" height="230"
style="width: 100%" style="width: 100%"
> >
<el-table-column type="index" width="50" /> <el-table-column type="index" width="50"/>
<el-table-column <el-table-column
prop="subproduction_plan_.number" prop="subproduction_plan_.number"
label="子计划编号" label="子计划编号"
@ -115,18 +119,18 @@
width="170" width="170"
> >
</el-table-column> </el-table-column>
<el-table-column prop="place" label="摆放位置"> </el-table-column> <el-table-column prop="place" label="摆放位置"></el-table-column>
<el-table-column align="center" label="操作" width="100px" fixed="right"> <el-table-column align="center" label="操作" width="100px" fixed="right">
<template slot-scope="scope" > <template slot-scope="scope">
<el-link type="primary" @click="handleupdatewproduct(scope)" <el-link type="primary" @click="handleupdatewproduct(scope)"
>编辑</el-link >编辑
> </el-link>
<el-link <el-link
v-if="checkPermission(['warehouse_update'])" v-if="checkPermission(['warehouse_update'])"
type="danger" type="danger"
@click="handleDeletewproduct(scope)" @click="handleDeletewproduct(scope)"
>删除</el-link >删除
> </el-link>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -143,16 +147,16 @@
label-position="right" label-position="right"
> >
<el-form-item label="位置" prop="place"> <el-form-item label="位置" prop="place">
<el-input v-model="wproductplace.place" placeholder="位置" /> <el-input v-model="wproductplace.place" placeholder="位置"/>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div style="text-align: right"> <div style="text-align: right">
<el-button type="danger" @click="dialogwproductplace = false" <el-button type="danger" @click="dialogwproductplace = false"
>取消</el-button >取消
> </el-button>
<el-button type="primary" @click="submitwproductplace" <el-button type="primary" @click="submitwproductplace"
>确认</el-button >确认
> </el-button>
</div> </div>
</el-dialog> </el-dialog>
</template> </template>
@ -183,7 +187,7 @@
<el-tag v-if="scope.row.equip_.state === 40" type="danger"> <el-tag v-if="scope.row.equip_.state === 40" type="danger">
禁用 禁用
</el-tag> </el-tag>
<el-tag v-else type="success"> 合格 </el-tag> <el-tag v-else type="success"> 合格</el-tag>
</div> </div>
<div v-else> <div v-else>
<el-tag v-if="scope.row.equip_.state === 10" type="success"> <el-tag v-if="scope.row.equip_.state === 10" type="success">
@ -211,8 +215,8 @@
v-if="checkPermission(['warehouse_update'])" v-if="checkPermission(['warehouse_update'])"
type="danger" type="danger"
@click="handleDeletequip(scope)" @click="handleDeletequip(scope)"
>删除</el-link >删除
> </el-link>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -248,8 +252,8 @@
v-if="checkPermission(['warehouse_update'])" v-if="checkPermission(['warehouse_update'])"
type="primary" type="primary"
@click="handlerecord(scope)" @click="handlerecord(scope)"
>填写表单</el-link >填写表单
> </el-link>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -268,7 +272,7 @@
v-if="item.field_type === 'string'" v-if="item.field_type === 'string'"
:label="item.field_name" :label="item.field_name"
> >
<el-input v-model="item.field_value" placeholder="请输入" /> <el-input v-model="item.field_value" placeholder="请输入"/>
</el-form-item> </el-form-item>
<el-form-item <el-form-item
v-else-if="item.field_type === 'int'" v-else-if="item.field_type === 'int'"
@ -357,11 +361,9 @@
</el-form> </el-form>
<span slot="footer"> <span slot="footer">
<el-button type="danger" @click="dialogVisibleForm = false" <el-button type="danger" @click="dialogVisibleForm = false"
>取消</el-button >取消</el-button>
>
<el-button type="primary" @click="recordconfirm()" <el-button type="primary" @click="recordconfirm()"
>提交</el-button >提交</el-button>
>
</span> </span>
</el-dialog> </el-dialog>
</template> </template>
@ -377,8 +379,8 @@
style="float: right; padding: 3px 0" style="float: right; padding: 3px 0"
type="text" type="text"
@click="cjllclick()" @click="cjllclick()"
>从车间领料</el-button >从车间领料
> </el-button>
</div> </div>
<template> <template>
<el-table <el-table
@ -395,20 +397,20 @@
label="子计划编号" label="子计划编号"
> >
</el-table-column> </el-table-column>
<el-table-column prop="batch" label="物料批次"> </el-table-column> <el-table-column prop="batch" label="物料批次"></el-table-column>
<el-table-column prop="material_.name" label="物料名称"> <el-table-column prop="material_.name" label="物料名称">
</el-table-column> </el-table-column>
<el-table-column prop="material_.unit" label="物料单位"> <el-table-column prop="material_.unit" label="物料单位">
</el-table-column> </el-table-column>
<el-table-column prop="count" label="消耗数量"> </el-table-column> <el-table-column prop="count" label="消耗数量"></el-table-column>
<el-table-column align="center" label="操作" width="100px"> <el-table-column align="center" label="操作" width="100px">
<template slot-scope="scope"> <template slot-scope="scope">
<el-link <el-link
v-if="checkPermission(['warehouse_update'])" v-if="checkPermission(['warehouse_update'])"
type="danger" type="danger"
@click="handleDeleteinput(scope)" @click="handleDeleteinput(scope)"
>删除</el-link >删除
> </el-link>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -426,22 +428,25 @@
max-height="400" max-height="400"
ref="multipleTable" ref="multipleTable"
> >
<el-table-column type="selection" width="55"> </el-table-column> <el-table-column type="selection" width="55"></el-table-column>
<el-table-column type="index" width="50" /> <el-table-column type="index" width="50"/>
<el-table-column label="子计划编号"> <el-table-column label="子计划编号">
<template slot-scope="scope">{{ <template slot-scope="scope">{{
scope.row.subproduction_plan_.number scope.row.subproduction_plan_.number
}}</template> }}
</template>
</el-table-column> </el-table-column>
<el-table-column label="物料名称"> <el-table-column label="物料名称">
<template slot-scope="scope">{{ <template slot-scope="scope">{{
scope.row.material_.name scope.row.material_.name
}}</template> }}
</template>
</el-table-column> </el-table-column>
<el-table-column label="物料单位"> <el-table-column label="物料单位">
<template slot-scope="scope">{{ <template slot-scope="scope">{{
scope.row.material_.unit scope.row.material_.unit
}}</template> }}
</template>
</el-table-column> </el-table-column>
<el-table-column label="物料批次"> <el-table-column label="物料批次">
<template slot-scope="scope">{{ scope.row.batch }}</template> <template slot-scope="scope">{{ scope.row.batch }}</template>
@ -475,11 +480,11 @@
</el-table> </el-table>
<div style="text-align: right"> <div style="text-align: right">
<el-button type="danger" @click="dialogTablepick = false" <el-button type="danger" @click="dialogTablepick = false"
>取消</el-button >取消
> </el-button>
<el-button type="primary" @click="handlepicks()" <el-button type="primary" @click="handlepicks()"
>提交</el-button >提交
> </el-button>
</div> </div>
</el-dialog> </el-dialog>
</template> </template>
@ -493,8 +498,8 @@
style="float: right; padding: 3px 0" style="float: right; padding: 3px 0"
type="text" type="text"
@click="dialogTableoutput = true" @click="dialogTableoutput = true"
>选择产出</el-button >选择产出
> </el-button>
</div> </div>
<el-table <el-table
:data="outputData" :data="outputData"
@ -515,7 +520,7 @@
</el-table-column> </el-table-column>
<el-table-column prop="material_.unit" label="物料单位"> <el-table-column prop="material_.unit" label="物料单位">
</el-table-column> </el-table-column>
<el-table-column prop="count" label="产出数量"> </el-table-column> <el-table-column prop="count" label="产出数量"></el-table-column>
</el-table> </el-table>
<el-dialog <el-dialog
title="产出物料" title="产出物料"
@ -531,32 +536,34 @@
max-height="400" max-height="400"
ref="multipleTables" ref="multipleTables"
> >
<el-table-column type="selection" width="55"> </el-table-column> <el-table-column type="selection" width="55"></el-table-column>
<el-table-column type="index" width="50" /> <el-table-column type="index" width="50"/>
<el-table-column label="子计划编号"> <el-table-column label="子计划编号">
<template slot-scope="scope">{{ <template slot-scope="scope">{{
scope.row.subproduction_plan_.number scope.row.subproduction_plan_.number
}}</template> }}
</template>
</el-table-column> </el-table-column>
<el-table-column label="物料名称"> <el-table-column label="物料名称">
<template slot-scope="scope">{{ <template slot-scope="scope">{{
scope.row.material_.name scope.row.material_.name
}}</template> }}
</template>
</el-table-column> </el-table-column>
<el-table-column label="物料单位"> <el-table-column label="物料单位">
<template slot-scope="scope">{{ <template slot-scope="scope">{{
scope.row.material_.unit scope.row.material_.unit
}}</template> }}
</template>
</el-table-column> </el-table-column>
<el-table-column label="计划/产出/合格"> <el-table-column label="计划/产出/合格">
<template slot-scope="scope" <template slot-scope="scope"
>{{ scope.row.count }}/{{ scope.row.count_real }}/{{ >{{ scope.row.count }}/{{ scope.row.count_real }}/{{
scope.row.count_ok scope.row.count_ok
}}</template }}
> </template>
</el-table-column> </el-table-column>
<el-table-column label="本操作产出数量" width="140px"> <el-table-column label="本操作产出数量" width="140px">
<template slot-scope="scope"> <template slot-scope="scope">
<el-form :model="scope.row" widht="100px"> <el-form :model="scope.row" widht="100px">
@ -592,11 +599,11 @@
</el-table> </el-table>
<div style="text-align: right"> <div style="text-align: right">
<el-button type="danger" @click="dialogTableoutput = false" <el-button type="danger" @click="dialogTableoutput = false"
>取消</el-button >取消
> </el-button>
<el-button type="primary" @click="handleoutputs()" <el-button type="primary" @click="handleoutputs()"
>提交</el-button >提交
> </el-button>
</div> </div>
</el-dialog> </el-dialog>
</el-card> </el-card>
@ -606,7 +613,6 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>工具工装</span> <span>工具工装</span>
</div> </div>
<el-table <el-table
:data="tool" :data="tool"
border border
@ -624,18 +630,31 @@
</el-card> </el-card>
</el-col> </el-col>
</el-row> </el-row>
<el-dialog :visible.sync="limitedPhoto" @close="closeCamera" id="loginFaceWrap">
<div style="font-size: 28px;color: #333333;text-align: center;font-weight: bold;">审核人员确认</div>
<div class="testTracking">
<faceLogin
v-if="limitedPhoto"
ref="faceTracking"
name="faceLogin"
@func="getMsgFormSon"
@close="closeDialog"
></faceLogin>
</div>
</el-dialog>
</div> </div>
</template> </template>
<style scoped> <style scoped>
.word-wrap { .word-wrap {
padding: 25px; padding: 25px;
} }
.box-card {
.box-card {
height: 300px; height: 300px;
} }
</style> </style>
<script> <script>
import { import {
getoperation, getoperation,
createoperation, createoperation,
getoperationwproductList, getoperationwproductList,
@ -657,15 +676,16 @@ import {
createOutputs, createOutputs,
deleteOperationeinput, deleteOperationeinput,
wproductPlace, wproductPlace,
} from "@/api/wpm"; } from "@/api/wpm";
import mammoth from "mammoth"; import mammoth from "mammoth";
import { getrffieldList, gettechdocList } from "@/api/mtm"; import {getrffieldList, gettechdocList} from "@/api/mtm";
import checkPermission from "@/utils/permission"; import checkPermission from "@/utils/permission";
import { getprogressList } from "@/api/pm"; import {getprogressList} from "@/api/pm";
import Pagination from "@/components/Pagination"; // secondary package based on el-pagination import Pagination from "@/components/Pagination"; // secondary package based on el-pagination
import faceLogin from '@/components/faceLogin/review.vue';
export default { export default {
components: { Pagination }, components: {Pagination, faceLogin},
inject: ["reload"], inject: ["reload"],
data() { data() {
return { return {
@ -685,15 +705,17 @@ export default {
40: "禁用", 40: "禁用",
}, },
scrap: [ scrap: [
{ lable: "使用", value: true }, {lable: "使用", value: true},
{ lable: "不使用", value: false }, {lable: "不使用", value: false},
], ],
listQueryfield: { listQueryfield: {
page: 1, page: 1,
page_size: 20, page_size: 20,
}, },
wproductplace: {}, wproductplace: {},
operationData: "", operationData: {
user: "",
},
scrapData: {}, scrapData: {},
dialogVisibleForm: false, dialogVisibleForm: false,
tableForm: { tableForm: {
@ -711,17 +733,13 @@ export default {
count: 0, count: 0,
name: "", name: "",
}, },
listQueryfield: {
page: 1,
page_size: 20,
},
highoptions: [ highoptions: [
{ value: 1, label: "<" }, {value: 1, label: "<"},
{ value: 2, label: "<=" }, {value: 2, label: "<="},
], ],
lowoptions: [ lowoptions: [
{ value: 1, label: ">" }, {value: 1, label: ">"},
{ value: 2, label: ">=" }, {value: 2, label: ">="},
], ],
highoptionss_: { highoptionss_: {
1: "<", 1: "<",
@ -775,6 +793,7 @@ export default {
}, },
], ],
formID: "", formID: "",
limitedPhoto: false,
dialogTablepick: false, dialogTablepick: false,
dialogTableoutput: false, dialogTableoutput: false,
picks: {}, picks: {},
@ -857,7 +876,7 @@ export default {
this.drawer = true; this.drawer = true;
}, },
readbook() { readbook() {
gettechdocList({ operation: this.id, page: 0, enabled: true }).then( gettechdocList({operation: this.id, page: 0, enabled: true}).then(
(response) => { (response) => {
if (response.data) { if (response.data) {
this.techdocList = response.data; this.techdocList = response.data;
@ -872,6 +891,11 @@ export default {
getoperation(this.id).then((response) => { getoperation(this.id).then((response) => {
if (response.data) { if (response.data) {
this.operationData = response.data; this.operationData = response.data;
if (response.data.is_submited) {
this.operationData.user = response.data.create_by_.name;
} else {
this.operationData.user = '';
}
} }
}); });
}, },
@ -888,7 +912,7 @@ export default {
}, },
//操作使用的半成品 //操作使用的半成品
getpwpList() { getpwpList() {
getoperationwproductList({ operation: this.id, page: 0 }).then( getoperationwproductList({operation: this.id, page: 0}).then(
(response) => { (response) => {
if (response.data) { if (response.data) {
this.operationwpData = response.data; this.operationwpData = response.data;
@ -928,7 +952,7 @@ export default {
}, },
//操作设备 //操作设备
getequList() { getequList() {
getequList({ operation: this.id, page: 0 }).then((response) => { getequList({operation: this.id, page: 0}).then((response) => {
if (response.data) { if (response.data) {
this.equData = response.data; this.equData = response.data;
} }
@ -954,7 +978,7 @@ export default {
}, },
//操作自定义表 //操作自定义表
getrecordLists() { getrecordLists() {
getrecordList({ operation: this.id, page: 0, enabled: true }).then( getrecordList({operation: this.id, page: 0, enabled: true}).then(
(response) => { (response) => {
if (response.data) { if (response.data) {
this.recordData = response.data; this.recordData = response.data;
@ -978,7 +1002,7 @@ export default {
//工序工装列表 //工序工装列表
gettoolList() { gettoolList() {
gettoolList({ operation: this.id, page: 0 }).then((response) => { gettoolList({operation: this.id, page: 0}).then((response) => {
if (response.data) { if (response.data) {
this.tool = response.data; this.tool = response.data;
} }
@ -1013,7 +1037,7 @@ export default {
//操作消耗物料列表 //操作消耗物料列表
getinputLists() { getinputLists() {
getinputList({ operation: this.id, page: 0 }).then((response) => { getinputList({operation: this.id, page: 0}).then((response) => {
if (response.data) { if (response.data) {
this.inputData = response.data; this.inputData = response.data;
} }
@ -1025,7 +1049,7 @@ export default {
//从车间领料 //从车间领料
getwmaterialList() { getwmaterialList() {
getwmaterialList({ operation: this.id, page: 0 }).then((response) => { getwmaterialList({operation: this.id, page: 0}).then((response) => {
if (response.data) { if (response.data) {
this.wmaterialData = response.data; this.wmaterialData = response.data;
} }
@ -1087,7 +1111,7 @@ export default {
//操作产出物料列表 //操作产出物料列表
getoutputLists() { getoutputLists() {
getoutputList({ operation: this.id, page: 0 }).then((response) => { getoutputList({operation: this.id, page: 0}).then((response) => {
if (response.data) { if (response.data) {
this.outputData = response.data; this.outputData = response.data;
} }
@ -1095,7 +1119,7 @@ export default {
}, },
//产出物料选择 //产出物料选择
getprogressList() { getprogressList() {
getprogressList({ operation: this.id, page: 0, type: 2 }).then( getprogressList({operation: this.id, page: 0, type: 2}).then(
(response) => { (response) => {
if (response.data) { if (response.data) {
this.tprogressData = response.data; this.tprogressData = response.data;
@ -1144,10 +1168,8 @@ export default {
//提交本次操作 //提交本次操作
handlesubmit() { handlesubmit() {
this.limitedPhoto = true;
/* if (this.inputData == "") {
if(this.inputData=="")
{
this.$confirm("没有消耗物料确定提交吗?", "提示", { this.$confirm("没有消耗物料确定提交吗?", "提示", {
confirmButtonText: "确认", confirmButtonText: "确认",
cancelButtonText: "取消", cancelButtonText: "取消",
@ -1155,23 +1177,79 @@ export default {
}) })
.then(async () => { .then(async () => {
await submitOperation(this.id); await submitOperation(this.id);
this.$router.push({ name: "operation" }); this.$router.push({name: "operation"});
this.$message.success("操作提交成功!"); this.$message.success("操作提交成功!");
}) })
.catch((err) => { .catch((err) => {
console.error(err); console.error(err);
}); });
} } else {
else{
submitOperation(this.id).then((res) => { submitOperation(this.id).then((res) => {
if (res.code >= 200) { if (res.code >= 200) {
this.$router.push({ name: "operation" }); this.$router.push({name: "operation"});
this.$message.success("操作提交成功!"); this.$message.success("操作提交成功!");
} }
}); });
} }*/
}, },
/*关闭相机*/
closeCamera() {
this.$refs.faceTracking.closeCamera();
let video = document.getElementById('video');
let stream = video.srcObject;
// console.log(stream);
let tracks = stream.getTracks();
tracks.forEach(track => {
track.stop()
});
video.srcObject = null;
}, },
}; //获取人脸数据
getMsgFormSon(data) {
let that = this;
that.operationData.user = data.name;
if (data.token !== '' && data.token !== null && data.token !== undefined) {
if (that.inputData == "") {
that.$confirm("没有消耗物料确定提交吗?", "提示", {
confirmButtonText: "确认",
cancelButtonText: "取消",
type: "error",
})
.then( () => {
submitOperation(that.id,{token:data.token}).then(res=>{
if(res.code===200){
that.$router.push({name: "operation"});
that.$message.success("操作提交成功!");
}else{
that.$message.error(res.msg)
}
});
}).catch((err) => {
that.$message.error(err);
});
} else {
submitOperation(that.id,{token:data.token}).then((res) => {
if (res.code === 200) {
that.$router.push({name: "operation"});
that.$message.success("操作提交成功!");
}else{
that.$message.error(res.msg)
}
}).catch((err) => {
that.$message.error(err);
});
}
}
},
closeDialog(){
this.limitedPhoto = false;
},
//点击人脸验证
directorConfirm() {
this.limitedPhoto = true;
},
},
};
</script> </script>

View File

@ -26,6 +26,11 @@
{{ actstate_[scope.row.act_state] }} {{ actstate_[scope.row.act_state] }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="检验员">
<!--<template slot-scope="scope">-->
<!--{{ actstate_[scope.row.act_state] }}-->
<!--</template>-->
</el-table-column>
<el-table-column label="所在子工序"> <el-table-column label="所在子工序">
<template slot-scope="scope">{{ scope.row.step_.name }}</template> <template slot-scope="scope">{{ scope.row.step_.name }}</template>
</el-table-column> </el-table-column>