Przeglądaj źródła

记录规则历史版本功能添加、版本规则功能修改

lucw 8 miesięcy temu
rodzic
commit
ff66125920

+ 9 - 0
src/api/recordrules/index.js

@@ -98,3 +98,12 @@ export async function recordrulesCyclePage(body) {
   }
   return Promise.reject(new Error(res.data.message));
 }
+
+// 查看版本历史:GET /main/recordrules/getAllUpVersionById/{id}
+export async function recordrulesGetAllUpVersionById(id) {
+  const res = await request.get(`/main/recordrules/getAllUpVersionById/${id}`);
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}

+ 210 - 0
src/views/rulesManagement/releaseRules/components/historyModal.vue

@@ -0,0 +1,210 @@
+<template>
+  <ele-modal
+    :title="title"
+    :visible.sync="visible"
+    :close-on-click-modal="false"
+    @close="handleClose"
+    resizable
+    maxable
+    width="900px"
+  >
+    <div>
+      <ele-pro-table
+        ref="table"
+        :columns="columns"
+        :datasource="list"
+        :cache-key="cacheKeyUrl"
+        max-height="600"
+        :needPage="false"
+      >
+        <template v-slot:code="{ row }">
+          <el-link
+            type="primary"
+            :underline="false"
+            @click="addPermit(row, 'detail', '记录规则详情')"
+            >{{ row.code }}</el-link
+          >
+        </template>
+      </ele-pro-table>
+
+      <permitAdd ref="permitAddRef" />
+    </div>
+
+    <template v-slot:footer>
+      <el-button @click="handleClose">关 闭</el-button>
+    </template>
+  </ele-modal>
+</template>
+
+<script>
+  import dictMixins from '@/mixins/dictMixins';
+  import { recordrulesGetAllUpVersionById } from '@/api/recordrules/index';
+  import permitAdd from './permitAdd.vue';
+
+  export default {
+    mixins: [dictMixins],
+    components: { permitAdd },
+    data() {
+      return {
+        visible: false,
+        title: '历史版本',
+        cacheKeyUrl: 'maindata-251015-recordrules-history-index',
+        list: []
+      };
+    },
+    computed: {
+      columns() {
+        return [
+          {
+            columnKey: 'index',
+            label: '序号',
+            type: 'index',
+            width: 55,
+            align: 'center',
+            showOverflowTooltip: true,
+            fixed: 'left'
+          },
+          {
+            prop: 'code',
+            label: '记录规则编码',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110,
+            slot: 'code'
+          },
+          {
+            prop: 'name',
+            label: '记录规则名称',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110
+          },
+          {
+            prop: 'classify',
+            label: '记录规则分类',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110,
+            formatter: (row) => {
+              return this.getDictValue('记录规则类型', row.classify);
+            }
+          },
+          {
+            prop: 'version',
+            label: '版本号',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110,
+            formatter: (row) => {
+              return `${row.bigVersion}${row.versionMark}${row.smallVersion}`;
+            }
+          },
+          {
+            prop: 'fromName',
+            label: '来源版本',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 150
+          },
+          {
+            prop: 'startDate',
+            label: '启用日期',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110,
+            formatter: (row) => {
+              return this.$util.toDateString(row.startDate, 'yyyy-MM-dd');
+            }
+          },
+          {
+            prop: 'stopDate',
+            label: '停用日期',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110,
+            formatter: (row) => {
+              return this.$util.toDateString(row.stopDate, 'yyyy-MM-dd');
+            }
+          },
+          {
+            prop: '',
+            label: '周期',
+            align: 'center',
+            showOverflowTooltip: true,
+            formatter: (row) => {
+              return (
+                row.frequencyValue +
+                this.getDictValue('规则周期', row.frequencyUnit)
+              );
+            }
+          },
+          {
+            prop: 'createUserName',
+            label: '创建人',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110
+          },
+          {
+            prop: 'createTime',
+            label: '创建时间',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110
+          },
+          {
+            prop: 'enable',
+            label: '是否启用',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110,
+            formatter: (row) => {
+              return row.enable ? '启用' : '停用';
+            }
+          },
+          {
+            prop: 'publishStatus',
+            label: '状态',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110,
+            formatter: (row) => {
+              switch (row.publishStatus) {
+                case 0:
+                  return '草稿';
+                case 1:
+                  return '已发布';
+                case 2:
+                  return '已撤销';
+                default:
+                  return '';
+              }
+            }
+          }
+        ];
+      }
+    },
+    methods: {
+      // 外部调用,打开弹窗
+      open(id) {
+        console.log('data', id);
+        this.visible = true;
+        this.getHistoryList(id);
+      },
+      // 关闭时清理表单
+      handleClose() {
+        this.visible = false;
+      },
+      /* 表格数据源 */
+      async getHistoryList(id) {
+        const data = await recordrulesGetAllUpVersionById(id);
+        this.list = data;
+      },
+      addPermit(row, type, title) {
+        this.$refs.permitAddRef.open(row, type, title);
+      }
+    }
+  };
+</script>
+
+<style scoped lang="scss"></style>

+ 1 - 0
src/views/rulesManagement/releaseRules/components/permitAdd.vue

@@ -7,6 +7,7 @@
     :close-on-press-escape="false"
     width="80%"
     :maxable="true"
+    append-to-body
   >
     <el-form
       label-width="115px"

+ 3 - 1
src/views/rulesManagement/releaseRules/components/rule-cycle.vue

@@ -321,6 +321,7 @@
         ],
         cycleOptObj: {
           0: '次数',
+          6: '分/次',
           1: '时/次',
           2: '天/次',
           //3: '周/次',
@@ -333,6 +334,7 @@
         },
         cycleOpt: [
           { code: 0, label: '次数' },
+          { code: 6, label: '分/次' },
           { code: 1, label: '时/次' },
           { code: 2, label: '天/次' },
           //{ code: 3, label: '周/次' },
@@ -351,7 +353,7 @@
           if (val.recordRulesCycleList) {
             this.recordRulesCycleList = val.recordRulesCycleList;
           }
-        },
+        }
         // deep: true,
         // immediate: true
       }

+ 18 - 3
src/views/rulesManagement/releaseRules/index.vue

@@ -71,6 +71,16 @@
             </template>
           </el-popconfirm>
 
+          <el-link
+            v-if="row.publishStatus == 1"
+            type="primary"
+            :underline="false"
+            icon="el-icon-tickets"
+            @click="openHistory(row)"
+          >
+            历史版本
+          </el-link>
+
           <el-popconfirm
             v-if="row.publishStatus != 1"
             class="ele-action"
@@ -96,11 +106,11 @@
       </ele-pro-table>
     </el-card>
     <permitAdd ref="permitAddRef" @reload="reload" />
+    <historyModal ref="historyModalRef" />
   </div>
 </template>
 
 <script>
-  // import { getList } from '@/api/ruleManagement/matter';
   import search from './components/search.vue';
   import permitAdd from './components/permitAdd.vue';
   import {
@@ -111,9 +121,10 @@
   } from '@/api/recordrules/index';
   import tabMixins from '@/mixins/tableColumnsMixin';
   import dictMixins from '@/mixins/dictMixins';
+  import historyModal from './components/historyModal.vue';
 
   export default {
-    components: { search, permitAdd },
+    components: { search, permitAdd, historyModal },
     mixins: [tabMixins, dictMixins],
     computed: {
       columns() {
@@ -159,7 +170,7 @@
             showOverflowTooltip: true,
             minWidth: 110,
             formatter: (row) => {
-              return row.version ? `V${row.version.toFixed(1)}` : '';
+              return `${row.bigVersion}${row.versionMark}${row.smallVersion}`;
             }
           },
           {
@@ -315,6 +326,10 @@
         } catch (error) {
           this.$message.error('撤销失败');
         }
+      },
+      // 历史版本
+      openHistory(row) {
+        this.$refs.historyModalRef.open(row.id);
       }
     }
   };

+ 328 - 0
src/views/technology/production/components/user-setting-matter-process.vue

@@ -0,0 +1,328 @@
+<template>
+  <ele-modal
+    :visible="visible"
+    :append-to-body="true"
+    :close-on-click-modal="false"
+    custom-class="ele-dialog-form"
+    title="配置事项"
+    @update:visible="updateVisible"
+    :maxable="true"
+    :before-close="handleClose"
+    width="60%"
+  >
+    <el-tabs v-model="reportWorkType" type="card">
+      <el-tab-pane
+        v-for="i in tabPaneList"
+        :label="i.dictValue"
+        :name="i.dictCode"
+        :key="i.dictCode"
+      ></el-tab-pane>
+    </el-tabs>
+    <div style="margin: 10px 0"></div>
+    <ele-pro-table
+      ref="table"
+      :columns="bankColumns"
+      :datasource="datasource"
+      :need-page="false"
+      class="table_list"
+    >
+      <template v-slot:toolbar>
+        <el-button
+          size="small"
+          type="primary"
+          icon="el-icon-plus"
+          class="ele-btn-icon"
+          @click="openAddMatter"
+        >
+          新建
+        </el-button>
+      </template>
+
+      <!-- 操作列 -->
+      <template v-slot:action="{ row }">
+        <el-popconfirm
+          class="ele-action"
+          title="确定要删除此事项吗?"
+          @confirm="delMatter(row)"
+        >
+          <template v-slot:reference>
+            <el-link type="danger" :underline="false" icon="el-icon-delete">
+              删除
+            </el-link>
+          </template>
+        </el-popconfirm>
+
+        <el-link
+          type="primary"
+          :underline="false"
+          icon="el-icon-edit"
+          @click="openEditMatter(row)"
+        >
+          详情
+        </el-link>
+      </template>
+    </ele-pro-table>
+
+    <template v-slot:footer>
+      <el-button type="primary" @click="saveMatterList" :loading="butLoading">
+        确定
+      </el-button>
+
+      <el-button @click="handleClose">取消</el-button>
+    </template>
+
+    <userSettingMatterAdd
+      ref="userSettingMatterAddRef"
+      @addMatter="addMatter"
+      @editMatter="editMatter"
+    />
+  </ele-modal>
+</template>
+
+<script>
+  import {
+    produceTaskRecordRules,
+    produceTaskRecordRulesBatchSave
+  } from '@/api/producetaskrecordrules';
+  import tableColumnsMixin from '@/mixins/tableColumnsMixin';
+  import dictMixins from '@/mixins/dictMixins';
+  import userSettingMatterAdd from './user-setting-matter-add.vue';
+  import { mapGetters } from 'vuex';
+  import { addMaterial } from '@/api/material/list';
+
+  export default {
+    name: 'UserSettingMatter',
+    mixins: [dictMixins, tableColumnsMixin],
+    components: { userSettingMatterAdd },
+    data() {
+      return {
+        visible: false,
+        // 	记录规则报工类型 产前、过程、产后
+        reportWorkType: '2',
+        // 事项列表
+        matterList: [],
+        // 表格列
+        bankColumns: [
+          {
+            columnKey: 'index',
+            type: 'index',
+            width: 45,
+            align: 'center'
+          },
+          {
+            prop: 'itemType',
+            label: '类型',
+            align: 'center',
+            formatter: (row) => {
+              return this.getDictValue('记录规则事项类型', row.itemType);
+            }
+          },
+          {
+            prop: 'executeMethod',
+            label: '执行方式',
+            align: 'center',
+            formatter: (row) => {
+              return this.getDictValue('记录规则执行方式', row.executeMethod);
+            }
+          },
+          {
+            prop: 'rulesName',
+            label: '名称',
+            align: 'center',
+            formatter: (row) => {
+              return row.rulesName || row.itemTaskName;
+            }
+          },
+          {
+            columnKey: 'action',
+            label: '操作',
+            align: 'center',
+            slot: 'action'
+          }
+        ],
+        // 当前行数据
+        currentRow: null,
+        // 添加事项列表
+        addPOs: [],
+        deletedIds: [],
+        updatePOs: [],
+        butLoading: false
+      };
+    },
+    computed: {
+      ...mapGetters(['dict']),
+      // 根据报工类型过滤事项
+      datasource() {
+        return this.matterList.filter(
+          (item) => item.reportWorkType == this.reportWorkType
+        );
+      },
+      tabPaneList() {
+        const list = this.dict['record_rules_report_work_type'] || [];
+        // 只显示过程监测
+        return list.filter((item) => item.dictCode + '' == '2');
+      }
+    },
+    created() {},
+    methods: {
+      updateVisible(val) {
+        this.visible = val;
+      },
+      openSetting(row) {
+        console.log('row', row);
+        this.currentRow = row;
+        this.visible = true;
+        this.getMatterList(row);
+      },
+      // 查询事项数据
+      async getMatterList() {
+        const { list } = await produceTaskRecordRules({
+          produceTaskId: this.currentRow.id,
+          pageNum: 1,
+          size: 9999
+          // reportWorkType: this.reportWorkType
+        });
+        console.log('list', list);
+        // 表格数据
+        this.matterList = list;
+      },
+      // 删除事项
+      async delMatter(row) {
+        if (row.isUsing) {
+          return this.$message.warning('事项正在使用中,无法删除');
+        }
+
+        // 事项列表过滤
+        this.matterList = this.matterList.filter((item) => item.id !== row.id);
+        // 如果是临时id,直接前端删除
+        if (row.id.includes('tem')) {
+          this.addPOs = this.addPOs.filter((item) => item.id !== row.id);
+        } else {
+          this.deletedIds.push(row.id);
+        }
+        // updatePOs 过滤
+        this.updatePOs = this.updatePOs.filter((item) => item.id !== row.id);
+      },
+      // 打开添加事项
+      openAddMatter() {
+        this.$refs.userSettingMatterAddRef.openAdd();
+      },
+      openEditMatter(row) {
+        this.$refs.userSettingMatterAddRef.openEdit(row);
+      },
+      addMatter(matter) {
+        console.log('matter', matter);
+        const id = 'tem' + new Date().getTime();
+        // 添加事项
+        this.matterList.push({
+          ...matter,
+          id: id,
+          produceTaskId: this.currentRow.id,
+          reportWorkType: this.reportWorkType
+        });
+        this.addPOs.push({
+          ...matter,
+          id: id,
+          produceTaskId: this.currentRow.id,
+          reportWorkType: this.reportWorkType
+        });
+        this.handleSort();
+      },
+      editMatter(matter) {
+        console.log('matter', matter);
+        // 编辑事项
+        this.matterList = this.matterList.map((item) => {
+          if (item.id === matter.id) {
+            return {
+              ...item,
+              ...matter
+            };
+          }
+          return item;
+        });
+        // 如果不是临时id,加入updatePOs
+        if (!matter.id.includes('tem')) {
+          // 先过滤掉之前的
+          this.updatePOs = this.updatePOs.filter(
+            (item) => item.id !== matter.id
+          );
+          this.updatePOs.push({
+            ...matter,
+            produceTaskId: this.currentRow.id,
+            reportWorkType: this.reportWorkType
+          });
+        } else {
+          // 如果是临时id,直接更新addPOs
+          this.addPOs = this.addPOs.map((item) => {
+            if (item.id === matter.id) {
+              return {
+                ...item,
+                ...matter
+              };
+            }
+            return item;
+          });
+        }
+        this.handleSort();
+      },
+      // 事项排序 根据matterList的顺序
+      handleSort() {
+        this.matterList = this.matterList.map((item, index) => {
+          item.sortNum = index;
+          return item;
+        });
+        this.addPOs = this.addPOs.map((item) => {
+          const matter = this.matterList.find((m) => m.id === item.id);
+          if (matter) {
+            return {
+              ...item,
+              sortNum: matter.sortNum
+            };
+          }
+          return item;
+        });
+        this.updatePOs = this.updatePOs.map((item) => {
+          const matter = this.matterList.find((m) => m.id === item.id);
+          if (matter) {
+            return {
+              ...item,
+              sortNum: matter.sortNum
+            };
+          }
+          return item;
+        });
+      },
+      // 确定保存事项
+      async saveMatterList() {
+        console.log('this.matterList', this.matterList);
+        try {
+          this.butLoading = true;
+
+          await produceTaskRecordRulesBatchSave({
+            addPOs: this.addPOs,
+            deletedIds: this.deletedIds,
+            produceTaskId: this.currentRow.id,
+            updatePOs: this.updatePOs
+          });
+          this.$message.success('保存成功');
+          this.handleClose();
+          this.butLoading = false;
+        } catch (error) {
+          this.butLoading = false;
+        }
+      },
+      // 关闭弹窗、清空数据
+      handleClose() {
+        this.visible = false;
+        this.matterList = [];
+        this.addPOs = [];
+        this.deletedIds = [];
+        this.updatePOs = [];
+        this.butLoading = false;
+        this.reportWorkType = '2';
+      }
+    }
+  };
+</script>
+
+<style scoped></style>

+ 7 - 1
src/views/technology/production/components/user-setting-matter.vue

@@ -12,7 +12,7 @@
   >
     <el-tabs v-model="reportWorkType" type="card">
       <el-tab-pane
-        v-for="i in this.dict['record_rules_report_work_type']"
+        v-for="i in tabPaneList"
         :label="i.dictValue"
         :name="i.dictCode"
         :key="i.dictCode"
@@ -156,6 +156,12 @@
         return this.matterList.filter(
           (item) => item.reportWorkType == this.reportWorkType
         );
+      },
+      tabPaneList() {
+        const list = this.dict['record_rules_report_work_type'] || [];
+        // 排除过程监测
+        return list.filter((item) => item.dictCode != '2');
+        // return list;
       }
     },
     created() {},

+ 23 - 4
src/views/technology/production/index.vue

@@ -113,6 +113,15 @@
           >
             配置事项
           </el-link>
+
+          <el-link
+            type="primary"
+            :underline="false"
+            icon="el-icon-setting"
+            @click="openSettingMatterProcess(row)"
+          >
+            配置
+          </el-link>
         </template>
       </ele-pro-table>
     </el-card>
@@ -148,8 +157,13 @@
       @success="reload"
     />
 
-    <!-- 配置事项 -->
+    <!-- 配置事项 产前准备 产后检查-->
     <userSettingMatter ref="userSettingMatterRef" />
+    <!-- 配置事项  过程监测 -->
+    <userSettingMatterProcess
+      key="userSettingMatterProcessRef"
+      ref="userSettingMatterProcessRef"
+    ></userSettingMatterProcess>
 
     <WorkCenter ref="centerRefs" @changeCenter="determineChoose" />
   </div>
@@ -167,6 +181,8 @@
   import work from '@/api/technology/work';
   import WorkCenter from './components/WorkCenter.vue';
   import userSettingMatter from './components/user-setting-matter.vue';
+  import userSettingMatterProcess from './components/user-setting-matter-process.vue';
+
   import dictMixins from '@/mixins/dictMixins';
 
   export default {
@@ -179,7 +195,8 @@
       SampleParam,
       importDialog,
       WorkCenter,
-      userSettingMatter
+      userSettingMatter,
+      userSettingMatterProcess
     },
     data() {
       return {
@@ -245,7 +262,7 @@
           {
             columnKey: 'action',
             label: '操作',
-            width: 260,
+            width: 280,
             align: 'center',
             resizable: false,
             slot: 'action',
@@ -351,7 +368,9 @@
       openSettingMatter(row) {
         this.$refs.userSettingMatterRef.openSetting(row);
       },
-
+      openSettingMatterProcess(row) {
+        this.$refs.userSettingMatterProcessRef.openSetting(row);
+      },
       typeLabel(type) {
         return (
           this.typeList.find((m) => m.value == type) &&

+ 213 - 156
src/views/versionManage/components/addOrEditDialog.vue

@@ -1,59 +1,87 @@
 <template>
-  <ele-modal custom-class="ele-dialog-form long-dialog-form"
-             :centered="true" :visible.sync="addOrEditDialogFlag" :title="title"
-             append-to-body
-             :close-on-click-modal="false" width="28%" :before-close="cancel" :maxable="true">
-    <el-form ref="form" :model="form" :rules="rules" class="el-form-box" label-width="110px">
-      <headerTitle title="基本信息"/>
+  <ele-modal
+    custom-class="ele-dialog-form long-dialog-form"
+    :centered="true"
+    :visible.sync="addOrEditDialogFlag"
+    :title="title"
+    append-to-body
+    :close-on-click-modal="false"
+    width="28%"
+    :before-close="cancel"
+    :maxable="true"
+  >
+    <el-form
+      ref="form"
+      :model="form"
+      :rules="rules"
+      class="el-form-box"
+      label-width="110px"
+    >
+      <headerTitle title="基本信息" />
       <el-row :gutter="12">
         <el-col :span="12">
-          <div style="margin:0 0 10px 70px">
+          <div style="margin: 0 0 10px 70px">
             <span>示例</span>
-            <span style="color: red;margin-left: 10px">
-               {{ getExample }}
-             </span>
+            <span style="color: red; margin-left: 10px">
+              {{ getExample }}
+            </span>
           </div>
         </el-col>
       </el-row>
       <el-row :gutter="12">
         <el-col :span="24">
           <el-form-item label="分类" prop="type">
-<!--            <ele-tree-select-->
-<!--              clearable-->
-<!--              :data="typeList"-->
-<!--              v-model="form.type"-->
-<!--              placeholder="请选择"-->
-<!--              valueKey="id"-->
-<!--              labelKey="name"-->
-<!--              childrenKey="subList"-->
-<!--            />-->
-            <DictSelection dictName="版本规则分类" clearable filterable v-model="form.type" :isProhibit="type=='view'">
+            <!--            <ele-tree-select-->
+            <!--              clearable-->
+            <!--              :data="typeList"-->
+            <!--              v-model="form.type"-->
+            <!--              placeholder="请选择"-->
+            <!--              valueKey="id"-->
+            <!--              labelKey="name"-->
+            <!--              childrenKey="subList"-->
+            <!--            />-->
+            <DictSelection
+              dictName="版本规则分类"
+              clearable
+              filterable
+              v-model="form.type"
+              :isProhibit="type == 'view'"
+            >
             </DictSelection>
-<!--            <el-select v-model="form.type" filterable style="width: 100%;" :disabled="type=='view'">-->
-<!--              <el-option v-for="item in typeList" :key="item.id" :value="item.id" :label="item.name"></el-option>-->
-<!--            </el-select>-->
+            <!--            <el-select v-model="form.type" filterable style="width: 100%;" :disabled="type=='view'">-->
+            <!--              <el-option v-for="item in typeList" :key="item.id" :value="item.id" :label="item.name"></el-option>-->
+            <!--            </el-select>-->
           </el-form-item>
         </el-col>
       </el-row>
       <el-row :gutter="12">
         <el-col :span="24">
           <el-form-item label="名称" prop="name">
-            <el-input v-model="form.name" :disabled="type=='view'"></el-input>
+            <el-input v-model="form.name" :disabled="type == 'view'"></el-input>
           </el-form-item>
         </el-col>
       </el-row>
       <el-row :gutter="12">
         <el-col :span="16">
-          <el-form-item label="大版本采用" prop="noteType">
-            <el-select v-model="form.noteType" @change="handleNoteType" :disabled="type=='view'" style="width: 100%;">
+          <el-form-item label="大版本采用" prop="bigVersionType">
+            <el-select
+              v-model="form.bigVersionType"
+              @change="handleNoteType"
+              :disabled="type == 'view'"
+              style="width: 100%"
+            >
               <el-option :value="1" label="字母"></el-option>
               <el-option :value="2" label="数字"></el-option>
             </el-select>
           </el-form-item>
         </el-col>
         <el-col :span="8">
-          <el-form-item label="位数" prop="noteNum" label-width="50px">
-            <el-select v-model="form.noteNum" style="width: 100%;" :disabled="type=='view'">
+          <el-form-item label="位数" prop="bigVersionNum" label-width="50px">
+            <el-select
+              v-model="form.bigVersionNum"
+              style="width: 100%"
+              :disabled="type == 'view'"
+            >
               <el-option :value="1" label="1"></el-option>
               <el-option :value="2" label="2"></el-option>
             </el-select>
@@ -62,32 +90,44 @@
       </el-row>
       <el-row :gutter="12">
         <el-col :span="16">
-          <el-form-item label="大版本初始值" prop="note">
-            <el-input v-model="form.note" :disabled="type=='view'"></el-input>
+          <el-form-item label="大版本初始值" prop="bigVersion">
+            <el-input
+              v-model="form.bigVersion"
+              :disabled="type == 'view'"
+            ></el-input>
           </el-form-item>
         </el-col>
         <el-col :span="8">
-          <span style="margin-left: 10px;line-height: 38px;color: red">默认字母A,数字1</span>
+          <span style="margin-left: 10px; line-height: 38px; color: red"
+            >默认字母A,数字1</span
+          >
         </el-col>
       </el-row>
       <el-row :gutter="12">
         <el-col :span="16">
           <el-form-item label="连接符" prop="mark">
-            <el-input v-model="form.mark" :disabled="type=='view'"></el-input>
+            <el-input v-model="form.mark" :disabled="type == 'view'"></el-input>
           </el-form-item>
         </el-col>
-        <el-col :span="12">
-        </el-col>
+        <el-col :span="12"> </el-col>
       </el-row>
       <el-row :gutter="12">
         <el-col :span="16">
-          <el-form-item label="小版本初始值" prop="versionNumber">
-            <el-input type="number" v-model="form.versionNumber" :disabled="type=='view'"></el-input>
+          <el-form-item label="小版本初始值" prop="smallVersion">
+            <el-input
+              type="number"
+              v-model="form.smallVersion"
+              :disabled="type == 'view'"
+            ></el-input>
           </el-form-item>
         </el-col>
         <el-col :span="8">
-          <el-form-item label="位数" prop="versionNum" label-width="50px">
-            <el-select v-model="form.versionNum" style="width: 100%;" :disabled="type=='view'">
+          <el-form-item label="位数" prop="smallVersionNum" label-width="50px">
+            <el-select
+              v-model="form.smallVersionNum"
+              style="width: 100%"
+              :disabled="type == 'view'"
+            >
               <el-option :value="1" label="1"></el-option>
               <el-option :value="2" label="2"></el-option>
               <el-option :value="3" label="3"></el-option>
@@ -98,7 +138,11 @@
       <el-row :gutter="12">
         <el-col :span="16">
           <el-form-item label="变更后版本">
-            <el-select v-model="form.changeType" style="width: 100%;" :disabled="type=='view'">
+            <el-select
+              v-model="form.changeType"
+              style="width: 100%"
+              :disabled="type == 'view'"
+            >
               <el-option :value="1" label="提升大版本"></el-option>
               <el-option :value="2" label="提升小版本"></el-option>
             </el-select>
@@ -107,136 +151,149 @@
       </el-row>
     </el-form>
     <div slot="footer">
-      <el-button v-if="type!=='view'" type="primary" @click="handleSave">保存</el-button>
+      <el-button v-if="type !== 'view'" type="primary" @click="handleSave"
+        >保存</el-button
+      >
       <el-button @click="cancel">返回</el-button>
     </div>
   </ele-modal>
 </template>
 
 <script>
-import {getDetailsByIdAPI, versionManageSaveAPI, versionManageUpdateAPI} from "@/api/versionManage";
-import {getInfoById} from "@/api/classifyManage";
+  import {
+    getDetailsByIdAPI,
+    versionManageSaveAPI,
+    versionManageUpdateAPI
+  } from '@/api/versionManage';
+  import { getInfoById } from '@/api/classifyManage';
 
-export default {
-  name: "addOrEditDIalog",
-  props: {
-    addOrEditDialogFlag: Boolean,
-    typeList: {
-      type: Array,
-      default: () => {
-        return []
+  export default {
+    name: 'addOrEditDIalog',
+    props: {
+      addOrEditDialogFlag: Boolean,
+      typeList: {
+        type: Array,
+        default: () => {
+          return [];
+        }
       }
     },
-  },
-  data() {
-    return {
-      title: '',
-      type: '',
-      form: {
-        id: '',
-        type: '',
-        name: '',
-        noteType: 1,
-        noteNum: 1,
-        note: 'A',
-        mark: '.',
-        versionNumber: '1',
-        versionNum: 1,
-        changeType: 1,
-      },
-
-    }
-  },
-  computed: {
-    getExample() {
-      let value = this.form.note || (this.form.noteType == 1 ? 'A' : '1')
-      return value + this.form.mark + this.form.versionNumber
-    },
-    rules() {
+    data() {
       return {
-        type: [{required: true, message: '请选择', trigger: 'change'}],
-        name: [{required: true, message: '请输入', trigger: 'blur'}],
-        noteType: [{required: true, message: '请选择', trigger: 'change'}],
-        noteNum: [{required: true, message: '请选择', trigger: 'change'}],
-        mark: [
-          {required: true, message: '请输入', trigger: 'blur'},
-          {validator: this.markValidate, trigger: ['blur']},
-        ],
-        note: [{required: false, validator: this.noteValidate, trigger: 'blur'}],
-        versionNum: [
-          {required: true, message: '请输入', trigger: ['blur', 'change']},
-
-        ],
-        versionNumber: [
-          {required: true, message: '请输入', trigger: 'blur'},
-          {validator: this.versionNumValidate, trigger: ['blur', 'change']},
-        ],
-      }
-    }
-  },
-  methods: {
-    handleNoteType(val) {
-      this.form.note = val == 1 ? 'A' : '1'
-    },
-    noteValidate(rule, value, callback) {
-      if (!value) callback()
-      let regex = this.form.noteType == 1 ? `[A-Z]` : `[0-9]`
-      let regexA = new RegExp(`^${regex}{${this.form.noteNum}}$`)
-      if (!regexA.test(value)) {
-        callback(new Error('输入格式错误'))
-      }
-      callback()
-    },
-    versionNumValidate(rule, value, callback) {
-      if (!value) callback('请输入')
-      let regex = `[0-9]`
-      let regexA = new RegExp(`^${regex}{${this.form.versionNum}}$`)
-      if (!regexA.test(value)) {
-        callback(new Error('输入格式错误'))
-      }
-      callback()
+        title: '',
+        type: '',
+        form: {
+          id: '',
+          type: '',
+          name: '',
+          bigVersionType: 1,
+          bigVersionNum: 1,
+          bigVersion: 'A',
+          mark: '.',
+          smallVersion: '1',
+          smallVersionNum: 1,
+          changeType: 1
+        }
+      };
     },
-    markValidate(rule, value, callback) {
-      if (!value) callback('请输入')
-      const regex = /^[~*_\-:;,./]+$/;
-      if (!regex.test(value)) {
-        callback(new Error('输入格式错误,可选连接符(~ * _ \ - : ; , . /)'))
+    computed: {
+      getExample() {
+        let value =
+          this.form.bigVersion || (this.form.bigVersionType == 1 ? 'A' : '1');
+        return value + this.form.mark + this.form.smallVersion;
+      },
+      rules() {
+        return {
+          type: [{ required: true, message: '请选择', trigger: 'change' }],
+          name: [{ required: true, message: '请输入', trigger: 'blur' }],
+          bigVersionType: [
+            { required: true, message: '请选择', trigger: 'change' }
+          ],
+          bigVersionNum: [
+            { required: true, message: '请选择', trigger: 'change' }
+          ],
+          mark: [
+            { required: true, message: '请输入', trigger: 'blur' },
+            { validator: this.markValidate, trigger: ['blur'] }
+          ],
+          bigVersion: [
+            { required: false, validator: this.noteValidate, trigger: 'blur' }
+          ],
+          smallVersionNum: [
+            { required: true, message: '请输入', trigger: ['blur', 'change'] }
+          ],
+          smallVersion: [
+            { required: true, message: '请输入', trigger: 'blur' },
+            { validator: this.versionNumValidate, trigger: ['blur', 'change'] }
+          ]
+        };
       }
-      callback()
     },
-    //页面初始化
-    init(type, row = {}) {
-      this.title = type == 'add' ? '新增' : type == 'edit' ? '修改' : '详情'
-      this.type = type
-      if (type !== 'add') {
-        this.getDetail(row.id)
+    methods: {
+      handleNoteType(val) {
+        this.form.bigVersion = val == 1 ? 'A' : '1';
+      },
+      noteValidate(rule, value, callback) {
+        if (!value) callback();
+        let regex = this.form.bigVersionType == 1 ? `[A-Z]` : `[0-9]`;
+        let regexA = new RegExp(`^${regex}{${this.form.bigVersionNum}}$`);
+        if (!regexA.test(value)) {
+          callback(new Error('输入格式错误'));
+        }
+        callback();
+      },
+      versionNumValidate(rule, value, callback) {
+        if (!value) callback('请输入');
+        let regex = `[0-9]`;
+        let regexA = new RegExp(`^${regex}{${this.form.smallVersionNum}}$`);
+        if (!regexA.test(value)) {
+          callback(new Error('输入格式错误'));
+        }
+        callback();
+      },
+      markValidate(rule, value, callback) {
+        if (!value) callback('请输入');
+        const regex = /^[~*_\-:;,./]+$/;
+        if (!regex.test(value)) {
+          callback(new Error('输入格式错误,可选连接符(~ * _ \ - : ; , . /)'));
+        }
+        callback();
+      },
+      //页面初始化
+      init(type, row = {}) {
+        this.title = type == 'add' ? '新增' : type == 'edit' ? '修改' : '详情';
+        this.type = type;
+        if (type !== 'add') {
+          this.getDetail(row.id);
+        }
+      },
+      async getDetail(id) {
+        this.loading = true;
+        this.form = await getDetailsByIdAPI(id);
+        this.form.type = this.form.type + '';
+        this.loading = false;
+      },
+      handleSave() {
+        this.$refs.form.validate(async (valid) => {
+          if (!valid) return;
+          console.log('this.type', this.type);
+          const API =
+            this.type == 'add' ? versionManageSaveAPI : versionManageUpdateAPI;
+          if (this.type == 'add') {
+            this.form.id = null;
+          }
+          await API(this.form);
+          this.$message.success('操作成功');
+          this.cancel();
+          this.$emit('reload');
+        });
+      },
+      //关闭弹窗
+      cancel() {
+        this.$emit('update:addOrEditDialogFlag', false);
       }
-    },
-    async getDetail(id) {
-      this.loading = true;
-      this.form = await getDetailsByIdAPI(id);
-      this.loading = false;
-    },
-    handleSave() {
-      this.$refs.form.validate(async valid => {
-        if (!valid) return
-        const API = this.type == 'add' ? versionManageSaveAPI : versionManageUpdateAPI
-        await API(this.form)
-        this.$message.success('操作成功')
-        this.cancel()
-        this.$emit('reload')
-      })
-
-    },
-    //关闭弹窗
-    cancel() {
-      this.$emit('update:addOrEditDialogFlag', false)
-    },
-  }
-}
+    }
+  };
 </script>
 
-
-<style scoped lang="scss">
-
-</style>
+<style scoped lang="scss"></style>

+ 222 - 216
src/views/versionManage/index.vue

@@ -2,7 +2,7 @@
   <div class="ele-body">
     <el-card shadow="never">
       <!-- 搜索表单 -->
-      <index-search :typeList="typeList" @search="reload"/>
+      <index-search :typeList="typeList" @search="reload" />
       <!-- 数据表格 -->
       <ele-pro-table
         ref="table"
@@ -20,7 +20,7 @@
             type="primary"
             icon="el-icon-plus"
             class="ele-btn-icon"
-            @click="openEdit('','add')"
+            @click="openEdit('', 'add')"
             v-if="$hasPermission('main:version:save')"
           >
             新建
@@ -59,11 +59,11 @@
         <!-- 操作列 -->
         <template v-slot:action="{ row }">
           <el-link
-            v-if="row.status!=1&&$hasPermission('main:version:update')"
+            v-if="row.status != 1 && $hasPermission('main:version:update')"
             type="primary"
             :underline="false"
             icon="el-icon-edit"
-            @click="openEdit(row,'edit')"
+            @click="openEdit(row, 'edit')"
           >
             修改
           </el-link>
@@ -76,7 +76,7 @@
             详情
           </el-link>
           <el-popconfirm
-            v-if="row.status!=1&&$hasPermission('main:version:delete')"
+            v-if="row.status != 1 && $hasPermission('main:version:delete')"
             class="ele-action"
             title="确定要删除当前版本规则吗?"
             @confirm="remove(row)"
@@ -90,12 +90,13 @@
         </template>
         <template v-slot:status="scope">
           <el-switch
-            @change="(val)=>handleStatus(scope,val)"
+            @change="(val) => handleStatus(scope, val)"
             :active-value="1"
             :inactive-value="0"
             v-model="scope.row.status"
             active-color="#13ce66"
-            inactive-color="#ff4949">
+            inactive-color="#ff4949"
+          >
           </el-switch>
         </template>
       </ele-pro-table>
@@ -113,219 +114,203 @@
 </template>
 
 <script>
-import addOrEditDialog from './components/addOrEditDialog.vue';
-import dictMixins from '@/mixins/dictMixins';
-import FileUpload from "@/components/upload/fileUpload.vue";
-import {getFile} from "@/api/system/file";
-import {reviewStatus} from "@/enum/dict";
-import {getSubTwoLevelAPI, getVersionManagePageAPI, updateStatus, versionManageDeleteAPI} from "@/api/versionManage";
-import indexSearch from "@/views/versionManage/components/index-search.vue";
-import {getSubPage} from "@/api/classifyManage";
-import {getByCode} from "@/api/system/dictionary-data";
+  import addOrEditDialog from './components/addOrEditDialog.vue';
+  import dictMixins from '@/mixins/dictMixins';
+  import FileUpload from '@/components/upload/fileUpload.vue';
+  import { getFile } from '@/api/system/file';
+  import { reviewStatus } from '@/enum/dict';
+  import {
+    getSubTwoLevelAPI,
+    getVersionManagePageAPI,
+    updateStatus,
+    versionManageDeleteAPI
+  } from '@/api/versionManage';
+  import indexSearch from '@/views/versionManage/components/index-search.vue';
+  import { getSubPage } from '@/api/classifyManage';
+  import { getByCode } from '@/api/system/dictionary-data';
 
-export default {
-  name: 'technologyProduction',
-  components: {
-    FileUpload,
-    indexSearch,
-    addOrEditDialog
-  },
-  mixins: [dictMixins],
-  data() {
-    return {
-      levelOptions: [
-        {
-          label: '初级',
-          value: '1'
-        },
-        {
-          label: '中级',
-          value: '2'
-        },
-        {
-          label: '高级',
-          value: '3'
-        }
-      ],
-      isView: false,
-      // 表格列配置
-      columns: [
-        {
-          columnKey: 'selection',
-          type: 'selection',
-          width: 45,
-          align: 'center',
-          fixed: 'left'
-        },
-        {
-          label: '序号',
-          type: 'index',
-          width: 55,
-          align: 'center'
-        },
-        {
-          slot: 'name',
-          prop: 'name',
-          label: '名称',
-          showOverflowTooltip: true,
-          align: 'center',
-          minWidth: 110
-        },
-        {
-          slot: 'type',
-          prop: 'type',
-          label: '分类',
-          showOverflowTooltip: true,
-          align: 'center',
-          formatter: (row, column) => {
-            return this.getDictV('version_rule_type',row.type) ;
+  export default {
+    name: 'technologyProduction',
+    components: {
+      FileUpload,
+      indexSearch,
+      addOrEditDialog
+    },
+    mixins: [dictMixins],
+    data() {
+      return {
+        levelOptions: [
+          {
+            label: '初级',
+            value: '1'
           },
-          minWidth: 110
-        },
-        {
-          slot: 'getExample',
-          prop: 'getExample',
-          label: '规则示例',
-          showOverflowTooltip: true,
-          align: 'center',
-          formatter: (_row, _column, cellValue) => {
-            let value = _row.note || (_row.noteType == 1 ? 'A' : '1')
-            return value + _row.mark + _row.versionNumber
+          {
+            label: '中级',
+            value: '2'
           },
-          minWidth: 120
-        },
-        {
-          label: '是否启用',
-          prop: 'status',
-          slot: 'status',
-          align: "center",
-          width: 120,
-        },
-        {
-          columnKey: 'action',
-          label: '操作',
-          width: 260,
-          align: 'center',
-          resizable: false,
-          slot: 'action',
-          showOverflowTooltip: true
-        }
-      ],
-      // 表格选中数据
-      selection: [],
-      dictList: {},
-      // 当前编辑数据
-      current: null,
-      typeList: [],
-      // 是否显示编辑弹窗
-      addOrEditDialogFlag: false,
-    };
-  },
-  created() {
-    this.getTypeList()
-  },
-  computed: {},
-  methods: {
-    // getTypeName(list, val, callBack) {
-    //   let find = list.find(item => callBack(item, val)) || {}
-    //   if (find.name) {
-    //     return find.name
-    //   } else {
-    //     for (let i = 0; i < list.length; i++) {
-    //       let find = list[i].subList.find(item => callBack(item, val)) || {}
-    //       if (find.name) {
-    //         return find.name
-    //       }
-    //     }
-    //   }
-    // },
-    getDictV(code, val) {
-      if (!this.dictList[code]) return '';
-      return this.dictList[code].find(item => item.value == val)?.label
-    },
-    async getDictList(code) {
-      let {data: res} = await getByCode(code)
-      this.dictList[code] = res.map(item => {
-        let values = Object.keys(item)
-        return {
-          value: values[0],
-          label: item[values[0]]
-        }
-      })
-    },
-    /* 表格数据源 */
-    async datasource({page, limit, where, order}) {
-      await this.getDictList('version_rule_type')
-      return await getVersionManagePageAPI({
-        ...where,
-        ...order,
-        pageNum: page,
-        size: limit
-      });
-    },
-    handleStatus(scope, val) {
-      let msg = val == 1 ? '是否启用该规则' : '是否关闭该规则'
-      this.$confirm(msg, '提示', {
-        type: 'warning'
-      }).then(async () => {
-        await updateStatus(
           {
-            id: scope.row.id,
-            status: val
+            label: '高级',
+            value: '3'
           }
-        )
-        this.$message.success('操作成功')
-      }).catch(() => {
-        scope.row.status = val == 1 ? 0 : 1
-      })
-
-    },
-    async getTypeList() {
-      this.typeList = await getSubTwoLevelAPI({
-        parentId: 0,
-        pageNum: 1,
-        size: 9999
-      })
-
-      console.log(this.typeList);
-    },
-    downloadFile(file) {
-      getFile({objectName: file.storePath}, file.name);
-    },
-    /* 刷新表格 */
-    reload(where) {
-      this.$refs.table.reload({page: 1, where: where});
+        ],
+        isView: false,
+        // 表格列配置
+        columns: [
+          {
+            columnKey: 'selection',
+            type: 'selection',
+            width: 45,
+            align: 'center',
+            fixed: 'left'
+          },
+          {
+            label: '序号',
+            type: 'index',
+            width: 55,
+            align: 'center'
+          },
+          {
+            slot: 'name',
+            prop: 'name',
+            label: '名称',
+            showOverflowTooltip: true,
+            align: 'center',
+            minWidth: 110
+          },
+          {
+            slot: 'type',
+            prop: 'type',
+            label: '分类',
+            showOverflowTooltip: true,
+            align: 'center',
+            formatter: (row, column) => {
+              return this.getDictV('version_rule_type', row.type);
+            },
+            minWidth: 110
+          },
+          {
+            prop: 'bigVersion',
+            label: '规则示例',
+            showOverflowTooltip: true,
+            align: 'center',
+            formatter: (_row, _column, cellValue) => {
+              return _row.bigVersion + _row.mark + _row.smallVersion;
+            },
+            minWidth: 120
+          },
+          {
+            label: '是否启用',
+            prop: 'status',
+            slot: 'status',
+            align: 'center',
+            width: 120
+          },
+          {
+            columnKey: 'action',
+            label: '操作',
+            width: 260,
+            align: 'center',
+            resizable: false,
+            slot: 'action',
+            showOverflowTooltip: true
+          }
+        ],
+        // 表格选中数据
+        selection: [],
+        dictList: {},
+        // 当前编辑数据
+        current: null,
+        typeList: [],
+        // 是否显示编辑弹窗
+        addOrEditDialogFlag: false
+      };
     },
-    /* 打开编辑弹窗 */
-    openEdit(row = {}, type) {
-      this.addOrEditDialogFlag = true
-      this.$nextTick(() => {
-        this.$refs.addOrEditDialogRef.init(type, {...row})
-      })
+    created() {
+      this.getTypeList();
     },
-    /* 删除 */
-    remove(row) {
-      const loading = this.$loading({lock: true});
-      versionManageDeleteAPI([row.id])
-        .then((msg) => {
-          loading.close();
-          this.$message.success('删除成功');
-          this.reload();
+    computed: {},
+    methods: {
+      // getTypeName(list, val, callBack) {
+      //   let find = list.find(item => callBack(item, val)) || {}
+      //   if (find.name) {
+      //     return find.name
+      //   } else {
+      //     for (let i = 0; i < list.length; i++) {
+      //       let find = list[i].subList.find(item => callBack(item, val)) || {}
+      //       if (find.name) {
+      //         return find.name
+      //       }
+      //     }
+      //   }
+      // },
+      getDictV(code, val) {
+        if (!this.dictList[code]) return '';
+        return this.dictList[code].find((item) => item.value == val)?.label;
+      },
+      async getDictList(code) {
+        let { data: res } = await getByCode(code);
+        this.dictList[code] = res.map((item) => {
+          let values = Object.keys(item);
+          return {
+            value: values[0],
+            label: item[values[0]]
+          };
+        });
+      },
+      /* 表格数据源 */
+      async datasource({ page, limit, where, order }) {
+        await this.getDictList('version_rule_type');
+        return await getVersionManagePageAPI({
+          ...where,
+          ...order,
+          pageNum: page,
+          size: limit
+        });
+      },
+      handleStatus(scope, val) {
+        let msg = val == 1 ? '是否启用该规则' : '是否关闭该规则';
+        this.$confirm(msg, '提示', {
+          type: 'warning'
         })
-        .catch((e) => {
-          loading.close();
-          // this.$message.error(e.message);
+          .then(async () => {
+            await updateStatus({
+              id: scope.row.id,
+              status: val
+            });
+            this.$message.success('操作成功');
+          })
+          .catch(() => {
+            scope.row.status = val == 1 ? 0 : 1;
+          });
+      },
+      async getTypeList() {
+        this.typeList = await getSubTwoLevelAPI({
+          parentId: 0,
+          pageNum: 1,
+          size: 9999
         });
-    },
-    /* 批量删除 */
-    removeBatch() {
-      if (!this.selection.length) return this.$message.error('请至少选择一条数据');
-      if (this.selection.some(item => item.status == 1)) return this.$message.error('启用状态的规则不允许删除!请检查');
-      this.$confirm('确定要删除选中的规则吗?', '提示', {
-        type: 'warning'
-      }).then(() => {
-        const loading = this.$loading({lock: true});
-        versionManageDeleteAPI(this.selection.map((d) => d.id))
+
+        console.log(this.typeList);
+      },
+      downloadFile(file) {
+        getFile({ objectName: file.storePath }, file.name);
+      },
+      /* 刷新表格 */
+      reload(where) {
+        this.$refs.table.reload({ page: 1, where: where });
+      },
+      /* 打开编辑弹窗 */
+      openEdit(row = {}, type) {
+        console.log('row', row, type);
+        this.addOrEditDialogFlag = true;
+        this.$nextTick(() => {
+          this.$refs.addOrEditDialogRef.init(type, { ...row });
+        });
+      },
+      /* 删除 */
+      remove(row) {
+        const loading = this.$loading({ lock: true });
+        versionManageDeleteAPI([row.id])
           .then((msg) => {
             loading.close();
             this.$message.success('删除成功');
@@ -335,10 +320,31 @@ export default {
             loading.close();
             // this.$message.error(e.message);
           });
-      })
-        .catch(() => {
-        });
+      },
+      /* 批量删除 */
+      removeBatch() {
+        if (!this.selection.length)
+          return this.$message.error('请至少选择一条数据');
+        if (this.selection.some((item) => item.status == 1))
+          return this.$message.error('启用状态的规则不允许删除!请检查');
+        this.$confirm('确定要删除选中的规则吗?', '提示', {
+          type: 'warning'
+        })
+          .then(() => {
+            const loading = this.$loading({ lock: true });
+            versionManageDeleteAPI(this.selection.map((d) => d.id))
+              .then((msg) => {
+                loading.close();
+                this.$message.success('删除成功');
+                this.reload();
+              })
+              .catch((e) => {
+                loading.close();
+                // this.$message.error(e.message);
+              });
+          })
+          .catch(() => {});
+      }
     }
-  }
-};
+  };
 </script>

+ 1 - 3
vue.config.js

@@ -39,10 +39,8 @@ module.exports = {
         // target: 'http://192.168.1.251:18186',
         // target: 'http://192.168.1.251:18087',
 
-      
         // target: 'http://192.168.1.251:18086', // 开发
-        target: 'http://192.168.1.127:18086', // 赵沙金
-
+        target: 'http://192.168.1.116:18086', // 赵沙金
 
         changeOrigin: true, // 只有这个值为true的情况下 才表示开启跨域
         pathRewrite: {