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>

File diff suppressed because it is too large Load Diff

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>