Commit c811efaa by 蒋勇

d

parent 3223c824
......@@ -258,7 +258,7 @@ export default {
type: btninfo.type,
disabled:
params.row.isSystem &&
(btninfo.key == "delete" || btninfo.key == "edit")
(btninfo.key == "delete")
? true
: false
},
......
......@@ -30,7 +30,7 @@ export default {
*/
plugin: {
'error-store': {
showInHeader: true, // 设为false后不会在顶部显示错误日志徽标
showInHeader: false, // 设为false后不会在顶部显示错误日志徽标
developmentOff: true // 设为true后在开发环境不会收集错误信息,方便开发中排查错误
}
}
......
......@@ -6,7 +6,7 @@ import { refQuery} from './meta'
// 配置Ajax请求延时,可用来测试网络延迟大时项目中一些效果
Mock.setup({
timeout: 1000
timeout: 100
})
// 登录相关和获取用户信息
......
......@@ -19,12 +19,22 @@ export default {
main: [
{
"title":"关键信息",
cols:3,
ctls:[
{ "type": "input", "label": "应用名称", "prop": "name", "placeHolder": "请输入昵称", "style": "", rules: [{ "required": true, "message": ' ', "trigger": 'blur' },] },
{ "type": "input", "label": "路由域名", "prop": "domainName", "placeHolder": "请输入邮件", "style": "", rules: [{ "required": true, "message": ' ', "trigger": 'blur' },] },
{ "type": "input", "label": "后端服务", "prop": "backend", "placeHolder": "请输入帐户名", "style": "", rules: [{ "required": true, "message": ' ', "trigger": 'blur' },] },
// { "type": "upload", "label": "功能清单", "prop": "functionUrl", "placeHolder": "请上传功能清单", "style": "", rules: [] },
]
}
},
{
"title":"功能清单",
cols:1,
ctls:[
{ "type": "textarea", "label": "功能清单", "prop": "functionJSON", "placeHolder": "请输入功能清单", "style": {width:"100%",height:"400px"}, rules: [{ validator: "validatex", trigger: "blur" }]},
// { "type": "upload", "label": "功能清单", "prop": "functionUrl", "placeHolder": "请上传功能清单", "style": "", rules: [] },
]
},
],
lists: [
{
......@@ -61,7 +71,8 @@ export default {
{ "icon": "ios-cloud-download-outline", "title": "下载", "type": "text", "key": "export", "isOnGrid": true },
],
"edit": [
{ "icon": "ios-create-outline", "title": "修改", "type": "text", "key": "edit", "isInRow": true }
{ "icon": "ios-create-outline", "title": "修改", "type": "text", "key": "edit", "isInRow": true },
{ "icon": "ios-create-outline", "title": "功能", "type": "text", "key": "func", "isInRow": true }
],
"delete": [
{ "icon": "ios-trash-outline", "title": "删除", "type": "text", "key": "deletes", "isOnGrid": true },
......
......@@ -6,7 +6,8 @@
metaName="app_info"
packageName="common"
isMulti
:refvalidatemethod="validatemethod"
:refvalidatemethod2="validatemethod"
@onexec="onexec"
></BizTable>
</div>
</template>
......@@ -21,7 +22,18 @@ export default {
BizTable
},
methods: {
onexec(k,row){
},
validatemethod(rule, value, callback) {
if(rule.field=="functionJSON"){
try{
let j= JSON.parse(value)
console.log(j)
}catch(e){
return callback(new Error(e))
}
}
if (rule.field == "hosts") {
let attrhosts = value.split(",");
if (attrhosts.length == 0) {
......
......@@ -6,6 +6,7 @@
metaName="app_info"
packageName="common"
isMulti
@onexec="onexec"
></BizTable>
</div>
</template>
......@@ -20,6 +21,12 @@ export default {
BizTable
},
methods: {
onexec(k,row){
if(k=="func"){
}
},
// onnew() {
// this.$refs.bt.setFormCtlVisable("userName", true);
// },
......
......@@ -68,12 +68,13 @@
v-model="showedform"
width="70"
@on-visible-change="ondrawvisable"
style="paading-bottom:200px"
>
<Forms
ref="edform"
:fminfo="forminfo"
style="height:100%"
:refvalidatemethod="refvalidatemethod"
:refvalidatemethod="refvalidatemethod2"
>
<template v-slot:default="slotProps">
<Button
......@@ -162,13 +163,13 @@ export default {
return (row, key, index) => row[key];
}
},
refvalidatemethod: {
refvalidatemethod2: {
type: Function,
default() {
return (rule, value, callback) => {
return callback();
};
}
// default() {
// return (rule, value, callback) => {
// return callback();
// };
// }
}
},
data() {
......@@ -288,7 +289,7 @@ export default {
}, 500);
},
doexec(key, row, btninfo) {
this.$emit("onexec", key, row, btninfo);
if (key == "delete") {
this.currentRow = row;
this.isdel = true;
......@@ -317,9 +318,12 @@ export default {
this.$emit("onnew");
}
if (key == "save") {
console.log("beforevalid.........................")
this.$refs.edform.validate(valid => {
console.log("valid.........................",valid)
if (valid) {
if (this.clickcount["save"] == 0) {
console.log("before.......savbeformdata...............1")
this.clickcount["save"] = this.clickcount["save"] + 1;
let url = "";
let msg = "";
......@@ -335,9 +339,7 @@ export default {
row=Object.assign(row,this.initWhere)
}
}
console.log("row........................save");
console.log(row);
console.log("before.......savbeformdata...............2")
saveFormData(url, row).then(res => {
let rtn = res.data;
console.log(rtn);
......@@ -378,9 +380,11 @@ export default {
if (key == "adv-search") {
this.advsearch();
}
console.log(key, row);
this.$emit("onexec", key, row, btninfo);
console.log(key, row,"ddddddddddddddddddddddddddddddd");
},
doquery(q, k) {
alert("dd")
if (k == "cancel-search") {
this.$refs.searchform.resetForm();
this.showsearch = false;
......
......@@ -17,7 +17,7 @@
:data="d"
:show-upload-list="false"
:on-success="handleSuccess"
:format="['jpg','jpeg','png']"
:format="['jpg','jpeg','png','json']"
:max-size="2048"
:on-format-error="handleFormatError"
:on-exceeded-size="handleMaxSize"
......@@ -39,6 +39,7 @@
<script>
import { ossConfig } from "@/api/meta";
import minLogo from '@/assets/images/logo-min.jpg'
export default {
name: "uploads",
components: {},
......@@ -54,7 +55,8 @@ export default {
uploadList: [],
result: this.value,
d: {},
action: ""
action: "",
defaultimg:minLogo
};
},
methods: {
......
......@@ -7,7 +7,7 @@
</p>
<Form ref="ofm" :model="formModel" :rules="metaRules" label-position="left">
<template v-if="forminfo.lists && forminfo.lists.length>0">
<Tabs value="main" @on-click="tabselected">
<Tabs value="main" @on-click="tabselected">
<TabPane label="表单信息" name="main">
<template v-for="group in forminfo.main">
<Divider orientation="left" :key="group.title">{{group.title}}</Divider>
......@@ -22,7 +22,12 @@
>
<FormItem v-if="ctlVisable[ctl.prop]" :label="ctl.label" :prop="ctl.prop">
<template v-if="ctl.type=='input'">
<input v-model="formModel[ctl.prop]" :placeholder="ctl.placeHolder">
<input
type="text"
v-model="formModel[ctl.prop]"
:placeholder="ctl.placeHolder"
:style="ctl.style"
>
</template>
<template v-if="ctl.type=='btn'">
<button :type="ctl.btncss" :icon="ctl.icon">{{ctl.label}}</button>
......@@ -90,6 +95,14 @@
:placeholder="ctl.placeHolder"
>
</template>
<template v-if="ctl.type=='textarea'">
<Input
v-model="formModel[ctl.prop]"
type="textarea"
:placeholder="ctl.placeHolder"
:style="ctl.style"
/>
</template>
</FormItem>
</Col>
</Row>
......@@ -101,19 +114,18 @@
:key="lst.bizCode"
:label="lst.title"
:name="lst.bizCode"
>
<ChildList
:ref="lst['bizCode']"
:modelName="lst['modelName']"
:metaName="lst['bizCode']"
:packageName="lst['packageName']"
:initPropZIndex="1100"
:isLazy="lst.isLazy"
:isChildList="true"
:initWhere="getInitWhere(lst.initWhere)"
:refvalidatemethod="refvalidatemethod"
></ChildList>
<ChildList
:ref="lst['bizCode']"
:modelName="lst['modelName']"
:metaName="lst['bizCode']"
:packageName="lst['packageName']"
:initPropZIndex="1100"
:isLazy="lst.isLazy"
:isChildList="true"
:initWhere="getInitWhere(lst.initWhere)"
:refvalidatemethod="refvalidatemethod"
></ChildList>
</TabPane>
</Tabs>
</template>
......@@ -134,6 +146,7 @@
v-model="formModel[ctl.prop]"
:placeholder="ctl.placeHolder"
:disabled="ctl.disabled"
:style="ctl.style"
>
</template>
<template v-if="ctl.type=='btn'">
......@@ -198,6 +211,14 @@
:placeholder="ctl.placeHolder"
>
</template>
<template v-if="ctl.type=='textarea'">
<Input
v-model="formModel[ctl.prop]"
type="textarea"
:placeholder="ctl.placeHolder"
:style="ctl.style"
/>
</template>
</FormItem>
</Col>
</Row>
......@@ -211,7 +232,7 @@
</template>
<script>
// import { getTableData } from '@/api/data'
import Vue from 'vue'
import Vue from "vue";
import DicSelect from "./childs/dicselects";
import ModelSelect from "./childs/modelselects";
import RemoteSelect from "./childs/remoteselects";
......@@ -228,7 +249,7 @@ export default {
Switchs,
Checkgroups,
Radiogroups,
Uploads,
Uploads
},
props: {
fminfo: {
......@@ -238,12 +259,12 @@ export default {
}
},
refvalidatemethod: {
type: Function,
default() {
return (rule, value, callback) => {
return callback();
};
}
type: Function
// default() {
// return (rule, value, callback) => {
// return callback();
// };
// }
}
},
data() {
......@@ -253,7 +274,8 @@ export default {
metaRules: {},
btninfos: [],
ctlVisable: {},
tabDisabled: {}
tabDisabled: {},
refvalidatemethod2: this.refvalidatemethod
};
},
watch: {
......@@ -264,29 +286,30 @@ export default {
this.initFormModel();
}
},
computed:{
},
computed: {},
methods: {
getInitWhere(initWhereObj){
let refwhere={}
refwhere[initWhereObj.fieldName]=this.formModel[initWhereObj.valueField]
return refwhere
getInitWhere(initWhereObj) {
let refwhere = {};
refwhere[initWhereObj.fieldName] = this.formModel[
initWhereObj.valueField
];
return refwhere;
},
tabselected(bizcode){
console.log("tabselected.................",bizcode)
if(bizcode!="main" && this.$refs[bizcode]){
console.log( this.$refs[bizcode])
this.$refs[bizcode][0].fetchData()
tabselected(bizcode) {
console.log("tabselected.................", bizcode);
if (bizcode != "main" && this.$refs[bizcode]) {
console.log(this.$refs[bizcode]);
this.$refs[bizcode][0].fetchData();
}
},
getCols(cols) {
let cs = cols ? cols : 2;
return 24 / cs;
},
validate(cbk) {
this.$refs.ofm.validate(cbk);
this.$refs.ofm.validate(v => {
return cbk(v);
});
},
activeChildTables(vf) {
Object.keys(this.tabDisabled).forEach(k => {
......@@ -300,11 +323,20 @@ export default {
this.$refs.ofm.resetFields();
},
validatex(rule, value, callback) {
if (this.refvalidatemethod) {
return this.refvalidatemethod(rule, value, callback);
} else {
return callback();
}
alert(this.refvalidatemethod2);
// if (this.refvalidatemethod2) {
// return this.refvalidatemethod2(rule, value, callback);
// } else {
// return callback();
// }
setTimeout(() => {
if (this.refvalidatemethod2) {
return this.refvalidatemethod2(rule, value, callback);
} else {
return callback();
}
}, 3000);
},
testclick() {
console.log(JSON.stringify(this.formModel));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment