From 810e34d320111d0101ca8115de5f82db61d080e2 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期四, 21 九月 2023 09:13:54 +0800
Subject: [PATCH] 引用码段JSON字符串bug处理
---
Source/UBCS-WEB/src/views/modeling/original.vue | 793 ++++++++++++++++++++++++--------------------------------
1 files changed, 345 insertions(+), 448 deletions(-)
diff --git a/Source/UBCS-WEB/src/views/modeling/original.vue b/Source/UBCS-WEB/src/views/modeling/original.vue
index f21eb03..349cb2f 100644
--- a/Source/UBCS-WEB/src/views/modeling/original.vue
+++ b/Source/UBCS-WEB/src/views/modeling/original.vue
@@ -1,479 +1,376 @@
-<template>
- <basic-container>
- <avue-crud v-model="form" :option="option" :data="data" ref="crud" :before-open="beforeOpen" @on-load="onLoad" @row-save="rowSave" @row-update="rowUpdate" @row-del="rowDel" :page.sync="page">
- <template slot-scope="{row,index,type}" slot="selInputForm">
- <div style="margin-left: 75px">
- <el-input v-model="form.text" :size="size"
- style="width: 210px" :readonly="true"></el-input>
- <el-button type="primary" style="margin-left: 10px" @click="addHandle">閫夋嫨</el-button>
- <el-button type="info">鍙栨秷</el-button>
- </div>
- </template>
- </avue-crud>
- <el-dialog :visible.sync="packageBox"
- append-to-body
- title="鏌ョ湅涓氬姟绫诲瀷"
- width="1000px">
- <original-range @rowchange="rowchange"></original-range>
- <span slot="footer" class="dialog-footer">
- <el-button @click="dialoghandelfalse">鍙� 娑�</el-button>
- <el-button type="primary" @click="dialoghandeltrue">纭� 瀹�</el-button>
- </span>
- </el-dialog>
- <el-dialog :visible.sync="packageLinkBox"
- append-to-body
- title="鏌ョ湅閾炬帴绫诲瀷"
- width="1000px">
- <original-link @rowLinkchange="rowLinkchange"></original-link>
- <span slot="footer" class="dialog-footer">
- <el-button @click="Linkdialoghandelfalse">鍙� 娑�</el-button>
- <el-button type="primary" @click="Linkdialoghandeltrue">纭� 瀹�</el-button>
- </span>
- </el-dialog>
- </basic-container>
+ <template>
+ <el-container>
+ <el-main>
+ <basic-container>
+ <avue-crud v-model="form" ref="crud" :option="option" :data="data" @on-load="onLoad" :page.sync="page"
+ @refresh-change="refreshChange" @row-click="rowClick">
+ <template slot="radio" slot-scope="{row}">
+ <el-radio v-model="selectRow" :label="row.$index">
+ </el-radio>
+ </template>
+ <template slot="menu" slot-scope="{row,index}">
+ <el-button icon="el-icon-edit" size="small" type="text" @click="updateSave(row,index)">缂栬緫</el-button>
+ <el-button icon="el-icon-delete" size="small" type="text" @click="deleteSave(row,index)">鍒犻櫎</el-button>
+ </template>
+ <template slot="menuLeft">
+ <el-button size="small" type="primary" icon="el-icon-plus" @click="addSave">鏂� 澧�
+ </el-button>
+ <el-button size="small" plain type="primary" icon="el-icon-zoom-in" @click="applyRangeOpen">鏌ョ湅浣跨敤鑼冨洿
+ </el-button>
+ <el-input placeholder="鎸夊睘鎬х紪鍙锋煡璇�" v-model="searchId" clearable prefix-icon="el-icon-search" class="attrSearch"
+ size="small" @change="doSearch" type="text"></el-input>
+ <el-button size="small" plain type="primary" icon="el-icon-search" @click="doSearch"> 鎼滅储</el-button>
+ </template>
+ <template slot="typeValue" slot-scope="{row}">
+ <el-tag>{{ row.typeValue }}</el-tag>
+ </template>
+ </avue-crud>
+ <!-- <el-dialog :visible.sync="applyRange.display" append-to-body :title="applyRange.title" width="600px"
+ @close="applyRangeClose">
+ <avue-crud v-model="applyRange.model" :option="applyRange.option" :data="applyRange.data" class="applyRangeTable"
+ ></avue-crud>
+ </el-dialog> -->
+ <Versionpackage :rangeData="applyRangeData" ref="applyRange"></Versionpackage>
+ </basic-container>
+ </el-main>
+ <el-aside>
+ <basic-container class="itemForm">
+ <el-descriptions class="margin-top" :column="1" size="medium" border title="灞炴�ч」">
+ <el-descriptions-item>
+ <template slot="label">
+ 灞炴�х紪鍙�
+ </template>
+ {{ itemForm.itemData.id }}
+ </el-descriptions-item>
+ <el-descriptions-item>
+ <template slot="label">
+ 灞炴�у悕绉�
+ </template>
+ {{ itemForm.itemData.name }}
+ </el-descriptions-item>
+ <el-descriptions-item>
+ <template slot="label">
+ 灞炴�х被鍨�
+ </template>
+ {{ itemForm.itemData.typeValue }}
+ </el-descriptions-item>
+<!-- <el-descriptions-item>
+ <template slot="label">
+ 鏍囩
+ </template>
+ {{ itemForm.itemData.hashtag }}
+ </el-descriptions-item>-->
+ <el-descriptions-item>
+ <template slot="label">
+ 榛樿鍊�
+ </template>
+ {{ itemForm.itemData.defaultValue }}
+ </el-descriptions-item>
+ <el-descriptions-item>
+ <template slot="label">
+ 鍏佽涓虹┖
+ </template>
+ {{ 'true' == itemForm.itemData.nullable ? '鏄�' : '鍚�'}}
+ </el-descriptions-item>
+ <el-descriptions-item>
+ <template slot="label">
+ 闀垮害
+ </template>
+ {{ itemForm.itemData.maxLength }}
+ </el-descriptions-item>
+ <el-descriptions-item>
+ <template slot="label">
+ 鎻忚堪
+ </template>
+ {{ itemForm.itemData.description }}
+ </el-descriptions-item>
+ </el-descriptions>
+ <div style="height:15px"></div>
+ <el-descriptions class="margin-top" :column="1" size="medium" border title="灞炴�ч厤缃�"></el-descriptions>
+ <el-tabs v-model="itemForm.activeName" @tab-click="handleClick" stretch="true" style="height:235px">
+ <el-tab-pane label="鍙傜収" name="referTab">
+ <el-descriptions class="margin-top" :column="1" size="medium" border>
+ <el-descriptions-item>
+ <template slot="label">
+ 浣跨敤鍙傜収
+ </template>
+ {{ itemForm.itemData.referTypeValue ? '鏄�' : '鍚�' }}
+ </el-descriptions-item>
+ <el-descriptions-item>
+ <template slot="label">
+ 鍙傜収绫诲瀷
+ </template>
+ {{ itemForm.itemData.referTypeValue }}
+ </el-descriptions-item>
+ <el-descriptions-item>
+ <template slot="label">
+ 鍙傜収鍚嶇О
+ </template>
+ {{ itemForm.itemData.referToName }}
+ </el-descriptions-item>
+ </el-descriptions>
+ </el-tab-pane>
+ <el-tab-pane label="鏋氫妇" name="enumTab">
+ <el-descriptions class="margin-top" :column="1" :size="small" border>
+ <el-descriptions-item>
+ <template slot="label">
+ 浣跨敤鏋氫妇
+ </template>
+ {{ itemForm.itemData.usingDict ? '鏄�' : '鍚�' }}
+ </el-descriptions-item>
+ <el-descriptions-item>
+ <template slot="label">
+ 鏋氫妇绫诲瀷
+ </template>
+ {{ itemForm.itemData.dictValue }}
+ </el-descriptions-item>
+ </el-descriptions>
+ </el-tab-pane>
+ </el-tabs>
+ </basic-container>
+ </el-aside>
+ <originalAdd ref="originalAdd" @refreshTable="refreshChange" :attribute="editAttribute"></originalAdd>
+ </el-container>
</template>
<script>
+import {
+ getList,
+ remove,
+ add,
+ update, getPage, getApplyRange
+} from "@/api/omd/OmdAttribute";
+import Versionpackage from "./Versionpackage.vue";
+import {getDictionary} from "@/api/omd/enum";
+
export default {
- name: "passwords.vue",
+ name: "original",
data() {
return {
- rouname:"",
- // 涓氬姟绫诲瀷瀵硅瘽妗�
- packageBox:false,
- //閾炬帴绫诲瀷瀵硅瘽妗�
- packageLinkBox:false,
- //鍊煎煙涓嬫媺妗嗘暟鎹�
- Typelist:[],
- //鐗堟湰鏁版嵁
- banList:[],
- form:{
- text:""
- },
page: {
pageSize: 10,
currentPage: 1,
total: 100
},
- data: [
- {
- name:"a",
- prop:"VTstring",
- admin:"榛樿",
- desc:"娴嬭瘯A"
- },
- {
- name:"b",
- prop:"VTstring",
- admin:"榛樿",
- desc:"娴嬭瘯B"
- },
- {
- name:"c",
- prop:"VTstring",
- admin:"榛樿",
- desc:"娴嬭瘯C"
- },
- {
- name:"d",
- prop:"VTstring",
- admin:"榛樿",
- desc:"娴嬭瘯D"
- }
- ],
- option:{
- selection: true,
- headerAlign: 'center',
+ selectRow: "",
+ data: [],
+ form: {},
+ attribute: {
+ nullable: true
+ },
+ editAttribute: {},
+ applyRangeData: [],
+ option: {
+ height: "auto",
+ calcHeight:20,
+ headerAlign: "center",
border: true,
index: true,
- rowKey:'id',
+ rowKey: "id",
tabs: true,
- column:[
- {
- label: '灞炴�у悕',
- prop: 'name',
- align: 'left',
- display:false
- },
- {
- label: '鏍囩',
- prop: 'tag',
- hide:true,
- display: false
- },
- {
- label: '鏄惁浣跨敤鏋氫妇',
- prop: 'isnot',
- type: 'switch',
- hide:true,
- labelWidth: 132,
- display: false,
- dicData:[{
- label:'鏄�',
- value:0
- },{
- label:'鍚�',
- value:1
- }]
- },
- {
- label: '灞炴�х被鍨�',
- prop: 'prop',
- type:"select",
- display: false,
- dicData:[
- {
- label:"娴嬭瘯1",
- value:0
- },
- {
- label:"娴嬭瘯2",
- value:1
- },
- {
- label:"娴嬭瘯3",
- value:2
- }
- ]
- },
- {
- label: '榛樿鍊�',
- prop: 'admin',
- display: false
- },
- {
- label: '鍏佽涓虹┖',
- prop: 'isDefault',
- type: 'switch',
- display: false,
- hide:true,
- labelWidth: 132,
- dicData:[{
- label:'涓嶅厑璁�',
- value:0
- },{
- label:'鍏佽',
- value:1
- }]
- },
- {
- label: "闀垮害",
- prop: "length",
- hide: true,
- display: false
- },
- {
- label: '鎻忚堪',
- prop: 'desc',
- type:"textarea",
- display: false
- },
- ],
- group:[
- {
- label: '灞炴�ч」',
- prop:"index",
- column: [
- {
- label: '灞炴�у悕',
- prop: 'name',
- align: 'left',
- },
- {
- label: '鏍囩',
- prop: 'tag',
- hide:true
- },
- {
- label: '灞炴�х被鍨�',
- prop: 'prop',
- type:"select",
- dicData:[
- {
- label:"娴嬭瘯1",
- value:0
- },
- {
- label:"娴嬭瘯2",
- value:1
- },
- {
- label:"娴嬭瘯3",
- value:2
- }
- ]
- },
- {
- label: '榛樿鍊�',
- prop: 'admin',
- },
- {
- label: '鍏佽涓虹┖',
- prop: 'isDefault',
- type: 'switch',
- hide:true,
- labelWidth: 132,
- dicData:[{
- label:'涓嶅厑璁�',
- value:0
- },{
- label:'鍏佽',
- value:1
- }]
- },
- {
- label: "闀垮害",
- prop: "length",
- hide: true
- },
- {
- label: '鎻忚堪',
- prop: 'desc',
- type:"textarea"
- },
- ]
- },
- {
- label: '鍊煎煙',
- column:[
- {
- placeholder:"璇烽�夋嫨鍊煎煙",
- span:12,
- label: '鍊煎煙',
- prop: 'range',
- value:0,
- type:"select",
- change:this.selectChange,
- dicData:[
- {
- label:"涓氬姟绫诲瀷",
- value:0
- },
- {
- label:"閾炬帴绫诲瀷",
- value:1
- },
- ]},
- {
- prop:"selInput",
- placeholder: false,
- readonly:true,
- display: true,
- formslot: true,
- },
- {
- label: "閫夋嫨鐗堟湰",
- prop:"banben",
- type:'select',
- value:0,
- change: this.selchange,
- display: true,
- dicData: [
- {
- label: '褰撳墠鐗堟湰娆�',
- value:0
- },
- {
- label: '鏈�鏂扮増鏈',
- value:1
- }
- ]
- },
- {
- //榛樿琛ㄦ牸鎻掓Ы
- prop:"default",
- span:24,
- display: false
- }
- ]
- },
- {
- label: '鏋氫妇',
- column: [
- {
- label: '鏄惁浣跨敤鏋氫妇',
- prop: 'isnot',
- type: 'switch',
- hide:true,
- labelWidth: 132,
- span:8,
- dicData:[{
- label:'鏄�',
- value:0
- },{
- label:'鍚�',
- value:1
- }]
- },
- {
- prop:'text',
- type:'input',
- placeholder:'璇疯緭鍏ュ唴瀹�',
- hide:true,
- display:false
- },
- {
- prop: 'enumerationSelect',
- type: 'select',
- placeholder: '璇烽�夋嫨',
- hide: true,
- span:12,
- dicData: [
- {
- label: 'a',
- value: 0
- },
- {
- label: 'b',
- value: 1
- },
- {
- label: 'c',
- value: 2
- }
- ]
- },
- {
- label: '鎻忚堪',
- prop: 'endesc',
- type:"textarea",
- labelWidth: 132,
- },
- ]
- }
+ stripe: true,
+ indexFixed: false,
+ menuWidth: 150,
+ highlightCurrentRow: true,
+ addBtn: false,
+ editBtn: false,
+ delBtn: false,
+ columnBtn:false,
+ column: [{
+ label: "閫夋嫨",
+ prop: "radio",
+ width: 60,
+ hide: false,
+ display: false
+ }, {
+ label: "灞炴�х紪鍙�",
+ prop: "id",
+ align: "left",
+ display: false,
+ width: 200,
+ required: true
+ }, {
+ label: "灞炴�у悕绉�",
+ prop: "name",
+ align: "left",
+ display: false
+ },/* {
+ label: "鏍囩",
+ prop: "hashtag",
+ // hide: true,
+ display: false
+ },*/ {
+ label: "鏄惁浣跨敤鏋氫妇",
+ prop: "usingDict",
+ type: "switch",
+ hide: true,
+ labelWidth: 132,
+ display: false,
+ dicData: [{
+ label: "鏄�",
+ value: "true"
+ }, {
+ label: "鍚�",
+ value: "false"
+ }]
+ }, {
+ label: "灞炴�х被鍨�",
+ prop: "typeValue",
+ display: false,
+ // hide: true
+ }, {
+ label: "榛樿鍊�",
+ prop: "defaultValue",
+ display: false
+ }, {
+ label: "鍏佽涓虹┖",
+ prop: "nullable",
+ type: "switch",
+ display: false,
+ hide: true,
+ labelWidth: 132,
+ dicData: [{
+ label: "鍚�",
+ value: "false"
+ }, {
+ label: "鏄�",
+ value: "true"
+ }]
+ }, {
+ label: "闀垮害",
+ prop: "maxLength",
+ hide: true,
+ display: false
+ }, {
+ label: "鎻忚堪",
+ prop: "description",
+ type: "textarea",
+ display: false
+ },
]
},
-
- }
+ itemForm: {
+ itemData: {},
+ activeName: "referTab",
+ enumInitFlag:false,
+ referInitFlag: false,
+ form: {}
+ },
+ searchId: '',
+ };
},
-
-
created() {
},
- methods:{
- rowLinkchange(row){
- this.form.text=row.name
+ methods: {
+ refreshChange() {
+ this.onLoad(this.pageParent, this.query);
},
- rowchange(row){
- this.form.text=row.name
+ addSave() {
+ this.$refs.originalAdd.showSubmitDialog = true;
+ const newAttr = {};
+ newAttr.nullable = true;
+ this.$refs.originalAdd.attribute = newAttr;
},
- //鍊煎煙绫诲瀷閫夋嫨
- addHandle() {
- this.packageBox=true
- if(this.Typelist.value == 0){
- this.packageBox=true
- this.packageLinkBox=false
- }else if(this.Typelist.value == 1){
- this.packageBox=false
- this.packageLinkBox=true
+ updateSave(row,index) {
+ this.selectRow = index;
+ var json = JSON.stringify(row);
+ this.editAttribute = JSON.parse(json);
+ this.editAttribute.nullable = row.nullable == 'true' ? true : false;
+ this.$refs.originalAdd.attribute = this.editAttribute;
+ this.$refs.originalAdd.showSubmitDialog = true;
+ this.checkUsingReferDict(row);
+ this.$refs.originalAdd.activeName = this.itemForm.activeName;
+ this.$refs.originalAdd.enumInitFlag = this.itemForm.enumInitFlag;
+ this.$refs.originalAdd.referInitFlag = this.itemForm.referInitFlag;
+ // this.refreshChange()
+ },
+ deleteSave(row,index) {
+ this.$confirm("鍒犻櫎鍏冩暟鎹皢鏃犳硶琚仮澶�, 鏄惁缁х画?", "鎻愮ず", {
+ iconClass: 'el-icon-question',
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ showClose: true,
+ type: "warning"
+ }).then(() => {
+ remove(row.oid).then(res => {
+ this.$message.success("鍒犻櫎鎴愬姛");
+ this.refreshChange();
+ });
+ });
+ },
+ onLoad(page, params = {}) {
+ this.loading = true;
+ getPage(this.page.currentPage, this.page.pageSize, Object.assign(params, this.query)).then(res => {
+ const data = res.data.data;
+ this.page.total = data.total;
+ this.data = data.records;
+ this.loading = false;
+ this.data = res.data.data.records;
+ this.itemData = this.data[0];
+ });
+ },
+ rowClick(row) {
+ this.itemForm.itemData = row;
+ this.selectRow = row.$index;
+ this.attribute = row;
+ this.checkUsingReferDict(row);
+ },
+ checkUsingReferDict(row){
+ if (row.referToId !== null && row.referToId !== ""){
+ this.itemForm.activeName = 'referTab';
+ this.itemForm.referInitFlag = true;
+ this.itemForm.enumInitFlag = false;
+ }else if (row.usingDict === 'true'){
+ this.itemForm.activeName = 'enumTab';
+ this.itemForm.referInitFlag = false;
+ this.itemForm.enumInitFlag = true;
+ getDictionary({code: row.dictCode}).then(res => {
+ this.editAttribute.dictValue = res.data.data[0].label;
+ this.itemForm.itemData.dictValue = this.editAttribute.dictValue;
+ this.$refs.originalAdd.dictEnums = res.data.data;
+ })
+ }else {
+ this.itemForm.activeName = 'referTab';
+ this.itemForm.referInitFlag = true;
+ this.itemForm.enumInitFlag = false;
}
},
- // 鍊煎煙涓氬姟绫诲瀷瀵硅瘽妗嗗彇娑�
- dialoghandelfalse() {
- this.packageBox=false;
- this.form.text=""
+ selectBtmType() {
+ this.referType.display = true;
+ this.referType.title = "璇烽�夋嫨" + this.referType.value;
},
- //鍊煎煙涓氬姟绫诲瀷瀵硅瘽妗嗙‘瀹�
- dialoghandeltrue(){
- this.packageBox=false
- },
- // 鍊煎煙閾炬帴绫诲瀷瀵硅瘽妗嗗彇娑�
- Linkdialoghandelfalse(){
- this.packageLinkBox=false;
- this.form.text=""
- },
- //鍊煎煙閾炬帴绫诲瀷瀵硅瘽妗嗙‘瀹�
- Linkdialoghandeltrue(){
- this.packageLinkBox=false
- },
- selectChange(val){
- this.Typelist=val
+ applyRangeOpen() {
+ if (!this.selectRow && this.selectRow != 0) {
+ this.$message({
+ type: "warning",
+ message: "璇峰厛閫夋嫨灞炴��"
+ });
+ }
+ var oid = this.data[this.selectRow].oid;
+ getApplyRange(oid).then(res => {
+ this.applyRangeData = res.data.data;
+ this.$refs.applyRange.rangeData = this.applyRangeData;
+ this.$refs.applyRange.showDialog = true;
- if(val.value == 0 ){
- this.option.group[1].column[2].display=false
- }else if(val .value == 1 ){
- this.option.group[1].column[2].display=true
- }else if(val.column.value == 0){
- this.option.group[1].column[2].display=false
- }
- },
- selchange(val){
- this.banList=val
+ });
},
- // beforeOpen (done, type) {
- // if (['view', 'edit'].includes(type)) {
- // // 鏌ョ湅鍜岀紪杈戦�昏緫
- // console.log("缂栬緫")
- // } else {
- // //鏂板閫昏緫
- // console.log(this.Typelist)
- // console.log(this.banList)
- //
- // console.log("鏂板")
- // }
- // done();
- //
- // }
- },
-
- // rowDel(row){
- // this.$confirm("纭畾灏嗛�夋嫨鏁版嵁鍒犻櫎?", {
- // confirmButtonText: "纭畾",
- // cancelButtonText: "鍙栨秷",
- // type: "warning"
- // })
- // .then(() => {
- // return getremove(row.id);
- // })
- // .then(() => {
- // this.$message({
- // type: "success",
- // message: "鎿嶄綔鎴愬姛!"
- // });
- // this.onLoad();
- // });
- // },
- // rowSave(row,done){
- // getadd(row).then(()=>{
- // this.$message({
- // type: "success",
- // message: "鎿嶄綔鎴愬姛!"
- // });
- // done(row)
- // this.onLoad()
- // }).catch((res)=>{
- // this.$message({
- // type: "success",
- // message:res
- // });
- // })
- // },
- // rowUpdate(row,index,done){
- // getupdata(row).then(()=>{
- // this.onLoad()
- // this.$message({
- // type: "success",
- // message: "淇敼鎴愬姛!"
- // });
- // done(row)
- // })
- // },
- // onLoad(page, params = {}) {
- // // this.loading = true;
- // // getPage(this.page.currentPage, this.page.pageSize, Object.assign(params, this.query)).then(res => {
- // // // const data = res.data.data;
- // // // this.page.total = data.total;
- // // // this.data = data.records;
- // // // this.loading = false;
- // // // this.selectionClear();
- // // this.data=res.data.data.records
- // // })
- // }
- // }
-
+ doSearch(){
+ var params = {"id_like":this.searchId};
+ this.onLoad(this.page,params);
+ }
+ },
+ components: { Versionpackage }
}
</script>
<style lang="scss">
-
+.applyRangeTable>.el-card:nth-of-type(2)>.el-card__body>.avue-crud__menu {
+ display: none !important;
+}
+.attrSearch {
+ width:201px;
+}
+.attrSearch > .el-input__inner {
+ width: 200px;
+}
</style>
--
Gitblit v1.9.3