From fab8208b83a3c710cdfc3805655f04f0b7466be5 Mon Sep 17 00:00:00 2001
From: xiejun <xiejun@vci-tech.com>
Date: 星期三, 08 一月 2025 11:26:00 +0800
Subject: [PATCH] 产品型号集成,类型转换,人员组织加日志,申请接口引用码段值校验
---
Source/UBCS-WEB/src/views/ruleBasic/prefixConfig.vue | 332 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 328 insertions(+), 4 deletions(-)
diff --git a/Source/UBCS-WEB/src/views/ruleBasic/prefixConfig.vue b/Source/UBCS-WEB/src/views/ruleBasic/prefixConfig.vue
index afe8ad3..fc3b236 100644
--- a/Source/UBCS-WEB/src/views/ruleBasic/prefixConfig.vue
+++ b/Source/UBCS-WEB/src/views/ruleBasic/prefixConfig.vue
@@ -1,13 +1,337 @@
<template>
-
+ <basic-container>
+ <el-header>
+ <div style="margin-bottom: 15px">
+ 缂栫爜瑙勫垯锛�
+ <el-select v-model="select" :filter-method="filterValue" filterable placeholder="璇烽�夋嫨" size="small" v-loading="selectLoading"
+ @change="selectHandler">
+ <el-option v-for="(item,index) in queryReleasedList"
+ :key="item.oid"
+ :label="item.name + ' (' + item.id + ')'"
+ :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 - 315px)"
+ @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: 460px; display: flex; align-items: center;margin-top: 5px">
+ <p>鍊硷細</p>
+ <el-input v-model="characterValue" size="small" style="flex: 1; display: flex;">
+ <template slot="prefix">
+ <div style="display: flex; align-items: center;height: 100%;text-align: center;margin-left: 5px">
+ <el-tag v-for="(item,index) in this.editValueList" :key="index" closable size="small"
+ @close="handleClose(item,index)">
+ {{ item }}
+ </el-tag>
+ </div>
+ </template>
+ </el-input>
+ </div>
+ </el-footer>
+ <el-dialog :visible.sync="editVisble" append-to-body title="淇敼鍙敤瀛楃" width="40%">
+ <el-input v-model="characterValue" size="small"></el-input>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="editVisble = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="editSaveHandler">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
+ <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="editDialog">淇敼</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/mdmrule"
+
export default {
-name: "prefixConfig"
+ name: "usableCharacter",
+ data() {
+ return {
+ loading: false,
+ editValueList: [],
+ //涓嬫媺妗嗘暟缁�
+ queryReleasedList: [],
+ //涓嬫媺妗嗗垵濮嬫暟鎹暟缁�
+ characterReleasedList: [],
+ characterValue: "",
+ characterEditOldValue: "",
+ tableData: [],
+ select: "",
+ selectValue: "",
+ editVisble: false,
+ selectLoading:false,
+ }
+ },
+ watch: {
+ select: {
+ handler(newV) {
+ // console.log(newV)
+ }
+ }
+ },
+ created() {
+ this.getCodeRule();
+ },
+ methods: {
+ editDialog(){
+ if(this.editValueList.length > 1){
+ this.$message.warning('鍙兘閫夋嫨涓�鏉℃暟鎹紒');
+ return;
+ }
+ if(this.editValueList.length === 0){
+ this.$message.warning('璇烽�夋嫨涓�鏉℃暟鎹紒');
+ return;
+ }
+ this.editVisble = true;
+ },
+ handleClose(tag, index) {
+ this.$delete(this.editValueList, index);
+ if (this.editValueList.length === 0) {
+ this.characterValue = "";
+ return;
+ }
+ },
+ cellClickHandler(row, column) {
+ this.characterValue = row[column.property];
+ this.characterEditOldValue = row[column.property];
+ if (this.editValueList.includes(row[column.property])) {
+ this.$message.warning('璇锋鏌ュ瓧绗﹂泦鏄惁鏈夐噸澶嶏紒')
+ } else if (row[column.property] === undefined || row[column.property] === null) {
+ this.$message.warning('璇锋鏌ュ瓧绗﹂泦鏄惁鏈夌┖鍊硷紒');
+ } else {
+ this.editValueList.push(row[column.property]);
+ }
+ },
+ async getCodeRule() {
+ try {
+ // 缂栫爜瑙勫垯宸插彂甯冿紙TODO:2024/1/22鏀癸細鎸夌収闇�姹傚簲璇ユ槸閮芥煡璇級鏁版嵁婧�
+ const res = await gridCodeRule(1,-1);
+ 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;
+ this.selectLoading = false;
+ } catch (error) {
+ this.$message.warning(error)
+ }
+ },
+ //缂栫爜瑙勫垯涓嬫媺妗嗘悳绱�
+ filterValue(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; // 鍒ゆ柇杈撳叆鍊�
+ }
+ if (this.editValueList.length != 0) {
+ 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.editVisble = false;
+ this.editValueList = [];
+ 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 value = this.editValueList.join("");
+ const codeRuleCharacterVO = {
+ codeRuleId: this.select,
+ chartType: "prefix",
+ chartValue: value,
+ chartTypeText: targetObject.name
+ };
+
+ deleteSave(codeRuleCharacterVO)
+ .then(res => {
+ this.$message.success(res.data.msg);
+ this.editValueList = [];
+ this.characterValue = "";
+ this.getTableData();
+ }).catch(error => {
+ this.$message.error('鍒犻櫎澶辫触');
+ });
+ }
+ }
}
</script>
-<style scoped>
-
+<style lang="scss" scoped>
+.el-header {
+ padding: 0;
+}
</style>
--
Gitblit v1.9.3