ysy 1 год назад
Родитель
Сommit
7ffc6e290d

+ 13 - 0
src/api/produce/index.js

@@ -10,4 +10,17 @@ export async function getWarehouseList() {
     }
     return Promise.reject(new Error(res.data.message));
   }
+  
+ 
+
+// 根据当前用户id查询他的负责工序
+  export async function treeByPid(data) {
+    const res = await request.get('/main/producetask/listTaskByUserId', {
+      params: data
+    });
+    if (res.data.code == 0) {
+      return res.data;
+    }
+    return Promise.reject(new Error(res.data.message));
+  }
   

+ 68 - 40
src/views/produce/components/picking/index.vue

@@ -8,37 +8,37 @@
     append-to-body
     width="80%"
   >
-    <div v-for="(item, idx) in workList" :key="idx">
-      <div class="table_box">
-        <div class="row">
-          <div class="col">
-            <div class="name">生产工单号</div>
-            <div class="content">{{ item.code }}</div>
-          </div>
-          <div class="col">
-            <div class="name">产品编码</div>
-            <div class="content">{{ item.productCode }}</div>
-          </div>
-          <div class="col">
-            <div class="name">产品名称</div>
-            <div class="content">{{ item.productName }}</div>
-          </div>
-          <div class="col">
-            <div class="name">批号</div>
-            <div class="content">{{ item.batchNo }}</div>
-          </div>
-          <div class="col pd6">
-            <el-button
-              type="primary"
-              size="mini"
-              @click="openPicking(item.id, item)"
-              >新增</el-button
-            >
+    <el-form ref="formRef" :model="formObj" :rules="rules">
+      <div v-for="(item, idx) in workList" :key="idx">
+        <div class="table_box">
+          <div class="row">
+            <div class="col">
+              <div class="name">生产工单号</div>
+              <div class="content">{{ item.code }}</div>
+            </div>
+            <div class="col">
+              <div class="name">产品编码</div>
+              <div class="content">{{ item.productCode }}</div>
+            </div>
+            <div class="col">
+              <div class="name">产品名称</div>
+              <div class="content">{{ item.productName }}</div>
+            </div>
+            <div class="col">
+              <div class="name">批号</div>
+              <div class="content">{{ item.batchNo }}</div>
+            </div>
+            <div class="col pd6">
+              <el-button
+                type="primary"
+                size="mini"
+                @click="openPicking(item.id, item)"
+                >新增</el-button
+              >
+            </div>
           </div>
         </div>
-      </div>
 
-      <el-form ref="form" :model="{ pickList: item.pickList }" :rules="rules">
         <el-table
           ref="table"
           :key="'table' + idx"
@@ -60,27 +60,43 @@
           <el-table-column label="名称" prop="name"> </el-table-column>
           <el-table-column label="型号" prop="modelType"> </el-table-column>
           <el-table-column label="规格" prop="specification"> </el-table-column>
+          <el-table-column label="批次号" prop="batchNo"> </el-table-column>
+
           <el-table-column label="数量" prop="demandQuantity">
             <template slot-scope="{ row, $index }">
-              <el-input
-                :ref="'demandQuantity' + idx + $index"
-                v-model="row.demandQuantity"
-              >
-              <template slot="append">{{ row.unit }}</template>
-            </el-input> 
-
+              <el-form-item :prop="`formObj.${$index}.demandQuantity`">
+                <el-input
+                  :ref="'formObj' + idx + $index"
+                  v-model="row.demandQuantity"
+                  size="mini"
+                  :rules="[
+                    { required: true, message: '请输入数量', trigger: 'blur' }
+                  ]"
+                >
+                  <template slot="append">{{ row.unit }}</template>
+                </el-input>
+              </el-form-item>
             </template>
           </el-table-column>
 
           <el-table-column label="领料仓库" prop="warehouseId">
             <template slot-scope="{ row, $index }">
-             <el-select></el-select>
+              <div v-if="row.warehouseList">
+                <el-select></el-select>
+              </div>
+
+              <div v-else>
+                {{ row.pathName }}
+              </div>
             </template>
           </el-table-column>
-
         </el-table>
-      </el-form>
-    </div>
+      </div>
+    </el-form>
+    <template slot="footer">
+      <el-button size="mini" @click="handleClose">取 消</el-button>
+      <el-button size="mini" type="primary" @click="save">确 定</el-button>
+    </template>
 
     <pickingList
       isType="pick"
@@ -108,7 +124,7 @@
     data() {
       return {
         visible: true,
-
+        formObj: {},
         rules: {}
       };
     },
@@ -130,6 +146,18 @@
             this.$forceUpdate();
           }
         });
+      },
+
+      save() {
+        console.log(this.$refs.formRef);
+        this.$refs.formRef.validate((valid) => {
+          if (valid) {
+            alert('submit!');
+          } else {
+            console.log('error submit!!');
+            return false;
+          }
+        });
       }
     }
   };

+ 1 - 0
src/views/produce/components/produceOrder.vue

@@ -8,6 +8,7 @@
     @selection-change="handleSelectionChange"
     cache-key="produceOrderZ"
     highlight-current-row
+
     @row-click="rowClick"
     :need-page="false"
   >

+ 7 - 0
src/views/produce/components/search.vue

@@ -22,6 +22,7 @@
             </el-form>
         </div>
         <div class="right">
+         
             <div class="lab">操作员:{{ userName }}</div>
             <div class="lab">{{ currentTime }}</div>
         </div>
@@ -43,10 +44,16 @@ export default {
         };
     },
     created() {
+        this.getTaskList();
+
         this.updateCurrentTime();
         setInterval(this.updateCurrentTime, 1000); // 每秒更新一次时间
     },
     methods: {
+
+        getTaskList() {
+            
+        },
         back() {
             this.$router.go(-1);
         },