quwangxin 2 лет назад
Родитель
Сommit
2597c5e35b

+ 3 - 3
src/api/productionPlan/index.js

@@ -3,10 +3,10 @@ import request from '@/utils/request';
 /**
  * 列表
  */
-export async function getList (data) {
-  const res = await request.get('/aps/productionplan/page', data);
+export async function getList (params) {
+  const res = await request.get('/aps/productionplan/page', { params });
   if (res.data.code == 0) {
-    return res.data;
+    return res.data.data;
   }
   return Promise.reject(new Error(res.data.message));
 }

+ 1 - 1
src/styles/transition/common.scss

@@ -1,5 +1,5 @@
 .w100 {
-  width: 100%;
+  width: 100% !important;
 }
 // 页头
 .ele-body {

+ 42 - 43
src/views/productionPlan/components/productionPlan-search.vue

@@ -7,12 +7,12 @@
     @submit.native.prevent
   >
     <el-row :gutter="15">
-      <el-col v-bind="styleResponsive ? { lg: 5, md: 12 } : { span: 5 }">
+      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
         <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-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
         <el-form-item label="产品编码:">
           <el-input
             clearable
@@ -21,19 +21,24 @@
           />
         </el-form-item>
       </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 5, md: 12 } : { span: 5 }">
+      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
         <el-form-item label="牌号:" label-width="80px">
           <el-input clearable v-model="where.brandNo" placeholder="请输入" />
         </el-form-item>
       </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 5, md: 12 } : { span: 5 }">
+      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
         <el-form-item label="型号:" label-width="80px">
           <el-input clearable v-model="where.model" placeholder="请输入" />
         </el-form-item>
       </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 5, md: 12 } : { span: 5 }">
+      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
         <el-form-item label="计划类型:" label-width="80px">
-          <el-select clearable v-model="where.orderType" placeholder="请选择">
+          <el-select
+            clearable
+            v-model="where.orderType"
+            placeholder="请选择"
+            class="w100"
+          >
             <el-option
               v-for="item in planType"
               :label="item.label"
@@ -43,9 +48,14 @@
           </el-select>
         </el-form-item>
       </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 5, md: 12 } : { span: 5 }">
+      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
         <el-form-item label="计划状态:" label-width="80px">
-          <el-select clearable v-model="where.status" placeholder="请选择">
+          <el-select
+            clearable
+            v-model="where.status"
+            placeholder="请选择"
+            class="w100"
+          >
             <el-option
               v-for="item in statusOpt[activeName]"
               :label="item.label"
@@ -56,7 +66,7 @@
         </el-form-item>
       </el-col>
       <el-col v-bind="styleResponsive ? { lg: 9, md: 12 } : { span: 9 }">
-        <el-form-item label-width="100px">
+        <el-form-item label-width="150px">
           <template slot="label">
             <el-select
               v-model="deliveryVal"
@@ -72,6 +82,7 @@
             </el-select>
           </template>
           <el-date-picker
+            class="w100"
             v-model="where[deliveryVal]"
             type="daterange"
             range-separator="至"
@@ -83,8 +94,8 @@
           </el-date-picker>
         </el-form-item>
       </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 7, md: 12 } : { span: 7 }">
-        <el-form-item label="">
+      <el-col v-bind="styleResponsive ? { lg: 9, md: 12 } : { span: 9 }">
+        <el-form-item label="" label-width="150px">
           <template slot="label">
             <el-select
               v-model="shapeVal"
@@ -104,10 +115,11 @@
                 label="预测成型日期"
                 value="planFormingTime"
               ></el-option>
-              <el-option label="实际成型日期" value="formingTime"></el-option>
+              <!-- <el-option label="实际成型日期" value="formingTime"></el-option> -->
             </el-select>
           </template>
           <el-date-picker
+            class="w100"
             v-model="where[shapeVal]"
             type="daterange"
             range-separator="至"
@@ -119,9 +131,10 @@
           </el-date-picker>
         </el-form-item>
       </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 7, md: 12 } : { span: 7 }">
-        <el-form-item label="工单发布时间:">
+      <el-col v-bind="styleResponsive ? { lg: 9, md: 12 } : { span: 9 }">
+        <el-form-item label="工单发布时间:" label-width="150px">
           <el-date-picker
+            class="w100"
             v-model="where.releaseTime"
             type="daterange"
             range-separator="至"
@@ -133,7 +146,7 @@
           </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: 6, md: 12 } : { span: 6 }">
         <div class="ele-form-actions">
           <el-button
             type="primary"
@@ -154,7 +167,7 @@
 
 <script>
   export default {
-    props: ['activeName'],
+    props: ['activeName', 'statusOpt', 'planType'],
     data () {
       // 默认表单数据
       const defaultWhere = {
@@ -173,30 +186,10 @@
       };
       return {
         // 表单数据
-        deliveryVal: '',
-        shapeVal: '',
+        deliveryVal: 'deliveryTime',
+        shapeVal: 'requiredFormingTime',
         where: { ...defaultWhere },
-        treeData: [],
-        statusOpt: {
-          first: [
-            { label: '所有状态', value: '1,2' },
-            { label: '待发布', value: '1' },
-            { label: '发布状态', value: '2' }
-          ],
-          second: [
-            { label: '所有状态', value: '0,3,4,5,6' },
-            { label: '待排产', value: '0' },
-            { label: '待生产', value: '3' },
-            { label: '生产中', value: '4' },
-            { label: '已完成', value: '5' },
-            { label: '已延期', value: '6' }
-          ]
-        },
-        planType: [
-          { label: '所有计划类型', value: '0,1' },
-          { label: '内销计划', value: '0' },
-          { label: '外销计划', value: '1' }
-        ]
+        treeData: []
       };
     },
     computed: {
@@ -205,15 +198,21 @@
         return this.$store.state.theme.styleResponsive;
       }
     },
+    watch: {
+      activeName () {
+        this.search();
+      }
+    },
     created () {},
     methods: {
       /* 搜索 */
       search () {
         const where = this.where;
-
-        if (where.time?.length) {
-          where.startTime = where.time[0];
-          where.endTime = where.time[1];
+        for (const key in where) {
+          if (Array.isArray(where[key])) {
+            where[`${key}End`] = where[key][1];
+            where[key] = where[key][0];
+          }
         }
 
         this.$emit('search', where);

+ 39 - 4
src/views/productionPlan/index.vue

@@ -1,7 +1,13 @@
 <template>
   <div class="ele-body">
     <el-card shadow="never" v-loading="loading">
-      <productionPlan-search @search="reload" ref="searchRef">
+      <productionPlan-search
+        @search="reload"
+        ref="searchRef"
+        :statusOpt="statusOpt"
+        :planType="planType"
+        :activeName="activeName"
+      >
       </productionPlan-search>
       <el-tabs v-model="activeName" type="card" @tab-click="handleTabChange">
         <el-tab-pane label="未发布" name="first"></el-tab-pane>
@@ -55,7 +61,27 @@
         loading: false,
         pageType: 'add',
         dialogTitle: '',
-        isBindPlan: false
+        isBindPlan: false,
+        statusOpt: {
+          first: [
+            { label: '所有状态', value: '1,2' },
+            { label: '待发布', value: '1' },
+            { label: '发布状态', value: '2' }
+          ],
+          second: [
+            { label: '所有状态', value: '0,3,4,5,6' },
+            { label: '待排产', value: '0' },
+            { label: '待生产', value: '3' },
+            { label: '生产中', value: '4' },
+            { label: '已完成', value: '5' },
+            { label: '已延期', value: '6' }
+          ]
+        },
+        planType: [
+          { label: '所有计划类型', value: '0,1' },
+          { label: '内销计划', value: '0' },
+          { label: '外销计划', value: '1' }
+        ]
       };
     },
     computed: {
@@ -192,7 +218,10 @@
             label: '计划类型',
             align: 'center',
             showOverflowTooltip: true,
-            minWidth: 110
+            formatter: (row) => {
+              const obj = this.planType.find((i) => i.value == row.orderType);
+              return obj && obj.label;
+            }
           },
           {
             prop: 'createTime',
@@ -205,7 +234,13 @@
             prop: 'planStatus',
             label: '状态',
             align: 'center',
-            minWidth: 110
+            minWidth: 110,
+            formatter: (row) => {
+              const obj = this.statusOpt[this.activeName].find(
+                (i) => i.value == row.orderType
+              );
+              return obj && obj.label;
+            }
           },
           ...(this.activeName === 'second'
             ? [

+ 2 - 1
vue.config.js

@@ -31,7 +31,8 @@ module.exports = {
     proxy: {
       // 当我们的本地的请求 有/api的时候,就会代理我们的请求地址向另外一个服务器发出请求
       '/api': {
-        target: 'http://192.168.3.35:8080', // kang杨威
+        // target: 'http://192.168.3.35:8080', // kang杨威
+        target: 'http://192.168.3.38:8080', // 陈潇
         // target: 'http://192.168.3.25:8080', // 黄峥嵘
         // target: 'http://192.168.3.41:8080', // 何江鹏
         // target: 'http://192.168.3.33:8080', // 谢一平