Browse Source

还有很长距离才能结束,这个公共模板复杂度很大啊

master
dai 3 years ago
parent
commit
e030671ae9
  1. 390
      src/views/modules/communityParty/article/drafts.vue
  2. 96
      src/views/modules/communityParty/article/index.vue
  3. 92
      src/views/modules/cpts/base/cpts/edit.vue
  4. 24
      src/views/modules/cpts/base/index.vue
  5. 2
      src/views/modules/shequzhili/tuceng/anquan/xuncha/index.vue

390
src/views/modules/communityParty/article/drafts.vue

@ -1,6 +1,7 @@
<template> <template>
<div> <div>
<base-page <base-page
ref="basePage"
:searchParams="searchParams" :searchParams="searchParams"
:tableParams="tableParams" :tableParams="tableParams"
:tableUrl="tableUrl" :tableUrl="tableUrl"
@ -14,174 +15,325 @@
:importUrl="importUrl" :importUrl="importUrl"
:mubanUrl="mubanUrl" :mubanUrl="mubanUrl"
:editParams="editParams" :editParams="editParams"
:editFixedParams="editFixedParams"
:editElseRules="editElseRules" :editElseRules="editElseRules"
:editBtnName="(item) => (!item.latitude ? '待完善' : '修改')" :editConfig="editConfig"
idName="icDangerousChemicalsId" :editParamsDiv="5"
></base-page> :infoAuth="() => false"
:formBtnFixed="true"
idName="draftId"
>
<template v-slot:editOperateSup="{ id, formType, info }">
<el-button
v-if="formType != 'watch'"
type="warning"
size="small"
:disabled="draftBtnDisable"
@click="handleClickDraft(info)"
>存草稿</el-button
>
</template>
</base-page>
</div> </div>
</template> </template>
<script> <script>
import basePage from "@/views/modules/cpts/base/index"; import basePage from "@/views/modules/cpts/base/index";
import { getItemByIdInCascader, collapse } from "@/utils/cascader";
import { requestPost } from "@/js/dai/request";
import dateFormat from "dai-js/tools/dateFormat.js";
export default { export default {
props: {}, props: {},
data() { data() {
return { return {
draftBtnDisable: false,
searchParams: [ searchParams: [
{ field: "活动标题", keyName: "name", type: "input" }, { field: "文章标题", keyName: "title", type: "input" },
{
field: "分类",
keyName: "category",
type: "select",
optionUrl: "/gov/org/coverage/dict-select-list/dangerous_chemicals",
optionUrlParams: {},
optionList: [],
},
{
field: "状态",
keyName: "dangerType",
type: "select",
optionUrl: "/sys/dict/data/dictlist",
optionUrlParams: {
dictType: "ic_danger_type",
},
optionList: [],
},
{
field: "发布范围",
keyName: "dangerType",
type: "select",
optionUrl: "/sys/dict/data/dictlist",
optionUrlParams: {
dictType: "ic_danger_type",
},
optionList: [],
},
{ {
field: "发布时间", field: "创建时间",
keyName: "dangerType", keyName: "createdTime",
type: "select", type: "date-range",
optionUrl: "/sys/dict/data/dictlist", supKeys: ["startTime", "endTime"],
optionUrlParams: { supValues: ["", ""],
dictType: "ic_danger_type",
},
optionList: [],
}, },
], ],
tableParams: [ tableParams: [
{ field: "序号", keyName: "", type: "no" }, { field: "序号", keyName: "", type: "no" },
{ field: "企业名称", keyName: "name", type: "text" }, { field: "文章标题", keyName: "title", type: "text" },
{ field: "企业类别", keyName: "categoryName", type: "text" }, { field: "创建时间", keyName: "createdTime", type: "text" },
{ field: "周边安全间距", keyName: "safeDistanceName", type: "text" },
{ field: "危化品种类", keyName: "dangerTypeName", type: "text" },
{ field: "经营地址", keyName: "address", type: "text" },
{ field: "负责人", keyName: "principalName", type: "text" },
{ field: "联系电话", keyName: "principalMobile", type: "text" },
{ field: "备注", keyName: "remark", type: "text" },
], ],
tableUrl: "/gov/org/icDangerousChemicals/list", tableUrl: "/gov/voice/draft/draftListV2",
mubanUrl: "/gov/org/icDangerousChemicals/download", mubanUrl: "",
importUrl: "/gov/org/icDangerousChemicals/import", importUrl: "",
exportUrl: "/gov/org/icDangerousChemicals/export", exportUrl: "",
addUrl: "/gov/org/icDangerousChemicals/add", addUrl: "/gov/voice/article/addOrSaveDraft",
editUrl: "/gov/org/icDangerousChemicals/edit", editUrl: "/gov/voice/article/addOrSaveDraft",
infoUrl: "/gov/org/icDangerousChemicals/detail", infoUrl: "/gov/voice/draft/detailV2",
delUrl: "/gov/org/icDangerousChemicals/del", delUrl: "/gov/voice/draft/deletedraft",
editAuth(item) { editAuth(item) {
return item.agencyId == this.$store.state.user.agencyId; return true;
}, },
delAuth(item) { delAuth(item) {
return item.agencyId == this.$store.state.user.agencyId; return true;
}, },
editParams: [ editParams: [
{ {
field: "企业名称", field: "文章标题",
keyName: "name", keyName: "title",
type: "input", type: "input",
maxlength: 50, maxlength: 50,
editDisabled: true, editDisabled: true,
rules: [ rules: [
{ {
required: true, required: true,
message: "企业名称不能为空", message: "文章标题不能为空",
trigger: "blur", trigger: "blur",
}, },
], ],
}, },
{ {
field: "企业分类", field: "封面图片",
keyName: "category", keyName: "imgArr",
type: "select", type: "upload",
optionUrl: "/gov/org/coverage/dict-select-list/dangerous_chemicals", limit: 1,
editDisabled: true,
rules: [],
value: [],
supKeys: ["imgUrlArr", "imgUrl"],
supValues: [[], ""],
beforeImgUpload(file, item, that) {
console.log(file);
const isLt1M = file.size / 1024 / 1024 < 10;
const srcType = file.type;
if (!isLt1M) {
that.$message.error("上传文件大小不能超过 10MB!");
return false;
}
if (srcType.indexOf("image") == -1) {
that.$message.error("仅限图片格式");
return false;
}
return true;
},
},
{
field: "发布范围",
keyName: "gridIdList",
type: "cascader",
value: [],
supKeys: ["publishRangeDesc"],
supValues: [[]],
optionUrl: "/gov/org/customeragency/agencygridtree",
optionUrlParams: { optionUrlParams: {
// dictType: "ic_service_type", agencyId: this.$store.state.user.agencyId,
}, },
optionList: [], optionList: [],
editDisabled: true, optionProps: {
multiple: true,
value: "agencyId",
label: "agencyName",
children: "subAgencyList",
checkStrictly: false,
emitPath: false,
},
optionCook(obj) {
return [obj];
},
handleChangeFn(vals, item, that) {
console.log("handleChangeFn", vals);
const { optionList } = item;
const optionPlaneList = collapse(optionList, "subAgencyList");
if (vals.length > 0) {
let selectedList = vals.map(
(v) =>
getItemByIdInCascader(
optionPlaneList,
[v],
"agencyId",
"subAgencyList"
)[0]
);
console.log("handleChangeFn", selectedList);
let selectedFilterList = selectedList.filter(
(a) => a.level == "grid"
);
that.fmData[item["keyName"]] = selectedFilterList.map(
(a) => a.agencyId
);
that.fmData[item["supKeys"][0]] = selectedFilterList
.map((a) => a.agencyName)
.join("、");
} else {
}
},
rules: [ rules: [
{ required: true, message: "企业分类不能为空", trigger: "blur" }, {
required: true,
message: "发布范围不能为空",
trigger: "blur",
},
], ],
}, },
{ {
field: "周边安全间距", field: "发布时间",
keyName: "safeDistance", keyName: "publishDate",
type: "number", type: "date",
precision: 2, value: dateFormat(new Date(), "yyyy-MM-dd"),
step: 0.01, rules: [
min: 0, {
max: 1000000000, required: true,
unitName: "公里", message: "发布时间不能为空",
trigger: "blur",
},
],
}, },
{ {
field: "危化品种类", field: "发布单位",
keyName: "dangerType", keyName: "publisher",
type: "select", type: "select",
optionUrl: "/sys/dict/data/dictlist", optionUrl: "/gov/voice/article/publishagencylist",
optionUrlParams: {
dictType: "ic_danger_type",
},
optionList: [], optionList: [],
editDisabled: true, optionType: "group",
}, supKeys: ["publisherName", "publisherType"],
{ supValues: ["", ""],
field: "负责人", optionCook(data) {
keyName: "principalName", let ret = [];
type: "input", const { agencyDeptList, agencyGridList, agencyId, agencyName } =
maxlength: 50, data;
if (agencyId) {
ret.push({
label: "以组织名义",
optionList: [
{
label: agencyId,
value: agencyName,
type: "agency",
},
],
});
}
if (Array.isArray(agencyDeptList) && agencyDeptList.length > 0) {
ret.push({
label: "以部门名义",
optionList: [
...agencyDeptList.map((d) => ({
label: d.agencyDeptName,
value: d.departmentId,
type: "department",
})),
],
});
}
if (Array.isArray(agencyGridList) && agencyGridList.length > 0) {
ret.push({
label: "以网格名义",
optionList: [
...agencyGridList.map((d) => ({
label: d.agencyGridName,
value: d.gridId,
type: "grid",
})),
],
});
}
return ret;
},
handleChangeFn(vals, item, that) {
const { optionList } = item;
let opts = [];
optionList.forEach((g) => {
opts = [...opts, ...g.optionList];
});
let publisher = opts.find((p) => vals == p.value);
that.fmData[item["supKeys"][0]] = publisher.label;
that.fmData[item["supKeys"][1]] = publisher.type;
},
rules: [
{
required: true,
message: "发布单位不能为空",
trigger: "blur",
},
],
}, },
{ {
field: "联系电话", field: "文章标签",
keyName: "principalMobile", keyName: "tagNameList",
type: "input", type: "select",
maxlength: 50, multiple: true,
filterable: true,
allowCreate: true,
optionUrl: "/gov/voice/tag/taglist",
optionUrlParams: {},
optionList: [],
optionCook(list) {
return list.map((item) => ({
label: item.tagName,
value: item.tagName,
}));
},
}, },
{ {
field: "经营地址", field: "内容",
keyName: "address", keyName: "content",
type: "address", type: "rich-text",
maxlength: 50,
supKeys: ["longitude", "latitude"],
supValues: ["", ""],
rules: [ rules: [
{ {
required: true, required: true,
message: "经营地址坐标不能为空", message: "内容不能为空",
trigger: "blur", trigger: "blur",
}, },
], ],
}, },
{ field: "备注", keyName: "remark", type: "textarea" }, {
field: "置顶",
keyName: "isTop",
type: "switch",
activeValue: "1",
inactiveValue: "0",
},
], ],
editElseRules: { editFixedParams: {
longitude: { type: "article",
type: "number", },
required: true, editElseRules: {},
message: "请拖动地图选择坐标点", editConfig: {
cookInfoFn(data) {
if (data.richTextFlag == "0") {
data.content = data.contentList
.map((item) => {
if (item.contentType == "text") {
return `<p>${item.content}</p>`;
} else if (item.contentType == "img") {
return `<img src="${item.content}" style="max-width:100%"></img>`;
} else if (item.contentType == "video") {
return `<video src="${item.content}" style="max-width:100%"></video>`;
} else if (item.contentType == "file") {
return `<a src="${item.content}" target="_blank">附件:${item.fileName}</a>`;
}
})
.join(" ");
} else {
data.content = data.contentList[0].content;
}
if (data.imgUrl) {
data.imgArr = [
{
name: "封面",
url: data.imgUrl,
},
];
data.imgUrlArr = [data.imgUrl];
}
return data;
}, },
}, },
}; };
@ -192,7 +344,31 @@ export default {
async mounted() {}, async mounted() {},
methods: {}, methods: {
async handleClickDraft(fmData) {
let url = this.addUrl;
let params = {
...fmData,
type: "draft",
};
params = this.$refs.basePage.$refs.editForm.cookBeforeSubmit(params);
if (!params.title && !params.content) {
return this.$message.error("标题或内容不能为空");
}
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.$message({
type: "success",
message: "保存成功",
});
this.$refs.basePage.handleClose();
} else {
this.$message.error(msg);
}
},
},
}; };
</script> </script>

96
src/views/modules/communityParty/article/index.vue

@ -1,6 +1,7 @@
<template> <template>
<div> <div>
<base-page <base-page
ref="basePage"
:searchParams="searchParams" :searchParams="searchParams"
:tableParams="tableParams" :tableParams="tableParams"
:tableUrl="tableUrl" :tableUrl="tableUrl"
@ -14,10 +15,25 @@
:importUrl="importUrl" :importUrl="importUrl"
:mubanUrl="mubanUrl" :mubanUrl="mubanUrl"
:editParams="editParams" :editParams="editParams"
:editFixedParams="editFixedParams"
:editElseRules="editElseRules" :editElseRules="editElseRules"
:editConfig="editConfig"
:editParamsDiv="5"
:editBtnName="(item) => (!item.latitude ? '待完善' : '修改')" :editBtnName="(item) => (!item.latitude ? '待完善' : '修改')"
:formBtnFixed="true"
idName="articleId" idName="articleId"
></base-page> >
<template v-slot:editOperateSup="{ id, formType, info }">
<el-button
v-if="formType != 'watch'"
type="warning"
size="small"
:disabled="draftBtnDisable"
@click="handleClickDraft(info)"
>存草稿</el-button
>
</template>
</base-page>
</div> </div>
</template> </template>
@ -32,8 +48,10 @@ export default {
data() { data() {
return { return {
draftBtnDisable: false,
searchParams: [ searchParams: [
{ field: "活动标题", keyName: "title", type: "input" }, { field: "文章标题", keyName: "title", type: "input" },
{ {
field: "标签", field: "标签",
keyName: "tagIds", keyName: "tagIds",
@ -119,7 +137,7 @@ export default {
tableParams: [ tableParams: [
{ field: "序号", keyName: "", type: "no" }, { field: "序号", keyName: "", type: "no" },
{ field: "活动标题", keyName: "title", type: "text" }, { field: "文章标题", keyName: "title", type: "text" },
{ {
field: "标签", field: "标签",
keyName: "tagNameList", keyName: "tagNameList",
@ -132,8 +150,7 @@ export default {
{ {
field: "发布范围", field: "发布范围",
keyName: "publishRangeDesc", keyName: "publishRangeDesc",
type: "array", type: "text",
arrayDiv: "、",
}, },
{ field: "置顶", keyName: "isTopName", type: "text" }, { field: "置顶", keyName: "isTopName", type: "text" },
], ],
@ -200,7 +217,7 @@ export default {
type: "cascader", type: "cascader",
value: [], value: [],
supKeys: ["publishRangeDesc"], supKeys: ["publishRangeDesc"],
supValues: [""], supValues: [[]],
optionUrl: "/gov/org/customeragency/agencygridtree", optionUrl: "/gov/org/customeragency/agencygridtree",
optionUrlParams: { optionUrlParams: {
agencyId: this.$store.state.user.agencyId, agencyId: this.$store.state.user.agencyId,
@ -238,9 +255,9 @@ export default {
that.fmData[item["keyName"]] = selectedFilterList.map( that.fmData[item["keyName"]] = selectedFilterList.map(
(a) => a.agencyId (a) => a.agencyId
); );
that.fmData[item["supKeys"][0]] = selectedFilterList.map( that.fmData[item["supKeys"][0]] = selectedFilterList
(a) => a.agencyName .map((a) => a.agencyName)
); .join("、");
} else { } else {
} }
}, },
@ -371,7 +388,42 @@ export default {
inactiveValue: "0", inactiveValue: "0",
}, },
], ],
editFixedParams: {
type: "article",
},
editElseRules: {}, editElseRules: {},
editConfig: {
cookInfoFn(data) {
if (data.richTextFlag == "0") {
data.content = data.contentList
.map((item) => {
if (item.contentType == "text") {
return `<p>${item.content}</p>`;
} else if (item.contentType == "img") {
return `<img src="${item.content}" style="max-width:100%"></img>`;
} else if (item.contentType == "video") {
return `<video src="${item.content}" style="max-width:100%"></video>`;
} else if (item.contentType == "file") {
return `<a src="${item.content}" target="_blank">附件:${item.fileName}</a>`;
}
})
.join(" ");
} else {
data.content = data.contentList[0].content;
}
if (data.imgUrl) {
data.imgArr = [
{
name: "封面",
url: data.imgUrl,
},
];
data.imgUrlArr = [data.imgUrl];
}
return data;
},
},
}; };
}, },
components: { basePage }, components: { basePage },
@ -380,7 +432,31 @@ export default {
async mounted() {}, async mounted() {},
methods: {}, methods: {
async handleClickDraft(fmData) {
let url = this.addUrl;
let params = {
...fmData,
type: "draft",
};
params = this.$refs.basePage.$refs.editForm.cookBeforeSubmit(params);
if (!params.title && !params.content) {
return this.$message.error("标题或内容不能为空");
}
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.$message({
type: "success",
message: "保存成功",
});
this.$refs.basePage.handleClose();
} else {
this.$message.error(msg);
}
},
},
}; };
</script> </script>

92
src/views/modules/cpts/base/cpts/edit.vue

@ -14,7 +14,7 @@
<el-form-item <el-form-item
v-for="item in editParams" v-for="item in editParams"
class="item" class="item"
label-width="150px" label-width="140px"
style="display: block" style="display: block"
:key="'edit' + item.keyName" :key="'edit' + item.keyName"
:label="item.field" :label="item.field"
@ -152,25 +152,22 @@
</template> </template>
<template v-else-if="item.type == 'rich-text'"> <template v-else-if="item.type == 'rich-text'">
<Tinymce <div
class="item-rich-text"
v-if=" v-if="
formType == 'add' || (formType == 'edit' && !item.editDisable) formType == 'add' || (formType == 'edit' && !item.editDisable)
" "
:ref="'richText' + item.keyName" class="item-rich-text"
:id="'richText' + item.keyName" >
v-model="fmData[item.keyName]" <Tinymce
:height="450" :ref="'richText' + item.keyName"
:customerId="customerId" v-model="fmData[item.keyName]"
:placeholder="item.placeholder || '请输入'" :customerId="customerId"
/> :placeholder="item.placeholder || '请输入'"
/>
<p </div>
v-else <div v-else class="item-show" @click="handleClickHtmlNode">
class="item-show" <div v-html="fmData[item.keyName]"></div>
v-html="fmData[item.keyName]" </div>
disabled
></p>
</template> </template>
<template v-else-if="item.type == 'cascader'"> <template v-else-if="item.type == 'cascader'">
@ -196,7 +193,7 @@
:show-file-list="true" :show-file-list="true"
:list-type="item.listType || 'picture'" :list-type="item.listType || 'picture'"
:limit="item.limit || 100" :limit="item.limit || 100"
:file-list="item.showList" :file-list="fmData[item.keyName]"
:on-success="(res, file) => handleImgSuccess(res, file, item)" :on-success="(res, file) => handleImgSuccess(res, file, item)"
:on-remove="(res) => handleImgRemove(res, item)" :on-remove="(res) => handleImgRemove(res, item)"
:before-upload="(file) => beforeImgUpload(file, item)" :before-upload="(file) => beforeImgUpload(file, item)"
@ -260,9 +257,16 @@
@click="handleComfirm" @click="handleComfirm"
> </el-button > </el-button
> >
<slot
name="operateSup"
v-bind:id="formId"
v-bind:info="fmData"
v-bind:formType="formType"
></slot>
</div> </div>
<slot <slot
name="bottomSup"
v-bind:id="formId" v-bind:id="formId"
v-bind:info="fmData" v-bind:info="fmData"
v-bind:formType="formType" v-bind:formType="formType"
@ -279,6 +283,12 @@
@click="handleComfirm" @click="handleComfirm"
> </el-button > </el-button
> >
<slot
name="operateSup"
v-bind:id="formId"
v-bind:info="fmData"
v-bind:formType="formType"
></slot>
</div> </div>
</div> </div>
</template> </template>
@ -348,6 +358,10 @@ export default {
type: Object, type: Object,
default: () => ({}), default: () => ({}),
}, },
editConfig: {
type: Object,
default: () => ({}),
},
}, },
data() { data() {
@ -430,6 +444,15 @@ export default {
this.iniLoaded = true; this.iniLoaded = true;
}, },
handleClickHtmlNode(e) {
//
if (e.target.localName.toLowerCase() === "a") {
//
let url = e.target.getAttribute("src"); //adata-ididclickaclick
window.open(url);
}
},
async getFmOptions(index, url, params, cookFn) { async getFmOptions(index, url, params, cookFn) {
const { data, code, msg } = await requestPost(url, { const { data, code, msg } = await requestPost(url, {
...params, ...params,
@ -630,8 +653,12 @@ export default {
[idName]: formId, [idName]: formId,
}; };
const { data, code, msg } = await requestPost(url, params); let { data, code, msg } = await requestPost(url, params);
if (code === 0) { if (code === 0) {
const { editConfig } = this;
if (editConfig && typeof editConfig.cookInfoFn == "function") {
data = editConfig.cookInfoFn(data);
}
this.fmData = { this.fmData = {
...this.fmData, ...this.fmData,
...data, ...data,
@ -656,6 +683,7 @@ export default {
window.open(src); window.open(src);
}, },
//
dormatHtml(content) { dormatHtml(content) {
if ( if (
content.startsWith( content.startsWith(
@ -668,6 +696,15 @@ export default {
return content; return content;
}, },
cookBeforeSubmit(data) {
Object.keys(data).forEach((k) => {
if (typeof data[k] == "string") {
data[k] = this.dormatHtml(data[k]);
}
});
return data;
},
async handleComfirm() { async handleComfirm() {
this.btnDisable = true; this.btnDisable = true;
setTimeout(() => { setTimeout(() => {
@ -708,6 +745,8 @@ export default {
// serviceType: this.fmData.serviceTypeArr.join(","), // serviceType: this.fmData.serviceTypeArr.join(","),
}; };
params = this.cookBeforeSubmit(params);
if (this.formType === "add") { if (this.formType === "add") {
url = this.addUrl; url = this.addUrl;
} else { } else {
@ -750,6 +789,10 @@ export default {
} }
} }
.item-show {
width: 225px;
}
.item-input { .item-input {
width: 225px; width: 225px;
} }
@ -776,14 +819,19 @@ export default {
.item-rich-text { .item-rich-text {
width: 600px; width: 600px;
height: 450px; height: 450px;
img {
max-width: 100%;
}
.item-show {
width: 100%;
}
} }
.item-select,
.item-show,
.item-input { .item-input {
width: 450px; width: 450px;
} }
.item-select {
width: 450px;
}
.item-number { .item-number {
width: 225px; width: 225px;
} }

24
src/views/modules/cpts/base/index.vue

@ -191,6 +191,7 @@
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
v-if="infoUrl && infoAuth(scope.row)"
@click="handleWatch(scope.row)" @click="handleWatch(scope.row)"
type="text" type="text"
size="small" size="small"
@ -252,7 +253,7 @@
@closed="handleClose" @closed="handleClose"
> >
<edit-form <edit-form
ref="eleEditForm" ref="editForm"
:idName="idName" :idName="idName"
:formId="formId" :formId="formId"
:formType="formType" :formType="formType"
@ -264,12 +265,21 @@
:editElseRules="editElseRules" :editElseRules="editElseRules"
:editFixedParams="editFixedParams" :editFixedParams="editFixedParams"
:formBtnFixed="formBtnFixed" :formBtnFixed="formBtnFixed"
:editConfig="editConfig"
@close="handleClose" @close="handleClose"
@afterEdit="handleEditSuccess" @afterEdit="handleEditSuccess"
> >
<template v-slot="{ id, formType, info }"> <template v-slot:bottomSup="{ id, formType, info }">
<slot <slot
name="editElse" name="editBottomSup"
v-bind:id="id"
v-bind:formType="formType"
v-bind:info="info"
></slot>
</template>
<template v-slot:operateSup="{ id, formType, info }">
<slot
name="editOperateSup"
v-bind:id="id" v-bind:id="id"
v-bind:formType="formType" v-bind:formType="formType"
v-bind:info="info" v-bind:info="info"
@ -339,6 +349,10 @@ export default {
default: "", default: "",
}, },
infoAuth: {
type: Function,
default: () => true,
},
editAuth: { editAuth: {
type: Function, type: Function,
default: () => true, default: () => true,
@ -360,6 +374,10 @@ export default {
type: Object, type: Object,
default: () => ({}), default: () => ({}),
}, },
editConfig: {
type: Object,
default: () => ({}),
},
editFixedParams: { editFixedParams: {
type: Object, type: Object,
default: () => ({}), default: () => ({}),

2
src/views/modules/shequzhili/tuceng/anquan/xuncha/index.vue

@ -21,7 +21,7 @@
:formBtnFixed="false" :formBtnFixed="false"
idName="enterpriseId" idName="enterpriseId"
> >
<template v-slot:editElse="{ id, formType, info }"> <template v-slot:editBottomSup="{ id, formType, info }">
<record <record
v-if="formType != 'add' && id" v-if="formType != 'add' && id"
:formType="formType" :formType="formType"

Loading…
Cancel
Save