This commit is contained in:
yanran200730
2022-03-31 16:03:52 +08:00
11 changed files with 665 additions and 283 deletions

View File

@@ -151,7 +151,6 @@ html, body {
height: 100%; height: 100%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
gap: 5px;
.fixedBtn { .fixedBtn {
position: fixed; position: fixed;
@@ -191,11 +190,12 @@ html, body {
& > .header { & > .header {
text-align: start; text-align: start;
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
height: 60px; height: 43px;
flex-shrink: 0; flex-shrink: 0;
display: flex; display: flex;
align-items: center; align-items: center;
padding: 0 16px; padding: 0 16px;
margin-bottom: 5px;
& > b { & > b {
flex: 1; flex: 1;

View File

@@ -7,7 +7,9 @@
<template #content> <template #content>
<ai-search-bar> <ai-search-bar>
<template slot="left"> <template slot="left">
<el-button type="primary" icon="iconfont iconAdd" @click="handleAdd">添加</el-button> <el-button type="primary" icon="iconfont iconAdd" @click="handleAdd"
>添加</el-button
>
</template> </template>
<template slot="right"> <template slot="right">
<el-input <el-input
@@ -16,9 +18,14 @@
size="small" size="small"
placeholder="请输入课程主题" placeholder="请输入课程主题"
clearable clearable
v-throttle="() => {search.current = 1, getList()}" v-throttle="
@clear="search.current=1, search.title = '', getList()" () => {
suffix-icon="iconfont iconSearch"> (search.current = 1), getList();
}
"
@clear="(search.current = 1), (search.title = ''), getList()"
suffix-icon="iconfont iconSearch"
>
</el-input> </el-input>
</template> </template>
</ai-search-bar> </ai-search-bar>
@@ -29,37 +36,66 @@
:total="total" :total="total"
:current.sync="page.current" :current.sync="page.current"
:size.sync="page.size" :size.sync="page.size"
style="margin-top: 10px;" style="margin-top: 10px"
@getList="getList"> @getList="getList"
<el-table-column slot="options" label="操作" align="center" width="230px" fixed="right"> >
<div slot-scope="{row}" class="table-options"> <el-table-column
<el-button type="text" :title="row.status == 0 ? '发布' : '取消发布'" @click="handleChange(row)">{{ row.status == 0 ? '发布' : '取消发布' }}</el-button> slot="options"
<el-button type="text" title="添加" @click="handleAddSeries(row)">添加剧集</el-button> label="操作"
<el-button type="text" title="详情" @click="handleDetail(row)">详情</el-button> align="center"
<el-button type="text" title="编辑" @click="handleEdit(row)">编辑</el-button> width="230px"
<el-button type="text" title="删除" @click="handleDelete(row)">删除</el-button> fixed="right"
>
<div slot-scope="{ row }" class="table-options">
<el-button
type="text"
:title="row.status == 0 ? '发布' : '取消发布'"
@click="handleChange(row)"
>{{ row.status == 0 ? "发布" : "取消发布" }}</el-button
>
<el-button type="text" title="添加" @click="handleAddSeries(row)"
>添加剧集</el-button
>
<el-button type="text" title="详情" @click="handleDetail(row)"
>详情</el-button
>
<el-button type="text" title="编辑" @click="handleEdit(row)"
>编辑</el-button
>
<el-button type="text" title="删除" @click="handleDelete(row)"
>删除</el-button
>
</div> </div>
</el-table-column> </el-table-column>
</ai-table> </ai-table>
</template> </template>
</ai-list> </ai-list>
<component :is="comp" v-else :row="row" :instance="instance" :dict="dict" :permissions="permissions" @back="back" :isEdit="isEdit"></component> <component
:is="comp"
v-else
:row="row"
:instance="instance"
:dict="dict"
:permissions="permissions"
@back="back"
:isEdit="isEdit"
></component>
</section> </section>
</template> </template>
<script> <script>
import partyClassAdd from "./components/partyClassAdd"; import partyClassAdd from "./components/partyClassAdd";
import seriesManage from "./components/seriesManage"; import seriesManage from "./components/seriesManage";
import {mapState} from "vuex"; import { mapState } from "vuex";
export default { export default {
name: "AppPartyHistoryClass", name: "AppPartyHistoryClass",
label: "党员学习", label: "党员学习",
components: {partyClassAdd, seriesManage}, components: { partyClassAdd, seriesManage },
props: { props: {
instance: Function, instance: Function,
dict: Object, dict: Object,
permissions: Function permissions: Function,
}, },
data() { data() {
return { return {
@@ -77,62 +113,80 @@
isEdit: false, isEdit: false,
page: { page: {
current: 1, current: 1,
size: 10 size: 10,
} },
} };
}, },
computed: { computed: {
...mapState(["user"]), ...mapState(["user"]),
colConfigs() { colConfigs() {
return [ return [
{label: "课程主题", prop: "title"}, { label: "课程主题", prop: "title" },
{ {
label: "更新状态", label: "更新状态",
render: (h, {row}) => [ < span > {this.dict.getLabel('classroomUpdateStatus', row.updateStatus)} < /span>] render: (h, { row }) => [
<span>
{" "}
{this.dict.getLabel(
"classroomUpdateStatus",
row.updateStatus
)}{" "}
</span>,
],
}, },
{label: "更新时间", prop: "updateDate"}, { label: "更新时间", prop: "updateDate" },
{label: "发布时间", prop: "createDate"}, { label: "发布时间", prop: "createDate" },
{ {
label: "发布状态", label: "发布状态",
render: (h, {row}) => [ < span > {this.dict.getLabel('newsCenterStatus', row.status)} < /span>] render: (h, { row }) => [
<span> {this.dict.getLabel("newsCenterStatus", row.status)} </span>,
],
}, },
{label: "发布组织", prop: "organizationName"}, { label: "发布组织", prop: "organizationName" },
{slot: "options"} { slot: "options" },
]; ];
} },
}, },
methods: { methods: {
handleChange(row) { handleChange(row) {
this.$confirm(`是否确定要${row.status==0?'发布':'取消发布'}?`).then(_ => { this.$confirm(`是否确定要${row.status == 0 ? "发布" : "取消发布"}?`).then(
this.instance.post("/app/apppartyclassroom/addOrUpdate", { (_) => {
this.instance
.post("/app/apppartyclassroom/addOrUpdate", {
id: row.id, id: row.id,
status: row.status == 0 ? 1 : 0 status: row.status == 0 ? 1 : 0,
}).then(res=>{ })
if(res.code==0){ .then((res) => {
this.$message.success(`${row.status == 0?'发布成功':'取消发布成功'}`); if (res.code == 0) {
this.$message.success(
`${row.status == 0 ? "发布成功" : "取消发布成功"}`
);
this.getList(); this.getList();
} }
}) });
}) }
);
}, },
handleAddSeries(row) { handleAddSeries(row) {
this.showList = false; this.showList = false;
this.comp = "seriesManage"; this.comp = "seriesManage";
this.row = row; this.row = row;
}, },
handleDelete({id}){ handleDelete({ id }) {
this.$confirm("确定要删除吗?").then(_=>{ this.$confirm("确定要删除吗?").then((_) => {
this.instance.post("/app/apppartyclassroom/delete", null, { this.instance
.post("/app/apppartyclassroom/delete", null, {
params: { params: {
ids:id ids: id,
} },
}).then(res => { })
if (res.code==0) { .then((res) => {
if (res.code == 0) {
this.$message.success("删除成功"); this.$message.success("删除成功");
this.getList(); this.getList();
} }
}) });
}) });
}, },
handleEdit(row) { handleEdit(row) {
this.showList = false; this.showList = false;
@@ -147,7 +201,7 @@
this.row = row; this.row = row;
}, },
changeParty(e) { changeParty(e) {
if (!e.length) return if (!e.length) return;
this.organizationName = e[0]?.name; this.organizationName = e[0]?.name;
this.resetSearch(); this.resetSearch();
}, },
@@ -164,7 +218,7 @@
this.showList = true; this.showList = true;
this.isEdit = false; this.isEdit = false;
this.getList() this.getList();
}, },
handleAdd() { handleAdd() {
this.comp = "partyClassAdd"; this.comp = "partyClassAdd";
@@ -173,31 +227,33 @@
this.row = {}; this.row = {};
}, },
getList() { getList() {
this.instance.post("/app/apppartyclassroom/list", null, { this.instance
.post("/app/apppartyclassroom/list", null, {
params: { params: {
...this.page, ...this.page,
...this.search, ...this.search,
} },
}).then(res => { })
.then((res) => {
if (res?.data) { if (res?.data) {
this.tableData = res.data.records; this.tableData = res.data.records;
this.total = res.data.total; this.total = res.data.total;
} }
}) });
} },
}, },
created() { created() {
this.topOrgId = this.user.info?.organizationId; this.topOrgId = this.user.info?.organizationId;
this.organizationId = this.user.info?.organizationId; this.organizationId = this.user.info?.organizationId;
this.organizationName = this.user.info?.organizationName; this.organizationName = this.user.info?.organizationName;
this.dict.load("classroomUpdateStatus",'newsCenterStatus'); this.dict.load("classroomUpdateStatus", "newsCenterStatus");
this.getList(); this.getList();
} },
} };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.AppFoundingHundred { .AppFoundingHundred {
height: 100%; height: 100%;
} }
</style> </style>

View File

@@ -0,0 +1,36 @@
<template>
<div class="AppPropertyAdministration">
<AppPropertyAdministration
slot="content"
:instance="instance"
:dict="dict"
:permissions="permissions">
</AppPropertyAdministration>
</div>
</template>
<script>
import AppPropertyAdministration from './components/AppPropertyAdministration.vue'
export default {
name: "AppPropertyAdministration",
label: "产权管理",
components: {
AppPropertyAdministration,
},
props: {
instance: Function,
dict: Object,
permissions: Function
},
data() {
return {}
},
methods: {},
}
</script>
<style lang="scss" scoped>
.AppPropertyAdministration {
height: 100%;
}
</style>

View File

@@ -0,0 +1,29 @@
<template>
<ai-list class="loansAudit">
<template slot="title">
<ai-title title="产权管理" isShowBottomBorder :isShowBottomBorder="true" :isShowArea="true" v-model="areaId"></ai-title>
</template>
<template slot="content">
</template>
</ai-list>
</template>
<script>
export default {
name: "loansAudit",
props: {
instance: Function,
dict: Object
},
data() {
return {
}
},
methods: {}
}
</script>
<style lang="scss" scoped>
.loansAudit {}
</style>

View File

@@ -0,0 +1,145 @@
<template>
<section class="hrLog">
<ai-card title="走访日志">
<template #right>
<el-button type="text" icon="el-icon-plus" @click="dialog=true">添加</el-button>
</template>
<template #content>
<div class="logItem" v-for="row in tableData" :key="row.id">
<el-row type="flex" align="middle" justify="space-between">
<b v-text="row.createUserName"/>
<span v-text="row.createTime"/>
</el-row>
<div class="content" v-text="row.detail"/>
<ai-uploader v-model="row.files" disabled/>
<div class="btns">
<el-button type="text" @click="handleEdit(row)">编辑</el-button>
<el-button type="text" @click="handleDelete(row.id)">删除</el-button>
</div>
</div>
<ai-empty v-if="tableData.length==0"/>
</template>
</ai-card>
<ai-dialog :visible.sync="dialog" :title="addTitle" @closed="form={}" @onConfirm="submit" width="600px">
<el-form :model="form" :rules="rules" ref="DialogForm" size="small" label-width="80px">
<el-form-item label="走访日志" prop="detail">
<el-input type="textarea" v-model="form.detail" placeholder="请输入" maxlength="500" show-word-limit rows="5"/>
</el-form-item>
<el-form-item label="图片" prop="files">
<ai-uploader v-model="form.files" :instance="instance" acceptType=".jpg,.jpeg,.png">
<template #tips>
最多9张,仅支持10M以内的jpgjpegpng格式照片
</template>
</ai-uploader>
</el-form-item>
</el-form>
</ai-dialog>
</section>
</template>
<script>
import {mapState} from "vuex";
export default {
name: "hrLog",
props: {
instance: Function,
dict: Object,
permissions: Function
},
computed: {
...mapState(['user']),
addTitle() {
return this.form.id ? "编辑走访日志" : "新建走访日志"
}
},
data() {
return {
dialog: false,
form: {},
rules: {
detail: {required: true, message: "请输入走访日志"}
},
tableData: []
}
},
methods: {
getTableData() {
let {id: pid} = this.$route.query
this.instance.post("/app/apppreventionreturntopovertylog/list", null, {
params: {size: 9999, pid, type: 0}
}).then(res => {
if (res?.data) {
this.tableData = res.data?.records || []
}
})
},
submit() {
this.$refs.DialogForm.validate(v => {
if (v) {
let {id: pid} = this.$route.query
this.instance.post(`/app/apppreventionreturntopovertylog/addOrUpdate`, {
...this.form,
pid,
type: 0
}).then(res => {
if (res.code == 0) {
this.$message.success('提交成功!');
this.dialog = false
this.getTableData()
}
})
}
})
},
handleEdit(row) {
this.dialog = true
this.form = JSON.parse(JSON.stringify(row))
},
handleDelete(ids) {
this.$confirm("是否要删除走访日志").then(() => {
this.instance.post("/app/apppreventionreturntopovertylog/delete", null, {
params: {ids: ids?.toString()}
}).then(res => {
if (res?.code == 0) {
this.$message.success("删除成功!")
this.getTableData()
}
})
}).catch(() => 0)
},
},
created() {
this.getTableData()
}
}
</script>
<style lang="scss" scoped>
.hrLog {
.logItem {
position: relative;
padding: 8px 16px;
border-radius: 4px;
&:hover {
background: #eee;
.btns {
display: block;
}
}
.content {
margin: 8px 0;
}
.btns {
display: none;
position: absolute;
right: 8px;
bottom: 8px;
}
}
}
</style>

View File

@@ -0,0 +1,145 @@
<template>
<section class="hrMeasure">
<ai-card title="帮扶措施">
<template #right>
<el-button type="text" icon="el-icon-plus" @click="dialog=true">添加</el-button>
</template>
<template #content>
<div class="logItem" v-for="row in tableData" :key="row.id">
<el-row type="flex" align="middle" justify="space-between">
<b v-text="row.createUserName"/>
<span v-text="row.createTime"/>
</el-row>
<div class="content" v-text="row.detail"/>
<ai-uploader v-model="row.files" disabled/>
<div class="btns">
<el-button type="text" @click="handleEdit(row)">编辑</el-button>
<el-button type="text" @click="handleDelete(row.id)">删除</el-button>
</div>
</div>
<ai-empty v-if="tableData.length==0"/>
</template>
</ai-card>
<ai-dialog :visible.sync="dialog" :title="addTitle" @closed="form={}" @onConfirm="submit" width="600px">
<el-form :model="form" :rules="rules" ref="DialogForm" size="small" label-width="80px">
<el-form-item label="帮扶措施" prop="detail">
<el-input type="textarea" v-model="form.detail" placeholder="请输入" maxlength="500" show-word-limit rows="5"/>
</el-form-item>
<el-form-item label="图片" prop="files">
<ai-uploader v-model="form.files" :instance="instance" acceptType=".jpg,.jpeg,.png">
<template #tips>
最多9张,仅支持10M以内的jpgjpegpng格式照片
</template>
</ai-uploader>
</el-form-item>
</el-form>
</ai-dialog>
</section>
</template>
<script>
import {mapState} from "vuex";
export default {
name: "hrMeasure",
props: {
instance: Function,
dict: Object,
permissions: Function
},
computed: {
...mapState(['user']),
addTitle() {
return this.form.id ? "编辑措施" : "新建措施"
}
},
data() {
return {
dialog: false,
form: {},
rules: {
detail: {required: true, message: "请输入帮扶措施"}
},
tableData: []
}
},
methods: {
getTableData() {
let {id: pid} = this.$route.query
this.instance.post("/app/apppreventionreturntopovertylog/list", null, {
params: {size: 9999, pid, type: 1}
}).then(res => {
if (res?.data) {
this.tableData = res.data?.records || []
}
})
},
submit() {
this.$refs.DialogForm.validate(v => {
if (v) {
let {id: pid} = this.$route.query
this.instance.post(`/app/apppreventionreturntopovertylog/addOrUpdate`, {
...this.form,
pid,
type: 1
}).then(res => {
if (res.code == 0) {
this.$message.success('提交成功!');
this.dialog = false
this.getTableData()
}
})
}
})
},
handleEdit(row) {
this.dialog = true
this.form = JSON.parse(JSON.stringify(row))
},
handleDelete(ids) {
this.$confirm("是否要删除帮扶措施").then(() => {
this.instance.post("/app/apppreventionreturntopovertylog/delete", null, {
params: {ids: ids?.toString()}
}).then(res => {
if (res?.code == 0) {
this.$message.success("删除成功!")
this.getTableData()
}
})
}).catch(() => 0)
},
},
created() {
this.getTableData()
}
}
</script>
<style lang="scss" scoped>
.hrMeasure {
.logItem {
position: relative;
padding: 8px 16px;
border-radius: 4px;
&:hover {
background: #eee;
.btns {
display: block;
}
}
.content {
margin: 8px 0;
}
.btns {
display: none;
position: absolute;
right: 8px;
bottom: 8px;
}
}
}
</style>

View File

@@ -21,6 +21,11 @@
<el-button type="primary" @click="handleAccept(1)">纳入监测</el-button> <el-button type="primary" @click="handleAccept(1)">纳入监测</el-button>
<el-button v-if="isGridAdmin" icon="iconfont iconDelete" @click="handleDelete(detail.id)">删除</el-button> <el-button v-if="isGridAdmin" icon="iconfont iconDelete" @click="handleDelete(detail.id)">删除</el-button>
</template> </template>
<template v-if="/5/.test(detail.status)">
<el-button v-if="isGridAdmin" type="primary" @click="handleAccept(1)">纳入监测</el-button>
<el-button v-else type="primary" @click="handleAccept()">申请纳入监测</el-button>
<el-button v-if="isGridAdmin" icon="iconfont iconDelete" @click="handleDelete(detail.id)">删除</el-button>
</template>
<el-button v-if="/4/g.test(detail.status)" icon="iconfont iconDelete" @click="handleDelete(detail.id)"> <el-button v-if="/4/g.test(detail.status)" icon="iconfont iconDelete" @click="handleDelete(detail.id)">
删除 删除
</el-button> </el-button>
@@ -175,54 +180,27 @@
</ai-card> </ai-card>
</template> </template>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="帮扶日志" lazy name="log"> <el-tab-pane label="走访日志" lazy name="HrLog">
<ai-card title="帮扶日志"> <hr-log v-if="currentTab=='HrLog'" :instance="instance" :dict="dict" :permissions="permissions"/>
<template #right> </el-tab-pane>
<el-button type="text" icon="el-icon-plus" @click="dialog=true">添加</el-button> <el-tab-pane label="帮扶措施" lazy name="HrMeasure">
</template> <hr-measure v-if="currentTab=='HrMeasure'" :instance="instance" :dict="dict" :permissions="permissions"/>
<template #content>
<div class="logItem" v-for="row in tableData" :key="row.id">
<el-row type="flex" align="middle" justify="space-between">
<b v-text="row.createUserName"/>
<span v-text="row.createTime"/>
</el-row>
<div class="content" v-text="row.detail"/>
<ai-uploader v-model="row.files" disabled/>
<div class="btns">
<el-button type="text" @click="handleEditLog(row)">编辑</el-button>
<el-button type="text" @click="handleDeleteLog(row.id)">删除</el-button>
</div>
</div>
<ai-empty v-if="tableData.length==0"/>
</template>
</ai-card>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
</el-form> </el-form>
</template> </template>
</ai-detail> </ai-detail>
<ai-dialog :visible.sync="dialog" title="新建日志" @closed="form={}" @onConfirm="submitHelpLog" width="600px">
<el-form :model="form" :rules="rules" ref="DialogForm" size="small" label-width="80px">
<el-form-item label="帮扶日志" prop="detail">
<el-input type="textarea" v-model="form.detail" placeholder="请输入" maxlength="500" show-word-limit rows="5"/>
</el-form-item>
<el-form-item label="图片" prop="files">
<ai-uploader v-model="form.files" :instance="instance" acceptType=".jpg,.jpeg,.png">
<template #tips>
最多9张,仅支持10M以内的jpgjpegpng格式照片
</template>
</ai-uploader>
</el-form-item>
</el-form>
</ai-dialog>
</section> </section>
</template> </template>
<script> <script>
import {mapState} from "vuex"; import {mapState} from "vuex";
import HrMeasure from "./detail/hrMeasure";
import HrLog from "./detail/hrLog";
export default { export default {
name: "hrDetail", name: "hrDetail",
components: {HrLog, HrMeasure},
props: { props: {
instance: Function, instance: Function,
dict: Object, dict: Object,
@@ -248,23 +226,10 @@ export default {
return [countyName, townName, villageName, currentAddress].join("") return [countyName, townName, villageName, currentAddress].join("")
} }
}, },
watch: {
currentTab(v) {
if (v == "log") {
this.getHelpLogs()
}
}
},
data() { data() {
return { return {
detail: {}, detail: {},
dialog: false, currentTab: ""
form: {},
rules: {
detail: {required: true, message: "请输入帮扶内容"}
},
currentTab: "",
tableData: []
} }
}, },
methods: { methods: {
@@ -278,7 +243,7 @@ export default {
}).then(res => { }).then(res => {
if (res?.data) { if (res?.data) {
this.detail = res.data this.detail = res.data
this.detail.family.map(e => { this.detail.family?.map(e => {
e.householdRelation = e.householdRelation || "户主" e.householdRelation = e.householdRelation || "户主"
}) })
} }
@@ -301,7 +266,7 @@ export default {
}).catch(() => 0) }).catch(() => 0)
}, },
handleAccept(pass) { handleAccept(pass) {
let msg = pass == 1 ? "是否将该人员纳入监测对象?" : "是否驳回纳入监测对象申请?", {id} = this.detail let msg = pass == 0 ? "是否驳回纳入监测对象申请?" : `是否${isNaN(pass) ? '(申请)' : ''}纳入监测对象?`, {id} = this.detail
this.$confirm(msg).then(() => { this.$confirm(msg).then(() => {
this.instance.post("/app/apppreventionreturntopoverty/examine", null, { this.instance.post("/app/apppreventionreturntopoverty/examine", null, {
params: {pass, id} params: {pass, id}
@@ -326,46 +291,6 @@ export default {
}) })
}).catch(() => 0) }).catch(() => 0)
}, },
getHelpLogs() {
let {id: pid} = this.detail
this.instance.post("/app/apppreventionreturntopovertylog/list", null, {
params: {size: 9999, pid}
}).then(res => {
if (res?.data) {
this.tableData = res.data?.records || []
}
})
},
submitHelpLog() {
this.$refs.DialogForm.validate(v => {
if (v) {
let {id: pid} = this.detail
this.instance.post(`/app/apppreventionreturntopovertylog/addOrUpdate`, {...this.form, pid}).then(res => {
if (res.code == 0) {
this.$message.success('提交成功!');
this.dialog = false
this.getHelpLogs()
}
})
}
})
},
handleEditLog(row) {
this.dialog = true
this.form = JSON.parse(JSON.stringify(row))
},
handleDeleteLog(ids) {
this.$confirm("是否要删除帮扶日志").then(() => {
this.instance.post("/app/apppreventionreturntopovertylog/delete", null, {
params: {ids: ids?.toString()}
}).then(res => {
if (res?.code == 0) {
this.$message.success("删除成功!")
this.getHelpLogs()
}
})
}).catch(() => 0)
},
}, },
created() { created() {
this.getDetail() this.getDetail()
@@ -397,33 +322,9 @@ export default {
} }
} }
.el-date-editor { ::v-deep.el-tabs__content {
width: 100%; max-height: calc(100vh - 136px);
} overflow-y: auto;
.logItem {
position: relative;
padding: 8px 16px;
border-radius: 4px;
&:hover {
background: #eee;
.btns {
display: block;
}
}
.content {
margin: 8px 0;
}
.btns {
display: none;
position: absolute;
right: 8px;
bottom: 8px;
}
} }
} }
</style> </style>

View File

@@ -7,6 +7,10 @@
<template #left> <template #left>
<el-button type="primary" icon="iconfont iconAdd" @click="dialog=true">增加</el-button> <el-button type="primary" icon="iconfont iconAdd" @click="dialog=true">增加</el-button>
</template> </template>
<template #right>
<el-input size="small" placeholder="搜索项目/系统" v-model="search.name" clearable
@change="page.current=1,getTableData()"/>
</template>
</ai-search-bar> </ai-search-bar>
<ai-table :tableData="tableData" :total="page.total" :current.sync="page.current" :size.sync="page.size" <ai-table :tableData="tableData" :total="page.total" :current.sync="page.current" :size.sync="page.size"
@getList="getTableData" :col-configs="colConfigs" :dict="dict"> @getList="getTableData" :col-configs="colConfigs" :dict="dict">
@@ -87,7 +91,19 @@ export default {
}) })
}, },
handleDownload(row) { handleDownload(row) {
let loading = this.$loading({
lock: true, text: "正在打包文件...",
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
}), {id} = row
this.instance.post("/node/autodeploy/getZip", null, {
params: {id}
}).then(res => {
loading.close()
if (res?.code == 0) {
}
})
}, },
handleEdit(row) { handleEdit(row) {
this.form = JSON.parse(JSON.stringify(row)) this.form = JSON.parse(JSON.stringify(row))

View File

@@ -3,6 +3,8 @@
<ai-detail> <ai-detail>
<ai-title slot="title" title="经营主体详情" isShowBottomBorder isShowBack @onBackClick="$router.push({query:{}})"/> <ai-title slot="title" title="经营主体详情" isShowBottomBorder isShowBack @onBackClick="$router.push({query:{}})"/>
<template #content> <template #content>
<ai-sidebar :tabTitle="menuList" v-model="index" @change="change"></ai-sidebar>
<template v-if="index==0">
<el-form size="small" label-width="160px"> <el-form size="small" label-width="160px">
<ai-card title="营业执照"> <ai-card title="营业执照">
<template #content> <template #content>
@@ -39,6 +41,16 @@
</template> </template>
</ai-card> </ai-card>
</el-form> </el-form>
</template>
<template v-if="index==1">
<ai-card title="股权结构">
<!-- <el-button type="text">+添加股东</el-button> -->
<ai-table :tableData="tableData" :total="page.total" :current.sync="page.current" :size.sync="page.size"
@getList="getTableData" :col-configs="colConfigs">
</ai-table>
</ai-card>
</template>
</template> </template>
</ai-detail> </ai-detail>
@@ -56,11 +68,25 @@ export default {
computed: { computed: {
isAuthing() { isAuthing() {
return this.detail.status == "0" return this.detail.status == "0"
},
colConfigs() {
return [
{prop: "", label: "股东名称", width: 150},
{prop: "", label: "股东类型", width: 150},
{prop: "", label: "身份证/信用代码", width: 240},
{prop: "", label: "持股数量", width: 150},
{prop: "", label: "持股占比", width: 150},
{prop: "", label: "股权证", width: 200},
]
} }
}, },
data() { data() {
return { return {
detail: {}, detail: {},
menuList: ['基本信息','股权结构'],
index: 0,
tableData: [],
page: {current: 1, size: 10, total: 0},
} }
}, },
methods: { methods: {
@@ -74,6 +100,20 @@ export default {
} }
}) })
}, },
change(index) {
this.currentMenu = index
this.getDetail()
},
getTableData() {
// this.instance.post("/app/appdvcpconfig/list", null, {
// params: {...this.page, ...this.search}
// }).then(res => {
// if (res?.data) {
// this.tableData = res.data?.records
// this.page.total = res.data.total
// }
// })
},
}, },
created() { created() {
this.getDetail() this.getDetail()

View File

@@ -5,6 +5,10 @@
@change="page.current=1,getTableData()"/> @change="page.current=1,getTableData()"/>
<template #content> <template #content>
<ai-search-bar> <ai-search-bar>
<template #left>
<ai-select v-model="select.enterpriseType" @change="typeChange" placeholder="企业类型" :selectList="$dict.getDict('enterpriseType')"></ai-select>
<ai-select v-model="select.enterpriseStatus" @change="statusChange" placeholder="认证状态" :selectList="$dict.getDict('userEnterpriseStatus')"></ai-select>
</template>
<template #right> <template #right>
<el-input size="small" placeholder="搜索企业名称、法人姓名、登录账号" v-model="search.enterpriseName" clearable <el-input size="small" placeholder="搜索企业名称、法人姓名、登录账号" v-model="search.enterpriseName" clearable
@change="page.current=1,getTableData()"/> @change="page.current=1,getTableData()"/>
@@ -40,23 +44,24 @@ export default {
return { return {
search: {name: ""}, search: {name: ""},
page: {current: 1, size: 10, total: 0}, page: {current: 1, size: 10, total: 0},
select: {enterpriseType: '', enterpriseStatus: ''},
tableData: [], tableData: [],
colConfigs: [ colConfigs: [
{label: "企业名称", prop: "enterpriseName"}, {label: "企业名称", prop: "enterpriseName"},
{label: "企业类型", prop: "enterpriseType", dict: "enterpriseType"}, {label: "企业类型", prop: "enterpriseType", dict: "enterpriseType"},
{label: "所属区", prop: "areaName"}, {label: "所属区", prop: "areaName"},
{label: "法人姓名", prop: "legalPersonName"}, {label: "法人姓名", prop: "legalPersonName"},
{label: "联系方式", prop: "phone"}, {label: "联系方式", prop: "phone"},
{label: "创建时间", prop: "createTime"}, {label: "创建时间", prop: "createTime"},
{label: "登录账号", prop: "loginAccount"}, {label: "登录账号", prop: "loginAccount"},
{slot: "options"} {slot: "options"},
] ]
} }
}, },
methods: { methods: {
getTableData() { getTableData() {
this.instance.post("/appportaluserenterprise/list", null, { this.instance.post("/appportaluserenterprise/list", null, {
params: {...this.page, ...this.search, status: 1} params: {...this.page, ...this.search, status: 1,...this.select}
}).then(res => { }).then(res => {
if (res?.data) { if (res?.data) {
this.tableData = res.data?.records this.tableData = res.data?.records
@@ -66,9 +71,18 @@ export default {
}, },
showDetail(id) { showDetail(id) {
this.$router.push({query: {id}}) this.$router.push({query: {id}})
},
typeChange(v) {
this.select.enterpriseType = v
this.getTableData()
},
statusChange(v) {
this.select.enterpriseStatus = v
this.getTableData()
} }
}, },
created() { created() {
this.dict.load('userEnterpriseStatus')
this.getTableData() this.getTableData()
this.search.areaId = this.user.info.areaId this.search.areaId = this.user.info.areaId
} }

View File

@@ -76,7 +76,7 @@ export default {
colConfigs: [ colConfigs: [
{label: "所属金融机构", prop: "organizationName"}, {label: "所属金融机构", prop: "organizationName"},
{label: "成员姓名", prop: "name"}, {label: "成员姓名", prop: "name"},
{label: "成员职务", prop: "userRole", dict: "financialOrganizationUserRole"}, {label: "成员角色", prop: "userRole", dict: "financialOrganizationUserRole"},
{label: "创建人", prop: "createUserName", align: 'center', width: "120px"}, {label: "创建人", prop: "createUserName", align: 'center', width: "120px"},
{label: "创建时间", prop: "createTime"}, {label: "创建时间", prop: "createTime"},
{slot: "options"} {slot: "options"}