Commit c811efaa by 蒋勇

d

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