ysy 2 лет назад
Родитель
Сommit
1e06b07f4f

+ 1 - 10
src/api/materialPlan/index.js

@@ -20,16 +20,7 @@ export async function save (data) {
   }
   return Promise.reject(new Error(res.data.message));
 }
-/**
- * 修改
- */
-export async function update (data) {
-  const res = await request.put('/aps/batchingplan/update', data);
-  if (res.data.code == 0) {
-    return res.data.data;
-  }
-  return Promise.reject(new Error(res.data.message));
-}
+
 /**
  * 修改
  */

+ 74 - 103
src/views/materialPlan/components/materialPlan-search.vue

@@ -1,66 +1,37 @@
 <!-- 搜索表单 -->
 <template>
-  <el-form
-    label-width="80px"
-    class="ele-form-search"
-    @keyup.enter.native="search"
-    @submit.native.prevent
-  >
+  <el-form label-width="80px" class="ele-form-search" @keyup.enter.native="search" @submit.native.prevent>
     <el-row :gutter="15">
       <el-col v-bind="styleResponsive ? { lg: 5, md: 12 } : { span: 5 }">
         <el-form-item label="计划编码:">
           <el-input clearable v-model="where.code" placeholder="请输入" />
         </el-form-item>
       </el-col>
- 
 
- 
+
+
       <el-col v-bind="styleResponsive ? { lg: 5, md: 12 } : { span: 5 }">
         <el-form-item label="计划状态:" label-width="80px">
-          <el-select
-            v-model="where.statusList"
-            placeholder="请选择"
-            class="w100"
-          >
-            <el-option
-              v-for="item in statusOpt[activeName]"
-              :label="item.label"
-              :value="item.value"
-              :key="item.value"
-            ></el-option>
+          <el-select v-model="where.statusList" placeholder="请选择" class="w100">
+            <el-option v-for="item in statusOpt[activeName]" :label="item.label" :value="item.value"
+              :key="item.value"></el-option>
           </el-select>
         </el-form-item>
       </el-col>
       <el-col v-bind="styleResponsive ? { lg: 7, md: 12 } : { span: 7 }">
         <el-form-item label="创建时间:">
-          <el-date-picker
-            class="w100"
-            v-model="where.createTime"
-            type="daterange"
-            range-separator="至"
-            start-placeholder="开始日期"
-            end-placeholder="结束日期"
-            value-format="yyyy-MM-dd HH:mm:ss"
-          >
+          <el-date-picker class="w100" v-model="where.createTime" type="daterange" range-separator="至"
+            start-placeholder="开始日期" end-placeholder="结束日期" value-format="yyyy-MM-dd HH:mm:ss">
           </el-date-picker>
         </el-form-item>
       </el-col>
 
-      <el-col
-      v-bind="styleResponsive ? { lg: 5, md: 12 } : { span: 5 }"
-      >
+      <el-col v-bind="styleResponsive ? { lg: 5, md: 12 } : { span: 5 }">
         <div class="ele-form-actions">
-          <el-button
-            type="primary"
-            icon="el-icon-search"
-            class="ele-btn-icon"
-            @click="search"
-          >
+          <el-button type="primary" icon="el-icon-search" class="ele-btn-icon" @click="search">
             查询
           </el-button>
-          <el-button @click="reset" icon="el-icon-refresh-left" type="primary"
-            >重置</el-button
-          >
+          <el-button @click="reset" icon="el-icon-refresh-left" type="primary">重置</el-button>
         </div>
       </el-col>
     </el-row>
@@ -68,75 +39,75 @@
 </template>
 
 <script>
-  export default {
-    props: ['activeName', 'statusOpt', 'planType'],
-    data () {
-      // 默认表单数据
-      const defaultWhere = {
-     
+export default {
+  props: ['activeName', 'statusOpt',],
+  data() {
+    // 默认表单数据
+    const defaultWhere = {
 
-        statusList: '',
-        code: '',
-        releaseTime: [],
-        deliveryTime: [],
-        createTime: []
-      };
-      return {
-        // 表单数据
-        where: { ...defaultWhere },
-        treeData: []
-      };
-    },
-    computed: {
-      // 是否开启响应式布局
-      styleResponsive () {
-        return this.$store.state.theme.styleResponsive;
-      }
-    },
-    watch: {
-      activeName: {
-        handler () {
-          if (this.activeName) {
-            this.where.statusList = this.statusOpt[this.activeName][0].value;
-            this.reset();
-          }
-        },
-        immediate: true
-      }
-    },
-    created () {},
-    methods: {
-      /* 搜索 */
-      search () {
-        const where = { ...this.where };
 
-        for (const key in where) {
-          if (Array.isArray(where[key]) && where[key].length) {
-            where[`${key}Start`] = where[key][0];
-            where[`${key}End`] = where[key][1];
-          }
+      statusList: '',
+      code: '',
+      releaseTime: [],
+      deliveryTime: [],
+      createTime: []
+    };
+    return {
+      // 表单数据
+      where: { ...defaultWhere },
+      treeData: []
+    };
+  },
+  computed: {
+    // 是否开启响应式布局
+    styleResponsive() {
+      return this.$store.state.theme.styleResponsive;
+    }
+  },
+  watch: {
+    activeName: {
+      handler() {
+        if (this.activeName) {
+          this.where.statusList = this.statusOpt[this.activeName][0].value;
+          this.reset();
         }
-        delete where.releaseTime;
-        delete where.deliveryTime;
-        delete where.createTime;
-
-        where.statusList = where.statusList.split(',');
-
-        this.$emit('search', where);
       },
-      /*  重置 */
-      reset () {
-        this.where = { ...this.defaultWhere };
-        this.where.statusList = this.statusOpt[this.activeName][0].value;
-        this.search();
+      immediate: true
+    }
+  },
+  created() { },
+  methods: {
+    /* 搜索 */
+    search() {
+      const where = { ...this.where };
+
+      for (const key in where) {
+        if (Array.isArray(where[key]) && where[key].length) {
+          where[`${key}Start`] = where[key][0];
+          where[`${key}End`] = where[key][1];
+        }
       }
+      delete where.releaseTime;
+      delete where.deliveryTime;
+      delete where.createTime;
+
+      where.statusList = where.statusList.split(',');
+
+      this.$emit('search', where);
+    },
+    /*  重置 */
+    reset() {
+      this.where = { ...this.defaultWhere };
+      this.where.statusList = this.statusOpt[this.activeName][0].value;
+      this.search();
     }
-  };
+  }
+};
 </script>
 <style lang="scss" scoped>
-  .ele-form-actions {
-    display: flex;
-    align-items: center;
-    justify-content: flex-end;
-  }
+.ele-form-actions {
+  display: flex;
+  align-items: center;
+  justify-content: flex-end;
+}
 </style>

+ 28 - 14
src/views/materialPlan/components/plan-edit-dialog.vue

@@ -31,7 +31,7 @@
 
 
         <template v-slot:code="{ row }">
-          <el-input placeholder="请输入" readonly v-model="row.code"></el-input>
+          <el-input placeholder="请输入" readonly :value="row.code || row.salesOrderCode" ></el-input>
         </template>
 
         <template v-slot:remark="{ row }">
@@ -130,7 +130,7 @@
 
 import saleOrderPop from './saleOrderPop.vue'
 import ProductModal from './ProductModal.vue'
-import { listBomBySalesOrderIds, listBomBySalesOrderId, save } from '@/api/materialPlan/index';
+import { listBomBySalesOrderIds, listBomBySalesOrderId, save, getById } from '@/api/materialPlan/index';
 import ProductionVersion from '@/components/CreatePlan/ProductionVersion2.vue';
 export default {
   components: {
@@ -341,12 +341,23 @@ export default {
     };
   },
   methods: {
-    async open(type, row = {}) {
+    async open(type, row) {
       this.type = type;
+      if (row) {
+        this.getDetail(row.id)
+      }
       this.visible = true;
     },
 
 
+    getDetail(id) {
+      getById(id).then(res => {
+        this.formData.name =  res.name
+        this.$refs.table.setData([...res.salesOrderList]);
+
+      })
+    },
+
     confirm() {
       this.$refs.formRef.validate(async (value) => {
         if (value) {
@@ -359,20 +370,23 @@ export default {
           }
           let _arr2 = []
 
-          _arr2 =  _arr.map(m => {
-            m.salesOrderId = m.id
-            m.salesOrderCode = m.code
-            delete m.id
-            delete m.code
+          _arr2 = _arr.map(m => {
+            if (Object.prototype.hasOwnProperty.call(m, "salesOrderId") && m.salesOrderId) {
+            } else {
+              m.salesOrderId = m.id
+              m.salesOrderCode = m.code
+              delete m.id
+              delete m.code
+            }
+
             return {
               ...m,
             }
           })
 
           this.formData['type'] = 1
-          this.formData['salesOrderPOList'] = _arr2
-          const request = this.type == 'add' ? save : update;
-          await request(this.formData);
+          this.formData['salesOrderList'] = _arr2
+          await save(this.formData);
           this.$message.success('保存成功!');
           this.$emit('success');
           this.cancel();
@@ -431,7 +445,7 @@ export default {
 
     chooseModal(data, current) {
       data.map((m => {
-        m.parentId = current.id
+        m.detailId = current.id
         return {
           ...m,
         }
@@ -462,7 +476,7 @@ export default {
     remove2(row) {
       const data = this.$refs.table.getData() ?? [];
       data.forEach((e) => {
-        if (row.parentId == e.id) {
+        if (row.detailId == e.id) {
           e.materialList = e.materialList.filter((d) => d.id !== row.id);
         }
       })
@@ -497,7 +511,7 @@ export default {
           if (e.id == this.xsId) {
 
             res.map(m => {
-              m.parentId = this.xsId
+              m.detailId = this.xsId
               return {
                 ...m,
               }