Эх сурвалжийг харах

Merge branch 'purchaseDev' into 'dev'

Purchase dev

See merge request new-business/drp-web!519
黄梓星 1 жил өмнө
parent
commit
1c824d77b6

+ 77 - 74
src/views/material/changeApply/columns.js

@@ -47,52 +47,54 @@ export default function useColumns() {
         },
       },
     },
-    // {
-    //   item:{
-    //     key: "manufacturerIdName",
-    //     title: "生产厂家/代理人",  
-    //   },
-    //   attr:{
-    //     clearable:true,
-    //     is: "el-popover-select-v2",
-    //     valueKey: "name",
-    //     referName: "MANUFACTURER_PARAM",
-    //     dataMapping: {
-    //       manufacturerId: "id",
-    //     },
-    //   },
-    // },
-    // {
-    //   item:{
-    //     key: "approverName",
-    //     title: "申请人",
-    //   },
-    //   attr: {
-    //     clearable:true,
-    //     is: "el-popover-select-v2",
-    //     referName: "CONTACTS_PARAM",
-    //     valueKey: "name",
-    //     dataMapping: {
-    //       approver: "code",
-    //     },
-    //   },
-    // },
-    // {
-    //   item:{
-    //     key: "applicationTime",
-    //     title: "申请日期",
-    //    // span:12,
-    //   },
-    //   attr: {
-    //     clearable:true,
-    //     is: "el-date-picker",
-    //     type:"daterange",
-    //     rangeSeparator:"-",
-    //     startPlaceholder:"开始日期",
-    //     endPlaceholder:"结束日期",
-    //     valueFormat:"yyyy-MM-dd",
-    //   },
-    // },
+    {
+      item:{
+        key: "manufacturerIdName",
+        title: "生产厂家/代理人",  
+      },
+      attr:{
+        clearable:true,
+        is: "el-popover-select-v2",
+        valueKey: "name",
+        referName: "MANUFACTURER_PARAM",
+        dataMapping: {
+          manufacturerId: "id",
+        },
+      },
+    },
+    {
+      item:{
+        // key: "approverName",
+        key: "createByName",
+        title: "申请人",
+      },
+      attr: {
+        clearable:true,
+        is: "el-popover-select-v2",
+        referName: "CONTACTS_PARAM",
+        valueKey: "name",
+        dataMapping: {
+          // approver: "code",
+          createBy: "code",
+        },
+      },
+    },
+    {
+      item:{
+        key: "applyTimeArray",
+        title: "申请日期",
+       // span:12,
+      },
+      attr: {
+        clearable:true,
+        is: "el-date-picker",
+        type:"daterange",
+        rangeSeparator:"-",
+        startPlaceholder:"开始日期",
+        endPlaceholder:"结束日期",
+        valueFormat:"yyyy-MM-dd",
+      },
+    },
     {
       item: {
         key: "code",
@@ -111,34 +113,35 @@ export default function useColumns() {
         clearable: true,
       },
     },
-    // {
-    //   item: {
-    //     key: "classifys",
-    //     title: "物料分类",
-    //   },
-    //   attr: {
-    //     is: "el-popover-multiple-tree-select",
-    //     referName: "MATERIALCLASSIFY_PARAM",
-    //     valueKey: "id",
-    //     clearable:true,
-    //   },
-    // },
-    // {
-    //   item:{
-    //     key: "updateTime",
-    //     title: "修改日期",
-    //    // span:12,
-    //   },
-    //   attr: {
-    //     clearable:true,
-    //     is: "el-date-picker",
-    //     type:"daterange",
-    //     rangeSeparator:"-",
-    //     startPlaceholder:"开始日期",
-    //     endPlaceholder:"结束日期",
-    //     valueFormat:"yyyy-MM-dd",
-    //   },
-    // },
+    {
+      item: {
+        key: "materialClassifyIds",
+        title: "物料分类",
+      },
+      attr: {
+        is: "el-popover-multiple-tree-select",
+        // is: "el-popover-tree-select",
+        referName: "MATERIALCLASSIFY_PARAM",
+        valueKey: "id",
+        clearable:true,
+      },
+    },
+    {
+      item:{
+        key: "updateTimeArray",
+        title: "修改日期",
+       // span:12,
+      },
+      attr: {
+        clearable:true,
+        is: "el-date-picker",
+        type:"daterange",
+        rangeSeparator:"-",
+        startPlaceholder:"开始日期",
+        endPlaceholder:"结束日期",
+        valueFormat:"yyyy-MM-dd",
+      },
+    },
 
     // {
     //   item: { key: "materialName", title: "物料名称" },

+ 22 - 22
src/views/purchase/purchase-order/column.js

@@ -1320,28 +1320,28 @@ export const SearchColumns = [
       dictName: "order_delivery_status",
     },
   },
-  // {
-  //   item: { 
-  //     key: "isUrgency", 
-  //     title: "紧急标识",
-  //   },
-  //   attr: { 
-  //     clearable: true,
-  //     is: "el-select", 
-  //     dictName: "sys_yes_no" 
-  //   },
-  // },
-  // {
-  //   item: { 
-  //     key: "isReplenishment", 
-  //     title: "补单标识",
-  //   },
-  //   attr: { 
-  //     clearable: true,
-  //     is: "el-select", 
-  //     dictName: "sys_yes_no" 
-  //   },
-  // },
+  {
+    item: { 
+      key: "isUrgency", 
+      title: "紧急标识",
+    },
+    attr: { 
+      clearable: true,
+      is: "el-select", 
+      dictName: "sys_yes_no" 
+    },
+  },
+  {
+    item: { 
+      key: "isReplenishment", 
+      title: "补单标识",
+    },
+    attr: { 
+      clearable: true,
+      is: "el-select", 
+      dictName: "sys_yes_no" 
+    },
+  },
   
   // {
   //   item:{

+ 22 - 22
src/views/purchase/task/columns.js

@@ -253,28 +253,28 @@ export default function useColumns() {
         valueKey: "name",
       },
     },
-    // {
-    //   item: { 
-    //     key: "isUrgency", 
-    //     title: "紧急标识",
-    //   },
-    //   attr: { 
-    //     clearable: true,
-    //     is: "el-select", 
-    //     dictName: "sys_yes_no" 
-    //   },
-    // },
-    // {
-    //   item: { 
-    //     key: "isReplenishment", 
-    //     title: "补单标识",
-    //   },
-    //   attr: { 
-    //     clearable: true,
-    //     is: "el-select", 
-    //     dictName: "sys_yes_no" 
-    //   },
-    // },
+    {
+      item: { 
+        key: "isUrgency", 
+        title: "紧急标识",
+      },
+      attr: { 
+        clearable: true,
+        is: "el-select", 
+        dictName: "sys_yes_no" 
+      },
+    },
+    {
+      item: { 
+        key: "isReplenishment", 
+        title: "补单标识",
+      },
+      attr: { 
+        clearable: true,
+        is: "el-select", 
+        dictName: "sys_yes_no" 
+      },
+    },
     {
       item: {
         key: "documentsCodes",

+ 2 - 2
src/views/purchase/task/index.vue

@@ -155,12 +155,12 @@ export default {
           @success="useQuery(params, page)"
         >
         </zp-button>
-        <!-- <lc-button
+        <lc-button
           :size="size"
           :select-data="selectData"
           @success="useQuery(params, page)"
         >
-        </lc-button> -->
+        </lc-button>
       </el-button-group>
       <!-- <el-button-group>
         <dc-button

+ 12 - 5
src/views/purchase/task/line-close/index.vue

@@ -27,16 +27,23 @@ export default {
      open(prop){
       console.log(prop);
 
-      this.$confirm('是否继续进行行关闭操作?', '提示', {
+      this.$prompt('请输入关闭原因', '提示', {
           confirmButtonText: '确定',
           cancelButtonText: '取消',
-          type: 'warning'
-        }).then(async() => {
+          inputPattern:  /\s*\S+?/,
+          inputErrorMessage: '关闭原因不能为空'
+        }).then( async({ value }) => {
 
           try {
-            let documentIds = this.selectData.map(item => item.id);
+
+            let params = {
+              documentIds: this.selectData.map(item => item.id),
+              baskCause: value,
+            }
+
+            console.log(params,'params');
             
-            let { code, msg } = await ROWClOSE(documentIds);
+            let { code, msg } = await ROWClOSE(params);
 
             if (code === 200) {
               this.$emit("success");

+ 8 - 0
src/views/purchase/task/xie-yi-zhi-cai/column.js

@@ -110,6 +110,14 @@ export const BasicColumns = [
     attr: {},
   },
   {
+    item: { key: "specification", title: "规格" },
+    attr: {},
+  },
+  {
+    item: { key: "model", title: "型号" },
+    attr: {},
+  },
+  {
     item: { key: "puOrgName", title: "采购组织" },
     attr: {},
   },

+ 136 - 10
src/views/purchase/task/xie-yi-zhi-cai/index.vue

@@ -57,11 +57,13 @@ export default {
       set(){},
     }
   },
-  watch: {},
+  watch: {
+  },
   methods: {
     //
     async open(prop) {
       this.visible = await this.fetchItem(prop);
+      this.supplier = '';
     },
     //
     hide() {
@@ -85,9 +87,8 @@ export default {
             })),
           }));
 
-          this.showData = _.cloneDeep(this.data);
-
           console.log(this.data,'this.data');
+          this.showData =  _.cloneDeep(this.data);
           return true;
         } else {
           return false;
@@ -111,7 +112,7 @@ export default {
         }))
         .filter((item) => item.orderPriceVos.length);
         console.log(params,'params');
-      try {
+        try {
         // try
         const { msg, code } = await ADD(params);
         if (code === 200) {
@@ -153,7 +154,39 @@ export default {
     },
     
     handleSelect(prop){
-      console.log(prop,'prop');
+      console.log(this.data,'handleSelect');
+
+      // this.tableColumns = this.tableColumns.map(({ item, attr }) =>{
+
+      //   if(item['key'] === 'supplierName'){
+      //     item.filter = [prop.value];
+      //   }
+
+      //   return {
+      //     item: {...item},
+      //     attr: {...attr},
+      //   }
+        
+      // })
+
+      // this.$refs.superTable.forEach(item =>{
+
+      //   let { onFilter, onFilters } = item;
+
+      //   let supplierFilter = {
+      //     item:{
+      //       key: 'supplierName',
+      //       title: '供应商',
+      //       filterabled:true,
+
+      //     },
+      //     attr: {}
+      //   }
+
+      //   onFilters(supplierFilter);
+      //   onFilter();
+      // })
+
       this.showData = this.data.map(item => {
         return {
           ...item,
@@ -162,13 +195,86 @@ export default {
       })
     },
     handleClear(){
-      this.showData = _.cloneDeep(this.data);
+      this.showData =  _.cloneDeep(this.data);
     },
     // 对象数组去重
     uniqueFunc(arr, uniId){
       const res = new Map();
       return arr.filter((item) => !res.has(item[uniId]) && res.set(item[uniId], 1));
     },
+    changeQuantity(prop,value){
+
+      this.data = this.data.map(item =>{
+
+        if(item.id === prop.id){
+
+          item.orderPriceVos = item.orderPriceVos.map(order =>{
+
+            if(order.id === value.id){
+
+              return value;
+            }
+
+            return order;
+          })
+
+          // item.orderPriceVos.forEach(order =>{
+
+          //   if(order.id === value.id){
+
+          //     let change = prop.orderPriceVos.filter(order => order.id === value.id);
+
+          //     order = {...change};
+
+          //   }
+
+          // })
+        }
+        return item;
+      })
+
+    },
+    changeDatePlan(prop,value){
+
+      this.data = this.data.map(item =>{
+
+        if(item.id === prop.id){
+
+          item.orderPriceVos = item.orderPriceVos.map(order =>{
+
+            if(order.id === value.id){
+
+              return value;
+            }
+
+            return order;
+          })
+
+        }
+        return item;
+      })
+    },
+    changeNote(prop,value){
+
+      this.data = this.data.map(item =>{
+
+        if(item.id === prop.id){
+
+          item.orderPriceVos = item.orderPriceVos.map(order =>{
+
+            if(order.id === value.id){
+
+              return value;
+            }
+
+            return order;
+          })
+
+        }
+        return item;
+      })
+    },
+
   },
   created() {},
   mounted() {},
@@ -210,7 +316,7 @@ export default {
         
       </template>
 
-      <!-- <el-row style="padding: 0 16px;">
+      <el-row style="padding: 0 16px;">
         <el-col>
           <el-autocomplete
             class="inline-input"
@@ -223,13 +329,13 @@ export default {
             @clear="handleClear"
           ></el-autocomplete>
         </el-col>
-      </el-row> -->
+      </el-row>
 
 
-      <div v-for="(item, index) in data" :key="index" class="m-4">
+      <div v-for="(item, index) in showData" :key="index" class="m-4">
 
         <template v-if="item.orderPriceVos.length">
-          <el-descriptions>
+          <el-descriptions :column="4">
             <template slot="title" >
               <template>
                 <span style="margin-right: 10px">{{ item.materialName }}</span>
@@ -255,6 +361,7 @@ export default {
           </el-descriptions>
   
           <el-super-table
+            ref="superTable"
             v-model="item.orderPriceVos"
             :columns="tableColumns"
             :size="$attrs.size"
@@ -267,6 +374,25 @@ export default {
                 v-model="scope.row[scope.item.key]"
                 :size="$attrs.size"
                 :max="scope.attr.max(scope.row)"
+                @change="changeQuantity(item,scope.row)"
+              >
+              </component>
+            </template>
+            <template slot="arrivalDatePlan" slot-scope="scope">
+              <component
+                v-bind="scope.attr"
+                v-model="scope.row[scope.item.key]"
+                :size="$attrs.size"
+                @change="changeDatePlan"
+              >
+              </component>
+            </template>
+            <template slot="note" slot-scope="scope">
+              <component
+                v-bind="scope.attr"
+                v-model="scope.row[scope.item.key]"
+                :size="$attrs.size"
+                @change="changeNote"
               >
               </component>
             </template>