第一书记跟随目录名称

This commit is contained in:
aixianling
2023-10-09 10:53:30 +08:00
parent 872e7afdd3
commit 30b25883a8
3 changed files with 128 additions and 124 deletions

View File

@@ -1,66 +1,66 @@
<template> <template>
<div class="doc-circulation ailist-wrapper"> <div class="doc-circulation ailist-wrapper">
<keep-alive :include="['List']"> <keep-alive :include="['List']">
<component ref="component" :is="component" @change="onChange" :params="params" :instance="instance" :dict="dict"></component> <component ref="component" :is="component" @change="onChange" :params="params" v-bind="$props"></component>
</keep-alive> </keep-alive>
</div> </div>
</template> </template>
<script> <script>
import List from './components/List' import List from './components/List'
import Add from './components/Add' import Add from './components/Add'
export default { export default {
name: 'AppVillageAuxiliarPolice', name: 'AppVillageAuxiliarPolice',
label: '第一书记', label: '第一书记',
props: {
instance: Function,
dict: Object,
menuName: {default: "第一书记"}
},
props: { data() {
instance: Function, return {
dict: Object component: 'List',
}, params: {},
include: []
}
},
data () { components: {
return { Add,
component: 'List', List
params: {}, },
include: []
mounted() {
},
methods: {
onChange(data) {
if (data.type === 'Add') {
this.component = 'Add'
this.params = data.params
} }
},
components: { if (data.type === 'list') {
Add, this.component = 'List'
List this.params = data.params
},
mounted () { this.$nextTick(() => {
}, if (data.isRefresh) {
this.$refs.component.getList()
methods: { }
onChange (data) { })
if (data.type === 'Add') {
this.component = 'Add'
this.params = data.params
}
if (data.type === 'list') {
this.component = 'List'
this.params = data.params
this.$nextTick(() => {
if (data.isRefresh) {
this.$refs.component.getList()
}
})
}
} }
} }
} }
}
</script> </script>
<style lang="scss"> <style lang="scss">
.doc-circulation { .doc-circulation {
height: 100%; height: 100%;
background: #F3F6F9; background: #F3F6F9;
overflow: auto; overflow: auto;
} }
</style> </style>

View File

@@ -1,8 +1,7 @@
<template> <template>
<ai-detail> <ai-detail>
<template slot="title"> <template slot="title">
<ai-title :title="params.id ? '编辑第一书记' : '添加第一书记'" isShowBack isShowBottomBorder @onBackClick="cancel(false)"> <ai-title :title="(params.id?'编辑':'添加')+menuName" isShowBack isShowBottomBorder @onBackClick="cancel(false)"/>
</ai-title>
</template> </template>
<template slot="content"> <template slot="content">
<ai-card title="基本信息"> <ai-card title="基本信息">
@@ -11,13 +10,16 @@
<el-form-item label="服务区域" style="width: 100%;" prop="codeName"> <el-form-item label="服务区域" style="width: 100%;" prop="codeName">
<span style="color: #666;">{{ form.areaName }}</span> <span style="color: #666;">{{ form.areaName }}</span>
</el-form-item> </el-form-item>
<el-form-item style="width: 100%" label="姓名" prop="name" :rules="[{ required: true, message: '请输入姓名', trigger: 'blur' }]"> <el-form-item style="width: 100%" label="姓名" prop="name"
:rules="[{ required: true, message: '请输入姓名', trigger: 'blur' }]">
<el-input size="small" placeholder="请输入姓名" v-model="form.name"></el-input> <el-input size="small" placeholder="请输入姓名" v-model="form.name"></el-input>
</el-form-item> </el-form-item>
<el-form-item style="width: 100%" label="电话" prop="phone" :rules="[{ required: true, message: '请输入电话', trigger: 'blur' }]"> <el-form-item style="width: 100%" label="电话" prop="phone"
:rules="[{ required: true, message: '请输入电话', trigger: 'blur' }]">
<el-input size="small" placeholder="请输入电话" maxlength="20" v-model="form.phone"></el-input> <el-input size="small" placeholder="请输入电话" maxlength="20" v-model="form.phone"></el-input>
</el-form-item> </el-form-item>
<el-form-item style="width: 100%;" label="是否公开" prop="isPublic" :rules="[{ required: true, message: '请选择是否公开', trigger: 'change' }]"> <el-form-item style="width: 100%;" label="是否公开" prop="isPublic"
:rules="[{ required: true, message: '请选择是否公开', trigger: 'change' }]">
<el-radio-group v-model="form.isPublic"> <el-radio-group v-model="form.isPublic">
<el-radio label="1"></el-radio> <el-radio label="1"></el-radio>
<el-radio label="0"></el-radio> <el-radio label="0"></el-radio>
@@ -25,10 +27,10 @@
</el-form-item> </el-form-item>
<el-form-item label="图片" style="width: 100%;" prop="picture"> <el-form-item label="图片" style="width: 100%;" prop="picture">
<ai-uploader <ai-uploader
:instance="instance" :instance="instance"
isShowTip isShowTip
v-model="form.picture" v-model="form.picture"
:limit="1"> :limit="1">
</ai-uploader> </ai-uploader>
</el-form-item> </el-form-item>
</el-form> </el-form>
@@ -43,83 +45,84 @@
</template> </template>
<script> <script>
export default { export default {
name: 'Add', name: 'Add',
props: { props: {
instance: Function, instance: Function,
dict: Object, dict: Object,
params: Object params: Object,
menuName: String
},
data() {
return {
info: {},
form: {
areaId: '',
name: '',
areaName: '',
phone: '',
picture: [],
isPublic: '1'
},
id: ''
}
},
created() {
if (this.params && this.params.areaId && !this.params.id) {
this.form.areaId = this.params.areaId
this.form.areaName = this.params.areaName
}
if (this.params && this.params.id) {
this.id = this.params.id
this.getInfo(this.params.id)
}
},
methods: {
getInfo(id) {
this.instance.post(`/app/appvillageauxiliarypolice/queryDetailById?id=${id}`).then(res => {
if (res.code === 0) {
this.form = res.data
this.form.picture = res.data.picture ? [{url: res.data.picture}] : []
}
})
}, },
data () { onClose() {
return { this.form.explain = ''
info: {},
form: {
areaId: '',
name: '',
areaName: '',
phone: '',
picture: [],
isPublic: '1'
},
id: ''
}
}, },
created () { confirm() {
if (this.params && this.params.areaId && !this.params.id) { this.$refs.form.validate((valid) => {
this.form.areaId = this.params.areaId if (valid) {
this.form.areaName = this.params.areaName this.instance.post(`/app/appvillageauxiliarypolice/addOrUpdate`, {
} ...this.form,
id: this.params.id || '',
if (this.params && this.params.id) { picture: this.form.picture.length ? this.form.picture[0].url : ''
this.id = this.params.id }).then(res => {
this.getInfo(this.params.id) if (res.code == 0) {
} this.$message.success('提交成功')
setTimeout(() => {
this.cancel(true)
}, 600)
}
})
}
})
}, },
methods: { cancel(isRefresh) {
getInfo (id) { this.$emit('change', {
this.instance.post(`/app/appvillageauxiliarypolice/queryDetailById?id=${id}`).then(res => { type: 'list',
if (res.code === 0) { isRefresh: !!isRefresh
this.form = res.data })
this.form.picture = res.data.picture ? [{url: res.data.picture}] : []
}
})
},
onClose () {
this.form.explain = ''
},
confirm () {
this.$refs.form.validate((valid) => {
if (valid) {
this.instance.post(`/app/appvillageauxiliarypolice/addOrUpdate`, {
...this.form,
id: this.params.id || '',
picture: this.form.picture.length ? this.form.picture[0].url : ''
}).then(res => {
if (res.code == 0) {
this.$message.success('提交成功')
setTimeout(() => {
this.cancel(true)
}, 600)
}
})
}
})
},
cancel (isRefresh) {
this.$emit('change', {
type: 'list',
isRefresh: !!isRefresh
})
}
} }
} }
}
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">

View File

@@ -1,7 +1,7 @@
<template> <template>
<ai-list class="villagecode"> <ai-list class="villagecode">
<template slot="title"> <template slot="title">
<ai-title title="第一书记" isShowBottomBorder></ai-title> <ai-title :title="menuName" isShowBottomBorder></ai-title>
</template> </template>
<template #left> <template #left>
<div class="villagecode-left"> <div class="villagecode-left">
@@ -91,7 +91,8 @@
props: { props: {
instance: Function, instance: Function,
dict: Object dict: Object,
menuName:String
}, },
data() { data() {