浏览代码

Merge branch 'purchaseDev' into 'dev'

Purchase dev

See merge request new-business/drp-web!263
黄梓星 1 年之前
父节点
当前提交
bf07f1017d
共有 42 个文件被更改,包括 2183 次插入1234 次删除
  1. 25 25
      src/api/login.js
  2. 8 9
      src/assets/styles/element-ui.scss
  3. 10 0
      src/assets/styles/font.scss
  4. 29 20
      src/assets/styles/index.scss
  5. 23 0
      src/assets/styles/margin.scss
  6. 23 0
      src/assets/styles/padding.scss
  7. 4 3
      src/components/popover-select-v2/index.vue
  8. 4 3
      src/components/popover-select-v2/multiple.vue
  9. 4 3
      src/components/popover-select/index.vue
  10. 4 3
      src/components/popover-tree-select/index.vue
  11. 4 3
      src/components/popover-tree-select/multiple.vue
  12. 1 1
      src/components/super-search/index.vue
  13. 119 0
      src/components/super-table/freeze.vue
  14. 119 0
      src/components/super-table/hide.vue
  15. 329 160
      src/components/super-table/index.vue
  16. 151 0
      src/components/super-table/once/filter.vue
  17. 53 0
      src/components/super-table/once/freeze.vue
  18. 45 0
      src/components/super-table/once/hide.vue
  19. 53 0
      src/components/super-table/once/sort.vue
  20. 5 3
      src/views/material/basicFile/details.vue
  21. 4 4
      src/views/material/basicFile/index.vue
  22. 65 56
      src/views/purchase/DemandSummary/add.vue
  23. 42 31
      src/views/purchase/DemandSummary/index.vue
  24. 10 6
      src/views/purchase/MaterialClassDivision/add.vue
  25. 37 19
      src/views/purchase/MaterialClassDivision/index.vue
  26. 72 64
      src/views/purchase/PurchaseDemandList/add.vue
  27. 15 13
      src/views/purchase/PurchaseDemandList/index.vue
  28. 24 12
      src/views/purchase/contract/add/index.vue
  29. 13 8
      src/views/purchase/contract/index.vue
  30. 10 5
      src/views/purchase/deliveryAddress/add.vue
  31. 44 26
      src/views/purchase/deliveryAddress/index.vue
  32. 7 7
      src/views/purchase/purchase-order/add/column.js
  33. 15 10
      src/views/purchase/purchase-order/add/index.vue
  34. 6 6
      src/views/purchase/purchase-order/column.js
  35. 24 10
      src/views/purchase/purchase-order/edit/index.vue
  36. 9 0
      src/views/purchase/purchase-order/edit/initColumn.js
  37. 46 31
      src/views/purchase/purchase-order/index.vue
  38. 1 1
      src/views/purchase/purchase-order/see/index.vue
  39. 1 1
      src/views/purchase/task/columns.js
  40. 14 27
      src/views/purchase/task/index.vue
  41. 613 626
      src/views/purchase/transferOrder/add.vue
  42. 98 38
      src/views/purchase/transferOrder/index.vue

+ 25 - 25
src/api/login.js

@@ -1,4 +1,4 @@
-import request from '@/utils/request'
+import request from "@/utils/request";
 
 // 登录方法
 export function login(username, password, code, uuid) {
@@ -6,54 +6,54 @@ export function login(username, password, code, uuid) {
     username,
     password,
     code,
-    uuid
-  }
+    uuid,
+  };
   return request({
-    url: '/login',
+    url: "/login",
     headers: {
-      isToken: false
+      isToken: false,
     },
-    method: 'post',
-    data: data
-  })
+    method: "post",
+    data: data,
+  });
 }
 
 // 注册方法
 export function register(data) {
   return request({
-    url: '/register',
+    url: "/register",
     headers: {
-      isToken: false
+      isToken: false,
     },
-    method: 'post',
-    data: data
-  })
+    method: "post",
+    data: data,
+  });
 }
 
 // 获取用户详细信息
 export function getInfo() {
   return request({
-    url: '/getInfo',
-    method: 'get'
-  })
+    url: "/getInfo",
+    method: "get",
+  });
 }
 
 // 退出方法
 export function logout() {
   return request({
-    url: '/logout',
-    method: 'post'
-  })
+    url: "/logout",
+    method: "post",
+  });
 }
 
 // 获取验证码
 export function getCodeImg() {
   return request({
-    url: '/captchaImage',
+    url: "/captchaImage",
     headers: {
-      isToken: false
+      isToken: false,
     },
-    method: 'get',
-    timeout: 20000
-  })
-}
+    method: "get",
+    timeout: 20000,
+  });
+}

+ 8 - 9
src/assets/styles/element-ui.scss

@@ -69,7 +69,7 @@
 // dropdown
 .el-dropdown-menu {
   a {
-    display: block
+    display: block;
   }
 }
 
@@ -91,18 +91,17 @@
   display: none;
 }
 
-
-.el-autocomplete-suggestion .el-autocomplete-suggestion__wrap{
+.el-autocomplete-suggestion .el-autocomplete-suggestion__wrap {
   padding: 10px 0 0 0;
-}   
+}
 
- .el-super-table {
+.el-super-table {
   width: 100%;
-  margin: 20px 0 0 0;
 }
- .el-super-table .el-table__cell {
+.el-super-table .el-table__cell {
   height: 50px;
 }
- .el-super-table td.el-table__cell {
+
+.el-super-table td.el-table__cell {
   border-right: 0;
-}
+}

+ 10 - 0
src/assets/styles/font.scss

@@ -0,0 +1,10 @@
+.fe-1 {
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+@for $i from 3 through 10 {
+  .fs-#{$i} {
+    font-size: 4px * $i;
+  }
+}

+ 29 - 20
src/assets/styles/index.scss

@@ -1,16 +1,20 @@
-@import './variables.scss';
-@import './mixin.scss';
-@import './transition.scss';
-@import './element-ui.scss';
-@import './sidebar.scss';
-@import './btn.scss';
+@import "./variables.scss";
+@import "./mixin.scss";
+@import "./transition.scss";
+@import "./element-ui.scss";
+@import "./sidebar.scss";
+@import "./btn.scss";
+@import "./margin.scss";
+@import "./padding.scss";
+@import "./font.scss";
 
 body {
   height: 100%;
   -moz-osx-font-smoothing: grayscale;
   -webkit-font-smoothing: antialiased;
   text-rendering: optimizeLegibility;
-  font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif;
+  font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB,
+    Microsoft YaHei, Arial, sans-serif;
 }
 
 label {
@@ -64,7 +68,6 @@ div:focus {
 .fl {
   float: left;
 }
-
 .pr-5 {
   padding-right: 5px;
 }
@@ -104,7 +107,8 @@ aside {
   display: block;
   line-height: 32px;
   font-size: 16px;
-  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
+  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen,
+    Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
   color: #2c3e50;
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
@@ -134,7 +138,7 @@ aside {
 }
 
 .text-center {
-  text-align: center
+  text-align: center;
 }
 
 .sub-navbar {
@@ -145,7 +149,13 @@ aside {
   text-align: right;
   padding-right: 20px;
   transition: 600ms ease position;
-  background: linear-gradient(90deg, rgba(32, 182, 249, 1) 0%, rgba(32, 182, 249, 1) 0%, rgba(33, 120, 241, 1) 100%, rgba(33, 120, 241, 1) 100%);
+  background: linear-gradient(
+    90deg,
+    rgba(32, 182, 249, 1) 0%,
+    rgba(32, 182, 249, 1) 0%,
+    rgba(33, 120, 241, 1) 100%,
+    rgba(33, 120, 241, 1) 100%
+  );
 
   .subtitle {
     font-size: 20px;
@@ -190,22 +200,21 @@ aside {
   z-index: 1000 !important;
 }
 
-
 /**修改全局的滚动条*/
 /**滚动条的宽度*/
 ::-webkit-scrollbar {
-	width: 8px;
+  width: 8px;
 }
 ::-webkit-scrollbar-thumb {
-	background-color: #eaecf1;
-	border-radius: 3px;
+  background-color: #eaecf1;
+  border-radius: 3px;
 }
 /*表格*/
 .el-table__body-wrapper::-webkit-scrollbar {
-	width: 10px;
-	height: 10px;
+  width: 10px;
+  height: 10px;
 }
 .el-table__body-wrapper::-webkit-scrollbar-thumb {
-	background-color: #a1a3a9;
-	border-radius: 3px;
-}
+  background-color: #a1a3a9;
+  border-radius: 3px;
+}

+ 23 - 0
src/assets/styles/margin.scss

@@ -0,0 +1,23 @@
+@for $i from 0 through 10 {
+  .m-#{$i} {
+    margin: 4px * $i;
+  }
+  .mx-#{$i} {
+    margin: 0 4px * $i;
+  }
+  .my-#{$i} {
+    margin: 4px * $i 0;
+  }
+  .mt-#{$i} {
+    margin-top: 4px * $i;
+  }
+  .mr-#{$i} {
+    margin-right: 4px * $i;
+  }
+  .mb-#{$i} {
+    margin-bottom: 4px * $i;
+  }
+  .ml-#{$i} {
+    margin-left: 4px * $i;
+  }
+}

+ 23 - 0
src/assets/styles/padding.scss

@@ -0,0 +1,23 @@
+@for $i from 0 through 8 {
+  .p-#{$i} {
+    padding: 4px * $i;
+  }
+  .px-#{$i} {
+    padding: 0 4px * $i;
+  }
+  .py-#{$i} {
+    padding: 4px * $i 0;
+  }
+  .pt-#{$i} {
+    padding-top: 4px * $i;
+  }
+  .pr-#{$i} {
+    padding-right: 4px * $i;
+  }
+  .pb-#{$i} {
+    padding-bottom: 4px * $i;
+  }
+  .pl-#{$i} {
+    padding-left: 4px * $i;
+  }
+}

+ 4 - 3
src/components/popover-select-v2/index.vue

@@ -213,9 +213,6 @@ export default {
       append-to-body
     >
       <div slot="footer">
-        <el-button :size="$attrs.size" :loading="loading" @click="hide"
-          >取 消</el-button
-        >
         <el-button
           type="primary"
           :size="$attrs.size"
@@ -223,6 +220,10 @@ export default {
           @click="useConfirm(selectData)"
           >确 认</el-button
         >
+        <el-button :size="$attrs.size" :loading="loading" @click="hide"
+          >取 消</el-button
+        >
+        
       </div>
       <el-form
         v-loading="loading"

+ 4 - 3
src/components/popover-select-v2/multiple.vue

@@ -179,9 +179,6 @@ export default {
       append-to-body
     >
       <div slot="footer">
-        <el-button :size="$attrs.size" :loading="loading" @click="hide"
-          >取 消</el-button
-        >
         <el-button
           type="primary"
           :size="$attrs.size"
@@ -189,6 +186,10 @@ export default {
           @click="useConfirm(selectData)"
           >确 认</el-button
         >
+        <el-button :size="$attrs.size" :loading="loading" @click="hide"
+          >取 消</el-button
+        >
+        
       </div>
       <el-form
         v-loading="loading"

+ 4 - 3
src/components/popover-select/index.vue

@@ -331,12 +331,13 @@ export default {
         />
       </el-form>
       <div style="margin-top: 20px; text-align: right">
-        <el-button :size="size" @click="useCancel(lastSelectData)">
-          取 消
-        </el-button>
         <el-button :size="size" @click="useConfirm(selectData)">
           确 定
         </el-button>
+        <el-button :size="size" @click="useCancel(lastSelectData)">
+          取 消
+        </el-button>
+        
       </div>
     </el-dialog>
     <div

+ 4 - 3
src/components/popover-tree-select/index.vue

@@ -210,9 +210,6 @@ export default {
       append-to-body
     >
       <div slot="footer">
-        <el-button :size="$attrs.size" :loading="loading" @click="hide"
-          >取 消</el-button
-        >
         <el-button
           type="primary"
           :size="$attrs.size"
@@ -220,6 +217,10 @@ export default {
           @click="useConfirm(selectData)"
           >确 认</el-button
         >
+        <el-button :size="$attrs.size" :loading="loading" @click="hide"
+          >取 消</el-button
+        >
+        
       </div>
       <el-form
         v-loading="loading"

+ 4 - 3
src/components/popover-tree-select/multiple.vue

@@ -196,9 +196,6 @@ export default {
       append-to-body
     >
       <div slot="footer">
-        <el-button :size="$attrs.size" :loading="loading" @click="hide"
-          >取 消</el-button
-        >
         <el-button
           type="primary"
           :size="$attrs.size"
@@ -206,6 +203,10 @@ export default {
           @click="useConfirm(selectData)"
           >确 认</el-button
         >
+        <el-button :size="$attrs.size" :loading="loading" @click="hide"
+          >取 消</el-button
+        >
+        
       </div>
       <el-form
         v-loading="loading"

+ 1 - 1
src/components/super-search/index.vue

@@ -169,7 +169,7 @@ export default {
           icon="el-icon-search"
           @click="$emit('submit')"
         >
-          查 询
+          搜 索
         </el-button>
         <el-button
           :size="$attrs.size"

+ 119 - 0
src/components/super-table/freeze.vue

@@ -0,0 +1,119 @@
+<template>
+  <el-button size="mini" @click="drawer = true">
+    {{ number ? `冻结列 :${number}` : "冻结列" }}
+    <el-drawer
+      :modal="false"
+      :visible.sync="drawer"
+      size="20%"
+      title="冻结列"
+      append-to-body
+    >
+      <el-input
+        v-model="key"
+        size="mini"
+        placeholder="请输入列名称"
+        style="width: 100%; padding: 0 16px 16px"
+      >
+      </el-input>
+      <el-row :gutter="20" style="margin: 0">
+        <el-draggable
+          v-model="columns"
+          :group="{ item: 'key' }"
+          @end="$emit('freeze')"
+        >
+          <el-col
+            v-for="({ item }, index) in searchColumns"
+            :key="index"
+            :span="24"
+            style="
+              display: flex;
+              justify-content: space-between;
+              padding: 12px 16px;
+            "
+          >
+            <span
+              style="
+                font-size: 13px;
+                flex: 1;
+                cursor: move;
+                padding: 0 12px 0 0;
+                text-overflow: ellipsis;
+                overflow: hidden;
+                word-break: break-all;
+                white-space: nowrap;
+              "
+            >
+              <i
+                class="el-icon-mouse"
+                style="color: #72767b; margin: 0 6px 0 0"
+              ></i>
+              <i
+                class="el-icon-user"
+                style="color: #72767b; margin: 0 6px 0 0"
+              ></i>
+              {{ item.title }}
+            </span>
+            <div>
+              <el-switch
+                v-model="item.fixed"
+                size="mini"
+                @change="$emit('freeze')"
+              ></el-switch>
+            </div>
+          </el-col>
+        </el-draggable>
+      </el-row>
+    </el-drawer>
+  </el-button>
+</template>
+
+<script>
+export default {
+  name: "",
+  components: {
+    ElDraggable: () => import("@/components/draggable/index.vue"),
+  },
+  props: {
+    value: {
+      type: Array,
+      require: true,
+    },
+  },
+  data() {
+    return {
+      drawer: false,
+      key: "",
+    };
+  },
+  computed: {
+    columns: {
+      get() {
+        return this.$props.value;
+      },
+      set(value) {
+        this.$emit("input", value);
+      },
+    },
+    searchColumns: {
+      get() {
+        return this.columns.filter(
+          ({ item }) => item.title.indexOf(this.key) > -1
+        );
+      },
+      set(value) {},
+    },
+    number: {
+      get() {
+        return this.columns.filter(({ item }) => item.fixed).length;
+      },
+      set(value) {},
+    },
+  },
+  watch: {},
+  methods: {},
+  created() {},
+  mounted() {},
+  destroyed() {},
+};
+</script>
+<style scoped></style>

+ 119 - 0
src/components/super-table/hide.vue

@@ -0,0 +1,119 @@
+<template>
+  <el-button size="mini" @click="drawer = true">
+    {{ number ? `隐藏列 :${number}` : "隐藏列" }}
+    <el-drawer
+      :modal="false"
+      :visible.sync="drawer"
+      size="20%"
+      title="隐藏列"
+      append-to-body
+    >
+      <el-input
+        v-model="key"
+        size="mini"
+        placeholder="请输入列名称"
+        style="width: 100%; padding: 0 16px 16px"
+      >
+      </el-input>
+      <el-row :gutter="20" style="margin: 0">
+        <el-draggable
+          v-model="columns"
+          :group="{ item: 'key' }"
+          @end="$emit('hide')"
+        >
+          <el-col
+            v-for="({ item }, index) in searchColumns"
+            :key="index"
+            :span="24"
+            style="
+              display: flex;
+              justify-content: space-between;
+              padding: 12px 16px;
+            "
+          >
+            <span
+              style="
+                font-size: 13px;
+                flex: 1;
+                cursor: move;
+                padding: 0 12px 0 0;
+                text-overflow: ellipsis;
+                overflow: hidden;
+                word-break: break-all;
+                white-space: nowrap;
+              "
+            >
+              <i
+                class="el-icon-mouse"
+                style="color: #72767b; margin: 0 6px 0 0"
+              ></i>
+              <i
+                class="el-icon-user"
+                style="color: #72767b; margin: 0 6px 0 0"
+              ></i>
+              {{ item.title }}
+            </span>
+            <div>
+              <el-switch
+                v-model="item.hidden"
+                size="mini"
+                @change="$emit('hide')"
+              ></el-switch>
+            </div>
+          </el-col>
+        </el-draggable>
+      </el-row>
+    </el-drawer>
+  </el-button>
+</template>
+
+<script>
+export default {
+  name: "",
+  components: {
+    ElDraggable: () => import("@/components/draggable/index.vue"),
+  },
+  props: {
+    value: {
+      type: Array,
+      require: true,
+    },
+  },
+  data() {
+    return {
+      drawer: false,
+      key: "",
+    };
+  },
+  computed: {
+    columns: {
+      get() {
+        return this.$props.value;
+      },
+      set(value) {
+        this.$emit("input", value);
+      },
+    },
+    searchColumns: {
+      get() {
+        return this.columns.filter(
+          ({ item }) => item.title.indexOf(this.key) > -1
+        );
+      },
+      set(value) {},
+    },
+    number: {
+      get() {
+        return this.columns.filter(({ item }) => !item.hidden).length;
+      },
+      set(value) {},
+    },
+  },
+  watch: {},
+  methods: {},
+  created() {},
+  mounted() {},
+  destroyed() {},
+};
+</script>
+<style scoped></style>

+ 329 - 160
src/components/super-table/index.vue

@@ -2,26 +2,70 @@
 export default {
   name: "SuperTable",
   props: {
+    // 数据
     value: {
       type: [Array],
       require: true,
     },
+    // 字典
     dict: {
       type: [Object],
       require: true,
     },
+    // 分页
+    page: {
+      type: [Object],
+      require: true,
+    },
+    // 模板
     columns: {
       type: [Array],
       require: true,
     },
-    stroage: {
+    // 是否显示序号
+    index: {
+      type: Boolean,
+      default: true,
+    },
+    // 是否显示单选
+    radio: {
       type: Boolean,
       default: false,
     },
-    hideOperationColumns: {
+    // 是否显示多选
+    checkbox: {
       type: Boolean,
       default: false,
     },
+    // 是否显示分页
+    pagination: {
+      type: Boolean,
+      default: true,
+    },
+    // 是否显示操作图标
+    iconOperation: {
+      type: Boolean,
+      default: true,
+    },
+    // 是否显示操作按钮
+    buttonOperation: {
+      type: Boolean,
+      default: true,
+    },
+    // 是否禁止选择
+    selectable: {
+      type: Function,
+      default: () => {},
+    },
+
+    // stroage: {
+    //   type: Boolean,
+    //   default: false,
+    // },
+    // hideOperationColumns: {
+    //   type: Boolean,
+    //   default: false,
+    // },
   },
   components: {
     ElDictTag: () => import("@/components/DictTag/index.vue"),
@@ -30,28 +74,37 @@ export default {
     ElComputedInput: () => import("@/components/computed-input/index.vue"),
     ElPopoverSelectV2: () => import("@/components/popover-select-v2/index.vue"),
     ElComputedInputV2: () => import("@/components/computed-input-v2/index.vue"),
+    ButtonHide: () => import("./hide.vue"),
+    ButtonFreeze: () => import("./freeze.vue"),
+    IconHide: () => import("./once/hide.vue"),
+    IconSort: () => import("./once/sort.vue"),
+    IconFilter: () => import("./once/filter.vue"),
+    IconFreeze: () => import("./once/freeze.vue"),
   },
   data() {
-    const { columns, stroage } = this.$props;
-    const stroageKey = (
-      this.$parent.$parent.$options.name + "_table"
-    ).toUpperCase();
-    const loaclColumns = JSON.parse(localStorage.getItem(stroageKey));
-    const innerColumns = stroage && !!loaclColumns ? loaclColumns : columns;
+    const { columns } = this.$props;
+    const innerColumns = columns;
     return {
-      drawer: false,
-      visible: false,
-      top: 0,
-      left: 0,
-      stroageKey: stroageKey,
       innerColumns: innerColumns,
-      currentData: {},
+      rowKey: "id",
+      // 选择
+      selectData: [],
+      selectState: false,
+      // 过滤
+      filterData: [],
+      filterState: false,
     };
   },
   computed: {
     innerValue: {
       get() {
-        return this.value;
+        if (this.filterState) {
+          return this.filterData;
+        } else if (this.selectState) {
+          return this.selectData;
+        } else {
+          return this.$props.value;
+        }
       },
       set(value) {
         this.$emit("input", value);
@@ -59,77 +112,128 @@ export default {
     },
     showColumns: {
       get() {
-        const { stroage, hideOperationColumns } = this.$props;
-        return stroage && hideOperationColumns
-          ? this.innerColumns.filter(({ item }) => item.hidden)
-          : this.innerColumns;
+        return this.innerColumns.filter(({ item }) => item.hidden);
+      },
+      set() {},
+    },
+    filterRules: {
+      get() {
+        return Object.fromEntries(
+          this.innerColumns
+            .filter(({ item }) => item.filter && !!item.filter.length)
+            .map(({ item }) => [item.key, item.filter])
+        );
       },
+      set() {},
     },
   },
   watch: {
-    visible(value) {
-      if (value) {
-        document.body.addEventListener("click", this.hideContextmenu);
-        document.body.addEventListener("keydown", this.hideContextmenu);
-      } else {
-        document.body.removeEventListener("click", this.hideContextmenu);
-        document.body.removeEventListener("keydown", this.hideContextmenu);
-      }
+    filterRules: {
+      handler: function (newValue) {
+        function multiFilter(array, filters) {
+          const filterKeys = Object.keys(filters);
+          // filters all elements passing the criteria
+          return array.filter((item) => {
+            // dynamically validate all filter criteria
+            return filterKeys.every((key) => {
+              //ignore when the filter is empty Anne
+              if (!filters[key].length) return true;
+              return !!~filters[key].indexOf(item[key]);
+            });
+          });
+        }
+        this.filterState = JSON.stringify(newValue) !== "{}";
+        this.filterData = multiFilter(this.$props.value, newValue);
+      },
     },
   },
   methods: {
-    setColumns() {
-      const { stroageKey, innerColumns } = this;
+    //
+    onSelectionChange(value) {
+      this.selectData = value;
+    },
+    //
+    onCellStyle({ row, column }) {
+      const { selectable } = this.$props;
+      // 禁止状态
+      if (!selectable(row)) {
+        return {
+          cursor: "no-drop",
+        };
+      }
+      // 选中状态
+      // if (
+      //   column.label === "#" &&
+      //   this.selectData.find((item) => item.id === row.id)
+      // ) {
+      //   return {
+      //     color: "#fff",
+      //     backgroundColor: "#409EFF",
+      //   };
+      // }
+    },
+    //
+    onRowClick(row, column, event) {
+      const { radio, checkbox, selectable } = this.$props;
+      // 单选
+      if (radio && selectable(row)) {
+        this.selectData = [row];
+        this.innerValue = this.innerValue.map((item) => ({
+          ...item,
+          isChecked: item.id === row.id ? true : false,
+        }));
+        this.$emit("row-select", this.selectData);
+      }
+      // 多选
+      if (checkbox && selectable(row)) {
+        this.$refs.superTable.toggleRowSelection(
+          this.innerValue.find((item) => item.id === row.id)
+        );
+        this.$emit("row-select", this.selectData);
+      }
+    },
+    // 冻结
+    onHide() {
       this.$nextTick(() => {
         this.$refs.superTable.doLayout();
-        localStorage.setItem(stroageKey, JSON.stringify(innerColumns));
       });
     },
-    resetColumns() {
-      const { stroageKey, innerColumns } = this;
-      this.innerColumns = innerColumns.map(({ item, attr }) => ({
-        attr,
-        item: { ...item, hidden: true, fixed: false },
-      }));
+    // 排序
+    onSort(prop) {
+      const { key, sort } = prop;
       this.$nextTick(() => {
+        this.$refs.superTable.sort(key, sort);
         this.$refs.superTable.doLayout();
-        localStorage.removeItem(stroageKey);
       });
     },
-    openContextmenu(row, column, event) {
-      this.visible = true;
-      this.currentData = { row, column };
+    // 冻结
+    onFreeze() {
       this.$nextTick(() => {
-        // 鼠标坐标
-        const { x, y } = event;
-        // 侧边栏宽度
-        const [{ clientWidth: sideWidth }] =
-          document.getElementsByClassName("sidebar-container");
-        // 导航栏宽度
-        const { clientHeight: navHeight } =
-          document.getElementsByClassName("main-container")[0].firstChild;
-        // 菜单宽度
-        const [{ clientWidth: contextmenuWidth }] =
-          document.getElementsByClassName("el-super-table_contextmenu");
-        // 最大Y轴偏差
-        const maxLeft = this.$el.offsetWidth - contextmenuWidth;
-        if (x > maxLeft) {
-          this.left = maxLeft + 10;
-        } else {
-          this.left = x - sideWidth;
-        }
-        this.top = y - navHeight;
+        this.$refs.superTable.doLayout();
       });
     },
-    hideContextmenu(event) {
-      const { type } = event;
-      if (type === "click") {
-        this.visible = false;
-      }
-      if (type === "keydown") {
-        const { keyCode } = event;
-        if (keyCode === 27) this.visible = false;
-      }
+    // 过滤
+    onFilter() {
+      this.$nextTick(() => {
+        this.$refs.superTable.doLayout();
+      });
+    },
+    onFilters(value) {
+      const {
+        item: { key },
+        attr: { dictName },
+      } = value;
+      let dataList = [];
+      const dict = this.dict.type[dictName];
+      dataList = Array.from(
+        new Set(this.innerValue.map((item) => item[key]).filter((item) => item))
+      ).map((item) => ({
+        text: dictName
+          ? (dict.find((dictItem) => dictItem.value == item) || {}).label
+          : item,
+        value: item,
+      }));
+      return dataList;
     },
   },
   created() {},
@@ -139,25 +243,106 @@ export default {
 </script>
 
 <template>
-  <div class="el-super-table" @contextmenu.prevent.stop>
+  <div class="el-super-table">
     <el-table
       v-bind="$attrs"
       v-on="$listeners"
-      :data="innerValue"
-      border
       ref="superTable"
-      @row-contextmenu="openContextmenu"
+      border
+      :data="innerValue"
+      :row-key="rowKey"
+      :row-style="{ height: '50px' }"
+      :cell-style="onCellStyle"
+      :header-row-style="{ height: '50px' }"
+      @row-click="onRowClick"
+      @selection-change="onSelectionChange"
     >
-      <slot></slot>
+      <!-- 序号 -->
+      <el-table-column
+        v-if="index"
+        :resizable="false"
+        fixed
+        width="50"
+        label="序号"
+        align="center"
+        class="is-index"
+      >
+        <template slot-scope="scope">
+          {{ scope.$index + 1 }}
+        </template>
+      </el-table-column>
+      <!-- 多选 -->
+      <el-table-column
+        v-if="checkbox"
+        :column-key="rowKey"
+        :selectable="selectable"
+        fixed
+        width="50"
+        align="center"
+        type="selection"
+        reserve-selection
+      >
+      </el-table-column>
       <el-table-column
         v-for="({ item, attr }, index) in showColumns"
         :key="index"
         :prop="item.key"
         :label="item.title"
         :fixed="item.fixed"
-        :width="item.width || 250"
+        :width="item.width"
         show-overflow-tooltip
       >
+        <template slot="header" slot-scope="scope">
+          <template v-if="iconOperation">
+            <span
+              :style="{
+                color:
+                  item.sort ||
+                  item.fixed ||
+                  (item.filter && !!item.filter.length)
+                    ? '#1890ff'
+                    : '',
+              }"
+            >
+              {{ item.title }}
+            </span>
+            <icon-sort
+              v-model="item.sort"
+              class="icon-sort"
+              @sort="onSort(item)"
+              :style="{
+                color: item.sort ? '#1890ff' : '',
+                display: item.sort ? 'inline-block' : '',
+              }"
+            ></icon-sort>
+            <icon-freeze
+              v-model="item.fixed"
+              class="icon-freeze"
+              @freeze="onFreeze"
+              :style="{
+                color: item.fixed ? '#1890ff' : '',
+                display: item.fixed ? 'inline-block' : '',
+              }"
+            ></icon-freeze>
+            <icon-filter
+              v-model="item.filter"
+              class="icon-filter"
+              :filters="onFilters({ item, attr })"
+              @filter="onFilter"
+              :style="{
+                color: item.filter && item.filter.length ? '#1890ff' : '',
+                display:
+                  item.filter && item.filter.length ? 'inline-block' : '',
+              }"
+            ></icon-filter>
+            <icon-hide
+              v-model="item.hidden"
+              class="icon-hide"
+              @hide="onHide"
+            ></icon-hide>
+          </template>
+          <template v-else>{{ item.title }}</template>
+        </template>
         <template slot-scope="scope">
           <slot :name="item.key" v-bind="scope" :item="item" :attr="attr">
             <template v-if="attr.is">
@@ -212,98 +397,82 @@ export default {
         </template>
       </el-table-column>
     </el-table>
-    <el-drawer :visible.sync="drawer" size="25%" title="操作列" append-to-body>
-      <el-row :gutter="20" style="margin: 0">
-        <el-draggable
-          v-model="innerColumns"
-          :group="{ item: 'key' }"
-          @change="setColumns"
-        >
-          <el-col
-            v-for="({ item }, index) in innerColumns"
-            :key="index"
-            :span="24"
-            style="
-              display: flex;
-              justify-content: space-between;
-              padding: 15px 20px;
-            "
+    <div
+      v-if="pagination && buttonOperation"
+      style="
+        height: 57px;
+        display: flex;
+        justify-content: space-between;
+        align-items: center;
+      "
+    >
+      <div>
+        <template v-show="selectState">
+          <el-button
+            v-show="selectState"
+            size="mini"
+            @click="selectState = !selectState"
           >
-            <span style="cursor: move">
-              <i class="el-icon-rank"></i>
-              {{ item.title }}
-            </span>
-            <div>
-              <el-radio-group
-                v-model="item.hidden"
-                :size="$attrs.size"
-                style="margin: 0 15px 0 0"
-                @change="setColumns"
-              >
-                <el-radio-button :label="true">显</el-radio-button>
-                <el-radio-button :label="false">隐</el-radio-button>
-              </el-radio-group>
-              <el-radio-group
-                v-model="item.fixed"
-                :size="$attrs.size"
-                @change="setColumns"
-              >
-                <el-radio-button :label="false">不</el-radio-button>
-                <el-radio-button label="left">左</el-radio-button>
-                <el-radio-button label="right">右</el-radio-button>
-              </el-radio-group>
-            </div>
-          </el-col>
-        </el-draggable>
-      </el-row>
-    </el-drawer>
-    <transition name="el-fade-in-linear">
-      <ul
-        v-show="visible"
-        :style="{ left: left + 'px', top: top + 'px' }"
-        class="el-super-table_contextmenu"
-      >
-        <li v-if="hideOperationColumns" @click="drawer = true">
-          <i class="el-icon-setting"></i>
-          <span>设置布局</span>
-        </li>
-        <li v-if="hideOperationColumns" @click="resetColumns">
-          <i class="el-icon-refresh"></i>
-          <span>重置布局</span>
-        </li>
-        <slot name="contextmenu" v-bind="currentData"> </slot>
-      </ul>
-    </transition>
+            所有列
+          </el-button>
+        </template>
+        <template v-show="!selectState">
+          <button-hide v-model="innerColumns" @hide="onHide"></button-hide>
+          <button-freeze
+            v-model="showColumns"
+            @freeze="onFreeze"
+          ></button-freeze>
+          <el-button
+            :disabled="!selectData.length"
+            size="mini"
+            @click="selectState = !selectState"
+          >
+            选择列
+            {{ selectData.length ? ` :${selectData.length}` : "" }}
+          </el-button>
+        </template>
+      </div>
+      <pagination
+        v-show="!selectState"
+        :total="page.total"
+        :page.sync="page.pageNum"
+        :limit.sync="page.pageSize"
+        @pagination="$emit('pagination', { ...$event })"
+        style="height: 32px; padding: 0 !important"
+      />
+    </div>
   </div>
 </template>
 
 <style lang="scss">
-.el-super-table .el-table {
-  overflow: hidden;
-  border-radius: 5px;
+.el-super-table {
+  position: relative;
 }
-.el-super-table_contextmenu {
-  margin: 0;
-  background: #fff;
-  z-index: 3000;
-  position: absolute;
-  list-style-type: none;
-  padding: 5px 0;
-  border-radius: 4px;
-  font-size: 12px;
-  font-weight: 400;
-  color: #333;
-  box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
-  li {
-    margin: 0;
-    padding: 7px 16px;
-    cursor: pointer;
-    &:hover {
-      background: #ddd;
-    }
-    span {
-      margin: 0 0 0 5px;
-    }
+.el-super-table .el-table__header .cell {
+  display: flex;
+  .icon-sort {
+    display: none;
+  }
+  &:hover .icon-sort {
+    display: inline-block;
+  }
+  .icon-freeze {
+    display: none;
+  }
+  &:hover .icon-freeze {
+    display: inline-block;
+  }
+  .icon-filter {
+    display: none;
+  }
+  &:hover .icon-filter {
+    display: inline-block;
+  }
+  .icon-hide {
+    display: none;
+  }
+  &:hover .icon-hide {
+    display: inline-block;
   }
 }
 </style>

+ 151 - 0
src/components/super-table/once/filter.vue

@@ -0,0 +1,151 @@
+<template>
+  <el-popover
+    v-if="filterData.length"
+    :visible-arrow="false"
+    width="auto"
+    trigger="hover"
+    placement="bottom"
+    popper-class="p-0"
+  >
+    <template>
+      <el-checkbox-group
+        v-model="selectData"
+        class="pt-3 px-3"
+        @change="onCheck"
+      >
+        <el-checkbox
+          v-for="item in filterData"
+          :key="item.value"
+          :label="item.value"
+          class="mr-0 mb-3"
+          style="display: block"
+        >
+          {{ item.text }}
+        </el-checkbox>
+      </el-checkbox-group>
+      <el-divider class="m-0"></el-divider>
+      <div
+        class="p-3"
+        style="min-width: 175px; display: flex; justify-content: space-between"
+      >
+        <el-checkbox
+          v-model="checkAll"
+          :indeterminate="indeterminate"
+          @change="onCheckAll"
+        >
+          全选
+        </el-checkbox>
+        <div>
+          <el-button type="text" class="p-0" @click="onReset">重置</el-button>
+          <el-button type="text" class="p-0" @click="onFilter">筛选</el-button>
+        </div>
+      </div>
+    </template>
+    <!-- <el-tooltip
+      slot="reference"
+      :disabled="disabled"
+      effect="dark"
+      content="筛选"
+      placement="top"
+    > -->
+    <i
+      slot="reference"
+      class="el-icon-search pl-1"
+      style="cursor: pointer; font-weight: 600; transition: 500ms"
+      :style="{ color: color }"
+      @click="onOpen"
+    ></i>
+    <!-- </el-tooltip> -->
+  </el-popover>
+</template>
+
+<script>
+export default {
+  name: "IconFilter",
+  components: {},
+  data() {
+    return {
+      disabled: false,
+      selectData: [],
+    };
+  },
+  props: {
+    value: {
+      type: Array,
+      require: true,
+    },
+    filters: {
+      type: Array,
+      require: true,
+    },
+  },
+  computed: {
+    innerValue: {
+      get() {
+        return this.$props.value;
+      },
+      set(value) {
+        this.$emit("input", value);
+      },
+    },
+    filterData: {
+      get() {
+        return this.$props.filters;
+      },
+      set() {},
+    },
+    indeterminate: {
+      get() {
+        const count = this.filterData.length;
+        const selectCount = this.selectData.length;
+        return selectCount > 0 && selectCount < count;
+      },
+      set() {},
+    },
+    checkAll: {
+      get() {
+        const count = this.filterData.length;
+        const selectCount = this.selectData.length;
+        return count === selectCount;
+      },
+      set() {},
+    },
+    color: {
+      get() {
+        return this.$props.value && this.$props.value.length ? "#1890ff" : "";
+      },
+      set() {},
+    },
+  },
+  watch: {},
+  methods: {
+    // 打开
+    onOpen() {
+      this.disabled = !this.disabled;
+    },
+    // 选中
+    onCheck() {
+      // const count = this.filterData.length;
+      // const selectCount = this.selectData.length;
+      // this.checkAll = count === selectCount;
+    },
+    // 全选
+    onCheckAll(value) {
+      this.selectData = value ? this.filterData.map((item) => item.value) : [];
+    },
+    // 重置
+    onReset() {
+      this.selectData = [];
+      this.innerValue = this.selectData;
+    },
+    // 筛选
+    onFilter() {
+      this.innerValue = this.selectData;
+    },
+  },
+  created() {},
+  mounted() {},
+  destroyed() {},
+};
+</script>
+<style scoped></style>

+ 53 - 0
src/components/super-table/once/freeze.vue

@@ -0,0 +1,53 @@
+<template>
+  <!-- <el-tooltip effect="dark" content="冻结" placement="top"> -->
+  <i
+    v-if="innerValue"
+    class="el-icon-lock pl-1"
+    style="color: #1890ff; cursor: pointer; font-weight: 600; transition: 500ms"
+    @click="onFreeze"
+  ></i>
+  <i
+    v-else
+    class="el-icon-unlock pl-1"
+    style="cursor: pointer; font-weight: 600; transition: 500ms"
+    @click="onFreeze"
+  ></i>
+  <!-- </el-tooltip> -->
+</template>
+
+<script>
+export default {
+  name: "IconFreeze",
+  components: {},
+  data() {
+    return {};
+  },
+  props: {
+    value: {
+      type: Boolean,
+      require: true,
+    },
+  },
+  computed: {
+    innerValue: {
+      get() {
+        return this.$props.value;
+      },
+      set(value) {
+        this.$emit("input", value);
+      },
+    },
+  },
+  watch: {},
+  methods: {
+    onFreeze() {
+      this.innerValue = !this.innerValue;
+      this.$emit("freeze");
+    },
+  },
+  created() {},
+  mounted() {},
+  destroyed() {},
+};
+</script>
+<style scoped></style>

+ 45 - 0
src/components/super-table/once/hide.vue

@@ -0,0 +1,45 @@
+<template>
+  <i
+    v-if="innerValue"
+    class="el-icon-circle-close pl-1"
+    style="cursor: pointer; font-weight: 600; transition: 500ms"
+    @click="onHide"
+  ></i>
+</template>
+
+<script>
+export default {
+  name: "IconHide",
+  components: {},
+  props: {
+    value: {
+      type: Boolean,
+      require: true,
+    },
+  },
+  data() {
+    return {};
+  },
+  computed: {
+    innerValue: {
+      get() {
+        return this.$props.value;
+      },
+      set(value) {
+        this.$emit("input", value);
+      },
+    },
+  },
+  watch: {},
+  methods: {
+    onHide() {
+      this.innerValue = !this.innerValue;
+      this.$emit("hide");
+    },
+  },
+  created() {},
+  mounted() {},
+  destroyed() {},
+};
+</script>
+<style scoped></style>

+ 53 - 0
src/components/super-table/once/sort.vue

@@ -0,0 +1,53 @@
+<template>
+  <!-- <el-tooltip effect="dark" content="排序" placement="top"> -->
+  <i
+    v-if="innerValue === 'descending'"
+    class="el-icon-bottom pl-1"
+    style="color: #1890ff; cursor: pointer; font-weight: 600; transition: 500ms"
+    @click="onSort(null)"
+  ></i>
+  <i
+    v-else
+    class="el-icon-top pl-1"
+    style="cursor: pointer; font-weight: 600; transition: 500ms"
+    @click="onSort('descending')"
+  ></i>
+  <!-- </el-tooltip> -->
+</template>
+
+<script>
+export default {
+  name: "IconSort",
+  components: {},
+  data() {
+    return {};
+  },
+  props: {
+    value: {
+      type: String,
+      require: true,
+    },
+  },
+  computed: {
+    innerValue: {
+      get() {
+        return this.$props.value;
+      },
+      set(value) {
+        this.$emit("input", value);
+      },
+    },
+  },
+  watch: {},
+  methods: {
+    onSort(value) {
+      this.innerValue = value;
+      this.$emit("sort");
+    },
+  },
+  created() {},
+  mounted() {},
+  destroyed() {},
+};
+</script>
+<style scoped></style>

+ 5 - 3
src/views/material/basicFile/details.vue

@@ -251,6 +251,7 @@
 
                 <!-- 其他展示为列表 -->
                 <el-table v-else 
+                  border
                   :data="mainMsg.value" 
                   @cell-dblclick="handleMaindbClick"
                   @selection-change="handleMainChange"
@@ -366,7 +367,7 @@
                     <!-- 其他展示为列表 -->
 
                     <!-- 辅计量 -->
-                    <el-table v-else-if="activeViceTab == 'material_unit'" :data="unitDetails.value"
+                    <el-table border v-else-if="activeViceTab == 'material_unit'" :data="unitDetails.value"
                               class="material-table">
                       <el-table-column type="index" v-if="unitDetails.form.length" label="序号" width="55"
                                        align="center"/>
@@ -383,7 +384,7 @@
                     </el-table>
 
                     <!-- 辅助属性 -->
-                    <el-table v-else-if="activeViceTab == 'material_property'" :data="propertyDetail.value"
+                    <el-table border v-else-if="activeViceTab == 'material_property'" :data="propertyDetail.value"
                               class="material-table">
                       <el-table-column type="index" v-if="propertyDetail.form.length" label="序号" width="55"
                                        align="center"/>
@@ -471,6 +472,7 @@
       </el-row>
       <!-- 表格数据 -->
       <el-table 
+        border
         :data="materialType.value" 
         stripe 
         style="width: 100%" 
@@ -674,7 +676,7 @@
         <!-- queryMedcineItemDrug -->
         <!-- 列表 -->
         <div v-else>
-          <el-table :data="MoreDataDialog.list" v-loading="MoreDataDialog.loading" style="width: 100%"
+          <el-table  border :data="MoreDataDialog.list" v-loading="MoreDataDialog.loading" style="width: 100%"
                     @row-click="handleCurentRow" highlight-current-row>
             <el-table-column type="index" label="序号" width="55" align="center"/>
             <el-table-column v-for="m in MoreDataDialog.form" v-if="m.show" :prop="m.prop" :label="m.name"/>

+ 4 - 4
src/views/material/basicFile/index.vue

@@ -32,8 +32,8 @@
             </el-form-item>
 
             <el-form-item>
-              <el-button size="small" type="primary" @click="handleQuery">搜索</el-button>
-              <el-button size="small" @click="handleResetQuery">重置</el-button>
+              <el-button size="small" type="primary" @click="handleQuery">搜 索</el-button>
+              <el-button size="small" @click="handleResetQuery">重 置</el-button>
             </el-form-item>
           </el-form>
         </el-col>
@@ -101,10 +101,10 @@
 
     <!-- 主体列表 -->
     <el-card class="material-list" v-loading="loading">
-      <el-table :data="taskList" ref="materialTable" @cell-dblclick="handledbClick" :row-key="getRowKey"
+      <el-table border :data="taskList" ref="materialTable" @cell-dblclick="handledbClick" :row-key="getRowKey"
                 @selection-change="handleSelectionChange" @select="handleSelect" @select-all="handleSelectAll">
         <!--  -->
-        <el-table-column type="selection" width="30" :reserve-selection="true"/>
+        <el-table-column type="selection" width="45" :reserve-selection="true"/>
         <el-table-column type="index" label="序号" width="55" align="center"/>
         <el-table-column width="150" v-for="h in  tableHeader" v-if="h.show" :label="h.name" align="center"
                          show-overflow-tooltip>

+ 65 - 56
src/views/purchase/DemandSummary/add.vue

@@ -1,6 +1,6 @@
 <template>
   <div id="checkDemandSummary">
-    <el-card>
+    <el-card style="height: calc(100vh - 15vh);position: relative;overflow: scroll;">
       <span>采购需求处理详情</span>
       <div class="btn_grooup">
         <el-button type="primary" size="mini" @click="editLine">编辑</el-button>
@@ -13,38 +13,41 @@
       <el-table 
           :data="tableList" 
           fit
+          :cell-style="{ borderColor: '#c0c0c0' }"
+          :header-cell-style="{ borderColor: '#c0c0c0' }"
+          class="exporttable"
           border
           max-height="680"
           style="font-size: 12px;"
           @selection-change="handleSelectionChange"
         >
-        <el-table-column show-overflow-tooltip type="selection" width="55" />
-        <el-table-column show-overflow-tooltip label="序号" align="center" type="index"/>
+        <el-table-column show-overflow-tooltip type="selection"/>
+        <el-table-column show-overflow-tooltip label="序号" align="center" type="index" width="55"/>
         <el-table-column show-overflow-tooltip label="行号" align="center" prop="rowNo">
           <template slot-scope="scope">
             {{ scope.$index + 1 + '0' }}
           </template>
         </el-table-column>
-        <el-table-column show-overflow-tooltip label="行状态" align="center" prop="status" width="120px" :formatter="hangStatus"/>
-        <el-table-column show-overflow-tooltip label="物料编码" align="center" prop="materialCode" width="150px"/>
+        <el-table-column show-overflow-tooltip label="行状态" align="center" prop="status" width="100px" :formatter="hangStatus"/>
+        <el-table-column show-overflow-tooltip label="物料编码" align="center" prop="materialCode" width="120px"/>
         <el-table-column show-overflow-tooltip label="品名" align="center" prop="materialName" width="180"/>
         <el-table-column show-overflow-tooltip label="规格" align="center" prop="specification"/>
         <el-table-column show-overflow-tooltip label="单位" align="center" prop="unit"/>
-        <el-table-column show-overflow-tooltip label="生产厂家/代理人" align="center" prop="manufacturerName" width="150"/>
+        <el-table-column show-overflow-tooltip label="生产厂家/代理人" align="center" prop="manufacturerName" width="230"/>
         <el-table-column show-overflow-tooltip label="末级供应仓库存量" align="center" prop="lastWarehouseQty" width="150"/>
         <el-table-column show-overflow-tooltip label="月销量" align="center" prop="totalMonthlySales"/>
         <el-table-column show-overflow-tooltip label="采购周期" align="center" prop="puPeriod"/>
-        <el-table-column show-overflow-tooltip label="最终净需求量" align="center" prop="resDemandQty" width="150"/>
-        <el-table-column show-overflow-tooltip label="最终采购量" align="center" prop="puQtyRes" width="150"/>
-        <el-table-column show-overflow-tooltip label="需求客户" align="center" prop="customerName"/>
-        <el-table-column show-overflow-tooltip label="最小订货量" align="center" prop="minOrderQty" width="150"/>
-        <el-table-column show-overflow-tooltip label="最小包装量" align="center" prop="minPackage" width="150"/>
-        <el-table-column show-overflow-tooltip label="最小批量" align="center" prop="minBatch" width="150"/>
-        <el-table-column show-overflow-tooltip label="修改人" align="center" prop="updateByName" width="150"/>
+        <el-table-column show-overflow-tooltip label="最终净需求量" align="center" prop="resDemandQty" width="120"/>
+        <el-table-column show-overflow-tooltip label="最终采购量" align="center" prop="puQtyRes" width="120"/>
+        <el-table-column show-overflow-tooltip label="需求客户" align="center" prop="customerName" width="150"/>
+        <el-table-column show-overflow-tooltip label="最小订货量" align="center" prop="minOrderQty" width="100"/>
+        <el-table-column show-overflow-tooltip label="最小包装量" align="center" prop="minPackage" width="100"/>
+        <el-table-column show-overflow-tooltip label="最小批量" align="center" prop="minBatch" width="100"/>
+        <el-table-column show-overflow-tooltip label="修改人" align="center" prop="updateByName" width="100"/>
         <el-table-column show-overflow-tooltip label="修改原因" align="center" prop="updateCause" width="150"/>
         <el-table-column show-overflow-tooltip label="业务备注" align="center" prop="remark" width="150"/>
         <el-table-column show-overflow-tooltip label="有效期" align="center" prop="expiry" width="150"/>
-        <el-table-column show-overflow-tooltip label="要求交货日期" align="center" prop="deliveryDate" width="150"/>
+        <el-table-column show-overflow-tooltip label="要求交货日期" align="center" prop="deliveryDate" width="120"/>
         <el-table-column show-overflow-tooltip label="紧急标识" align="center" prop="isUrgency">
           <template slot-scope="scope">
             <el-switch
@@ -78,16 +81,16 @@
           </template>
         </el-table-column>
         <el-table-column show-overflow-tooltip label="需求单单号" align="center" prop="code" width="150"/>
-        <el-table-column show-overflow-tooltip label="供应仓库" align="center" prop="lastWarehouseName" width="150"/>
-        <el-table-column show-overflow-tooltip label="供应货位" align="center" prop="lastAllocationName" width="150"/>
-        <el-table-column show-overflow-tooltip label="默认采购组织" align="center" prop="orgName" width="280px">
+        <el-table-column show-overflow-tooltip label="供应仓库" align="center" prop="lastWarehouseName" width="100"/>
+        <el-table-column show-overflow-tooltip label="供应货位" align="center" prop="lastAllocationName" width="120"/>
+        <el-table-column show-overflow-tooltip label="默认采购组织" align="center" prop="orgName" width="250px">
           <template slot-scope="scope">
               <el-input :disabled="scope.row.status !== '1' || lineDisable" size="mini" v-model="scope.row.orgName" @clear="clean(scope.row, '默认采购组织')" @focus="chooseMxHW(scope.$index, 'ORG_PARAM', true, '默认采购组织')">
                 <el-button size="mini" :disabled="scope.row.status !== '1' || lineDisable" slot="append" icon="el-icon-more" @click="chooseMxHW(scope.$index, 'ORG_PARAM', true, '默认采购组织')"></el-button>
               </el-input>
           </template>
         </el-table-column>
-        <el-table-column show-overflow-tooltip label="业务类型" align="center" prop="billType" width="150" :formatter="formatterBillType"/>
+        <el-table-column show-overflow-tooltip label="业务类型" align="center" prop="billType" width="120" :formatter="formatterBillType"/>
         <el-table-column show-overflow-tooltip label="收货仓库" align="center" prop="deliveryWarehouseName" width="200">
             <template slot-scope="scope">
               <el-input clearable :disabled="scope.row.status !== '1' || lineDisable" size="mini" v-model="scope.row.deliveryWarehouseName" @clear="clean(scope.row, '收货仓库')" @focus="chooseMxCK(scope.$index, 'WAREHOUSE_PARAM', true, '收货仓库', scope.row.org)">
@@ -102,20 +105,20 @@
             </el-input>
           </template>
         </el-table-column>
-        <el-table-column show-overflow-tooltip label="采购员" align="center" prop="buyerName" width="150"/>
-        <el-table-column show-overflow-tooltip label="制单人" align="center" prop="billMaker" width="150"/>
-        <el-table-column show-overflow-tooltip label="审核人员" align="center" prop="approver" width="150"/>
+        <el-table-column show-overflow-tooltip label="采购员" align="center" prop="buyerName" width="100"/>
+        <el-table-column show-overflow-tooltip label="制单人" align="center" prop="billMaker" width="100"/>
+        <el-table-column show-overflow-tooltip label="审核人员" align="center" prop="approver" width="100"/>
         <!-- <el-table-column show-overflow-tooltip label="请购单号" align="center" prop="code"/> -->
-        <el-table-column show-overflow-tooltip label="品类" align="center" prop="materialCategory" width="150"/>
-        <el-table-column show-overflow-tooltip label="注册人" align="center" prop="registrant" width="150"/>
-        <el-table-column show-overflow-tooltip label="集团预测分类" align="center" prop="forecastClassify" width="150"/>
-        <el-table-column show-overflow-tooltip label="修改时间" align="center" prop="updateTime" width="150"/>
-        <el-table-column show-overflow-tooltip label="采购员编码" align="center" prop="buyer" width="150"/>
+        <el-table-column show-overflow-tooltip label="品类" align="center" prop="materialCategory" width="100"/>
+        <el-table-column show-overflow-tooltip label="注册人" align="center" prop="registrant" width="100"/>
+        <el-table-column show-overflow-tooltip label="集团预测分类" align="center" prop="forecastClassify" width="120"/>
+        <el-table-column show-overflow-tooltip label="修改时间" align="center" prop="updateTime" width="140"/>
+        <el-table-column show-overflow-tooltip label="采购员编码" align="center" prop="buyer" width="100"/>
         <!-- <el-table-column show-overflow-tooltip label="采购组织" align="center" prop="orgName" width="150"/> -->
-        <el-table-column show-overflow-tooltip label="有效期单位" align="center" prop="expiryUnit" width="150"/>
+        <el-table-column show-overflow-tooltip label="有效期单位" align="center" prop="expiryUnit" width="100"/>
         <!-- <el-table-column show-overflow-tooltip label="业务部门" align="center" prop="businessDeptName"/> -->
         <el-table-column show-overflow-tooltip label="需求部门" align="center" prop="demandDeptName" width="150"/>
-        <el-table-column show-overflow-tooltip label="批号锁定标识" align="center" prop="isBatchLock" width="150">
+        <el-table-column show-overflow-tooltip label="批号锁定标识" align="center" prop="isBatchLock" width="120">
           <template slot-scope="scope">
             <el-switch
               v-model="scope.row.isBatchLock"
@@ -127,25 +130,25 @@
             </el-switch>
           </template>
         </el-table-column>
-        <el-table-column show-overflow-tooltip label="采购需求单审批人" align="center" prop="approveName" width="150"/>
-        <el-table-column show-overflow-tooltip label="需求单审批时间" align="center" prop="approverFinishTime" width="150"/>
-        <el-table-column show-overflow-tooltip label="需求单提交时间" align="center" prop="createTime" width="150"/>
-        <el-table-column show-overflow-tooltip label="需求单提交人" align="center" prop="createByName" width="150"/>
+        <el-table-column show-overflow-tooltip label="采购需求单审批人" align="center" prop="approveName" width="140"/>
+        <el-table-column show-overflow-tooltip label="需求单审批时间" align="center" prop="approverFinishTime" width="120"/>
+        <el-table-column show-overflow-tooltip label="需求单提交时间" align="center" prop="createTime" width="120"/>
+        <el-table-column show-overflow-tooltip label="需求单提交人" align="center" prop="createByName" width="120"/>
         <!-- <el-table-column show-overflow-tooltip label="处理需求时间" align="center" prop="processTime"/> -->
         <!-- <el-table-column show-overflow-tooltip label="处理需求人员" align="center" prop="processPersonal"/> -->
-        <el-table-column show-overflow-tooltip label="处理确认人" align="center" prop="affirmerName" width="150"/>
-        <el-table-column show-overflow-tooltip label="处理确认时间" align="center" prop="affirmerTime" width="150"/>
+        <el-table-column show-overflow-tooltip label="处理确认人" align="center" prop="affirmerName" width="100"/>
+        <el-table-column show-overflow-tooltip label="处理确认时间" align="center" prop="affirmerTime" width="120"/>
         <!-- <el-table-column show-overflow-tooltip label="转请购时间" align="center" prop="code"/>
         <el-table-column show-overflow-tooltip label="转请购人员" align="center" prop="code"/> -->
-        <el-table-column show-overflow-tooltip label="价格类型" align="center" prop="priceType" width="150" :formatter="priceClass"/>
+        <el-table-column show-overflow-tooltip label="价格类型" align="center" prop="priceType" width="100" :formatter="priceClass"/>
       </el-table>
-    </el-card>
 
-    <div class="btn_group">
-      <el-col :span="1.5">
-        <el-button size="mini" plain @click="back" v-if="lineDisable">返回</el-button>
-      </el-col>
-    </div>
+      <div class="btn_group">
+        <el-col :span="1.5">
+          <el-button size="mini" plain @click="back" v-if="lineDisable">返回</el-button>
+        </el-col>
+      </div>
+    </el-card>
 
     <Refers ref="refer" @doSubmit="selectionsToInput" :single="true"/>
   </div>
@@ -272,7 +275,7 @@ export default {
     saveLine() {
       editSummaryMx(this.tableList).then(res => {
         if (res.code === 200) {
-          this.$modal.msgSuccess("保存成功");
+          this.$modal.notifySuccess("保存成功");
           this.lineDisable = true
           let param = JSON.parse(JSON.stringify(this.query))
           param.sumFlag = this.row.sumFlag
@@ -283,17 +286,20 @@ export default {
     // 行关闭
     closeLine() {
       if (this.ids.length == 0) {
-        this.$modal.msgWarning("请选中至少一条数据");
+        this.$modal.notifyWarning("请选中至少一条数据");
       } else {
-        let param = this.ids.join()
-        shutDownSummary(param).then(res => {
-          if (res.code === 200) {
-            this.$modal.msgSuccess("操作成功");
-            let param = JSON.parse(JSON.stringify(this.query))
-            param.sumFlag = this.row.sumFlag
-            this.getDetails(param)
-          }
-        })
+        this.$modal.confirm('是否确定关闭?').then(function () {
+        }).then(() => {
+          let param = this.ids.join()
+          shutDownSummary(param).then(res => {
+            if (res.code === 200) {
+              this.$modal.notifySuccess("操作成功");
+              let param = JSON.parse(JSON.stringify(this.query))
+              param.sumFlag = this.row.sumFlag
+              this.getDetails(param)
+            }
+          })
+        }).catch(() => {})
       }
     },
     // 重取批量
@@ -302,7 +308,7 @@ export default {
         let param = this.tableList.map(item => { return item.demandItemId })
         reloadBatch(param).then(res => {
           if (res.code === 200) {
-            this.$modal.msgSuccess("操作成功");
+            this.$modal.notifySuccess("操作成功");
             let param = JSON.parse(JSON.stringify(this.query))
             param.sumFlag = this.row.sumFlag
             this.getDetails(param)
@@ -384,12 +390,15 @@ export default {
 
 <style lang="scss" scoped>
  .btn_group {
-  width: 100%;
-  margin: 20px 0;
+  // width: 100%;
+  // margin: 20px 0;
   display: flex;
-  justify-content: center;
+  // justify-content: center;
+  position: absolute;
+  top: 10px;right: 20px;
 } 
 .btn_grooup {
+  margin-top: 10px;
   margin-bottom: 10px;
   display: flex;
   justify-content: flex-end;

+ 42 - 31
src/views/purchase/DemandSummary/index.vue

@@ -222,6 +222,9 @@
         <el-table 
           :data="tableList" 
           fit
+          :cell-style="{ borderColor: '#c0c0c0' }"
+          :header-cell-style="{ borderColor: '#c0c0c0' }"
+          class="exporttable"
           border
           show-summary
           :summary-method="getSummaries"
@@ -232,24 +235,24 @@
         >
           <el-table-column type="selection" width="60" />
           <!-- <el-table-column show-overflow-tooltip label="行号" align="center" prop="rowNo"/> -->
-          <el-table-column show-overflow-tooltip label="行状态" align="center" prop="status" width="120px" :formatter="hangStatus"/>
-          <el-table-column show-overflow-tooltip label="一级品类" align="center" prop="materialClassifyOneName" width="120px"/>
-          <el-table-column show-overflow-tooltip label="物料编码" align="center" prop="materialCode" width="180px"/>
-          <el-table-column show-overflow-tooltip label="品名" align="center" prop="materialName" width="180px"/>
-          <el-table-column show-overflow-tooltip label="规格" align="center" prop="specification" width="200px"/>
+          <el-table-column show-overflow-tooltip label="行状态" align="center" prop="status" width="100px" :formatter="hangStatus"/>
+          <el-table-column show-overflow-tooltip label="一级品类" align="center" prop="materialClassifyOneName" width="100px"/>
+          <el-table-column show-overflow-tooltip label="物料编码" align="center" prop="materialCode" width="150px"/>
+          <el-table-column show-overflow-tooltip label="品名" align="center" prop="materialName" width="150px"/>
+          <el-table-column show-overflow-tooltip label="规格" align="center" prop="specification" width="150px"/>
           <el-table-column show-overflow-tooltip label="单位" align="center" prop="unit"/>
-          <el-table-column show-overflow-tooltip label="生产厂家/代理人" align="center" prop="manufacturer" width="180px"/>
-          <el-table-column show-overflow-tooltip label="需求单位数" align="center" prop="demandNum" width="120px"/>
+          <el-table-column show-overflow-tooltip label="生产厂家/代理人" align="center" prop="manufacturer" width="200px"/>
+          <el-table-column show-overflow-tooltip label="需求单位数" align="center" prop="demandNum" width="100px"/>
           <el-table-column show-overflow-tooltip label="近1月月均需求" align="center" prop="evensalesforyear" width="120px"/>
           <el-table-column show-overflow-tooltip label="近3月月均需求" align="center" prop="evensalesforthrmonth" width="120px"/>
           <el-table-column show-overflow-tooltip label="总最终净需求量" align="center" prop="netDemandNum" width="120px"/>
           <el-table-column show-overflow-tooltip label="总月销量" align="center" prop="totalMonthlySales"/>
-          <el-table-column show-overflow-tooltip label="需求可用周期" align="center" prop="demandCycle" width="180px"/>
+          <el-table-column show-overflow-tooltip label="需求可用周期" align="center" prop="demandCycle" width="120px"/>
           <el-table-column show-overflow-tooltip label="呆滞量" align="center" prop="dullQut"/>
           <el-table-column show-overflow-tooltip label="采购周期" align="center" prop="buyPeriod"/>
           <el-table-column show-overflow-tooltip label="中心公共库存" align="center" prop="centralPublicStock" width="120px"/>
           <el-table-column show-overflow-tooltip label="中心仓专属货位" align="center" prop="centralWarehouse" width="120px"/>
-          <el-table-column show-overflow-tooltip label="区域分仓公共库存" align="center" prop="regionPublicStock" width="130px"/>
+          <el-table-column show-overflow-tooltip label="区域分仓公共库存" align="center" prop="regionPublicStock" width="150px"/>
           <el-table-column show-overflow-tooltip label="各项目仓库存" align="center" prop="eachWarehouseStock" width="120px"/>
           <el-table-column show-overflow-tooltip label="电商仓库" align="center" prop="commerceWarehouse"/>
           <el-table-column show-overflow-tooltip label="采购在途" align="center" prop="buyTransit"/>
@@ -267,14 +270,14 @@
           </el-table-column>
           <el-table-column show-overflow-tooltip label="建议采购量" align="center" prop="suggestionPurchase" width="100px"/>
           <!-- <el-table-column show-overflow-tooltip label="建议净采购量" align="center" prop="suggestBuyQty" width="100px"/> -->
-          <el-table-column show-overflow-tooltip label="最终采购量" align="center" prop="finalBuyQty" width="150">
+          <el-table-column show-overflow-tooltip label="最终采购量" align="center" prop="finalBuyQty" width="100">
             <template slot-scope="scope">
                 <el-input :disabled="scope.row.status !== '1' || lineDisable" v-model="scope.row.finalBuyQty"/>
             </template>
           </el-table-column>
-          <el-table-column show-overflow-tooltip label="二级品类" align="center" prop="materialClassifyTwoName" width="150px"/>
-          <el-table-column show-overflow-tooltip label="三级品类" align="center" prop="materialClassifyThreeName" width="150px"/>
-          <el-table-column show-overflow-tooltip label="四级品类" align="center" prop="materialClassifyFourName" width="150px"/>
+          <el-table-column show-overflow-tooltip label="二级品类" align="center" prop="materialClassifyTwoName" width="120px"/>
+          <el-table-column show-overflow-tooltip label="三级品类" align="center" prop="materialClassifyThreeName" width="120px"/>
+          <el-table-column show-overflow-tooltip label="四级品类" align="center" prop="materialClassifyFourName" width="120px"/>
           <el-table-column show-overflow-tooltip label="采购员" align="center" prop="buyerName" width="150px">
             <template slot-scope="scope">
                 <el-input readonly :disabled="scope.row.status !== '1' || lineDisable" size="mini" v-model="scope.row.buyerName">
@@ -282,7 +285,7 @@
                 </el-input>
             </template>
           </el-table-column>
-          <el-table-column show-overflow-tooltip label="默认采购组织" align="center" prop="purchaseOrgName" width="280px">
+          <el-table-column show-overflow-tooltip label="默认采购组织" align="center" prop="purchaseOrgName" width="230px">
             <!-- <template slot-scope="scope">
                 <el-input readonly :disabled="scope.row.status !== '1' || lineDisable" size="mini" v-model="scope.row.purchaseOrgName">
                   <el-button size="mini" :disabled="scope.row.status !== '1' || lineDisable" slot="append" icon="el-icon-more" @click="chooseSon(scope.$index, 'ORG_PARAM', true, '明细默认采购组织')"></el-button>
@@ -294,12 +297,12 @@
           <el-table-column show-overflow-tooltip label="业务类型" align="center" prop="businessType" :formatter="formatterBusinessType"/>
           <el-table-column show-overflow-tooltip label="安全库存量" align="center" prop="safetyStock" width="100px"/>
           <el-table-column show-overflow-tooltip label="单据来源" align="center" prop="billSource" :formatter="formatterSource"/>
-          <el-table-column show-overflow-tooltip label="注册人" align="center" prop="registrant"/>
+          <el-table-column show-overflow-tooltip label="注册人" align="center" prop="registrant" width="120px"/>
           <!-- <el-table-column label="可用量" align="center" prop="qty"/> -->
           <el-table-column show-overflow-tooltip label="总需与终采差异" align="center" prop="buyDiscrepancy" width="120px"/>
-          <el-table-column show-overflow-tooltip label="集团预测分类" align="center" prop="forecastClassification" width="100px"/>
-          <el-table-column show-overflow-tooltip label="中心仓占有量" align="center" prop="centerBinPossession" width="100px"/>
-          <el-table-column show-overflow-tooltip label="中心仓可用量" align="center" prop="centralWarehouseAvailable" width="100px"/>
+          <el-table-column show-overflow-tooltip label="集团预测分类" align="center" prop="forecastClassification" width="120px"/>
+          <el-table-column show-overflow-tooltip label="中心仓占有量" align="center" prop="centerBinPossession" width="120px"/>
+          <el-table-column show-overflow-tooltip label="中心仓可用量" align="center" prop="centralWarehouseAvailable" width="120px"/>
           <!-- <el-table-column label="物料类别" align="center" prop="materialCategory" width="150px"/> -->
           <!-- <el-table-column label="业务部门" align="center" prop="departmentName" width="150px"/> -->
           <!-- <el-table-column show-overflow-tooltip label="需求单位" align="center" prop="demandUnit"/> -->
@@ -321,8 +324,8 @@
           @size-change="handleSizeChange"
           @current-change="handleCurrentChange"
           :current-page="queryParams.pageNum"
-          :page-sizes="[10, 20, 50, 100, 500, 1000]"
-          :page-size="100"
+          :page-sizes="[10, 20, 50, 100]"
+          :page-size="10"
           layout="total, sizes, prev, pager, next, jumper"
           :total=total>
         </el-pagination>
@@ -549,7 +552,7 @@ export default {
     handleCommand(command) {
       if(command == 'Excel导出') {
         if(this.allSelection.length == 0) {
-          this.$modal.msgWarning("请选中至少一条数据");
+          this.$modal.notifyWarning("请选中至少一条数据");
         } else {
           exportList(this.allSelection).then(res => {
             const blob = new Blob([res], {
@@ -572,7 +575,7 @@ export default {
 
       if (command == '导出明细') {
         if (this.allSelection.length == 0 || this.allSelection.length > 1) {
-          this.$modal.msgWarning("明细只能进行单条导出!");
+          this.$modal.notifyWarning("明细只能进行单条导出!");
         } else {
           let param = this.queryParams
           param.sumFlag = this.allSelection[0].sumFlag
@@ -625,7 +628,7 @@ export default {
     saveList() {
       editSummaryList(this.tableList).then(res => {
         if (res.code === 200) {
-          this.$modal.msgSuccess("保存成功");
+          this.$modal.notifySuccess("保存成功");
           this.lineDisable = true
           this.getList(this.queryParams)
         }
@@ -633,11 +636,11 @@ export default {
     },
     confirms() {
       if (this.ids.length == 0) {
-        this.$modal.msgWarning("请选中至少一条数据");
+        this.$modal.notifyWarning("请选中至少一条数据");
       } else {
         confirmSummary(this.allSelection).then(res => {
           if (res.code === 200) {
-            this.$modal.msgSuccess("确认成功");
+            this.$modal.notifySuccess("确认成功");
             this.getList(this.queryParams)
           }
         })
@@ -645,12 +648,12 @@ export default {
     },
     cancels() {
       if (this.ids.length == 0) {
-        this.$modal.msgWarning("请选中至少一条数据");
+        this.$modal.notifyWarning("请选中至少一条数据");
       } else {
         let param = this.ids.join()
         cancelSummary(param).then(res => {
           if (res.code === 200) {
-            this.$modal.msgSuccess("取消成功");
+            this.$modal.notifySuccess("取消成功");
             this.getList(this.queryParams)
           }
         })
@@ -658,12 +661,12 @@ export default {
     },
     audits() {
       if(this.ids.length == 0) {
-        this.$modal.msgWarning("请选中至少一条数据");
+        this.$modal.notifyWarning("请选中至少一条数据");
       } else {
         let param = this.ids.join()
         auditSummary(param).then(res => {
           if (res.code === 200) {
-            this.$modal.msgSuccess("审核成功");
+            this.$modal.notifySuccess("审核成功");
             this.getList(this.queryParams)
           }
         })
@@ -674,14 +677,14 @@ export default {
       let param = this.ids.join()
       shutDownSummary(param).then(res => {
         if (res.code === 200) {
-          this.$modal.msgSuccess("操作成功");
+          this.$modal.notifySuccess("操作成功");
           this.getList(this.queryParams)
         }
       })
     },
     closeLine() {
       if (this.ids.length == 0) {
-        this.$modal.msgWarning("请选中至少一条数据");
+        this.$modal.notifyWarning("请选中至少一条数据");
       } else {
         console.log('选中数组', this.allSelection)
         let item = this.allSelection.some(item => {
@@ -805,4 +808,12 @@ export default {
 ::v-deep .el-table__row > td {
   border: none;
 }
+ ::v-deep .el-card .el-form-item {
+  margin-bottom: 10px;
+}
+</style>
+<style>
+.exporttable {
+  border: solid 1px #c0c0c0;
+ }
 </style>

+ 10 - 6
src/views/purchase/MaterialClassDivision/add.vue

@@ -1,5 +1,7 @@
 <template>
   <div id="addDivision">
+    <el-card style="height: calc(100vh - 15vh);position: relative;overflow: scroll;">
+    <span>基本信息</span>
     <el-form :model="basicForm" :rules="basicRules" ref="basic" label-width="auto">
       <el-row :gutter="10">
         <el-col :span="1.5">
@@ -240,7 +242,7 @@
         <el-button size="mini" plain @click="back">返回</el-button>
       </el-col>
     </div>
-
+    </el-card>
     <fourClass
       ref="fourClass"
       @doSubmit="acceptFourClass"
@@ -340,7 +342,7 @@ export default {
         this.$modal.loading("保存中...");
         addDivision(this.basicForm).then(res => {
           if (res.code === 200) {
-            this.$modal.msgSuccess("保存成功");
+            this.$modal.notifySuccess("保存成功");
             this.$modal.closeLoading();
             this.back()
           }
@@ -350,7 +352,7 @@ export default {
       } else if(this.pageStu == 'edit') {
         this.$modal.loading("保存中...");
         editDivision(this.basicForm).then(res => {
-          this.$modal.msgSuccess("编辑成功");
+          this.$modal.notifySuccess("编辑成功");
           this.$modal.closeLoading();
           this.back()
         }).catch(err => {
@@ -470,9 +472,11 @@ export default {
 
 <style lang="scss" scoped>
 .btn_group {
-  width: 100%;
-  margin: 20px 0;
+  // width: 100%;
+  // margin: 20px 0;
   display: flex;
-  justify-content: center;
+  // justify-content: center;
+  position: absolute;
+  top: 10px;right: 20px;
 } 
 </style>

+ 37 - 19
src/views/purchase/MaterialClassDivision/index.vue

@@ -1,7 +1,7 @@
 <template>
   <div id="MaterialClassDivision">
     <div v-if="isList">
-      <el-card style="position: relative;">
+      <el-card style="height: calc(100vh - 15vh);position: relative;overflow: scroll;">
       <el-form class="search_area" label-width="130px">
         <el-row :gutter="10">
           <el-col :span="1.5">
@@ -211,28 +211,32 @@
         <el-table 
           :data="tableList" 
           fit
+          :cell-style="{ borderColor: '#c0c0c0' }"
+          :header-cell-style="{ borderColor: '#c0c0c0' }"
+          class="exporttable"
+          border
           max-height="480"
           style="font-size: 12px;"
           @selection-change="handleSelectionChange"
         >
           <el-table-column show-overflow-tooltip type="selection" width="55" />
-          <el-table-column show-overflow-tooltip label="物料分类编码" align="center" width="150" prop="materialClassify"/>
-          <el-table-column show-overflow-tooltip label="物料分类名称" align="center" width="200" prop="materialClassifyName" />
-          <el-table-column show-overflow-tooltip label="一级分类名称" align="center" width="150" prop="materialClassifyOneName" />
-          <el-table-column show-overflow-tooltip label="二级分类名称" align="center" width="150" prop="materialClassifyTwoName" />
-          <el-table-column show-overflow-tooltip label="三级分类名称" align="center" width="150" prop="materialClassifyThreeName"/>
-          <el-table-column show-overflow-tooltip label="四级分类名称" align="center" width="150" prop="materialClassifyFourName" />
-          <el-table-column show-overflow-tooltip label="物料编码" align="center" width="150" prop="materialCode" />
-          <el-table-column show-overflow-tooltip label="物料名称" align="center" prop="materialName" />
+          <el-table-column show-overflow-tooltip label="物料分类编码" align="center" width="120" prop="materialClassify"/>
+          <!-- <el-table-column show-overflow-tooltip label="物料分类名称" align="center" width="200" prop="materialClassifyName" /> -->
+          <el-table-column show-overflow-tooltip label="一级分类名称" align="center" width="120" prop="materialClassifyOneName" />
+          <el-table-column show-overflow-tooltip label="二级分类名称" align="center" width="120" prop="materialClassifyTwoName" />
+          <el-table-column show-overflow-tooltip label="三级分类名称" align="center" width="120" prop="materialClassifyThreeName"/>
+          <el-table-column show-overflow-tooltip label="四级分类名称" align="center" width="120" prop="materialClassifyFourName" />
+          <el-table-column show-overflow-tooltip label="物料编码" align="center" width="120" prop="materialCode" />
+          <el-table-column show-overflow-tooltip label="物料名称" align="center" width="150" prop="materialName" />
           <el-table-column show-overflow-tooltip label="生产厂商" align="center" width="150" prop="manufacturer" />
-          <el-table-column show-overflow-tooltip label="所属组织" align="center" width="120" prop="orgName"/>
-          <el-table-column show-overflow-tooltip label="订单员" align="center" width="150" prop="orderPersonalName" />
-          <el-table-column show-overflow-tooltip label="采购员" align="center" width="150" prop="buyerName" />
+          <el-table-column show-overflow-tooltip label="所属组织" align="center" width="200" prop="orgName"/>
+          <el-table-column show-overflow-tooltip label="订单员" align="center" width="100" prop="orderPersonalName" />
+          <el-table-column show-overflow-tooltip label="采购员" align="center" width="100" prop="buyerName" />
           <el-table-column show-overflow-tooltip label="订单部门" align="center" width="150" prop="orderDeptName" />
           <el-table-column show-overflow-tooltip label="部门" align="center" width="150" prop="puDeptName" />
-          <el-table-column show-overflow-tooltip label="创建人" align="center" width="150" prop="createByName" />
+          <el-table-column show-overflow-tooltip label="创建人" align="center" width="100" prop="createByName" />
           <el-table-column show-overflow-tooltip label="创建时间" align="center" width="150" prop="createTime" />
-          <el-table-column show-overflow-tooltip label="修改人" align="center" width="150" prop="updateByName" />
+          <el-table-column show-overflow-tooltip label="修改人" align="center" width="100" prop="updateByName" />
           <el-table-column show-overflow-tooltip label="修改时间" align="center" width="150" prop="updateTime" />
           <el-table-column
           fixed="right"
@@ -253,8 +257,8 @@
           @size-change="handleSizeChange"
           @current-change="handleCurrentChange"
           :current-page="queryParams.pageNum"
-          :page-sizes="[10, 20, 50, 100, 500, 1000]"
-          :page-size="100"
+          :page-sizes="[10, 20, 50, 100]"
+          :page-size="10"
           layout="total, sizes, prev, pager, next, jumper"
           :total=total>
         </el-pagination>
@@ -379,14 +383,14 @@ export default {
     },
     deletes() {
       if (this.allSelection.length == 0) {
-        this.$modal.msgWarning("请至少选择一条数据!");
+        this.$modal.notifyWarning("请至少选择一条数据!");
       } else {
         let param = this.allSelection.map(item => item.id)
         let rows = param.join()
         this.$modal.confirm('确认删除选择数据?').then(() => {
           delDivision(rows).then(res => {
             if (res.code === 200) {
-              this.$modal.msgSuccess("删除成功");
+              this.$modal.notifySuccess("删除成功");
               this.getList(this.queryParams)
             }
           })
@@ -422,7 +426,7 @@ export default {
       this.$modal.confirm('确认信息').then(() => {
         delDivision(row.id).then(res => {
           if (res.code === 200) {
-            this.$modal.msgSuccess("删除成功");
+            this.$modal.notifySuccess("删除成功");
             this.getList(this.queryParams)
           }
         })
@@ -493,8 +497,22 @@ export default {
 .lines {
   margin-top: 0;
 }
+::v-deep .el-table__row > td {
+  border: none;
+}
+ ::v-deep .el-card .el-form-item {
+  margin-bottom: 10px;
+}
 .el-pagination {
   margin-top: 10px;
   text-align: right;
 }
+</style>
+<style>
+.exporttable {
+  border: solid 1px #c0c0c0;
+}
+.el-table .el-table__header-wrapper th {
+  font-size: 14px;
+}
 </style>

+ 72 - 64
src/views/purchase/PurchaseDemandList/add.vue

@@ -168,16 +168,16 @@
           :cell-class-name="cellClassName"
         >
           <el-table-column show-overflow-tooltip type="selection"/>
-          <el-table-column show-overflow-tooltip label="序号" type="index" align="center"/>
+          <el-table-column show-overflow-tooltip label="序号" type="index" align="center" width="50px"/>
           <el-table-column show-overflow-tooltip label="行号" align="center" prop="rowNo">
             <template slot-scope="scope">
               {{ scope.$index + 1 + '0' }}
             </template>
           </el-table-column>
           <el-table-column show-overflow-tooltip label="默认采购组织" align="center"  prop="purOrgName" width="200px"/>
-          <el-table-column show-overflow-tooltip label="需求客户" align="center"  prop="demandCustomerName" width="200px"/>
-          <el-table-column show-overflow-tooltip label="行状态" align="center" prop="status" :formatter="hangStatus" width="150px"/>
-          <el-table-column show-overflow-tooltip label="物料编码" align="center" prop="materialCode" width="230px">
+          <el-table-column show-overflow-tooltip label="需求客户" align="center"  prop="demandCustomerName" width="180px"/>
+          <el-table-column show-overflow-tooltip label="行状态" align="center" prop="status" :formatter="hangStatus" width="100px"/>
+          <el-table-column show-overflow-tooltip label="物料编码" align="center" prop="materialCode" width="220px">
             <template slot-scope="scope">
               <el-form-item class="hang" :prop="'puDemandItemList.' + scope.$index + '.' + 'materialCode'" :rules="{ required: true, message: '请选择物料编码', trigger: 'blur' }">
                 <el-input clearable :disabled="sonDisable" size="mini" v-model="scope.row.materialCode" @paste.native="pasteMe($event, scope, scope.$index)">
@@ -186,12 +186,12 @@
               </el-form-item>
             </template>
           </el-table-column>
-          <el-table-column show-overflow-tooltip label="物料名称" align="center"  prop="materialName" width="230px" />
+          <el-table-column show-overflow-tooltip label="物料名称" align="center"  prop="materialName" width="200px" />
           <el-table-column show-overflow-tooltip label="规格" align="center"  prop="specification" />
           <el-table-column show-overflow-tooltip label="型号" align="center"  prop="model"/>
           <el-table-column show-overflow-tooltip label="单位" align="center"  prop="unitName"/>
           <el-table-column show-overflow-tooltip label="生产厂家/代理人" align="center"  prop="manufacturerName" width="230px"/>
-          <el-table-column show-overflow-tooltip label="最小包装" align="center"  prop="minPackage" width="120px"/>
+          <el-table-column show-overflow-tooltip label="最小包装" align="center"  prop="minPackage" width="100px"/>
           <el-table-column show-overflow-tooltip label="实际(业务)需求量" align="center"  prop="qty" width="150px">
             <template slot-scope="scope">
               <el-form-item class="hang" :prop="'puDemandItemList.' + scope.$index + '.' + 'qty'" :rules="{ required: true, message: '请填写实际(业务)需求量', trigger: 'blur' }">
@@ -231,7 +231,7 @@
               </el-form-item>
             </template>
           </el-table-column>
-          <el-table-column show-overflow-tooltip label="月均销量" align="center"  prop="averageQtyMonth" width="120px"/>
+          <el-table-column show-overflow-tooltip label="月均销量" align="center"  prop="averageQtyMonth" width="100px"/>
           <el-table-column show-overflow-tooltip label="需求可用周期" align="center"  prop="demandPeriod" width="120px"/>
           <el-table-column show-overflow-tooltip label="业务备注" align="center"  prop="remark" width="150px">
             <template slot-scope="scope">
@@ -240,15 +240,15 @@
               </el-form-item>
             </template>
           </el-table-column>
-          <el-table-column show-overflow-tooltip label="物料一级分类" align="center" prop="materialClassifyOneName" width="180px"/>
-          <el-table-column show-overflow-tooltip label="物料二级分类" align="center" prop="materialClassifyTwoName" width="180px"/>
-          <el-table-column show-overflow-tooltip label="物料三级分类" align="center" prop="materialClassifyThreeName" width="180px"/>
-          <el-table-column show-overflow-tooltip label="物料四级分类" align="center" prop="materialClassifyFourName" width="180px"/>
-          <el-table-column show-overflow-tooltip label="最小批量" align="center"  prop="minBatch" width="120px"/>
+          <el-table-column show-overflow-tooltip label="物料一级分类" align="center" prop="materialClassifyOneName" width="150px"/>
+          <el-table-column show-overflow-tooltip label="物料二级分类" align="center" prop="materialClassifyTwoName" width="150px"/>
+          <el-table-column show-overflow-tooltip label="物料三级分类" align="center" prop="materialClassifyThreeName" width="150px"/>
+          <el-table-column show-overflow-tooltip label="物料四级分类" align="center" prop="materialClassifyFourName" width="150px"/>
+          <el-table-column show-overflow-tooltip label="最小批量" align="center"  prop="minBatch" width="100px"/>
           <el-table-column show-overflow-tooltip label="最小订货量" align="center"  prop="minOrderQty" width="120px"/>
-          <el-table-column show-overflow-tooltip label="采购员" align="center" prop="buyerName" width="120px"/>
+          <el-table-column show-overflow-tooltip label="采购员" align="center" prop="buyerName" width="100px"/>
           <!-- <el-table-column show-overflow-tooltip label="采购员" align="center"  prop="buyer"/> -->
-          <el-table-column show-overflow-tooltip label="采购周期" align="center"  prop="puPeriod" width="150px">
+          <el-table-column show-overflow-tooltip label="采购周期" align="center"  prop="puPeriod" width="120px">
             <template slot-scope="scope">
               <el-form-item class="hang">
                 <el-input type="number" min="0" clearable :disabled="sonDisable" size="mini" v-model="scope.row.puPeriod"></el-input>
@@ -271,17 +271,17 @@
               </el-form-item>
             </template>
           </el-table-column>
-          <el-table-column show-overflow-tooltip label="有效期" align="center"  prop="expiry" width="120px"/>
-          <el-table-column show-overflow-tooltip label="有效期单位" align="center"  prop="expiryUnit" width="120px"/>
-          <el-table-column show-overflow-tooltip label="安全库存" align="center"  prop="safeStock" width="120px">
+          <el-table-column show-overflow-tooltip label="有效期" align="center"  prop="expiry" width="100px"/>
+          <el-table-column show-overflow-tooltip label="有效期单位" align="center"  prop="expiryUnit" width="100px"/>
+          <el-table-column show-overflow-tooltip label="安全库存" align="center"  prop="safeStock" width="100px">
             <template slot-scope="scope">
               <el-form-item class="hang">
                 <el-input clearable :disabled="sonDisable" size="mini" v-model="scope.row.safeStock"/>
               </el-form-item>
             </template>
           </el-table-column>
-          <el-table-column show-overflow-tooltip label="注册人" align="center"  prop="registrant" width="150px"/>
-          <el-table-column show-overflow-tooltip label="预留比例" align="center" prop="reservedProportion" width="150px">
+          <el-table-column show-overflow-tooltip label="注册人" align="center"  prop="registrant" width="100px"/>
+          <el-table-column show-overflow-tooltip label="预留比例" align="center" prop="reservedProportion" width="120px">
             <template slot-scope="scope">
               <el-form-item class="hang">
                 <el-select clearable :disabled="sonDisable" size="mini" v-model="scope.row.reservedProportion" @change="getYLSL(scope)" @clear="cleanYLSL(scope)">
@@ -291,18 +291,18 @@
               </el-form-item>
             </template>
           </el-table-column>
-          <el-table-column show-overflow-tooltip label="预留周期" align="center" prop="reservedPeriod" width="150px">
+          <el-table-column show-overflow-tooltip label="预留周期" align="center" prop="reservedPeriod" width="120px">
             <template slot-scope="scope">
               <el-form-item class="hang" :prop="'puDemandItemList.' + scope.$index + '.' + 'reservedPeriod'" :rules="{ required: scope.row.reservedProportion && scope.row.reservedProportion !== '' , message: '请填写预留周期', trigger: 'blur' }">
                 <el-input type="number" min="0" clearable :disabled="sonDisable" size="mini" v-model="scope.row.reservedPeriod"></el-input>
               </el-form-item>
             </template>
           </el-table-column>
-          <el-table-column show-overflow-tooltip label="预留数量" align="center"  prop="reservedQty" width="150px"/>
+          <el-table-column show-overflow-tooltip label="预留数量" align="center"  prop="reservedQty" width="120px"/>
           <el-table-column show-overflow-tooltip label="集团预测分类" align="center"  prop="forecastClassify" width="120px"/>
-          <el-table-column show-overflow-tooltip label="近一月需求" align="center"  prop="onemonthAvgVolume" width="120px"/>
-          <el-table-column show-overflow-tooltip label="近三月需求" align="center"  prop="threemonthAvgVolume" width="120px"/>
-          <el-table-column show-overflow-tooltip label="采购在途" align="center"  prop="puFreight" width="120px"/>
+          <el-table-column show-overflow-tooltip label="近一月需求" align="center"  prop="onemonthAvgVolume" width="100px"/>
+          <el-table-column show-overflow-tooltip label="近三月需求" align="center"  prop="threemonthAvgVolume" width="100px"/>
+          <el-table-column show-overflow-tooltip label="采购在途" align="center"  prop="puFreight" width="100px"/>
           <el-table-column show-overflow-tooltip label="补单标识" align="center"  prop="isReplenishment" width="100px">
             <template slot-scope="scope">
               <el-form-item class="hang">
@@ -326,10 +326,10 @@
               </el-form-item>
             </template>
           </el-table-column>
-          <el-table-column show-overflow-tooltip label="末级供应库存组织" align="center" prop="lastStockOrgName" width="200px"></el-table-column>
-          <el-table-column show-overflow-tooltip label="末级供应仓库" align="center"  prop="lastWarehouseName" width="200px"/>
-          <el-table-column show-overflow-tooltip label="末级供应货位" align="center"  prop="lastAllocationName" width="200px"/>
-          <el-table-column show-overflow-tooltip label="中心仓可用量" align="center"  prop="centralWarehouseQty" width="200px"/>
+          <el-table-column show-overflow-tooltip label="末级供应库存组织" align="center" prop="lastStockOrgName" width="180px"></el-table-column>
+          <el-table-column show-overflow-tooltip label="末级供应仓库" align="center"  prop="lastWarehouseName" width="150px"/>
+          <el-table-column show-overflow-tooltip label="末级供应货位" align="center"  prop="lastAllocationName" width="150px"/>
+          <el-table-column show-overflow-tooltip label="中心仓可用量" align="center"  prop="centralWarehouseQty" width="120px"/>
           <el-table-column show-overflow-tooltip label="调拨状态" align="center"  prop="statusAllot" width="100px">
             <template slot-scope="scope">
               <el-form-item class="hang">
@@ -345,8 +345,8 @@
             </template>
           </el-table-column>
           <el-table-column show-overflow-tooltip label="调拨单号" align="center"  prop="allotCode"></el-table-column>
-          <el-table-column show-overflow-tooltip label="调拨占有量" align="center"  prop="allotQty" width="150px"/>
-          <el-table-column show-overflow-tooltip label="最终净需求量" align="center"  prop="resDemandQty" width="150px">
+          <el-table-column show-overflow-tooltip label="调拨占有量" align="center"  prop="allotQty" width="100px"/>
+          <el-table-column show-overflow-tooltip label="最终净需求量" align="center"  prop="resDemandQty" width="120px">
             <template slot-scope="scope">
               <el-form-item class="hang">
                 <el-input type="number" min="0" clearable :disabled="sonDisable" size="mini" v-model="scope.row.resDemandQty"/>
@@ -368,9 +368,9 @@
             </template>
           </el-table-column>
           <el-table-column show-overflow-tooltip label="联系人" align="center"  prop="contacts"/>
-          <el-table-column show-overflow-tooltip label="联系人电话" align="center"  prop="contactsPhone" width="200px"/>
+          <el-table-column show-overflow-tooltip label="联系人电话" align="center"  prop="contactsPhone" width="150px"/>
           <el-table-column show-overflow-tooltip label="详细地址" align="center"  prop="address" width="200px"/>
-          <el-table-column show-overflow-tooltip label="价格类型" align="center"  prop="priceType" width="150px">
+          <el-table-column show-overflow-tooltip label="价格类型" align="center"  prop="priceType" width="120px">
             <template slot-scope="scope">
               <el-form-item class="hang" :prop="'puDemandItemList.' + scope.$index + '.' + 'priceType'" :rules="{ required: true, message: '请选择价格类型', trigger: 'blur' }">
                 <el-select clearable :disabled="sonDisable" size="mini" v-model="scope.row.priceType">
@@ -380,7 +380,7 @@
               </el-form-item>
             </template>
           </el-table-column>
-          <el-table-column show-overflow-tooltip label="是否客户指定" align="center"  prop="isSpeical" width="100px">
+          <el-table-column show-overflow-tooltip label="是否客户指定" align="center"  prop="isSpeical" width="120px">
             <template slot-scope="scope">
               <el-form-item class="hang">
                 <el-switch
@@ -446,76 +446,76 @@
 
 
     <!-- 批量调整参数 -->
-    <el-dialog title="批量调整" :visible.sync="adjust.open" @close="closeEvent" width="400px">
+    <el-dialog title="批量调整" :visible.sync="adjust.open" @close="closeEvent" width="38%">
       <el-row style="margin-bottom: 10px;">
-        <el-col :span="6">价格类型</el-col>
+        <el-col :span="6" class="pltzTxt">价格类型</el-col>
         <el-col :span="14">
-        <el-select clearable size="mini" v-model="adjust.priceType">
+        <el-select class="pltzIpt" clearable size="mini" v-model="adjust.priceType">
           <el-option v-for=" dict in dict.type.sys_price_type" :key="dict.value" :label="dict.label" :value="dict.value">
           </el-option>
         </el-select>
         </el-col>
       </el-row>
       <el-row style="margin-bottom: 10px;">
-        <el-col :span="6">采购员</el-col>
+        <el-col :span="6" class="pltzTxt">采购员</el-col>
         <el-col :span="14">
-        <el-select clearable size="mini" v-model="adjust.purchaseMan" @focus="chooseOrg('CONTACTS_PARAM', true, '采购员')">
+        <el-select class="pltzIpt" clearable size="mini" v-model="adjust.purchaseMan" @focus="chooseOrg('CONTACTS_PARAM', true, '采购员')">
           <el-option v-for="item in purchaseManOptions" :key="item.id" :label="item.name" :value="item.code" />
         </el-select>
         </el-col>
       </el-row>
       <el-row style="margin-bottom: 10px;">
-        <el-col :span="6">收货仓库</el-col>
+        <el-col :span="6" class="pltzTxt">收货仓库</el-col>
         <el-col :span="14">
-        <el-input clearable size="mini" v-model="adjust.warehouseName" @focus="chooseOrg('WAREHOUSE_PARAM', true, '收货仓库')">
+        <el-input class="pltzIpt" clearable size="mini" v-model="adjust.warehouseName" @focus="chooseOrg('WAREHOUSE_PARAM', true, '收货仓库')">
           <el-button size="mini" slot="append" icon="el-icon-more" @click="chooseOrg('WAREHOUSE_PARAM', true, '收货仓库')"></el-button>
         </el-input>
         </el-col>
       </el-row>
       <el-row style="margin-bottom: 10px;">
-        <el-col :span="6">收货货位</el-col>
+        <el-col :span="6" class="pltzTxt">收货货位</el-col>
         <el-col :span="14">
-        <el-input clearable size="mini" v-model="adjust.allocationName" @focus="adjustHuoWei('ALLOCATION_PARAM', true, '收货货位', adjust.warehouse)">
+        <el-input class="pltzIpt" clearable size="mini" v-model="adjust.allocationName" @focus="adjustHuoWei('ALLOCATION_PARAM', true, '收货货位', adjust.warehouse)">
           <el-button size="mini" slot="append" icon="el-icon-more" @click="adjustHuoWei('ALLOCATION_PARAM', true, '收货货位', adjust.warehouse)"></el-button>
         </el-input>
         </el-col>
       </el-row>
       <el-row style="margin-bottom: 10px;">
-        <el-col :span="6">业务备注</el-col>
+        <el-col :span="6" class="pltzTxt">业务备注</el-col>
         <el-col :span="14">
-          <el-input clearable size="mini" v-model="adjust.remark"/>
+          <el-input class="pltzIpt" clearable size="mini" v-model="adjust.remark"/>
         </el-col>
       </el-row>
       <el-row style="margin-bottom: 10px;">
-        <el-col :span="6">收货地址</el-col>
+        <el-col :span="6" class="pltzTxt">收货地址</el-col>
         <el-col :span="14">
-          <el-input clearable size="mini" v-model="adjust.deliveryAddressName" @focus="chooseOrg('ADDRESS_PARAM', true, '收货地址')">
+          <el-input class="pltzIpt" clearable size="mini" v-model="adjust.deliveryAddressName" @focus="chooseOrg('ADDRESS_PARAM', true, '收货地址')">
             <el-button size="mini" slot="append" icon="el-icon-more" @click="chooseOrg('ADDRESS_PARAM', true, '收货地址')"></el-button>
           </el-input>
         </el-col>
       </el-row>
       <el-row style="margin-bottom: 10px;">
-        <el-col :span="6">收货地址编码</el-col>
+        <el-col :span="6" class="pltzTxt">收货地址编码</el-col>
         <el-col :span="14">
-          <el-input disabled clearable size="mini" v-model="adjust.deliveryAddress"/>
+          <el-input class="pltzIpt" disabled clearable size="mini" v-model="adjust.deliveryAddress"/>
         </el-col>
       </el-row>
       <el-row style="margin-bottom: 10px;">
-        <el-col :span="6">联系人</el-col>
+        <el-col :span="6" class="pltzTxt">联系人</el-col>
         <el-col :span="14">
-          <el-input disabled clearable size="mini" v-model="adjust.contacts"/>
+          <el-input class="pltzIpt" disabled clearable size="mini" v-model="adjust.contacts"/>
         </el-col>
       </el-row>
       <el-row style="margin-bottom: 10px;">
-        <el-col :span="6">联系人电话</el-col>
+        <el-col :span="6" class="pltzTxt">联系人电话</el-col>
         <el-col :span="14">
-          <el-input disabled clearable size="mini" v-model="adjust.contactsPhone"/>
+          <el-input class="pltzIpt" disabled clearable size="mini" v-model="adjust.contactsPhone"/>
         </el-col>
       </el-row>
       <el-row style="margin-bottom: 10px;">
-        <el-col :span="6">详细地址</el-col>
+        <el-col :span="6" class="pltzTxt">详细地址</el-col>
         <el-col :span="14">
-          <el-input disabled clearable size="mini" v-model="adjust.address"/>
+          <el-input class="pltzIpt" disabled clearable size="mini" v-model="adjust.address"/>
         </el-col>
       </el-row>
       <div slot="footer">
@@ -702,7 +702,7 @@ export default {
       scope.row.reservedPeriod = ''
     },
     copy() {
-      this.$modal.msgSuccess("复制成功");
+      this.$modal.notifySuccess("复制成功");
       this.sonPageStu = 'add'
       this.sonDisable = false
       // this.getDetails(this.row)
@@ -776,7 +776,7 @@ export default {
               addDemand(this.basicForm).then(res => {
                 console.log(333)
                 if (res.code === 200) {
-                  this.$modal.msgSuccess("保存成功");
+                  this.$modal.notifySuccess("保存成功");
                   this.$modal.closeLoading();
                   this.back()
                 }
@@ -793,7 +793,7 @@ export default {
               // this.basicForm.puDemandItemList.push(...this.delDemandItemList)
               editDemand(param).then(res => {
                 if (res.code === 200) {
-                  this.$modal.msgSuccess("编辑成功");
+                  this.$modal.notifySuccess("编辑成功");
                   this.$modal.closeLoading();
                   this.back()
                 }
@@ -804,14 +804,14 @@ export default {
           }
         })
       } else {
-        this.$modal.msgWarning("明细信息不能为空!");
+        this.$modal.notifyWarning("明细信息不能为空!");
       }
     },
     submit() {
       this.$modal.loading("提交中...");
       submitDemand(this.basicForm).then(res => {
         if (res.code === 200) {
-          this.$modal.msgSuccess("提交成功");
+          this.$modal.notifySuccess("提交成功");
           this.$modal.closeLoading();
           this.back()
         }
@@ -1296,7 +1296,7 @@ export default {
               this.basicForm.puDemandItemList.push(line)
               // console.log('临时数组', line)
             }
-            this.$modal.msgSuccess("共粘贴" + rowList.length + '条数据');
+            this.$modal.notifySuccess("共粘贴" + rowList.length + '条数据');
           }
         }).catch(err => {
           this.$modal.closeLoading();
@@ -1304,7 +1304,7 @@ export default {
         this.$modal.closeLoading();
       console.log('列表', this.basicForm.puDemandItemList)
       } else {
-        this.$modal.msgWarning("复制长度不能超过1000!");
+        this.$modal.notifyWarning("复制长度不能超过1000!");
       }
     },
     // 明细行选择物料编码带出数据
@@ -1407,7 +1407,7 @@ export default {
         this.referCondition.stordocId = stordocId
         this.$refs.refer.init(this.referCondition)
       } else {
-        this.$modal.msgWarning("请先选择收货仓库");
+        this.$modal.notifyWarning("请先选择收货仓库");
       }
     },
     // 明细行清空收货仓库,货位,收货地址档案等
@@ -1479,7 +1479,7 @@ export default {
     // 批量调整
     adjustPl() {
       if(this.ids.length == 0) {
-        this.$modal.msgWarning('请至少选择一项数据进行操作!')
+        this.$modal.notifyWarning('请至少选择一项数据进行操作!')
       } else {
         this.adjust.open = true
       }
@@ -1532,7 +1532,7 @@ export default {
         this.referCondition.stordocId = stordocId
         this.$refs.refer.init(this.referCondition)
       } else {
-        this.$modal.msgWarning("请先选择收货仓库");
+        this.$modal.notifyWarning("请先选择收货仓库");
       }
     },
     // 关闭清空批量调整数据
@@ -1589,4 +1589,12 @@ export default {
 ::v-deep .el-table__row > td {
   border: none;
 }
+.pltzTxt{
+  text-align: right;
+  font-size: medium;
+  padding-right: 2%;
+}
+.pltzIpt{
+  width: 90%;
+}
 </style>

+ 15 - 13
src/views/purchase/PurchaseDemandList/index.vue

@@ -172,12 +172,11 @@
           @selection-change="handleSelectionChange"
         >
           <el-table-column show-overflow-tooltip type="selection" width="55" />
-          <el-table-column show-overflow-tooltip label="编码" align="center" width="200" prop="code"/>
+          <el-table-column show-overflow-tooltip label="编码" align="center" width="170" prop="code"/>
           <el-table-column show-overflow-tooltip label="需求日期" align="center" width="120" prop="demandDate"/>
-          <el-table-column show-overflow-tooltip label="审批结束日期" align="center" width="150" prop="approverFinishTime"/>
+          <el-table-column show-overflow-tooltip label="审批结束日期" align="center" width="120" prop="approverFinishTime"/>
           <el-table-column show-overflow-tooltip label="单据状态" align="center" prop="satus" :formatter="formatterStatus"/>
-          <!-- <el-table-column show-overflow-tooltip label="是否已处理需求" align="center" width="150" prop="isProcess" /> -->
-          <el-table-column show-overflow-tooltip label="业务类型" align="center" prop="billType" :formatter="formatterBillType"/>
+          <el-table-column show-overflow-tooltip label="业务类型" align="center" width="120" prop="billType" :formatter="formatterBillType"/>
           <!-- <el-table-column show-overflow-tooltip label="是否特殊需求" align="center" width="150" prop="isSpeical" /> -->
           <el-table-column show-overflow-tooltip label="需求人员" align="center" prop="demandPersonalName" />
           <el-table-column show-overflow-tooltip label="需求客户" align="center" prop="customerName" width="150"/>
@@ -207,7 +206,7 @@
           @size-change="handleSizeChange"
           @current-change="handleCurrentChange"
           :current-page="queryParams.pageNum"
-          :page-sizes="[10, 20 ,50 ,100 ,500, 1000]"
+          :page-sizes="[10, 20 ,50 ,100]"
           :page-size="10"
           layout="total, sizes, prev, pager, next, jumper"
           :total=total>
@@ -528,7 +527,7 @@ export default {
     handleExport(command) {
       if(command == '选中导出') {
         if (this.ids.length == 0) {
-          this.$modal.msgWarning("请选中至少一条数据");
+          this.$modal.notifyWarning("请选中至少一条数据");
         } else {
           let param = {all: false, ids: this.ids}
           exportDemand(param).then(res => {
@@ -590,7 +589,7 @@ export default {
       this.$modal.loading("提交中...");
       submitDemand(row).then(res => {
         if (res.code === 200) {
-          this.$modal.msgSuccess("提交成功");
+          this.$modal.notifySuccess("提交成功");
           this.$modal.closeLoading();
           this.getList(this.queryParams)
         }
@@ -604,7 +603,7 @@ export default {
       this.$modal.confirm('确定删除选择数据?').then(() => {
         delDemand(row.id).then(res => {
           if (res.code === 200) {
-            this.$modal.msgSuccess("删除成功");
+            this.$modal.notifySuccess("删除成功");
             this.getList(this.queryParams)
           }
         })
@@ -613,13 +612,13 @@ export default {
     // 批量删除按钮
     delItems() {
       if(this.ids.length == 0) {
-        this.$modal.msgWarning("请选中至少一条数据");
+        this.$modal.notifyWarning("请选中至少一条数据");
       } else {
         let param = this.ids.join()
         this.$modal.confirm('确认信息').then(() => {
         delDemand(param).then(res => {
           if (res.code === 200) {
-            this.$modal.msgSuccess("删除成功");
+            this.$modal.notifySuccess("删除成功");
             this.getList(this.queryParams)
           }
         })
@@ -686,7 +685,7 @@ export default {
         this.referCondition.stordocId = stordocId
         this.$refs.refer.init(this.referCondition)
       } else {
-        this.$modal.msgWarning("请先选择仓库")
+        this.$modal.notifyWarning("请先选择仓库")
       }
     },
     cleanMb() {
@@ -736,6 +735,9 @@ export default {
 </style>
 <style>
 .exporttable {
-    border: solid 1px #c0c0c0;
- }
+  border: solid 1px #c0c0c0;
+}
+.el-table .el-table__header-wrapper th {
+  font-size: 14px;
+}
 </style>

+ 24 - 12
src/views/purchase/contract/add/index.vue

@@ -126,6 +126,8 @@ export default {
       this.params.buyerName = buyerName;
       this.params.puDept = puDept;
       this.params.puDeptName = puDeptName;
+      this.params["currency"] = '1002Z0100000000001K1';
+      this.params["currencyName"] = '人民币';
       this.visible = await this.fetchCode();
     },
     //
@@ -196,8 +198,29 @@ export default {
       :visible.sync="visible"
       append-to-body
       destroy-on-close
+      :show-close="false"
       @close="hide"
     >
+      <div slot="title" 
+          style="
+            display: flex;
+            justify-content: space-between;
+            align-items: center;
+          ">
+        <h3>{{title}}</h3>
+        <div style="text-align: right">
+          <el-button
+            type="primary"
+            :size="$attrs.size"
+            :loading="loading"
+            @click="useSubmit('superForm')"
+            >确 认</el-button>
+          <el-button :size="$attrs.size" :loading="loading" @click="hide"
+            >取 消</el-button>
+        </div>
+        
+      </div>
+
       <el-super-form
         v-model="params"
         :dict="dict"
@@ -258,18 +281,7 @@ export default {
           </el-super-table>
         </el-tab-pane>
       </el-tabs>
-      <div style="padding: 20px; text-align: right">
-        <el-button :size="$attrs.size" :loading="loading" @click="hide"
-          >取 消</el-button
-        >
-        <el-button
-          type="primary"
-          :size="$attrs.size"
-          :loading="loading"
-          @click="useSubmit('superForm')"
-          >确 认</el-button
-        >
-      </div>
+      
     </el-drawer>
   </el-button>
 </template>

+ 13 - 8
src/views/purchase/contract/index.vue

@@ -36,6 +36,9 @@ export default {
     this.useQuery(this.params, this.page);
   },
   methods: {
+    setSelectable(){
+      return true
+    },
     //
     async fetchList(prop, page) {
       try {
@@ -166,23 +169,25 @@ export default {
       :size="size"
       :dict="dict"
       :columns="TableColumns"
-      stroage
-      hideOperationColumns
+      :selectable="setSelectable"
+      checkbox
       @row-dblclick="useSee"
       @selection-change="useSelect"
+      :page="page"
+      @pagination="useQuery(params, page)"
     >
-      <el-table-column fixed width="55" align="center" label="#" prop="$index">
-      </el-table-column>
-      <el-table-column fixed width="55" align="center" type="selection">
-      </el-table-column>
+      <!-- <el-table-column fixed width="55" align="center" label="#" prop="$index">
+      </el-table-column> -->
+      <!-- <el-table-column fixed width="55" align="center" type="selection">
+      </el-table-column> -->
     </el-super-table>
-    <pagination
+    <!-- <pagination
       :total="page.total"
       :page.sync="page.pageNum"
       :limit.sync="page.pageSize"
       @pagination="useQuery(params, page)"
       style="height: 32px; margin: 20px 0 0 0; padding: 0 !important"
-    />
+    /> -->
   </el-card>
 </template>
 <style scoped lang="scss">

+ 10 - 5
src/views/purchase/deliveryAddress/add.vue

@@ -1,5 +1,7 @@
 <template>
   <div id="addAddress">
+    <el-card style="height: calc(100vh - 15vh);position: relative;overflow: scroll;">
+    <span>基本信息</span>
     <el-form :model="basicForm" :rules="basicRules" ref="basic" label-width="auto">
       <el-row :gutter="10">
         <el-col :span="1.5">
@@ -142,6 +144,7 @@
         <el-button size="mini" plain @click="back">返回</el-button>
       </el-col>
     </div>
+    </el-card>
 
     <Refers ref="refer" @doSubmit="selectionsToInput" :single="true"/>
 
@@ -220,7 +223,7 @@ export default {
         this.$modal.loading("保存中...");
         addAddress(this.basicForm).then(res => {
           if (res.code === 200) {
-            this.$modal.msgSuccess("保存成功");
+            this.$modal.notifySuccess("保存成功");
             this.$modal.closeLoading();
             this.back()
           }
@@ -231,7 +234,7 @@ export default {
         this.$modal.loading("保存中...");
         editAddress(this.basicForm).then(res => {
           if (res.code === 200) {
-            this.$modal.msgSuccess("编辑成功");
+            this.$modal.notifySuccess("编辑成功");
             this.$modal.closeLoading();
             this.back()
           }
@@ -310,9 +313,11 @@ export default {
 
 <style lang="scss" scoped>
 .btn_group {
-  width: 100%;
-  margin: 20px 0;
+  // width: 100%;
+  // margin: 20px 0;
   display: flex;
-  justify-content: center;
+  // justify-content: center;
+  position: absolute;
+  top: 10px;right: 20px;
 } 
 </style>

+ 44 - 26
src/views/purchase/deliveryAddress/index.vue

@@ -1,7 +1,7 @@
 <template>
   <div id="deliveryAddressList">
     <div v-if="isList">
-      <el-card style="position: relative;">
+      <el-card style="height: calc(100vh - 15vh);position: relative;overflow: scroll;">
       <el-form class="search_area" label-width="100px">
         <el-row :gutter="10">
           <el-col :span="1.5">
@@ -172,31 +172,35 @@
         <el-table 
           :data="tableList" 
           fit
+          :cell-style="{ borderColor: '#c0c0c0' }"
+          :header-cell-style="{ borderColor: '#c0c0c0' }"
+          class="exporttable"
+          border
           max-height="480"
           style="font-size: 12px;"
           @selection-change="handleSelectionChange"
         >
           <el-table-column show-overflow-tooltip type="selection" width="55" />
-          <el-table-column show-overflow-tooltip label="仓库属性" align="center" width="200" prop="warehouseProperty" :formatter="formatterWarehouseProperty"/>
-          <el-table-column show-overflow-tooltip label="仓库档案名称" align="center" width="200" prop="warehouseName"/>
-          <el-table-column show-overflow-tooltip label="收货仓库编码" align="center" prop="code" width="200"/>
-          <el-table-column show-overflow-tooltip label="收货仓库名称" align="center" width="200" prop="name"/>
+          <el-table-column show-overflow-tooltip label="仓库属性" align="center" width="120" prop="warehouseProperty" :formatter="formatterWarehouseProperty"/>
+          <el-table-column show-overflow-tooltip label="仓库档案名称" align="center" width="180" prop="warehouseName"/>
+          <el-table-column show-overflow-tooltip label="收货仓库编码" align="center" prop="code" width="150"/>
+          <el-table-column show-overflow-tooltip label="收货仓库名称" align="center" width="180" prop="name"/>
           <el-table-column show-overflow-tooltip label="详细地址" align="center" width="200" prop="address"/>
-          <el-table-column show-overflow-tooltip label="物料分类" align="center" width="200" prop="materialClassifyName" />
-          <el-table-column show-overflow-tooltip label="联系人" align="center" width="200" prop="contactsName" />
-          <el-table-column show-overflow-tooltip label="联系人电话" align="center" prop="contactsPhone" width="200" />
-          <el-table-column show-overflow-tooltip label="NC档案ID" align="center" width="200" prop="createTime" />
+          <el-table-column show-overflow-tooltip label="物料分类" align="center" width="120" prop="materialClassifyName" />
+          <el-table-column show-overflow-tooltip label="联系人" align="center" width="100" prop="contactsName" />
+          <el-table-column show-overflow-tooltip label="联系人电话" align="center" prop="contactsPhone" width="120" />
+          <el-table-column show-overflow-tooltip label="NC档案ID" align="center" width="150" prop="createTime" />
           <el-table-column show-overflow-tooltip label="备注" align="center" width="120" prop="remark" />
-          <el-table-column show-overflow-tooltip label="创建人" align="center" width="200" prop="createByName" />
-          <el-table-column show-overflow-tooltip label="创建时间" align="center" width="200" prop="createTime" />
-          <el-table-column show-overflow-tooltip label="修改人" align="center" width="200" prop="updateByName" />
-          <el-table-column show-overflow-tooltip label="修改时间" align="center" width="200" prop="updateTime" />
-          <el-table-column show-overflow-tooltip label="同步状态" align="center" width="200" prop="sendStatus">
+          <el-table-column show-overflow-tooltip label="创建人" align="center" width="100" prop="createByName" />
+          <el-table-column show-overflow-tooltip label="创建时间" align="center" width="150" prop="createTime" />
+          <el-table-column show-overflow-tooltip label="修改人" align="center" width="100" prop="updateByName" />
+          <el-table-column show-overflow-tooltip label="修改时间" align="center" width="150" prop="updateTime" />
+          <el-table-column show-overflow-tooltip label="同步状态" align="center" width="100" prop="sendStatus">
             <template slot-scope="scope">
               {{ scope.row.sendStatus == 'Y' ? '已同步' : '未同步'}}
             </template>
           </el-table-column>
-          <el-table-column show-overflow-tooltip label="启用" align="center" width="200" prop="status">
+          <el-table-column show-overflow-tooltip label="启用" align="center" prop="status">
             <template slot-scope="scope">
               {{ scope.row.status == 'Y' ? '启用' : '停用' }}
             </template>
@@ -220,8 +224,8 @@
           @size-change="handleSizeChange"
           @current-change="handleCurrentChange"
           :current-page="queryParams.pageNum"
-          :page-sizes="[10, 20, 50, 100, 500, 1000]"
-          :page-size="100"
+          :page-sizes="[10, 20, 50, 100]"
+          :page-size="10"
           layout="total, sizes, prev, pager, next, jumper"
           :total=total>
         </el-pagination>
@@ -356,12 +360,12 @@ export default {
     },
     toNC() {
       if (this.allSelection.length == 0 || this.allSelection.length > 1) {
-        this.$modal.msgWarning("同步NC只能进行单条操作!");
+        this.$modal.notifyWarning("同步NC只能进行单条操作!");
       } else {
         console.log('参数', this.allSelection)
         toNc(this.allSelection[0]).then(res => {
           if (res.code === 200) {
-            this.$modal.msgSuccess("操作成功!");
+            this.$modal.notifySuccess("操作成功!");
             this.getList(this.queryParams)
           }
         })
@@ -369,13 +373,13 @@ export default {
     },
     startUse() {
       if (this.allSelection.length == 0 || this.allSelection.length > 1) {
-        this.$modal.msgWarning("启用停用只能进行单条操作!");
+        this.$modal.notifyWarning("启用停用只能进行单条操作!");
       } else {
         console.log('参数', this.allSelection)
         let param = {id: this.allSelection[0].id, status: 'Y' }
         enable(param).then(res => {
           if (res.code === 200) {
-            this.$modal.msgSuccess("操作成功!");
+            this.$modal.notifySuccess("操作成功!");
             this.getList(this.queryParams)
           }
         })
@@ -383,13 +387,13 @@ export default {
     },
     stopUse() {
       if (this.allSelection.length == 0 || this.allSelection.length > 1) {
-        this.$modal.msgWarning("启用停用只能进行单条操作!");
+        this.$modal.notifyWarning("启用停用只能进行单条操作!");
       } else {
         console.log('参数', this.allSelection)
         let param = { id: this.allSelection[0].id, status: 'N' }
         enable(param).then(res => {
           if (res.code === 200) {
-            this.$modal.msgSuccess("操作成功!");
+            this.$modal.notifySuccess("操作成功!");
             this.getList(this.queryParams)
           }
         })
@@ -397,14 +401,14 @@ export default {
     },
     deletes() {
       if (this.allSelection.length == 0) {
-        this.$modal.msgWarning("请至少选择一条数据!");
+        this.$modal.notifyWarning("请至少选择一条数据!");
       } else {
         let param = this.allSelection.map(item => item.id)
         let rows = param.join()
         this.$modal.confirm('确认删除选择数据?').then(() => {
           delAddress(rows).then(res => {
             if (res.code === 200) {
-              this.$modal.msgSuccess("删除成功");
+              this.$modal.notifySuccess("删除成功");
               this.getList(this.queryParams)
             }
           })
@@ -440,7 +444,7 @@ export default {
       this.$modal.confirm('确认删除选择数据').then(() => {
         delAddress(row.id).then(res => {
           if (res.code === 200) {
-            this.$modal.msgSuccess("删除成功");
+            this.$modal.notifySuccess("删除成功");
             this.getList(this.queryParams)
           }
         })
@@ -511,4 +515,18 @@ export default {
   margin-top: 10px;
   text-align: right;
 }
+::v-deep .el-table__row > td {
+  border: none;
+}
+ ::v-deep .el-card .el-form-item {
+  margin-bottom: 10px;
+}
+</style>
+<style>
+.exporttable {
+  border: solid 1px #c0c0c0;
+}
+.el-table .el-table__header-wrapper th {
+  font-size: 14px;
+}
 </style>

+ 7 - 7
src/views/purchase/purchase-order/add/column.js

@@ -21,12 +21,12 @@ export const Columns = [
     isShow:true,
     require: true,
   },
-  { 
-    key: "oaDemandNo", 
-    title: "OA需求单号", 
-    inputType: "Input",  
-    isShow:true,
-  },
+  // { 
+  //   key: "oaDemandNo", 
+  //   title: "OA需求单号", 
+  //   inputType: "Input",  
+  //   isShow:true,
+  // },
   { 
     key: "erpOrderCode", 
     title: "erp订单编号", 
@@ -465,7 +465,7 @@ export const Columns = [
 
   },
   { key: "isArrivalReson", title: "到货超期原因", inputType: "Input", isShow:true, },
-  { key: "midOrderNo", title: "中台采购订单号", inputType: "Input", isShow:true, },
+  // { key: "midOrderNo", title: "中台采购订单号", inputType: "Input", isShow:true, },
   { key: "marketingCode", title: "销售订单号", inputType: "Input", isShow:true, },
   { key: "isArrival", title: "到货超期", inputType: "Checkbox",  isShow:true,},
   { key: "createByName", title: "创建人", inputType: "Input", isShow:false, },

+ 15 - 10
src/views/purchase/purchase-order/add/index.vue

@@ -248,8 +248,10 @@ export default {
         if (valid) {
 
           if(!this.params['puOrderItemList'].length || !this.params['puOrderExecuteList'].length){
-
-            this.$message.error('请填写订单行!');
+            this.$notify.error({
+              title: '错误',
+              message: '请填写订单行!'
+            });
             return false;
           }
 
@@ -258,14 +260,20 @@ export default {
 
          if(isPrice.length){
 
-            this.$message.error('询价失败!');
+            this.$notify.error({
+              title: '错误',
+              message: '询价失败!'
+            });
             return false
 
          }
          console.log(isPrice,'isPrice');
           cb();
         } else {
-          this.$message.error('存在必填项未填写');
+          this.$notify.error({
+              title: '错误',
+              message: '存在必填项未填写'
+            });
           console.log('error submit!!');
           return false;
         }
@@ -534,15 +542,12 @@ export default {
         >
           <h3>新增</h3>
           <div style="text-align: right">
-            <el-button size="mini" @click="handleCancel">取消</el-button>
             <el-button 
               size="mini" 
-              type="danger"
+              type="primary"
               @click="handleSava"
             >保存</el-button>
-            <!-- <el-button size="mini" type="info" @click="handleSubmit">
-              保存并新增
-            </el-button> -->
+            <el-button size="mini" @click="handleCancel">取消</el-button>
           </div>
         </div>
         <el-row style="display: flex; flex-wrap: wrap">
@@ -690,11 +695,11 @@ export default {
               :data="params[column.key]" 
               style="width: 100%"
               :height="params[column.key].length ? 300 : 100"
+              border
             >
               <el-table-column
                 v-for="(cColumn, cIndex) in column.tableColumns"
                 :key="cIndex"
-                
                 :label="cColumn.title"
                 :width="cColumn.width || 80"
               >

+ 6 - 6
src/views/purchase/purchase-order/column.js

@@ -303,12 +303,12 @@ export const TableColumns = [
     },
   },
   // { item:{key: "flowId", title: "OA流程ID" },
-  { 
-    item:{ key: "oaDemandNo", title: "OA需求单号" ,},
-    attr:{
-      isHidden:true,
-    },
-  },
+  // { 
+  //   item:{ key: "oaDemandNo", title: "OA需求单号" ,},
+  //   attr:{
+  //     isHidden:true,
+  //   },
+  // },
   { 
     item:{
       key: "erpOrderCode", 

+ 24 - 10
src/views/purchase/purchase-order/edit/index.vue

@@ -69,13 +69,15 @@ export default {
     handleSynchronousMaterial(tableOne, tableTwo) {
       let _this = this;
       // this.params[tableOne]-- -> this.params[tableTwo]
-      this.params[tableOne] &&
+      this.params[tableOne] && this.params[tableOne].length &&
 
         this.params[tableOne].forEach((item, index) => {
 
           for (const key in item) {
 
-            if (key in _this.params[tableTwo][index]) {
+            if ( _this.params[tableTwo][index] &&
+              ( key in _this.params[tableTwo][index])
+            ) {
 
                 _this.params[tableTwo][index].material = item.material;
 
@@ -178,21 +180,29 @@ export default {
     },
     // 判断保存条件
     judgeSaveCondition(cb){
+      const _this = this;
       this.$refs['orderEditForm'].validate(async (valid) => {
         if (valid) {
 
-          // 执行结果在审批之后出现 !this.params['puOrderExecuteList'].length
-          if(!this.params['puOrderItemList'].length ){
-
-            this.$message.error('请填写订单行!');
+          // 执行结果在审批之后出现 
+          let validList = _this.params['puOrderItemList'].filter(item => item.delFlag === '0');
+          if(!validList.length ){
+            _this.$notify.error({
+              title: '错误',
+              message: '请填写订单行!'
+            });
+            
             return false;
           }
 
-          let isPrice =  this.params.puOrderItemList.filter(item => !item.whetherCompleteInquiry);
+          let isPrice =  _this.params.puOrderItemList.filter(item => !item.whetherCompleteInquiry);
 
          if(isPrice.length){
 
-            this.$message.error('询价失败!');
+          _this.$notify.error({
+              title: '错误',
+              message: '询价失败!'
+            });
             return false
 
          }
@@ -200,7 +210,10 @@ export default {
           cb();
 
         } else {
-          this.$message.error('存在必填项未填写');
+          _this.$notify.error({
+              title: '错误',
+              message: '存在必填项未填写'
+            });
           console.log('error submit!!');
           return false;
         }
@@ -487,8 +500,8 @@ export default {
           ">
           <h3>{{ handleIsRevise() ? '修订' : '编辑' }}</h3>
           <div style="text-align: right">
+            <el-button :size="size" type="primary" @click="handleSava">更 新</el-button>
             <el-button :size="size" @click="handleCancel">取 消</el-button>
-            <el-button :size="size" type="danger" @click="handleSava">更 新</el-button>
           </div>
         </div>
         <el-row style="display:flex; flex-wrap: wrap;">
@@ -611,6 +624,7 @@ export default {
             :name="column.key"
             >
             <el-table 
+              border
               :data="params[column.key].filter(item => item.delFlag === '0')" 
               style="width: 100%"
               :height="params[column.key].filter(item => item.delFlag === '0').length ? 300 : 100"

+ 9 - 0
src/views/purchase/purchase-order/edit/initColumn.js

@@ -49,6 +49,15 @@ export const forbidden = (isEdit,source) => {
 
       })
     }
+
+    updateColumns.forEach(item => {
+
+      if (item.key == 'paymentMoney' || item.key == 'invoiceMoney') {
+        item.disabled = true;
+      }
+    })
+
+
   }
   else{  
 

+ 46 - 31
src/views/purchase/purchase-order/index.vue

@@ -33,12 +33,9 @@ export default {
     return {
       loading: false,
       tabLoading:false,
-      isSimpleSearch: true,
-      pageSizes: [10, 20, 50, 100],
-      page: initPage(),
+      page: { pageNum: 1, pageSize: 10, total: 0 },
       searchColumns: SearchColumns,
       params: initParams(SearchColumns),
-
       tableColumns: TableColumns,
       tableData: [],
       tabColumns: initTabColumns(),
@@ -99,14 +96,25 @@ export default {
         }
       }
     },
-    handleSearchChange() {
-      this.isSimpleSearch = !this.isSimpleSearch;
+    setSelectable(){
+      return true
+    },
+    setTabSelectable(){
+
+      if(this.tabName === 'puOrderItemList'){
+        return true
+      }
+
+      return false
+
     },
 
     // 刷新操作
     handleRefreshList() {
 
-      this.page = initPage();
+      this.page.pageNum = 1;
+
+      this.page.pageSize = 10;
 
       this.checkedList = [];
               
@@ -131,7 +139,9 @@ export default {
     // 重置操作
     handleResetList() {
 
-      this.page = initPage();
+      this.page.pageNum = 1;
+      
+      this.page.pageSize = 10;
 
       this.params = initParams(SearchColumns);
 
@@ -224,12 +234,7 @@ export default {
 
           success();
 
-        }).catch(() => {
-
-          this.$message({
-            type: 'info',
-            message: '已取消操作!'
-          });          
+        }).catch(() => {        
         });
     },
 
@@ -269,7 +274,8 @@ export default {
         this.fetchSubmit(puOrderIds);
       
       }else{
-        this.$message({
+        this.$notify({
+          title: '警告',
           message: '当前选中存在不满足提交条件的数据!',
           type: 'warning'
         });
@@ -499,6 +505,9 @@ export default {
       }
     },
     judgeIsOption(type,source){
+      // status: 0=自由态,1=审批中,2=已审核,3=已驳回 4=提交中
+      // source: 1=自动协议直采,2=协议直采,3=手工
+      // isEnd:整单关闭标识
       switch(type){
         case 'edit':
           return (source.status == '0' || source.status == '3') && source.isEnd === 'N';
@@ -542,8 +551,8 @@ export default {
     ></el-super-search>
   
     <!-- 操作 -->
-    <el-row :gutter="24" style="padding: 0 20px">
-      <el-col :span="24" style="text-align: right;margin: 0 10px 0 0">
+    <el-row :gutter="24" type="flex" justify="end" style="margin-bottom: 16px;">
+      <el-col :span="24" style="text-align: right;">
         <el-button size="mini" type="primary" @click="handleOpenAddDrawer"
           v-hasPermi="['material:order:add']">新增</el-button>
        
@@ -573,21 +582,24 @@ export default {
 
     <el-super-table
       v-model="tableData"
-      size="mini"
+      max-height="480"
       :dict="dict"
       :columns="tableColumns"
-      hideOperationColumns
-      stroage
+      :selectable="setSelectable"
+      checkbox
+      :page="page"
+      :iconOperation="false"
+      @pagination="fetchList(params, page)"
       @row-dblclick="handleOpenSeeDrawer" 
       @row-click="handleDetailsData" 
       @select="handleSelect"
     >
 
-      <el-table-column type="selection" width="45" ></el-table-column>
-      <el-table-column type="index" width="50" label="序号"></el-table-column>
+      <!-- <el-table-column type="selection" width="45" fixed></el-table-column>
+      <el-table-column type="index" width="50" label="序号"></el-table-column> -->
+      
       <el-table-column fixed="right" label="操作" width="120">
           <template slot-scope="scope">
-          <!-- <template #operation="{scope}"> -->
             <el-button 
               v-if="judgeIsOption('revise',scope.row)"
               type="text" 
@@ -624,14 +636,15 @@ export default {
     
     </el-super-table>
 
-    <pagination
+    <!-- <pagination
       v-show="page.total>0"
       :total="page.total"
       :page.sync="page.pageNum"
       :limit.sync="page.pageSize"
+      :page-sizes="[10,20,50,100,500,1000]"
       @pagination="fetchList(params, page)"
     />
-   
+    -->
     <div style="position: relative; padding-top: 10px;" v-loading="tabLoading">
       <el-row style="position: absolute; top: 30px; right: 20px;z-index: 10;">
         <el-button 
@@ -650,19 +663,21 @@ export default {
         >
           <el-super-table
             v-model="tabTableDatas[column.key]"
-            size="mini"
+            max-height="200"
             :dict="dict"
-            hideOperationColumns
-            stroage
             :columns="column.tableColumns"
+            :selectable="setTabSelectable"
+            :checkbox="setTabSelectable()"
+            :page="{pageNum: 1, pageSize: 10, total: 0}"
+            :iconOperation="false"
             @select="handleTabSelect"
           >
-            <el-table-column
+            <!-- <el-table-column
               v-if=" tabName === 'puOrderItemList'" 
               type="selection" 
               width="45"
-            ></el-table-column>
-            <el-table-column type="index" width="50" label="序号"></el-table-column>
+            ></el-table-column> -->
+            <!-- <el-table-column type="index" width="50" label="序号"></el-table-column> -->
           </el-super-table>
          
         </el-tab-pane>

+ 1 - 1
src/views/purchase/purchase-order/see/index.vue

@@ -296,7 +296,7 @@ export default {
             :label="column.title" 
             :name="column.key"
           >
-            <el-table :data="params[column.key]" style="width: 100%">
+            <el-table :data="params[column.key]" style="width: 100%"  border>
               <el-table-column 
                 v-for="(cColumn, cIndex) in column.tableColumns" 
                 :key="cIndex" 

+ 1 - 1
src/views/purchase/task/columns.js

@@ -75,7 +75,7 @@ export default function useColumns() {
     { item: { key: "unitName", title: "单位" }, attr: {} },
   ].map(({ item, attr }) => ({
     attr,
-    item: { ...item, hidden: true, fixed: false },
+    item: { ...item, hidden: true, width: 200 },
   }));
 
   const SearchColumns = [

+ 14 - 27
src/views/purchase/task/index.vue

@@ -57,6 +57,7 @@ export default {
             $index: (pageNum - 1) * pageSize + index + 1,
           }));
           this.page.total = total;
+          console.log("selectData", this.selectData);
         }
       } catch (err) {
         // catch
@@ -98,7 +99,8 @@ export default {
       this.useQuery(this.params, this.page);
     },
     // 选 择
-    useSelect(prop) {
+    useSelect(prop, value) {
+      console.log(prop, value);
       this.selectData = prop;
     },
     // 明 细
@@ -125,7 +127,7 @@ export default {
       @reset="useReset"
       @submit="useQuery(params, page)"
     ></el-super-search>
-    <div style="margin: 0 0 20px 0; text-align: right">
+    <div style="margin: 0 0 16px 0; text-align: right">
       <el-button-group>
         <thxq-button
           :size="size"
@@ -168,39 +170,24 @@ export default {
       :size="size"
       :dict="dict"
       :columns="TableColumns"
-      stroage
-      hideOperationColumns
-      @row-dblclick="useSee"
-      @selection-change="useSelect"
+      :selectable="setSelectable"
+      checkbox
+      @row-select="useSelect"
+      :page="page"
+      @pagination="useQuery(params, page)"
     >
-      <el-table-column fixed width="55" align="center" label="#" prop="$index">
-      </el-table-column>
-      <el-table-column
-        fixed
-        width="55"
-        align="center"
-        type="selection"
-        :selectable="setSelectable"
-      >
-      </el-table-column>
     </el-super-table>
-    <pagination
-      :total="page.total"
-      :page.sync="page.pageNum"
-      :limit.sync="page.pageSize"
-      @pagination="useQuery(params, page)"
-      style="height: 32px; margin: 20px 0 0 0; padding: 0 !important"
-    />
   </el-card>
 </template>
 <style scoped lang="scss">
 .el-card {
-  width: calc(100% - 20px);
+  width: calc(100% - 32px);
   height: 100%;
-  margin: 10px;
-  padding: 20px;
+  margin: 16px;
+  padding: 16px;
+  border-radius: 8px;
 }
 .el-button-group + .el-button-group {
-  margin: 0 0 0 10px;
+  margin: 0 0 0 8px;
 }
 </style>

文件差异内容过多而无法显示
+ 613 - 626
src/views/purchase/transferOrder/add.vue


+ 98 - 38
src/views/purchase/transferOrder/index.vue

@@ -71,6 +71,9 @@
         <el-table 
           :data="tableList" 
           fit
+          :cell-style="{ borderColor: '#c0c0c0' }"
+          :header-cell-style="{ borderColor: '#c0c0c0' }"
+          class="exporttable"
           border
           show-summary
           highlight-current-row
@@ -79,38 +82,38 @@
           ref="multipleTable"
           @row-click="select"
         >
-          <el-table-column show-overflow-tooltip label="调出库存" align="center" prop="deliveryInventoryOrgName" width="150px"/>
-          <el-table-column show-overflow-tooltip label="订单类型" align="center" prop="billType" width="150px"/>
-          <el-table-column show-overflow-tooltip label="单据号" align="center" prop="code" width="180px"/>
-          <el-table-column show-overflow-tooltip label="单据日期" align="center" prop="billDate" width="150px"/>
-          <el-table-column show-overflow-tooltip label="调拨方式" align="center" prop="allotType" width="150px">
+          <el-table-column show-overflow-tooltip label="单据号" align="center" prop="code" width="150px"/>
+          <el-table-column show-overflow-tooltip label="单据状态" align="center" prop="status" width="100px" :formatter="formatterStatus"/>
+          <el-table-column show-overflow-tooltip label="调出库存组织" align="center" prop="deliveryInventoryOrgName" width="200px"/>
+          <el-table-column show-overflow-tooltip label="订单类型" align="center" prop="billType" width="220px" :formatter="formatterBillType"/>
+          <el-table-column show-overflow-tooltip label="单据日期" align="center" prop="billDate" width="100px"/>
+          <el-table-column show-overflow-tooltip label="调拨方式" align="center" prop="allotType" width="180px">
             <template slot-scope="scope">
               <span>{{ scope.row.allotType == '2' ? '财务组织间调拨' : '财务组织内库存组织内调拨' }}</span>
             </template>
           </el-table-column>
           <el-table-column show-overflow-tooltip label="调拨出库单号" align="center" prop="deliveryCode" width="150px"/>
           <el-table-column show-overflow-tooltip label="调拨入库单号" align="center" prop="storageCode" width="150px"/>
-          <el-table-column show-overflow-tooltip label="调拨入库组织" align="center" prop="storageInventoryOrgName" width="150px"/>
-          <el-table-column show-overflow-tooltip label="调出业务员" align="center" prop="businessPersonalName" width="150px"/>
-          <el-table-column show-overflow-tooltip label="调出部门" align="center" prop="deliveryDeptName" width="150px"/>
+          <el-table-column show-overflow-tooltip label="调拨入库组织" align="center" prop="storageInventoryOrgName" width="200px"/>
+          <el-table-column show-overflow-tooltip label="调出业务员" align="center" prop="businessPersonalName" width="100px"/>
+          <el-table-column show-overflow-tooltip label="调出部门" align="center" prop="deliveryDeptName" width="120px"/>
           <el-table-column show-overflow-tooltip label="币种" align="center" prop="currencyName"/>
           <el-table-column show-overflow-tooltip label="折本汇率" align="center" prop="rate"/>
-          <el-table-column show-overflow-tooltip label="在途归属" align="center" prop="onRouteAffilliation" width="150px"/>
+          <el-table-column show-overflow-tooltip label="在途归属" align="center" prop="onRouteAffilliation" width="200px"/>
           <el-table-column show-overflow-tooltip label="总数量" align="center" prop="qty"/>
-          <el-table-column show-overflow-tooltip label="结算路径" align="center" prop="accountPath" width="150px"/>
+          <el-table-column show-overflow-tooltip label="结算路径" align="center" prop="accountPath" width="100px"/>
           <el-table-column show-overflow-tooltip label="客户" align="center" prop="customerName" width="150px"/>
           <el-table-column show-overflow-tooltip label="调出仓库" align="center" prop="deliveryWarehouseName" width="180px"/>
-          <el-table-column show-overflow-tooltip label="调入仓库" align="center" prop="storageWarehouseName" width="150px"/>
-          <el-table-column show-overflow-tooltip label="物流项目组" align="center" prop="materialProject" width="150px"/>
+          <el-table-column show-overflow-tooltip label="调入仓库" align="center" prop="storageWarehouseName" width="180px"/>
+          <el-table-column show-overflow-tooltip label="物流项目组" align="center" prop="materialProject" width="120px"/>
           <el-table-column show-overflow-tooltip label="利润中心" align="center" prop="liacenterName" width="150px"/>
           <!-- <el-table-column show-overflow-tooltip label="已同步WMS" align="center" prop="isSendWms" width="150px"/> -->
           <el-table-column show-overflow-tooltip label="备注" align="center" prop="remark" width="150px"/>
-          <el-table-column show-overflow-tooltip label="单据状态" align="center" prop="status" width="150px"/>
-          <el-table-column show-overflow-tooltip label="制单人" align="center" prop="createByName" width="150px"/>
+          <el-table-column show-overflow-tooltip label="制单人" align="center" prop="createByName" width="100px"/>
           <el-table-column show-overflow-tooltip label="制单日期" align="center" prop="createTime" width="150px"/>
           <!-- <el-table-column show-overflow-tooltip label="审批人" align="center" prop="code" width="150px"/> -->
           <!-- <el-table-column show-overflow-tooltip label="审批日期" align="center" prop="code" width="150px"/> -->
-          <el-table-column show-overflow-tooltip label="最后修改人" align="center" prop="updateByName" width="150px"/>
+          <el-table-column show-overflow-tooltip label="最后修改人" align="center" prop="updateByName" width="100px"/>
           <el-table-column show-overflow-tooltip label="最后修改时间" align="center" prop="updateTime" width="150px"/>
           <el-table-column
           fixed="right"
@@ -131,8 +134,8 @@
           @size-change="handleSizeChange"
           @current-change="handleCurrentChange"
           :current-page="queryParams.pageNum"
-          :page-sizes="[10, 20, 50, 100, 500, 1000]"
-          :page-size="100"
+          :page-sizes="[10, 20, 50, 100]"
+          :page-size="10"
           layout="total, sizes, prev, pager, next, jumper"
           :total=total>
         </el-pagination>
@@ -142,6 +145,9 @@
             <el-table
             :data="materialInfo" 
             fit
+            :cell-style="{ borderColor: '#c0c0c0' }"
+            :header-cell-style="{ borderColor: '#c0c0c0' }"
+            class="exporttable"
             border
             max-height="380"
             style="font-size: 12px;"
@@ -154,31 +160,31 @@
             <el-table-column show-overflow-tooltip label="规格" align="center" prop="specification"/>
             <el-table-column show-overflow-tooltip label="生产厂家/代理人" align="center" prop="manufacturer" width="150px"/>
             <el-table-column show-overflow-tooltip label="产地" align="center" prop="originPlace" width="150px"/>
-            <el-table-column show-overflow-tooltip label="型号" align="center" prop="model" width="150px"/>
-            <el-table-column show-overflow-tooltip label="单位" align="center" prop="unitName" width="150px"/>
+            <el-table-column show-overflow-tooltip label="型号" align="center" prop="model"/>
+            <el-table-column show-overflow-tooltip label="单位" align="center" prop="unitName"/>
             <!-- <el-table-column show-overflow-tooltip label="调出仓库" align="center" prop="deliveryWarehouseName"/> -->
-            <el-table-column show-overflow-tooltip label="数量" align="center" prop="qty" width="150px"/>
-            <el-table-column show-overflow-tooltip label="主单位" align="center" prop="mainUnit" width="150px"/>
-            <el-table-column show-overflow-tooltip label="换算率" align="center" prop="equation" width="150px"/>
-            <el-table-column show-overflow-tooltip label="主数量" align="center" prop="mainQty" width="150px"/>
-            <el-table-column show-overflow-tooltip label="税率" align="center" prop="rate" width="150px"/>
+            <el-table-column show-overflow-tooltip label="数量" align="center" prop="qty"/>
+            <el-table-column show-overflow-tooltip label="主单位" align="center" prop="mainUnit"/>
+            <el-table-column show-overflow-tooltip label="换算率" align="center" prop="equation"/>
+            <el-table-column show-overflow-tooltip label="主数量" align="center" prop="mainQty"/>
+            <el-table-column show-overflow-tooltip label="税率" align="center" prop="rate"/>
             <!-- <el-table-column show-overflow-tooltip label="调入仓库" align="center" prop="storageWarehouseName"/> -->
-            <el-table-column show-overflow-tooltip label="批次号" align="center" prop="patchNo" width="150px"/>
-            <el-table-column show-overflow-tooltip label="产品批号" align="center" prop="producBatch" width="150px"/>
-            <el-table-column show-overflow-tooltip label="生产日期" align="center" prop="manufactureDate" width="150px"/>
+            <el-table-column show-overflow-tooltip label="批次号" align="center" prop="patchNo"/>
+            <el-table-column show-overflow-tooltip label="产品批号" align="center" prop="producBatch"/>
+            <el-table-column show-overflow-tooltip label="生产日期" align="center" prop="manufactureDate"/>
             <el-table-column show-overflow-tooltip label="有效期至/失效日期" align="center" prop="periodEndDate" width="150px"/>
-            <el-table-column show-overflow-tooltip label="批准文号" align="center" prop="ratifyCode" width="150px"/>
-            <el-table-column show-overflow-tooltip label="注册证号" align="center" prop="registration" width="150px"/>
-            <el-table-column show-overflow-tooltip label="商品名" align="center" prop="productCode" width="150px"/>
+            <el-table-column show-overflow-tooltip label="批准文号" align="center" prop="ratifyCode"/>
+            <el-table-column show-overflow-tooltip label="注册证号" align="center" prop="registration"/>
+            <el-table-column show-overflow-tooltip label="商品名" align="center" prop="productCode"/>
             <el-table-column show-overflow-tooltip label="通用名" align="center" prop="commonCode" width="150px"/>
-            <el-table-column show-overflow-tooltip label="剂型" align="center" prop="drug" width="150px"/>
+            <el-table-column show-overflow-tooltip label="剂型" align="center" prop="drug"/>
             <el-table-column show-overflow-tooltip label="调入调出结算规则明细" align="center" prop="ruleDetail" width="180px"/>
-            <el-table-column show-overflow-tooltip label="上市许可持有人" align="center" prop="marketingApprovalPersonal" width="150px"/>
+            <el-table-column show-overflow-tooltip label="上市许可持有人" align="center" prop="marketingApprovalPersonal" width="120px"/>
             <el-table-column show-overflow-tooltip label="生产许可证号/经营许可证号/备案凭证号" align="center" prop="production" width="260px"/>
-            <el-table-column show-overflow-tooltip label="pi码" align="center" prop="pi" width="150px"/>
+            <el-table-column show-overflow-tooltip label="pi码" align="center" prop="pi"/>
             <!-- <el-table-column show-overflow-tooltip label="无税金额" align="center" prop="code"/> -->
             <!-- <el-table-column show-overflow-tooltip label="备注" align="center" prop="code"/> -->
-            <el-table-column show-overflow-tooltip label="类别" align="center" prop="classify" width="150px"/>
+            <el-table-column show-overflow-tooltip label="类别" align="center" prop="classify"/>
             <el-table-column show-overflow-tooltip label="客户物料码" align="center" prop="customerLogistic" width="150px"/>
             <el-table-column show-overflow-tooltip label="客户物料名称" align="center" prop="customerLogisticName" width="150px"/>
             </el-table>
@@ -188,6 +194,9 @@
             <el-table
             :data="receiveInfo" 
             fit
+            :cell-style="{ borderColor: '#c0c0c0' }"
+            :header-cell-style="{ borderColor: '#c0c0c0' }"
+            class="exporttable"
             border
             max-height="380"
             style="font-size: 12px;"
@@ -228,6 +237,9 @@
             <el-table
             :data="priceList" 
             fit
+            :cell-style="{ borderColor: '#c0c0c0' }"
+            :header-cell-style="{ borderColor: '#c0c0c0' }"
+            class="exporttable"
             border
             max-height="380"
             style="font-size: 12px;"
@@ -264,6 +276,9 @@
             <el-table
             :data="resultList" 
             fit
+            :cell-style="{ borderColor: '#c0c0c0' }"
+            :header-cell-style="{ borderColor: '#c0c0c0' }"
+            class="exporttable"
             border
             max-height="380"
             style="font-size: 12px;"
@@ -330,7 +345,7 @@ export default {
         storageInventoryOrg: '',
         code: '',
         pageNum: 1,
-        pageSize: 5
+        pageSize: 10
       },
       referCondition: {
         type: '',
@@ -359,6 +374,43 @@ export default {
     this.getList(this.queryParams)
   },
   methods: {
+    formatterBillType(row) {
+      switch (row.billType) {
+        case '5X-01':
+          return '普通+不传wms+外仓互调(同组织)'
+        case '5X-Cxx-01':
+          return '普通+传wms+外仓调中心仓'
+        case '5X-Cxx-02':
+          return '普通+传wms+中心仓调中心仓(跨组织)'
+        case '5X-Cxx-03':
+          return '普通+传wms+中心仓调外仓'
+        case '5X-Cxx-04':
+          return '普通+传wms+中心仓中心分仓互调'
+        case '5X-Cxx-05':
+          return 'GH+不传WMS+外仓互调(同组织)'
+        case '5X-Cxx-06':
+          return 'GH+传WMS+中心仓调外仓'
+        case '5X-Cxx-07':
+          return 'GH+传WMS+外仓调中心仓'
+        case '5X-Cxx-08':
+          return 'GH+传WMS+中心仓调中心仓'
+        case '5X-Cxx-09':
+          return 'GH+传WMS+中心仓中心分仓互调'
+      }
+    },
+    // 格式化表格内容
+    formatterStatus(row) {
+      switch (row.status) {
+        case '0':
+          return '未提交'
+        case '1':
+          return '审批中'
+        case '2':
+          return '已完成'
+        case '3':
+          return '已驳回'
+      }
+    },
     searchList() {
       this.getList(this.queryParams)
     },
@@ -370,7 +422,7 @@ export default {
         storageInventoryOrg: '',
         code: '',
         pageNum: 1,
-        pageSize: 5
+        pageSize: 10
       }
       this.getList(this.queryParams)
     },
@@ -405,7 +457,7 @@ export default {
       submitOrder(row).then(res => {
         if (res.code === 200) {
           this.$modal.closeLoading();
-          this.$modal.msgSuccess("提交成功");
+          this.$modal.notifySuccess("提交成功");
           this.getList(this.queryParams)
         }
       }).catch(err => {
@@ -423,7 +475,7 @@ export default {
       this.$modal.confirm('确认信息').then(() => {
         delOrder(row.id).then(res => {
           if (res.code === 200) {
-            this.$modal.msgSuccess("删除成功");
+            this.$modal.notifySuccess("删除成功");
             this.getList(this.queryParams)
           }
         })
@@ -485,4 +537,12 @@ export default {
 ::v-deep .el-table__row > td {
   border: none;
 }
+ ::v-deep .el-card .el-form-item {
+  margin-bottom: 10px;
+}
+</style>
+<style>
+.exporttable {
+  border: solid 1px #c0c0c0;
+ }
 </style>

部分文件因为文件数量过多而无法显示