ysy před 1 rokem
rodič
revize
57ce6b8a69

+ 13 - 11
src/views/pick/pickApply/components/search.vue → src/views/pick/pickApply/components/pick-search.vue

@@ -1,6 +1,7 @@
 <!-- 搜索表单 -->
 <template>
-    <el-form label-width="90px" class="ele-form-search" @keyup.enter.native="search" @submit.native.prevent>
+    <el-form label-width="90px" class="ele-form-search"    @keyup.enter.native="search"
+    @submit.native.prevent>
         <el-row :gutter="15">
             <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
                 <el-form-item label="领料单:">
@@ -21,7 +22,7 @@
 
             <el-col  v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
                 <el-form-item label-width="0px">
-                    <el-button size="mini" type="primary" icon="el-icon-search" class="ele-btn-icon" @click="search">
+                    <el-button size="mini" type="primary" icon="el-icon-search" class="ele-btn-icon"   @click="search">
                         查询
                     </el-button>
                     <el-button size="mini" @click="reset" icon="el-icon-refresh-left" type="primary">重置</el-button>
@@ -61,15 +62,16 @@ export default {
 
     },
     methods: {
-        /* 搜索 */
-        search() {
-            this.$emit('search', this.where);
-        },
-        /*  重置 */
-        reset() {
-            this.where = { ...this.defaultWhere };
-            this.search();
-        },
+    
+      /* 搜索 */
+      search() {
+        this.$emit('search', this.where);
+      },
+      /*  重置 */
+      reset() {
+        this.where = { ...this.defaultWhere };
+        this.search();
+      }
 
 
     }

+ 73 - 49
src/views/pick/pickApply/index.vue

@@ -1,31 +1,19 @@
 <template>
   <div class="ele-body">
     <el-card shadow="never" v-loading="loading">
-      <search @search="reload" ref="searchRef"></search>
+      <pick-search @search="reload" ref="searchRef"> </pick-search>
+
+      <!-- 数据表格 -->
       <ele-pro-table
         ref="table"
         :columns="columns"
-        max-height="68vh"
         :datasource="datasource"
-        cache-key="pickingDetails"
-        highlight-current-row
-        @refresh="refresh"
+        row-key="id"
+        cache-key="pickKey"
+        :selection.sync="selection"
+        autoAmendPage
+        :parse-data="parseData"
       >
-        <template v-slot:status="{ row }">
-          <el-tag
-            :type="row.status == '0' ? 'danger' : 'success'"
-            effect="dark"
-            >{{
-              row.status == '0'
-                ? '未领料'
-                : row.status == '1'
-                ? '已领料'
-                : row.status == '2'
-                ? '已出库'
-                : ''
-            }}</el-tag
-          >
-        </template>
       </ele-pro-table>
     </el-card>
   </div>
@@ -33,33 +21,23 @@
 
 <script>
   import { getPage } from '@/api/pick/pickApply';
-  import search from './components/search.vue';
+
+  import pickSearch from './components/pick-search.vue';
 
   export default {
-    name: 'pickApply',
     components: {
-      search
+      pickSearch
     },
     data() {
       return {
-        dataList: [],
-        loading: false
+        // 加载状态
+        loading: false,
+        selection: []
       };
     },
-
     computed: {
-      // 表格列配置
       columns() {
         return [
-          {
-            columnKey: 'index',
-            label: '序号',
-            type: 'index',
-            width: 55,
-            align: 'center',
-            showOverflowTooltip: true
-          },
-
           {
             prop: 'code',
             label: '领料单编号',
@@ -67,14 +45,26 @@
           },
 
           {
-            prop: '',
+            prop: 'joinWorkOrderCode',
             label: '关联工单编号',
             align: 'center'
           },
 
           {
-            prop: '',
-            label: '仓库名称',
+            prop: 'joinWarehouseName',
+            label: '关联仓库名称',
+            align: 'center'
+          },
+
+          {
+            prop: 'joinWarehouseName',
+            label: '关联仓库名称',
+            align: 'center'
+          },
+
+          {
+            prop: 'joinReviewerName',
+            label: '关联审核人',
             align: 'center'
           },
 
@@ -108,23 +98,57 @@
         ];
       }
     },
-
+    created() {},
     methods: {
       /* 表格数据源 */
-      datasource({ page, limit, where }) {
-        return getPage({
+      async datasource({ page, limit, where }) {
+        let res = await getPage({
           ...where,
+
           pageNum: page,
           size: limit
         });
-      }
-    },
-    created() {},
 
-    reload(where) {
-      this.$refs.userList.reload(where);
+        return res;
+      },
+
+      /* 数据转为树形结构 */
+      parseData(data) {
+        return {
+          ...data,
+          list: this.$util.toTreeData({
+            data: data.list,
+            count: data.total,
+
+            idField: 'id',
+            parentIdField: 'parentId'
+          })
+        };
+      },
+
+      /* 数据转为树形结构 */
+
+      createSuccess() {
+        this.reload();
+      },
+      handleCreate() {
+        this.$refs.createRef.open(0);
+      },
+      // 发布工单
+      handleOrderPublish(type, row) {
+        this.$router.push({
+          path: '/produceOrder/report',
+          query: {
+            type,
+            id: row.id
+          }
+        });
+      },
+
+      /* 刷新表格 */
+      reload(where = {}) {
+        this.$refs.table.reload({ page: 1, where });
+      }
     }
   };
 </script>
-
-<style lang="scss" scoped></style>

+ 46 - 59
src/views/produceOrder/index.vue

@@ -27,7 +27,6 @@
         autoAmendPage
         :parse-data="parseData"
       >
-    
         <template v-slot:toolbar>
           <el-button type="success">新建</el-button>
           <el-button type="success">暂停</el-button>
@@ -58,42 +57,37 @@
 
         <template v-slot:priority="{ row }">
           <div style="display: flex">
-          <el-input
-            v-model="row.priority"
-            type="number"
-            size="mini"
-            :min="0"
-            :max="10"
-            @change="priorityChange(row)"
-            style="width: 80px"
-          ></el-input>
-          <el-popover
-            placement="right"
-            width="200"
-            trigger="hover"
-            content="数值越大优先级越高(0-3普通, 4-6优先, 7-10紧急)"
-          >
-            <div class="sort-wrap" slot="reference">
-              <i class="el-icon-caret-top" @click="sortTop(row)"></i>
-              <i class="el-icon-caret-bottom" @click="sortBottom(row)"></i>
-            </div>
-          </el-popover>
+            <el-input
+              v-model="row.priority"
+              type="number"
+              size="mini"
+              :min="0"
+              :max="10"
+              @change="priorityChange(row)"
+              style="width: 80px"
+            ></el-input>
+            <el-popover
+              placement="right"
+              width="200"
+              trigger="hover"
+              content="数值越大优先级越高(0-3普通, 4-6优先, 7-10紧急)"
+            >
+              <div class="sort-wrap" slot="reference">
+                <i class="el-icon-caret-top" @click="sortTop(row)"></i>
+                <i class="el-icon-caret-bottom" @click="sortBottom(row)"></i>
+              </div>
+            </el-popover>
           </div>
         </template>
 
         <template v-slot:formingNum="{ row }">
-          <span >
-            {{ row.formingNum }}  {{ row.unit }}
-          </span>
+          <span> {{ row.formingNum }} {{ row.unit }} </span>
         </template>
 
         <template v-slot:formingWeight="{ row }">
-          <span >
-            {{ row.formingNum }}  {{ row.weightUnit }}
-          </span>
+          <span> {{ row.formingNum }} {{ row.weightUnit }} </span>
         </template>
 
-
         <template v-slot:status="{ row }">
           <span :class="{ 'ele-text-danger': row.status == 3 }">
             {{ statusFormatter(row.status) }}
@@ -114,7 +108,7 @@
           >
           <template v-if="activeName != 'second'">
             <el-link
-              v-if="row.status == 4 "
+              v-if="row.status == 4"
               type="primary"
               :underline="false"
               icon="el-icon-truck"
@@ -132,7 +126,7 @@
               拆分
             </el-link>
             <el-link
-               v-if="row.status == 4 "
+              v-if="row.status == 4"
               type="primary"
               :underline="false"
               icon="el-icon-edit"
@@ -163,9 +157,7 @@
     updatePriority
   } from '@/api/produceOrder/index.js';
 
-  import {
-  fieldModel
-} from '@/api/produceWord/index.js';
+  import { fieldModel } from '@/api/produceWord/index.js';
   import produceOrderSearch from './components/produceOrder-search.vue';
   import createDialog from './components/createDialog.vue';
   import unpackDialog from './components/unpackDialog.vue';
@@ -175,7 +167,6 @@
   import printTg from './components/printTg';
   import { debounce } from 'lodash';
 
-
   export default {
     components: {
       produceOrderSearch,
@@ -254,7 +245,7 @@
             prop: 'batchNo',
             label: '批次号',
             align: 'center',
-            minWidth: 100,
+            minWidth: 100
           },
 
           {
@@ -318,7 +309,6 @@
             align: 'center'
           },
 
-
           {
             prop: 'priority',
             label: '优先级',
@@ -405,8 +395,7 @@
             label: '班组',
             align: 'center',
             showOverflowTooltip: true
-          },
-
+          }
         ];
       },
 
@@ -414,7 +403,7 @@
         return this.$store.state.user.info.clientEnvironmentId;
       }
     },
-    created(){
+    created() {
       this.getFieldModel();
     },
     methods: {
@@ -432,7 +421,6 @@
       },
       /* 表格数据源 */
       async datasource({ page, limit, where, order }) {
-      
         let res = await getPage({
           ...where,
           ...order,
@@ -471,16 +459,17 @@
 
       /* 数据转为树形结构 */
       parseData(data) {
-        return  {
+
+        return {
           ...data,
           list: this.$util.toTreeData({
-          data: data.list,
-          count: data.total,
+            data: data.list,
+            count: data.total,
 
-          idField: 'code',
-          parentIdField: 'originalCode'
-        })
-        }
+            idField: 'code',
+            parentIdField: 'originalCode'
+          })
+        };
       },
 
       /* 数据转为树形结构 */
@@ -502,21 +491,19 @@
         });
       },
 
-      
       getFieldModel() {
         fieldModel({ fieldModel: 't_main_category' }).then((res) => {
-
           const privateColumn = [
-          {
-            columnKey: 'action',
-            label: '操作',
-            width: 250,
-            align: 'center',
-            resizable: false,
-            fixed: 'right',
-            slot: 'action',
-            showOverflowTooltip: true
-          }
+            {
+              columnKey: 'action',
+              label: '操作',
+              width: 250,
+              align: 'center',
+              resizable: false,
+              fixed: 'right',
+              slot: 'action',
+              showOverflowTooltip: true
+            }
           ];
 
           let newRes = res.map((m) => {