Browse Source

Merge branch 'dev' of http://172.16.100.139/new-business/drp-web into dev

DongZ 1 year ago
parent
commit
6938e25b15

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

@@ -244,9 +244,9 @@ export default {
     >
       <el-tag
         v-for="(tag, index) in lastSelectData"
-        :size="size"
         hit
         closable
+        :size="size"
         @close="useDelete(index)"
         style="margin-right: 5px"
       >
@@ -258,6 +258,7 @@ export default {
 <style scoped>
 .popover-select-v2 .el-input {
   width: inherit;
+  height: 100%;
 }
 .popover-select-v2 .el-input .el-icon-search {
   cursor: pointer;
@@ -273,4 +274,5 @@ export default {
 ::v-deep .el-table--mini .el-table__cell {
   height: 50px;
 }
+
 </style>

+ 1 - 1
src/components/query-scheme/colums.js

@@ -17,7 +17,7 @@ export const Columns = [
   {
     item:{
       key: 'value',
-      title:'值'
+      title:'值',
     },
     attr:{
       is:'el-input',

+ 257 - 79
src/components/query-scheme/index.vue

@@ -1,78 +1,177 @@
-
 <script>
-import { Columns } from './colums';
+import { Columns } from "./colums";
 export default {
-  name:'Inquire',
-  components:{
-    Sizer: () => import('./sizer/index.vue'),
+  name: "Inquire",
+  components: {
+    Sizer: () => import("./sizer/index.vue"),
   },
-  props:{
-    size:{
-      type:String,
-      default:'mini',
+  props: {
+    size: {
+      type: String,
+      default: "mini",
     },
     // 候选条件
-    candidate:{
-      type:Array,
-      default: () =>[]
+    candidate: {
+      type: Array,
+      default: () => [],
     },
   },
-  data(){
+  data() {
     return {
-      title: '查询方案',
+      title: "查询方案",
       visible: false,
-      tableData:[ 
-        { 
-          candidate: "orderCode", 
-          options: "like", 
-          value: "12315465416546", 
-          operators: [ { "label": "等于", "value": "eq" }, { "label": "模糊", "value": "like" } ],
-          attr:{ is: 'el-input'}
-        }, 
-        { 
-          candidate: "date", 
-          options: "range", 
-          value: "3333", 
-          operators: [ { "label": "范围", "value": "range" } ] ,
-          attr:{ is: 'el-input'}
-        }, 
-      ]
-      
-    }
+      menuVisible: false,
+      testModeCode: {},
+      CurrentRow: {},
+      schemeData: [
+        {
+          id: 1,
+          name: "方案1",
+        },
+        {
+          id: 2,
+          name: "方案2",
+        },
+        {
+          id: 3,
+          name: "方案3",
+        },
+        {
+          id: 4,
+          name: "方案4",
+        },
+      ],
+      tableData: [
+        {
+          candidate: "orderCode",
+          options: "like",
+          value: "12315465416546",
+          operators: [
+            { label: "等于", value: "eq" },
+            { label: "模糊", value: "like" },
+          ],
+          attr: { is: "el-input" },
+        },
+        {
+          candidate: "date",
+          options: "range",
+          value: "3333",
+          operators: [{ label: "范围", value: "range" }],
+          attr: { is: "el-input" },
+        },
+      ],
+    };
   },
-  computed:{
-    $dicts:{
-      get(){
-        console.log(this.tableData,'tableData');
-        console.log(this.candidate,'candidate');
-        return []
+  computed: {
+    $dicts: {
+      get() {
+        console.log(this.tableData, "tableData");
+        console.log(this.candidate, "candidate");
+        return [];
       },
-      set(){}
-    }
+      set() {},
+    },
   },
-  methods:{
-    open(){
+  methods: {
+    open() {
       this.visible = true;
     },
-    onClose(){
+    onClose() {
       this.visible = false;
     },
-    addCase(){
-      console.log('addCase');
+    // 清空值
+    onReset() {
+      this.tableData = this.tableData.map((item) => {
+        return {
+          ...item,
+          value: "",
+        };
+      });
+    },
+    // 新增方案
+    addCase() {
+      this.$prompt("请输入方案名称", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        inputPattern: /\s*\S+?/,
+        inputErrorMessage: "方案名称不能为空",
+      })
+        .then(({ value }) => {
+          let caseData = this.tableData.map((item) => {
+            return {
+              ...item,
+              value: "",
+            };
+          });
+          console.log(value, caseData, "caseData");
+        })
+        .catch(() => {});
+    },
+    // 重命名
+    renameRow(prop) {
+      console.log(prop, "renameRow");
+      this.$prompt("请输入新方案名称", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        inputPattern: /\s*\S+?/,
+        inputErrorMessage: "方案名称不能为空",
+      })
+        .then(({ value }) => {})
+        .catch(() => {});
+    },
+    // 删除方案
+    deleteRow(prop) {
+      console.log(prop, "deleteRow");
+    },
+    // 设置为默认方案
+    setRow(prop) {
+      console.log(prop, "setRow");
+    },
+    onClick(row) {
+      console.log(row);
+    },
+    // 方案右键
+    rightClick(row, column, event) {
+      this.testModeCode = row.testModeCode;
+
+      // 先把模态框关死,目的是 第二次或者第n次右键鼠标的时候 它默认的是true
+      this.menuVisible = false;
+      // 显示模态窗口,跳出自定义菜单栏
+      this.menuVisible = true;
+      //关闭浏览器右键默认事件
+      event.preventDefault();
+
+      this.CurrentRow = row;
+
+      var menu = document.querySelector(".menu");
+
+      this.styleMenu(menu, event);
+    },
+    foo() {
+      // 取消鼠标监听事件 菜单栏
+      this.menuVisible = false;
+
+      // 关掉监听
+      document.removeEventListener("click", this.foo);
+    },
+    styleMenu(menu) {
+      menu.style.left = event.offsetX + 18 + "px";
+
+      menu.style.top = event.clientY - 50 + "px";
+
+      // 给整个document新增监听鼠标事件,点击任何位置执行foo方法
+      document.addEventListener("click", this.foo);
     },
   },
-  created(){},
-}
+  created() {},
+};
 </script>
 
 <template>
-  <el-button
-    :size="size"
-    @click="open"
-  >
+  <el-button :size="size" @click="open">
     {{ title }}
     <el-dialog
-      width="72%"
+      width="850px"
       class="inquire"
       append-to-body
       :visible.sync="visible"
@@ -81,61 +180,140 @@ export default {
       :close-on-press-escape="false"
     >
       <div slot="title" style="display: flex; justify-content: space-between">
-        <h4 style="margin: 0;">{{ title }}</h4>
+        <h4 style="margin: 0">{{ title }}</h4>
         <div>
-          <el-button 
-            type="primary" 
-            :size="size" 
+          <el-button
+            type="primary"
+            :size="size"
             icon="el-icon-search"
-            @click.native.prevent="$emit('submit',tableData)"
-          >筛 选</el-button>
-          <el-button :size="size" @click.native.prevent="onClose">取 消</el-button>
+            @click.native.prevent="$emit('submit', tableData)"
+            >筛 选</el-button
+          >
+          <el-button
+            :size="size"
+            icon="el-icon-refresh-right"
+            @click.native.prevent="onReset"
+            >清 空</el-button
+          >
+          <el-button :size="size" @click.native.prevent="onClose"
+            >取 消</el-button
+          >
         </div>
       </div>
       <el-container>
-        <el-aside 
-          width="200px" 
-          style="height: 350px;
-          position: relative;
-          border-right: 1px solid rgb(228, 228, 228);
-          background-color: rgb(255, 255, 255)"
+        <el-aside
+          width="220px"
+          style="
+            height: 350px;
+            border-right: 1px solid rgb(228, 228, 228);
+            background-color: rgb(255, 255, 255);
+          "
         >
-          Aside
-          <el-row style="position: absolute; bottom: 0;left: 10;">
+          <el-table
+            :data="schemeData"
+            :show-header="false"
+            :height="320"
+            empty-text=" "
+            show-overflow-tooltip
+            highlight-current-row
+            @cell-click="onClick"
+            @row-contextmenu="rightClick"
+          >
+            <el-table-column prop="name">
+              <template slot-scope="scope">
+                <i class="el-icon-document"></i>
+                {{ scope.row.name }}
+              </template>
+            </el-table-column>
+          </el-table>
+
+          <div id="contextmenu" class="menu" v-show="menuVisible">
+            <div class="contextmenu__item" @click="renameRow(CurrentRow)">
+              重命名
+            </div>
+            <div class="contextmenu__item" @click="deleteRow(CurrentRow)">
+              删除
+            </div>
+            <div class="contextmenu__item" @click="setRow(CurrentRow)">
+              设置为默认方案
+            </div>
+          </div>
+
+          <el-row style="position: absolute; bottom: 16px; left: 10">
             <el-col>
-              <el-button 
+              <el-button
                 type="primary"
                 :size="size"
                 @click.native.prevent="addCase"
-              >保存方案
+                >保存方案
               </el-button>
             </el-col>
           </el-row>
         </el-aside>
-        
-          <Sizer
-            v-model="tableData"
-            :size="size"
-            :candidate="candidate" 
-          ></Sizer>
 
+        <Sizer v-model="tableData" :size="size" :candidate="candidate"></Sizer>
       </el-container>
-      
     </el-dialog>
   </el-button>
 </template>
 
 <style lang="scss" scoped>
-::v-deep.inquire .el-dialog__header{
+::v-deep.inquire .el-dialog__header {
   padding: 15px 15px 10px;
 }
-::v-deep.inquire .el-dialog__body{
+::v-deep.inquire .el-dialog__body {
   padding: 5px;
   .el-aside,
-  .el-main{
+  .el-main {
     padding: 0 10px;
   }
 }
 
+::v-deep.el-table::before {
+  display: none;
+}
+
+::v-deep.el-table {
+  th,
+  td,
+  th.is-leaf {
+    border: none;
+  }
+
+  .el-table__cell {
+    padding: 2px 0;
+  }
+}
 
+// 菜单样式
+.contextmenu__item {
+  display: block;
+  line-height: 28px;
+  text-align: center;
+}
+.contextmenu__item:not(:last-child) {
+  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
+}
+.menu {
+  position: absolute;
+  background-color: #fff;
+  width: 100px;
+  /*height: 106px;*/
+  font-size: 12px;
+  color: #444040;
+  border-radius: 4px;
+  -webkit-box-sizing: border-box;
+  box-sizing: border-box;
+  border-radius: 3px;
+  border: 1px solid rgba(0, 0, 0, 0.15);
+  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
+  white-space: nowrap;
+  z-index: 1000;
+}
+.contextmenu__item:hover {
+  cursor: pointer;
+  background: #66b1ff;
+  border-color: #66b1ff;
+  color: #fff;
+}
 </style>

+ 147 - 107
src/components/query-scheme/sizer/index.vue

@@ -1,20 +1,20 @@
 <script>
-import { getOperators } from './operators';
-import { Columns } from '../colums';
-import { getDicts as getDicts } from '@/api/system/dict/data'
+import { getOperators } from "./operators";
+import { Columns } from "../colums";
+import { getDicts as getDicts } from "@/api/system/dict/data";
 export default {
-  name:'Sizer',
-  props:{
-    value:{
-      type:[Array],
-      require:true,
+  name: "Sizer",
+  props: {
+    value: {
+      type: [Array],
+      require: true,
     },
-    candidate:{
-      type:[Array],
-      require:true,
+    candidate: {
+      type: [Array],
+      require: true,
     },
   },
-  components:{
+  components: {
     ElDraggable: () => import("@/components/draggable/index.vue"),
     ElFileUpload: () => import("@/components/FileUpload/index.vue"),
     ElPopoverSelectV2: () => import("@/components/popover-select-v2/index.vue"),
@@ -25,115 +25,108 @@ export default {
     ElPopoverMultipleTreeSelect: () =>
       import("@/components/popover-tree-select/multiple.vue"),
     ElDateWrapper: () => import("@/components/date-wrapper/index.vue"),
-  
   },
-  computed:{
-    innerValue:{
-      get(){
+  computed: {
+    innerValue: {
+      get() {
         return this.$props.value;
       },
-      set(value){
-        this.$emit("input",value);
+      set(value) {
+        this.$emit("input", value);
       },
-    }
+    },
   },
-  data(){
+  data() {
     return {
-      showColumns:Columns,
-    }
+      showColumns: Columns,
+    };
   },
-  methods:{
-
+  methods: {
     // 增
-    onRowAdd(){
-
+    onRowAdd() {
       this.innerValue.push({
-       ...this.$init.params([...this.showColumns]),
-       attr: {
-         is: 'el-input'
-       }
+        ...this.$init.params([...this.showColumns]),
+        attr: {
+          is: "el-input",
+        },
       });
     },
     // 删
-    onRowRemove(prop){
-      console.log(prop,'prop');
+    onRowRemove(prop) {
+      console.log(prop, "prop");
       const { $index, row } = prop;
-      this.innerValue.splice($index,1)
+      this.innerValue.splice($index, 1);
     },
     // 条件选择
-    canidateChange(prop){
-      
-      let {$index, row} = prop;
+    canidateChange(prop) {
+      let { $index, row } = prop;
 
-      let selectValue = this.candidate.filter(({item}) => item.key === row.candidate)[0];
-    
-      let operators = selectValue ? getOperators(this.judgeOperatorType(selectValue.attr)) : [];
-      
-      let attr = selectValue.attr ?  selectValue.attr : { is: 'el-input'};
-      console.log(attr.is,'attr');
+      let selectValue = this.candidate.filter(
+        ({ item }) => item.key === row.candidate
+      )[0];
 
-      // 方案存储
-      this.innerValue = this.innerValue.map((tableItem,index) =>{
+      let operators = selectValue
+        ? getOperators(this.judgeOperatorType(selectValue.attr))
+        : [];
 
-        if(row.candidate === tableItem.candidate && $index === index){
+      let attr = selectValue.attr ? selectValue.attr : { is: "el-input" };
+      console.log(attr.is, "attr");
 
-          tableItem.options = '';
+      // 方案存储
+      this.innerValue = this.innerValue.map((tableItem, index) => {
+        if (row.candidate === tableItem.candidate && $index === index) {
+          tableItem.options = "";
 
-          tableItem.value = '';
+          tableItem.value = "";
 
           tableItem.operators = operators;
 
-          tableItem.attr = attr
-        
+          tableItem.attr = attr;
         }
 
-        return tableItem
-       
-      })
+        return tableItem;
+      });
 
       // 值框的选择
       // this.showColumns = this.showColumns
-
     },
     // 操作选择
-    optionChange(prop){
-      console.log(prop,'prop');
+    optionChange(prop) {
+      console.log(prop, "prop");
       // this.$emit("update:value",this.innerValue);
     },
-    judgeOperatorType(type){
-
+    judgeOperatorType(type) {
       switch (type.is) {
+        case "el-popover-multiple-select-v2":
+          return "array";
 
-        case 'el-popover-multiple-select-v2':
-          return 'array';
-
-        case 'el-popover-multiple-tree-select':
-          return 'array';
+        case "el-popover-multiple-tree-select":
+          return "array";
 
-        case 'el-input-number':
-          return 'number';
+        case "el-input-number":
+          return "number";
 
-        case 'el-date-picker':
-          return 'datetime';
+        case "el-date-picker":
+          return "datetime";
 
-        case 'el-select':
+        case "el-select":
           let dictName = type.dictName;
-          if(dictName === 'sys_number_yes_no' 
-            || dictName === 'sys_yes_no' 
-            || dictName === 'sys_true_false' ){
-            return 'boolean';
+          if (
+            dictName === "sys_number_yes_no" ||
+            dictName === "sys_yes_no" ||
+            dictName === "sys_true_false"
+          ) {
+            return "boolean";
           }
-          return 'string';
+          return "string";
 
         default:
-          return 'string';
-
-        }
+          return "string";
+      }
     },
   },
-  created(){
-  }
-}
+  created() {},
+};
 </script>
 
 <template>
@@ -147,8 +140,8 @@ export default {
       v-bind="$attrs"
       v-on="$listeners"
     >
-      <el-table-column 
-        v-for="({item,attr},index) in showColumns"
+      <el-table-column
+        v-for="({ item, attr }, index) in showColumns"
         :key="item.key + index"
         :prop="item.key"
         :label="item.title"
@@ -157,10 +150,9 @@ export default {
         show-overflow-tooltip
       >
         <template slot-scope="scope">
-  
-          <el-select 
+          <el-select
             v-if="item.key === 'candidate'"
-            v-model="scope.row[item.key]" 
+            v-model="scope.row[item.key]"
             :size="$attrs.size"
             filterable
             placeholder="请选择"
@@ -174,9 +166,9 @@ export default {
             ></el-option>
           </el-select>
 
-          <el-select 
+          <el-select
             v-if="item.key === 'options'"
-            v-model="scope.row[item.key]" 
+            v-model="scope.row[item.key]"
             :size="$attrs.size"
             placeholder="请选择"
             @change="optionChange"
@@ -185,10 +177,11 @@ export default {
               v-for="op in scope.row['operators']"
               :key="op.value"
               :label="op.label"
-              :value="op.value">
+              :value="op.value"
+            >
             </el-option>
           </el-select>
-        
+
           <template v-if="item.key === 'value'">
             <component
               v-if="scope.row.attr.is === 'el-select'"
@@ -206,18 +199,60 @@ export default {
                 </el-option>
               </template>
             </component>
+
+            <component
+              v-if="scope.row.attr.is === 'el-popover-select-v2'"
+              v-bind="scope.row.attr"
+              v-model="scope.row[item.key]"
+              :title="item.title"
+              :size="$attrs.size"
+              :source.sync="scope.row"
+              style="width: 100%"
+            ></component>
+
             <component
-              v-else-if="scope.row.attr.is === 'el-popover-select-v2'"
+              v-if="scope.row.attr.is === 'el-popover-multiple-select-v2'"
               v-bind="scope.row.attr"
               v-model="scope.row[item.key]"
               :title="item.title"
               :size="$attrs.size"
               :source.sync="scope.row"
               style="width: 100%"
+            ></component>
+
+            <component
+              v-if="scope.row.attr.is === 'el-popover-tree-select'"
+              v-bind="scope.row.attr"
+              v-model="scope.row[item.key]"
+              :size="$attrs.size"
+              :source.sync="scope.row"
+              @change="$emit('submit')"
+              style="width: 100%"
+            >
+            </component>
+
+            <component
+              v-if="scope.row.attr.is === 'el-popover-multiple-tree-select'"
+              v-bind="scope.row.attr"
+              v-model="scope.row[item.key]"
+              :size="$attrs.size"
+              :source.sync="scope.row"
+              style="width: 100%"
+            >
+            </component>
+
+            <component
+              v-if="scope.row.attr.is === 'el-date-wrapper'"
+              v-bind="scope.row.attr"
+              v-model="scope.row[item.key]"
+              :size="$attrs.size"
+              :source.sync="scope.row"
+              style="width: 100%"
             >
             </component>
+
             <component
-              v-else
+              v-if="scope.row.attr.is === 'el-input'"
               v-bind="scope.row.attr"
               :size="$attrs.size"
               v-model="scope.row[item.key]"
@@ -225,50 +260,55 @@ export default {
             >
             </component>
           </template>
-          
         </template>
-        
-      
       </el-table-column>
       <el-table-column label="操作" width="50">
         <template slot-scope="scope">
-          <i class="el-icon-delete" 
+          <i
+            class="el-icon-delete"
             @click.prevent="onRowRemove(scope)"
-            style="cursor: pointer;"
+            style="cursor: pointer"
           ></i>
         </template>
       </el-table-column>
     </el-table>
     <el-row>
-      <el-col style="padding-left: 10px;">
-        <el-button 
-          type="text" 
-          @click.native.prevent="onRowAdd"
-        >
+      <el-col style="padding-left: 10px">
+        <el-button type="text" @click.native.prevent="onRowAdd">
           <i class="el-icon-plus"></i>
           新增筛选条件
         </el-button>
       </el-col>
     </el-row>
   </el-main>
-
 </template>
 
 <style lang="scss" scoped>
-::v-deep.el-table::before{
+::v-deep.el-table::before {
   display: none;
 }
 
 ::v-deep.el-table {
-
-  th,td,th.is-leaf{
-    border:none;
+  th,
+  td,
+  th.is-leaf {
+    border: none;
   }
 
-  .el-table__cell{
+  .el-table__cell {
     padding: 2px 0;
   }
+  .popover-select-v2 .popover-select-v2_tags,
+  .popover-tree-select .popover-tree-select_tags {
+    left: 15px;
+  }
+  .el-scrollbar__view {
+    padding: 6px 0 0 3px !important;
+  }
 
+  .el-scrollbar__wrap {
+    overflow-x: hidden;
+    margin-right: -2px !important;
+  }
 }
-
-</style>
+</style>

+ 50 - 51
src/components/super-ux-table/index.vue

@@ -56,15 +56,14 @@ export default {
     storageKey: {
       type: String,
     },
-    showSummary:{
-      type:Boolean,
-      default:false,
+    showSummary: {
+      type: Boolean,
+      default: false,
+    },
+    height: {
+      type: [String, Number],
+      default: () => "auto",
     },
-    height:{
-      type:[String,Number],
-      default:()=>'auto',
-    }
-
   },
   components: {
     ElDictTag: () => import("@/components/DictTag/index.vue"),
@@ -140,7 +139,7 @@ export default {
     },
     // height:{
     //   get(){
-    //     return 100% - 
+    //     return 100% -
     //   },
     //   set(){},
     // }
@@ -164,15 +163,15 @@ export default {
         this.filterData = multiFilter(this.$props.value, newValue);
       },
     },
-    value:{
+    value: {
       handler: function (newValue) {
-        if(this.value.length > 0){
+        if (this.value.length > 0) {
           this.$refs.superUxTable && this.$refs.superUxTable.clearSelection();
         }
       },
       immediate: true,
-      deep:true
-    }
+      deep: true,
+    },
   },
   methods: {
     //
@@ -182,7 +181,6 @@ export default {
     },
     //
     onRowClick(row, column, event) {
-      
       const { radio, checkbox } = this.$props;
       // 单选
       if (radio) {
@@ -190,13 +188,13 @@ export default {
       }
       // 多选
       if (checkbox) {
-        this.$refs.superUxTable.toggleRowSelection(
-          [this.innerValue.find((item) => item.id === row.id)]
-        );
+        this.$refs.superUxTable.toggleRowSelection([
+          this.innerValue.find((item) => item.id === row.id),
+        ]);
       }
     },
     // 宽度
-    onWidth({ column}) {
+    onWidth({ column }) {
       this.innerColumns = this.innerColumns.map(({ item, attr }) => ({
         attr,
         item: {
@@ -250,7 +248,6 @@ export default {
         }
         this.count++;
       });
-     
     },
     // 过滤
     onFilter() {
@@ -290,37 +287,37 @@ export default {
         }
       }
     },
-    getSummaries({ columns, data }){
-      
-      const means = [] // 合计
+    getSummaries({ columns, data }) {
+      const means = []; // 合计
       columns.forEach((column, columnIndex) => {
-          if (columnIndex === 0) {
-              means.push('合计')
-          } else {
-              const values = data.map(item => Number(item[column.property]));
-              
-              let sumColumn = this.showColumns.filter(({item,attr}) => attr.isSummary && item.key === column.property);
+        if (columnIndex === 0) {
+          means.push("合计");
+        } else {
+          const values = data.map((item) => Number(item[column.property]));
+
+          let sumColumn = this.showColumns.filter(
+            ({ item, attr }) => attr.isSummary && item.key === column.property
+          );
 
-              // 合计
-              // if (!values.every(value => isNaN(value))) {
-              if (sumColumn.length) {
-                  means[columnIndex] = values.reduce((prev, curr) => {
-                      const value = Number(curr);
-                      if (!isNaN(value)) {
-                          return prev + curr;
-                      } else {
-                          return prev;
-                      }
-                  }, 0);
-                  means[columnIndex] = means[columnIndex].toFixed(2); 
+          // 合计
+          // if (!values.every(value => isNaN(value))) {
+          if (sumColumn.length) {
+            means[columnIndex] = values.reduce((prev, curr) => {
+              const value = Number(curr);
+              if (!isNaN(value)) {
+                return prev + curr;
               } else {
-                  means[columnIndex] = '';
+                return prev;
               }
-            }
-      })
+            }, 0);
+            means[columnIndex] = means[columnIndex].toFixed(2);
+          } else {
+            means[columnIndex] = "";
+          }
+        }
+      });
       // sums[index] = sums[index] && sums[index].toFixed(2); // 保留2位小数,解决小数合计列
-      return [means]
-			
+      return [means];
     },
   },
   created() {},
@@ -328,9 +325,9 @@ export default {
     this.extendMethod();
   },
   updated() {
-    this.$nextTick(()=>{
+    this.$nextTick(() => {
       this.$refs.superUxTable.doLayout();
-    })
+    });
   },
   destroyed() {},
 };
@@ -357,7 +354,7 @@ export default {
       @header-dragend="onWidth"
       @selection-change="onSelectionChange"
       :header-row-style="{
-        color: '#515a6e' ,
+        color: '#515a6e',
       }"
       style="flex: 1"
     >
@@ -390,7 +387,7 @@ export default {
         :key="item.key + index"
         :field="item.key"
         :title="item.title"
-        :fixed="item.fixed ? 'left' :undefined"
+        :fixed="item.fixed ? 'left' : undefined"
         :width="item.width || 180"
         resizable
         show-overflow
@@ -500,7 +497,7 @@ export default {
         </template>
       </ux-table-column>
       <slot></slot>
-    <!-- </el-table> -->
+      <!-- </el-table> -->
     </ux-grid>
     <div
       style="
@@ -568,7 +565,9 @@ export default {
   }
 }
 
-::v-deep.uxbeautifyTableClass .elx-header--column .elx-resizable.is--line:before{
+::v-deep.uxbeautifyTableClass
+  .elx-header--column
+  .elx-resizable.is--line:before {
   height: 100%;
   background-color: #dfe6ec;
 }

+ 1 - 1
src/views/purchase/DemandSummary/index.vue

@@ -214,7 +214,7 @@
               </el-col>
 
             <el-col :span="1.5">
-              <el-form-item label="供应商">
+              <el-form-item label="补单供应商">
                 <el-select clearable size="mini" v-model="queryParams.additionalSupplier" @focus="chooseRefer('SUPPLIER_PARAM', true, '供应商')" style="width: 200px">
                   <el-option v-for="item in supplierOptions" :key="item.id" :label="item.name" :value="item.id" />
                 </el-select>

+ 1 - 1
src/views/purchase/PurchaseDemandList/index.vue

@@ -139,7 +139,7 @@
 
           <el-row>
             <el-col :span="1.5">
-              <el-form-item label="供应商">
+              <el-form-item label="补单供应商">
                 <el-select clearable size="mini" v-model="queryParams.additionalSupplier" @focus="chooseOrg('SUPPLIER_PARAM', true, '供应商')" style="width: 200px">
                   <el-option v-for="item in supplierOptions" :key="item.id" :label="item.name" :value="item.id" />
                 </el-select>

+ 2 - 0
src/views/purchase/apply/add/index.vue

@@ -282,6 +282,8 @@
               if (res.code === 200) {
                 rowList = res.rows
               }
+            }).catch(err => {
+              this.$modal.closeLoading();
             })
             const {
               puOrg,

+ 2 - 0
src/views/purchase/apply/copy/index.vue

@@ -328,6 +328,8 @@
               if (res.code === 200) {
                 rowList = res.rows
               }
+            }).catch(err => {
+              this.$modal.closeLoading();
             })
             const {
               puOrg,

+ 2 - 0
src/views/purchase/apply/edit/index.vue

@@ -344,6 +344,8 @@
               if (res.code === 200) {
                 rowList = res.rows
               }
+            }).catch(err => {
+              this.$modal.closeLoading();
             })
             const {
               puOrg,

File diff suppressed because it is too large
+ 298 - 333
src/views/purchase/purchase-order/index.vue


Some files were not shown because too many files changed in this diff