This commit is contained in:
shijing 2022-03-29 08:45:12 +08:00
parent 194b0f9731
commit ad16a963e4
7 changed files with 720 additions and 608 deletions

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

@ -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

@ -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>