From 5c2f48d14c7606405082a35dd9224983c86b74d5 Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期四, 05 十二月 2024 18:04:12 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/formDialog.vue | 91 ++++++++++++++++++++++++++++-----------------
1 files changed, 56 insertions(+), 35 deletions(-)
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/formDialog.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/formDialog.vue
index 0214151..a658870 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/formDialog.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/formDialog.vue
@@ -35,7 +35,7 @@
<span style="display: flex;align-items: center; margin-right: 5px;">
<p class="tableTopLabel">鏌ヨ妯℃澘鍚嶇О锛�</p>
- <el-select v-model="form.itemQtName" placeholder="璇烽�夋嫨鏌ヨ妯℃澘" size="mini">
+ <el-select v-model="topForm.itemQtName" placeholder="璇烽�夋嫨鏌ヨ妯℃澘" size="mini">
<el-option v-for="(item,index) in searchQtNameList" :key="index" :label="item.qtName"
:value="item.qtName"></el-option>
</el-select>
@@ -76,29 +76,28 @@
type="primary"></el-button>
</div>
<el-input
- v-if="item.itemType === 'textarea' || item.itemType === 'richtext' || item.itemType === 'webeditor'"
- v-model="item.value"
- :placeholder="item.text">
+ v-if="item.itemType === 'textarea' || item.itemType === 'richtext' || item.itemType === 'webeditor'"
+ v-model="item.value"
+ :placeholder="item.text">
</el-input>
- <el-input-number size="mini" v-if="item.itemType === 'number'" v-model="item.value" :max="99999"
- :min="1"></el-input-number>
+ <el-input-number v-if="item.itemType === 'number'" v-model="item.value" :max="99999" :min="1"
+ size="mini"></el-input-number>
<el-input v-if="item.itemType === 'password'" v-model="input" placeholder="璇疯緭鍏ュ瘑鐮�"
show-password></el-input>
<el-radio v-if="item.itemType === 'radio'" v-model="item.value"></el-radio>
<el-checkbox v-if="item.itemType === 'checkbox'" v-model="item.value"></el-checkbox>
- <el-select v-if="item.itemType === 'select' || item.itemType === 'multiselect'"
+ <el-select v-if="item.itemType === 'select' || item.itemType === 'multiselect'"
v-model="item.value" :disabled="false" placeholder="璇烽�夋嫨" size="mini">
</el-select>
<el-date-picker
- class="formItemMargin"
v-if="item.itemType === 'date' || item.itemType === 'datetime'"
v-model="item.value"
:placeholder="item.itemType === 'date' ? '璇烽�夋嫨鏃ユ湡' : '璇烽�夋嫨鏃ユ湡鏃堕棿'"
+ class="formItemMargin"
type="date">
</el-date-picker>
<el-time-select
- class="formItemMargin"
v-if="item.itemType === 'time'"
v-model="item.value"
:picker-options="{
@@ -106,6 +105,7 @@
step: '00:15',
end: '18:30'
}"
+ class="formItemMargin"
placeholder="閫夋嫨鏃堕棿">
</el-time-select>
<el-button v-if="item.itemType === 'file'"
@@ -147,9 +147,13 @@
<el-form-item label="浣跨敤瀛楁">
<div style="display: flex;align-items: center">
<el-input v-model="form.text" :readonly="true" placeholder="璇疯緭鍏ヤ娇鐢ㄥ瓧娈�" size="mini"></el-input>
- <el-checkbox v-model="form.itemIsEditable" true-label="1" false-label="0" style="margin-left: 5px; margin-right: 5px">鍙
+ <el-checkbox v-model="form.itemIsEditable" false-label="0"
+ style="margin-left: 5px; margin-right: 5px"
+ true-label="1">鍙
</el-checkbox>
- <el-checkbox v-model="form.itemIsRequired" true-label="1" false-label="0" style="margin-left: 5px;margin-right: 0px">蹇呭~
+ <el-checkbox v-model="form.itemIsRequired" false-label="0"
+ style="margin-left: 5px;margin-right: 0px"
+ true-label="1">蹇呭~
</el-checkbox>
</div>
</el-form-item>
@@ -609,7 +613,8 @@
:show-header="false"
border
stripe
- style="width: 100%">
+ style="width: 100%"
+ @row-click="customOptionTableClick">
<el-table-column
align="center"
label="鍚嶇О"
@@ -632,7 +637,9 @@
<el-button plain size="mini" style="margin-right: 5px" type="success"
@click="optionAddClickHandler('dialog')">娣诲姞
</el-button>
- <el-button plain size="mini" style="margin-left: 5px" type="danger">鍒犻櫎</el-button>
+ <el-button plain size="mini" style="margin-left: 5px" type="danger"
+ @click="optionDeleteClickHandler('dialog')">鍒犻櫎
+ </el-button>
</div>
</el-form-item>
</el-col>
@@ -731,8 +738,8 @@
:placeholder="item.text">
</el-input>
- <el-input-number size="mini" v-if="item.itemType === 'number'" v-model="item.value" :max="99999"
- :min="1"></el-input-number>
+ <el-input-number v-if="item.itemType === 'number'" v-model="item.value" :max="99999" :min="1"
+ size="mini"></el-input-number>
<el-input v-if="item.itemType === 'password'" v-model="input" placeholder="璇疯緭鍏ュ瘑鐮�"
show-password></el-input>
<el-radio v-if="item.itemType === 'radio'" v-model="item.value"></el-radio>
@@ -806,10 +813,9 @@
<script>
import {getObjTypeQTs, getTreeAttributes, savePortalVI, refPersonOrgTree} from "@/api/UI/formDefine/api";
+import {gridAttribute} from "@/api/modeling/attributePool/api";
import func from "@/util/func";
import basicOption from "@/util/basic-option";
-import {gridAttribute} from "@/api/modeling/attributePool/api";
-import {getSysModelTreeMenuByPID} from "@/api/systemModel/mangeModel/api";
export default {
name: "formDialog",
@@ -1047,7 +1053,11 @@
children: 'children',
},
},
- treeData: []
+ treeData: [],
+ optionRow: {},
+ customOptionRow: {},
+ optionCurrentIndex: 0,
+ customOptionCurrentIndex: 0
}
},
computed: {
@@ -1055,7 +1065,6 @@
const types = ['radio', 'checkbox', 'select'];
return types.includes(this.form.itemType); // 灞曠ず
},
-
itemStyleTypeStatus() {
const types = ['hidden', 'webeditor', 'radio', 'checkbox'];
return !types.includes(this.form.itemType); // 涓嶅睍绀�
@@ -1112,9 +1121,11 @@
text: data.text,
oid: data.oid,
itemType: 'text',
- itemName: data.data.name
+ itemName: data.data.name,
+ itemCols: "1",
+ itemIsEditable: "0",
+ itemIsRequired: "0",
}
- console.log(data);
const isDuplicate = this.formList.some(item => item.text === data.text);
if (isDuplicate) {
@@ -1129,10 +1140,8 @@
this.activeItem = item;
this.activeItemIndex = index;
this.form = {...item};
- console.log(item);
-
- // console.log(item,index);
this.topForm.position = index += 1;
+ // this.$forceUpdate();
},
// 璁剧疆鏄剧ず琛屾暟
@@ -1200,7 +1209,7 @@
this.$message.error('璇烽�夋嫨涓�鏉℃暟鎹繘琛屽垹闄�');
return;
}
- this.formList = this.formList.filter(item => item.text != this.activeItem.text);
+ this.formList = this.formList.filter(item => item.text !== this.activeItem.text);
this.activeItem = {};
this.form = {};
},
@@ -1234,7 +1243,12 @@
// 閫夐」琛ㄦ牸琛岀偣鍑�
optionTableClick(row) {
+ this.optionRow = row;
console.log(row);
+ },
+
+ customOptionTableClick(row) {
+ this.customOptionRow = row;
},
// 閫夐」娣诲姞
@@ -1265,15 +1279,21 @@
const params = {
key: optionObj.optionName,
- value: optionObj.optionValue
+ value: optionObj.optionValue,
+ index: val === 'dialog' ? this.customOptionCurrentIndex++ : this.optionCurrentIndex++
};
itemKeyValueList.push(params);
},
// 閫夐」鍒犻櫎
- optionDeleteClickHandler() {
-
+ optionDeleteClickHandler(val) {
+ // console.log(this.optionRow);
+ if (val === 'dialog') {
+ this.customForm.itemKeyValueList.splice(this.customOptionRow.index,1);
+ } else {
+ this.form.itemKeyValueList.splice(this.optionRow.index,1);
+ }
},
// 娣诲姞鑷畾涔夌粍浠�
@@ -1294,7 +1314,7 @@
this.formList = this.formList.map(item => {
return {
...item,
- itemField: item.text // 灏唅temField璧嬪�间负text锛屽洜涓哄繕璁扮埗缁勪欢涓轰粈涔堝湪缂栬緫鍥炲~鏃舵妸itemField璧嬪�间负text浜�
+ itemField: item.text // 灏唅temField閲嶆柊璧嬪�间负text锛屽洜涓哄繕璁板綋鏃跺湪鐖剁粍浠剁紪杈戝洖濉柟娉曢噷涓轰粈涔堟妸itemField璧嬪�间负text浜�
};
});
const params = {
@@ -1306,7 +1326,7 @@
viType: 1, // 瑙嗗浘绫诲瀷
viTypeText: "琛ㄥ崟", // 瑙嗗浘涓枃鍚嶇О
prm: {
- formQtName: this.form.qtName, // 鏌ヨ妯℃澘鍚嶇О
+ formQtName: this.topForm.itemQtName, // 鏌ヨ妯℃澘鍚嶇О
showCols: this.topForm.showColumn,
prmItemList: this.formList
},
@@ -1330,9 +1350,7 @@
}
if (!this.form.text) {
this.$message.error('璇峰湪鍙充晶閫夋嫨鏁版嵁鍚庤繘琛屾搷浣滐紒');
- return;
}
-
},
// 鑷畾涔夌粍浠朵慨鏀规樉绀虹被鍨�
@@ -1419,9 +1437,12 @@
this.$message.error('璇锋坊鍔犱竴鏉℃暟鎹繘琛屼繚瀛橈紒');
return;
}
+
+
this.formList = this.formList.map(item =>
item.text === this.form.text ? this.form : item
);
+ console.log(this.formList);
this.$message.success('搴旂敤鎴愬姛');
},
@@ -1527,8 +1548,8 @@
font-size: 14px
}
-.formItemMargin{
- margin: 10px 0 10px 0;
-}
+//.formItemMargin {
+// margin: 10px 0 10px 0;
+//}
</style>
--
Gitblit v1.9.3