ysy 1 год назад
Родитель
Сommit
c5116b40c6

+ 15 - 0
src/api/produceWord/index.js

@@ -45,3 +45,18 @@ export async function updatePriority(data) {
   }
   return Promise.reject(new Error(res.data.message));
 }
+
+
+
+
+
+// 动态表头
+export async function fieldModel(params) {
+  const res = await request.get(
+    `/main/fieldmodel/list`, { params }
+  );
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}

+ 8 - 0
src/views/produceOrder/components/produceOrder-search.vue

@@ -7,6 +7,13 @@
     @submit.native.prevent
   >
     <el-row :gutter="15">
+
+      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
+        <el-form-item label="关键字:">
+          <el-input clearable v-model="where.keyWord" placeholder="请输入" />
+        </el-form-item>
+      </el-col>
+
       <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
         <el-form-item label="生产工单号:">
           <el-input clearable v-model="where.code" placeholder="请输入" />
@@ -147,6 +154,7 @@ import { getteampage } from  '@/api/produceWord/index.js';
     data() {
       // 默认表单数据
       const defaultWhere = {
+        keyWord: '',
         code: '',
         productionPlanCode: '',
         produceRoutingName: '',

+ 43 - 15
src/views/produceOrder/index.vue

@@ -18,7 +18,7 @@
         ref="table"
         :key="activeName"
         :initLoad="false"
-        :columns="columns"
+        :columns="newColumns"
         :datasource="datasource"
         row-key="code"
         :cache-key="`${activeName}produceOrderTable`"
@@ -159,6 +159,10 @@
     cancelCompletion,
     updatePriority
   } from '@/api/produceOrder/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';
@@ -203,7 +207,8 @@
           { label: '外销计划', value: '2' },
           { label: '预制计划', value: '3' }
         ],
-        selection: []
+        selection: [],
+        newColumns: []
       };
     },
     computed: {
@@ -398,16 +403,6 @@
             showOverflowTooltip: true
           },
 
-          {
-            columnKey: 'action',
-            label: '操作',
-            width: 250,
-            align: 'center',
-            resizable: false,
-            fixed: 'right',
-            slot: 'action',
-            showOverflowTooltip: true
-          }
         ];
       },
 
@@ -415,9 +410,9 @@
         return this.$store.state.user.info.clientEnvironmentId;
       }
     },
-    // created(){
-    // 	 console.log('positiveIntegerReg',positiveIntegerReg)
-    // },
+    created(){
+      this.getFieldModel();
+    },
     methods: {
       handlePicking() {
         this.$router.push({
@@ -502,6 +497,39 @@
           }
         });
       },
+
+      
+      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
+          }
+          ];
+
+          let newRes = res.map((m) => {
+            return {
+              prop: 'extField.' + m.prop,
+              label: m.label,
+              align: 'center',
+              showOverflowTooltip: true
+            };
+          });
+
+          this.newColumns = [...this.columns, ...newRes, ...privateColumn];
+
+          this.$forceUpdate();
+        });
+      },
+
       // 完结与批量完结
       toEnd(row) {
         if (row) {

+ 8 - 0
src/views/produceWord/components/order-search.vue

@@ -7,6 +7,13 @@
     @submit.native.prevent
   >
     <el-row :gutter="15">
+
+      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
+        <el-form-item label="关键字:">
+          <el-input clearable v-model="where.keyWord" placeholder="请输入" />
+        </el-form-item>
+      </el-col>
+
       <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
         <el-form-item label="生产工单号:">
           <el-input clearable v-model="where.code" placeholder="请输入" />
@@ -119,6 +126,7 @@ import { getteampage } from  '@/api/produceWord/index.js';
     data () {
       // 默认表单数据
       const defaultWhere = {
+        keyWord: '',
         code: '',
         productionPlanCode: '',
         produceRoutingName: '',

+ 28 - 3
src/views/produceWord/index.vue

@@ -6,9 +6,10 @@
       <!-- 数据表格 -->
       <ele-pro-table
         ref="table"
-        :columns="columns"
+        :columns="newColumns"
         :datasource="datasource"
         cache-key="workOrderTable"
+        height="calc(100vh - 365px)"
         @sort-change="onSortChange"
       >
         <template v-slot:code="{ row }">
@@ -69,7 +70,8 @@
   import {
     getList,
     releaseWorkOrder,
-    updatePriority
+    updatePriority,
+    fieldModel
   } from '@/api/produceWord/index.js';
 
   import OrderSearch from './components/order-search.vue';
@@ -88,6 +90,8 @@
         },
         teamList: [],
 
+        newColumns: [],
+
         statusOpt: [
           { label: '待生产', value: 4 },
           { label: '生产中', value: 5 },
@@ -236,7 +240,9 @@
         ];
       }
     },
-    created() {},
+    created() {
+      this.getFieldModel();
+    },
     methods: {
       statusFormatter(status) {
         const obj = this.statusOpt.find((i) => i.value == status);
@@ -273,6 +279,25 @@
        
       },
 
+
+      getFieldModel() {
+        fieldModel({ fieldModel: 't_main_category' }).then((res) => {
+
+          let newRes = res.map((m) => {
+            return {
+              prop: 'extField.' + m.prop,
+              label: m.label,
+              align: 'center',
+              showOverflowTooltip: true
+            };
+          });
+
+          this.newColumns = [...this.columns, ...newRes];
+
+          this.$forceUpdate();
+        });
+      },
+
       sortTop(row) {
         row.priority = Number(row.priority) + 1;
         this.priorityChange(row);

+ 1 - 1
vue.config.js

@@ -33,7 +33,7 @@ module.exports = {
       '/api': {
         // target: 'http://124.71.68.31:50001',
         // target: 'http://192.168.1.125:18086',
-        target: 'http://192.168.1.116:18086',
+        target: 'http://192.168.1.125:18086',
 
         changeOrigin: true, // 只有这个值为true的情况下 才表示开启跨域
         pathRewrite: {