From 640c635ea6bd51795dd03275d4fd1338cac8d5b5 Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期四, 07 十一月 2024 18:20:27 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
Source/plt-web/plt-web-ui/src/page/index/tags.vue | 303 +++++++++++++++++++------------------
Source/plt-web/plt-web-ui/src/components/actions/BaseAction.js | 1
Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/formDialog.vue | 140 ++++++++--------
3 files changed, 224 insertions(+), 220 deletions(-)
diff --git a/Source/plt-web/plt-web-ui/src/components/actions/BaseAction.js b/Source/plt-web/plt-web-ui/src/components/actions/BaseAction.js
index 012a316..3fe48d9 100644
--- a/Source/plt-web/plt-web-ui/src/components/actions/BaseAction.js
+++ b/Source/plt-web/plt-web-ui/src/components/actions/BaseAction.js
@@ -10,6 +10,7 @@
* action閫氱敤鍏ュ彛
*/
export const doAction = (button,options,callback) => {
+ console.log('option',options)
options.paramVOS = paramLow(options.paramVOS)
options.paramVOS['title'] = replaceFreeMarker(options.paramVOS.title, options.dataStore, options.sourceData);
let isShow = true;
diff --git a/Source/plt-web/plt-web-ui/src/page/index/tags.vue b/Source/plt-web/plt-web-ui/src/page/index/tags.vue
index ab14485..673585c 100644
--- a/Source/plt-web/plt-web-ui/src/page/index/tags.vue
+++ b/Source/plt-web/plt-web-ui/src/page/index/tags.vue
@@ -1,46 +1,46 @@
<template>
- <div class="avue-tags"
- v-if="showTag">
+ <div v-if="showTag"
+ class="avue-tags">
<!-- tag鐩掑瓙 -->
<div v-if="contextmenuFlag"
- class="avue-tags__contentmenu"
- :style="{left:contentmenuX+'px',top:contentmenuY+'px'}">
+ :style="{left:contentmenuX+'px',top:contentmenuY+'px'}"
+ class="avue-tags__contentmenu">
<div class="item"
- @click="clearCacheTags">{{$t('tagsView.clearCache')}}
+ @click="clearCacheTags">{{ $t('tagsView.clearCache') }}
</div>
<div class="item"
- @click="closeOthersTags">{{$t('tagsView.closeOthers')}}
+ @click="closeOthersTags">{{ $t('tagsView.closeOthers') }}
</div>
<div class="item"
- @click="closeAllTags">{{$t('tagsView.closeAll')}}
+ @click="closeAllTags">{{ $t('tagsView.closeAll') }}
</div>
</div>
- <div class="avue-tags__box"
- :class="{'avue-tags__box--close':!website.isFirstPage}">
+ <div :class="{'avue-tags__box--close':!website.isFirstPage}"
+ class="avue-tags__box">
<el-tabs v-model="active"
- type="card"
- @contextmenu.native="handleContextmenu"
:closable="tagLen!==1"
- @tab-click="openTag"
- @edit="menuTag">
- <el-tab-pane :key="item.value"
- v-for="item in tagList"
+ type="card"
+ @edit="menuTag"
+ @contextmenu.native="handleContextmenu"
+ @tab-click="openTag">
+ <el-tab-pane v-for="item in tagList"
+ :key="item.value"
:label="generateTitle(item)"
:name="item.value">
</el-tab-pane>
</el-tabs>
<el-dropdown class="avue-tags__menu">
- <el-button type="primary"
- size="mini">
- {{$t('tagsView.menu')}}
+ <el-button size="mini"
+ type="primary">
+ {{ $t('tagsView.menu') }}
<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
<el-dropdown-menu slot="dropdown">
- <el-dropdown-item @click.native="$parent.isSearch=true">{{$t('tagsView.search')}}</el-dropdown-item>
- <el-dropdown-item @click.native="closeOthersTags">{{$t('tagsView.closeOthers')}}</el-dropdown-item>
- <el-dropdown-item @click.native="closeAllTags">{{$t('tagsView.closeAll')}}</el-dropdown-item>
- <el-dropdown-item @click.native="clearCacheTags">{{$t('tagsView.clearCache')}}</el-dropdown-item>
+ <el-dropdown-item @click.native="$parent.isSearch=true">{{ $t('tagsView.search') }}</el-dropdown-item>
+ <el-dropdown-item @click.native="closeOthersTags">{{ $t('tagsView.closeOthers') }}</el-dropdown-item>
+ <el-dropdown-item @click.native="closeAllTags">{{ $t('tagsView.closeAll') }}</el-dropdown-item>
+ <el-dropdown-item @click.native="clearCacheTags">{{ $t('tagsView.clearCache') }}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
@@ -48,139 +48,140 @@
</div>
</template>
<script>
- import {mapGetters, mapState} from "vuex";
- import {clearCache} from "@/api/user";
+import {mapGetters, mapState} from "vuex";
+import {clearCache} from "@/api/user";
- export default {
- name: "tags",
- data() {
- return {
- active: "",
- contentmenuX: "",
- contentmenuY: "",
- contextmenuFlag: false
- };
- },
- created() {
- },
- mounted() {
+export default {
+ name: "tags",
+ data() {
+ return {
+ active: "",
+ contentmenuX: "",
+ contentmenuY: "",
+ contextmenuFlag: false
+ };
+ },
+ created() {
+ },
+ mounted() {
+ this.setActive();
+ },
+ watch: {
+ tag() {
this.setActive();
},
- watch: {
- tag() {
- this.setActive();
- },
- contextmenuFlag() {
- window.addEventListener("mousedown", this.watchContextmenu);
- }
- },
- computed: {
- ...mapGetters(["tagWel", "tagList", "tag", "website"]),
- ...mapState({
- showTag: state => state.common.showTag
- }),
- tagLen() {
- return this.tagList.length || 0;
- }
- },
- methods: {
- generateTitle(item) {
- return this.$router.$avueRouter.generateTitle(
- item.label,
- (item.meta || {}).i18n
- );
- },
- watchContextmenu(event) {
- if (!this.$el.contains(event.target) || event.button !== 0) {
- this.contextmenuFlag = false;
- }
- window.removeEventListener("mousedown", this.watchContextmenu);
- },
- handleContextmenu(event) {
- let target = event.target;
- // 瑙e喅 https://github.com/d2-projects/d2-admin/issues/54
- let flag = false;
- if (target.className.indexOf("el-tabs__item") > -1) flag = true;
- else if (target.parentNode.className.indexOf("el-tabs__item") > -1) {
- target = target.parentNode;
- flag = true;
- }
- if (flag) {
- event.preventDefault();
- event.stopPropagation();
- this.contentmenuX = event.clientX;
- this.contentmenuY = event.clientY;
- this.tagName = target.getAttribute("aria-controls").slice(5);
- this.contextmenuFlag = true;
- }
- },
- //婵�娲诲綋鍓嶉�夐」
- setActive() {
- this.active = this.tag.value;
- },
- menuTag(value, action) {
- if (action === "remove") {
- let {tag, key} = this.findTag(value);
- this.$store.commit("DEL_TAG", tag);
- if (tag.value === this.tag.value) {
- tag = this.tagList[key === 0 ? key : key - 1]; //濡傛灉鍏抽棴鏈爣绛捐鍓嶆帹涓�涓�
- this.openTag(tag);
- }
- }
- },
- openTag(item) {
- let tag;
- if (item.name) {
- tag = this.findTag(item.name).tag;
- } else {
- tag = item;
- }
- this.$router.push({
- path: this.$router.$avueRouter.getPath({
- name: tag.label,
- src: tag.value
- }, tag.meta),
- query: tag.query
- });
- },
- closeOthersTags() {
- this.contextmenuFlag = false;
- this.$store.commit("DEL_TAG_OTHER");
- },
- findTag(value) {
- let tag, key;
- this.tagList.map((item, index) => {
- if (item.value === value) {
- tag = item;
- key = index;
- }
- });
- return {tag: tag, key: key};
- },
- closeAllTags() {
- this.contextmenuFlag = false;
- this.$store.commit("DEL_ALL_TAG");
- this.$router.push({
- path: this.$router.$avueRouter.getPath({
- src: this.tagWel.value
- }),
- query: this.tagWel.query
- });
- },
- clearCacheTags() {
- this.$confirm("鏄惁闇�瑕佹竻闄ょ紦瀛�?", {
- confirmButtonText: "纭畾",
- cancelButtonText: "鍙栨秷",
- type: "warning"
- }).then(() => {
- clearCache().then(() => {
- this.contextmenuFlag = false;
- this.$message.success('娓呴櫎瀹屾瘯');
- })
- });
- }
+ contextmenuFlag() {
+ window.addEventListener("mousedown", this.watchContextmenu);
}
- };
+ },
+ computed: {
+ ...mapGetters(["tagWel", "tagList", "tag", "website"]),
+ ...mapState({
+ showTag: state => state.common.showTag
+ }),
+ tagLen() {
+ return this.tagList.length || 0;
+ }
+ },
+ methods: {
+ generateTitle(item) {
+ return this.$router.$avueRouter.generateTitle(
+ item.label,
+ (item.meta || {}).i18n
+ );
+ },
+ watchContextmenu(event) {
+ if (!this.$el.contains(event.target) || event.button !== 0) {
+ this.contextmenuFlag = false;
+ }
+ window.removeEventListener("mousedown", this.watchContextmenu);
+ },
+ handleContextmenu(event) {
+ let target = event.target;
+ // 瑙e喅 https://github.com/d2-projects/d2-admin/issues/54
+ let flag = false;
+ if (target.className.indexOf("el-tabs__item") > -1) flag = true;
+ else if (target.parentNode.className.indexOf("el-tabs__item") > -1) {
+ target = target.parentNode;
+ flag = true;
+ }
+ if (flag) {
+ event.preventDefault();
+ event.stopPropagation();
+ this.contentmenuX = event.clientX;
+ this.contentmenuY = event.clientY;
+ this.tagName = target.getAttribute("aria-controls").slice(5);
+ this.contextmenuFlag = true;
+ }
+ },
+ //婵�娲诲綋鍓嶉�夐」
+ setActive() {
+ this.active = this.tag.value;
+ },
+ menuTag(value, action) {
+ if (action === "remove") {
+ let {tag, key} = this.findTag(value);
+ this.$store.commit("DEL_TAG", tag);
+ if (tag.value === this.tag.value) {
+ tag = this.tagList[key === 0 ? key : key - 1]; //濡傛灉鍏抽棴鏈爣绛捐鍓嶆帹涓�涓�
+ this.openTag(tag);
+ }
+ }
+ },
+ openTag(item) {
+ let tag;
+ if (item.name) {
+ tag = this.findTag(item.name).tag;
+ } else {
+ tag = item;
+ }
+ this.$router.push({
+ path: this.$router.$avueRouter.getPath({
+ name: tag.label,
+ src: tag.value
+ }, tag.meta),
+ query: tag.query
+ });
+ },
+ closeOthersTags() {
+ this.contextmenuFlag = false;
+ this.$store.commit("DEL_TAG_OTHER");
+ },
+ findTag(value) {
+ let tag, key;
+ this.tagList.map((item, index) => {
+ if (item.value === value) {
+ tag = item;
+ key = index;
+ }
+ });
+ return {tag: tag, key: key};
+ },
+ closeAllTags() {
+ this.contextmenuFlag = false;
+ this.$store.commit("DEL_ALL_TAG");
+ this.$router.push({
+ path: this.$router.$avueRouter.getPath({
+ src: this.tagWel.value
+ }),
+ query: this.tagWel.query
+ });
+ },
+ clearCacheTags() {
+ this.$confirm("鏄惁闇�瑕佹竻闄ょ紦瀛�?", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning"
+ }).then(() => {
+ // clearCache().then(() => {
+ // this.contextmenuFlag = false;
+ // this.$message.success('娓呴櫎瀹屾瘯');
+ // })
+ this.$message.success('娓呴櫎瀹屾瘯');
+ });
+ }
+ }
+};
</script>
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 0e8b0c5..142890e 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
@@ -75,25 +75,22 @@
<el-button icon="el-icon-edit" plain size="mini" style="height: 28px;"
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"
- :rows="2"
- type="textarea">
+ v-if="item.itemType === 'textarea' || item.itemType === 'richtext' || item.itemType === 'webeditor'"
+ v-model="item.value"
+ :placeholder="item.text">
</el-input>
-
- <el-input-number v-if="item.itemType === 'number'" v-model="item.value" :max="99999"
+ <el-input-number size="mini" v-if="item.itemType === 'number'" v-model="item.value" :max="99999"
:min="1"></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'"
- v-model="item.value" :disabled="true" placeholder="璇烽�夋嫨" size="mini">
+ <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' ? '璇烽�夋嫨鏃ユ湡' : '璇烽�夋嫨鏃ユ湡鏃堕棿'"
@@ -101,6 +98,7 @@
</el-date-picker>
<el-time-select
+ class="formItemMargin"
v-if="item.itemType === 'time'"
v-model="item.value"
:picker-options="{
@@ -146,11 +144,11 @@
<el-row style="border-bottom: 1px solid #878585;padding-bottom: 10px">
<el-col :span="24">
<el-form-item label="浣跨敤瀛楁">
- <div style="display: flex">
+ <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" style="margin-left: 5px; margin-right: 5px">鍙
+ <el-checkbox v-model="form.itemIsEditable" true-label="1" false-label="0" style="margin-left: 5px; margin-right: 5px">鍙
</el-checkbox>
- <el-checkbox v-model="form.itemIsRequired" style="margin-left: 5px;margin-right: 0px">蹇呭~
+ <el-checkbox v-model="form.itemIsRequired" true-label="1" false-label="0" style="margin-left: 5px;margin-right: 0px">蹇呭~
</el-checkbox>
</div>
</el-form-item>
@@ -705,75 +703,75 @@
append-to-body="true"
class="avue-dialog"
title="棰勮"
- width="80%">
- <el-form ref="form" :model="form" :rules="rules" label-width="100px">
- <el-row>
- <el-col v-for="(item,index) in formList" :key="index" :span="topForm.columnNumber">
- <el-form-item :class="['hiddenLabel', { 'active-border': activeItem.text === item.text }]"
- :label="item.itemName + '锛�'"
- style="padding-left: 5px" @click.native="formItemClick(item,index)">
- <el-input
- v-if="item.itemType === 'text' ||
+ width="60%">
+ <div style="height: 600px">
+ <el-form ref="form" :model="form" :rules="rules" label-width="100px">
+ <el-row>
+ <el-col v-for="(item,index) in formList" :key="index" :span="topForm.columnNumber">
+ <el-form-item :label="item.itemName + '锛�'" style="padding-left: 5px">
+ <el-input
+ v-if="item.itemType === 'text' ||
item.itemType === 'custom' ||
item.itemType === 'customform'||
item.itemType === 'hidden' ||
item.itemType === 'specialCharacter'"
- v-model="item.value" :placeholder="item.text"
- size="mini"></el-input>
+ v-model="item.value" :placeholder="item.text"
+ size="mini"></el-input>
- <div v-if="item.itemType === 'textbtn'" style="display: flex;align-items: center">
- <el-input v-model="item.value" :placeholder="item.text" size="mini"></el-input>
- <el-button icon="el-icon-edit" plain size="mini" style="height: 28px;"
- type="primary"></el-button>
- </div>
+ <div v-if="item.itemType === 'textbtn'" style="display: flex;align-items: center">
+ <el-input v-model="item.value" :placeholder="item.text" size="mini"></el-input>
+ <el-button icon="el-icon-edit" plain size="mini" style="height: 28px;"
+ 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"
- :rows="2"
- type="textarea">
- </el-input>
+ <el-input
+ v-if="item.itemType === 'textarea' || item.itemType === 'richtext' || item.itemType === 'webeditor'"
+ v-model="item.value"
+ :placeholder="item.text">
+ </el-input>
- <el-input-number v-if="item.itemType === 'number'" v-model="item.value" :max="99999"
- :min="1"></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'"
- v-model="item.value" :disabled="true" placeholder="璇烽�夋嫨" size="mini">
- </el-select>
- <el-date-picker
- v-if="item.itemType === 'date' || item.itemType === 'datetime'"
- v-model="item.value"
- :placeholder="item.itemType === 'date' ? '璇烽�夋嫨鏃ユ湡' : '璇烽�夋嫨鏃ユ湡鏃堕棿'"
- type="date">
- </el-date-picker>
+ <el-input-number size="mini" v-if="item.itemType === 'number'" v-model="item.value" :max="99999"
+ :min="1"></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'"
+ v-model="item.value" placeholder="璇烽�夋嫨" size="mini">
+ <el-option v-for="(i,k) in item.itemKeyValueList" :key="l" :label="i.value"
+ :value="i.key"></el-option>
+ </el-select>
+ <el-date-picker
+ v-if="item.itemType === 'date' || item.itemType === 'datetime'"
+ v-model="item.value"
+ :placeholder="item.itemType === 'date' ? '璇烽�夋嫨鏃ユ湡' : '璇烽�夋嫨鏃ユ湡鏃堕棿'"
+ type="date">
+ </el-date-picker>
- <el-time-select
- v-if="item.itemType === 'time'"
- v-model="item.value"
- :picker-options="{
+ <el-time-select
+ v-if="item.itemType === 'time'"
+ v-model="item.value"
+ :picker-options="{
start: '08:30',
step: '00:15',
end: '18:30'
}"
- placeholder="閫夋嫨鏃堕棿">
- </el-time-select>
- <el-button v-if="item.itemType === 'file'"
- v-model="item.value" plain size="mini" type="primary">
- 涓婁紶鏂囦欢
- </el-button>
- <el-button v-if="item.itemType === 'multiFile'"
- v-model="item.value" plain size="mini" type="primary">
- 澶氭枃浠朵笂浼�
- </el-button>
+ placeholder="閫夋嫨鏃堕棿">
+ </el-time-select>
+ <el-button v-if="item.itemType === 'file'"
+ v-model="item.value" plain size="mini" type="primary">
+ 涓婁紶鏂囦欢
+ </el-button>
+ <el-button v-if="item.itemType === 'multiFile'"
+ v-model="item.value" plain size="mini" type="primary">
+ 澶氭枃浠朵笂浼�
+ </el-button>
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ </div>
</el-dialog>
<el-dialog
@@ -1527,4 +1525,8 @@
font-size: 14px
}
+.formItemMargin{
+ margin: 10px 0 10px 0;
+}
+
</style>
--
Gitblit v1.9.3