Эх сурвалжийг харах

Merge branch 'master' into test

lucw 7 сар өмнө
parent
commit
fec8edc897

+ 13 - 0
src/api/samplingRecords/index.js

@@ -0,0 +1,13 @@
+// 抽样记录
+import request from '@/utils/request';
+
+// 分页api /qms/samplingRecord/page
+export async function samplingRecordsPage(params) {
+  const res = await request.get(`/qms/samplingrecord/page`, {
+    params
+  });
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}

+ 1 - 1
src/api/unacceptedProduct/index.js

@@ -54,7 +54,7 @@ export async function dispose(data) {
 }
 // 删除
 export async function deleteUnacceptedProduct(data) {
-  const res = await request.delete('/qms/unqualifiedproducts/delete' + data);
+  const res = await request.delete('/qms/unqualifiedproducts/delete', { data });
   if (res.data.code == 0) {
     return res.data.message;
   }

+ 14 - 8
src/components/common/seekPage.vue

@@ -14,8 +14,9 @@
                 clearable
                 v-model="defaultWhere[item.value]"
                 :placeholder="item.placeholder || '请输入内容'"
-                :style="{ width: item.width ? item.width + 'px' : '220px' }" 
-                 @keyup.enter.native="search"              />
+                :style="{ width: item.width ? item.width + 'px' : '220px' }"
+                @keyup.enter.native="search"
+              />
             </div>
             <div v-if="item.type == 'select'">
               <el-select
@@ -60,14 +61,14 @@
         </el-form-item>
       </el-form-item>
 
-      <el-form-item>
+      <el-form-item v-if="seekList.length > formLength">
         <el-dropdown
           ref="dropdownref"
           trigger="click"
           :hide-on-click="false"
           v-model="dropdownVisible"
         >
-          <div v-if="seekList.length > formLength">
+          <div>
             <span class="el-dropdown-link">
               更多选项<i class="el-icon-arrow-down el-icon--right"></i>
             </span>
@@ -96,7 +97,8 @@
                             width: item.width ? item.width + 'px' : '220px'
                           }"
                           @keydown.enter.native="() => search()"
-                          @keyup.enter.native="() => search()"                        />
+                          @keyup.enter.native="() => search()"
+                        />
                       </div>
                       <div v-if="item.type == 'select'">
                         <el-select
@@ -136,7 +138,7 @@
                         </el-date-picker>
                       </div>
                       <div v-if="item.type == 'DictSelection'">
-                        <DictSelection
+                        <dict-selection
                           v-model="defaultWhere[item.value]"
                           :placeholder="item.placeholder || '请选择内容'"
                           :multiple="item.multiple ? item.multiple : false"
@@ -144,7 +146,8 @@
                             width: item.width ? item.width + 'px' : '220px'
                           }"
                           :dictName="item.dictName"
-                        />
+                        >
+                        </dict-selection>
                       </div>
                       <div v-if="item.type == 'picker'">
                         <el-date-picker
@@ -194,7 +197,10 @@
         type: [Number],
         default: 3
       },
-      keyValue: ''
+      keyValue: {
+        type: String,
+        default: ''
+      }
     },
     mounted() {
       let whereObj = sessionStorage[this.keyValue];

+ 5 - 0
src/views/inspectionTemplate/index.vue

@@ -207,6 +207,11 @@ export default {
           align: 'center',
           minWidth: 150
         },
+        {
+          label: '工序名称',
+          prop: 'taskName',
+          align: 'center'
+        },
         {
           label: '状态',
           prop: 'status',

+ 1 - 1
src/views/inspectionWork/components/addSample.vue

@@ -217,7 +217,7 @@
     </el-form>
 
     <template v-slot:footer>
-      <el-button type="primary" @click="save()" v-lodading="loading"
+      <el-button type="primary" @click="save()" v-loading="loading"
         >确认</el-button
       >
 

+ 1 - 1
src/views/inspectionWork/components/sampleDisposeDialog.vue

@@ -423,7 +423,7 @@
       },
       handleClose() {
         this.$emit('close', false);
-       
+
       },
       handleConfirm() {
         this.$refs.form1.validate((valid) => {

+ 32 - 8
src/views/inspectionWork/index.vue

@@ -1,7 +1,12 @@
 <template>
   <div class="ele-body">
     <el-card shadow="never">
-      <seek-page :seekList="seekList" @search="search" ref="search" :keyValue="'qms-inspectionWork-index-search'"></seek-page>
+      <seek-page
+        :seekList="seekList"
+        @search="search"
+        ref="search"
+        :keyValue="'qms-inspectionWork-index-search'"
+      ></seek-page>
 
       <ele-pro-table
         ref="table"
@@ -168,7 +173,8 @@
     removeItem,
     updateCertificateNumber,
     closeWorkList,
-    verificationQualityInspector
+    verificationQualityInspector,
+    closeWork
   } from '@/api/inspectionWork';
   import { queryTodo } from '@/api/bpm/task';
   import dictMixins from '@/mixins/dictMixins';
@@ -365,11 +371,19 @@
             align: 'center',
             width: 80,
             formatter: (row, column, cellValue) => {
-              return cellValue == 0
-                ? '未报工'
-                : cellValue == 1
-                ? '已报工'
-                : '已关闭';
+              // 状态(0未报工;1已报工;2已关闭;3待取样)
+              switch (cellValue) {
+                case 0:
+                  return '未报工';
+                case 1:
+                  return '已报工';
+                case 2:
+                  return '已关闭';
+                case 3:
+                  return '待取样';
+                default:
+                  return '';
+              }
             },
             fixed: 'right'
           },
@@ -390,6 +404,7 @@
         rowData: {},
         typeList: [], //类型列表
         qualityMode: [], //取样类型
+        // 状态(0未报工;1已报工;2已关闭;3待取样)
         statusList: [
           {
             value: 0,
@@ -399,6 +414,15 @@
             value: 1,
             label: '已报工'
           }
+          // ,
+          // {
+          //   value: 2,
+          //   label: '已关闭'
+          // },
+          // {
+          //   value: 3,
+          //   label: '待取样'
+          // }
         ],
         addOpen: false,
         transferVisible: false,
@@ -559,7 +583,7 @@
       },
       search(where) {
         this.$refs.table.reload({
-          where: where,
+          where: where
           // page: 1
         });
       },

+ 135 - 0
src/views/sample/sampleRecord/index.vue

@@ -0,0 +1,135 @@
+<template>
+  <div class="ele-body">
+    <el-card shadow="never">
+      <seek-page :seekList="seekList" @search="search"></seek-page>
+      <ele-pro-table
+        ref="table"
+        row-key="id"
+        :columns="columns"
+        :datasource="datasource"
+        cache-key="qms-2511141047-sampleRecord-table"
+        autoAmendPage
+      >
+        <template v-slot:toolbar>
+          <el-button type="primary" size="mini">新增</el-button>
+        </template>
+        <template v-slot:action="{ row }">
+          <el-link type="primary" :underline="false" icon="el-icon-edit">
+            编辑
+          </el-link>
+          <el-popconfirm
+            class="ele-action"
+            title="确定要删除此条数据吗?"
+            @confirm="deleteRow(row)"
+          >
+            <template v-slot:reference>
+              <el-link type="danger" :underline="false" icon="el-icon-delete">
+                删除
+              </el-link>
+            </template>
+          </el-popconfirm>
+        </template>
+      </ele-pro-table>
+    </el-card>
+  </div>
+</template>
+
+<script>
+  import dictMixins from '@/mixins/dictMixins';
+  import tableColumnsMixin from '@/mixins/tableColumnsMixin';
+  import { samplingRecordsPage } from '@/api/samplingRecords';
+
+  export default {
+    mixins: [dictMixins, tableColumnsMixin],
+    data() {
+      return {
+        columns: [
+          {
+            width: 50,
+            type: 'index',
+            columnKey: 'index',
+            align: 'center',
+            label: '序号'
+          },
+          {
+            prop: 'code',
+            label: '质检工单编码',
+            align: 'center',
+            minWidth: 110,
+            showOverflowTooltip: true
+          },
+          {
+            prop: 'status',
+            label: '状态',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 150,
+            formatter: (row) => {}
+          },
+          {
+            columnKey: 'action',
+            label: '操作',
+            width: 220,
+            align: 'center',
+            resizable: false,
+            fixed: 'right',
+            slot: 'action',
+            showOverflowTooltip: true
+          }
+        ]
+      };
+    },
+    computed: {
+      seekList() {
+        return [
+          {
+            label: '质检工单编码:',
+            value: 'workOrderCode',
+            type: 'input',
+            placeholder: '请输入'
+          },
+          {
+            label: '来源单号:',
+            value: 'workOrderCode',
+            type: 'input',
+            placeholder: '请输入'
+          },
+          {
+            label: '类型:',
+            value: 'type',
+            type: 'select',
+            placeholder: '请输入',
+            planList: [
+              { label: '类型一', value: '1' },
+              { label: '类型二', value: '2' }
+            ]
+          }
+        ];
+      }
+    },
+    methods: {
+      // 刷新表格
+      reload(where = {}) {
+        this.$refs.table.reload({
+          where
+        });
+      },
+      /* 表格数据源 */
+      datasource({ page, limit, where, order }) {
+        // 参数
+        const body = {
+          ...where,
+          ...order,
+          pageNum: page,
+          size: limit
+        };
+        return samplingRecordsPage(body);
+      },
+      search(where) {
+        this.reload(where);
+      }
+    }
+  };
+</script>
+
+<style></style>

+ 25 - 13
src/views/unqualifiedProduct/unqualifiedList/components/EquipmentDialog.vue

@@ -78,8 +78,14 @@ export default {
   },
   mixins: [tabMixins],
   props: {
-    selectList: Array,
+    selectList: {
+      type: Array,
+      default: () => {
+        return [];
+      }
+    },
     type: {
+      type: Number,
       default: 2 //1多选 2单选
     },
     treeIds: {
@@ -116,18 +122,7 @@ export default {
   computed: {
     columns() {
       let columnsVersion = this.columnsVersion;
-      return [
-        {
-          width: 45,
-          type: 'selection',
-          columnKey: 'selection',
-          align: 'center',
-          reserveSelection: true,
-          show: this.type == 1,
-          selectable: (row, index) => {
-            return !this.disabledCode.includes(row.code);
-          }
-        },
+      const list = [
         {
           columnKey: 'index',
           label: '序号',
@@ -173,6 +168,22 @@ export default {
           minWidth: 110
         }
       ];
+
+      if(this.type == 1){
+        list.unshift({
+          width: 45,
+          type: 'selection',
+          columnKey: 'selection',
+          align: 'center',
+          reserveSelection: true,
+          show: this.type == 1,
+          selectable: (row, index) => {
+            return !this.disabledCode.includes(row.code);
+          }
+        });
+      }
+
+      return list;
     }
   },
 
@@ -208,6 +219,7 @@ export default {
       this.$refs.equiTable.clearSelection();
     },
     reset() {
+      this.searchKey = '';
       this.code = null;
       this.reload();
     },

+ 244 - 20
src/views/unqualifiedProduct/unqualifiedList/components/create.vue

@@ -31,11 +31,7 @@
         </el-col>
         <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
           <el-form-item label="数量:">
-            <el-input
-              :maxlength="20"
-              v-model="form.quantity"
-              disabled
-            />
+            <el-input :maxlength="20" v-model="form.quantity" disabled />
           </el-form-item>
         </el-col>
 
@@ -124,13 +120,12 @@
               <el-input
                 v-model.number="scope.row.unqualifiedQuantity"
                 size="small"
-                oninput="value=value.replace(/[^\d]/g,'')"
                 style="width: 100%"
                 placeholder="输入数量"
+                @input="
+                  scope.row.measureQuantity = scope.row.unqualifiedQuantity
+                "
               ></el-input>
-              <!--   @input="
-                  inputNumber(scope.$index, scope.row.unqualifiedQuantity)
-                " -->
             </el-form-item>
           </template>
         </el-table-column>
@@ -143,7 +138,129 @@
         <el-table-column label="工序" align="center" prop="produceTaskName">
         </el-table-column>
 
-        <el-table-column label="原因" align="center" prop="unqualifiedReason">
+        <!-- <el-table-column
+          label="不良类型"
+          align="center"
+          prop="badTypeId"
+          width="180"
+        >
+          <template v-slot="{ row, $index }">
+            <el-form-item
+              label-width="0px"
+              :prop="'poList.' + $index + '.badTypeId'"
+              :rules="{
+                required: true,
+                message: '请选择不良类型',
+                trigger: 'blur'
+              }"
+            >
+              <el-select
+                v-model="row.badTypeId"
+                placeholder="请选择不良类型"
+                size="small"
+                style="width: 100%"
+                remote
+                filterable
+                :remote-method="getBadTypeList"
+                clearable
+                @change="badTypeChange(row)"
+              >
+                <el-option
+                  v-for="item in badTypeList"
+                  :key="item.id"
+                  :label="item.name"
+                  :value="item.id"
+                >
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </template>
+        </el-table-column>
+
+        <el-table-column
+          label="不良名称"
+          align="center"
+          prop="badNameId"
+          width="180"
+        >
+          <template v-slot="{ row, $index }">
+            <el-form-item
+              label-width="0px"
+              :prop="'poList.' + $index + '.badNameId'"
+              :rules="{
+                required: true,
+                message: '请选择不良名称',
+                trigger: 'blur'
+              }"
+            >
+              <el-select
+                v-model="row.badNameId"
+                placeholder="请选择不良名称"
+                size="small"
+                style="width: 100%"
+                remote
+                filterable
+                :remote-method="(name) => getBadNameList(name, row.badTypeId)"
+                clearable
+                @change="badNameChange(row)"
+              >
+                <el-option
+                  v-for="item in badNameList"
+                  :key="item.id"
+                  :label="item.name"
+                  :value="item.id"
+                >
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </template>
+        </el-table-column>
+
+        <el-table-column
+          label="原因类型"
+          align="center"
+          prop="reasonTypeId"
+          width="180"
+        >
+          <template v-slot="{ row, $index }">
+            <el-form-item
+              label-width="0px"
+              :prop="'poList.' + $index + '.reasonTypeId'"
+              :rules="{
+                required: true,
+                message: '请选择不良原因类型',
+                trigger: 'blur'
+              }"
+            >
+              <el-select
+                v-model="row.reasonTypeId"
+                placeholder="请选择原因类型"
+                size="small"
+                style="width: 100%"
+                remote
+                filterable
+                :remote-method="getReasonTypeList"
+                clearable
+                @change="reasonTypeChange(row)"
+              >
+                <el-option
+                  v-for="item in reasonTypeList"
+                  :key="item.id"
+                  :label="item.name"
+                  :value="item.id"
+                >
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </template>
+        </el-table-column> -->
+
+        <el-table-column
+          label="原因"
+          align="center"
+          prop="unqualifiedReason"
+          width="180"
+        >
           <template slot-scope="scope">
             <el-form-item
               label-width="0px"
@@ -207,6 +324,10 @@
     deleteUnacceptedProductDetail,
     getById
   } from '@/api/unacceptedProduct/index';
+  import { getList as getBadNameList } from '@/api/unacceptedProduct/unqualifiedName';
+  import { getList as getBadTypeList } from '@/api/unacceptedProduct/unqualifiedType';
+  import { getList as getReasonTypeList } from '@/api/unacceptedProduct/reasonType';
+
   export default {
     components: {
       EquipmentDialog,
@@ -221,7 +342,7 @@
             callback();
           }
         },
-        id:'',
+        id: '',
         visible: false,
         loading: false,
         produceTaskList: [],
@@ -244,7 +365,8 @@
           measureQuantity: '',
           measureUnit: '',
           weight: '',
-          weightUnit: ''
+          weightUnit: '',
+          qualityType: ''
         },
         // 表单验证规则
         rules: {
@@ -253,7 +375,13 @@
           ]
         },
 
-        title: '创建'
+        title: '创建',
+        // 不良品类型列表
+        badTypeList: [],
+        // 不良名称列表
+        badNameList: [],
+        // 原因类型列表
+        reasonTypeList: []
       };
     },
 
@@ -263,7 +391,11 @@
         return this.$store.state.theme.styleResponsive;
       }
     },
-    created() {},
+    created() {
+      // this.getBadTypeList();
+      // this.getBadNameList();
+      // this.getReasonTypeList();
+    },
     methods: {
       open(row, type) {
         this.visible = true;
@@ -343,7 +475,7 @@
         // this.form = row;
 
         const data = await getById(row.id);
-        this.form.id=row.id
+        this.form.id = row.id;
         this.form.unqualifiedProductsCode = data.unqualifiedProductsCode;
         this.form.sourceCode = data.sourceCode;
         this.form.batchNo = data.batchNo;
@@ -367,7 +499,6 @@
         this.form.poList = data.poList;
 
         console.log(this.form);
-        
 
         // getDetail(row.id).then((res) => {
         //   // this.getProduceTaskList();
@@ -460,7 +591,7 @@
           }
 
           if (this.title == '修改') {
-            updateData({...this.form,id:this.id})
+            updateData({ ...this.form, id: this.id })
               .then((res) => {
                 this.loading = false;
                 this.$message.success('成功');
@@ -482,7 +613,23 @@
         let list = [];
         list = data.map((item, index) => {
           if (item.productCode) {
-            return item;
+            return {
+              // 不良品类型
+              badTypeId: null,
+              // 不良类型名称
+              badTypeName: null,
+              // 不良品名称id
+              badNameId: null,
+              // 不良品名称
+              badNameName: null,
+              // 原因类型id
+              reasonTypeId: null,
+              // 原因类型名称
+              reasonTypeName: null,
+              // 原因
+              unqualifiedReason: '',
+              ...item
+            };
           } else {
             return {
               categoryCode: item.code,
@@ -494,7 +641,6 @@
               modelType: item.modelType,
               engrave: '',
               unqualifiedQuantity: '',
-              unqualifiedReason: '',
               produceRoutingId: '',
               produceRoutingName: '',
               produceTaskId: '',
@@ -502,7 +648,21 @@
               measureQuantity: '',
               measureUnit: item.measuringUnit,
               weight: item.netWeight,
-              weightUnit: item.weightUnit
+              weightUnit: item.weightUnit,
+              // 不良品类型
+              badTypeId: null,
+              // 不良类型名称
+              badTypeName: null,
+              // 不良品名称id
+              badNameId: null,
+              // 不良品名称
+              badNameName: null,
+              // 原因类型id
+              reasonTypeId: null,
+              // 原因类型名称
+              reasonTypeName: null,
+              // 原因
+              unqualifiedReason: ''
             };
           }
         });
@@ -531,6 +691,70 @@
           this.form.unqualifiedQuantity +=
             Number(item.unqualifiedQuantity) || 0;
         });
+      },
+      // 查询不良类型
+      async getBadTypeList(name = '') {
+        const res = await getBadTypeList({
+          pageNum: 1,
+          size: 50,
+          name: name
+        });
+        console.log('this.badTypeList', this.badTypeList);
+        this.badTypeList = res.list;
+      },
+      // 查询不良名称
+      async getBadNameList(name = '', badTypeId = 0) {
+        const res = await getBadNameList({
+          pageNum: 1,
+          size: 50,
+          name: name,
+          badTypeId: badTypeId
+        });
+        console.log('this.badNameList', this.badNameList);
+        this.badNameList = res.list;
+      },
+      // 查询原因类型
+      async getReasonTypeList(name = '') {
+        const res = await getReasonTypeList({
+          pageNum: 1,
+          size: 50,
+          name: name
+        });
+        console.log('this.reasonTypeList', this.reasonTypeList);
+        this.reasonTypeList = res.list;
+      },
+      // 不良类型改变
+      badTypeChange(row) {
+        row.badTypeName = null;
+        // 赋值badTypeName
+        const badType = this.badTypeList.find(
+          (item) => item.id === row.badTypeId
+        );
+        if (badType) {
+          row.badTypeName = badType.name;
+        }
+        this.getBadNameList('', row.badTypeId);
+      },
+      // 不良名称改变
+      badNameChange(row) {
+        // 赋值badNameName
+        const badItem = this.badNameList.find(
+          (item) => item.id === row.badNameId
+        );
+        if (badItem) {
+          row.badNameName = badItem.name;
+        }
+      },
+      // 原因类型改变
+      reasonTypeChange(row) {
+        row.reasonTypeName = null;
+        // 赋值reasonTypeName
+        const reasonType = this.reasonTypeList.find(
+          (item) => item.id === row.reasonTypeId
+        );
+        if (reasonType) {
+          row.reasonTypeName = reasonType.name;
+        }
       }
     },
     watch: {

+ 22 - 0
src/views/unqualifiedProduct/unqualifiedList/detailList.vue

@@ -393,6 +393,9 @@ export default {
       if (this.$route.query.qualityType == 1) {
         return this.allList.filter((item) => [5, 10].includes(item.value));
       }
+      if (this.$route.query.qualityType == 2) {
+        return this.allList.filter((item) => item.value !== 8);
+      }
       if (
         this.$route.query.qualityType == 2 ||
         this.$route.query.qualityType == 3
@@ -526,9 +529,28 @@ export default {
           label: '工序',
           align: 'center'
         },
+        // {
+        //   prop: 'badTypeName',
+        //   label: '不良类型',
+        //   width: '180',
+        //   align: 'center'
+        // },
+        // {
+        //   prop: 'badNameName',
+        //   label: '不良名称',
+        //   width: '180',
+        //   align: 'center'
+        // },
+        // {
+        //   prop: 'reasonTypeName',
+        //   label: '原因类型',
+        //   width: '180',
+        //   align: 'center'
+        // },
         {
           prop: 'unqualifiedReason',
           label: '原因',
+          width: '180',
           align: 'center'
         },
         {

+ 7 - 3
src/views/unqualifiedProduct/unqualifiedList/index.vue

@@ -74,8 +74,7 @@ import OrderSearch from './components/order-search.vue';
 import dictMixins from '@/mixins/dictMixins';
 import { unacceptedProductStatus } from '@/utils/util';
 import Create from './components/create';
-
-import { getList } from '@/api/unacceptedProduct/index';
+import { getList,deleteUnacceptedProduct } from '@/api/unacceptedProduct/index';
 import tabMixins from '@/mixins/tableColumnsMixin';
 export default {
   components: {
@@ -303,8 +302,13 @@ export default {
     open(row) {
       this.$refs.create.open(row ? JSON.parse(JSON.stringify(row)) : '');
     },
+    reload() {
+      this.$nextTick(() => {
+        this.$refs.table.reload();
+      });
+    },
     remove(row) {
-      deleteUnacceptedProduct(row.id).then((res) => {
+      deleteUnacceptedProduct([row.id]).then((res) => {
         this.$message.success('删除' + res);
         this.reload();
       });

+ 1 - 1
src/views/unqualifiedProduct/unqualifiedList/reasonType/components/edit.vue

@@ -49,7 +49,7 @@
       <el-button
         type="primary"
         @click="save()"
-        v-lodading="loading"
+        v-loading="loading"
         v-if="title != '详情'"
         >保存</el-button
       >

+ 2 - 1
src/views/unqualifiedProduct/unqualifiedList/reasonType/index.vue

@@ -67,7 +67,8 @@
     data() {
       return {
         cacheKeyUrl: 'qms-c2e9664a-reasonType-index',
-        loading: false
+        loading: false,
+        selection: []
       };
     },
     computed: {

+ 1 - 1
src/views/unqualifiedProduct/unqualifiedList/unqualifiedName/components/edit.vue

@@ -69,7 +69,7 @@
       <el-button
         type="primary"
         @click="save()"
-        v-lodading="loading"
+        :loading="loading"
         v-if="title != '详情'"
         >保存</el-button
       >

+ 0 - 1
src/views/unqualifiedProduct/unqualifiedList/unqualifiedName/components/order-search.vue

@@ -1,5 +1,4 @@
 <!-- 搜索表单 -->
-6
 <template>
   <seekPage :seekList="seekList" :formLength="3" @search="search"></seekPage>
 </template>

+ 4 - 4
src/views/unqualifiedProduct/unqualifiedList/unqualifiedName/index.vue

@@ -11,6 +11,7 @@
         :page-size="20"
         @columns-change="handleColumnChange"
         :cache-key="cacheKeyUrl"
+        row-key="id"
       >
         <!-- 表头工具栏 -->
         <template v-slot:toolbar>
@@ -20,7 +21,7 @@
             icon="el-icon-plus"
             class="ele-btn-icon"
             @click="openEdit('add')"
-          v-if="$hasPermission('qms:badname:save')"
+            v-if="$hasPermission('qms:badname:save')"
           >
             新增
           </el-button>
@@ -31,7 +32,6 @@
             :underline="false"
             @click="openEdit('edit', row)"
             v-if="$hasPermission('qms:badname:update')"
-
           >
             修改
           </el-link>
@@ -40,7 +40,6 @@
             title="确定要删除吗?"
             @confirm="remove(row)"
             v-if="$hasPermission('qms:badname:delete')"
-
           >
             <template v-slot:reference>
               <el-link type="danger" :underline="false" icon="el-icon-delete">
@@ -69,7 +68,8 @@
     data() {
       return {
         cacheKeyUrl: 'qms-c2e9664a-unqualifiedName-index',
-        loading: false
+        loading: false,
+        selection: []
       };
     },
     computed: {

+ 1 - 1
src/views/unqualifiedProduct/unqualifiedList/unqualifiedType/components/edit.vue

@@ -49,7 +49,7 @@
       <el-button
         type="primary"
         @click="save()"
-        v-lodading="loading"
+        v-loading="loading"
         v-if="title != '详情'"
         >保存</el-button
       >

+ 3 - 1
src/views/unqualifiedProduct/unqualifiedList/unqualifiedType/index.vue

@@ -13,6 +13,7 @@
         :cache-key="cacheKeyUrl"
         height="calc(100vh - 350px)"
         full-height="calc(100vh - 120px)"
+        row-key="id"
       >
         <!-- 表头工具栏 -->
         <template v-slot:toolbar>
@@ -69,7 +70,8 @@
     data() {
       return {
         cacheKeyUrl: 'qms-c2e9664a-unqualifiedType-index',
-        loading: false
+        loading: false,
+        selection: []
       };
     },
     computed: {

+ 1 - 0
vue.config.js

@@ -39,6 +39,7 @@ module.exports = {
         // target: 'http://192.168.1.251:18186',
         // target: 'http://124.71.68.31:50001',
         target: 'http://192.168.1.251:18086',
+        // target: 'http://192.168.1.3:18086', // 付丽
         changeOrigin: true, // 只有这个值为true的情况下 才表示开启跨域
         pathRewrite: {
           '^/api': ''

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 309 - 207
yarn.lock


Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно