<template>
|
<div class="add-product-page">
|
<div class="top-view">
|
<div class="t-left">
|
<el-button type="primary" size="small" @click="cancelClickOne"
|
>放弃</el-button
|
>
|
<el-button
|
type="primary"
|
size="small"
|
:loading="isAddloading"
|
@click="saveClickOne('ruleForm')"
|
>保存</el-button
|
>
|
<!-- <el-divider direction="vertical"></el-divider> -->
|
<!-- <el-button type="primary" size="small" @click="quitClick">退出</el-button> -->
|
</div>
|
<div class="t-right">
|
<div
|
class="t-right-circle"
|
:class="isDeviceConnectStatus ? 't-r-bg-green ' : 't-r-bg-red '"
|
></div>
|
<div :class="isDeviceConnectStatus ? 't-right-green' : 't-right-red'">
|
计量仪器连接正常
|
</div>
|
</div>
|
</div>
|
<div class="body-card">
|
<div class="body-top">
|
<div class="b-t-left">
|
<el-form
|
:model="ruleForm"
|
:rules="rules"
|
ref="ruleForm"
|
label-width="85px"
|
label-position="right"
|
class="demo-ruleForm"
|
>
|
<el-row>
|
<el-col :span="3">
|
<el-form-item label="编号" prop="number">
|
<el-input v-model="ruleForm.number" size="small"></el-input>
|
</el-form-item>
|
<el-form-item label="生产用时" prop="record">
|
<el-input
|
v-model.number="ruleForm.record"
|
size="small"
|
></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="3">
|
<el-form-item label="生产日期" prop="createTime">
|
<el-date-picker
|
value-format="yyyy-MM-dd"
|
type="date"
|
placeholder="选择日期"
|
v-model="ruleForm.createTime"
|
size="small"
|
style="width: 100%"
|
></el-date-picker>
|
</el-form-item>
|
<el-form-item label="回数" prop="circle">
|
<el-input
|
v-model.number="ruleForm.circle"
|
size="small"
|
></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="3">
|
<el-form-item label="庄口" prop="marketId">
|
<el-select
|
v-model="ruleForm.marketId"
|
placeholder="请选择"
|
class="select-width"
|
@change='getGroupNumber'
|
>
|
<el-option
|
v-for="item in marketList"
|
:key="item.ID"
|
:label="item.name"
|
:value="item.ID"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="落丝茧量" prop="fallingSilkCocoonNumber">
|
<el-input
|
v-model.number="ruleForm.fallingSilkCocoonNumber"
|
size="small"
|
></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="3">
|
<el-form-item label="车间" prop="workshopNumber">
|
<el-select
|
v-model="ruleForm.workshopNumber"
|
placeholder="请选择"
|
class="select-width"
|
@change='getGroupNumber'
|
>
|
<el-option
|
v-for="item in nameList"
|
:key="item.number"
|
:label="item.name"
|
:value="item.number"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="每桶茧量" prop="bucketCocoonNumber">
|
<div style="display: flex">
|
<el-input
|
v-model.number="ruleForm.bucketCocoonNumber"
|
size="small"
|
></el-input>
|
<span class='margin_left_5px'>克</span>
|
</div>
|
</el-form-item>
|
</el-col>
|
<el-col :span="3">
|
<el-form-item label="组别" prop="groupNumber">
|
<el-select
|
v-model="ruleForm.groupNumber"
|
placeholder="请先选择车间"
|
no-data-text='请先选择车间'
|
class="select-width"
|
@change="getGroupNumber(false,'groupNumber')"
|
>
|
<el-option
|
v-for="item in workshopGroupList"
|
:key="item"
|
:label="item"
|
:value="item"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="实际车速" prop="vehicleSpeed">
|
<el-input
|
v-model.number="ruleForm.vehicleSpeed"
|
size="small"
|
></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="3">
|
<el-form-item label="规格" prop="spec">
|
<el-select
|
v-model="ruleForm.spec"
|
placeholder="请选择"
|
class="select-width"
|
>
|
<el-option
|
v-for="item in specList"
|
:key="item.ID"
|
:label="item.name"
|
:value="item.name"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="乙班时间" prop="timeYi">
|
<el-date-picker
|
value-format="yyyy-MM-dd"
|
type="date"
|
placeholder="选择日期"
|
v-model="ruleForm.timeYi"
|
size="small"
|
style="width: 100%"
|
></el-date-picker>
|
</el-form-item>
|
</el-col>
|
<el-col :span="3">
|
<el-form-item label="是否结庄" prop="jieZhuang">
|
<el-input
|
v-model="ruleForm.jieZhuang"
|
size="small"
|
></el-input>
|
</el-form-item>
|
<el-form-item label="甲班时间" prop="timeJia">
|
<el-date-picker
|
value-format="yyyy-MM-dd"
|
type="date"
|
placeholder="选择日期"
|
v-model="ruleForm.timeJia"
|
size="small"
|
style="width: 100%"
|
></el-date-picker>
|
</el-form-item>
|
</el-col>
|
<el-col :span="3">
|
<el-form-item label="等级" prop="level">
|
<el-input
|
disabled
|
v-model="ruleForm.level"
|
size="small"
|
></el-input>
|
</el-form-item>
|
|
<el-form-item label="车组缫折" prop="groupReelingdiscount">
|
<el-input
|
v-model="ruleForm.groupReelingdiscount"
|
size="small"
|
></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="16">
|
<el-form-item label="落丝桶数:" prop="fallingSilkBucket">
|
<div class="doff-barrelage-card">
|
<div class="select-width">
|
<el-form-item
|
label=""
|
@input="inputStart"
|
label-width="0"
|
label-position="right"
|
prop="fallingSilkBucketOne"
|
:rules="[
|
{
|
required: ruleForm.selectOne,
|
message: '请填写',
|
trigger: 'change',
|
},
|
]"
|
class='margin_right_10px select-width-input'
|
>
|
<el-input
|
v-model="ruleForm.fallingSilkBucketOne"
|
size="small"
|
></el-input>
|
</el-form-item>
|
<el-checkbox
|
v-model="ruleForm.selectOne"
|
></el-checkbox>
|
</div>
|
<div class="select-width">
|
<el-form-item
|
label=""
|
@input="inputStart"
|
label-width="0"
|
:rules="[
|
{
|
required: ruleForm.selectTwo,
|
message: '请填写',
|
trigger: 'change',
|
},
|
]"
|
prop="fallingSilkBucketTwo"
|
class='margin_right_10px select-width-input'
|
>
|
<el-input
|
v-model="ruleForm.fallingSilkBucketTwo"
|
size="small"
|
class="d-b-c-input"
|
></el-input>
|
</el-form-item>
|
<el-checkbox
|
v-model="ruleForm.selectTwo"
|
></el-checkbox>
|
</div>
|
<div class="select-width">
|
<el-form-item
|
label=""
|
@input="inputStart"
|
label-width=""
|
:rules="[
|
{
|
required: ruleForm.selectThree,
|
message: '请填写',
|
trigger: 'change',
|
},
|
]"
|
prop="fallingSilkBucketThree"
|
class='margin_right_10px select-width-input'
|
>
|
<el-input
|
v-model="ruleForm.fallingSilkBucketThree"
|
size="small"
|
class="d-b-c-input"
|
></el-input>
|
</el-form-item>
|
<el-checkbox
|
v-model="ruleForm.selectThree"
|
></el-checkbox>
|
</div>
|
</div>
|
</el-form-item>
|
<el-form-item label="号带颜色:" prop="back">
|
<div class="doff-barrelage-card">
|
<div class="d-b-common">
|
<el-form-item
|
label="第一回"
|
@input="inputStartTwo"
|
label-width="90px"
|
prop="oneBack"
|
class="select-width"
|
>
|
<el-input
|
v-model="ruleForm.oneBack"
|
size="small"
|
></el-input>
|
</el-form-item>
|
</div>
|
<div class="d-b-common">
|
<el-form-item
|
label="第二回"
|
@input="inputStartTwo"
|
label-width="90px"
|
prop="twoBack"
|
class="select-width"
|
>
|
<el-input
|
v-model="ruleForm.twoBack"
|
size="small"
|
></el-input>
|
</el-form-item>
|
</div>
|
<div class="d-b-common">
|
<el-form-item
|
label="第三回"
|
@input="inputStartTwo"
|
label-width="90px"
|
prop="threeBack"
|
class="select-width"
|
>
|
<!-- <div class="n-m-c-label">第三回</div> -->
|
<el-input
|
v-model="ruleForm.threeBack"
|
size="small"
|
></el-input>
|
</el-form-item>
|
</div>
|
</div>
|
</el-form-item>
|
</el-col>
|
<el-col :span="4">
|
<el-form-item label="理论丝量" prop="theorySilkAmount">
|
<el-input
|
v-model.number="ruleForm.theorySilkAmount"
|
size="small"
|
></el-input>
|
</el-form-item>
|
<el-form-item label="总产量" prop="total">
|
<div style="display: flex">
|
<el-input
|
v-model.number="ruleForm.total"
|
size="small"
|
></el-input>
|
<span class='margin_left_5px'>kg</span>
|
</div>
|
</el-form-item>
|
</el-col>
|
<el-col :span="4">
|
<el-form-item label="台时产量" prop="hourYield">
|
<el-input
|
v-model.number="ruleForm.hourYield"
|
size="small"
|
></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</el-form>
|
</div>
|
<div class="b-t-right">
|
<div
|
class="b-t-r-icon"
|
:class="isDeviceConnectStatus ? 'c-p' : 'c-n'"
|
@click="deviceConnectClick"
|
>
|
<i class="el-icon-d-arrow-left"></i>
|
</div>
|
</div>
|
</div>
|
<div class="body-table">
|
<div class="b-t-unit">单位:克</div>
|
<el-table
|
:data="tableData"
|
style="width: 100%"
|
border
|
v-if='tableShow'
|
:height="'calc(100% - 0px)'"
|
:cell-style='cellStyle'
|
>
|
<el-table-column
|
prop="carNumber"
|
label="车号"
|
width="99"
|
align="center"
|
>
|
</el-table-column>
|
<el-table-column label="第一回" align="center">
|
<el-table-column
|
prop="pieceNumber11"
|
label="1"
|
width="60"
|
align="center"
|
>
|
|
</el-table-column>
|
<el-table-column
|
prop="pieceNumber12"
|
label="2"
|
width="60"
|
align="center"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="pieceNumber13"
|
label="3"
|
width="60"
|
align="center"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="pieceNumber14"
|
label="4"
|
width="60"
|
align="center"
|
>
|
</el-table-column>
|
</el-table-column>
|
<el-table-column label="第二回" align="center">
|
<el-table-column
|
prop="pieceNumber21"
|
label="1"
|
width="60"
|
align="center"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="pieceNumber22"
|
label="2"
|
width="60"
|
align="center"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="pieceNumber23"
|
label="3"
|
width="60"
|
align="center"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="pieceNumber24"
|
label="4"
|
width="60"
|
align="center"
|
>
|
</el-table-column>
|
</el-table-column>
|
<el-table-column label="第三回" align="center">
|
<el-table-column
|
prop="pieceNumber31"
|
label="1"
|
width="60"
|
align="center"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="pieceNumber32"
|
label="2"
|
width="60"
|
align="center"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="pieceNumber33"
|
label="3"
|
width="60"
|
align="center"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="pieceNumber34"
|
label="4"
|
width="60"
|
align="center"
|
>
|
</el-table-column>
|
</el-table-column>
|
<el-table-column prop="oneYield" label="台产量" align="center">
|
<template slot-scope="scope">
|
{{getOneYield(scope.row)}}
|
</template>
|
</el-table-column>
|
<el-table-column
|
prop="peopleYield"
|
label="个人产量"
|
width="60"
|
align="center"
|
>
|
<template slot-scope="scope">
|
{{scope.row.peopleYield!=0?scope.row.peopleYield:''}}
|
</template>
|
</el-table-column>
|
<el-table-column
|
prop="hourYield"
|
label="台时产量"
|
width="60"
|
align="center"
|
>
|
<template slot-scope="scope">
|
{{(ruleForm.record&&ruleForm.record!=0&&scope.row.oneYield)?(scope.row.oneYield/ruleForm.record).toFixed(2):''}}
|
</template>
|
</el-table-column>
|
<el-table-column
|
prop="personReelingdiscount"
|
label="个人缫折"
|
width="60"
|
align="center"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="allYield1"
|
label="一回产量"
|
width="60"
|
align="center"
|
>
|
<template slot-scope="scope">
|
{{getallYield(scope.row,1)}}
|
</template>
|
</el-table-column>
|
<el-table-column
|
prop="oneYield1"
|
label="一回台产"
|
width="60"
|
align="center"
|
>
|
<template slot-scope="scope">
|
{{(ruleForm.record&&ruleForm.record!=0&&scope.row.allYield1)?(scope.row.allYield1/ruleForm.record).toFixed(2):''}}
|
</template>
|
</el-table-column>
|
<el-table-column
|
prop="reelingdiscount1"
|
label="一回缫折"
|
width="60"
|
align="center"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="allYield2"
|
label="二回产量"
|
width="60"
|
align="center"
|
>
|
<template slot-scope="scope">
|
{{getallYield(scope.row,2)}}
|
</template>
|
</el-table-column>
|
<el-table-column
|
prop="oneYield2"
|
label="二回台产"
|
width="60"
|
align="center"
|
>
|
<template slot-scope="scope">
|
{{(ruleForm.record&&ruleForm.record!=0&&scope.row.allYield2)?(scope.row.allYield2/ruleForm.record).toFixed(2):''}}
|
</template>
|
</el-table-column>
|
<el-table-column
|
prop="reelingdiscount2"
|
label="二回缫折"
|
width="60"
|
align="center"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="allYield3"
|
label="三回产量"
|
width="60"
|
align="center"
|
>
|
<template slot-scope="scope">
|
{{getallYield(scope.row,3)}}
|
</template>
|
</el-table-column>
|
<el-table-column
|
prop="oneYield3"
|
label="三回台产"
|
width="60"
|
align="center"
|
>
|
<template slot-scope="scope">
|
{{(ruleForm.record&&ruleForm.record!=0&&scope.row.allYield3)?(scope.row.allYield3/ruleForm.record).toFixed(2):''}}
|
</template>
|
</el-table-column>
|
<el-table-column
|
prop="reelingdiscount3"
|
label="三回缫折"
|
width="60"
|
align="center"
|
>
|
</el-table-column>
|
</el-table>
|
</div>
|
|
</div>
|
<!-- 仪器连接正常弹窗 -->
|
<addProductDialog ref="addProductDialog"
|
:marketList='marketList'
|
:nameList='nameList'
|
:form='ruleForm'
|
:specList='specList'
|
@changeForm='changeForm'
|
@changeTableInput='changeTableInput' />
|
</div>
|
|
</template>
|
|
<script>
|
import addProductDialog from "./components/addProductDialog";
|
import {
|
getYieldRegisterInfo,
|
saveYieldRegister,
|
getWorkshopManageCar,
|
getWorkshopManageGroup,
|
} from "@/api/productManage/productRegisterForm.js";
|
import {
|
getDictList,
|
} from "@/api/productManage/silkRegisterForm.js";
|
export default {
|
name: "addProductRegisterPage",
|
props: {},
|
mixins: [],
|
components: { addProductDialog },
|
computed: {},
|
data() {
|
return {
|
isDeviceConnectStatus: true,
|
marketList: [], //庄口
|
nameList: [], //车间
|
workshopGroupList: [], //组别
|
specList: [], //规格
|
ruleForm: {
|
number: "",
|
record: "",
|
createTime: "",
|
circle: "",
|
marketId: "",
|
fallingSilkCocoonNumber: "",
|
workshopNumber: "",
|
bucketCocoonNumber: "",
|
groupNumber: "",
|
vehicleSpeed: "",
|
spec: "",
|
timeYi: "",
|
jieZhuang: "",
|
timeJia: "",
|
level: "",
|
groupReelingdiscount: "",
|
fallingSilkBucket: "",
|
fallingSilkBucketOne: "",
|
selectOne: false,
|
fallingSilkBucketTwo: "",
|
selectTwo: false,
|
fallingSilkBucketThree: "",
|
selectThree: false,
|
back: "",
|
oneBack: "",
|
twoBack: "",
|
threeBack: "",
|
theorySilkAmount: "",
|
total: "",
|
hourYield: "",
|
},
|
rules: {
|
number: [{ required: true, message: "请输入编号", trigger: ["change", "blur"] }],
|
createTime: [
|
{ required: true, message: "请选择生产日期", trigger: ["change", "blur"] },
|
],
|
marketId: [
|
{ required: true, message: "请选择", trigger: ["change", "blur"] },
|
],
|
workshopNumber: [
|
{ required: true, message: "请选择", trigger: ["change", "blur"] },
|
],
|
groupNumber: [
|
{ required: true, message: "请选择", trigger: ["change", "blur"] },
|
],
|
spec: [
|
{ required: true, message: "请选择", trigger: ["change", "blur"] },
|
],
|
},
|
tableData: [],
|
isAddloading: false,
|
productRegisterId:null,
|
productRegisterNumber:null,
|
tableDataItems:[],
|
tableDataCircles:[],
|
yieldRegisterId:'',
|
tableShow:true,
|
};
|
},
|
mounted() {
|
let query = this.$route.query;
|
if (query) {
|
this.productRegisterId = query.id ? query.id : "";
|
this.productRegisterNumber = query.number ? query.number : "";
|
}
|
this.getSelectDataList();
|
this.getDetailsData()
|
},
|
methods: {
|
async getDetailsData(){
|
this.ruleForm = {
|
number: "",
|
record: "",
|
createTime: "",
|
circle: "",
|
marketId: "",
|
fallingSilkCocoonNumber: "",
|
workshopNumber: "",
|
bucketCocoonNumber: "",
|
groupNumber: "",
|
vehicleSpeed: "",
|
spec: "",
|
timeYi: "",
|
jieZhuang: "",
|
timeJia: "",
|
level: "",
|
groupReelingdiscount: "",
|
fallingSilkBucket: "",
|
fallingSilkBucketOne: "",
|
selectOne: false,
|
fallingSilkBucketTwo: "",
|
selectTwo: false,
|
fallingSilkBucketThree: "",
|
selectThree: false,
|
back: "",
|
oneBack: "",
|
twoBack: "",
|
threeBack: "",
|
theorySilkAmount: "",
|
total: "",
|
hourYield: "",
|
};
|
if (this.productRegisterNumber) {
|
await getYieldRegisterInfo({ number:this.productRegisterNumber }).then(
|
(response) => {
|
if (response.code === 200) {
|
let config = JSON.parse(
|
JSON.stringify(response.data ? response.data : {})
|
);
|
this.ruleForm = config;
|
this.$set(this.ruleForm,'workshopNumber',this.ruleForm.workshopNumber+'')
|
this.tableDataItems=config.items
|
? config.items
|
: [];
|
this.tableDataCircles=config.circles
|
? config.circles
|
: [];
|
this.getGroupNumber(true)
|
}
|
}
|
);
|
}
|
},
|
getTableEdit(){
|
if(this.tableData.length>0){
|
for(let i in this.tableData){
|
if(this.tableDataItems.length>0){
|
for(let j in this.tableDataItems){
|
if(this.tableData[i].carNumber==this.tableDataItems[j].carNumber){
|
this.tableData[i]={
|
perList:this.tableData[i].perList,
|
isBlue:this.tableData[i].isBlue,
|
...this.tableDataItems[j],
|
}
|
}
|
}
|
}
|
|
}
|
}
|
this.yieldRegisterId=this.tableDataItems.length>0?this.tableDataItems[0].yieldRegisterId:""
|
if(this.tableDataCircles.length>0){
|
for(let i in this.tableData){
|
for(let j in this.tableDataCircles){
|
if(this.tableDataCircles[j].carNumber==this.tableData[i].carNumber){
|
let circle=this.tableDataCircles[j].circle
|
let pieceNumberList=this.tableDataCircles[j].pieceNumbers||[]
|
this.tableData[i]['allYield'+circle]=this.tableDataCircles[j]['allYield']
|
this.tableData[i]['oneYield'+circle]=this.tableDataCircles[j]['oneYield']
|
this.tableData[i]['reelingdiscount'+circle]=this.tableDataCircles[j]['reelingdiscount']
|
if(pieceNumberList.length>0){
|
for(let k in pieceNumberList){
|
this.tableData[i]['pieceNumber'+circle+pieceNumberList[k].pieceNumber]=pieceNumberList[k].value
|
}
|
}
|
}
|
}
|
}
|
}
|
this.ruleForm.carNumber=this.tableData.length>0?this.tableData[0].carNumber:''
|
},
|
// 表格的计算问题
|
getOneYield(row){
|
let string='';
|
if(row.pieceNumber11||row.pieceNumber12||row.pieceNumber13||row.pieceNumber14||row.pieceNumber21||row.pieceNumber22||row.pieceNumber23||row.pieceNumber24||row.pieceNumber31||row.pieceNumber32||row.pieceNumber33||row.pieceNumber34){
|
if(row.pieceNumber11){
|
string=Number(row.pieceNumber11)
|
}
|
if(row.pieceNumber12){
|
string=Number(string)+Number(row.pieceNumber12)
|
}
|
if(row.pieceNumber13){
|
string=Number(string)+Number(row.pieceNumber13)
|
}
|
if(row.pieceNumber14){
|
string=Number(string)+Number(row.pieceNumber14)
|
}
|
if(row.pieceNumber21){
|
string=Number(string)+Number(row.pieceNumber21)
|
}
|
if(row.pieceNumber22){
|
string=Number(string)+Number(row.pieceNumber22)
|
}
|
if(row.pieceNumber23){
|
string=Number(string)+Number(row.pieceNumber23)
|
}
|
if(row.pieceNumber24){
|
string=Number(string)+Number(row.pieceNumber24)
|
}
|
if(row.pieceNumber31){
|
string=Number(string)+Number(row.pieceNumber31)
|
}
|
if(row.pieceNumber32){
|
string=Number(string)+Number(row.pieceNumber32)
|
}
|
if(row.pieceNumber33){
|
string=Number(string)+Number(row.pieceNumber33)
|
}
|
if(row.pieceNumber34){
|
string=Number(string)+Number(row.pieceNumber34)
|
}
|
}
|
this.getPeopleYield(row)
|
row.oneYield=Number(string);
|
return string;
|
},
|
getPeopleYield(row){
|
let string=0
|
if(row.perList){
|
if(row.perList.length>0){
|
let carNumber=row.perList[row.perList.length-1]
|
for(let i in this.tableData){
|
for(let j in row.perList){
|
if(row.perList[j]==this.tableData[i].carNumber){
|
string=string+this.tableData[i].oneYield
|
}
|
}
|
}
|
for(let k in this.tableData){
|
if(this.tableData[k].carNumber==carNumber){
|
this.$set(this.tableData[k],'peopleYield',string)
|
break;
|
}
|
}
|
}
|
}
|
},
|
getallYield(row,val){
|
let string='';
|
if(row['pieceNumber'+val+'1']||row['pieceNumber'+val+'2']||row['pieceNumber'+val+'3']||row['pieceNumber'+val+'4']){
|
if(row['pieceNumber'+val+'1']){
|
string=Number(row['pieceNumber'+val+'1'])
|
}
|
if(row['pieceNumber'+val+'2']){
|
string=Number(string)+Number(row['pieceNumber'+val+'2'])
|
}
|
if(row['pieceNumber'+val+'3']){
|
string=Number(string)+Number(row['pieceNumber'+val+'3'])
|
}
|
if(row['pieceNumber'+val+'4']){
|
string=Number(string)+Number(row['pieceNumber'+val+'4'])
|
}
|
}
|
row['allYield'+val]=Number(string);
|
return string;
|
},
|
changeForm(form,val,data){
|
if(val){
|
if(Object.keys(data).length>0){
|
let config = JSON.parse(
|
JSON.stringify(data ? data : {})
|
);
|
this.ruleForm = config;
|
this.$set(this.ruleForm,'workshopNumber',this.ruleForm.workshopNumber+'')
|
this.tableDataItems=config.items
|
? config.items
|
: [];
|
this.tableDataCircles=config.circles
|
? config.circles
|
: [];
|
this.$router.push({
|
name:'addProductRegisterPage',
|
query:{
|
id:data.id,
|
number:data.number,
|
}
|
});
|
}
|
}
|
},
|
cellStyle({row,columnIndex}){
|
let cellStyle;
|
if(row.isBlue){
|
let pieceNumber=this.$refs.addProductDialog.proForm.pieceNumber||1
|
let pieces=this.$refs.addProductDialog.proForm.pieces||1
|
let number=(Number(pieceNumber)-1)*4+Number(pieces)
|
if(columnIndex==number){
|
cellStyle='borderColor:#2a78fb;borderTop:1px solid #2a78fb;borderLeft:1px solid #2a78fb;'
|
}
|
}else{
|
cellStyle='borderColor:#EBEEF5;borderTop:0;borderLeft:0'
|
}
|
return cellStyle;
|
},
|
changeTableInput(form){
|
let string=''
|
for(let i in this.tableData){
|
if(this.tableData[i].carNumber==form.carNumber){
|
string=i
|
if(Number(form.pieceNumber)>0&&Number(form.pieces)<5){
|
this.tableData.map((item) => {
|
item.isBlue=false
|
})
|
this.$set(this.tableData[i],'isBlue',true)
|
this.$set(this.tableData[i],'pieceNumber'+form.pieceNumber+form.pieces,form.netWeight)
|
this.tableShow=false;
|
this.$nextTick(()=>{
|
this.tableShow=true;
|
this.$forceUpdate();
|
})
|
break;
|
}
|
}
|
}
|
if(form.netWeight){
|
if(form.pieceNumber==3&&form.pieces==4){
|
if(Number(string)+1<=this.tableData.length){
|
this.$refs.addProductDialog.proForm.carNumber=this.tableData[Number(string)+1].carNumber
|
this.$refs.addProductDialog.proForm.pieceNumber=1
|
this.$refs.addProductDialog.proForm.pieces=1
|
this.$set(this.tableData[Number(string)+1],'isBlue',true)
|
this.$set(this.tableData[Number(string)],'isBlue',false)
|
this.tableShow=false;
|
this.$nextTick(()=>{
|
this.tableShow=true;
|
this.$forceUpdate();
|
})
|
}
|
}else{
|
if(form.pieces==4){
|
this.$refs.addProductDialog.proForm.pieceNumber=Number(form.pieceNumber)+1
|
this.$refs.addProductDialog.proForm.pieces=1
|
}else{
|
this.$refs.addProductDialog.proForm.pieces=Number(form.pieces)+1
|
}
|
}
|
this.$refs.addProductDialog.proForm.netWeight=''
|
this.$forceUpdate();
|
}
|
},
|
getSelectDataList() {
|
//车间
|
getDictList({
|
dictType: 1,
|
}).then((res) => {
|
if (res.code == 200) {
|
this.nameList = res.data || [];
|
this.$set(this.ruleForm,'workshopNumber',this.ruleForm.workshopNumber+'')
|
}
|
});
|
//规格
|
getDictList({
|
dictType: 3,
|
}).then((res) => {
|
if (res.code == 200) {
|
this.specList = res.data || [];
|
}
|
});
|
//庄口
|
getDictList({
|
dictType: 0,
|
}).then((res) => {
|
if (res.code == 200) {
|
this.marketList = res.data || [];
|
}
|
});
|
},
|
getGroupNumber(val,prop){
|
if(this.ruleForm.workshopNumber){
|
//组别
|
getWorkshopManageGroup({number:this.ruleForm.workshopNumber}).then((res) => {
|
if (res.code == 200) {
|
let workshopGroupList = res.data || {};
|
this.workshopGroupList=[]
|
if(Object.keys(workshopGroupList).length>0){
|
for(let i in workshopGroupList){
|
this.workshopGroupList.push(workshopGroupList[i])
|
}
|
if(prop&&prop!='groupNumber'){
|
this.ruleForm.groupNumber=''
|
}
|
// 编辑
|
if(val){
|
setTimeout(()=>{
|
this.$set(this.ruleForm,'groupNumber',this.ruleForm.groupNumber)
|
},200)
|
}
|
}
|
}else{
|
this.workshopGroupList=[]
|
this.ruleForm.groupNumber=''
|
}
|
});
|
if(this.ruleForm.groupNumber&&this.ruleForm.marketId){
|
let workshopName=''
|
for(let i in this.nameList){
|
if( this.nameList[i].number==this.ruleForm.workshopNumber){
|
workshopName= this.nameList[i].name
|
break;
|
}
|
}
|
let marketName=''
|
for(let i in this.marketList){
|
if( this.marketList[i].ID==this.ruleForm.marketId){
|
marketName= this.marketList[i].name
|
break;
|
}
|
}
|
getWorkshopManageCar({
|
workshopName:workshopName,
|
marketName:marketName,
|
groupNumber:this.ruleForm.groupNumber,
|
}).then((res) => {
|
if (res.code == 200) {
|
this.tableData=[]
|
this.ruleForm.level=res.data.level||''
|
let data = JSON.parse(JSON.stringify(res.data.car)) || [];
|
if(Object.keys(data).length>0){
|
for(let i in data){
|
for(let j in data[i]){
|
this.tableData.push({carNumber:data[i][j],perList:data[i],isBlue:false})
|
}
|
}
|
this.tableData[0].isBlue=true
|
}
|
this.ruleForm.carNumber=this.tableData.length>0?this.tableData[0].carNumber:''
|
|
// 编辑
|
if(val){
|
this.getTableEdit()
|
}
|
}else{
|
this.tableData=[]
|
this.ruleForm.level=''
|
this.ruleForm.carNumber=''
|
}
|
});
|
}
|
}else{
|
this.workshopGroupList =[]
|
}
|
},
|
inputStart() {
|
this.ruleForm.fallingSilkBucket = this.ruleForm.fallingSilkBucketOne + "-" + this.ruleForm.fallingSilkBucketTwo+"-" + this.ruleForm.fallingSilkBucketThree;
|
},
|
inputStartTwo() {
|
this.ruleForm.back = this.ruleForm.oneBack + "-" + this.ruleForm.twoBack+"-" + this.ruleForm.threeBack;
|
},
|
// 仪器连接弹窗
|
deviceConnectClick() {
|
if (this.isDeviceConnectStatus) {
|
this.$refs.addProductDialog.proForm.pieceNumber= this.$refs.addProductDialog.proForm.pieceNumber||1
|
this.$refs.addProductDialog.proForm.pieces= this.$refs.addProductDialog.proForm.pieces||1
|
this.$forceUpdate();
|
this.$refs.addProductDialog.editDialogVisible = true;
|
}
|
},
|
// 退出
|
quitClick() {
|
this.$router.go(-1);
|
},
|
// 放弃
|
cancelClickOne() {
|
this.ruleForm = {
|
number: "",
|
record: "",
|
createTime: "",
|
circle: "",
|
marketId: "",
|
fallingSilkCocoonNumber: "",
|
workshopNumber: "",
|
bucketCocoonNumber: "",
|
groupNumber: "",
|
vehicleSpeed: "",
|
spec: "",
|
timeYi: "",
|
jieZhuang: "",
|
timeJia: "",
|
level: "",
|
groupReelingdiscount: "",
|
fallingSilkBucket: "",
|
fallingSilkBucketOne: "",
|
selectOne: false,
|
fallingSilkBucketTwo: "",
|
selectTwo: false,
|
fallingSilkBucketThree: "",
|
selectThree:false,
|
back: "",
|
oneBack: "",
|
twoBack: "",
|
threeBack: "",
|
theorySilkAmount: "",
|
total: "",
|
hourYield: "",
|
};
|
this.$refs.ruleForm.resetFields();
|
this.tableData = [];
|
},
|
// 保存
|
saveClickOne(formName) {
|
this.$refs[formName].validate((valid) => {
|
if (valid) {
|
let form = JSON.parse(JSON.stringify(this.ruleForm));
|
// params.workshopGroup=Number(params.workshopGroup)
|
this.isAddloading = true;
|
delete form.circleTwo;
|
let circles=[]
|
let items=[]
|
let tableData = JSON.parse(
|
JSON.stringify(this.tableData)
|
);
|
form.bucketCocoonNumber=Number(form.bucketCocoonNumber)
|
form.circle=Number(form.circle)
|
form.fallingSilkBucketOne=Number(form.fallingSilkBucketOne)
|
form.fallingSilkBucketThree=Number(form.fallingSilkBucketThree)
|
form.fallingSilkBucketTwo=Number(form.fallingSilkBucketTwo)
|
form.fallingSilkCocoonNumber=Number(form.fallingSilkCocoonNumber)
|
form.groupNumber=Number(form.groupNumber)
|
form.hourYield=Number(form.hourYield)
|
form.marketId=Number(form.marketId)
|
form.record=Number(form.record)
|
form.theorySilkAmount=Number(form.theorySilkAmount)
|
form.total=Number(form.total)
|
form.vehicleSpeed=Number(form.vehicleSpeed)
|
for(let i in tableData){
|
let listItems1={
|
allYield:Number(tableData[i].allYield1)||0, //产量
|
carNumber:tableData[i].carNumber,
|
circle:1,//回数
|
oneYield:Number(tableData[i].oneYield1)||0,// 台产
|
pieceNumbers:[
|
{
|
pieceNumber:1,
|
value:Number(tableData[i].pieceNumber11)||0
|
},
|
{
|
pieceNumber:2,
|
value:Number(tableData[i].pieceNumber12)||0
|
},
|
{
|
pieceNumber:3,
|
value:Number(tableData[i].pieceNumber13)||0
|
},
|
{
|
pieceNumber:4,
|
value:Number(tableData[i].pieceNumber14)||0
|
},
|
],
|
reelingdiscount:tableData[i].reelingdiscount1||'', //缫折
|
}
|
let listItems2={
|
allYield:Number(tableData[i].allYield2)||0, //产量
|
carNumber:tableData[i].carNumber,
|
circle:2,//回数
|
pieceNumbers:[
|
{
|
pieceNumber:1,
|
value:Number(tableData[i].pieceNumber21)||0
|
},
|
{
|
pieceNumber:2,
|
value:Number(tableData[i].pieceNumber22)||0
|
},
|
{
|
pieceNumber:3,
|
value:Number(tableData[i].pieceNumber23)||0
|
},
|
{
|
pieceNumber:4,
|
value:Number(tableData[i].pieceNumber24)||0
|
},
|
],
|
oneYield:Number(tableData[i].oneYield2)||0,// 台产
|
reelingdiscount:tableData[i].reelingdiscount2||'', //缫折
|
}
|
let listItems3={
|
allYield:Number(tableData[i].allYield3)||0, //产量
|
carNumber:tableData[i].carNumber,
|
circle:3,//回数
|
oneYield:Number(tableData[i].oneYield3)||0,// 台产
|
pieceNumbers:[
|
{
|
pieceNumber:1,
|
value:Number(tableData[i].pieceNumber31)||0
|
},
|
{
|
pieceNumber:2,
|
value:Number(tableData[i].pieceNumber32)||0
|
},
|
{
|
pieceNumber:3,
|
value:Number(tableData[i].pieceNumber33)||0
|
},
|
{
|
pieceNumber:4,
|
value:Number(tableData[i].pieceNumber34)||0
|
},
|
],
|
reelingdiscount:tableData[i].reelingdiscount3||'', //缫折
|
// yieldRegisterId:''
|
}
|
let listItems4={
|
hourYield:Number(tableData[i].hourYield)||0,
|
carNumber:tableData[i].carNumber,
|
oneYield:Number(tableData[i].oneYield)||0,
|
peopleYield:Number(tableData[i].peopleYield)||0,
|
personReelingdiscount:tableData[i].personReelingdiscount||'',
|
// yieldRegisterId:''
|
}
|
if(this.yieldRegisterId){
|
listItems1.yieldRegisterId=this.yieldRegisterId
|
listItems2.yieldRegisterId=this.yieldRegisterId
|
listItems3.yieldRegisterId=this.yieldRegisterId
|
listItems4.yieldRegisterId=this.yieldRegisterId
|
}
|
circles.push(listItems1)
|
circles.push(listItems2)
|
circles.push(listItems3)
|
items.push(listItems4)
|
}
|
let params = {
|
...form,
|
circles: circles,
|
items:items,
|
};
|
console.log(params,'===params111')
|
saveYieldRegister(params)
|
.then((res) => {
|
if (res.code == 200) {
|
this.isRegisterSave = true;
|
this.$message({
|
message: "保存成功!",
|
type: "success",
|
});
|
this.$router.push({
|
path: "/productManage/productRegisterForm",
|
});
|
}
|
this.isAddloading = false;
|
})
|
.catch(() => {
|
setTimeout(() => {
|
this.isAddloading = false;
|
}, 3000);
|
});
|
} else {
|
console.log("error submit!!");
|
|
return false;
|
}
|
});
|
},
|
},
|
};
|
</script>
|
|
<!-- Add "scoped" attribute to limit CSS to this component only -->
|
<style lang="scss" scoped>
|
.add-product-page {
|
height: 100%;
|
position:relative;
|
::v-deep .el-table .el-table__cell {
|
padding: 6px 0 !important;
|
height: 35px;
|
text-align: center;
|
}
|
.top-view {
|
margin: 20px 30px;
|
height: 52px;
|
display: flex;
|
align-items: center;
|
justify-content: space-between;
|
padding: 0 20px 0 20px;
|
border-radius: 12px;
|
background-color: #fff;
|
.t-right {
|
display: flex;
|
font-size: 14px;
|
// color: #ff0000;
|
.t-right-circle {
|
width: 18px;
|
height: 18px;
|
border-radius: 9px;
|
// background: #ff0000;
|
margin-right: 10px;
|
}
|
}
|
}
|
.body-card {
|
margin: 0 30px;
|
background-color: #fff;
|
padding: 10px 15px;
|
height: calc(100% - 180px);
|
border-radius: 4px;
|
.select-width {
|
width: calc(100% - 20px);
|
.select-width-input{
|
width:150px;
|
float:left;
|
}
|
}
|
.body-top {
|
display: flex;
|
.b-t-left {
|
width: 95%;
|
padding-top: 15px;
|
.doff-barrelage-card {
|
display: flex;
|
.d-b-common {
|
width: 33.3%;
|
display: flex;
|
justify-content: center;
|
.d-b-c-input {
|
width: 50%;
|
margin-right: 10px;
|
}
|
.n-m-c-label {
|
color: #606266;
|
margin-right: 10px;
|
}
|
}
|
}
|
}
|
.b-t-right {
|
width: 60px;
|
.b-t-r-icon {
|
width: 50px;
|
height: 50px;
|
border-radius: 25px;
|
border: 1px solid #1890ff;
|
color: #1890ff;
|
font-size: 30px;
|
line-height: 50px;
|
text-align: center;
|
margin-top: 15px;
|
margin-left: 30px;
|
}
|
}
|
}
|
.body-table {
|
width:100%;
|
height:calc(100% - 263px);
|
position: relative;
|
.b-t-unit {
|
position: absolute;
|
top: -25px;
|
right: 20px;
|
}
|
}
|
}
|
}
|
.t-right-red {
|
color: #ff0000;
|
}
|
.t-right-green {
|
color: #00ff00;
|
}
|
.t-r-bg-red {
|
background: #ff0000;
|
}
|
.t-r-bg-green {
|
background: #00ff00;
|
}
|
.c-p {
|
cursor: pointer;
|
}
|
.c-n {
|
cursor: no-drop;
|
}
|
</style>
|