ludc
2023-12-03 38f0f601c507fa9a7a27754e9f1a1bd10f913899
Merge remote-tracking branch 'origin/master'
已修改7个文件
已添加2个文件
1220 ■■■■■ 文件已修改
Source/UBCS-WEB/src/api/code/codeCharcter.js 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/FormTemplate/index.vue 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/views/ruleBasic/delimiterConfig.vue 282 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/views/ruleBasic/paddingCharacter.vue 282 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/views/ruleBasic/prefixConfig.vue 289 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/views/ruleBasic/usableCharacter.vue 282 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/api/code/codeCharcter.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,45 @@
import request from '@/router/axios';
export const getList = (params) => {
  return request({
    url: '/api/ubcs-code/codeRuleCharacterController/list',
    method: 'get',
    params: {
      ...params,
    }
  })
}
export const gridCodeRule = (params) => {
  return request({
    url: '/api/ubcs-code/mdmRule/gridCodeRule',
    method: 'get',
    params: {
      ...params,
    },
  })
}
export const addSave = (codeRuleCharacterVO) => {
  return request({
    url: '/api/ubcs-code/codeRuleCharacterController/addSave',
    method: 'post',
    data:codeRuleCharacterVO
  })
}
export const editSave = (codeRuleCharacterVO) => {
  return request({
    url: '/api/ubcs-code/codeRuleCharacterController/editSave',
    method: 'post',
    data:codeRuleCharacterVO
  })
}
export const deleteSave = (codeRuleCharacterVO) => {
  return request({
    url: '/api/ubcs-code/codeRuleCharacterController/delete',
    method: 'post',
    data:codeRuleCharacterVO
  })
}
Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
@@ -317,9 +317,10 @@
          valueFormat: formItem.dateFormate || "yyyy-MM-dd HH:mm:ss",
          format: formItem.dateFormate,
          keyAttr: formItem.keyAttr,
          value: (formItem.dicData && formItem.dicData.length > 0 && formItem.secType == "codefixedsec" ? formItem.dicData[0].id : null) ||
          value:formItem.defaultValue || (formItem.dicData && formItem.dicData.length > 0 && formItem.secType == "codefixedsec" ? formItem.dicData[0].id : null) ||
            (formItem.secType == "codedatesec" ? formItem.codeDateValue : null) || (TreeValue && formItem.secType == "codelevelsec" ? TreeValue : null) ||
            (formItem.secType == "codeattrsec" ? this.add : null) || (this.status === "apply" && formItem.field === "codeStandardEditType" ? "1" : null),
            (formItem.secType == "codeattrsec" ? this.add : null) || (this.status === "apply" && formItem.field === "codeStandardEditType" ? "1" : null) ||
            (this.status === "amend" && formItem.field === "codeStandardEditType" ? "2" : null),
          placeholder: formItem.inputTip,
          comboxKey: formItem.comboxKey,
          tip: formItem.tooltips,
@@ -427,7 +428,8 @@
          keyAttr: formItem.keyAttr,
          value: (formItem.dicData && formItem.dicData.length > 0 && formItem.secType == "codefixedsec" ? formItem.dicData[0].id : null) ||
            (formItem.secType == "codedatesec" ? formItem.codeDateValue : null) || (TreeValue && formItem.secType == "codelevelsec" ? TreeValue : null) ||
            (formItem.secType == "codeattrsec" ? this.add : null) || (this.status === "apply" && formItem.field === "codeStandardEditType" ? "1" : null),
            (formItem.secType == "codeattrsec" ? this.add : null) || (this.status === "apply" && formItem.field === "codeStandardEditType" ? "1" : null)  ||
            (this.status === "amend" && formItem.field === "codeStandardEditType" ? "2" : null),
          placeholder: formItem.inputTip,
          comboxKey: formItem.comboxKey,
          tip: formItem.tooltips,
Source/UBCS-WEB/src/components/FormTemplate/index.vue
@@ -444,7 +444,18 @@
        );
      }
      // æŽ’除一些字段
      const noData = [
      const noData = this.status ? [
        "jiliangdwname",
        "materialtypeText",
        "morengongysname",
        "$caigouwl",
        "$xiaoshouwl",
        "$shifoupihaoguanli",
        "lcstatus_text",
        "hesuanfenleiname",
        "$kucunwl",
        "lastmodifier"
      ] : [
        "jiliangdwname",
        "materialtypeText",
        "morengongysname",
@@ -457,6 +468,7 @@
        "oldcode",
        "lastmodifier"
      ];
      let resForm = {};
      const {defaultValue, formValue} = this.getDefaultValueAndFormValues(
        this.form
Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
@@ -40,7 +40,7 @@
                        border class="cus-table"
                        @select="handleSelection" @cell-click="handleCellClick" @row-click="handleRowClick"
                        @select-all="handleSelectionAll" @selection-change="handleSelectionChange"
                        @sort-change="sortChange">
                        @sort-change="sortChange"  :header-cell-style="{background:'#FAFAFA',color:'#505050'}">
                <el-table-column v-if="tableData.length != 0" fixed type="selection" width="55"></el-table-column>
                <el-table-column v-if="tableData.length != 0" fixed label="序号" type="index" width="55">
                </el-table-column>
@@ -108,7 +108,7 @@
          </FormTemplateDialog>
          <!--          ä¿®æ”¹-->
          <FormTemplateDialog :codeClassifyOid="this.codeClassifyOid" :codeRuleOid="this.codeRuleOid"
                              :disabledProp="disabledProp" :rowOid="rowOid" :templateOid="templateOid" :title="'修改编码信息'"
                              :disabledProp="disabledProp" rowOid="rowOid" :templateOid="templateOid" :title="'修改编码信息'"
                              :visible.sync="editvisible"
                              type="edit" @submit="EditSumbit"></FormTemplateDialog>
          <!--          æ‰¹é‡ç¼–辑-->
@@ -584,12 +584,25 @@
    },
    //标准修订
    codeAMENDHandler() {
      let foundItem = false;
      this.tableHeadFindData.forEach(item => {
        if (item.field === "oldcode" && Object.keys(item.referConfig).length >= 1) {
          foundItem = true;
        }
      });
      if (foundItem) {
        this.amendvisible = true;
        this.rowOid = this.selectRow[0].oid ;
      } else {
      if (this.selectRow.length !== 1) {
        this.$message.warning("请选择一条数据");
      } else {
        this.amendvisible = true;
        this.rowOid = this.selectRow[0].oid;
      }
      }
    },
    //批量编辑
    bulkEditHandler(type) {
Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue
@@ -326,6 +326,7 @@
                v-loading="loading"
                :data="ProData"
                :height="this.tableHeight"
                :header-cell-style="{background:'#FAFAFA',color:'#505050'}"
                border
                style="width: 100%"
                @select="selectHandle"
Source/UBCS-WEB/src/views/ruleBasic/delimiterConfig.vue
@@ -1,13 +1,289 @@
<template>
  <basic-container>
    <el-header>
      <div style="margin-bottom: 15px">
        ç¼–码规则:
        <el-select v-model="select" :filter-method="filterValue" filterable placeholder="请选择" size="small"
                   @change="selectHandler">
          <el-option v-for="(item,index) in queryReleasedList"
                     :key="item.oid"
                     :label="item.name"
                     :value="item.oid"></el-option>
        </el-select>
      </div>
    </el-header>
    <el-main>
      <el-table
        v-loading="loading"
        :data="tableData"
        :header-cell-style="{background:'#FAFAFA',color:'#505050'}"
        border
        style="width: 100%;height:  calc(100vh - 320px)"
        @cell-click="cellClickHandler">
        <el-table-column
          align="center"
          label="1"
          prop="1"
        >
        </el-table-column>
        <el-table-column
          align="center"
          label="2"
          prop="2"
        >
        </el-table-column>
        <el-table-column
          align="center"
          label="3"
          prop="3">
        </el-table-column>
        <el-table-column
          align="center"
          label="4"
          prop="4">
        </el-table-column>
        <el-table-column
          align="center"
          label="5"
          prop="5">
        </el-table-column>
        <el-table-column
          align="center"
          label="6"
          prop="6">
        </el-table-column>
        <el-table-column
          align="center"
          label="7"
          prop="7">
        </el-table-column>
        <el-table-column
          align="center"
          label="8"
          prop="8">
        </el-table-column>
        <el-table-column
          align="center"
          label="9"
          prop="9">
        </el-table-column>
        <el-table-column
          align="center"
          label="10"
          prop="10">
        </el-table-column>
        <el-table-column
          align="center"
          label="11"
          prop="11">
        </el-table-column>
        <el-table-column
          align="center"
          label="12"
          prop="12">
        </el-table-column>
        <el-table-column
          align="center"
          label="13"
          prop="13">
        </el-table-column>
        <el-table-column
          align="center"
          label="14"
          prop="14">
        </el-table-column>
        <el-table-column
          align="center"
          label="15"
          prop="15">
        </el-table-column>
      </el-table>
    </el-main>
    <el-footer>
      <div style="width: 260px; display: flex; align-items: center;margin-top: 5px">
        <p>值:</p>
        <el-input v-model="characterValue" size="small" style="flex: 1;"></el-input>
      </div>
    </el-footer>
    <div style="margin-bottom: 10px;text-align: center">
      <el-button icon="el-icon-plus" plain size="small" type="success" @click="addSaveHandler">添加</el-button>
      <el-button icon="el-icon-edit" plain size="small" type="primary" @click="editSaveHandler">修改</el-button>
      <el-button icon="el-icon-delete" plain size="small" type="danger" @click="delSaveHandler">删除</el-button>
    </div>
  </basic-container>
</template>
<script>
import {getList, addSave, editSave, deleteSave} from "@/api/code/codeCharcter"
import {gridCodeRule} from "@/api/code/codeCharcter"
export default {
  name: "delimiterConfig"
  name: "delimiterConfig",
  data() {
    return {
      loading: false,
      //下拉框数组
      queryReleasedList: [],
      //下拉框初始数据数组
      characterReleasedList: [],
      characterValue: "",
      characterEditOldValue: "",
      tableData: [],
      select: "",
      selectValue: ""
    }
  },
  watch: {
    select: {
      handler(newV) {
        // console.log(newV)
      }
    }
  },
  created() {
    this.getCodeRule();
  },
  methods: {
    cellClickHandler(row, column) {
      this.characterValue = row[column.property];
      this.characterEditOldValue = row[column.property]
    },
    async getCodeRule() {
      try {
        // ç¼–码规则已发布数据源
        const res = await gridCodeRule({["conditionMap" + "[lcStatus_like]"]: "Released"});
        this.characterReleasedList = res.data.data.records;
        this.queryReleasedList = this.characterReleasedList;
        this.select = this.characterReleasedList[0].oid;
        this.loading = true;
        const res2 = await getList({codeRuleId: this.select, chartType: "separator", chartValue: this.characterValue});
        this.tableData = res2.data.data;
        this.loading = false;
        // console.log("this.tableData", this.tableData);
      } catch (error) {
        this.$message.warning(error)
      }
    },
    //编码规则下拉框搜索
    filterValue(query) {
      console.log(query)
      if (query !== "") {
        this.queryReleasedList = this.characterReleasedList.filter(item => {
          return item.name.includes(query.toString());
        });
      } else {
        this.queryReleasedList = this.characterReleasedList;
      }
    },
    selectHandler(val) {
      this.selectValue = val;
      this.characterValue = ""
      this.getTableData()
    },
    getTableData() {
      this.loading = true;
      // const targetObject = this.characterReleasedList.find(obj => obj.oid === this.selectValue);
      // const chartValue = targetObject.name;
      getList({codeRuleId: this.select, chartType: "separator", chartValue: this.characterValue}).then(res => {
        console.log(res.data.data);
        this.tableData = res.data.data;
        this.loading = false;
      });
    },
    addSaveHandler() {
      if (!this.characterValue) {
        this.$message.warning('请填写要添加的值!');
        return; // åˆ¤æ–­è¾“入值
      }
      const targetObject = this.characterReleasedList.find(obj => obj.oid === this.select);
      if (!targetObject) {
        return; // æŸ¥æ‰¾å¯¹åº”typeText
      }
      const codeRuleCharacterVO = {
        codeRuleId: this.select,
        chartType: "separator",
        chartValue: this.characterValue,
        chartTypeText: targetObject.name
      };
      addSave(codeRuleCharacterVO)
        .then(res => {
          this.$message.success(res.data.msg);
          this.characterValue = "";
          this.getTableData();
        }).catch(error => {
        this.$message.error('添加失败');
      });
    },
    editSaveHandler() {
      if (this.characterEditOldValue === "") {
        this.$message.warning('请选择修改的值!');
        return; // åˆ¤æ–­é€‰æ‹©å€¼
      }
      if (this.characterValue === "") {
        this.$message.warning('请填写要修改的值!');
        return; // åˆ¤æ–­è¾“入值
      }
      const targetObject = this.characterReleasedList.find(obj => obj.oid === this.select);
      if (!targetObject) {
        return; // æŸ¥æ‰¾å¯¹åº”typeText
      }
      const codeRuleCharacterVO = {
        codeRuleId: this.select,
        chartType: "separator",
        chartValue: this.characterValue,
        oldChartValue: this.characterEditOldValue,
        chartTypeText: targetObject.name
      };
      editSave(codeRuleCharacterVO)
        .then(res => {
          this.$message.success(res.data.msg);
          this.characterValue = "";
          this.getTableData();
        }).catch(error => {
        this.$message.error('修改失败');
      });
    },
    delSaveHandler() {
      //判断选择数据characterEditOldValue
      if (this.characterEditOldValue === "" || this.characterValue === "") {
        this.$message.warning('请选择要删除的值');
        return;
      }
      const targetObject = this.characterReleasedList.find(obj => obj.oid === this.select);
      if (!targetObject) {
        return; // æŸ¥æ‰¾å¯¹åº”typeText
      }
      const codeRuleCharacterVO = {
        codeRuleId: this.select,
        chartType: "separator",
        chartValue: this.characterValue,
        chartTypeText: targetObject.name
      };
      deleteSave(codeRuleCharacterVO)
        .then(res => {
          this.$message.success(res.data.msg);
          this.characterValue = "";
          this.getTableData();
        }).catch(error => {
        this.$message.error('删除失败');
      });
    }
  }
}
</script>
<style scoped>
<style lang="scss" scoped>
.el-header {
  padding: 0;
}
</style>
Source/UBCS-WEB/src/views/ruleBasic/paddingCharacter.vue
@@ -1,13 +1,289 @@
<template>
  <basic-container>
    <el-header>
      <div style="margin-bottom: 15px">
        ç¼–码规则:
        <el-select v-model="select" :filter-method="filterValue" filterable placeholder="请选择" size="small"
                   @change="selectHandler">
          <el-option v-for="(item,index) in queryReleasedList"
                     :key="item.oid"
                     :label="item.name"
                     :value="item.oid"></el-option>
        </el-select>
      </div>
    </el-header>
    <el-main>
      <el-table
        v-loading="loading"
        :data="tableData"
        :header-cell-style="{background:'#FAFAFA',color:'#505050'}"
        border
        style="width: 100%;height:  calc(100vh - 320px)"
        @cell-click="cellClickHandler">
        <el-table-column
          align="center"
          label="1"
          prop="1"
        >
        </el-table-column>
        <el-table-column
          align="center"
          label="2"
          prop="2"
        >
        </el-table-column>
        <el-table-column
          align="center"
          label="3"
          prop="3">
        </el-table-column>
        <el-table-column
          align="center"
          label="4"
          prop="4">
        </el-table-column>
        <el-table-column
          align="center"
          label="5"
          prop="5">
        </el-table-column>
        <el-table-column
          align="center"
          label="6"
          prop="6">
        </el-table-column>
        <el-table-column
          align="center"
          label="7"
          prop="7">
        </el-table-column>
        <el-table-column
          align="center"
          label="8"
          prop="8">
        </el-table-column>
        <el-table-column
          align="center"
          label="9"
          prop="9">
        </el-table-column>
        <el-table-column
          align="center"
          label="10"
          prop="10">
        </el-table-column>
        <el-table-column
          align="center"
          label="11"
          prop="11">
        </el-table-column>
        <el-table-column
          align="center"
          label="12"
          prop="12">
        </el-table-column>
        <el-table-column
          align="center"
          label="13"
          prop="13">
        </el-table-column>
        <el-table-column
          align="center"
          label="14"
          prop="14">
        </el-table-column>
        <el-table-column
          align="center"
          label="15"
          prop="15">
        </el-table-column>
      </el-table>
    </el-main>
    <el-footer>
      <div style="width: 260px; display: flex; align-items: center;margin-top: 5px">
        <p>值:</p>
        <el-input v-model="characterValue" size="small" style="flex: 1;"></el-input>
      </div>
    </el-footer>
    <div style="margin-bottom: 10px;text-align: center">
      <el-button icon="el-icon-plus" plain size="small" type="success" @click="addSaveHandler">添加</el-button>
      <el-button icon="el-icon-edit" plain size="small" type="primary" @click="editSaveHandler">修改</el-button>
      <el-button icon="el-icon-delete" plain size="small" type="danger" @click="delSaveHandler">删除</el-button>
    </div>
  </basic-container>
</template>
<script>
import {getList, addSave, editSave, deleteSave} from "@/api/code/codeCharcter"
import {gridCodeRule} from "@/api/code/codeCharcter"
export default {
  name: "paddingCharacter"
  name: "paddingCharacter",
  data() {
    return {
      loading: false,
      //下拉框数组
      queryReleasedList: [],
      //下拉框初始数据数组
      characterReleasedList: [],
      characterValue: "",
      characterEditOldValue: "",
      tableData: [],
      select: "",
      selectValue: ""
    }
  },
  watch: {
    select: {
      handler(newV) {
        // console.log(newV)
      }
    }
  },
  created() {
    this.getCodeRule();
  },
  methods: {
    cellClickHandler(row, column) {
      this.characterValue = row[column.property];
      this.characterEditOldValue = row[column.property]
    },
    async getCodeRule() {
      try {
        // ç¼–码规则已发布数据源
        const res = await gridCodeRule({["conditionMap" + "[lcStatus_like]"]: "Released"});
        this.characterReleasedList = res.data.data.records;
        this.queryReleasedList = this.characterReleasedList;
        this.select = this.characterReleasedList[0].oid;
        this.loading = true;
        const res2 = await getList({codeRuleId: this.select, chartType: "fillerChar", chartValue: this.characterValue});
        this.tableData = res2.data.data;
        this.loading = false;
        // console.log("this.tableData", this.tableData);
      } catch (error) {
        this.$message.warning(error)
      }
    },
    //编码规则下拉框搜索
    filterValue(query) {
      console.log(query)
      if (query !== "") {
        this.queryReleasedList = this.characterReleasedList.filter(item => {
          return item.name.includes(query.toString());
        });
      } else {
        this.queryReleasedList = this.characterReleasedList;
      }
    },
    selectHandler(val) {
      this.selectValue = val;
      this.characterValue = ""
      this.getTableData()
    },
    getTableData() {
      this.loading = true;
      // const targetObject = this.characterReleasedList.find(obj => obj.oid === this.selectValue);
      // const chartValue = targetObject.name;
      getList({codeRuleId: this.select, chartType: "fillerChar", chartValue: this.characterValue}).then(res => {
        console.log(res.data.data);
        this.tableData = res.data.data;
        this.loading = false;
      });
    },
    addSaveHandler() {
      if (!this.characterValue) {
        this.$message.warning('请填写要添加的值!');
        return; // åˆ¤æ–­è¾“入值
      }
      const targetObject = this.characterReleasedList.find(obj => obj.oid === this.select);
      if (!targetObject) {
        return; // æŸ¥æ‰¾å¯¹åº”typeText
      }
      const codeRuleCharacterVO = {
        codeRuleId: this.select,
        chartType: "fillerChar",
        chartValue: this.characterValue,
        chartTypeText: targetObject.name
      };
      addSave(codeRuleCharacterVO)
        .then(res => {
          this.$message.success(res.data.msg);
          this.characterValue = "";
          this.getTableData();
        }).catch(error => {
        this.$message.error('添加失败');
      });
    },
    editSaveHandler() {
      if (this.characterEditOldValue === "") {
        this.$message.warning('请选择修改的值!');
        return; // åˆ¤æ–­é€‰æ‹©å€¼
      }
      if (this.characterValue === "") {
        this.$message.warning('请填写要修改的值!');
        return; // åˆ¤æ–­è¾“入值
      }
      const targetObject = this.characterReleasedList.find(obj => obj.oid === this.select);
      if (!targetObject) {
        return; // æŸ¥æ‰¾å¯¹åº”typeText
      }
      const codeRuleCharacterVO = {
        codeRuleId: this.select,
        chartType: "fillerChar",
        chartValue: this.characterValue,
        oldChartValue: this.characterEditOldValue,
        chartTypeText: targetObject.name
      };
      editSave(codeRuleCharacterVO)
        .then(res => {
          this.$message.success(res.data.msg);
          this.characterValue = "";
          this.getTableData();
        }).catch(error => {
        this.$message.error('修改失败');
      });
    },
    delSaveHandler() {
      //判断选择数据characterEditOldValue
      if (this.characterEditOldValue === "" || this.characterValue === "") {
        this.$message.warning('请选择要删除的值');
        return;
      }
      const targetObject = this.characterReleasedList.find(obj => obj.oid === this.select);
      if (!targetObject) {
        return; // æŸ¥æ‰¾å¯¹åº”typeText
      }
      const codeRuleCharacterVO = {
        codeRuleId: this.select,
        chartType: "fillerChar",
        chartValue: this.characterValue,
        chartTypeText: targetObject.name
      };
      deleteSave(codeRuleCharacterVO)
        .then(res => {
          this.$message.success(res.data.msg);
          this.characterValue = "";
          this.getTableData();
        }).catch(error => {
        this.$message.error('删除失败');
      });
    }
  }
}
</script>
<style scoped>
<style lang="scss" scoped>
.el-header {
  padding: 0;
}
</style>
Source/UBCS-WEB/src/views/ruleBasic/prefixConfig.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,289 @@
<template>
  <basic-container>
    <el-header>
      <div style="margin-bottom: 15px">
        ç¼–码规则:
        <el-select v-model="select" :filter-method="filterValue" filterable placeholder="请选择" size="small"
                   @change="selectHandler">
          <el-option v-for="(item,index) in queryReleasedList"
                     :key="item.oid"
                     :label="item.name"
                     :value="item.oid"></el-option>
        </el-select>
      </div>
    </el-header>
    <el-main>
      <el-table
        v-loading="loading"
        :data="tableData"
        :header-cell-style="{background:'#FAFAFA',color:'#505050'}"
        border
        style="width: 100%;height:  calc(100vh - 320px)"
        @cell-click="cellClickHandler">
        <el-table-column
          align="center"
          label="1"
          prop="1"
        >
        </el-table-column>
        <el-table-column
          align="center"
          label="2"
          prop="2"
        >
        </el-table-column>
        <el-table-column
          align="center"
          label="3"
          prop="3">
        </el-table-column>
        <el-table-column
          align="center"
          label="4"
          prop="4">
        </el-table-column>
        <el-table-column
          align="center"
          label="5"
          prop="5">
        </el-table-column>
        <el-table-column
          align="center"
          label="6"
          prop="6">
        </el-table-column>
        <el-table-column
          align="center"
          label="7"
          prop="7">
        </el-table-column>
        <el-table-column
          align="center"
          label="8"
          prop="8">
        </el-table-column>
        <el-table-column
          align="center"
          label="9"
          prop="9">
        </el-table-column>
        <el-table-column
          align="center"
          label="10"
          prop="10">
        </el-table-column>
        <el-table-column
          align="center"
          label="11"
          prop="11">
        </el-table-column>
        <el-table-column
          align="center"
          label="12"
          prop="12">
        </el-table-column>
        <el-table-column
          align="center"
          label="13"
          prop="13">
        </el-table-column>
        <el-table-column
          align="center"
          label="14"
          prop="14">
        </el-table-column>
        <el-table-column
          align="center"
          label="15"
          prop="15">
        </el-table-column>
      </el-table>
    </el-main>
    <el-footer>
      <div style="width: 260px; display: flex; align-items: center;margin-top: 5px">
        <p>值:</p>
        <el-input v-model="characterValue" size="small" style="flex: 1;"></el-input>
      </div>
    </el-footer>
    <div style="margin-bottom: 10px;text-align: center">
      <el-button icon="el-icon-plus" plain size="small" type="success" @click="addSaveHandler">添加</el-button>
      <el-button icon="el-icon-edit" plain size="small" type="primary" @click="editSaveHandler">修改</el-button>
      <el-button icon="el-icon-delete" plain size="small" type="danger" @click="delSaveHandler">删除</el-button>
    </div>
  </basic-container>
</template>
<script>
import {getList, addSave, editSave, deleteSave} from "@/api/code/codeCharcter"
import {gridCodeRule} from "@/api/code/codeCharcter"
export default {
  name: "prefixConfig",
  data() {
    return {
      loading: false,
      //下拉框数组
      queryReleasedList: [],
      //下拉框初始数据数组
      characterReleasedList: [],
      characterValue: "",
      characterEditOldValue: "",
      tableData: [],
      select: "",
      selectValue: ""
    }
  },
  watch: {
    select: {
      handler(newV) {
        // console.log(newV)
      }
    }
  },
  created() {
    this.getCodeRule();
  },
  methods: {
    cellClickHandler(row, column) {
      this.characterValue = row[column.property];
      this.characterEditOldValue = row[column.property]
    },
    async getCodeRule() {
      try {
        // ç¼–码规则已发布数据源
        const res = await gridCodeRule({["conditionMap" + "[lcStatus_like]"]: "Released"});
        this.characterReleasedList = res.data.data.records;
        this.queryReleasedList = this.characterReleasedList;
        this.select = this.characterReleasedList[0].oid;
        this.loading = true;
        const res2 = await getList({codeRuleId: this.select, chartType: "prefix", chartValue: this.characterValue});
        this.tableData = res2.data.data;
        this.loading = false;
        // console.log("this.tableData", this.tableData);
      } catch (error) {
        this.$message.warning(error)
      }
    },
    //编码规则下拉框搜索
    filterValue(query) {
      console.log(query)
      if (query !== "") {
        this.queryReleasedList = this.characterReleasedList.filter(item => {
          return item.name.includes(query.toString());
        });
      } else {
        this.queryReleasedList = this.characterReleasedList;
      }
    },
    selectHandler(val) {
      this.selectValue = val;
      this.characterValue = ""
      this.getTableData()
    },
    getTableData() {
      this.loading = true;
      // const targetObject = this.characterReleasedList.find(obj => obj.oid === this.selectValue);
      // const chartValue = targetObject.name;
      getList({codeRuleId: this.select, chartType: "prefix", chartValue: this.characterValue}).then(res => {
        console.log(res.data.data);
        this.tableData = res.data.data;
        this.loading = false;
      });
    },
    addSaveHandler() {
      if (!this.characterValue) {
        this.$message.warning('请填写要添加的值!');
        return; // åˆ¤æ–­è¾“入值
      }
      const targetObject = this.characterReleasedList.find(obj => obj.oid === this.select);
      if (!targetObject) {
        return; // æŸ¥æ‰¾å¯¹åº”typeText
      }
      const codeRuleCharacterVO = {
        codeRuleId: this.select,
        chartType: "prefix",
        chartValue: this.characterValue,
        chartTypeText: targetObject.name
      };
      addSave(codeRuleCharacterVO)
        .then(res => {
          this.$message.success(res.data.msg);
          this.characterValue = "";
          this.getTableData();
        }).catch(error => {
        this.$message.error('添加失败');
      });
    },
    editSaveHandler() {
      if (this.characterEditOldValue === "") {
        this.$message.warning('请选择修改的值!');
        return; // åˆ¤æ–­é€‰æ‹©å€¼
      }
      if (this.characterValue === "") {
        this.$message.warning('请填写要修改的值!');
        return; // åˆ¤æ–­è¾“入值
      }
      const targetObject = this.characterReleasedList.find(obj => obj.oid === this.select);
      if (!targetObject) {
        return; // æŸ¥æ‰¾å¯¹åº”typeText
      }
      const codeRuleCharacterVO = {
        codeRuleId: this.select,
        chartType: "prefix",
        chartValue: this.characterValue,
        oldChartValue: this.characterEditOldValue,
        chartTypeText: targetObject.name
      };
      editSave(codeRuleCharacterVO)
        .then(res => {
          this.$message.success(res.data.msg);
          this.characterValue = "";
          this.getTableData();
        }).catch(error => {
        this.$message.error('修改失败');
      });
    },
    delSaveHandler() {
      //判断选择数据characterEditOldValue
      if (this.characterEditOldValue === "" || this.characterValue === "") {
        this.$message.warning('请选择要删除的值');
        return;
      }
      const targetObject = this.characterReleasedList.find(obj => obj.oid === this.select);
      if (!targetObject) {
        return; // æŸ¥æ‰¾å¯¹åº”typeText
      }
      const codeRuleCharacterVO = {
        codeRuleId: this.select,
        chartType: "prefix",
        chartValue: this.characterValue,
        chartTypeText: targetObject.name
      };
      deleteSave(codeRuleCharacterVO)
        .then(res => {
          this.$message.success(res.data.msg);
          this.characterValue = "";
          this.getTableData();
        }).catch(error => {
        this.$message.error('删除失败');
      });
    }
  }
}
</script>
<style lang="scss" scoped>
.el-header {
  padding: 0;
}
</style>
Source/UBCS-WEB/src/views/ruleBasic/usableCharacter.vue
@@ -1,13 +1,289 @@
<template>
  <basic-container>
    <el-header>
      <div style="margin-bottom: 15px">
        ç¼–码规则:
        <el-select v-model="select" :filter-method="filterValue" filterable placeholder="请选择" size="small"
                   @change="selectHandler">
          <el-option v-for="(item,index) in queryReleasedList"
                     :key="item.oid"
                     :label="item.name"
                     :value="item.oid"></el-option>
        </el-select>
      </div>
    </el-header>
    <el-main>
      <el-table
        v-loading="loading"
        :data="tableData"
        :header-cell-style="{background:'#FAFAFA',color:'#505050'}"
        border
        style="width: 100%;height:  calc(100vh - 320px)"
        @cell-click="cellClickHandler">
        <el-table-column
          align="center"
          label="1"
          prop="1"
        >
        </el-table-column>
        <el-table-column
          align="center"
          label="2"
          prop="2"
        >
        </el-table-column>
        <el-table-column
          align="center"
          label="3"
          prop="3">
        </el-table-column>
        <el-table-column
          align="center"
          label="4"
          prop="4">
        </el-table-column>
        <el-table-column
          align="center"
          label="5"
          prop="5">
        </el-table-column>
        <el-table-column
          align="center"
          label="6"
          prop="6">
        </el-table-column>
        <el-table-column
          align="center"
          label="7"
          prop="7">
        </el-table-column>
        <el-table-column
          align="center"
          label="8"
          prop="8">
        </el-table-column>
        <el-table-column
          align="center"
          label="9"
          prop="9">
        </el-table-column>
        <el-table-column
          align="center"
          label="10"
          prop="10">
        </el-table-column>
        <el-table-column
          align="center"
          label="11"
          prop="11">
        </el-table-column>
        <el-table-column
          align="center"
          label="12"
          prop="12">
        </el-table-column>
        <el-table-column
          align="center"
          label="13"
          prop="13">
        </el-table-column>
        <el-table-column
          align="center"
          label="14"
          prop="14">
        </el-table-column>
        <el-table-column
          align="center"
          label="15"
          prop="15">
        </el-table-column>
      </el-table>
    </el-main>
    <el-footer>
      <div style="width: 260px; display: flex; align-items: center;margin-top: 5px">
        <p>值:</p>
        <el-input v-model="characterValue" size="small" style="flex: 1;"></el-input>
      </div>
    </el-footer>
    <div style="margin-bottom: 10px;text-align: center">
      <el-button icon="el-icon-plus" plain size="small" type="success" @click="addSaveHandler">添加</el-button>
      <el-button icon="el-icon-edit" plain size="small" type="primary" @click="editSaveHandler">修改</el-button>
      <el-button icon="el-icon-delete" plain size="small" type="danger" @click="delSaveHandler">删除</el-button>
    </div>
  </basic-container>
</template>
<script>
import {getList, addSave, editSave, deleteSave} from "@/api/code/codeCharcter"
import {gridCodeRule} from "@/api/code/codeCharcter"
export default {
name: "usableCharacter"
  name: "usableCharacter",
  data() {
    return {
      loading: false,
      //下拉框数组
      queryReleasedList: [],
      //下拉框初始数据数组
      characterReleasedList: [],
      characterValue: "",
      characterEditOldValue: "",
      tableData: [],
      select: "",
      selectValue: ""
    }
  },
  watch: {
    select: {
      handler(newV) {
        // console.log(newV)
      }
    }
  },
  created() {
    this.getCodeRule();
  },
  methods: {
    cellClickHandler(row, column) {
      this.characterValue = row[column.property];
      this.characterEditOldValue = row[column.property]
    },
    async getCodeRule() {
      try {
        // ç¼–码规则已发布数据源
        const res = await gridCodeRule({["conditionMap" + "[lcStatus_like]"]: "Released"});
        this.characterReleasedList = res.data.data.records;
        this.queryReleasedList = this.characterReleasedList;
        this.select = this.characterReleasedList[0].oid;
        this.loading = true;
        const res2 = await getList({codeRuleId: this.select, chartType: "charset", chartValue: this.characterValue});
        this.tableData = res2.data.data;
        this.loading = false;
        // console.log("this.tableData", this.tableData);
      } catch (error) {
        this.$message.warning(error)
      }
    },
    //编码规则下拉框搜索
    filterValue(query) {
      console.log(query)
      if (query !== "") {
        this.queryReleasedList = this.characterReleasedList.filter(item => {
          return item.name.includes(query.toString());
        });
      } else {
        this.queryReleasedList = this.characterReleasedList;
      }
    },
    selectHandler(val) {
      this.selectValue = val;
      this.characterValue = ""
      this.getTableData()
    },
    getTableData() {
      this.loading = true;
      // const targetObject = this.characterReleasedList.find(obj => obj.oid === this.selectValue);
      // const chartValue = targetObject.name;
      getList({codeRuleId: this.select, chartType: "charset", chartValue: this.characterValue}).then(res => {
        console.log(res.data.data);
        this.tableData = res.data.data;
        this.loading = false;
      });
    },
    addSaveHandler() {
      if (!this.characterValue) {
        this.$message.warning('请填写要添加的值!');
        return; // åˆ¤æ–­è¾“入值
      }
      const targetObject = this.characterReleasedList.find(obj => obj.oid === this.select);
      if (!targetObject) {
        return; // æŸ¥æ‰¾å¯¹åº”typeText
      }
      const codeRuleCharacterVO = {
        codeRuleId: this.select,
        chartType: "charset",
        chartValue: this.characterValue,
        chartTypeText: targetObject.name
      };
      addSave(codeRuleCharacterVO)
        .then(res => {
          this.$message.success(res.data.msg);
          this.characterValue = "";
          this.getTableData();
        }).catch(error => {
        this.$message.error('添加失败');
      });
    },
    editSaveHandler() {
      if (this.characterEditOldValue === "") {
        this.$message.warning('请选择修改的值!');
        return; // åˆ¤æ–­é€‰æ‹©å€¼
      }
      if (this.characterValue === "") {
        this.$message.warning('请填写要修改的值!');
        return; // åˆ¤æ–­è¾“入值
      }
      const targetObject = this.characterReleasedList.find(obj => obj.oid === this.select);
      if (!targetObject) {
        return; // æŸ¥æ‰¾å¯¹åº”typeText
      }
      const codeRuleCharacterVO = {
        codeRuleId: this.select,
        chartType: "charset",
        chartValue: this.characterValue,
        oldChartValue: this.characterEditOldValue,
        chartTypeText: targetObject.name
      };
      editSave(codeRuleCharacterVO)
        .then(res => {
          this.$message.success(res.data.msg);
          this.characterValue = "";
          this.getTableData();
        }).catch(error => {
        this.$message.error('修改失败');
      });
    },
    delSaveHandler() {
      //判断选择数据characterEditOldValue
      if (this.characterEditOldValue === "" || this.characterValue === "") {
        this.$message.warning('请选择要删除的值');
        return;
      }
      const targetObject = this.characterReleasedList.find(obj => obj.oid === this.select);
      if (!targetObject) {
        return; // æŸ¥æ‰¾å¯¹åº”typeText
      }
      const codeRuleCharacterVO = {
        codeRuleId: this.select,
        chartType: "charset",
        chartValue: this.characterValue,
        chartTypeText: targetObject.name
      };
      deleteSave(codeRuleCharacterVO)
        .then(res => {
          this.$message.success(res.data.msg);
          this.characterValue = "";
          this.getTableData();
        }).catch(error => {
        this.$message.error('删除失败');
      });
    }
  }
}
</script>
<style scoped>
<style lang="scss" scoped>
.el-header {
  padding: 0;
}
</style>