Bläddra i källkod

采购订单维护优化

002390 1 år sedan
förälder
incheckning
8adc624339

+ 5 - 4
src/views/material/changeApply/index.vue

@@ -116,12 +116,13 @@ export default {
   data() {
     const { TableColumns, SearchColumns } = useColumns();
     const params = this.$init.params(SearchColumns);
+    const page = this.$init.page();
     return {
       loading: false,
       size: "mini",
       tableList: [],
       TableColumns: TableColumns,
-      page: { pageNum: 1, pageSize: 50, total: 0 },
+      page: page,
       params: params,
       SearchColumns: SearchColumns,
       optionType: "add",
@@ -167,8 +168,9 @@ export default {
     },
 
     useReset() {
-      this.page.pageNum = 1;
-      this.page.pageSize = 50;
+      // this.page.pageNum = 1;
+      // this.page.pageSize = 50;
+      this.page = this.$init.page();
       this.params = this.$init.params(this.SearchColumns);
       this.useQuery(this.params, this.page);
     },
@@ -222,7 +224,6 @@ export default {
 
           if (code == 200) {
             this.$notify.success({
-              // title: '成功',
               message: msg,
             });
             await this.useQuery(this.params, this.page);

+ 35 - 58
src/views/purchase/purchase-order/add/index.vue

@@ -32,10 +32,6 @@ NewTabColumns.forEach((column) => {
 export default {
   name: "AddPurchaseOrderDrawer",
   props: {
-    // roles:{
-    //   type:[Array,String,Object],
-    //   require:true,
-    // }
   },
   dicts: initDicts(SelectColumns),
   components: {
@@ -65,6 +61,7 @@ export default {
       isCopy: false,
       tableData: [], //虚拟滚动加载显示的数据
       rowHeight: 60,
+      size: "mini",
     };
   },
   computed: {
@@ -116,7 +113,6 @@ export default {
     // },
     "params.billType": {
       handler(nVal, oVal) {
-        // let billList = ['21-Cxx-02','21-Cxx-04','21-Cxx-10','21-Cxx-14','21-Cxx-09','21-Cxx-17','21-Cxx-18'];
         let billList = ["21-Cxx-02", "21-Cxx-04", "21-Cxx-10", "21-Cxx-14"];
 
         this.params.warehouse = "";
@@ -142,7 +138,6 @@ export default {
     },
     "params.isBack": {
       handler(nVal, oVal) {
-        console.log(nVal, "val");
         if (nVal === "Y") {
           this.rules.retReasonName = [
             { required: true, message: "退换原因不能为空", trigger: "change" },
@@ -397,7 +392,6 @@ export default {
           //     return false
 
           //  }
-          //  console.log(isPrice,'isPrice');
           cb();
         } else {
           this.$notify.error({
@@ -551,8 +545,30 @@ export default {
     },
 
     // 子表参照改变之后
-    async handleTabReferChange(val, type, source) {
-      // console.log(val,'val');
+    async handleTabReferChange(val, props, source) {
+      let { type, copy, dataMapping } = props;
+      let { params, tabName } = this;
+      console.log(val, "val", props, "props", source, "source");
+
+      // // 复制
+      // if (copy) {
+      //   if (type == "MATERIAL_PARAM") {
+      //     for (let i = 1; i < val.length; i++) {
+      //       this.addTableRow(params[tabName]);
+      //     }
+
+      //     let value = val.map((item) => {
+      //       let columnValue = {};
+
+      //       for (let key in dataMapping) {
+      //         columnValue[key] = item[dataMapping[key]];
+      //       }
+
+      //       return columnValue;
+      //     });
+      //   }
+      // }
+
       // 触发物料参照询价
       if (type == "MATERIAL_PARAM" && source.qty && source.qty != "") {
         source["qty"] = 0;
@@ -652,10 +668,8 @@ export default {
         });
 
         if (code == 200) {
-          // console.log(data,'data*----------******');
 
           this.params = { ...data };
-          // console.log(this.params,'this.params----------------------');
         }
       } catch (error) {}
     },
@@ -682,39 +696,6 @@ export default {
         let { code, data } = await orderApi.orderImport(formData);
 
         if (code == 200) {
-          // this.tabLoading = true;
-          // puOrderExecuteList puOrderItemList
-
-          // let size = 20;
-          // let num = 1;
-          // let total = Math.ceil(data['puOrderItemList'].length / size);
-
-          // let resultData = {...data};
-
-          // let intervalPush = setInterval(()=>{
-
-          //   if(num > total){
-
-          //     clearInterval(intervalPush);
-
-          //     this.tabLoading = false;
-
-          //     this.handleGetPrice();
-          //   }
-
-          //   for (const key in resultData) {
-
-          //     resultData[key].slice(size*(num-1), (size*num) ).forEach(item =>{
-
-          //       this.params[key].push(item);
-
-          //     })
-
-          //   }
-
-          //   num++;
-
-          // },200);
 
           for (const key in data) {
             this.params[key].push(...data[key]);
@@ -740,11 +721,6 @@ export default {
       );
     },
 
-    // judgeRole(){
-    //   let {roles} = this.$store.state.user;
-    //   let role =  roles.find(item => item === "syfz-purchaseorder") || "procurementManager";
-    //   return role;
-    // },
     getSummaries({ columns, data }) {
       const means = []; // 合计
       let { tabColumns, tabName } = this;
@@ -806,7 +782,7 @@ export default {
     v-loading="loading"
   >
     <el-form
-      size="mini"
+      :size="size"
       label-position="right"
       ref="orderAddForm"
       class="orderAddForm"
@@ -833,10 +809,10 @@ export default {
         >
           <h3>新增</h3>
           <div style="text-align: right">
-            <el-button size="mini" type="primary" @click="handleSava"
+            <el-button :size="size" type="primary" @click="handleSava"
               >保存</el-button
             >
-            <el-button size="mini" @click="handleCancel">取消</el-button>
+            <el-button :size="size" @click="handleCancel">取消</el-button>
           </div>
         </div>
         <el-row style="display: flex; flex-wrap: wrap">
@@ -990,7 +966,7 @@ export default {
               show-overflow
               beautify-table
               :ref="column.key"
-              :size="'mini'"
+              :size="size"
               :height="tabHeight"
               style="width: 100%"
               :data="params[column.key]"
@@ -1026,7 +1002,7 @@ export default {
                       :placeholder="cColumn.placeholder"
                       :clearable="cColumn.clearable"
                       :disabled="cColumn.disabled"
-                      size="mini"
+                      :size="size"
                       style="width: 100%"
                     ></el-input>
 
@@ -1040,6 +1016,7 @@ export default {
                       :type="cColumn.referName"
                       :disabled="cColumn.disabled"
                       :multiple="cColumn.multiple"
+                      :copy="cColumn.copy"
                       :placeholder="cColumn.placeholder"
                       :data-mapping="cColumn.dataMapping"
                       :query-params="
@@ -1063,7 +1040,7 @@ export default {
                       :placeholder="cColumn.placeholder"
                       :controls-position="cColumn.controlsPosition"
                       :min="cColumn.key === 'reservedQty' ? 0 : -Infinity"
-                      size="mini"
+                      :size="size"
                       style="width: 100%"
                       @change="handleInputChange(scope.row, cColumn.key)"
                     ></el-input-number>
@@ -1072,7 +1049,7 @@ export default {
                       v-if="cColumn.inputType === 'Select'"
                       v-model="scope.row[cColumn.key]"
                       filterable
-                      size="mini"
+                      :size="size"
                       :disabled="cColumn.disabled"
                       :clearable="cColumn.clearable"
                       :placeholder="cColumn.placeholder"
@@ -1106,7 +1083,7 @@ export default {
                       delTableRow(params[tabName], scope.row, tabName)
                     "
                     type="text"
-                    size="small"
+                    :size="size"
                   >
                     删行
                   </el-button>
@@ -1116,7 +1093,7 @@ export default {
           </el-tab-pane>
         </el-tabs>
         <el-row style="position: absolute; top: 20px; right: 20px">
-          <el-button size="mini" @click="addTableRow(params[tabName])"
+          <el-button :size="size" @click="addTableRow(params[tabName])"
             >增行</el-button
           >
 

+ 6 - 42
src/views/purchase/purchase-order/edit/index.vue

@@ -96,7 +96,6 @@ export default {
     // },
     "params.billType": {
       handler(nVal, oVal) {
-        // let billList = ['21-Cxx-02','21-Cxx-04','21-Cxx-10','21-Cxx-14','21-Cxx-09','21-Cxx-17','21-Cxx-18'];
         let billList = ["21-Cxx-02", "21-Cxx-04", "21-Cxx-10", "21-Cxx-14"];
 
         if (billList.find((item) => item === nVal)) {
@@ -116,7 +115,6 @@ export default {
     },
     "params.isBack": {
       handler(nVal, oVal) {
-        console.log(nVal, "val");
         if (nVal === "Y") {
           this.rules.retReasonName = [
             { required: true, message: "退换原因不能为空", trigger: "change" },
@@ -319,7 +317,6 @@ export default {
           //     return false
 
           //  }
-          //  console.log(isPrice,'isPrice');
           cb();
         } else {
           _this.$notify.error({
@@ -656,40 +653,7 @@ export default {
         let { code, data } = await orderApi.orderImport(formData);
 
         if (code == 200) {
-          // this.tabLoading = true;
-          // // puOrderExecuteList puOrderItemList
-
-          // let size = 20;
-          // let num = 1;
-          // let total = Math.ceil(data['puOrderItemList'].length / size);
-
-          // let resultData = {...data};
-
-          // let intervalPush = setInterval(()=>{
-
-          //   if(num > total){
-
-          //     clearInterval(intervalPush);
-
-          //     this.tabLoading = false;
-
-          //     this.handleGetPrice();
-          //   }
-
-          //   for (const key in resultData) {
-
-          //     resultData[key].slice(size*(num-1), (size*num) ).forEach(item =>{
-
-          //       this.params[key].push(item);
-
-          //     })
-
-          //   }
-
-          //   num++;
-
-          // },200);
-
+          
           for (const key in data) {
             this.params[key].push(...data[key]);
           }
@@ -828,7 +792,7 @@ export default {
               <dr-popover-select
                 v-if="column.inputType === 'PopoverSelect'"
                 v-model="params[column.key]"
-                size="mini"
+                :size="size"
                 :value-key="column.valueKey"
                 :source.sync="params"
                 :title="column.title"
@@ -954,7 +918,7 @@ export default {
               show-overflow
               beautify-table
               :ref="column.key"
-              :size="'mini'"
+              :size="size"
               :height="tabHeight"
               style="width: 100%"
               :data="params[column.key].filter((item) => item.delFlag === '0')"
@@ -1017,14 +981,14 @@ export default {
                               pkOrg: params.puOrg,
                             })
                       "
-                      size="mini"
+                      :size="size"
                       @change="handleTabReferChange"
                     ></dr-popover-select>
 
                     <el-select
                       v-if="cColumn.inputType === 'Select'"
                       v-model="scope.row[cColumn.key]"
-                      size="mini"
+                      :size="size"
                       :disabled="cColumn.disabled"
                       :clearable="cColumn.clearable"
                       :placeholder="cColumn.placeholder"
@@ -1080,7 +1044,7 @@ export default {
                       delTableRow(params[tabName], scope.row, tabName)
                     "
                     type="text"
-                    size="small"
+                    :size="size"
                   >
                     删行
                   </el-button>

+ 15 - 19
src/views/purchase/purchase-order/index.vue

@@ -40,10 +40,11 @@ export default {
   },
   data() {
     const initTabColumns = () => TabColumns;
+    const page = this.$init.page();
     return {
       loading: false,
       tabLoading: false,
-      page: { pageNum: 1, pageSize: 10, total: 0 },
+      page: page,
       searchColumns: SearchColumns,
       params: initParams(SearchColumns),
       // tableColumns: TableColumns,
@@ -163,6 +164,12 @@ export default {
       try {
         this.loading = true;
 
+        let { date } = data;
+
+        data.startDate = date ? date[0] : "";
+
+        data.endDate = date ? date[1] : "";
+
         params["isAsc"] = "desc";
 
         params["orderByColumn"] = "updateTime";
@@ -241,9 +248,10 @@ export default {
 
     // 刷新操作
     handleRefreshList() {
-      this.page.pageNum = 1;
+      // this.page.pageNum = 1;
 
-      this.page.pageSize = 10;
+      // this.page.pageSize = 10;
+      this.page = this.$init.page();
       this.$refs.purchaseTable.$refs.superTable &&
         this.$refs.purchaseTable.$refs.superTable.clearSelection();
 
@@ -261,21 +269,9 @@ export default {
 
       this.fetchList(this.params, this.page);
     },
-    // 查询操作
-    handleQueryList() {
-      let { date } = this.params;
-
-      this.params.startDate = date ? date[0] : "";
-
-      this.params.endDate = date ? date[1] : "";
-
-      this.fetchList(this.params, this.page);
-    },
     // 重置操作
     handleResetList() {
-      this.page.pageNum = 1;
-
-      this.page.pageSize = 10;
+      this.page = this.$init.page();
 
       this.params = initParams(SearchColumns);
 
@@ -691,7 +687,7 @@ export default {
       :dict="dict"
       :columns="searchColumns"
       @reset="handleResetList"
-      @submit="handleQueryList"
+      @submit="fetchList(params, page)"
     ></el-super-search>
 
     <!-- 操作 -->
@@ -753,7 +749,7 @@ export default {
           <zp-button
             :size="size"
             :select-data="checkedList"
-            @success="handleQueryList"
+            @success="fetchList(params, page)"
           >
           </zp-button>
           <zpjl-button :size="size" :select-data="checkedList"> </zpjl-button>
@@ -838,7 +834,7 @@ export default {
             @click.stop="jumpFlow(scope.row)"
             >流程跳转</el-button
           >
-          <!-- <Retrieve :data="handelRetrieve(scope.row)" @success="handleQueryList"></Retrieve> -->
+          <!-- <Retrieve :data="handelRetrieve(scope.row)" @success="fetchList(params, page)"></Retrieve> -->
         </template>
       </ux-table-column>
     </el-super-ux-table>

+ 12 - 22
src/views/purchase/purchase-order/see/index.vue

@@ -55,6 +55,7 @@ export default {
       tabColumns: NewTabColumns,
       tabName: "puOrderItemList",
       tableData: [], //虚拟滚动加载显示的数据
+      size: "mini",
     };
   },
   computed: {
@@ -120,7 +121,6 @@ export default {
     },
     // 发送NC
     async handleSendNC() {
-      console.log("发送NC");
 
       try {
         let { code } = await orderApi.toNc({ puOrderId: this.params.id });
@@ -203,7 +203,7 @@ export default {
     v-loading="loading"
   >
     <el-form
-      size="mini"
+      :size="size"
       label-position="right"
       label-width="140px"
       :model="params"
@@ -229,9 +229,8 @@ export default {
         >
           <h3>查看</h3>
           <div style="text-align: right">
-            <!-- <FilePrint :id="params.id"></FilePrint> -->
             <FilePrint v-model="printData"></FilePrint>
-            <el-button size="mini" @click="handleRefresh">刷新</el-button>
+            <el-button :size="size" @click="handleRefresh">刷新</el-button>
             <template v-if="judgeIsToNC()">
               <el-tooltip
                 class="box-item"
@@ -243,7 +242,7 @@ export default {
                 <el-button
                   :key="params.deliveryStatus"
                   :disabled="params.deliveryStatus === '1'"
-                  size="mini"
+                  :size="size"
                   type="primary"
                   @click="handleSendNC"
                   >{{
@@ -257,7 +256,7 @@ export default {
               </el-tooltip>
             </template>
 
-            <el-button size="mini" @click="handleCancel">取 消</el-button>
+            <el-button :size="size" @click="handleCancel">取 消</el-button>
           </div>
         </div>
         <el-row style="display: flex; flex-wrap: wrap">
@@ -314,7 +313,7 @@ export default {
                 v-if="column.inputType === 'Select'"
                 v-model="params[column.key]"
                 disabled
-                size="mini"
+                :size="size"
                 :clearable="column.clearable"
                 :placeholder="column.placeholder"
                 style="width: 100%"
@@ -397,14 +396,7 @@ export default {
             :label="column.title"
             :name="column.key"
           >
-            <!-- <virtual-scroll 
-              :data="params[column.key].filter(item => item.delFlag === '0')" 
-              :item-size="53" 
-              :key-prop="column.key === 'puOrderItemList' ? 'rowNo' :'rowno'" 
-              @change="(virtualList) => tableData = virtualList" 
-              :virtualized="true"
-            >
-              <template slot-scope="{ headerCellFixedStyle, cellFixedStyle }"> -->
+           
             <ux-grid
               border
               use-virtual
@@ -412,7 +404,7 @@ export default {
               show-summary
               show-overflow
               beautify-table
-              :size="'mini'"
+              :size="size"
               :ref="column.key"
               :height="tabHeight"
               style="width: 100%"
@@ -453,7 +445,7 @@ export default {
                       :placeholder="cColumn.placeholder"
                       :clearable="cColumn.clearable"
                       readonly
-                      size="mini"
+                      :size="size"
                       style="width: 100%"
                     ></el-input>
 
@@ -470,7 +462,7 @@ export default {
                       :placeholder="cColumn.placeholder"
                       :data-mapping="cColumn.dataMapping"
                       :query-params="cColumn.queryParams"
-                      size="mini"
+                      :size="size"
                     ></dr-popover-select>
 
                     <el-input-number
@@ -481,7 +473,7 @@ export default {
                       :placeholder="cColumn.placeholder"
                       :clearable="cColumn.clearable"
                       disabled
-                      size="mini"
+                      :size="size"
                       style="width: 100%"
                     ></el-input-number>
 
@@ -489,7 +481,7 @@ export default {
                       v-if="cColumn.inputType === 'Select'"
                       v-model="scope.row[cColumn.key]"
                       disabled
-                      size="mini"
+                      :size="size"
                       :clearable="cColumn.clearable"
                       :placeholder="cColumn.placeholder"
                       style="width: 100%"
@@ -513,8 +505,6 @@ export default {
                 </template>
               </ux-table-column>
             </ux-grid>
-            <!-- </template>
-          </virtual-scroll> -->
           </el-tab-pane>
         </el-tabs>
       </el-card>