From 3917bfce75349ac3fb0d0e5e4078dc99072a2d8e Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期三, 10 四月 2024 18:52:33 +0800
Subject: [PATCH] 产量登记表连接设备的弹框样式开发+字段调试,下拉数据的接口联调问题
---
src/views/productManage/productRegisterForm/components/addProductDialog.vue | 262 +++++++++++++++++++++++++++++++++++--------
src/views/productManage/productRegisterForm/addProductRegisterPage.vue | 97 ++++++++++++---
2 files changed, 287 insertions(+), 72 deletions(-)
diff --git a/src/views/productManage/productRegisterForm/addProductRegisterPage.vue b/src/views/productManage/productRegisterForm/addProductRegisterPage.vue
index a54c344..bddc310 100644
--- a/src/views/productManage/productRegisterForm/addProductRegisterPage.vue
+++ b/src/views/productManage/productRegisterForm/addProductRegisterPage.vue
@@ -544,7 +544,13 @@
</div>
</div>
<!-- 浠櫒杩炴帴姝e父寮圭獥 -->
- <addProductDialog ref="addProductDialog" />
+ <addProductDialog ref="addProductDialog"
+ :marketList='marketList'
+ :nameList='nameList'
+ :form='ruleForm'
+ :specList='specList'
+ @changeForm='changeForm'
+ @changeTableInput='changeTableInput' />
</div>
</template>
@@ -637,6 +643,40 @@
this.getSelectDataList();
},
methods: {
+ changeForm(form,val){
+ if(val){
+ this.ruleForm.createTime=form.createTime
+ this.ruleForm.groupNumber=form.groupNumber
+ this.ruleForm.spec=form.spec
+ this.ruleForm.marketId=form.marketId
+ this.getGroupNumber()
+ }
+ },
+ changeTableInput(form){
+ debugger
+ 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.$set(this.tableData[i],'pieceNumber'+form.pieceNumber+form.pieces,form.netWeight)
+ break;
+ }
+ }
+ }
+ if(form.pieceNumber==3&&form.pieces==4){
+ this.$refs.addProductDialog.proForm.carNumber=this.tableData[Number(string)+1].carNumber
+ }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({
@@ -692,6 +732,7 @@
}
}
}
+ this.ruleForm.carNumber=this.tableData.length>0?this.tableData[0].carNumber:''
}
});
}
@@ -708,6 +749,9 @@
// 浠櫒杩炴帴寮圭獥
deviceConnectClick() {
if (this.isDeviceConnectStatus) {
+ this.$refs.addProductDialog.proForm.pieceNumber=1
+ this.$refs.addProductDialog.proForm.pieces=1
+ this.$forceUpdate();
this.$refs.addProductDialog.editDialogVisible = true;
}
},
@@ -717,29 +761,40 @@
},
// 鏀惧純
cancelClickOne() {
- this.form = {
+ this.ruleForm = {
number: "",
- finishDate: "",
- market: "",
- name: "",
- spec: "",
- workshopGroup: "",
- circleTwo: "",
+ record: "",
+ createTime: "",
circle: "",
- totalCircle: "",
- position: "",
+ marketId: "",
+ fallingSilkCocoonNumber: "",
+ workshopId: "",
+ bucketCocoonNumber: "",
+ groupNumber: "",
+ vehicleSpeed: "",
+ spec: "",
+ timeYi: "",
+ jieZhuang: "",
+ timeJia: "",
+ level: "",
+ groupReelingdiscount: "",
+ fallingSilkBucket: "",
+ fallingSilkBucketOne: "",
+ isfallingSilkBucketOne: "",
+ fallingSilkBucketTwo: "",
+ isfallingSilkBucketTwo: "",
+ fallingSilkBucketThree: "",
+ isfallingSilkBucketThree: "",
+ back: "",
+ oneBack: "",
+ twoBack: "",
+ threeBack: "",
+ theorySilkAmount: "",
+ total: "",
+ hourYield: "",
};
- this.$refs.form.resetFields();
- this.productId = 1;
- this.tableList.tableData = [
- {
- productId: 1,
- position: "",
- fineness: 0,
- quantity: 0,
- sum: "",
- },
- ];
+ this.$refs.ruleForm.resetFields();
+ this.tableData = [];
},
// 淇濆瓨
saveClickOne(formName) {
diff --git a/src/views/productManage/productRegisterForm/components/addProductDialog.vue b/src/views/productManage/productRegisterForm/components/addProductDialog.vue
index 9bed2ef..832504d 100644
--- a/src/views/productManage/productRegisterForm/components/addProductDialog.vue
+++ b/src/views/productManage/productRegisterForm/components/addProductDialog.vue
@@ -19,49 +19,91 @@
>
<el-row>
<el-col :span="11">
- <el-form-item label="鏃ユ湡" prop="date">
+ <el-form-item label="鏃ユ湡" prop="createTime">
<el-date-picker
type="date"
placeholder="骞�/鏈�/鏃�"
- v-model="proForm.date"
+ v-model="proForm.createTime"
size="small"
style="width: 100%"
></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="9">
- <el-form-item label="缁勫埆" prop="group">
- <el-select v-model="proForm.group" placeholder="璇烽�夋嫨缁勫埆" size="small">
- <el-option v-for="item in groupOptions" :key="item.id" :label="item.value" :value="item.id"></el-option>
+ <el-form-item label="缁勫埆" prop="groupNumber">
+ <el-select
+ v-model="proForm.groupNumber"
+ placeholder="璇峰厛閫夋嫨杞﹂棿"
+ no-data-text="璇峰厛閫夋嫨杞﹂棿"
+ class="select-width"
+ @change="getGroupNumber"
+ >
+ <el-option
+ v-for="item in workshopGroupList"
+ :key="item"
+ :label="item"
+ :value="item"
+ >
+ </el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="11">
- <el-form-item label="杞﹂棿" prop="workshop">
- <el-select v-model="proForm.workshop" placeholder="璇烽�夋嫨杞﹂棿" size="small">
- <el-option label="杞﹂棿涓�" value="杞﹂棿涓�"></el-option>
- <el-option label="杞﹂棿浜�" value="杞﹂棿浜�"></el-option>
- <el-option label="杞﹂棿涓�" value="杞﹂棿涓�"></el-option>
- <el-option label="杞﹂棿鍥�" value="杞﹂棿鍥�"></el-option>
+ <el-form-item label="杞﹂棿" prop="workshopId">
+ <el-select
+ v-model="proForm.workshopId"
+ 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-col>
<el-col :span="9">
<el-form-item label="瑙勬牸" prop="spec">
- <el-input v-model="proForm.spec" size="small"></el-input>
+ <el-select
+ v-model="proForm.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-col>
<el-col :span="20">
- <el-form-item label="搴勫彛" prop="lots">
- <el-select v-model="proForm.lots" placeholder="璇烽�夋嫨搴勫彛" size="small" style="width: 100%">
- <el-option label="搴勫彛涓�" value="搴勫彛涓�"></el-option>
- <el-option label="搴勫彛浜�" value="搴勫彛浜�"></el-option>
+ <el-form-item label="搴勫彛" prop="marketId">
+ <el-select
+ v-model="proForm.marketId"
+ placeholder="璇烽�夋嫨搴勫彛"
+ size="small"
+ style="width: 100%"
+ >
+ <el-option
+ v-for="item in marketList"
+ :key="item.ID"
+ :label="item.name"
+ :value="item.ID"
+ >
+ </el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="" label-width="20px">
- <el-button type="primary" size="small">鍒囨崲</el-button>
+ <el-button type="primary" @click='changeForm(true)' size="small">鍒囨崲</el-button>
</el-form-item>
</el-col>
<el-col :span="20">
@@ -77,23 +119,23 @@
<span slot="label">
<span class="formLabel">鍑�閲�</span>
</span>
- <el-input v-model="proForm.netWeight" size="small"></el-input>
+ <el-input v-model="proForm.netWeight" @blur="changeTableInput" size="small"></el-input>
</el-form-item>
</el-col>
<el-col :span="20">
- <el-form-item prop="carNum" label-width="80px">
+ <el-form-item prop="carNumber" label-width="80px">
<span slot="label">
<span class="formLabel">杞﹀彿</span>
</span>
- <el-input v-model="proForm.carNum" size="small"></el-input>
+ <el-input v-model="proForm.carNumber" @blur="changeTableInput" size="small"></el-input>
</el-form-item>
</el-col>
<el-col :span="20">
- <el-form-item prop="numTimes" label-width="80px">
+ <el-form-item prop="pieceNumber" label-width="80px">
<span slot="label">
<span class="formLabel">鍥炴暟</span>
</span>
- <el-input v-model="proForm.numTimes" size="small"></el-input>
+ <el-input v-model.number="proForm.pieceNumber" @blur="changeTableInput" size="small"></el-input>
</el-form-item>
</el-col>
<el-col :span="20">
@@ -101,61 +143,179 @@
<span slot="label">
<span class="formLabel">鐗囨暟</span>
</span>
- <el-input v-model="proForm.pieces" size="small"></el-input>
+ <el-input v-model.number="proForm.pieces" @blur="changeTableInput" size="small"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<div slot="footer" class="dialog-footer">
- <el-button @click="handleClose" size="mini">鍙栨秷</el-button>
- <el-button type="primary" @click="onSubmit('form')" size="mini">纭畾</el-button>
+ <!-- <el-button @click="handleClose" size="mini">鍙栨秷</el-button>
+ <el-button type="primary" @click="onSubmit('form')" size="mini">纭畾</el-button> -->
</div>
</el-dialog>
</template>
<script>
+import {
+ getWorkshopManageGroup,
+} from "@/api/productManage/productRegisterForm.js";
export default {
- props: {},
+ props: {
+ nameList: {
+ type: Array,
+ default: () => {
+ return [];
+ },
+ },
+ marketList: {
+ type: Array,
+ default: () => {
+ return [];
+ },
+ },
+ specList: {
+ type: Array,
+ default: () => {
+ return [];
+ },
+ },
+ form: {
+ type: Object,
+ default: () => {
+ return {};
+ },
+ },
+ },
components: {},
data() {
return {
editDialogVisible: false,
- proForm: {},
- rules: {
- date: [{ required: true, message: "璇烽�夋嫨鏃ユ湡", trigger: "change" }],
- number: [{ required: true, message: "璇疯緭鍏ョ紪鍙�", trigger: "blur" }],
- workshop: [{ type: "date", required: true, message: "璇烽�夋嫨杞﹂棿", trigger: "change" }]
+ workshopGroupList:[],
+ proForm: {
+ createTime: "",
+ groupNumber: "",
+ workshopId: "",
+ spec: "",
+ marketId: "",
+ tareWeight: "",
+ netWeight: "",
+ carNumber: "",
+ pieceNumber: "",
+ pieces: "",
},
- groupOptions: [
- { id: 1, value: 1 },
- { id: 2, value: 2 },
- { id: 3, value: 3 },
- { id: 4, value: 4 },
- { id: 5, value: 5 },
- { id: 6, value: 6 },
- { id: 7, value: 7 },
- { id: 8, value: 8 },
- { id: 9, value: 9 }
- ]
+ rules: {
+ createTime: [
+ { required: true, message: "璇烽�夋嫨鐢熶骇鏃ユ湡", trigger: ["change", "blur"] },
+ ],
+ marketId: [
+ { required: true, message: "璇烽�夋嫨", trigger: ["change", "blur"] },
+ ],
+ workshopId: [
+ { required: true, message: "璇烽�夋嫨", trigger: ["change", "blur"] },
+ ],
+ groupNumber: [
+ { required: true, message: "璇烽�夋嫨", trigger: ["change", "blur"] },
+ ],
+ spec: [
+ { required: true, message: "璇烽�夋嫨", trigger: ["change", "blur"] },
+ ],
+ },
+ };
+ },
+ created() {
+ },
+ watch:{
+ "form": {
+ handler() {
+ this.getInfo()
+ },
+ deep: true,
+ immediate:true,
+ },
+ "form.carNumber": {
+ handler() {
+ debugger
+ this.$set(this.proForm,'carNumber',this.form.carNumber)
+ },
+ deep: true,
+ immediate:true,
+ },
+ "form.pieceNumber": {
+ handler() {
+ this.$set(this.proForm,'pieceNumber',this.form.pieceNumber)
+ },
+ deep: true,
+ immediate:true,
+ },
+ "form.pieces": {
+ handler() {
+ this.$set(this.proForm,'pieces',this.form.pieces)
+ },
+ deep: true,
+ immediate:true,
+ },
+ 'form.workshopId': function () {
+ this.getGroupNumber()
}
},
- created() {},
methods: {
+ getInfo(){
+ this.proForm={
+ createTime: this.form.createTime,
+ groupNumber: this.form.groupNumber,
+ workshopId: this.form.workshopId,
+ spec: this.form.spec,
+ marketId: this.form.marketId,
+ tareWeight: "",
+ netWeight: "",
+ carNumber: this.form.carNumber,
+ pieceNumber: this.form.pieceNumber,
+ pieces: this.form.pieces,
+ }
+ this.$forceUpdate();
+ },
+ getGroupNumber(){
+ if(this.proForm.workshopId){
+ //缁勫埆
+ getWorkshopManageGroup({number:this.proForm.workshopId}).then((res) => {
+ if (res.code == 200) {
+ this.workshopGroupList=[]
+ let workshopGroupList = res.data || {};
+ if(Object.keys(workshopGroupList).length>0){
+ for(let i in workshopGroupList){
+ this.workshopGroupList.push(workshopGroupList[i])
+ }
+ }
+ }
+ });
+ if(this.proForm.groupNumber){
+ this.changeForm()
+ }
+ }else{
+ this.workshopGroupList =[]
+ }
+ },
+ changeForm(val){
+ this.$emit('changeForm',this.proForm,val)
+ },
+ changeTableInput(){
+ this.$emit('changeTableInput',this.proForm)
+ },
handleClose() {
- this.editDialogVisible = false
+ this.editDialogVisible = false;
},
// 纭畾
onSubmit(form) {
- console.log(form)
- }
- }
-}
+ console.log(form);
+ },
+ },
+};
</script>
<style lang="scss" scoped>
.add-event-dialog {
.formLabel {
- font-size: 20px;
- font-weight: 700;
+ font-size: 18px;
+ // font-weight: 600;
color: #333;
}
.dialog-footer {
@@ -172,7 +332,7 @@
.el-form-item__label {
font-size: 16px;
color: #333;
- font-weight: 700;
+ // font-weight: 700;
}
.add-event-dialog .el-dialog {
position: absolute;
--
Gitblit v1.8.0