Explorar el Código

预销售单菜单页面优化

yijing hace 1 año
padre
commit
aebaeeb548

+ 40 - 0
src/components/modalTitle.vue

@@ -0,0 +1,40 @@
+<template>
+  <div class="modalTitle">
+    <span>
+      {{ title }}
+    </span>
+    <i class="el-icon-full-screen" @click="fullscreen"></i>
+  </div>
+</template>
+
+<script>
+  export default {
+    components: {},
+    props: {
+      title: ''
+    },
+    data() {
+      return {};
+    },
+
+    methods: {
+      fullscreen() {
+        this.$emit('setFullscreen');
+      }
+    }
+  };
+</script>
+
+<style lang="scss" scoped>
+  .modalTitle {
+    width: 100%;
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    font-size: 16px;
+    i {
+      margin-right: 15px;
+      cursor: pointer;
+    }
+  }
+</style>

+ 83 - 78
src/components/statistics/PlanStatistics.vue

@@ -5,7 +5,7 @@
         <el-card shadow="hover" class="cardItem">
           <div>
             <div class="cardText">待排产计划数量</div>
-            <div class="cardNum">{{ planStatistics.waitPlanNum }}</div>
+            <div class="cardNum">{{ planStatistics.waitPlanNum || 0 }}</div>
           </div>
         </el-card>
       </el-col>
@@ -13,7 +13,7 @@
         <el-card shadow="hover" class="cardItem">
           <div>
             <div class="cardText">计划生产数量</div>
-            <div class="cardNum">{{ planStatistics.planNum }}</div>
+            <div class="cardNum">{{ planStatistics.planNum || 0 }}</div>
           </div>
         </el-card>
       </el-col>
@@ -21,7 +21,7 @@
         <el-card shadow="hover" class="cardItem">
           <div>
             <div class="cardText">已下发生产数量</div>
-            <div class="cardNum">{{ planStatistics.issueNum }}</div>
+            <div class="cardNum">{{ planStatistics.issueNum || 0 }}</div>
           </div>
         </el-card>
       </el-col>
@@ -37,7 +37,7 @@
         <el-card shadow="hover" class="cardItem">
           <div>
             <div class="cardText">待完工生产数量</div>
-            <div class="cardNum">{{ planStatistics.waitFinishNum }}</div>
+            <div class="cardNum">{{ planStatistics.waitFinishNum || 0 }}</div>
           </div>
         </el-card>
       </el-col>
@@ -53,7 +53,7 @@
         <el-card shadow="hover" class="cardItem">
           <div>
             <div class="cardText">已完工数量</div>
-            <div class="cardNum">{{ planStatistics.finishNum }}</div>
+            <div class="cardNum">{{ planStatistics.finishNum || 0 }}</div>
           </div>
         </el-card>
       </el-col>
@@ -61,7 +61,7 @@
         <el-card shadow="hover" class="cardItem">
           <div>
             <div class="cardText">已入库数量</div>
-            <div class="cardNum">{{ planStatistics.stockNum }}</div>
+            <div class="cardNum">{{ planStatistics.stockNum || 0 }}</div>
           </div>
         </el-card>
       </el-col>
@@ -70,86 +70,91 @@
 </template>
 
 <script>
-  import { getPlanStatistics } from '@/api/productionPlan';
+import { getPlanStatistics } from '@/api/productionPlan';
 
-  export default {
-    props: [],
-    data() {
-      return {
-        planStatistics: {
-          waitPlanNum: 0,
-          planNum: 0,
-          issueNum: 0,
-          waitFinishNum: 0,
-          finishNum: 0,
-          stockNum: 0
-        },
-        cardSpan: 3
-      };
-    },
-    created() {
-      this.getPlanStatistics();
-    },
-    methods: {
-      async getPlanStatistics() {
-        let res = await getPlanStatistics();
-        this.planStatistics = res;
-      }
+export default {
+  props: [],
+  data() {
+    return {
+      planStatistics: {
+        waitPlanNum: 0,
+        planNum: 0,
+        issueNum: 0,
+        waitFinishNum: 0,
+        finishNum: 0,
+        stockNum: 0
+      },
+      cardSpan: 3
+    };
+  },
+  created() {
+    this.getPlanStatistics();
+  },
+  methods: {
+    async getPlanStatistics() {
+      let res = await getPlanStatistics();
+      this.planStatistics = res;
     }
-  };
+  }
+};
 </script>
 
 <style scoped lang="scss">
-  // .statistics {
-  //   padding: 10px 10px 20px;
-  // }
-  // .cardItem {
-  //   border: 1px solid rgb(225, 225, 225);
-  //   text-align: center;
-  //   color: white;
-  //   background-color: rgba(24, 144, 255, 0.8);
-  // }
-  // .cardText {
-  //   font-size: 16px;
-  // }
-  // .cardNum {
-  //   font-size: 32px;
-  //   font-style: italic;
-  // }
-  .statistics {
-    padding: 10px 10px 20px;
-  }
-  .cardItem {
-    border: 1px solid rgb(225, 225, 225);
-    text-align: center;
-    color: white;
-    background-color: rgba(24, 144, 255, 0.8);
-    overflow: hidden;
-    padding: 10px;
-  }
+// .statistics {
+//   padding: 10px 10px 20px;
+// }
+// .cardItem {
+//   border: 1px solid rgb(225, 225, 225);
+//   text-align: center;
+//   color: white;
+//   background-color: rgba(24, 144, 255, 0.8);
+// }
+// .cardText {
+//   font-size: 16px;
+// }
+// .cardNum {
+//   font-size: 32px;
+//   font-style: italic;
+// }
+.statistics {
+  padding: 10px 10px 20px;
+}
+
+.cardItem {
+  border: 1px solid rgb(225, 225, 225);
+  text-align: center;
+  color: white;
+  background-color: rgba(24, 144, 255, 0.8);
+  overflow: hidden;
+  padding: 10px;
+}
+
+.cardText {
+  font-size: 16px;
+  white-space: nowrap;
+  text-overflow: ellipsis;
+  overflow: hidden;
+}
+
+.cardNum {
+  font-size: 32px;
+  font-style: italic;
+  white-space: nowrap;
+  text-overflow: ellipsis;
+  overflow: hidden;
+}
+
+@media (max-width: 768px) {
   .cardText {
-    font-size: 16px;
-    white-space: nowrap;
-    text-overflow: ellipsis;
-    overflow: hidden;
+    font-size: 14px;
   }
+
   .cardNum {
-    font-size: 32px;
-    font-style: italic;
-    white-space: nowrap;
-    text-overflow: ellipsis;
-    overflow: hidden;
+    font-size: 24px;
   }
-  @media (max-width: 768px) {
-    .cardText {
-      font-size: 14px;
-    }
+}
 
-    .cardNum {
-      font-size: 24px;
-    }
-  }
-  ::v-deep .el-card__body {
-    padding: 17px 12px !important;
-  }
+::v-deep .el-card__body {
+  padding: 17px 12px !important;
+}
 </style>

+ 4 - 0
src/styles/transition/common.scss

@@ -89,6 +89,10 @@
   margin-top: 5vh !important;
 }
 
+.fullscreen .is-fullscreen {
+  margin-top: 0px !important;
+}
+
 .el-table--medium .el-table__cell {
   padding: 2px 0 !important;
 }

+ 156 - 153
src/views/aps/capacity/index.vue

@@ -1,140 +1,95 @@
 <template>
-  <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="年份" prop="year">
-        <el-select v-model="queryParams.year"  placeholder="请选择年份" clearable>
-                <el-option v-for="item in  year_select" :key="item.value" :label="item.value" :value="item.value" ></el-option>
-        </el-select>
-      </el-form-item>
-      <el-form-item label="月份" prop="month">
-        <el-select v-model="queryParams.month"  placeholder="请选择月份" clearable>
-                  <el-option v-for="item in month_select" :key="item.value" :label="item.value" :value="item.value" ></el-option>
-                </el-select>
-      </el-form-item>
-
-      <el-form-item>
-        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
-      </el-form-item>
-    </el-form>
-
-    <el-row :gutter="10" class="mb8">
-      <el-col :span="1.5">
-        <el-button
-          type="primary"
-          plain
-          icon="el-icon-plus"
-          size="mini"
-          @click="handleAdd"
-
-        >新增</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="success"
-          plain
-          icon="el-icon-edit"
-          size="mini"
-          :disabled="single"
-          @click="handleUpdate"
-
-        >修改</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="danger"
-          plain
-          icon="el-icon-delete"
-          size="mini"
-          :disabled="multiple"
-          @click="handleDelete"
-
-        >删除</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="warning"
-          plain
-          icon="el-icon-download"
-          size="mini"
-          @click="handleExport"
-          :disabled="single"
-        >详情</el-button>
-      </el-col>
-
-    </el-row>
-
-    <el-table v-loading="loading" :data="capacityList" @selection-change="handleSelectionChange">
-      <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="序号" align="center" prop="id" />
-      <el-table-column label="年份" align="center" prop="year" />
-      <el-table-column label="月份" align="center" prop="month" />
-      <el-table-column label="规划产能(吨)" align="center" prop="plannedCapacity" />
-      <el-table-column label="工作日天数" align="center" prop="expandedCapacity" />
-      <el-table-column label="平均天产能(KG)" align="center" prop="averageDailyCapacity" />
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-edit"
-            @click="handleUpdate(scope.row)"
-
-          >修改</el-button>
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-delete"
-            @click="handleDelete(scope.row)"
-
-          >删除</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-
-
-
-
-    <!-- 添加或修改工厂月产能定义对话框 -->
-    <el-dialog :title="title" :visible.sync="open" width="70%" :close-on-click-modal="false" modal-append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="120px">
+  <div class="ele-body">
+    <el-card shadow="never" v-loading="loading">
+      <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
         <el-form-item label="年份" prop="year">
-          <el-select v-model="form.year"  placeholder="请选择年份">
-                  <el-option v-for="item in  year_select" :key="item.value" :label="item.value" :value="item.value" ></el-option>
+          <el-select v-model="queryParams.year" placeholder="请选择年份" clearable>
+            <el-option v-for="item in year_select" :key="item.value" :label="item.value"
+              :value="item.value"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="月份" prop="month">
-          <el-select v-model="form.month"  placeholder="请选择月份">
-            <el-option v-for="item in month_select" :key="item.value" :label="item.value" :value="item.value" ></el-option>
+          <el-select v-model="queryParams.month" placeholder="请选择月份" clearable>
+            <el-option v-for="item in month_select" :key="item.value" :label="item.value"
+              :value="item.value"></el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="规划产能(吨)" prop="plannedCapacity">
-          <el-input v-model="form.plannedCapacity" placeholder="请输入规划产能(吨)" />
-        </el-form-item>
-        <el-form-item label="工作日天数" prop="expandedCapacity">
-          <el-input v-model="form.expandedCapacity" placeholder="请输入工作日天数" />
-        </el-form-item>
 
+        <el-form-item>
+          <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+          <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+        </el-form-item>
       </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="getWorkDay">同步工作日</el-button>
-        <el-button type="primary" @click="submitForm">确 定</el-button>
-        <el-button @click="cancel">取 消</el-button>
-      </div>
-    </el-dialog>
-    <el-dialog :title="titleDetail" :visible.sync="openDetail" width="75%" append-to-body>
-      <el-table v-loading="loading" :data="factory_capacity_detailList" @selection-change="handleSelectionChange">
-        <el-table-column type="selection" width="55" align="center" />
-        <el-table-column label="序号" align="center" prop="id" />
-        <el-table-column label="年份" align="center" prop="year" />
-        <el-table-column label="月份" align="center" prop="month" />
-        <el-table-column label="日期" align="center" prop="day" />
-        <el-table-column label="规划产能(吨)" align="center" prop="plannedCapacity" />
-        <el-table-column label="已排产产能" align="center" prop="plannedSumCapacity" />
-        <el-table-column label="已排产单号" align="center" prop="plannedOrder" />
-        <el-table-column label="已排产产能" align="center" prop="plannedOrderCapacity" />
-      </el-table>
-    </el-dialog>
+
+      <ele-pro-table ref="tableRef" :columns="columns" :datasource="capacityList" :pageSize="20"
+        :pageSizes="[20, 30, 40, 50, 100]" row-key="id" @selection-change="handleSelectionChange">
+        <template v-slot:toolbar>
+          <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd">新增</el-button>
+          <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single"
+            @click="handleUpdate">修改</el-button>
+          <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple"
+            @click="handleDelete">删除</el-button>
+          <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
+            :disabled="single">详情</el-button>
+        </template>
+        <template v-slot:action="{ row }">
+          <el-link type="primary" :underline="false" icon="el-icon-edit" @click="handleUpdate(row)">
+            修改
+          </el-link>
+          <el-popconfirm class="ele-action" title='是否确认删除此数据?' @confirm="handleDelete(row)">
+            <template v-slot:reference>
+              <el-link type="danger" :underline="false" icon="el-icon-delete">
+                删除
+              </el-link>
+            </template>
+          </el-popconfirm>
+        </template>
+      </ele-pro-table>
+
+
+      <!-- 添加或修改工厂月产能定义对话框 -->
+      <el-dialog :title="title" :visible.sync="open" width="70%" :close-on-click-modal="false" modal-append-to-body>
+        <el-form ref="form" :model="form" :rules="rules" label-width="120px">
+          <el-form-item label="年份" prop="year">
+            <el-select v-model="form.year" placeholder="请选择年份">
+              <el-option v-for="item in year_select" :key="item.value" :label="item.value"
+                :value="item.value"></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="月份" prop="month">
+            <el-select v-model="form.month" placeholder="请选择月份">
+              <el-option v-for="item in month_select" :key="item.value" :label="item.value"
+                :value="item.value"></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="规划产能(吨)" prop="plannedCapacity">
+            <el-input v-model="form.plannedCapacity" placeholder="请输入规划产能(吨)" />
+          </el-form-item>
+          <el-form-item label="工作日天数" prop="expandedCapacity">
+            <el-input v-model="form.expandedCapacity" placeholder="请输入工作日天数" />
+          </el-form-item>
+
+        </el-form>
+        <div slot="footer" class="dialog-footer">
+          <el-button type="primary" @click="getWorkDay">同步工作日</el-button>
+          <el-button type="primary" @click="submitForm">确 定</el-button>
+          <el-button @click="cancel">取 消</el-button>
+        </div>
+      </el-dialog>
+      <el-dialog :title="titleDetail" :visible.sync="openDetail" width="75%" append-to-body>
+        <el-table v-loading="loading" :data="factory_capacity_detailList" @selection-change="handleSelectionChange">
+          <el-table-column type="selection" width="55" align="center" />
+          <el-table-column label="序号" align="center" prop="id" />
+          <el-table-column label="年份" align="center" prop="year" />
+          <el-table-column label="月份" align="center" prop="month" />
+          <el-table-column label="日期" align="center" prop="day" />
+          <el-table-column label="规划产能(吨)" align="center" prop="plannedCapacity" />
+          <el-table-column label="已排产产能" align="center" prop="plannedSumCapacity" />
+          <el-table-column label="已排产单号" align="center" prop="plannedOrder" />
+          <el-table-column label="已排产产能" align="center" prop="plannedOrderCapacity" />
+        </el-table>
+      </el-dialog>
+    </el-card>
   </div>
 </template>
 
@@ -150,21 +105,21 @@ export default {
   // dicts: ['year_select','month_select'],
   data() {
     return {
-      titleDetail:"工厂能力详情",
-      openDetail:false,
+      titleDetail: "工厂能力详情",
+      openDetail: false,
       // 遮罩层
       loading: true,
       // 选中数组
       ids: [],
-      scheduleList:[],
-      year_select:[
-        {"value":2025},{"value":2026},{"value":2027},{"value":2028}
-        ],
-      month_select:[
-        {"value":1},{"value":2},{"value":3},{"value":4},
-        {"value":5},{"value":6},{"value":7},{"value":8},
-        {"value":9},{"value":10},{"value":11},{"value":12},
-        ],
+      scheduleList: [],
+      year_select: [
+        { "value": 2025 }, { "value": 2026 }, { "value": 2027 }, { "value": 2028 }
+      ],
+      month_select: [
+        { "value": 1 }, { "value": 2 }, { "value": 3 }, { "value": 4 },
+        { "value": 5 }, { "value": 6 }, { "value": 7 }, { "value": 8 },
+        { "value": 9 }, { "value": 10 }, { "value": 11 }, { "value": 12 },
+      ],
       // 非单个禁用
       single: true,
       // 非多个禁用
@@ -195,7 +150,55 @@ export default {
       form: {},
       // 表单校验
       rules: {
-      }
+      },
+      columns: [
+        {
+          width: 45,
+          type: 'selection',
+          columnKey: 'selection',
+          align: 'center',
+          reserveSelection: true
+        },
+        {
+          prop: 'id',
+          label: '序号',
+          align: 'center',
+        },
+        {
+          prop: 'year',
+          label: '年份',
+          align: 'center',
+        },
+        {
+          prop: 'month',
+          label: '月份',
+          align: 'center',
+        },
+        {
+          prop: 'plannedCapacity',
+          label: '规划产能(吨)',
+          align: 'center',
+        },
+        {
+          prop: 'expandedCapacity',
+          label: '工作日天数',
+          align: 'center',
+        },
+        {
+          prop: 'averageDailyCapacity',
+          label: '平均天产能(KG)',
+          align: 'center',
+        },
+        {
+          columnKey: 'action',
+          label: '操作',
+          width: 150,
+          align: 'center',
+          resizable: false,
+          slot: 'action',
+          fixed: 'right'
+        }
+      ]
     };
   },
   created() {
@@ -205,13 +208,13 @@ export default {
     /** 查询APS月度班制排班列表 */
     getWorkDay() {
       this.loading = true;
-      listSchedule({"year":this.form.year,"month":this.form.month}).then(response => {
+      listSchedule({ "year": this.form.year, "month": this.form.month }).then(response => {
         this.scheduleList = response.data;
-       if (this.scheduleList==null||this.scheduleList.length==0) {
-         this.$message.success("没有配置工作日");
-         this.form.expandedCapacity = 0;
-       }
-       else this.form.expandedCapacity = this.scheduleList[0].workdayCount;
+        if (this.scheduleList == null || this.scheduleList.length == 0) {
+          this.$message.success("没有配置工作日");
+          this.form.expandedCapacity = 0;
+        }
+        else this.form.expandedCapacity = this.scheduleList[0].workdayCount;
       });
     },
     /** 查询工厂月产能定义列表 */
@@ -224,12 +227,12 @@ export default {
         this.loading = false;
       });
     },
-    resetForm (){
+    resetForm() {
       this.form.year = null;
       this.form.month = null;
-      this.form.plannedCapacity=  null;
-      this.form.expandedCapacity=null;
-      this.form.averageDailyCapacity=null;
+      this.form.plannedCapacity = null;
+      this.form.expandedCapacity = null;
+      this.form.averageDailyCapacity = null;
     },
     // 取消按钮
     cancel() {
@@ -261,7 +264,7 @@ export default {
     // 多选框选中数据
     handleSelectionChange(selection) {
       this.ids = selection.map(item => item.id)
-      this.single = selection.length!==1
+      this.single = selection.length !== 1
       this.multiple = !selection.length
     },
     /** 新增按钮操作 */
@@ -305,12 +308,12 @@ export default {
     /** 删除按钮操作 */
     handleDelete(row) {
       const ids = row.id || this.ids;
-      this.$confirm('是否确认删除工厂月产能定义编号为"' + ids + '"的数据项?').then(function() {
+      this.$confirm('是否确认删除工厂月产能定义编号为"' + ids + '"的数据项?').then(function () {
         return delCapacity(ids);
       }).then(() => {
         this.getList();
         this.$message.success("删除成功");
-      }).catch(() => {});
+      }).catch(() => { });
     },
     /** 导出按钮操作 */
     handleExport() {

+ 455 - 425
src/views/aps/presalesorder/index.vue

@@ -1,359 +1,252 @@
 <template>
-  <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="销售订单" prop="preSalesOrderNumber">
-        <el-input
-          v-model="queryParams.preSalesOrderNumber"
-          placeholder="请输入销售订单"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="客户代号" prop="customerCode">
-        <el-input
-          v-model="queryParams.customerCode"
-          placeholder="请输入客户代号"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="客户名称" prop="customerName">
-        <el-input
-          v-model="queryParams.customerName"
-          placeholder="请输入客户名称"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="产品编码" prop="productCode">
-        <el-input
-          v-model="queryParams.productCode"
-          placeholder="请输入产品编码"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="订单状态" prop="productCode">
-        <el-input
-          <el-switch v-model="queryParams.status" :active-value="1" :inactive-value="0" @change="handleQuery"></el-switch>
-      </el-form-item>
-
-      <el-form-item>
-        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
-
-        <!-- <el-button icon="el-icon-refresh" size="mini" @click="resetQueryUnplanned">只显示未排订单</el-button> -->
-      </el-form-item>
-    </el-form>
-
-    <el-row :gutter="10" class="mb8">
-      <el-col :span="1.5">
-        <el-button
-          type="primary"
-          plain
-          icon="el-icon-plus"
-          size="mini"
-          @click="handleAdd"
-
-        >新增</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="success"
-          plain
-          icon="el-icon-edit"
-          size="mini"
-          :disabled="single"
-          @click="handleUpdate"
-        >修改</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="danger"
-          plain
-          icon="el-icon-delete"
-          size="mini"
-          :disabled="multiple"
-          @click="handleDelete"
-        >删除</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="warning"
-          plain
-          icon="el-icon-download"
-          size="mini"
-          :disabled="single"
-          @click="handleExpect"
-        >交期预估</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="warning"
-          plain
-          icon="el-icon-download"
-          size="mini"
-          :disabled="multiple"
-          @click="handleAllExpect"
-        >全部预估</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button type="info" plain icon="el-icon-upload2" size="mini" @click="handleImport" >导入</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="warning"
-          plain
-          icon="el-icon-download"
-          size="mini"
-          @click="handleExport"
-        >导出</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="warning"
-          plain
-          icon="el-icon-download"
-          size="mini"
-          :disabled="single"
-          @click="handleSaleorder"
-        >转销售订单</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="warning"
-          plain
-          icon="el-icon-download"
-          size="mini"
-          @click="handleAllSaleorder"
-        >一次性转销售订单</el-button>
-      </el-col>
-    </el-row>
-
-    <el-table v-loading="loading" :data="salesorderList" @selection-change="handleSelectionChange">
-      <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="序号" align="center" prop="id" />
-      <el-table-column label="销售订单" align="center" prop="preSalesOrderNumber" />
-      <el-table-column label="客户代号" align="center" prop="customerCode" />
-      <el-table-column label="客户名称" align="center" prop="customerName" />
-      <el-table-column label="产品描述" align="center" prop="productDescription" />
-      <el-table-column label="产品编码" align="center" prop="productCode" />
-      <el-table-column label="订单数量" align="center" prop="orderQuantity" />
-      <el-table-column label="单位" align="center" prop="unit" />
-      <el-table-column label="重量" align="center" prop="weightKg" />
-      <el-table-column label="客户交期" align="center" prop="customerDeliveryDate" width="180">
-        <template slot-scope="scope">
-          <span>{{ scope.row.customerDeliveryDate }}</span>
+
+  <div class="ele-body">
+    <el-card shadow="never" v-loading="loading">
+      <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="80px"
+        class="ele-form-search">
+        <el-form-item label="销售订单" prop="preSalesOrderNumber">
+          <el-input v-model="queryParams.preSalesOrderNumber" placeholder="请输入销售订单" clearable
+            @keyup.enter.native="handleQuery" />
+        </el-form-item>
+        <el-form-item label="客户代号" prop="customerCode">
+          <el-input v-model="queryParams.customerCode" placeholder="请输入客户代号" clearable
+            @keyup.enter.native="handleQuery" />
+        </el-form-item>
+        <el-form-item label="客户名称" prop="customerName">
+          <el-input v-model="queryParams.customerName" placeholder="请输入客户名称" clearable
+            @keyup.enter.native="handleQuery" />
+        </el-form-item>
+        <el-form-item label="产品编码" prop="productCode">
+          <el-input v-model="queryParams.productCode" placeholder="请输入产品编码" clearable
+            @keyup.enter.native="handleQuery" />
+        </el-form-item>
+        <el-form-item label="订单状态" prop="productCode">
+          <el-switch v-model="queryParams.status" :active-value="1" :inactive-value="0"
+            @change="handleQuery"></el-switch>
+        </el-form-item>
+
+        <el-form-item>
+          <el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
+          <el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
+
+          <!-- <el-button icon="el-icon-refresh" size="mini" @click="resetQueryUnplanned">只显示未排订单</el-button> -->
+        </el-form-item>
+      </el-form>
+
+      <ele-pro-table ref="tableRef" :columns="columns" :datasource="salesorderList" :pageSize="20"
+        :pageSizes="[20, 30, 40, 50, 100]" row-key="id" @selection-change="handleSelectionChange" @reload="getList">
+        <template v-slot:toolbar>
+          <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd">新增</el-button>
+          <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single"
+            @click="handleUpdate">修改</el-button>
+          <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple"
+            @click="handleDelete">删除</el-button>
+          <el-button type="warning" plain icon="el-icon-download" size="mini" :disabled="single"
+            @click="handleExpect">交期预估</el-button>
+          <el-button type="warning" plain icon="el-icon-download" size="mini" :disabled="multiple"
+            @click="handleAllExpect">全部预估</el-button>
+          <el-button type="info" plain icon="el-icon-upload2" size="mini" @click="handleImport">导入</el-button>
+          <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport">导出</el-button>
+          <el-button type="success" plain icon="el-icon-download" size="mini" :disabled="single"
+            @click="handleSaleorder">转销售订单</el-button>
+          <el-button type="success" plain icon="el-icon-download" size="mini"
+            @click="handleAllSaleorder">一次性转销售订单</el-button>
         </template>
-      </el-table-column>
-      <el-table-column label="生产交期" align="center" prop="productionDeliveryDate" width="180">
-        <template slot-scope="scope">
-          <span>{{scope.row.productionDeliveryDate }}</span>
+        <!-- <template v-slot:status="{ row }">
+          {{ row.status ? '启用' : '停用' }}
+        </template> -->
+
+        <!-- 操作列 -->
+        <template v-slot:action="{ row }">
+          <el-link type="primary" :underline="false" icon="el-icon-edit" @click="handleUpdate(row)">
+            修改
+          </el-link>
+          <!-- <el-link type="danger" :underline="false" icon="el-icon-delete" @click="handleDelete(row)">
+            删除
+          </el-link> -->
+          <el-popconfirm class="ele-action" title='是否确认删除此数据?' @confirm="handleDelete(row)">
+            <template v-slot:reference>
+              <el-link type="danger" :underline="false" icon="el-icon-delete">
+                删除
+              </el-link>
+            </template>
+          </el-popconfirm>
         </template>
-      </el-table-column>
-      <el-table-column label="材料编码" align="center" prop="materialCode" />
-      <el-table-column label="材料描述" align="center" prop="materialDescription" />
-      <el-table-column label="物料数量" align="center" prop="materialQuantity" />
-      <el-table-column label="物料单位" align="center" prop="materialUnit" />
-      <el-table-column label="物料重量" align="center" prop="materialWeightKg" />
-      <el-table-column label="订单状态" align="center" prop="status" />
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-edit"
-            @click="handleUpdate(scope.row)"
-          >修改</el-button>
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-delete"
-            @click="handleDelete(scope.row)"
-          >删除</el-button>
+      </ele-pro-table>
+
+      <!-- 添加或修改销售订单对话框 -->
+      <el-dialog :title="titleExpect" :visible.sync="openExpect" width="70%" :close-on-click-modal="false"
+        modal-append-to-body :fullscreen="fullscreen" class="fullscreen">
+        <template slot="title">
+          <modalTitle :title="titleExpect" @setFullscreen="fullscreen = !fullscreen"></modalTitle>
         </template>
-      </el-table-column>
-    </el-table>
-
-
-
-<!-- 添加或修改销售订单对话框 -->
-    <el-dialog :title="titleExpect" :visible.sync="openExpect" width="70%" :close-on-click-modal="false" modal-append-to-body>
-
-      <el-table v-loading="loading" :data="salesorderExpectList" >
-        <el-table-column label="序号" align="center" prop="id" />
-        <el-table-column label="年份" align="center" prop="year" />
-        <el-table-column label="月份" align="center" prop="month" />
-        <el-table-column label="日期" align="center" prop="day" />
-        <el-table-column label="预计交付日期" align="center" prop="deliverDay" />
-        <el-table-column label="规划产能(吨)" align="center" prop="plannedCapacity" />
-        <el-table-column label="已排产产能" align="center" prop="plannedSumCapacity" />
-        <el-table-column label="未排产产能" align="center" prop="unplannedSumCapacity" />
-        <el-table-column label="本次排产产能" align="center" prop="currenPlannedSumCapacity" />
-        <el-table-column label="已排产单号列表" align="center" prop="plannedOrder" />
-        <el-table-column label="已排产产能列表" align="center" prop="plannedOrderCapacity" />
-      </el-table>
-      <div slot="footer" class="dialog-footer">
+        <el-table v-loading="loading" :data="salesorderExpectList">
+          <el-table-column label="序号" align="center" prop="id" />
+          <el-table-column label="年份" align="center" prop="year" />
+          <el-table-column label="月份" align="center" prop="month" />
+          <el-table-column label="日期" align="center" prop="day" />
+          <el-table-column label="预计交付日期" align="center" prop="deliverDay" />
+          <el-table-column label="规划产能(吨)" align="center" prop="plannedCapacity" />
+          <el-table-column label="已排产产能" align="center" prop="plannedSumCapacity" />
+          <el-table-column label="未排产产能" align="center" prop="unplannedSumCapacity" />
+          <el-table-column label="本次排产产能" align="center" prop="currenPlannedSumCapacity" />
+          <el-table-column label="已排产单号列表" align="center" prop="plannedOrder" />
+          <el-table-column label="已排产产能列表" align="center" prop="plannedOrderCapacity" />
+        </el-table>
+        <div slot="footer" class="dialog-footer">
           <el-button type="primary" :disabled="single" @click="submitFormExpect">确定交期</el-button>
           <el-button type="primary" :disabled="multiple" @click="submitFormAllExpect">确定所有交期</el-button>
           <el-button @click="cancelExpect">取 消</el-button>
-      </div>
-    </el-dialog>
-
-    <!-- 添加或修改销售订单对话框 -->
-    <el-dialog :title="title" :visible.sync="open" width="70%" :close-on-click-modal="false" modal-append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-        <el-row>
-          <el-col :span="8">
-            <el-form-item label="销售订单" prop="preSalesOrderNumber">
-              <el-input v-model="form.preSalesOrderNumber" placeholder="请输入销售订单" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="客户代号" prop="customerCode">
-              <el-input v-model="form.customerCode" placeholder="请输入客户代号" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="客户名称" prop="customerName">
-              <el-input v-model="form.customerName" placeholder="请输入客户名称" />
-            </el-form-item>
-          </el-col>
-        </el-row>
-
-        <el-row>
-          <el-col :span="8">
-            <el-form-item label="产品描述" prop="productDescription">
-              <el-input v-model="form.productDescription" type="textarea" placeholder="请输入内容" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="产品编码" prop="productCode">
-              <el-input v-model="form.productCode" placeholder="请输入产品编码" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="订单数量" prop="orderQuantity">
-              <el-input v-model="form.orderQuantity" placeholder="请输入订单数量" />
-            </el-form-item>
-          </el-col>
-        </el-row>
-
-        <el-row>
-          <el-col :span="8">
-            <el-form-item label="单位" prop="unit">
-              <el-input v-model="form.unit" placeholder="请输入单位" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="重量" prop="weightKg">
-              <el-input v-model="form.weightKg" placeholder="请输入重量" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="客户交期" prop="customerDeliveryDate">
-              <el-date-picker clearable
-                v-model="form.customerDeliveryDate"
-                type="date"
-                value-format="yyyy-MM-dd"
-                placeholder="请选择客户交期">
-              </el-date-picker>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="8">
-            <el-form-item label="生产交期" prop="productionDeliveryDate">
-              <el-date-picker clearable
-                v-model="form.productionDeliveryDate"
-                type="date"
-                value-format="yyyy-MM-dd"
-                placeholder="请选择生产交期">
-              </el-date-picker>
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="材料编码" prop="materialCode">
-              <el-input v-model="form.materialCode" placeholder="请输入材料编码" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="材料描述" prop="materialDescription">
-              <el-input v-model="form.materialDescription" type="textarea" placeholder="请输入内容" />
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="8">
-            <el-form-item label="物料数量" prop="materialQuantity">
-              <el-input v-model="form.materialQuantity" placeholder="请输入物料数量" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="物料单位" prop="materialUnit">
-              <el-input v-model="form.materialUnit" placeholder="请输入物料单位" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="物料重量" prop="materialWeightKg">
-              <el-input v-model="form.materialWeightKg" placeholder="请输入物料重量" />
-            </el-form-item>
-          </el-col>
-        </el-row>
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitForm">确 定</el-button>
-        <el-button @click="cancel">取 消</el-button>
-      </div>
-    </el-dialog>
-
-    <!-- 直报系统导入对话框 -->
-    <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
-
-    	<el-upload
-    	  class="avatar-uploader"
-    	  action="#"
-    	  :show-file-list="false"
-
-    	  :http-request="uploadFile"
-    	  :before-upload="beforeUpload"
-    	  :on-change="handleChange"
-    	  ref="uploadFile"
-    	>
-    	  <el-button type="warning" size="mini">批量导入</el-button>
-    	</el-upload>
-
-    </el-dialog>
+        </div>
+      </el-dialog>
+
+      <!-- 添加或修改销售订单对话框 -->
+      <el-dialog :title="title" :visible.sync="open" width="70%" :close-on-click-modal="false" modal-append-to-body>
+        <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+          <el-row>
+            <el-col :span="8">
+              <el-form-item label="销售订单" prop="preSalesOrderNumber">
+                <el-input v-model="form.preSalesOrderNumber" placeholder="请输入销售订单" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="客户代号" prop="customerCode">
+                <el-input v-model="form.customerCode" placeholder="请输入客户代号" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="客户名称" prop="customerName">
+                <el-input v-model="form.customerName" placeholder="请输入客户名称" />
+              </el-form-item>
+            </el-col>
+          </el-row>
+
+          <el-row>
+            <el-col :span="8">
+              <el-form-item label="产品描述" prop="productDescription">
+                <el-input v-model="form.productDescription" type="textarea" placeholder="请输入内容" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="产品编码" prop="productCode">
+                <el-input v-model="form.productCode" placeholder="请输入产品编码" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="订单数量" prop="orderQuantity">
+                <el-input v-model="form.orderQuantity" placeholder="请输入订单数量" />
+              </el-form-item>
+            </el-col>
+          </el-row>
+
+          <el-row>
+            <el-col :span="8">
+              <el-form-item label="单位" prop="unit">
+                <el-input v-model="form.unit" placeholder="请输入单位" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="重量" prop="weightKg">
+                <el-input v-model="form.weightKg" placeholder="请输入重量" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="客户交期" prop="customerDeliveryDate">
+                <el-date-picker clearable v-model="form.customerDeliveryDate" type="date" value-format="yyyy-MM-dd"
+                  placeholder="请选择客户交期">
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="8">
+              <el-form-item label="生产交期" prop="productionDeliveryDate">
+                <el-date-picker clearable v-model="form.productionDeliveryDate" type="date" value-format="yyyy-MM-dd"
+                  placeholder="请选择生产交期">
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="材料编码" prop="materialCode">
+                <el-input v-model="form.materialCode" placeholder="请输入材料编码" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="材料描述" prop="materialDescription">
+                <el-input v-model="form.materialDescription" type="textarea" placeholder="请输入内容" />
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="8">
+              <el-form-item label="物料数量" prop="materialQuantity">
+                <el-input v-model="form.materialQuantity" placeholder="请输入物料数量" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="物料单位" prop="materialUnit">
+                <el-input v-model="form.materialUnit" placeholder="请输入物料单位" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="物料重量" prop="materialWeightKg">
+                <el-input v-model="form.materialWeightKg" placeholder="请输入物料重量" />
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+        <div slot="footer" class="dialog-footer">
+          <el-button type="primary" @click="submitForm">确 定</el-button>
+          <el-button @click="cancel">取 消</el-button>
+        </div>
+      </el-dialog>
+
+      <!-- 直报系统导入对话框 -->
+      <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
+
+        <el-upload class="avatar-uploader" action="#" :show-file-list="false" :http-request="uploadFile"
+          :before-upload="beforeUpload" :on-change="handleChange" ref="uploadFile">
+          <el-button type="warning" size="mini">批量导入</el-button>
+        </el-upload>
+
+      </el-dialog>
+    </el-card>
+
   </div>
 </template>
 
 <script>
-import {createAll,createOrUpdate ,exportFile, importFile, listSalesorder, getSalesorder, delSalesorder, addSalesorder, updateSalesorder,listSalesorderExpect,occupyRes,listSalesorderOccupyRes,listSalesorderExpectAll,occupyAllRes} from "@/api/aps/presalesorder";
+import { createAll, createOrUpdate, exportFile, importFile, listSalesorder, getSalesorder, delSalesorder, addSalesorder, updateSalesorder, listSalesorderExpect, occupyRes, listSalesorderOccupyRes, listSalesorderExpectAll, occupyAllRes } from "@/api/aps/presalesorder";
 import { API_BASE_URL, TOKEN_HEADER_NAME, LAYOUT_PATH } from '@/config/setting';
- import { getToken, setToken } from '@/utils/token-util';
+import { getToken, setToken } from '@/utils/token-util';
 import { download } from '@/utils/request';
+
+import modalTitle from '@/components/modalTitle.vue';
 export default {
   name: "PreSalesorder",
+
+  components: { modalTitle },
   data() {
     return {
+      fullscreen: false,
       fileList: [],
-      isSubmitting:true,
+      isSubmitting: true,
       // 用户导入参数
       upload: {
-      	// 是否显示弹出层(用户导入)
-      	open: false,
-      	// 弹出层标题(用户导入)
-      	title: "",
-      	// 是否禁用上传
-      	isUploading: false,
-      	// 是否更新已经存在的用户数据
-      	updateSupport: 0,
-      	// 设置上传的请求头部
-      	// headers: {
-      	// 	Authorization: "Bearer " +getToken()
-      	// },
-      	// 上传的地址
-      	url: API_BASE_URL+ "/aps/presalesorder/importData"
+        // 是否显示弹出层(用户导入)
+        open: false,
+        // 弹出层标题(用户导入)
+        title: "",
+        // 是否禁用上传
+        isUploading: false,
+        // 是否更新已经存在的用户数据
+        updateSupport: 0,
+        // 设置上传的请求头部
+        // headers: {
+        // 	Authorization: "Bearer " +getToken()
+        // },
+        // 上传的地址
+        url: API_BASE_URL + "/aps/presalesorder/importData"
       },
       // 遮罩层
       loading: true,
@@ -370,7 +263,7 @@ export default {
       // 销售订单表格数据
       salesorderList: [],
       // 销售订单交期预估表格数据
-      salesorderExpectList:[],
+      salesorderExpectList: [],
       // 弹出层标题
       title: "",
       // 是否显示弹出层
@@ -383,7 +276,7 @@ export default {
       queryParams: {
         pageNum: 1,
         pageSize: 10,
-        page:1,
+        page: 1,
         preSalesOrderNumber: null,
         customerCode: null,
         customerName: null,
@@ -399,8 +292,139 @@ export default {
         materialQuantity: null,
         materialUnit: null,
         materialWeightKg: null,
-        status:null,
+        status: null,
       },
+      columns: [
+        {
+          width: 45,
+          type: 'selection',
+          columnKey: 'selection',
+          align: 'center',
+          reserveSelection: true
+        },
+        {
+          columnKey: 'index',
+          label: '序号',
+          type: 'index',
+          width: 55,
+          align: 'center',
+          showOverflowTooltip: true,
+          fixed: 'left'
+        },
+        {
+          prop: 'preSalesOrderNumber',
+          label: '销售订单',
+          showOverflowTooltip: true,
+          align: 'center',
+          width: 140,
+        },
+        {
+          prop: 'customerCode',
+          label: '客户代号',
+          showOverflowTooltip: true,
+          align: 'center',
+        },
+        {
+          prop: 'customerName',
+          label: '客户名称',
+          showOverflowTooltip: true,
+          align: 'center',
+          width: 140,
+        },
+        {
+          prop: 'productDescription',
+          label: '产品描述',
+          showOverflowTooltip: true,
+          align: 'center',
+          width: 140,
+        },
+        {
+          prop: 'productCode',
+          label: '产品编码',
+          showOverflowTooltip: true,
+          align: 'center',
+          width: 140,
+        },
+        {
+          prop: 'orderQuantity',
+          label: '订单数量',
+          showOverflowTooltip: true,
+          align: 'center',
+        },
+        {
+          prop: 'unit',
+          label: '单位',
+          showOverflowTooltip: true,
+          align: 'center',
+        },
+        {
+          prop: 'weightKg',
+          label: '重量',
+          showOverflowTooltip: true,
+          align: 'center',
+        },
+        {
+          prop: 'customerDeliveryDate',
+          label: '客户交期',
+          showOverflowTooltip: true,
+          align: 'center',
+          width: 140,
+        },
+        {
+          prop: 'productionDeliveryDate',
+          label: '生产交期',
+          showOverflowTooltip: true,
+          align: 'center',
+          width: 140,
+        },
+        {
+          prop: 'materialCode',
+          label: '材料编码',
+          showOverflowTooltip: true,
+          align: 'center',
+          width: 140,
+        },
+        {
+          prop: 'materialDescription',
+          label: '材料描述',
+          showOverflowTooltip: true,
+          align: 'center',
+          width: 140,
+        },
+        {
+          prop: 'materialQuantity',
+          label: '物料数量',
+          showOverflowTooltip: true,
+          align: 'center',
+        },
+        {
+          prop: 'materialUnit',
+          label: '物料单位',
+          showOverflowTooltip: true,
+          align: 'center',
+        },
+        {
+          prop: 'materialWeightKg',
+          label: '物料重量',
+          showOverflowTooltip: true,
+          align: 'center',
+        },
+        {
+          prop: 'status',
+          label: '订单状态',
+          showOverflowTooltip: true,
+          align: 'center',
+        },
+        {
+          columnKey: 'action',
+          label: '操作',
+          width: 150,
+          align: 'center',
+          resizable: false,
+          slot: 'action',
+          fixed: 'right'
+        }
+      ],
       // 表单参数
       form: {},
       // 表单校验
@@ -489,7 +513,7 @@ export default {
         materialQuantity: null,
         materialUnit: null,
         materialWeightKg: null,
-        status:null,
+        status: null,
       };
       //this.resetForm("form");
     },
@@ -512,7 +536,7 @@ export default {
     // 多选框选中数据
     handleSelectionChange(selection) {
       this.ids = selection.map(item => item.id)
-      this.single = selection.length!==1
+      this.single = selection.length !== 1
       this.multiple = !selection.length
     },
     /** 新增按钮操作 */
@@ -556,49 +580,49 @@ export default {
       });
     },
     /** 提交交期确定按钮 */
-     submitFormExpect() {
+    submitFormExpect() {
       const id = this.ids
       getSalesorder(id).then(response => {
         // console.log(response);
         let saleorder = response.data;
-        if (saleorder.status=="1"||saleorder.status=="2") {
+        if (saleorder.status == "1" || saleorder.status == "2") {
           this.$message.success("已经分配过资源");
           return;
         }
-        var i=0;
-        this.salesorderExpectList.forEach(item=>{
+        var i = 0;
+        this.salesorderExpectList.forEach(item => {
           i++;
-          item.plannedOrder = saleorder.preSalesOrderNumber+"-"+saleorder.materialCode+"";
+          item.plannedOrder = saleorder.preSalesOrderNumber + "-" + saleorder.materialCode + "";
           item.plannedOrderCapacity = item.currenPlannedSumCapacity;
-          item.plannedSumCapacity  = item.currenPlannedSumCapacity;
+          item.plannedSumCapacity = item.currenPlannedSumCapacity;
         });
 
-        var lastNode = this.salesorderExpectList[this.salesorderExpectList.length-1];
-          console.log(lastNode);
-          var productDay = lastNode.deliverDay;
-          saleorder.productionDeliveryDate = productDay;
-          console.log(saleorder.productionDeliveryDate);
-
-          var arr = [];
-          this.salesorderExpectList.forEach(item=>{
-            var node = {};
-            node.id = item.id;
-            node.createTime = item.createTime;
-            node.createUserId = item.createUserId;
-            node.year = item.year;
-            node.month = item.month;
-            node.day = item.day;
-            node.plannedCapacity = item.plannedCapacity;
-            node.unplannedSumCapacity = item.unplannedSumCapacity;
-            node.deliverDay = item.deliverDay;
-            node.currenPlannedSumCapacity = item.currenPlannedSumCapacity;
-            node.plannedSumCapacity = item.plannedSumCapacity;
-            node.plannedOrder = item.plannedOrder;
-            node.plannedOrderCapacity = item.plannedOrderCapacity;
-            node.plannedOrderDate = item.plannedOrderDate;
-            arr.push(node);
-          });
-         occupyRes(arr).then(response => {
+        var lastNode = this.salesorderExpectList[this.salesorderExpectList.length - 1];
+        console.log(lastNode);
+        var productDay = lastNode.deliverDay;
+        saleorder.productionDeliveryDate = productDay;
+        console.log(saleorder.productionDeliveryDate);
+
+        var arr = [];
+        this.salesorderExpectList.forEach(item => {
+          var node = {};
+          node.id = item.id;
+          node.createTime = item.createTime;
+          node.createUserId = item.createUserId;
+          node.year = item.year;
+          node.month = item.month;
+          node.day = item.day;
+          node.plannedCapacity = item.plannedCapacity;
+          node.unplannedSumCapacity = item.unplannedSumCapacity;
+          node.deliverDay = item.deliverDay;
+          node.currenPlannedSumCapacity = item.currenPlannedSumCapacity;
+          node.plannedSumCapacity = item.plannedSumCapacity;
+          node.plannedOrder = item.plannedOrder;
+          node.plannedOrderCapacity = item.plannedOrderCapacity;
+          node.plannedOrderDate = item.plannedOrderDate;
+          arr.push(node);
+        });
+        occupyRes(arr).then(response => {
           this.$message.success("占用成功");
 
           saleorder.status = "1";
@@ -613,9 +637,9 @@ export default {
 
       });
     },
-    submitFormAllExpect(){
+    submitFormAllExpect() {
       var arr = [];
-      this.salesorderExpectList.forEach(item=>{
+      this.salesorderExpectList.forEach(item => {
         var node = {};
         node.id = item.id;
         node.createTime = item.createTime;
@@ -645,12 +669,18 @@ export default {
     /** 删除按钮操作 */
     handleDelete(row) {
       const ids = row.id || this.ids;
-      this.$modal.confirm('是否确认删除销售订单编号为"' + ids + '"的数据项?').then(function() {
-        return delSalesorder(ids);
-      }).then(() => {
-        this.getList();
-        this.$message.success("删除成功");
-      }).catch(() => {});
+      this.$confirm(`是否确认删除销售订单编号为"${ids}"的数据项?`, '提示')
+        .then(() => {
+          delSalesorder(ids)
+            .then(() => {
+              this.getList();
+              this.$message.success("删除成功");
+            })
+            .catch((e) => {
+              console.log(e);
+            });
+        })
+        .catch(() => { });
     },
     /** 导出按钮操作 */
     handleExport() {
@@ -662,16 +692,16 @@ export default {
     },
 
 
-/** 转销售单按钮操作 */
+    /** 转销售单按钮操作 */
     handleAllSaleorder() {
 
-     this.loading = true;
-        let saleorder = {};
-        //如果是已经占用资源,则显示已经占用的资源,不能重复
-        createAll(saleorder).then(response => {
-          this.$message.success("转换成功");
-          this.loading = false;
-        });
+      this.loading = true;
+      let saleorder = {};
+      //如果是已经占用资源,则显示已经占用的资源,不能重复
+      createAll(saleorder).then(response => {
+        this.$message.success("转换成功");
+        this.loading = false;
+      });
     },
     /** 转销售单按钮操作 */
     handleSaleorder(row) {
@@ -681,17 +711,17 @@ export default {
         this.form = response.data;
         console.log(saleorder);
         //如果是已经占用资源,则显示已经占用的资源,不能重复
-        if (saleorder.status=="1"){
-            createOrUpdate(saleorder).then(response => {
-              this.$message.success("转换成功");
-            });
-            return;
+        if (saleorder.status == "1") {
+          createOrUpdate(saleorder).then(response => {
+            this.$message.success("转换成功");
+          });
+          return;
 
         }
-        else if (saleorder.status=="0"){
+        else if (saleorder.status == "0") {
           //如果没有
           this.$message.success("没有交期预估");
-        } else if (saleorder.status=="2") {
+        } else if (saleorder.status == "2") {
           //如果没有
           this.$message.success("已经转换过了");
         }
@@ -699,7 +729,7 @@ export default {
     },
 
     /*销售单交期预估*/
-    handleExpect(row){
+    handleExpect(row) {
       const id = row.id || this.ids
 
       getSalesorder(id).then(response => {
@@ -707,17 +737,17 @@ export default {
         this.form = response.data;
         console.log(saleorder);
         //如果是已经占用资源,则显示已经占用的资源,不能重复
-        if (saleorder.status=="1"||saleorder.status=="2"){
+        if (saleorder.status == "1" || saleorder.status == "2") {
 
           listSalesorderOccupyRes(saleorder).then(response => {
-              this.salesorderExpectList = response;
-              this.openExpect = true;
-              this.single = true;
-              this.multiple = true;
-            });
+            this.salesorderExpectList = response;
+            this.openExpect = true;
+            this.single = true;
+            this.multiple = true;
+          });
           return;
         }
-        else if (saleorder.status=="0"){
+        else if (saleorder.status == "0") {
 
           listSalesorderExpect(saleorder).then(response => {
             this.salesorderExpectList = response;
@@ -728,45 +758,45 @@ export default {
         }
       });
 
-     },
+    },
     //预览
-    handleAllExpect(){
+    handleAllExpect() {
 
-          listSalesorderExpectAll().then(response => {
+      listSalesorderExpectAll().then(response => {
 
-            this.salesorderExpectList = response;
-            this.openExpect = true;
-            this.single = true;
-            this.multiple = false;
-          });
+        this.salesorderExpectList = response;
+        this.openExpect = true;
+        this.single = true;
+        this.multiple = false;
+      });
     },
     /** 下载模板操作 */
     importTemplate() {
-    	this.download('aps/salesorder/importTemplate', {}, `user_template_${new Date().getTime()}.xlsx`)
+      this.download('aps/salesorder/importTemplate', {}, `user_template_${new Date().getTime()}.xlsx`)
     },
     /** 导入按钮操作 */
     handleImport() {
-    	this.upload.title = "销售订单数据导入";
-    	this.upload.open = true;
+      this.upload.title = "销售订单数据导入";
+      this.upload.open = true;
     },
     // 提交上传文件
     submitFileForm() {
-    	this.$refs.upload.submit();
+      this.$refs.upload.submit();
     },
     // 文件上传中处理
     handleFileUploadProgress(event, file, fileList) {
-    	this.upload.isUploading = true;
+      this.upload.isUploading = true;
     },
     // 文件上传成功处理
     handleFileSuccess(response, file, fileList) {
-    	this.upload.open = false;
-    	this.upload.isUploading = false;
-    	this.$refs.upload.clearFiles();
-    	this.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
-    		response.msg + "</div>", "导入结果", {
-    			dangerouslyUseHTMLString: true
-    		});
-    	this.getList();
+      this.upload.open = false;
+      this.upload.isUploading = false;
+      this.$refs.upload.clearFiles();
+      this.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
+        response.msg + "</div>", "导入结果", {
+        dangerouslyUseHTMLString: true
+      });
+      this.getList();
     },
   }
 };

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 470 - 624
src/views/aps_workday_schedule/schedule/index.vue


Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio