Commit f0ce4dca authored by 赵啸非's avatar 赵啸非

Merge remote-tracking branch 'origin/master'

parents 6e760759 c228969d
...@@ -4,43 +4,47 @@ ...@@ -4,43 +4,47 @@
<a-button type="primary" @click="showAddModal">新增依据</a-button> <a-button type="primary" @click="showAddModal">新增依据</a-button>
</div> </div>
<div class="table-content"> <div class="table-content">
<!-- 表格 -->
<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="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>
</template> </template>
<template slot="active" slot-scope="text"> <template slot="active" slot-scope="text">
<a class="edit" @click="handleEdit(text)">编辑</a> <a-space size="middle">
<a-popconfirm <a class="edit" @click="handleEdit(text)">编辑</a>
title="删除不可恢复,确定要删除吗?" <a class="delete" @click="handleDel(text.id)">删除</a>
@confirm="handleDel(text.id)" </a-space>
>
<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
/>
<!-- 新增依据 --> <!-- 新增依据 -->
<add-pursuant <add-pursuant
ref="addPursuant" ref="addPursuant"
:title="title" :title="title"
:addVisible.sync="addVisible" :addVisible.sync="addVisible"
:dict="dict"
@addSuccess="getMattersetbaseData"
></add-pursuant> ></add-pursuant>
<!-- 查看详情 --> <!-- 查看详情 -->
<a-modal v-model="visible" title="依据详情"> <a-modal v-model="visible" title="依据详情">
...@@ -92,6 +96,8 @@ export default { ...@@ -92,6 +96,8 @@ export default {
}, },
data() { data() {
return { return {
loading: false,
pageSizeOptions: ["10", "30", "50", "100"],
columns, columns,
tableData: [], tableData: [],
current: 1, current: 1,
...@@ -101,6 +107,7 @@ export default { ...@@ -101,6 +107,7 @@ export default {
visible: false, visible: false,
details: "", details: "",
total: 0, total: 0,
dict: {}, // 字典
}; };
}, },
created() { created() {
...@@ -110,22 +117,21 @@ export default { ...@@ -110,22 +117,21 @@ export default {
// 获取依据列表 // 获取依据列表
async getMattersetbaseData() { async getMattersetbaseData() {
if (!local.getLocal("matter")) return; if (!local.getLocal("matter")) return;
this.loading = true;
let res = await getMattersetbase({ let res = await getMattersetbase({
page: this.current, page: this.current,
size: this.size, size: this.size,
matterId: local.getLocal("matter").id, matterId: local.getLocal("matter").id,
matterName: local.getLocal("matter").matterName, matterName: local.getLocal("matter").matterName,
}); });
let { total, data } = res.data.data; this.loading = false;
let { total, data, dict } = res.data.data;
if (!data.length && this.current > 1) { if (!data.length && this.current > 1) {
this.current -= 1; this.current -= 1;
this.getMattersetbaseData(); this.getMattersetbaseData();
} }
this.total = total; this.total = total;
data.forEach((v) => { this.dict = dict;
v.key = v.id;
});
this.tableData = data; this.tableData = data;
}, },
// 新增 // 新增
...@@ -139,10 +145,16 @@ export default { ...@@ -139,10 +145,16 @@ export default {
this.$refs.addPursuant.onAdd(); this.$refs.addPursuant.onAdd();
}, },
// 分页 // 分页
handleChange(num) { handlechange(num) {
this.current = num; this.current = num;
this.getMattersetbaseData(); this.getMattersetbaseData();
}, },
// 改变每页显示数量
showSizeChange(cur, size) {
this.current = cur;
this.size = size;
this.getMattersetbaseData();
},
// 查看详情 // 查看详情
lookMore(data) { lookMore(data) {
this.visible = true; this.visible = true;
...@@ -192,11 +204,5 @@ export default { ...@@ -192,11 +204,5 @@ export default {
} }
/deep/.ant-modal-body { /deep/.ant-modal-body {
height: 400px; height: 400px;
.ant-input {
height: 300px;
}
}
.table-content {
height: 650px;
} }
</style> </style>
\ No newline at end of file
...@@ -10,33 +10,13 @@ ...@@ -10,33 +10,13 @@
<a-row :gutter="[8, 20]" type="flex" justify="start"> <a-row :gutter="[8, 20]" type="flex" justify="start">
<a-col :span="24"> <a-col :span="24">
<a-form-model-item label="是否收费"> <a-form-model-item label="是否收费">
<a-radio-group v-model="isRates"> <a-radio-group v-model="isRates" @change="chagneRates">
<a-radio :value="false"></a-radio> <a-radio :value="false"></a-radio>
<a-radio :value="true"></a-radio> <a-radio :value="true"></a-radio>
</a-radio-group> </a-radio-group>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
<!-- <a-row :gutter="[8, 20]" type="flex" justify="start">
<a-col :span="24">
<a-form-model-item label="所属事项" prop="matterId">
<a-select
:disabled="isRates"
allowClear
@select="handleSelect"
v-model="formData.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-col>
</a-row> -->
<a-row :gutter="[8, 20]" type="flex" justify="start"> <a-row :gutter="[8, 20]" type="flex" justify="start">
<a-col :span="24"> <a-col :span="24">
<a-form-model-item label="费用(元)" prop="content"> <a-form-model-item label="费用(元)" prop="content">
...@@ -71,17 +51,19 @@ ...@@ -71,17 +51,19 @@
</template> </template>
<script> <script>
import { addMattercharges } from "@/services/matter"; import {
addMattercharges,
getMattercharges,
delMattercharges,
} from "@/services/matter";
import local from "@/utils/local"; import local from "@/utils/local";
export default { export default {
data() { data() {
return { return {
isRates: true, isRates: false,
siteId: "", siteId: "",
matterList: [], matterList: [],
formData: { formData: {
matterId: undefined, // 事项id
matterName: "", // 事项名称
content: "", // 收费标准 content: "", // 收费标准
source: 1, // 事项来源(0.政务网,1.自定义) source: 1, // 事项来源(0.政务网,1.自定义)
}, },
...@@ -89,27 +71,31 @@ export default { ...@@ -89,27 +71,31 @@ export default {
content: [ content: [
{ required: true, message: "费用不能为空", trigger: "change" }, { required: true, message: "费用不能为空", trigger: "change" },
], ],
matterId: [
{ required: true, message: "所属事项不能为空", trigger: "change" },
],
}, },
}; };
}, },
created() { created() {
// this.getSiteMatterList(); this.getMattercharges();
}, },
methods: { methods: {
// 获取站点事项列表 // 获取收费列表
// async getSiteMatterList() { async getMattercharges() {
// this.siteId = this.$route.query.siteId; if (!local.getLocal("matter")) return;
// let res = await getSiteMatterList({ siteId: this.siteId }); let res = await getMattercharges({
// this.matterList = res.data.data.data; page: 1,
// }, size: -1,
// // 事项下拉选择 matterId: local.getLocal("matter").id,
// handleSelect(val, node) { matterName: local.getLocal("matter").matterName,
// let { text } = node.componentOptions.children[0]; });
// this.formData.matterName = text; if (res.data.code === 1 && res.data.data.data.length) {
// }, this.formData = res.data.data.data[0];
this.isRates = false;
} else {
Object.assign(this.formData, this.$options.data().formData);
this.isRates = true;
}
},
// 获取收费标准
onSubmit() { onSubmit() {
if (local.getLocal("matter")) { if (local.getLocal("matter")) {
this.$refs.formData.validate(async (valid) => { this.$refs.formData.validate(async (valid) => {
...@@ -122,9 +108,7 @@ export default { ...@@ -122,9 +108,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);
this.isRates = true; this.getMattercharges();
} else {
this.$message.error(msg);
} }
} }
}); });
...@@ -132,6 +116,18 @@ export default { ...@@ -132,6 +116,18 @@ export default {
this.$message.warning("请先新增基本信息"); this.$message.warning("请先新增基本信息");
} }
}, },
async chagneRates() {
if (this.isRates && this.formData.id) {
let res = await delMattercharges({ id: this.formData.id });
let { code, msg } = res.data;
if (code === 1) {
this.$message.success(msg);
this.getMattercharges();
}
} else if (this.isRates) {
this.$refs.formData.resetFields();
}
},
handleReset() { handleReset() {
this.$refs.formData.resetFields(); this.$refs.formData.resetFields();
}, },
......
...@@ -7,12 +7,12 @@ ...@@ -7,12 +7,12 @@
@ok="handleOk" @ok="handleOk"
> >
<template slot="footer"> <template slot="footer">
<a-button @click="handleOk" type="primary">保存</a-button>
<a-button @click="handleInit">重置</a-button> <a-button @click="handleInit">重置</a-button>
<a-button @click="handleOk" type="primary">保存</a-button>
</template> </template>
<a-form-model <a-form-model
:label-col="{ span: 4 }" :label-col="{ span: 4 }"
:wrapper-col="{ span: 17 }" :wrapper-col="{ span: 20 }"
ref="ruleForm" ref="ruleForm"
:rules="rules" :rules="rules"
:model="form" :model="form"
...@@ -22,7 +22,11 @@ ...@@ -22,7 +22,11 @@
</a-form-model-item> </a-form-model-item>
<a-form-model-item label="法规类型" prop="policyType"> <a-form-model-item label="法规类型" prop="policyType">
<a-select v-model="form.policyType" placeholder="请选择法规类型"> <a-select v-model="form.policyType" placeholder="请选择法规类型">
<a-select-option v-for="v in policyTypeItem" :key="v" :value="v"> <a-select-option
v-for="(v, key) in dict.policyType"
:key="v"
:value="key"
>
{{ v }} {{ v }}
</a-select-option> </a-select-option>
</a-select> </a-select>
...@@ -34,7 +38,7 @@ ...@@ -34,7 +38,7 @@
<a-textarea <a-textarea
v-model="form.content" v-model="form.content"
placeholder="请输入条款内容" placeholder="请输入条款内容"
:autosize="{ minRows: 4 }" :auto-size="{ minRows: 4, maxRows: 6 }"
allow-clear allow-clear
/> />
</a-form-model-item> </a-form-model-item>
...@@ -46,30 +50,29 @@ ...@@ -46,30 +50,29 @@
<script> <script>
import { addMattersetbase } from "@/services/matter"; import { addMattersetbase } from "@/services/matter";
import local from "@/utils/local"; import local from "@/utils/local";
const policyTypeItem = [
"法律",
"行政",
"地方法规",
"部门规章",
"其他",
"政府规章",
"规范性文件",
];
export default { export default {
props: { props: {
title: { title: {
required: true,
type: String, type: String,
default: "",
}, },
addVisible: { addVisible: {
required: true,
type: Boolean, type: Boolean,
default: false, default: false,
}, },
dict: {
required: true,
type: Object,
default: () => {
return {};
},
},
}, },
data() { data() {
return { return {
policyTypeItem,
matterList: [], matterList: [],
siteId: "",
form: { form: {
matterId: undefined, matterId: undefined,
matterName: "", matterName: "",
...@@ -123,19 +126,6 @@ export default { ...@@ -123,19 +126,6 @@ export default {
}, },
}, },
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;
// },
// 保存 // 保存
handleOk() { handleOk() {
if (!local.getLocal("matter")) return; if (!local.getLocal("matter")) return;
...@@ -150,8 +140,8 @@ export default { ...@@ -150,8 +140,8 @@ export default {
if (code === 1) { if (code === 1) {
this.$message.success(msg); this.$message.success(msg);
this.Visible = false; this.Visible = false;
this.$parent.getMattersetbaseData();
this.$refs.ruleForm.resetFields(); this.$refs.ruleForm.resetFields();
this.$emit("addSuccess");
} }
} }
}); });
......
...@@ -46,10 +46,7 @@ ...@@ -46,10 +46,7 @@
<a-row> <a-row>
<a-col :span="12"> <a-col :span="12">
<a-form-model-item label="联系电话" prop="deptTelphone"> <a-form-model-item label="联系电话" prop="deptTelphone">
<a-input <a-input v-model="form.deptTelphone" placeholder="请输入联系电话" />
v-model="form.deptTelphone"
placeholder="请输入座机电话:区号-电话号码"
/>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
...@@ -106,16 +103,16 @@ import local from "@/utils/local"; ...@@ -106,16 +103,16 @@ import local from "@/utils/local";
export default { export default {
components: { YSwitch }, components: { YSwitch },
data() { data() {
const changeLandline = (rule, value, callback) => { // const changeLandline = (rule, value, callback) => {
if (!value) { // if (!value) {
callback(new Error("请输入座机号")); // callback(new Error("请输入座机号"));
callback(); // callback();
} else if (!/^[0][1-9]{2,3}-[0-9]{5,10}$/.test(value)) { // } else if (!/^[0][1-9]{2,3}-[0-9]{5,10}$/.test(value)) {
callback(new Error("区号-电话号码")); // callback(new Error("区号-电话号码"));
} else { // } else {
callback(); // callback();
} // }
}; // };
return { return {
labelCol: { span: 6 }, labelCol: { span: 6 },
wrapperCol: { span: 14 }, wrapperCol: { span: 14 },
...@@ -147,9 +144,9 @@ export default { ...@@ -147,9 +144,9 @@ export default {
deptNumber: [ deptNumber: [
{ required: true, message: "部门编号不能为空", trigger: "blur" }, { required: true, message: "部门编号不能为空", trigger: "blur" },
], ],
deptTelphone: [ // deptTelphone: [
{ required: true, validator: changeLandline, trigger: "blur" }, // { required: true, validator: changeLandline, trigger: "blur" },
], // ],
}, },
}; };
}, },
......
...@@ -78,7 +78,7 @@ ...@@ -78,7 +78,7 @@
>新增窗口</a-button >新增窗口</a-button
> >
<a-input-search <a-input-search
placeholder="请输入窗口名称搜索" placeholder="请输入窗口编号搜索"
v-model="windowSearch" v-model="windowSearch"
allowClear allowClear
enter-button="搜索" enter-button="搜索"
...@@ -506,7 +506,7 @@ export default { ...@@ -506,7 +506,7 @@ export default {
siteId: this.siteId, siteId: this.siteId,
page: this.page, page: this.page,
size: this.size, size: this.size,
name: `%${this.windowSearch}%`, fromnum: `%${this.windowSearch}%`,
deptId: this.deptId, deptId: this.deptId,
...obj, ...obj,
}); });
......
...@@ -474,11 +474,11 @@ export default { ...@@ -474,11 +474,11 @@ export default {
if (!isJpgOrPng) { if (!isJpgOrPng) {
this.$message.error("请上传jpeg或者png格式!"); this.$message.error("请上传jpeg或者png格式!");
} }
const isLt2M = file.size / 1024 / 1024 < 2; const isLt10M = file.size / 1024 / 1024 < 10;
if (!isLt2M) { if (!isLt10M) {
this.$message.error("照片不能超过 2MB!"); this.$message.error("照片不能超过 10MB!");
} }
return isJpgOrPng && isLt2M; return isJpgOrPng && isLt10M;
}, },
}, },
}; };
......
...@@ -546,11 +546,11 @@ export default { ...@@ -546,11 +546,11 @@ export default {
if (!isJpgOrPng) { if (!isJpgOrPng) {
this.$message.error("请上传jpeg或者png格式!"); this.$message.error("请上传jpeg或者png格式!");
} }
const isLt2M = file.size / 1024 / 1024 < 2; const isLt10M = file.size / 1024 / 1024 < 10;
if (!isLt2M) { if (!isLt10M) {
this.$message.error("照片不能超过 2MB!"); this.$message.error("照片不能超过 10MB!");
} }
return isJpgOrPng && isLt2M; return isJpgOrPng && isLt10M;
}, },
}, },
}; };
......
...@@ -119,9 +119,11 @@ ...@@ -119,9 +119,11 @@
<a-menu-item key="2"> <a-menu-item key="2">
<a style="color: #1890ff" @click="handleDownload"> 模板下载</a> <a style="color: #1890ff" @click="handleDownload"> 模板下载</a>
</a-menu-item> </a-menu-item>
<!-- <a-menu-item key="3"> <a-menu-item key="3">
<a style="color: #1890ff" @click="changePwd"> 修改密码</a> <a style="color: #1890ff" @click="handleUploadImg">
</a-menu-item> --> 批量导入照片
</a>
</a-menu-item>
</a-menu> </a-menu>
<a-button style="margin-left: 8px"> <a-button style="margin-left: 8px">
更多操作 <a-icon type="down" /> 更多操作 <a-icon type="down" />
...@@ -242,6 +244,8 @@ import { ...@@ -242,6 +244,8 @@ import {
getWorkmanList, getWorkmanList,
delWorkman, delWorkman,
downLoadTemplate, downLoadTemplate,
uploadFile,
uploadAllImg,
// editWorkman, // editWorkman,
importData, importData,
} from "@/services/dept"; } from "@/services/dept";
...@@ -541,6 +545,32 @@ export default { ...@@ -541,6 +545,32 @@ export default {
this.getWorkmanData(); this.getWorkmanData();
} }
}, },
// 批量导入照片
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);
},
// 修改密码弹窗 // 修改密码弹窗
changePwd(row) { changePwd(row) {
this.$refs.EditPwd.getUserInfo(row.loginName); this.$refs.EditPwd.getUserInfo(row.loginName);
......
...@@ -168,6 +168,7 @@ module.exports = { ...@@ -168,6 +168,7 @@ module.exports = {
importData: `${BASE_URL}/base/workman/importData`, importData: `${BASE_URL}/base/workman/importData`,
exportExcel: `${BASE_URL}/base/workman/exportExcel`, exportExcel: `${BASE_URL}/base/workman/exportExcel`,
changePwd: `${BASE_URL}/base/workman/change/password`, changePwd: `${BASE_URL}/base/workman/change/password`,
doImportPic: `${BASE_URL}/base/workman/doImportPic`,
}, },
// 站点业务 // 站点业务
sitebusiness: { sitebusiness: {
......
...@@ -97,6 +97,10 @@ export async function uploadFile(data) { ...@@ -97,6 +97,10 @@ export async function uploadFile(data) {
export function changePwd(data) { export function changePwd(data) {
return request(workman.changePwd, METHOD.POST, data); return request(workman.changePwd, METHOD.POST, data);
} }
// 批量导入工作人员照片
export function uploadAllImg(data) {
return request(workman.doImportPic, METHOD.POST, data);
}
/** /**
* 窗口事项 * 窗口事项
......
...@@ -161,3 +161,11 @@ export async function delMatterflowlimit(data) { ...@@ -161,3 +161,11 @@ export async function delMatterflowlimit(data) {
export async function addMattercharges(data) { export async function addMattercharges(data) {
return request(mattercharges.save, METHOD.POST, data); return request(mattercharges.save, METHOD.POST, data);
} }
// 获取收费标准
export async function getMattercharges(data) {
return request(mattercharges.list, METHOD.POST, data);
}
// 删除收费标准
export async function delMattercharges(data) {
return request(mattercharges.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