From 3e20408521d46b1086a5e77b914d04afb9630ab0 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期五, 28 七月 2023 10:37:02 +0800
Subject: [PATCH] 主题库开启编辑分类注入bug
---
Source/UBCS-WEB/src/components/Tree/attrCrud.vue | 621 ++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 466 insertions(+), 155 deletions(-)
diff --git a/Source/UBCS-WEB/src/components/Tree/attrCrud.vue b/Source/UBCS-WEB/src/components/Tree/attrCrud.vue
index cdf2b52..8f655e7 100644
--- a/Source/UBCS-WEB/src/components/Tree/attrCrud.vue
+++ b/Source/UBCS-WEB/src/components/Tree/attrCrud.vue
@@ -1,41 +1,52 @@
<template>
<div>
- <div style="display: flex;flex-wrap: wrap;" v-if="this.crudArrayFlag">
+ <div style="display: flex;flex-wrap: wrap;" v-if="this.crudArrayFlag" class="app">
<el-button-group>
<!--鏂板-->
- <el-button v-if="attrEditVisible == false && attrFlagChiledren==false" size="small" type="primary" icon="el-icon-plus" @click="busineHandle">娣诲姞 {{ msg }}</el-button>
+ <el-button v-if="attrEditVisible == false && attrFlagChiledren==false && editOpenFlag && (!checkStatus || crudLCStatus=='Editing' )" size="small" type="primary" icon="el-icon-plus" plain @click="busineHandle">娣诲姞 {{ msg }}</el-button>
<!-- 鍏ㄥ睆缂栬緫-->
- <el-button v-if=" attrEditVisible == false && attrFlagChiledren==false" size="small" @click="fullscreenHandle" icon="el-icon-full-screen">鍏ㄥ睆缂栬緫</el-button>
+ <el-button v-if=" attrEditVisible == false && attrFlagChiledren==false && editOpenFlag&&(!checkStatus || crudLCStatus=='Editing')" size="small" @click="fullscreenHandle" icon="el-icon-full-screen">鍏ㄥ睆缂栬緫</el-button>
<!-- 楠岃瘉瑙勫垯-->
- <el-button icon="el-icon-info" size="small" @click="rulesVisible=true">楠岃瘉瑙勫垯</el-button>
+ <el-button v-if="(!checkStatus || crudLCStatus=='Editing' )&& editOpenFlag" icon="el-icon-info" size="small" @click="ruleAddHandler">楠岃瘉瑙勫垯</el-button>
<!-- 灞炴�у垎缁�-->
- <el-button icon="el-icon-menu" size="small" @click="attrVisibleHandle">灞炴�у垎缁�</el-button>
+ <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-menu" size="small" @click="attrVisibleHandle">灞炴�у垎缁�</el-button>
</el-button-group>
<el-button-group>
+ <!--鏂板-->
<!-- 鍒嗙被娉ㄥ叆-->
- <el-button icon="el-icon-magic-stick" size="small" @click="injectBtn">鍒嗙被娉ㄥ叆</el-button>
+ <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-magic-stick" size="small" @click="injectBtn">鍒嗙被娉ㄥ叆</el-button>
<!-- 缁勫悎瑙勫垯-->
- <el-button size="small" @click="isShowHandler">缁勫悎瑙勫垯</el-button>
+ <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-film" size="small" @click="isShowHandler">缁勫悎瑙勫垯</el-button>
<!-- 鏋氫妇娉ㄥ叆-->
- <el-button size="small" @click="enmuVisHandle">鏋氫妇娉ㄥ叆</el-button>
+ <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-c-scale-to-original" size="small" @click="enmuVisHandle">鏋氫妇娉ㄥ叆</el-button>
<!-- 绾ц仈灞炴��-->
- <el-button size="small" @click="CascadeHandle">绾ц仈灞炴��</el-button>
- <!-- 棰勮鎺掑簭-->
- <el-button size="small" icon="el-icon-arrow-down">棰勮鎺掑簭</el-button>
+ <el-button v-if="(!checkStatus|| crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-coin" size="small" @click="CascadeHandle">绾ц仈灞炴��</el-button>
</el-button-group>
<el-button-group>
+ <!-- 棰勮鎺掑簭-->
+ <el-button size="small" @click="orderHandle" icon="el-icon-arrow-down">棰勮鎺掑簭</el-button>
+ <!--鏂板-->
<!-- 淇濆瓨-->
- <el-button size="small" @click="addsHandler" icon="el-icon-check">淇濆瓨</el-button>
+ <el-button v-if="(!checkStatus|| crudLCStatus=='Editing') && editOpenFlag" size="small" @click="addsHandler" icon="el-icon-check">淇濆瓨</el-button>
<!-- 鍒犻櫎-->
- <el-button size="small" @click="CrudRemove" icon="el-icon-delete">鍒犻櫎</el-button>
+ <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" size="small" @click="CrudRemove" icon="el-icon-delete">鍒犻櫎</el-button>
<!-- 閲嶇疆-->
<el-button size="small" @click="reset" icon="el-icon-refresh-right">閲嶇疆</el-button>
+ </el-button-group>
+ <el-button-group>
<!-- 鍚屾鍒板叾浠栨ā鏉�-->
<el-button size="small"@click="syncHandle" icon="el-icon-share">鍚屾鍒板叾浠栨ā鏉�</el-button>
</el-button-group>
+
+ <el-button-group>
<!-- 缂栫爜鐢宠棰勮-->
- <el-button size="small" @click="applicationHandle" style="">缂栫爜鐢宠棰勮</el-button>
- <!-- 楠岃瘉瑙勫垯-->
+ <el-button size="small" icon="el-icon-view" @click="applicationHandle" style="">缂栫爜鐢宠棰勮</el-button>
+
+ </el-button-group>
+ <!-- 鏄惁寮�鍚紪杈� -->
+ <el-button-group>
+ <el-button size="small" plain icon="el-icon-view" v-if="(!checkStatus|| crudLCStatus=='Editing') && !editOpenFlag" @click="editOpen" >寮�鍚紪杈�</el-button>
+ </el-button-group>
</div>
<!-- 寮圭獥-->
<div>
@@ -64,7 +75,7 @@
</div>
</el-dialog>
<!-- 鏋氫妇娉ㄥ叆-->
- <el-dialog :visible.sync="enumVisible" append-to-body title="鏋氫妇娉ㄥ叆">
+ <el-dialog :visible.sync="enumVisible" append-to-body title="鏋氫妇娉ㄥ叆" :before-close="this.enumBeforeClose">
<!-- 娓叉煋琛ㄦ牸鍙婃寜閽� -->
<!-- 娓叉煋琛ㄦ牸鍙婃寜閽� -->
<div>
@@ -72,11 +83,6 @@
<el-table :data="tableData" style="width: 100%" @cell-click="handleCellClick"
@selection-change="handleSelectionChange">
<!-- 娓叉煋琛ㄦ牸鍒楀強浼犲弬 -->
- <el-table-column label="搴忓彿" type="index"></el-table-column>
- <el-table-column
- type="selection"
- width="55">
- </el-table-column>
<el-table-column label="閫夐」鍊�" prop="key">
<template slot-scope="{ row }">
<!-- 缂栬緫鍜屽睍绀洪�昏緫 -->
@@ -103,7 +109,7 @@
<template>
<div style="display: flex;justify-content: right;margin-top: 15px">
<el-button size="small" type="primary" @click="enumAddHandle">淇濆瓨</el-button>
- <el-button size="small" @click="enumVisible=false">鍙栨秷</el-button>
+ <el-button size="small" @click="enumCancell">鍙栨秷</el-button>
</div>
</template>
</div>
@@ -120,23 +126,23 @@
<div style="padding-top: 15px;padding-left: 35px">
<el-form ref="injectForm" label-width="80px">
<el-form-item label="娉ㄥ叆绫诲瀷">
- <el-radio-group v-model="injectOption.type">
- <el-radio label="鍒嗙被鍚嶇О"></el-radio>
- <el-radio label="鍒嗙被浠e彿"></el-radio>
+ <el-radio-group v-model="injectOption.classifyInvokeAttr">
+ <el-radio label="name">鍒嗙被鍚嶇О</el-radio>
+ <el-radio label="id">鍒嗙被浠e彿</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="灞傜骇璁剧疆">
- <el-radio-group v-model="injectOption.set">
- <el-radio label="鏈�灏忓眰"></el-radio>
- <el-radio label="鎸囧畾灞�"></el-radio>
- <el-input-number v-if="this.injectOption.set == '鎸囧畾灞�'" v-model="injectOption.injectNum" :max="10" :min="0"
+ <el-radio-group v-model="injectOption.classifyInvokeLevel">
+ <el-radio label="min">鏈�灏忓眰</el-radio>
+ <el-radio label="max">鎸囧畾灞�</el-radio>
+ <el-input-number v-if="this.injectOption.classifyInvokeLevel == 'max'" v-model="injectOption.classifyNumber" :max="10" :min="0"
controls-position="right"></el-input-number>
</el-radio-group>
</el-form-item>
<el-form-item label="鍙慨鏀�">
- <el-radio-group v-model="injectOption.change">
- <el-radio label="鏄�"></el-radio>
- <el-radio label="鍚�"></el-radio>
+ <el-radio-group v-model="injectOption.classifyInvokeEditFlag">
+ <el-radio label="true">鏄�</el-radio>
+ <el-radio label="false">鍚�</el-radio>
</el-radio-group>
</el-form-item>
</el-form>
@@ -208,20 +214,25 @@
:thisSceneTableData="thisSceneTableData"
:visible.sync="isShowformulaEdit"
@updateFormulaContent="updataFormlaContent"
+ :componentRuleText="componentRuleText"
></formula-editor>
<!-- 鏂板 -->
<el-dialog :visible.sync="addVisible" append-to-body title="浠庝笟鍔$被鍨嬩腑閫夋嫨灞炴��">
- <avue-crud :data="businessData" :option="businessOption" @selection-change="businessSelect">
+ <avue-crud ref="AddOriginPlace" :data="businessData" :option="businessOption" @selection-change="businessSelect">
<template slot="menuLeft">
<div style="display: flex;">
- <el-select>
- <el-option>灞炴�ц嫳鏂囧悕绉�</el-option>
- <el-option>灞炴�т腑鏂囧悕绉�</el-option>
+ <el-select v-model="SelectValue" placeholder="璇烽�夋嫨" style="width: 150px !important;">
+ <el-option
+ v-for="item in SelectOption"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ style="width: 150px">
+ </el-option>
</el-select>
- <el-input style="width: 300px;margin-left: 20px"></el-input>
- <el-button size="small" style="margin-left: 10px">鏌ヨ</el-button>
+ <el-input style="width: 400px;margin-left: 20px" v-model="SelectFInd"></el-input>
+ <el-button size="small" style="margin-left: 10px" @click="AddFindHandler">鏌ヨ</el-button>
</div>
-
</template>
</avue-crud>
<div style="display: flex;justify-content: flex-end;margin-top: 15px">
@@ -229,34 +240,56 @@
<el-button size="small" type="primary" @click="addVisible=false">鍙栨秷</el-button>
</div>
</el-dialog>
+
+ <!-- 鍙傜収閰嶇疆-->
+ <refer-config-dialog
+ :display="referConfigVisble"
+ @setReferConfigValue="setReferConfigValue"
+ :referConfigOption="referConfigOption"
+ ></refer-config-dialog>
+
</div>
<el-table :data="ProData"
style="width: 100%"
+ height="400"
@cell-click="handleCellClicks"
@select="selectHandle"
@selection-change="selectionChange"
v-if="this.crudArrayFlag"
+ ref="referAttrCrud"
+ v-loading="loading"
>
<el-table-column
type="selection"
- width="55">
+ width="55" fixed>
</el-table-column>
<!--<el-table-column fixed label="搴忓彿" type="index" width="55"></el-table-column>-->
- <el-table-column v-for="item in this.option.column" :key="item.id"
+ <el-table-column v-for="(item,index) in this.option.column" :key="item.id"
:label="item.label"
:prop="item.prop"
:formatter="formAttr"
- :width="item.width||(item.label.length >=4 ?'150':item.label.length==3 ?'120':'90')"
+ :width="item.width||(item.label.length >=4 ?'160':item.label.length==3 ?'130':'100')"
:show-overflow-tooltip="true"
+ :sortable="item.sortable"
+ :fixed="item.fixed"
align="center"
+ v-if="item.edit !='referName'"
>
<template slot-scope="{ row }">
- <el-input v-if="editingRows === row && editShows== item.prop && (item.edit == 'text' || item.edit == 'select' ||item.edit == 'refer')" v-model="row[item.prop]"
- @blur="saveRows"></el-input>
- <el-input-number controls-position="right" v-if="editingRows === row && editShows== item.prop && item.edit == 'number'" v-model="row[item.prop]"
- @blur="saveRows"></el-input-number>
+ <el-input v-if="editingRows === row && editShows== item.prop && item.prop != 'codeDateFormat' && (item.edit == 'text' ||item.edit == 'refer' )" v-model="row[item.prop]"
+ @blur="saveRows" ></el-input>
+ <el-input-number size="small" controls-position="right" v-if="editingRows === row && editShows== item.prop && item.edit == 'number'" v-model="row[item.prop]"
+ @blur="saveRows" :style="{width:(item.width-10)+'px'}"></el-input-number>
+ <el-select v-model="row[item.prop]" filterable allow-create default-first-option slot="prepend" v-if="editingRows === row && editShows== item.prop && item.edit == 'select' " @blur="selectChangeHandler(item.editConfig,index)">
+ <el-option
+ v-for="optionItem in item.data"
+ :key="optionItem.dictValue"
+ :label="optionItem.dictValue"
+ :value="optionItem.dictValue">
+ </el-option>
+ </el-select>
<el-switch
- v-if="item.edit === 'switch'" v-model="row[item.prop]" active-value="true"
+ v-if="item.edit === 'switch'" v-model="row[item.prop]" active-value="true" :disabled="!editOpenFlag"
inactive-value="false">
</el-switch>
<span v-else>{{ row[item.prop] }}</span>
@@ -265,23 +298,23 @@
<el-table-column
fixed="right"
label="鎿嶄綔"
- width="120">
+ width="70">
<template slot-scope="scope">
<el-button
size="small"
type="text"
- @click.native.prevent="CrudRowDel(scope.row)">
+ @click.native.prevent="CrudRowDel(scope.$index)">
绉婚櫎
</el-button>
</template>
</el-table-column>
</el-table>
</div>
- <!-- </avue-crud>-->
</template>
<script>
-import {AttrByBtm, gridCodeClassifyTemplateAttr, batchAddSave, copyto} from '@/api/template/templateAttr'
+import {AttrByBtm, gridCodeClassifyTemplateAttr, batchAddSave, copyto,listByFlag} from '@/api/template/templateAttr'
+import {getList} from "@/api/refer/table";
export default {
name: "attrCrud .vue",
@@ -292,6 +325,18 @@
crudOid: {
type: String,
default: ''
+ },
+ checkStatus:{
+ type: Boolean,
+ default: false
+ },
+ editOpenFlag:{
+ type: Boolean,
+ default: false
+ },
+ crudLCStatus: {
+ type: String,
+ default: 'Editing'
},
crudArray: {
type: Array,
@@ -325,14 +370,56 @@
},
deep:true,
immediate:true
+ },
+ 'injectOption.classifyInvokeAttr': function(newVal) {
+ console.log('newVal',newVal)
+ if (newVal === "name") {
+ this.injectOption.classifyInvokeAttrName='鍒嗙被鍚嶇О'
+ } else if (newVal === "id") {
+ this.injectOption.classifyInvokeAttrName='鍒嗙被浠e彿'
+ }
+ return '';
+ },
+ editOpenFlag:{
+ handler(newval,oldval){
+ console.log(newval)
+ },
+ deep:true,
+ immediate:true
}
+
},
data() {
return {
+ loading:false,
+ referConfigText:"",
+ referConfigVisble:false,
+ referConfigOption:{
+ referConfig:'',
+ },
+ screenWidth: document.documentElement.clientWidth, // 灞忓箷瀹藉害
+ //褰撳墠鍗曞厓鏍�
+ CurrentCell:'',
+ // 鏂板
+ SelectValue:"",
+ SelectFInd:"",
+ SelectOption:[
+ {
+ value: 'name',
+ label: '灞炴�т腑鏂囧悕绉�'
+ },
+ {
+ value: 'id',
+ label: '灞炴�ц嫳鏂囧悕绉�'
+ }
+ ],
+ //鍙傜収
+ referVisible:false,
crudArrayFlag:false,
editingRows: null,
editShows:"",
attrFlag: false,
+ referObject:{},
//缂栫爜鐢宠棰勮option
applicationoption: {
column: []
@@ -438,6 +525,8 @@
isShowformulaEdit: false,
// 绾ц仈鍗曢��
selectRow: '',
+ //绾ц仈鍗曢�夋暟缁�
+ selectRowArr:[],
// 绾ц仈data
CascadeData: [],
// 绾ц仈option
@@ -732,16 +821,18 @@
addvisible: false,
//鍒嗙被娉ㄥ叆option
injectOption: {
- type: "鍒嗙被鍚嶇О",
- set: "鏈�灏忓眰",
- change: "鏄�",
+ classifyInvokeAttrName:'鍒嗙被鍚嶇О',
+ classifyInvokeAttr: "name",
+ classifyInvokeEditFlag: "true",
+ classifyInvokeLevel:'min',
//鍒嗙被娉ㄥ叆璁℃暟鍣�
- injectNum: 0,
+ classifyNumber:0,
},
// 灞炴�ч獙璇佽緭鍏ユ
RulesForm: {
expressionText: "",
- TestContent: ""
+ TestContent: "",
+ ruleRowBds:""
},
//灞炴�ч獙璇佽鍒欓厤缃�
rulesOption: {
@@ -992,7 +1083,7 @@
label: '鎺掑簭鍙�',
sortable: true,
edit: 'number',
- width: 70,
+ width: 90,
fixed: true
}, {
label: "灞炴�ц嫳鏂囩紪鍙�",
@@ -1008,7 +1099,7 @@
prop: "name",
fixed: true,
cell: false,
- width: 125,
+ width: 145,
edit: 'text',
sortable: true
},
@@ -1109,6 +1200,13 @@
prop: "prefixValue",
sortable: true,
edit: 'select',
+ width: 110,
+ editConfig: {
+ extraParams: {
+ code: 'codeclstempattr',
+ dictKey: 'prefix'
+ }
+ },
cell: false,
},
{
@@ -1116,6 +1214,13 @@
prop: "suffixValue",
sortable: true,
edit: 'select',
+ width: 110,
+ editConfig: {
+ extraParams: {
+ code: 'codeclstempattr',
+ dictKey: 'suffix'
+ }
+ },
cell: false,
},
{
@@ -1138,13 +1243,19 @@
label: "鏃堕棿鏍煎紡",
prop: "codeDateFormat",
sortable: true,
- width: 105,
+ width: 135,
edit: 'select',
+ editConfig: {
+ extraParams: {
+ code: 'codeclstempattr',
+ dictKey: 'dateFormates'
+ }
+ },
cell: false,
},
{
label: "鍒嗙被娉ㄥ叆",
- prop: "classifyInvokeLevel",
+ prop: "classifyInvokeText",
cell: false,
edit: 'refer'
},
@@ -1253,7 +1364,12 @@
VTInteger: "鏁村舰",
VTFilePath: "鏂囦欢",
VTString: "瀛楃涓�"
- }
+ },
+ //鏃堕棿鏍煎紡涓嬫媺妗�
+ codeDataFlag:false,
+ // 缁勫悎瑙勫崟鍏冩牸缂栬緫鍥炲~
+ componentRuleText:"",
+
}
},
computed:{
@@ -1270,33 +1386,75 @@
oids.push(ele.oid);
});
return oids.join(",");
- }
+ },
},
mounted() {
},
created() {
-
+ this.option.column.forEach((item,index) => {
+ if (item.edit == 'select') {
+ this.selectChangeHandler(item.editConfig,index)
+ }
+ })
},
methods: {
formAttr(row, column) {
console.log(row,column)
},
+ //鏂板鎼滅储
+ AddFindHandler(){
+ if(this.SelectValue == 'id'){
+ const masterParameter={
+ 'conditionMap[id]':this.SelectFInd
+ }
+ this.BuineAttrByBtm(masterParameter);
+ this.SelectValue=""
+ this.SelectFInd=""
+ }else if(this.SelectValue == 'name'){
+ const masterParameter={
+ 'conditionMap[name]':this.SelectFInd
+ }
+ this.BuineAttrByBtm(masterParameter)
+ this.SelectValue=""
+ this.SelectFInd=""
+ }
+ },
+ //鍙傜収閰嶇疆瀛愮粍浠�
+ echoReferConfig(val){
+ console.log('val--',val)
+ this.referObject=val
+ this.$set(this.CurrentCell,'referConfig',JSON.stringify(val))
+
+ },
+ //鍙緭鍙�変笅鎷�
+ selectChangeHandler(editConfig,index){
+ let that=this;
+ /*if(that.option.column[index].data && that.option.column[index].data.length>=0){
+ return;
+ }*/
+ listByFlag(editConfig.extraParams).then(res=>{
+ that.option.column[index].data=res.data.data;
+ })
+ },
//灞炴�у垎缁勬寜閽�
attrVisibleHandle() {
-
- if (this.attrSelectList.length > 1) {
- this.$message.warning('鍙兘閫夋嫨涓�鏉℃ā鏉垮睘鎬�')
- } else if (this.attrSelectList < 1) {
- this.$message.warning('璇烽�夋嫨涓�鏉℃ā鏉垮睘鎬�')
- } else if (this.attrSelectList.length === 1) {
+ if (this.attrSelectList < 1) {
+ this.$message.warning('璇烽�夋嫨妯℃澘灞炴��')
+ } else {
this.attrVisible = true;
+ console.log(this.attrSelectList)
}
},
//灞炴�у垎缁勬彁浜�
attrHandle() {
- this.$set(this.attrRow, 'attributeGroup', this.attrModel)
- this.attrModel = ""
- this.attrVisible = false
+ console.log(this.attrSelectList)
+ // this.$set(this.attrRow, 'attributeGroup', this.attrModel)
+ // this.attrSelectList.attributeGroup=this.attrModel
+ this.attrSelectList.forEach(item=>{
+ item.attributeGroup=this.attrModel
+ })
+ this.attrModel = "";
+ this.attrVisible = false;
},
//灞炴�у垎缁勬竻绌�
attrRemove() {
@@ -1306,7 +1464,12 @@
CrudRend() {
if (this.crudOid != '') {
gridCodeClassifyTemplateAttr({'conditionMap[classifyTemplateOid]': this.crudOid}).then(res => {
- this.ProData = res.data.data;
+ this.loading=true
+ setTimeout(() => {
+ this.ProData = res.data.data;
+ this.loading=false
+ }, 1000);
+
}).catch(res => {
this.$message.error(res)
})
@@ -1331,7 +1494,7 @@
citem.oid = ''
this.busineAddList=Object.assign(citem, {
orderNum: ++ordernum,
- attributedatatype: citem.attrDataType,
+ attributeDataType: citem.attrDataType,
attributeDataTypeText: this.vciFieldTypeMap[citem.attrDataType],
controlLength: citem.attributeLength,
valueArea: citem.range,
@@ -1342,12 +1505,13 @@
precisionLength: (citem.precisionLength ? citem.precisionLength : '') + (citem.scaleLength ? '(' + citem.scaleLength + ')' : ''),
classifyTemplateOid: this.crudOid,
classifytemplateoid: this.crudOid,
- formDisplayFlag: true,
- tableDisplayFlag: true,
- sortAttrFlag: false,
- queryAttrFlag: true,
- seniorQueryAttrFlag: true,
- attrTableWidth: 120
+ formDisplayFlag: 'true',
+ tableDisplayFlag: 'true',
+ sortAttrFlag: 'false',
+ queryAttrFlag: 'true',
+ seniorQueryAttrFlag: 'true',
+ attrTableWidth: 120,
+ ts:""
})
this.ProData.push(JSON.parse(JSON.stringify(this.busineAddList)))
}
@@ -1357,14 +1521,19 @@
},
//涓氬姟绫诲瀷閫夋嫨
businessSelect(selection, row) {
- this.busineSelectList = selection
+ this.busineSelectList = selection;
+ console.log(selection)
},
// 浠庝笟鍔$被鍨嬩腑閫夋嫨鏁版嵁寮圭獥
busineHandle() {
this.addVisible = true;
this.busineSelectList = []
this.busineAddList = [];
- AttrByBtm({'conditionMap[oid]': this.crudOid}).then(res => {
+ this.BuineAttrByBtm()
+ },
+ //涓氬姟绫诲瀷鏁版嵁
+ BuineAttrByBtm(masterParameter){
+ AttrByBtm({'conditionMap[oid]': this.crudOid,...masterParameter}).then(res => {
this.businessData = res.data.data;
})
},
@@ -1384,26 +1553,15 @@
})
}
},
- //琛ㄦ牸鍗曢��
- selectHandle(selection, row) {
- this.attrOid = row.oid;
- this.attrRow = row;
- },
- //琛ㄦ牸閫夋嫨
- selectionChange(list) {
- this.attrSelectList = list;
- },
- //淇濆瓨
- addsHandler() {
- batchAddSave(JSON.parse(JSON.stringify(this.ProData))).then(res => {
- this.$message.success('淇濆瓨鎴愬姛')
- })
- },
//绾ц仈淇濆瓨
CascadeAddHandle() {
let CascadeString = "";
- CascadeString = this.attrRow.id + (this.attrRow.name);
- this.$set(this.attrRow, 'parentCode', CascadeString)
+ CascadeString = this.selectRowArr.id + (this.selectRowArr.name);
+ if(this.CurrentCell){
+ this.$set(this.CurrentCell, 'parentCode', CascadeString)
+ }else {
+ this.$set(this.attrSelectList[0], 'parentCode', CascadeString)
+ }
this.CascadeVisible = false;
},
//绾ц仈灞炴�ф竻闄�
@@ -1412,13 +1570,79 @@
},
// 绾ц仈灞炴�ц鍗曢��
CascaderowClick(row) {
- this.selectRow = row.$index
+ this.selectRow = row.$index;
+ this.selectRowArr=row
},
+ // 鎺掑簭棰勮鎸夐挳
+ orderHandle(){
+ this.$refs.referAttrCrud.sort("orderNum");
+ },
+ //琛ㄦ牸鍗曢��
+ selectHandle(selection, row) {
+ this.attrOid = row.oid;
+ this.attrRow = row;
+ console.log(row)
+ },
+ //琛ㄦ牸閫夋嫨
+ selectionChange(list) {
+ this.attrSelectList = list;
+ console.log(list)
+ },
+ //淇濆瓨
+ addsHandler() {
+ batchAddSave(JSON.parse(JSON.stringify(this.ProData))).then(res => {
+ this.$message.success('淇濆瓨鎴愬姛')
+ })
+ },
+
//琛ㄦ牸琛岀紪杈�
handleCellClicks(row, column) {
- this.editingRows = row;
- this.editShows = column.property;
- this.rowOid = row.oid;
+ if(this.editOpenFlag){
+ this.editingRows = row;
+ this.editShows = column.property;
+ this.rowOid = row.oid;
+ this.CurrentCell=row;
+ if(column.property == 'referConfig' ){
+ this.referConfigVisble= true;
+ this.referConfigOption = {
+ referConfig: this.referConfigText || '',
+ }
+ if(this.CurrentCell.referConfig == ''){
+ this.referConfigOption = {
+ referConfig:'',
+ }
+ }
+ console.log('--',this.referConfigOption)
+ // this.$refs.referConfigFormDialog.onloadAttrData();
+ }else if(column.property == 'classifyInvokeText'){
+ this.injectVisible=true;
+ }else if(column.property == 'componentRule'){
+ if(this.CurrentCell){
+ this.CurrentCell.componentRule=this.componentRuleText;
+ }
+ this.isShowformulaEdit = true;
+ }else if(column.property == 'enumString'){
+ this.enumVisible=true;
+ if(this.attrSelectList[0].enumString != ""){
+ this.tableData=JSON.parse(this.attrSelectList[0].enumString)
+ return
+ }
+ }else if(column.property == 'parentCode'){
+ gridCodeClassifyTemplateAttr({
+ 'conditionMap[classifyTemplateOid]': this.Formlist[0].oid,
+ 'conditionMap[oid_notequal]': this.CurrentCell.oid
+ }).then(res => {
+ console.log(res)
+ this.CascadeData = res.data.data;
+ })
+ this.CascadeVisible=true;
+ }else if(column.property == 'verifyRule'){
+ this.RulesForm.expressionTextt=this.CurrentCell.verifyRule;
+ this.rulesVisible=true;
+ console.log(this.CurrentCell.verifyRule)
+ console.log(this.RulesForm.expressionText)
+ }
+ }
},
saveRows() {
this.editingRows = null;
@@ -1447,7 +1671,20 @@
this.$message.warning('璇烽�夋嫨涓�鏉℃ā鏉垮睘鎬�')
} else if (this.attrSelectList.length === 1) {
this.enumVisible = true;
+ if(this.attrSelectList[0].enumString != ""){
+ this.tableData=JSON.parse(this.attrSelectList[0].enumString)
+ return
+ }
+
}
+ },
+ enumBeforeClose(done){
+ this.tableData=[]
+ done()
+ },
+ enumCancell(){
+ this.tableData=[]
+ this.enumVisible=false;
},
//鏋氫妇娉ㄥ叆澶氶�夋
handleSelectionChange(row) {
@@ -1455,19 +1692,46 @@
},
//鏋氫妇娉ㄥ叆淇濆瓨
enumAddHandle() {
- if (this.enumRow.length < 1) {
- this.$message.warning('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�')
- } else {
- this.$set(this.attrRow, 'enumString', this.enumRow);
- this.enumVisible = false;
+ let hasError = false; // 娣诲姞涓�涓彉閲�
+ this.tableData.forEach((item, index) => {
+ if (item.key === '') {
+ this.$message.warning(`绗�${index + 1}琛岀殑閫夐」鍊间笉鑳戒负绌篳);
+ hasError = true;
+ return;
+ } else if (item.value === '') {
+ this.$message.warning(`绗�${index + 1}琛岀殑閫夐」涓枃鏍囩涓嶈兘涓虹┖`);
+ hasError = true;
+ return;
+ }
+ });
+ // 淇濆瓨鎵ц閫昏緫
+ if (!hasError) {
+ if (this.CurrentCell) {
+ this.$set(this.CurrentCell, 'enumString', JSON.stringify(this.tableData));
+ this.enumVisible = false;
+ } else {
+ this.$set(this.attrSelectList[0], 'enumString', JSON.stringify(this.tableData));
+ this.tableData=[];
+ this.enumVisible = false;
+ }
}
},
- // 灏嗘鍦ㄧ紪杈戠殑琛岀殑鐘舵�佸彉涓� null 锛屽嵆閫�鍑虹紪杈戠姸鎬�
+ // 灏嗘鍦ㄧ紪杈戠殑琛岀殑鐘舵�佸彉涓� null锛屽嵆閫�鍑虹紪杈戠姸鎬�
saveRow() {
this.editingRow = null;
},
+ //楠岃瘉瑙勫垯鎸夐挳
+ ruleAddHandler(){
+ if (this.attrSelectList < 1) {
+ this.$message.warning('璇烽�夋嫨妯℃澘灞炴��')
+ } else{
+ this.rulesVisible=true
+ }
+
+ },
//瑙勫垯鏍¢獙锛屽弻鍑昏〃鍗曚簨浠�
handleRulesRowDBLClick(row) {
+ this.ruleRowBds=row.bds
this.RulesForm.expressionText = row.bds
},
// 楠岃瘉瑙勫垯娓呴櫎鍐呭
@@ -1477,11 +1741,21 @@
},
// 楠岃瘉瑙勫垯纭畾
rulesHandle() {
+ if(this.CurrentCell){
+ this.$set(this.CurrentCell,'verifyRule',this.RulesForm.expressionText)
+ }else {
+ this.attrSelectList.forEach((item)=>{
+ this.$set(item,'verifyRule',this.RulesForm.expressionText)
+ })
+ this.rulesremove()
+ }
this.rulesVisible = false
},
//楠岃瘉瑙勫垯妫�鏌�
rulesExamine() {
- if (this.RulesForm.expressionText.test(this.RulesForm.TestContent)) {
+ console.log(this.RulesForm.expressionText)
+ const regex = new RegExp(this.rulesData.ruleRowBds);
+ if(regex.test(this.RulesForm.TestContent)){
this.$message.success('鏍¢獙鎴愬姛')
}
},
@@ -1492,55 +1766,75 @@
} else if (this.attrSelectList.length < 1) {
this.$message.warning('璇烽�夋嫨涓�鏉℃ā鏉挎暟鎹�')
} else if (this.attrSelectList.length === 1) {
- this.injectVisible = true
+ this.injectVisible = true;
}
},
//鍒嗙被娉ㄥ叆淇濆瓨
injectAddHandle() {
- this.$set(this.attrRow, 'classifyInvokeLevel', this.injectOption);
- this.injectVisible = false
+ // 瀹氫箟灞曠ず绫诲瀷
+ let data = {
+ "娉ㄥ叆绫诲瀷": this.injectOption.classifyInvokeAttr,
+ "娉ㄥ叆绫诲瀷鍚嶇О": this.injectOption.classifyInvokeAttrName,
+ "灞傜骇璁剧疆": this.injectOption.classifyInvokeLevel=='max'?this.injectOption.classifyNumber :'min',
+ "鏄惁鍙慨鏀�": this.injectOption.classifyInvokeEditFlag
+ }
+ //鍗曞厓鏍肩紪杈戣祴鍊间竴閬�
+ // noinspection JSCheckFunctionSignatures
+ if(this.CurrentCell){
+ //濡傛灉鏄寚瀹氬眰璧嬪�间负鏁板瓧
+ if(this.CurrentCell.classifyInvokeLevel!== 'min'){
+ this.CurrentCell.classifyInvokeLevel=this.injectOption.classifyNumber
+ }
+ //鍏朵綑姝e父璧嬪��
+ this.CurrentCell.classifyInvokeAttr=this.injectOption.classifyInvokeAttr,
+ this.CurrentCell.classifyInvokeAttrName=this.injectOption.classifyInvokeAttrName,
+ this.CurrentCell.classifyInvokeEditFlag=this.injectOption.classifyInvokeEditFlag,
+ // this.$set(this.CurrentCell, 'classifyInvokeText', data)
+ this.CurrentCell.classifyInvokeText = data;
+ this.injectHandleReset()
+ }else {
+ //鍕鹃�夋搷浣�
+ for (const key in this.injectOption) {
+ this.attrSelectList[0][key] = this.injectOption[key];
+ //濡傛灉鏄寚瀹氬眰璧嬪�间负鏁板瓧
+ if(this.injectOption.classifyInvokeLevel !== 'min'){
+ this.attrSelectList[0].classifyInvokeLevel=this.injectOption.classifyNumber
+ }
+ this.$set(this.attrSelectList[0],'classifyInvokeText',data)
+ }
+ this.injectHandleReset()
+ }
+ if(this.injectOption.classifyInvokeLevel !== 'min'){
+ this.injectOption.classifyInvokeLevel=this.injectOption.classifyNumber;
+ }else {
+ this.injectOption.classifyNumber=0;
+ }
+ this.injectVisible = false;
+
},
//鍒嗙被娉ㄥ叆娓呯┖
injectHandleReset() {
- this.injectOption.type = "";
- this.injectOption.set = "";
- this.injectOption.change = "";
- this.injectOption.injectNum = "";
+ this.injectOption.classifyInvokeAttrName = "鍒嗙被鍚嶇О";
+ this.injectOption.classifyInvokeAttr = "name";
+ this.injectOption.classifyInvokeLevel = "min";
+ this.injectOption.classifyInvokeEditFlag = "true";
+ this.injectOption.classifyNumber = "0";
},
// 鍒嗙被娉ㄥ叆鍙栨秷
injectRemove() {
this.injectVisible = false
},
//灞炴�фā鏉胯〃鏍煎崟鍏冩牸鐐瑰嚮浜嬩欢
- handleRowClick(row, column, cell, event) {
- //鍒ゆ柇鐐瑰嚮涓嶆槸鎿嶄綔鏍忔墠鍙墽琛�
- if (column.property != "menu") {
- // 褰撳墠琛屽彉涓哄彲缂栬緫鐘舵��
- this.rowList = row
- row.$cellEdit = true
- // 姣忎竴涓崟鍏冩牸鍔犱笂cell涓簍rue鎵嶆槸缂栬緫鐘舵��
- //鎷垮埌姣忎釜columnKey锛岀偣鍑绘椂璁剧疆涓簍rue锛屽氨瀹炵幇鍗曞厓鏍肩紪杈戠姸鎬佷簡
- this.rowCellList = this.findObject(this.option.column, column.columnKey)
- this.rowCellList.cell = true
- if (this.List.indexOf(column.columnKey) == -1) {
- this.List.push(column.columnKey)
- }
- // if(this.List.length >= 2){
- // const cellName=this.List[0]
- //
- // }
- }
- },
//琛ㄦ牸鎿嶄綔鏍忓垹闄�
- CrudRowDel(row) {
- this.ProData.splice(row.$index, 1)
+ CrudRowDel(index) {
+ this.ProData.splice(index, 1)
},
//琛ㄦ牸鍒犻櫎
CrudRemove() {
this.attrSelectList.forEach((item)=>{
- this.ProData.splice(item.$index, 1)
+ const index = this.ProData.indexOf(item);
+ this.ProData.splice(index, 1)
})
-
},
//琛ㄦ牸閲嶇疆
reset() {
@@ -1569,7 +1863,7 @@
} else if (this.attrSelectList.length < 1) {
this.$message.warning('璇烽�夋嫨涓�鏉℃ā鏉垮睘鎬ф暟鎹�')
} else if (this.attrSelectList.length === 1) {
- this.isShowformulaEdit = true;
+ this.isShowformulaEdit=true
}
},
//鍏ㄥ睆缂栬緫
@@ -1587,29 +1881,46 @@
this.attrFlagChiledren = false;
this.attrEditVisible = false;
},
+ //缁勫悎瑙勫垯纭畾
updataFormlaContent(val) {
- this.$set(this.attrRow, 'componentRule', val)
+ if(this.CurrentCell){
+ this.$set(this.CurrentCell, 'componentRule', val.replace(/"/g, ''))
+ }else {
+ this.$set(this.attrRow, 'componentRule', val.replace(/"/g, ''))
+ }
+
+ },
+ setReferConfigValue(content){
+ let submitFormJson = JSON.stringify(content);
+ this.referConfigText=submitFormJson
+ if(this.CurrentCell){
+ this.$set(this.CurrentCell, 'referConfig', JSON.stringify(content))
+ }else {
+ this.$set(this.attrRow, 'referConfig', JSON.stringify(content))
+ }
},
// 鎺掑簭
sortChange(val) {
console.log(val)
- // switch (val.order) {
- // // case "ascending":
- // // this.data = this.data.sort((a,b) => { return b['name'].localeCompare(a['name']) })
- // // this.data = this.data.sort((a,b) => { return b['id'].localeCompare(a['id']) })
- // // break;
- // // case "descending":
- // // this.data = this.data.sort((a,b) => { return a['name'].localeCompare(b['name']) })
- // // this.data = this.data.sort((a,b) => { return a['id'].localeCompare(b['id']) })
- // // break;
- // }
+ },
+ editOpen(){
+ this.editOpenFlag=true;
+ console.log('涓嶇瓑浜�',this.checkStatus)
+ console.log('绛変簬',this.editOpenFlag)
+ console.log('绛変簬',this.crudLCStatus)
}
}
}
</script>
-<style scoped lang="scss">
-/deep/ .el-button {
- margin: 0 10px 10px 0;
+<style scoped lang="scss" >
+.app {
+ /deep/ .el-button {
+ //margin: 0 10px 10px 0;
+ }
+}
+.el-button-group {
+ margin-right: 10px;
+ margin-bottom: 10px;
}
</style>
--
Gitblit v1.9.3