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

View File

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

View File

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

View File

@ -11,9 +11,9 @@ const getDefaultState = () => {
count: {},
perms: []
}
}
};
const state = getDefaultState()
const state = getDefaultState();
const mutations = {
RESET_STATE: (state) => {
@ -34,17 +34,17 @@ const mutations = {
SET_COUNT: (state, count) => {
state.count = count
}
}
};
const actions = {
// user login
login({ commit }, userInfo) {
const { username, password } = userInfo
const { username, password } = userInfo;
return new Promise((resolve, reject) => {
login({ username: username.trim(), password: password }).then(response => {
const { data } = response
commit('SET_TOKEN', data.access)
setToken(data.access)
const { data } = response;
commit('SET_TOKEN', data.access);
setToken(data.access);
resolve()
}).catch(error => {
@ -57,22 +57,23 @@ const actions = {
getInfo({ commit, state }) {
return new Promise((resolve, reject) => {
getInfo(state.token).then(response => {
const { data } = response
const { data } = response;
sessionStorage.setItem('userId',data.id);
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
if (!perms || perms.length <= 0) {
reject('没有任何权限!')
}
commit('SET_PERMS', perms)
commit('SET_NAME', name)
commit('SET_AVATAR', avatar)
commit('SET_PERMS', perms);
commit('SET_NAME', name);
commit('SET_AVATAR', avatar);
resolve(data)
}).catch(error => {
reject(error)
@ -84,9 +85,9 @@ const actions = {
logout({ commit, state }) {
return new Promise((resolve, reject) => {
logout(state.token).then(() => {
removeToken() // must remove token first
resetRouter()
commit('RESET_STATE')
removeToken();// must remove token first
resetRouter();
commit('RESET_STATE');
resolve()
}).catch(error => {
reject(error)

View File

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

View File

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

View File

@ -79,7 +79,14 @@
>
<template slot-scope="scope">
<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"
@click="handleMaterial(scope)"
>
@ -112,7 +119,7 @@
<el-row :gutter="24">
<el-col :span="12">
<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-option
v-for="item in puorderTtemoptions"
@ -128,7 +135,7 @@
<el-col :span="12">
<div class="grid-content bg-purple">
<el-form-item label="采购数量">
<el-input v-model="puorderItemdetial.count" :disabled="true">
<el-input v-model="puorderItemdetial.count" disabled>
</el-input>
</el-form-item>
</div>
@ -140,7 +147,7 @@
<el-form-item label="到货时间">
<el-input
v-model="puorderItemdetial.delivery_date"
:disabled="true"
disabled
>
</el-input>
</el-form-item>
@ -151,14 +158,14 @@
<el-form-item label="到货数量">
<el-input
v-model="puorderItemdetial.delivered_count"
:disabled="true"
disabled
>
</el-input>
</el-form-item>
</div>
</el-col>
</el-row>
<el-form-item label="仓库" :prop="warehouse">
<el-form-item label="仓库">
<el-select v-model="inpur.warehouse">
<el-option
v-for="item in warehouseData"
@ -169,10 +176,10 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="批次" :prop="batch">
<el-form-item label="批次">
<el-input v-model="inpur.batch" placeholder="批次号"></el-input>
</el-form-item>
<el-form-item label="有效期" :prop="expiration_date">
<el-form-item label="有效期">
<el-date-picker
v-model="inpur.expiration_date"
type="date"
@ -182,16 +189,16 @@
>
</el-date-picker>
</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-form-item>
</el-form>
<div style="text-align: right">
<el-button type="danger" @click="dialogVisibles = false"
>取消
<el-button type="danger" @click="dialogVisibles = false">
取消
</el-button>
<el-button type="primary" @click="confirminpur('Form1')"
>确认
<el-button type="primary" @click="confirminpur('Form1')">
确认
</el-button>
</div>
</el-dialog>
@ -382,6 +389,91 @@
</el-button>
</div>
</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>
</template>
<script>
@ -393,9 +485,9 @@
} from "@/api/inm";
import checkPermission from "@/utils/permission";
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 {getTestRecord,getTestRecordItem} from "@/api/qm";
import {upUrl, upHeaders} from "@/api/file";
import {genTree} from "@/utils";
import Pagination from "@/components/Pagination"; // secondary package based on el-pagination
@ -407,14 +499,24 @@
components: {Pagination},
data() {
return {
formName:'',
create_by_:'',
update_time:'',
is_testOk:true,
recordFieldList:[],
InventoryList: {
count: 0,
},
fifodetailList: {
count: 0,
},
inpur: {},
dialogVisibles: false,
inpur: {
pu_order_item:null,
warehouse:null,
batch:null,
expiration_date:null,
count:null,
},
upHeaders: upHeaders(),
upUrl: upUrl(),
fileList: [],
@ -440,14 +542,18 @@
innerVisible: false,
dialogVisible: false,
dialogVisibles: false,
limitedCheckRecord: false,
recordFinishedVisible: false,
dialogType: "new",
testrecord: {},
recordList: [],
puorderItemdetial: [],
puorderTtemoptions: [],
rule1: {
pu_order_item: [{required: true, message: "请选择", trigger: "blur"}],
warehouse: [{required: true, message: "请选择", trigger: "blur"}],
name: [{required: true, message: "请输入", trigger: "blur"}],
},
fileList: [],
item: "",
};
},
@ -482,7 +588,7 @@
//采购订单项入库
confirminpur() {
console.log(this.inpur);
// console.log(this.inpur);
this.inpur.material = this.puorderItemdetial.material_.id; //物料类型
this.inpur.fifo = this.$route.params.id; //出入库记录
createfifoitem(this.inpur).then((res) => {
@ -523,7 +629,7 @@
}
});
},
handleUpSuccess(res, file, filelist) {
handleUpSuccess(res, file) {
this.fileList.push({
id: res.data.id,
name: res.data.name,
@ -552,6 +658,7 @@
this.fileList.splice(index, 1);
})
.catch((e) => {
e;
});
},
yeschange(val) {
@ -578,7 +685,7 @@
this.fileData.files = files;
this.fileData.need_test = this.FIFOItem.need_test;
console.log(this.fileData);
// console.log(this.fileData);
itemfiles(this.FIFOItem.id, this.fileData).then((res) => {
if (res.code >= 200) {
this.getList();
@ -622,7 +729,7 @@
});
});
console.log(this.recordform);
// console.log(this.recordform);
this.testrecord.form = this.recordform;
this.testrecord.record_data = _this.field;
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>
<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="规格型号">
<template slot-scope="scope">{{ scope.row.specification }}</template>
</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>
</el-table-column>
</el-table-column>-->
<el-table-column label="计量单位">
<template slot-scope="scope">{{ scope.row.unit }}</template>
</el-table-column>

View File

@ -117,7 +117,21 @@
<el-input v-model="vendor.address" placeholder="地址"/>
</el-form-item>
<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 label="备注" prop="description">
<el-input
@ -136,6 +150,7 @@
</div>
</template>
<script>
import {getMaterialList} from "@/api/mtm";
import {getpVendorList, createVendor, updateVendor, deleteVendor} from "@/api/vendor";
// import {getUserList} from "@/api/user";
import checkPermission from "@/utils/permission";
@ -167,6 +182,7 @@
page: 1,
page_size: 20,
},
materialList: [],
keeperOptions: [],
listLoading: true,
dialogVisible: false,
@ -183,6 +199,7 @@
watch: {},
created() {
this.getList();
this.getMaterial();
},
methods: {
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() {
this.listQuery.page = 1;
this.getList();

View File

@ -146,19 +146,50 @@
<template slot-scope="scope">{{ scope.row.material_.name }}</template>
</el-table-column>
<el-table-column label="规格型号">
<template slot-scope="scope">{{
scope.row.material_.specification
}}
<template slot-scope="scope">{{scope.row.material_.specification }}
</template>
</el-table-column>
<el-table-column label="物料单位">
<template slot-scope="scope">{{ scope.row.material_.unit }}</template>
</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="创建时间">
<template slot-scope="scope">{{ scope.row.create_time }}</template>
</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>
<pagination
v-show="fifodetailList4.count > 0"
@ -170,6 +201,91 @@
</el-tab-pane>
</el-tabs>
</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>
</template>
<script>
@ -177,6 +293,7 @@
import {getwproductticketList, getwproductList} from "@/api/wpm";
import {ticketread} from "@/api/workflow";
import {getfifodetailList} from "@/api/inm";
import {getTestRecord,getTestRecordItem} from "@/api/qm";
import checkPermission from "@/utils/permission";
import Pagination from "@/components/Pagination"; // secondary package based on el-pagination
@ -211,6 +328,8 @@
page: 1,
page_size: 20,
},
recordList:[],
recordFieldList:[],
customfieldList: [],
activeName: "1",
decision_: {
@ -230,6 +349,12 @@
fifodetailList4: {
count: 0,
},
formName:'',
create_by_:'',
update_time:'',
is_testOk:false,
limitedCheckRecord:false,
recordFinishedVisible:false,
};
},
computed: {},
@ -245,8 +370,6 @@
getList() {
this.listLoading = true;
this.listQuery.material__type = 1;
this.listQuery.tag = 'notok';
getwproductList(this.listQuery).then((response) => {
@ -254,7 +377,6 @@
this.wproductList = response.data;
}
});
},
//不合格玻璃审批工单列表
@ -265,11 +387,12 @@
}
});
},
//不合格玻璃审理单查看
handledetailbhg(scope) {
this.$router.push({name: "ticketDetail", params: {ticketId: scope.row.ticket}})
},
//入场检验不合格
//不合格物料
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>

View File

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

View File

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

View File

@ -3,13 +3,12 @@
<el-card>
<div slot="header" class="clearfix">
<span>基本信息</span>
<el-button
style="float: right; padding: 3px 0"
@click="getWordText()"
type="text"
>查看作业指导书</el-button
>
>查看作业指导书
</el-button>
</div>
<el-form
ref="form"
@ -23,10 +22,9 @@
disabled="disabled"
></el-input>
</el-form-item>
<el-form-item label="创建人">
<el-form-item label="操作人">
<el-input
v-model="operationData.create_by_.username"
v-model="operationData.user"
disabled="disabled"
></el-input>
</el-form-item>
@ -38,12 +36,13 @@
</el-form-item>
<el-form-item>
<el-button
v-if="operationData.is_submited == false"
type="primary"
style="float: right"
@click="handlesubmit()"
v-if="operationData.is_submited == false"
>提交本次操作</el-button
>
提交本次操作
</el-button>
</el-form-item>
<!--
<el-form-item label="边角料">
@ -61,7 +60,12 @@
</el-form-item>
!-->
<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-form-item>
</el-form>
@ -119,14 +123,14 @@
<el-table-column align="center" label="操作" width="100px" fixed="right">
<template slot-scope="scope">
<el-link type="primary" @click="handleupdatewproduct(scope)"
>编辑</el-link
>
>编辑
</el-link>
<el-link
v-if="checkPermission(['warehouse_update'])"
type="danger"
@click="handleDeletewproduct(scope)"
>删除</el-link
>
>删除
</el-link>
</template>
</el-table-column>
</el-table>
@ -148,11 +152,11 @@
</el-form>
<div style="text-align: right">
<el-button type="danger" @click="dialogwproductplace = false"
>取消</el-button
>
>取消
</el-button>
<el-button type="primary" @click="submitwproductplace"
>确认</el-button
>
>确认
</el-button>
</div>
</el-dialog>
</template>
@ -211,8 +215,8 @@
v-if="checkPermission(['warehouse_update'])"
type="danger"
@click="handleDeletequip(scope)"
>删除</el-link
>
>删除
</el-link>
</template>
</el-table-column>
</el-table>
@ -248,8 +252,8 @@
v-if="checkPermission(['warehouse_update'])"
type="primary"
@click="handlerecord(scope)"
>填写表单</el-link
>
>填写表单
</el-link>
</template>
</el-table-column>
</el-table>
@ -357,11 +361,9 @@
</el-form>
<span slot="footer">
<el-button type="danger" @click="dialogVisibleForm = false"
>取消</el-button
>
>取消</el-button>
<el-button type="primary" @click="recordconfirm()"
>提交</el-button
>
>提交</el-button>
</span>
</el-dialog>
</template>
@ -377,8 +379,8 @@
style="float: right; padding: 3px 0"
type="text"
@click="cjllclick()"
>从车间领料</el-button
>
>从车间领料
</el-button>
</div>
<template>
<el-table
@ -407,8 +409,8 @@
v-if="checkPermission(['warehouse_update'])"
type="danger"
@click="handleDeleteinput(scope)"
>删除</el-link
>
>删除
</el-link>
</template>
</el-table-column>
</el-table>
@ -431,17 +433,20 @@
<el-table-column label="子计划编号">
<template slot-scope="scope">{{
scope.row.subproduction_plan_.number
}}</template>
}}
</template>
</el-table-column>
<el-table-column label="物料名称">
<template slot-scope="scope">{{
scope.row.material_.name
}}</template>
}}
</template>
</el-table-column>
<el-table-column label="物料单位">
<template slot-scope="scope">{{
scope.row.material_.unit
}}</template>
}}
</template>
</el-table-column>
<el-table-column label="物料批次">
<template slot-scope="scope">{{ scope.row.batch }}</template>
@ -475,11 +480,11 @@
</el-table>
<div style="text-align: right">
<el-button type="danger" @click="dialogTablepick = false"
>取消</el-button
>
>取消
</el-button>
<el-button type="primary" @click="handlepicks()"
>提交</el-button
>
>提交
</el-button>
</div>
</el-dialog>
</template>
@ -493,8 +498,8 @@
style="float: right; padding: 3px 0"
type="text"
@click="dialogTableoutput = true"
>选择产出</el-button
>
>选择产出
</el-button>
</div>
<el-table
:data="outputData"
@ -537,26 +542,28 @@
<el-table-column label="子计划编号">
<template slot-scope="scope">{{
scope.row.subproduction_plan_.number
}}</template>
}}
</template>
</el-table-column>
<el-table-column label="物料名称">
<template slot-scope="scope">{{
scope.row.material_.name
}}</template>
}}
</template>
</el-table-column>
<el-table-column label="物料单位">
<template slot-scope="scope">{{
scope.row.material_.unit
}}</template>
}}
</template>
</el-table-column>
<el-table-column label="计划/产出/合格">
<template slot-scope="scope"
>{{ scope.row.count }}/{{ scope.row.count_real }}/{{
scope.row.count_ok
}}</template
>
}}
</template>
</el-table-column>
<el-table-column label="本操作产出数量" width="140px">
<template slot-scope="scope">
<el-form :model="scope.row" widht="100px">
@ -592,11 +599,11 @@
</el-table>
<div style="text-align: right">
<el-button type="danger" @click="dialogTableoutput = false"
>取消</el-button
>
>取消
</el-button>
<el-button type="primary" @click="handleoutputs()"
>提交</el-button
>
>提交
</el-button>
</div>
</el-dialog>
</el-card>
@ -606,7 +613,6 @@
<div slot="header" class="clearfix">
<span>工具工装</span>
</div>
<el-table
:data="tool"
border
@ -624,12 +630,25 @@
</el-card>
</el-col>
</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>
</template>
<style scoped>
.word-wrap {
padding: 25px;
}
.box-card {
height: 300px;
}
@ -663,9 +682,10 @@ import { getrffieldList, gettechdocList } from "@/api/mtm";
import checkPermission from "@/utils/permission";
import {getprogressList} from "@/api/pm";
import Pagination from "@/components/Pagination"; // secondary package based on el-pagination
import faceLogin from '@/components/faceLogin/review.vue';
export default {
components: { Pagination },
components: {Pagination, faceLogin},
inject: ["reload"],
data() {
return {
@ -693,7 +713,9 @@ export default {
page_size: 20,
},
wproductplace: {},
operationData: "",
operationData: {
user: "",
},
scrapData: {},
dialogVisibleForm: false,
tableForm: {
@ -711,10 +733,6 @@ export default {
count: 0,
name: "",
},
listQueryfield: {
page: 1,
page_size: 20,
},
highoptions: [
{value: 1, label: "<"},
{value: 2, label: "<="},
@ -775,6 +793,7 @@ export default {
},
],
formID: "",
limitedPhoto: false,
dialogTablepick: false,
dialogTableoutput: false,
picks: {},
@ -872,6 +891,11 @@ export default {
getoperation(this.id).then((response) => {
if (response.data) {
this.operationData = response.data;
if (response.data.is_submited) {
this.operationData.user = response.data.create_by_.name;
} else {
this.operationData.user = '';
}
}
});
},
@ -1144,10 +1168,8 @@ export default {
//提交本次操作
handlesubmit() {
if(this.inputData=="")
{
this.limitedPhoto = true;
/* if (this.inputData == "") {
this.$confirm("没有消耗物料确定提交吗?", "提示", {
confirmButtonText: "确认",
cancelButtonText: "取消",
@ -1161,17 +1183,73 @@ export default {
.catch((err) => {
console.error(err);
});
}
else{
} else {
submitOperation(this.id).then((res) => {
if (res.code >= 200) {
this.$router.push({name: "operation"});
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>

View File

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