Răsfoiți Sursa

Merge branch 'dev' of http://110.41.163.243:9980/kd-aiot/kd-aiot-frontend-mes into dev

quwangxin 2 ani în urmă
părinte
comite
92c9ca98fa

+ 18 - 0
src/api/produceOrder/index.js

@@ -30,3 +30,21 @@ export async function update (data) {
   }
   return Promise.reject(new Error(res.data.message));
 }
+
+// 批量完结 
+export async function batchCompletion (params) {
+  const res = await request.post('/mes/workorder/batchCompletion',  params );
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
+
+// 取消完结 
+export async function cancelCompletion (id) {
+  const res = await request.get(`/mes/workorder/cancelCompletion/${id}`);
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}

+ 23 - 28
src/views/produceOrder/components/unpackDialog.vue

@@ -8,7 +8,7 @@
   >
     <div class="form-wrapper">
       <el-form
-        :model="formData"
+        :model="requestData"
         label-width="0"
         :show-message="false"
         ref="formRef"
@@ -27,10 +27,10 @@
             {{ formData.brandNo }}|{{ formData.model }}</el-descriptions-item
           >
           <el-descriptions-item label="要求成型数量">{{
-            formData.requiredFormingNum
+            formData.formingNum
           }}</el-descriptions-item>
 		  <el-descriptions-item label="计划开始时间">{{
-		    formData.productNum
+		    formData.planStartTime
 		  }}</el-descriptions-item>
           <el-descriptions-item
             label="成型数量"
@@ -39,7 +39,7 @@
           >
             <span slot="label" class="label-required">成型数量</span>
             <el-form-item prop="formingNum" required>
-              <el-input v-model="formData.formingNum"></el-input>
+              <el-input v-model="requestData.formingNum"></el-input>
             </el-form-item>
           </el-descriptions-item>
           <el-descriptions-item
@@ -52,7 +52,7 @@
             <el-form-item prop="planStartTime" required class="w100">
               <el-date-picker
                 class="w100"
-                v-model="formData.planStartTime"
+                v-model="requestData.planStartTime"
                 type="date"
                 value-format="yyyy-MM-dd"
               ></el-date-picker> </el-form-item
@@ -67,8 +67,8 @@
               ><el-input
                 @click.native="getEquip"
                 :value="
-                  formData.deviceName &&
-                  `${formData.deviceName}(${formData.deviceCode})`
+                  requestData.deviceName &&
+                  `${requestData.deviceName}(${requestData.deviceCode})`
                 "
               ></el-input> </el-form-item
           ></el-descriptions-item>
@@ -95,24 +95,18 @@
       return {
         visible: false,
         produceVersionId: '',
-        formData: {
-          productionPlanCode: '',
-          deviceCode: '',
-          deviceName: '',
-          productCode: '',
-          productName: '',
-          formingNum: '',
-          brandNo: '',
-          model: '',
-          requiredFormingNum: '',
-          planStartTime: '',
-          productNum: ''
-        }
+        formData: {},
+		requestData:{}
       };
     },
     methods: {
       open (row) {
         this.visible = true;
+		this.formData = row
+		this.produceVersionId = row.produceVersionId
+		if(row.planStartTime){
+			this.requestData.planStartTime = row.planStartTime
+		}
       },
       // codeChoose () {
       //   this.$refs.apsPlanOrderRef.open(this.formData.productCode, (res) => {
@@ -133,26 +127,27 @@
       //   });
       // },
       getEquip () {
-        if (!this.produceVersionId) {
-          return this.$message.error('请先选择计划');
-        }
+        // if (!this.produceVersionId) {
+        //   return this.$message.error('请先选择计划');
+        // }
         this.$refs.equipmentDailogRef.openSingle(
-          [this.formData.deviceCode],
+          [this.requestData.deviceCode],
           (res) => {
-            this.formData.deviceCode = res.code;
-            this.formData.deviceName = res.name;
-            this.formData.deviceId = res.id;
+            this.requestData.deviceCode = res.code;
+            this.requestData.deviceName = res.name;
+            this.requestData.deviceId = res.id;
           }
         );
       },
       cancel () {
         this.formData = {};
+		this.requestData = {};
         this.visible = false;
       },
       confirm () {
         this.$refs.formRef.validate(async (value) => {
           if (value) {
-            const res = await save(this.formData);
+            const res = await save(this.requestData);
             this.$message.success('操作成功!');
             this.$emit('success');
             this.cancel();

+ 30 - 7
src/views/produceOrder/index.vue

@@ -49,7 +49,7 @@
               :underline="false"
               icon="el-icon-truck"
               v-if="row.status == 6"
-              @click="handleOrderPublish(1, row)"
+              @click="toCancel(row)"
             >
               取消完结
             </el-link></template
@@ -92,7 +92,7 @@
 </template>
 
 <script>
-  import { getPage } from '@/api/produceOrder/index.js';
+  import { getPage , batchCompletion , cancelCompletion } from '@/api/produceOrder/index.js';
   import produceOrderSearch from './components/produceOrder-search.vue';
   import createDialog from './components/createDialog.vue';
   import unpackDialog from './components/unpackDialog.vue';
@@ -281,7 +281,7 @@
           {
             columnKey: 'action',
             label: '操作',
-            width: 350,
+            width: 250,
             align: 'center',
             resizable: false,
             fixed: 'right',
@@ -336,20 +336,43 @@
             cancelButtonText: '取消',
             type: 'warning'
           })
-            .then(() => {})
+            .then(() => {
+				batchCompletion([row.id]).then(res=>{
+					this.$message.success('成功')
+					this.reload();
+				})
+			})
             .catch(() => {});
         } else {
-          if (!this.selection.length)
-            return this.$message.warning('请至少选择一条工单!');
+          if (!this.selection.length){
+			  return this.$message.warning('请至少选择一条工单!');
+		  }
+		  const ids = []
+		   this.selection.map(item=>{
+		    	ids.push(item.id)
+		  })
           this.$confirm(`是否要完结${this.selection.length}条工单?`, '提醒', {
             confirmButtonText: '确认',
             cancelButtonText: '取消',
             type: 'warning'
           })
-            .then(() => {})
+            .then(() => {
+				batchCompletion(ids).then(res=>{
+					this.$message.success('成功')
+					this.reload();
+				})
+			})
             .catch(() => {});
         }
       },
+	  
+	  // 取消完结
+	  toCancel(row){
+		  cancelCompletion([row.id]).then(res=>{
+		  	 this.$message.success('成功')
+			 this.reload();
+		  })
+	  },
 
       // 拆分
       toUnpack (row) {