Commit 88ce81d7 authored by 赵啸非's avatar 赵啸非

Merge remote-tracking branch 'origin/master'

parents 7c066772 a12b5efd
<template> <template>
<div class="addmatter"> <div class="addmatter">
<a-tabs default-active-key="1"> <a-tabs v-model="active">
<div slot="tabBarExtraContent"> <div slot="tabBarExtraContent">
<a-space> <a-space>
<a-button @click="handleManage">返回事项列表</a-button> <a-button @click="handleManage">返回事项列表</a-button>
<a-button @click="handleBack">返回概要列表</a-button> <a-button @click="handleBack">返回概要列表</a-button>
</a-space> </a-space>
</div> </div>
<a-tab-pane key="1" tab="基本信息"> <a-tab-pane :key="1" tab="基本信息">
<BaseMessage /> <BaseMessage />
</a-tab-pane> </a-tab-pane>
<a-tab-pane key="2" tab="申请材料"> <a-tab-pane :key="2" tab="申请材料">
<ApplyMaterial /> <ApplyMaterial v-if="active == 2" />
</a-tab-pane> </a-tab-pane>
<a-tab-pane key="3" tab="受理材料"> <a-tab-pane :key="3" tab="受理材料">
<accept-material></accept-material> <accept-material v-if="active == 3"></accept-material>
</a-tab-pane> </a-tab-pane>
<a-tab-pane key="4" tab="办理流程"> <a-tab-pane :key="4" tab="办理流程">
<Flow /> <Flow v-if="active == 4" />
</a-tab-pane> </a-tab-pane>
<a-tab-pane key="5" tab="收费标准"> <a-tab-pane :key="5" tab="收费标准">
<Rates /> <Rates v-if="active == 5" />
</a-tab-pane> </a-tab-pane>
<a-tab-pane key="6" tab="设定依据"> <a-tab-pane :key="6" tab="设定依据">
<Pursuant /> <Pursuant v-if="active == 6" />
</a-tab-pane> </a-tab-pane>
<a-tab-pane key="7" tab="中介服务"> <a-tab-pane :key="7" tab="中介服务">
<Agency /> <Agency v-if="active == 7" />
</a-tab-pane> </a-tab-pane>
<a-tab-pane key="8" tab="常见问题"> <a-tab-pane :key="8" tab="常见问题">
<Question /> <Question v-if="active == 8" />
</a-tab-pane> </a-tab-pane>
</a-tabs> </a-tabs>
</div> </div>
...@@ -54,7 +54,9 @@ import Agency from "./components/agency.vue"; ...@@ -54,7 +54,9 @@ import Agency from "./components/agency.vue";
import Question from "./components/question.vue"; import Question from "./components/question.vue";
export default { export default {
data() { data() {
return {}; return {
active: 1,
};
}, },
components: { components: {
......
...@@ -300,10 +300,10 @@ ...@@ -300,10 +300,10 @@
</a-row> </a-row>
</a-form-model> </a-form-model>
<div class="btn_box"> <div class="btn_box">
<a-button type="primary" class="mr" @click="handleOk" :loading="loading"> <a-button class="mr" @click="handleReset"> 重置 </a-button>
<a-button type="primary" @click="handleOk" :loading="loading">
确定 确定
</a-button> </a-button>
<a-button @click="handleReset"> 重置 </a-button>
</div> </div>
</div> </div>
</template> </template>
......
...@@ -37,7 +37,12 @@ ...@@ -37,7 +37,12 @@
</a-table> </a-table>
</div> </div>
<!-- 新增受理条件 --> <!-- 新增受理条件 -->
<a-modal v-model="visible" :title="title"> <a-modal
v-model="visible"
:title="title"
@cancel="handleClose"
:maskClosable="false"
>
<template slot="footer"> <template slot="footer">
<a-button @click="handleClose">关闭</a-button> <a-button @click="handleClose">关闭</a-button>
<a-button type="primary" @click="handleOk">确定</a-button> <a-button type="primary" @click="handleOk">确定</a-button>
......
...@@ -7,24 +7,20 @@ ...@@ -7,24 +7,20 @@
:labelCol="{ span: 8 }" :labelCol="{ span: 8 }"
:wrapperCol="{ span: 16 }" :wrapperCol="{ span: 16 }"
> >
<a-form-model-item label="中介服务">
<a-radio-group v-model="isHave" @change="chagneHave">
<a-radio :value="true"> 具有 </a-radio>
<a-radio :value="false"> 不具有 </a-radio>
</a-radio-group>
</a-form-model-item>
<a-form-model-item label="中介服务事项名称" prop="title"> <a-form-model-item label="中介服务事项名称" prop="title">
<a-input placeholder="请输入事项名称" v-model="form.title" /> <a-input
:disabled="!isHave"
placeholder="请输入事项名称"
v-model="form.title"
/>
</a-form-model-item> </a-form-model-item>
<!-- <a-form-model-item label="所属事项" prop="matterId">
<a-select
allowClear
@select="handleSelect"
v-model="form.matterId"
placeholder="请选择所属事项"
>
<a-select-option
v-for="v in matterList"
:key="v.id"
:value="v.matterId"
>{{ v.matterName }}</a-select-option
>
</a-select>
</a-form-model-item> -->
<a-form-model-item <a-form-model-item
label="中介服务实施机构及资质资格要求" label="中介服务实施机构及资质资格要求"
prop="intermediaryRequest" prop="intermediaryRequest"
...@@ -32,6 +28,7 @@ ...@@ -32,6 +28,7 @@
<a-textarea <a-textarea
v-model="form.intermediaryRequest" v-model="form.intermediaryRequest"
placeholder="请输入要求" placeholder="请输入要求"
:disabled="!isHave"
:rows="4" :rows="4"
allow-clear allow-clear
/> />
...@@ -39,6 +36,7 @@ ...@@ -39,6 +36,7 @@
<a-form-model-item label="服务时限" prop="intermediaryRequestTime"> <a-form-model-item label="服务时限" prop="intermediaryRequestTime">
<a-input <a-input
placeholder="请输入服务时限" placeholder="请输入服务时限"
:disabled="!isHave"
v-model="form.intermediaryRequestTime" v-model="form.intermediaryRequestTime"
/> />
</a-form-model-item> </a-form-model-item>
...@@ -47,23 +45,37 @@ ...@@ -47,23 +45,37 @@
v-model="form.remark" v-model="form.remark"
placeholder="请输入备注" placeholder="请输入备注"
:rows="4" :rows="4"
:disabled="!isHave"
allow-clear allow-clear
/> />
</a-form-model-item> </a-form-model-item>
<a-form-model-item :wrapper-col="{ span: 14, offset: 12 }"> <a-form-model-item :wrapper-col="{ span: 14, offset: 12 }">
<a-button type="primary" @click="onSubmit"> 确定 </a-button> <a-button
<a-button style="margin-left: 10px" @click="resetForm"> 重置 </a-button> :disabled="!isHave"
style="margin-right: 10px"
@click="resetForm"
>
重置
</a-button>
<a-button :disabled="!isHave" type="primary" @click="onSubmit">
确定
</a-button>
</a-form-model-item> </a-form-model-item>
</a-form-model> </a-form-model>
</div> </div>
</template> </template>
<script> <script>
import { addMatterintermediary } from "@/services/matter"; import {
addMatterintermediary,
getMatterintermediaryList,
delMatterintermediary,
} from "@/services/matter";
import local from "@/utils/local"; import local from "@/utils/local";
export default { export default {
data() { data() {
return { return {
isHave: false,
matterList: [], matterList: [],
siteId: "", siteId: "",
form: { form: {
...@@ -93,21 +105,28 @@ export default { ...@@ -93,21 +105,28 @@ export default {
}, },
}; };
}, },
created() {}, created() {
this.getMatterintermediaryList();
},
methods: { methods: {
// 获取站点事项列表 // 获取办理流程列表
// async getSiteMatterList() { async getMatterintermediaryList() {
// this.siteId = this.$route.query.siteId; if (!local.getLocal("matter")) return;
// let res = await getSiteMatterList({ siteId: this.siteId }); let res = await getMatterintermediaryList({
// this.matterList = res.data.data.data; page: 1,
// }, size: -1,
matterId: local.getLocal("matter").id,
// // 事项下拉选择 matterName: local.getLocal("matter").matterName,
// handleSelect(val, node) { });
// let { text } = node.componentOptions.children[0]; if (res.data.code === 1 && res.data.data.data.length) {
// this.form.matterName = text; this.form = res.data.data.data[0];
// }, this.isHave = true;
} else {
Object.assign(this.form, this.$options.data().form);
this.form.id && this.$delete(this.form, "id");
this.isHave = false;
}
},
onSubmit() { onSubmit() {
if (!local.getLocal("matter")) { if (!local.getLocal("matter")) {
this.$message.warning("请先新增基本信息"); this.$message.warning("请先新增基本信息");
...@@ -123,8 +142,7 @@ export default { ...@@ -123,8 +142,7 @@ export default {
let { code, msg } = res.data; let { code, msg } = res.data;
if (code === 1) { if (code === 1) {
this.$message.success(msg); this.$message.success(msg);
} else { this.getMatterintermediaryList();
this.$message.error(msg);
} }
} }
}); });
...@@ -132,6 +150,18 @@ export default { ...@@ -132,6 +150,18 @@ export default {
resetForm() { resetForm() {
this.$refs.formData.resetFields(); this.$refs.formData.resetFields();
}, },
async chagneHave() {
if (!this.isHave && this.form.id) {
let res = await delMatterintermediary({ id: this.form.id });
let { code, msg } = res.data;
if (code === 1) {
this.$message.success(msg);
this.getMatterintermediaryList();
}
} else if (this.isHave) {
this.$refs.formData.resetFields();
}
},
}, },
}; };
</script> </script>
...@@ -145,11 +175,9 @@ export default { ...@@ -145,11 +175,9 @@ export default {
/deep/ .ant-form-item-control { /deep/ .ant-form-item-control {
margin-bottom: 10px; margin-bottom: 10px;
} }
/deep/.ant-col-8 { /deep/.ant-form-item {
width: 33.33333333% !important; display: flex;
} align-items: center;
/deep/.ant-input {
width: 100% !important;
} }
} }
</style> </style>
\ No newline at end of file
...@@ -796,10 +796,10 @@ ...@@ -796,10 +796,10 @@
</div> </div>
<div class="btn_box mb20"> <div class="btn_box mb20">
<a-button type="primary" class="mr" @click="handleOk" :loading="loading"> <a-button class="mr" @click="handleReset"> 重置 </a-button>
<a-button type="primary" @click="handleOk" :loading="loading">
确定 确定
</a-button> </a-button>
<a-button @click="handleReset"> 重置 </a-button>
</div> </div>
</div> </div>
</template> </template>
......
...@@ -27,6 +27,10 @@ ...@@ -27,6 +27,10 @@
<template slot="num" slot-scope="text, record, index"> <template slot="num" slot-scope="text, record, index">
{{ (current - 1) * size + index + 1 }} {{ (current - 1) * size + index + 1 }}
</template> </template>
<!-- 法规类型 -->
<template slot="policyType" slot-scope="text">
{{ filterType(text.policyType) }}
</template>
<!-- 查看详情 --> <!-- 查看详情 -->
<template slot="more" slot-scope="text"> <template slot="more" slot-scope="text">
<a class="look-more" @click="lookMore(text)">查看详情</a> <a class="look-more" @click="lookMore(text)">查看详情</a>
...@@ -75,7 +79,7 @@ const columns = [ ...@@ -75,7 +79,7 @@ const columns = [
}, },
{ {
title: "法规类型", title: "法规类型",
dataIndex: "policyType", scopedSlots: { customRender: "policyType" },
}, },
{ {
title: "条例", title: "条例",
...@@ -173,15 +177,39 @@ export default { ...@@ -173,15 +177,39 @@ export default {
}, },
// 删除 // 删除
async handleDel(val) { handleDel(id) {
let res = await delMattersetbase({ id: val }); let _this = this;
this.$confirm({
title: "系统提示",
content: "删除不可恢复,确定要删除吗?",
okText: "确定",
okType: "danger",
cancelText: "取消",
centered: true,
icon: "exclamation-circle",
maskClosable: true,
async onOk() {
let res = await delMattersetbase({ id });
let { code, msg } = res.data; let { code, msg } = res.data;
if (code === 1) { if (code === 1) {
this.$message.success(msg); _this.$message.success(msg);
this.getMattersetbaseData(); _this.getMattersetbaseData();
} else { }
this.$message.error(msg); },
onCancel() {
console.log("Cancel");
},
});
},
// 过滤法规类型
filterType(key) {
let val = "--";
Object.keys(this.dict.policyType).forEach((keys) => {
if (key == keys) {
val = this.dict.policyType[keys];
} }
});
return val;
}, },
}, },
}; };
......
...@@ -7,33 +7,37 @@ ...@@ -7,33 +7,37 @@
<!-- 表格 --> <!-- 表格 -->
<a-table <a-table
bordered bordered
:pagination="false" :loading="loading"
:pagination="{
showTotal: (total) => `共 ${total} 条`,
current: current,
total: total,
pageSize: size,
showSizeChanger: true,
showQuickJumper: true,
pageSizeOptions: pageSizeOptions,
onChange: handlechange,
onShowSizeChange: showSizeChange,
}"
:scroll="{ y: 550 }"
:columns="columns" :columns="columns"
:data-source="tableData" :data-source="tableData"
:rowKey="(record) => record.id"
> >
<template slot="num" slot-scope="text, record, index"> <template slot="num" slot-scope="text, record, index">
{{ index + 1 }} {{ (current - 1) * size + index + 1 }}
</template> </template>
<template slot="active" slot-scope="text"> <template slot="active" slot-scope="text">
<a-space size="middle">
<a class="look-more" @click="handleMore(text)">查看详情</a> <a class="look-more" @click="handleMore(text)">查看详情</a>
<a class="edit" @click="handleEdit(text)">编辑</a> <a class="edit" @click="handleEdit(text)">编辑</a>
<a-popconfirm <a class="delete" @click="handleDel(text.id)">删除</a>
title="删除不可恢复,确定要删除吗?" </a-space>
@confirm="handleDel(text.id)"
>
<a-icon slot="icon" type="question-circle-o" style="color: red" />
<a class="delete">删除</a>
</a-popconfirm>
</template> </template>
</a-table> </a-table>
</div> </div>
<!-- 分页 -->
<a-pagination
@change="handleChange"
v-model="current"
:total="total"
show-less-items
/>
<!-- 新增问题 --> <!-- 新增问题 -->
<a-modal v-model="visible" :title="title" @cancel="handleClose"> <a-modal v-model="visible" :title="title" @cancel="handleClose">
<template slot="footer"> <template slot="footer">
...@@ -41,27 +45,21 @@ ...@@ -41,27 +45,21 @@
<a-button @click="handleInit">重置</a-button> <a-button @click="handleInit">重置</a-button>
</template> </template>
<a-form-model :model="form" ref="formData" :rules="rules"> <a-form-model
<!-- <a-form-model-item label="所属事项" prop="matterId"> :model="form"
<a-select ref="formData"
allowClear :rules="rules"
@select="handleSelect" layout="vertical"
v-model="form.matterId"
placeholder="请选择所属事项"
>
<a-select-option
v-for="v in matterList"
:key="v.id"
:value="v.matterId"
>{{ v.matterName }}</a-select-option
> >
</a-select>
</a-form-model-item> -->
<a-form-model-item label="问题" prop="question"> <a-form-model-item label="问题" prop="question">
<a-textarea <a-textarea
v-model="form.question" v-model="form.question"
placeholder="请输入问题" placeholder="请输入问题"
allow-clear allow-clear
:auto-size="{
minRows: 4,
maxRows: 6,
}"
/> />
</a-form-model-item> </a-form-model-item>
<a-form-model-item label="答案" prop="answer"> <a-form-model-item label="答案" prop="answer">
...@@ -69,6 +67,10 @@ ...@@ -69,6 +67,10 @@
v-model="form.answer" v-model="form.answer"
placeholder="请输入答案" placeholder="请输入答案"
allow-clear allow-clear
:auto-size="{
minRows: 4,
maxRows: 6,
}"
/> />
</a-form-model-item> </a-form-model-item>
</a-form-model> </a-form-model>
...@@ -106,7 +108,7 @@ const columns = [ ...@@ -106,7 +108,7 @@ const columns = [
}, },
{ {
title: "操作", title: "操作",
width: "20%", width: "15%",
scopedSlots: { customRender: "active" }, scopedSlots: { customRender: "active" },
}, },
]; ];
...@@ -121,6 +123,8 @@ export default { ...@@ -121,6 +123,8 @@ export default {
data() { data() {
return { return {
columns, columns,
loading: false,
pageSizeOptions: ["10", "30", "50", "100"],
tableData: [], tableData: [],
siteId: "", siteId: "",
matterList: [], matterList: [],
...@@ -148,24 +152,12 @@ export default { ...@@ -148,24 +152,12 @@ export default {
}, },
created() { created() {
this.getMatterquestionData(); this.getMatterquestionData();
// this.getSiteMatterList();
}, },
methods: { methods: {
// 获取站点事项列表
// async getSiteMatterList() {
// this.siteId = this.$route.query.siteId;
// let res = await getSiteMatterList({ siteId: this.siteId });
// this.matterList = res.data.data.data;
// },
// // 事项下拉选择
// handleSelect(val, node) {
// let { text } = node.componentOptions.children[0];
// this.form.matterName = text;
// },
// 获取列表 // 获取列表
async getMatterquestionData() { async getMatterquestionData() {
if (!local.getLocal("matter")) return; if (!local.getLocal("matter")) return;
this.loading = true;
let res = await getMatterquestion({ let res = await getMatterquestion({
page: this.current, page: this.current,
size: this.size, size: this.size,
...@@ -173,14 +165,12 @@ export default { ...@@ -173,14 +165,12 @@ export default {
matterName: local.getLocal("matter").matterName, matterName: local.getLocal("matter").matterName,
}); });
let { data, total } = res.data.data; let { data, total } = res.data.data;
this.loading = false;
if (!data.length && this.current > 1) { if (!data.length && this.current > 1) {
this.current -= 1; this.current -= 1;
this.getMatterquestionData(); this.getMatterquestionData();
} }
this.total = total; this.total = total;
data.forEach((v) => {
v.key = v.id;
});
this.tableData = data; this.tableData = data;
}, },
// 新增 // 新增
...@@ -199,6 +189,12 @@ export default { ...@@ -199,6 +189,12 @@ export default {
this.current = num; this.current = num;
this.getMatterquestionData(); this.getMatterquestionData();
}, },
// 改变每页显示数量
showSizeChange(cur, size) {
this.current = cur;
this.size = size;
this.getMatterquestionData();
},
// 保存新增 // 保存新增
handleOk() { handleOk() {
if (!local.getLocal("matter")) return; if (!local.getLocal("matter")) return;
...@@ -215,8 +211,6 @@ export default { ...@@ -215,8 +211,6 @@ export default {
this.$message.success(msg); this.$message.success(msg);
this.$refs.formData.resetFields(); this.$refs.formData.resetFields();
this.getMatterquestionData(); this.getMatterquestionData();
} else {
this.$message.error(msg);
} }
} }
}); });
...@@ -231,16 +225,30 @@ export default { ...@@ -231,16 +225,30 @@ export default {
this.$refs.formData.resetFields(); this.$refs.formData.resetFields();
}, },
// 删除 // 删除
async handleDel(val) { async handleDel(id) {
let res = await delMatterquestion({ id: val }); let _this = this;
this.$confirm({
title: "系统提示",
content: "删除不可恢复,确定要删除吗?",
okText: "确定",
okType: "danger",
cancelText: "取消",
centered: true,
icon: "exclamation-circle",
maskClosable: true,
async onOk() {
let res = await delMatterquestion({ id });
let { code, msg } = res.data; let { code, msg } = res.data;
if (code === 1) { if (code === 1) {
this.$message.success(msg); _this.$message.success(msg);
this.getMatterquestionData(); _this.getMatterquestionData();
} else {
this.$message.error(msg);
} }
}, },
onCancel() {
console.log("Cancel");
},
});
},
// 查看详情 // 查看详情
handleMore(data) { handleMore(data) {
this.details = data; this.details = data;
...@@ -273,19 +281,11 @@ export default { ...@@ -273,19 +281,11 @@ export default {
margin: 10px 0; margin: 10px 0;
} }
} }
/deep/.ant-modal-body {
.ant-input {
height: 200px;
width: 100% !important;
}
}
.table-content {
height: 620px;
}
.answer { .answer {
color: #05b2fe; color: #05b2fe;
} }
/deep/.ant-form-item-label { /deep/.ant-form-item {
width: auto !important; display: block !important;
} }
</style> </style>
\ No newline at end of file
...@@ -32,18 +32,18 @@ ...@@ -32,18 +32,18 @@
<a-form-model-item> <a-form-model-item>
<a-button <a-button
:disabled="isRates" :disabled="isRates"
@click="handleReset"
style="margin-left: 90px" style="margin-left: 90px"
type="primary"
@click="onSubmit"
> >
确定 重置
</a-button> </a-button>
<a-button <a-button
:disabled="isRates" :disabled="isRates"
@click="handleReset"
style="margin-left: 20px" style="margin-left: 20px"
type="primary"
@click="onSubmit"
> >
重置 确定
</a-button> </a-button>
</a-form-model-item> </a-form-model-item>
</a-form-model> </a-form-model>
...@@ -92,6 +92,7 @@ export default { ...@@ -92,6 +92,7 @@ export default {
this.isRates = false; this.isRates = false;
} else { } else {
Object.assign(this.formData, this.$options.data().formData); Object.assign(this.formData, this.$options.data().formData);
this.formData.id && this.$delete(this.formData, "id");
this.isRates = true; this.isRates = true;
} }
}, },
......
...@@ -109,8 +109,8 @@ ...@@ -109,8 +109,8 @@
@cancel="handleClose" @cancel="handleClose"
> >
<template slot="footer"> <template slot="footer">
<a-button type="primary" @click="handleOk">确定</a-button>
<a-button @click="handleReset">重置</a-button> <a-button @click="handleReset">重置</a-button>
<a-button type="primary" @click="handleOk">确定</a-button>
</template> </template>
<a-form-model <a-form-model
ref="ruleForm" ref="ruleForm"
......
...@@ -159,6 +159,11 @@ ...@@ -159,6 +159,11 @@
</div> </div>
<div class="btn-box"> <div class="btn-box">
<a-space> <a-space>
<a-button
:disabled="!formData.skinFieldList.length"
@click="resetForm"
>重置</a-button
>
<a-button <a-button
:disabled="!formData.skinFieldList.length" :disabled="!formData.skinFieldList.length"
type="primary" type="primary"
...@@ -166,11 +171,6 @@ ...@@ -166,11 +171,6 @@
@click="getPrintScreen" @click="getPrintScreen"
>保存</a-button >保存</a-button
> >
<a-button
:disabled="!formData.skinFieldList.length"
@click="resetForm"
>重置</a-button
>
</a-space> </a-space>
</div> </div>
</div> </div>
......
...@@ -5,7 +5,6 @@ ...@@ -5,7 +5,6 @@
title="编辑工作人员" title="编辑工作人员"
ok-text="确认" ok-text="确认"
cancel-text="取消" cancel-text="取消"
@ok="hideModal"
width="820px" width="820px"
:maskClosable="false" :maskClosable="false"
> >
...@@ -38,6 +37,23 @@ ...@@ -38,6 +37,23 @@
<a-col :span="12"> <a-col :span="12">
<a-form-model-item label="所属部门" prop="deptId"> <a-form-model-item label="所属部门" prop="deptId">
<a-select <a-select
showSearch
v-model="form.deptId"
optionFilterProp="label"
placeholder="请选择部门"
@change="handleDeptSelect"
allowClear
>
<a-select-option
v-for="v in diptData"
:key="v.id"
:value="v.id"
:label="v.name"
>
{{ v.name }}</a-select-option
>
</a-select>
<!-- <a-select
v-model="form.deptId" v-model="form.deptId"
@change="handleDeptSelect" @change="handleDeptSelect"
placeholder="请选择部门" placeholder="请选择部门"
...@@ -48,11 +64,11 @@ ...@@ -48,11 +64,11 @@
:value="v.id" :value="v.id"
>{{ v.name }}</a-select-option >{{ v.name }}</a-select-option
> >
</a-select> </a-select> -->
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-model-item label="星级"> <a-form-model-item label="星级" prop="starlevel">
<a-select v-model="form.starlevel" placeholder="请选择星级"> <a-select v-model="form.starlevel" placeholder="请选择星级">
<a-select-option :value="5">5星</a-select-option> <a-select-option :value="5">5星</a-select-option>
<a-select-option :value="4">4星</a-select-option> <a-select-option :value="4">4星</a-select-option>
...@@ -93,7 +109,7 @@ ...@@ -93,7 +109,7 @@
</a-row> </a-row>
<a-row> <a-row>
<a-col :span="12"> <a-col :span="12">
<a-form-model-item label="政治面貌"> <a-form-model-item label="政治面貌" prop="politicalstatus">
<a-select <a-select
allowClear allowClear
v-model="form.politicalstatus" v-model="form.politicalstatus"
...@@ -109,7 +125,7 @@ ...@@ -109,7 +125,7 @@
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-model-item label="称号"> <a-form-model-item label="称号" prop="dangyuan">
<a-select <a-select
allowClear allowClear
v-model="form.dangyuan" v-model="form.dangyuan"
...@@ -158,11 +174,12 @@ ...@@ -158,11 +174,12 @@
:label-col="{ span: 3 }" :label-col="{ span: 3 }"
:wrapper-col="{ span: 19 }" :wrapper-col="{ span: 19 }"
label="个人简介" label="个人简介"
prop="summary"
> >
<a-input <a-textarea
v-model="form.summary"
placeholder="请输入个人简介" placeholder="请输入个人简介"
type="textarea" allow-clear
v-model="form.summary"
/> />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
...@@ -173,6 +190,7 @@ ...@@ -173,6 +190,7 @@
:label-col="{ span: 4 }" :label-col="{ span: 4 }"
:wrapper-col="{ span: 19 }" :wrapper-col="{ span: 19 }"
label="个人照片" label="个人照片"
prop="photoPath"
> >
<div class="person_image"> <div class="person_image">
<a-upload <a-upload
...@@ -180,9 +198,10 @@ ...@@ -180,9 +198,10 @@
list-type="picture-card" list-type="picture-card"
class="avatar-uploader" class="avatar-uploader"
:show-upload-list="false" :show-upload-list="false"
:customRequest="uploadImg"
:before-upload="beforeUpload" :before-upload="beforeUpload"
:action="api + 'base/file/commonupload'"
:accept="accept" :accept="accept"
@change="handleChange"
> >
<img <img
v-if="form.photoPath" v-if="form.photoPath"
...@@ -245,8 +264,13 @@ ...@@ -245,8 +264,13 @@
:label-col="{ span: 3 }" :label-col="{ span: 3 }"
:wrapper-col="{ span: 19 }" :wrapper-col="{ span: 19 }"
label="办理事项" label="办理事项"
prop="business"
> >
<a-input v-model="form.business" type="textarea" /> <a-textarea
placeholder="请输入办理事项"
allow-clear
v-model="form.business"
/>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
...@@ -256,8 +280,13 @@ ...@@ -256,8 +280,13 @@
:label-col="{ span: 3 }" :label-col="{ span: 3 }"
:wrapper-col="{ span: 19 }" :wrapper-col="{ span: 19 }"
label="岗位职责" label="岗位职责"
prop="duty"
> >
<a-input v-model="form.duty" type="textarea" /> <a-textarea
placeholder="请输入岗位职责"
allow-clear
v-model="form.duty"
/>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
...@@ -267,19 +296,29 @@ ...@@ -267,19 +296,29 @@
:label-col="{ span: 3 }" :label-col="{ span: 3 }"
:wrapper-col="{ span: 19 }" :wrapper-col="{ span: 19 }"
label="服务承诺" label="服务承诺"
prop="promise"
> >
<a-input v-model="form.promise" type="textarea" /> <a-textarea
placeholder="请输入服务承诺"
allow-clear
v-model="form.promise"
/>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
</a-form-model> </a-form-model>
<!-- 按钮 -->
<div slot="footer">
<a-button @click="handleReset">重置</a-button>
<a-button type="primary" @click="hideModal">确定</a-button>
</div>
</a-modal> </a-modal>
</template> </template>
<script> <script>
import { getWindowList, saveWorkman, uploadFile } from "@/services/dept"; import { getWindowList, saveWorkman } from "@/services/dept";
import { modelList } from "@/services/basicsetFun"; import { modelList } from "@/services/basicsetFun";
import { changePhone, changeLandline } from "@/utils/validate"; // import { changePhone, changeLandline } from "@/utils/validate";
export default { export default {
props: { props: {
editVisible: { editVisible: {
...@@ -374,10 +413,10 @@ export default { ...@@ -374,10 +413,10 @@ export default {
// windowId: [ // windowId: [
// { required: true, message: "窗口不能为空", trigger: "change" }, // { required: true, message: "窗口不能为空", trigger: "change" },
// ], // ],
mobile: [{ required: false, validator: changePhone, trigger: "blur" }], // mobile: [{ required: false, validator: changePhone, trigger: "blur" }],
phone: [ // phone: [
{ required: false, validator: changeLandline, trigger: "blur" }, // { required: false, validator: changeLandline, trigger: "blur" },
], // ],
idCard: [{ required: false, validator: checkIdCard, trigger: "blur" }], idCard: [{ required: false, validator: checkIdCard, trigger: "blur" }],
}, },
windowData: [], // 部门窗口信息 windowData: [], // 部门窗口信息
...@@ -435,10 +474,8 @@ export default { ...@@ -435,10 +474,8 @@ export default {
let { code, msg } = res.data; let { code, msg } = res.data;
if (code === 1) { if (code === 1) {
this.$message.success(msg); this.$message.success(msg);
this.$parent.getWorkmanData(); this.$emit("editSuccess");
this.handleClose(); this.handleClose();
} else {
this.$message.error(msg);
} }
} }
}); });
...@@ -453,17 +490,18 @@ export default { ...@@ -453,17 +490,18 @@ export default {
// 关闭对话框 // 关闭对话框
handleClose() { handleClose() {
this.$refs.formData.resetFields(); this.$refs.formData.resetFields();
this.loading = false;
this.Visible = false; this.Visible = false;
}, },
// 重置
handleReset() {
this.$refs.formData.resetFields();
},
// 照片上传 // 照片上传
async uploadImg(info) { handleChange({ file }) {
this.loading = true; this.loading = true;
const formData = new FormData(); if (file.status == "done") {
formData.append("file", info.file); this.form.photoPath = file.response.url;
let res = await uploadFile(formData);
let { code, url } = res.data;
if (code === 1) {
this.form.photoPath = url;
this.loading = false; this.loading = false;
} }
}, },
......
...@@ -4,8 +4,7 @@ ...@@ -4,8 +4,7 @@
@cancel="handleClose" @cancel="handleClose"
title="新增工作人员" title="新增工作人员"
ok-text="确认" ok-text="确认"
cancel-text="取消" cancel-text="重置"
@ok="hideModal"
width="820px" width="820px"
:maskClosable="false" :maskClosable="false"
> >
...@@ -38,6 +37,24 @@ ...@@ -38,6 +37,24 @@
<a-col :span="12"> <a-col :span="12">
<a-form-model-item label="所属部门" prop="deptId"> <a-form-model-item label="所属部门" prop="deptId">
<a-select <a-select
showSearch
v-model="form.deptId"
optionFilterProp="label"
placeholder="请选择部门"
@change="handleDeptSelect"
allowClear
>
<a-select-option
v-for="v in diptData"
:key="v.id"
:value="v.id"
:label="v.name"
>
{{ v.name }}</a-select-option
>
</a-select>
<!-- <a-select
v-model="form.deptId" v-model="form.deptId"
@change="handleDeptSelect" @change="handleDeptSelect"
allowClear allowClear
...@@ -49,11 +66,11 @@ ...@@ -49,11 +66,11 @@
:value="v.id" :value="v.id"
>{{ v.name }}</a-select-option >{{ v.name }}</a-select-option
> >
</a-select> </a-select> -->
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-model-item label="星级"> <a-form-model-item label="星级" prop="starlevel">
<a-select <a-select
allowClear allowClear
v-model="form.starlevel" v-model="form.starlevel"
...@@ -98,7 +115,7 @@ ...@@ -98,7 +115,7 @@
</a-row> </a-row>
<a-row> <a-row>
<a-col :span="12"> <a-col :span="12">
<a-form-model-item label="政治面貌"> <a-form-model-item label="政治面貌" prop="politicalstatus">
<a-select <a-select
allowClear allowClear
v-model="form.politicalstatus" v-model="form.politicalstatus"
...@@ -114,7 +131,7 @@ ...@@ -114,7 +131,7 @@
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-model-item label="称号"> <a-form-model-item label="称号" prop="dangyuan">
<a-select <a-select
allowClear allowClear
v-model="form.dangyuan" v-model="form.dangyuan"
...@@ -163,11 +180,12 @@ ...@@ -163,11 +180,12 @@
:label-col="{ span: 3 }" :label-col="{ span: 3 }"
:wrapper-col="{ span: 19 }" :wrapper-col="{ span: 19 }"
label="个人简介" label="个人简介"
prop="summary"
> >
<a-input <a-textarea
v-model="form.summary"
placeholder="请输入个人简介" placeholder="请输入个人简介"
type="textarea" allow-clear
v-model="form.summary"
/> />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
...@@ -178,6 +196,7 @@ ...@@ -178,6 +196,7 @@
:label-col="{ span: 4 }" :label-col="{ span: 4 }"
:wrapper-col="{ span: 19 }" :wrapper-col="{ span: 19 }"
label="个人照片" label="个人照片"
prop="photoPath"
> >
<div class="person_image"> <div class="person_image">
<a-upload <a-upload
...@@ -185,9 +204,11 @@ ...@@ -185,9 +204,11 @@
list-type="picture-card" list-type="picture-card"
class="avatar-uploader" class="avatar-uploader"
:show-upload-list="false" :show-upload-list="false"
:customRequest="uploadImg"
:before-upload="beforeUpload" :before-upload="beforeUpload"
:action="api + 'base/file/commonupload'"
:accept="accept" :accept="accept"
@change="handleChange"
:remove="handleRemove"
> >
<img <img
v-if="form.photoPath" v-if="form.photoPath"
...@@ -293,11 +314,12 @@ ...@@ -293,11 +314,12 @@
:label-col="{ span: 3 }" :label-col="{ span: 3 }"
:wrapper-col="{ span: 19 }" :wrapper-col="{ span: 19 }"
label="办理事项" label="办理事项"
prop="business"
> >
<a-input <a-textarea
v-model="form.business"
placeholder="请输入办理事项" placeholder="请输入办理事项"
type="textarea" allow-clear
v-model="form.business"
/> />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
...@@ -308,11 +330,12 @@ ...@@ -308,11 +330,12 @@
:label-col="{ span: 3 }" :label-col="{ span: 3 }"
:wrapper-col="{ span: 19 }" :wrapper-col="{ span: 19 }"
label="岗位职责" label="岗位职责"
prop="duty"
> >
<a-input <a-textarea
v-model="form.duty"
placeholder="请输入岗位职责" placeholder="请输入岗位职责"
type="textarea" allow-clear
v-model="form.duty"
/> />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
...@@ -323,24 +346,30 @@ ...@@ -323,24 +346,30 @@
:label-col="{ span: 3 }" :label-col="{ span: 3 }"
:wrapper-col="{ span: 19 }" :wrapper-col="{ span: 19 }"
label="服务承诺" label="服务承诺"
prop="promise"
> >
<a-input <a-textarea
v-model="form.promise"
placeholder="请输入服务承诺" placeholder="请输入服务承诺"
type="textarea" allow-clear
v-model="form.promise"
/> />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
</a-form-model> </a-form-model>
<!-- 按钮 -->
<div slot="footer">
<a-button @click="handleReset">重置</a-button>
<a-button type="primary" @click="hideModal">确定</a-button>
</div>
</a-modal> </a-modal>
</template> </template>
<script> <script>
import { changeAccount, changePassWord } from "@/utils/validate"; import { changeAccount, changePassWord } from "@/utils/validate";
import { getWindowList, saveWorkman, uploadFile } from "@/services/dept"; import { getWindowList, saveWorkman } from "@/services/dept";
import { modelList } from "@/services/basicsetFun"; import { modelList } from "@/services/basicsetFun";
import { changePhone, changeLandline } from "@/utils/validate"; // import { changePhone, changeLandline } from "@/utils/validate";
import local from "@/utils/local"; import local from "@/utils/local";
export default { export default {
props: { props: {
...@@ -444,10 +473,10 @@ export default { ...@@ -444,10 +473,10 @@ export default {
loginPwd: [ loginPwd: [
{ required: true, validator: changePassWord, trigger: "blur" }, { required: true, validator: changePassWord, trigger: "blur" },
], ],
mobile: [{ required: false, validator: changePhone, trigger: "blur" }], // mobile: [{ required: false, validator: changePhone, trigger: "blur" }],
phone: [ // phone: [
{ required: false, validator: changeLandline, trigger: "blur" }, // { required: false, validator: changeLandline, trigger: "blur" },
], // ],
idCard: [{ required: false, validator: checkIdCard, trigger: "blur" }], idCard: [{ required: false, validator: checkIdCard, trigger: "blur" }],
}, },
windowData: [], // 部门窗口信息 windowData: [], // 部门窗口信息
...@@ -502,15 +531,16 @@ export default { ...@@ -502,15 +531,16 @@ export default {
let { code, msg } = res.data; let { code, msg } = res.data;
if (code === 1) { if (code === 1) {
this.$message.success(msg); this.$message.success(msg);
this.$parent.getWorkmanData(); this.$emit("addSuccess");
this.handleClose(); this.handleClose();
} else {
this.$message.error(msg);
} }
} }
}); });
}, },
// 重置
handleReset() {
this.$refs.formData.resetFields();
},
// 新增 // 新增
onAdd() { onAdd() {
Object.assign(this.form, this.$options.data().form); Object.assign(this.form, this.$options.data().form);
...@@ -524,21 +554,30 @@ export default { ...@@ -524,21 +554,30 @@ export default {
}, },
// 关闭对话框 // 关闭对话框
handleClose() { handleClose() {
this.Visible = false;
this.$refs.formData.resetFields(); this.$refs.formData.resetFields();
this.loading = false;
this.Visible = false;
}, },
// 照片上传 // 照片上传
async uploadImg(info) { handleChange({ file }) {
this.loading = true; this.loading = true;
const formData = new FormData(); if (file.status == "done") {
formData.append("file", info.file); this.form.photoPath = file.response.url;
let res = await uploadFile(formData);
let { code, url } = res.data;
if (code === 1) {
this.form.photoPath = url;
this.loading = false; this.loading = false;
} }
}, },
handleRemove() {},
// async uploadImg(info) {
// this.loading = true;
// const formData = new FormData();
// formData.append("file", info.file);
// let res = await uploadFile(formData);
// let { code, url } = res.data;
// if (code === 1) {
// this.form.photoPath = url;
// this.loading = false;
// }
// },
// 照片大小格式限制 // 照片大小格式限制
beforeUpload(file) { beforeUpload(file) {
const isJpgOrPng = const isJpgOrPng =
......
...@@ -265,6 +265,7 @@ ...@@ -265,6 +265,7 @@
:visibleAll.sync="visibleAll" :visibleAll.sync="visibleAll"
:designationDict="designationDict" :designationDict="designationDict"
:politicalDict="politicalDict" :politicalDict="politicalDict"
@addSuccess="getWorkmanData"
></addpersonnel> ></addpersonnel>
<!-- 编辑工作人员 --> <!-- 编辑工作人员 -->
<EditPersonel <EditPersonel
...@@ -273,6 +274,7 @@ ...@@ -273,6 +274,7 @@
:designationDict="designationDict" :designationDict="designationDict"
:politicalDict="politicalDict" :politicalDict="politicalDict"
:diptData="deptData" :diptData="deptData"
@editSuccess="getWorkmanData"
></EditPersonel> ></EditPersonel>
<!-- 修改密码 --> <!-- 修改密码 -->
<EditPwd ref="EditPwd" :visibleEditPwd.sync="visibleEditPwd"></EditPwd> <EditPwd ref="EditPwd" :visibleEditPwd.sync="visibleEditPwd"></EditPwd>
...@@ -537,10 +539,6 @@ export default { ...@@ -537,10 +539,6 @@ export default {
this.size = size; this.size = size;
this.getWorkmanData(); this.getWorkmanData();
}, },
// 导入
// handleUpload() {
// this.importFile();
// },
// 批量导入工作人员模板下载 // 批量导入工作人员模板下载
async handleDownload() { async handleDownload() {
...@@ -558,46 +556,6 @@ export default { ...@@ -558,46 +556,6 @@ export default {
document.body.appendChild(link); document.body.appendChild(link);
}, },
//导入文件
// importFile() {
// let that = this;
// let input = document.createElement("input");
// input.setAttribute("type", "file");
// input.setAttribute(
// "accept",
// "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel"
// );
// input.style.display = "none";
// input.addEventListener("change", () => {
// if (input.files && input.files.length > 0) {
// that.uploadFile(input.files[0]);
// }
// });
// document.body.appendChild(input);
// input.click();
// document.body.removeChild(input);
// },
//上传文件
// async uploadFile(file) {
// let formData = new FormData();
// formData.append("file", file);
// formData.append("siteId", this.siteId);
// formData.append("deptId", this.deptSearch);
// formData.append("windowId", this.windowSearch);
// let config = {
// headers: {
// "Content-Type": "multipart/form-data",
// },
// };
// let res = await importData(formData, config);
// let { code, msg } = res.data;
// if (code === 1) {
// this.$message.success(msg);
// this.page = 1;
// this.getWorkmanData();
// }
// },
// 批量上传工作人员 // 批量上传工作人员
handleChange({ file }) { handleChange({ file }) {
this.spinning = true; this.spinning = true;
...@@ -613,32 +571,6 @@ export default { ...@@ -613,32 +571,6 @@ export default {
} }
}, },
// 批量导入照片 // 批量导入照片
// handleUploadImg() {
// let input = document.createElement("input");
// input.setAttribute("type", "file");
// input.setAttribute("accept", "application/x-zip-compressed");
// input.style.display = "none";
// input.addEventListener("change", async () => {
// if (input.files && input.files.length > 0) {
// let file = input.files[0];
// let formData = new FormData();
// formData.append("file", file);
// let res = await uploadFile(formData);
// if (res.data.code == 1) {
// let result = await uploadAllImg({
// filePath: res.data.url,
// });
// if (result.data.code === 1) {
// this.$message.success(result.data.msg);
// }
// }
// }
// });
// document.body.appendChild(input);
// input.click();
// document.body.removeChild(input);
// },
// 批量导入照片
async handleChangeImg({ file }) { async handleChangeImg({ file }) {
this.spinning = true; this.spinning = true;
if (file.status === "done") { if (file.status === "done") {
......
...@@ -137,6 +137,14 @@ export async function delMattersetbase(data) { ...@@ -137,6 +137,14 @@ export async function delMattersetbase(data) {
export async function addMatterintermediary(data) { export async function addMatterintermediary(data) {
return request(matterintermediary.save, METHOD.POST, data); return request(matterintermediary.save, METHOD.POST, data);
} }
// 中介服务列表
export async function getMatterintermediaryList(data) {
return request(matterintermediary.list, METHOD.POST, data);
}
// 删除
export async function delMatterintermediary(data) {
return request(matterintermediary.delete, METHOD.GET, data);
}
/** /**
* 办理流程 * 办理流程
......
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