经营管理主体修改
This commit is contained in:
parent
30fdd2100c
commit
b27bc1ba09
@ -48,13 +48,13 @@ export default [
|
||||
path: '/sub-government-affairs-service/examineList',
|
||||
component: () => import('@/views/productOperateMain/examine/list.vue'),
|
||||
name: 'examineList',
|
||||
meta: { title: '主体审核管理', icon: 'Document' },
|
||||
meta: { title: '待审核', icon: 'Document' },
|
||||
},
|
||||
{
|
||||
path: '/sub-government-affairs-service/examineRecord',
|
||||
component: () => import('@/views/productOperateMain/examine/record.vue'),
|
||||
name: 'examineRecord',
|
||||
meta: { title: '主体审核历史', icon: 'Document' },
|
||||
meta: { title: '审核历史', icon: 'Document' },
|
||||
},
|
||||
],
|
||||
},
|
||||
|
@ -39,7 +39,7 @@
|
||||
</template>
|
||||
|
||||
<template #status="{ row }">
|
||||
<el-tag v-if="row.status == '0'" type="warning" size="small">待审核</el-tag>
|
||||
<el-tag v-if="row.status == '0' || !row.status" type="warning" size="small">待审核</el-tag>
|
||||
<el-tag v-if="row.status == '1'" type="success" size="small">通过</el-tag>
|
||||
<el-tag v-if="row.status == '2'" type="danger" size="small">拒绝</el-tag>
|
||||
</template>
|
||||
@ -87,7 +87,6 @@ let businessType = reactive({
|
||||
label: '主体类型',
|
||||
prop: 'businessType',
|
||||
type: 'radio',
|
||||
className: 'el-col-md-24',
|
||||
props: {
|
||||
label: 'dictLabel',
|
||||
value: 'dictValue',
|
||||
@ -343,6 +342,7 @@ const state = reactive({
|
||||
},
|
||||
{
|
||||
...businessType,
|
||||
className: 'el-col-md-24',
|
||||
change: (val) => bTypeChange(val.value),
|
||||
},
|
||||
{
|
||||
@ -496,8 +496,8 @@ const state = reactive({
|
||||
editDisabled: true,
|
||||
viewDisabled: true,
|
||||
dicData: [
|
||||
{ label: '是', value: '1' },
|
||||
{ label: '否', value: '0' },
|
||||
{ label: '是', value: 1 },
|
||||
{ label: '否', value: 0 },
|
||||
],
|
||||
},
|
||||
{
|
||||
@ -586,6 +586,9 @@ const loadData = (resetPage) => {
|
||||
if (res.code === 200) {
|
||||
const { current, size, total, records } = res.data;
|
||||
state.data = records;
|
||||
state.data = state.data.map((m) => {
|
||||
return { ...m, addressCode: [m.provinceCode, m.cityCode, m.countyCode, m.townCode] };
|
||||
});
|
||||
pageData.value.total = res.data.total;
|
||||
}
|
||||
})
|
||||
|
@ -3,8 +3,8 @@
|
||||
<avue-crud
|
||||
ref="crudRef"
|
||||
v-model="state.form"
|
||||
v-model:search="state.query"
|
||||
v-model:page="state.pageData"
|
||||
v-model:search="searchCondition"
|
||||
v-model:page="pageData"
|
||||
:table-loading="state.loading"
|
||||
:data="state.data"
|
||||
:option="state.options"
|
||||
@ -35,7 +35,7 @@
|
||||
<Attrs v-model:attrs="permitUrl" :type="'view'" :limit="1" />
|
||||
</template>
|
||||
<template #status="{ row }">
|
||||
<el-tag v-if="row.status == '0'" type="warning" size="small">待审核</el-tag>
|
||||
<el-tag v-if="row.status == '0' || !row.status" type="warning" size="small">待审核</el-tag>
|
||||
<el-tag v-if="row.status == '1'" type="success" size="small">通过</el-tag>
|
||||
<el-tag v-if="row.status == '2'" type="danger" size="small">拒绝</el-tag>
|
||||
</template>
|
||||
@ -48,7 +48,7 @@
|
||||
<script setup>
|
||||
import { reactive, ref } from 'vue';
|
||||
import { useApp } from '@/hooks';
|
||||
import { CRUD_OPTIONS } from '@/config';
|
||||
import { CRUD_OPTIONS, pageData } from '@/config';
|
||||
import { isEmpty, downloadFile } from '@/utils';
|
||||
import { useUserStore } from '@/store/modules/user';
|
||||
import { getBuinesCheckList, doBusinessCheck, exportBusinessCheck } from '@/apis/productOperateMain';
|
||||
@ -77,6 +77,16 @@ const auditStatusOptions = reactive([
|
||||
{ label: '已拒绝', value: '2' },
|
||||
]);
|
||||
|
||||
const searchCondition = ref({
|
||||
businessType: null,
|
||||
businessId: '',
|
||||
productType: '', //产品类型
|
||||
createStartTime: '',
|
||||
createEndTime: '',
|
||||
primaryProduct: '',
|
||||
status: null,
|
||||
});
|
||||
|
||||
const attrs = ref([]);
|
||||
const permitUrl = ref([]);
|
||||
|
||||
@ -113,7 +123,6 @@ let businessType = reactive({
|
||||
label: '主体类型',
|
||||
prop: 'businessType',
|
||||
type: 'radio',
|
||||
className: 'el-col-md-24',
|
||||
props: {
|
||||
label: 'dictLabel',
|
||||
value: 'dictValue',
|
||||
@ -135,6 +144,12 @@ let businessType = reactive({
|
||||
},
|
||||
});
|
||||
|
||||
const searchDateChange = (val) => {
|
||||
// console.info('searchDateChange', val);
|
||||
searchCondition.value.createStartTime = val[0] || '';
|
||||
searchCondition.value.createEndTime = val[1] || '';
|
||||
};
|
||||
|
||||
const state = reactive({
|
||||
loading: false,
|
||||
query: {
|
||||
@ -152,6 +167,7 @@ const state = reactive({
|
||||
searchGutter: 100,
|
||||
searchMenuPosition: 'center',
|
||||
updateBtnText: '审核',
|
||||
updateBtn: false,
|
||||
column: [
|
||||
{
|
||||
...businessType,
|
||||
@ -301,40 +317,20 @@ const state = reactive({
|
||||
{ label: '创建时间', prop: 'createTime', ...columnHide, width: '160px', search: false },
|
||||
],
|
||||
searchColumn: [
|
||||
{ label: '主体代码', prop: 'landName', search: true },
|
||||
{ label: '主体名称', prop: 'crop', search: true },
|
||||
{
|
||||
...businessType,
|
||||
button: true,
|
||||
searchSpan: 24,
|
||||
},
|
||||
{ label: '主体代码', prop: 'id', search: true },
|
||||
{ label: '主体名称', prop: 'businessName', search: true },
|
||||
{
|
||||
label: '审核状态',
|
||||
prop: 'auditStatus',
|
||||
prop: 'status',
|
||||
type: 'select',
|
||||
search: true,
|
||||
dicData: auditStatusOptions,
|
||||
},
|
||||
{
|
||||
label: '主体类型',
|
||||
prop: 'operationType',
|
||||
type: 'select',
|
||||
search: true,
|
||||
props: {
|
||||
label: 'dictLabel',
|
||||
value: 'dictValue',
|
||||
},
|
||||
dicUrl: `${VITE_APP_BASE_API}/system/dict/data/list`,
|
||||
dicQuery: {
|
||||
dictType: 'sys_business_type',
|
||||
current: 1,
|
||||
size: 10,
|
||||
},
|
||||
dicHeaders: {
|
||||
authorization: UserStore.token,
|
||||
},
|
||||
dicFormatter: (res) => {
|
||||
return (res.data.records ?? []).map((item) => ({
|
||||
...item,
|
||||
dictValue: Number(item.dictValue),
|
||||
}));
|
||||
},
|
||||
},
|
||||
{
|
||||
label: '创建日期',
|
||||
prop: 'operationDate',
|
||||
@ -343,6 +339,7 @@ const state = reactive({
|
||||
valueFormat: 'YYYY-MM-DD',
|
||||
width: 200,
|
||||
search: true,
|
||||
change: (val) => searchDateChange(val.value),
|
||||
},
|
||||
],
|
||||
group: [
|
||||
@ -359,6 +356,7 @@ const state = reactive({
|
||||
{
|
||||
...businessType,
|
||||
...groupDisabled,
|
||||
className: 'el-col-md-24',
|
||||
},
|
||||
{
|
||||
label: '经营产品种类',
|
||||
@ -524,8 +522,8 @@ const state = reactive({
|
||||
editDisplay: true,
|
||||
addDisplay: false,
|
||||
dicData: [
|
||||
{ label: '是', value: '1' },
|
||||
{ label: '否', value: '0' },
|
||||
{ label: '是', value: 1 },
|
||||
{ label: '否', value: 0 },
|
||||
],
|
||||
},
|
||||
{
|
||||
@ -559,18 +557,30 @@ const state = reactive({
|
||||
});
|
||||
|
||||
// 加载
|
||||
const loadData = () => {
|
||||
const loadData = (resetPage) => {
|
||||
resetPage === 1 && (pageData.value.currentPage = 1);
|
||||
state.loading = true;
|
||||
getBuinesCheckList(state.query)
|
||||
let searchParmer = {
|
||||
...searchCondition.value,
|
||||
};
|
||||
|
||||
delete searchParmer.operationDate;
|
||||
let params = Object.assign(
|
||||
{
|
||||
current: pageData.value.currentPage,
|
||||
size: pageData.value.size,
|
||||
},
|
||||
searchParmer
|
||||
);
|
||||
getBuinesCheckList(params)
|
||||
.then((res) => {
|
||||
if (res.code === 200) {
|
||||
const { current, size, total, records } = res.data;
|
||||
state.data = records;
|
||||
state.pageData = {
|
||||
currentPage: current || 1,
|
||||
pageSize: size || 10,
|
||||
total: total,
|
||||
};
|
||||
state.data = state.data.map((m) => {
|
||||
return { ...m, addressCode: [m.provinceCode, m.cityCode, m.countyCode, m.townCode] };
|
||||
});
|
||||
pageData.value.total = res.data.total;
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
@ -665,6 +675,9 @@ const doExam = (row) => {
|
||||
attrs.value = [row.businessLicense] || [];
|
||||
permitUrl.value = [row.businessPermitUrl] || [];
|
||||
beforeOpen(row.businessType);
|
||||
state.options.updateBtn = !row.status || row.status == 0 ? true : false;
|
||||
// state.options.group[state.options.group.length - 1].column[0].disabled = !row.status || row.status == 0 ? false : true;
|
||||
state.options.group[state.options.group.length - 1].column[1].disabled = !row.status || row.status == 0 ? false : true;
|
||||
crudRef.value && crudRef.value.rowEdit(row);
|
||||
};
|
||||
|
||||
@ -676,7 +689,7 @@ const rowUpdate = (row, index, done, loading) => {
|
||||
reviewSuggestion: row.reviewSuggestion,
|
||||
};
|
||||
|
||||
console.info('审核params', params);
|
||||
// console.info('审核params', params);
|
||||
doBusinessCheck(params)
|
||||
.then((res) => {
|
||||
if (res.code === 200) {
|
||||
|
@ -3,14 +3,23 @@
|
||||
<avue-crud
|
||||
ref="crudRef"
|
||||
v-model="state.form"
|
||||
v-model:search="state.query"
|
||||
v-model:page="state.pageData"
|
||||
v-model:search="searchCondition"
|
||||
v-model:page="pageData"
|
||||
:table-loading="state.loading"
|
||||
:data="state.data"
|
||||
:option="state.options"
|
||||
@refresh-change="refreshChange"
|
||||
@search-reset="searchChange"
|
||||
@search-change="searchChange"
|
||||
@refresh-change="loadData"
|
||||
@search-reset="
|
||||
() => {
|
||||
loadData(1);
|
||||
}
|
||||
"
|
||||
@search-change="
|
||||
(form, done) => {
|
||||
loadData(1);
|
||||
done();
|
||||
}
|
||||
"
|
||||
@selection-change="selectionChange"
|
||||
@current-change="currentChange"
|
||||
@size-change="sizeChange"
|
||||
@ -19,7 +28,7 @@
|
||||
<el-button type="success" icon="download" @click="onExport">导出</el-button>
|
||||
</template>
|
||||
<template #status="{ row }">
|
||||
<el-tag v-if="row.status == '0'" type="warning" size="small">待审核</el-tag>
|
||||
<el-tag v-if="row.status == '0' || !row.status" type="warning" size="small">待审核</el-tag>
|
||||
<el-tag v-if="row.status == '1'" type="success" size="small">通过</el-tag>
|
||||
<el-tag v-if="row.status == '2'" type="danger" size="small">拒绝</el-tag>
|
||||
</template>
|
||||
@ -32,7 +41,7 @@
|
||||
<script setup>
|
||||
import { reactive, ref } from 'vue';
|
||||
import { useApp } from '@/hooks';
|
||||
import { CRUD_OPTIONS } from '@/config';
|
||||
import { CRUD_OPTIONS, pageData } from '@/config';
|
||||
import { isEmpty, downloadFile } from '@/utils';
|
||||
import { useUserStore } from '@/store/modules/user';
|
||||
import { getBuinesCheckRecord, exportBusinessCheckRecord } from '@/apis/productOperateMain';
|
||||
@ -42,23 +51,27 @@ const app = useApp();
|
||||
const UserStore = useUserStore();
|
||||
const crudRef = ref(null);
|
||||
|
||||
const bTypeOptions = reactive([
|
||||
{ label: '个体', value: '0' },
|
||||
{ label: '村集体', value: '1' },
|
||||
{ label: '合作社', value: '2' },
|
||||
{ label: '企业', value: '3' },
|
||||
]);
|
||||
|
||||
const auditStatusOptions = reactive([
|
||||
{ label: '待审核', value: '0' },
|
||||
{ label: '已通过', value: '1' },
|
||||
{ label: '已拒绝', value: '2' },
|
||||
]);
|
||||
|
||||
const productTypeOptions = reactive([
|
||||
{ label: '蔬菜', value: '0' },
|
||||
{ label: '水果', value: '1' },
|
||||
]);
|
||||
const searchCondition = ref({
|
||||
businessType: null,
|
||||
businessId: '',
|
||||
productType: '', //产品类型
|
||||
createStartTime: '',
|
||||
createEndTime: '',
|
||||
primaryProduct: '',
|
||||
status: null,
|
||||
});
|
||||
|
||||
const searchDateChange = (val) => {
|
||||
// console.info('searchDateChange', val);
|
||||
searchCondition.value.createStartTime = val[0] || '';
|
||||
searchCondition.value.createEndTime = val[1] || '';
|
||||
};
|
||||
|
||||
const state = reactive({
|
||||
loading: false,
|
||||
@ -95,13 +108,17 @@ const state = reactive({
|
||||
dicHeaders: {
|
||||
authorization: UserStore.token,
|
||||
},
|
||||
dicFormatter: (res) => res.data.records ?? [],
|
||||
dicFormatter: (res) => {
|
||||
return (res.data.records ?? []).map((item) => ({
|
||||
...item,
|
||||
dictValue: Number(item.dictValue),
|
||||
}));
|
||||
},
|
||||
rules: { required: true, message: '请选择', trigger: 'blur' },
|
||||
},
|
||||
{
|
||||
label: '主体代码',
|
||||
prop: 'id',
|
||||
width: '120px',
|
||||
ellipsis: true,
|
||||
showOverflowTooltip: true,
|
||||
addDisplay: false,
|
||||
@ -214,7 +231,7 @@ const state = reactive({
|
||||
},
|
||||
{
|
||||
label: '审核意见',
|
||||
prop: 'remark',
|
||||
prop: 'reviewSuggestion',
|
||||
addDisplay: false,
|
||||
editDisplay: false,
|
||||
width: '200px',
|
||||
@ -229,8 +246,15 @@ const state = reactive({
|
||||
{ label: '创建时间', prop: 'createTime', width: '180px', addDisplay: false, editDisplay: false, search: false },
|
||||
],
|
||||
searchColumn: [
|
||||
{ label: '主体代码', prop: 'landName', search: true },
|
||||
{ label: '主体名称', prop: 'crop', search: true },
|
||||
{ label: '主体代码', prop: 'id', search: true },
|
||||
{ label: '主体名称', prop: 'businessName', search: true },
|
||||
{
|
||||
label: '审核状态',
|
||||
prop: 'status',
|
||||
type: 'select',
|
||||
search: true,
|
||||
dicData: auditStatusOptions,
|
||||
},
|
||||
{
|
||||
label: '经营产品种类',
|
||||
prop: 'productType',
|
||||
@ -256,10 +280,27 @@ const state = reactive({
|
||||
},
|
||||
{
|
||||
label: '主体类型',
|
||||
prop: 'operationType',
|
||||
type: 'select',
|
||||
search: true,
|
||||
dicData: bTypeOptions,
|
||||
prop: 'businessType',
|
||||
type: 'radio',
|
||||
props: {
|
||||
label: 'dictLabel',
|
||||
value: 'dictValue',
|
||||
},
|
||||
dicUrl: `${VITE_APP_BASE_API}/system/dict/data/list`,
|
||||
dicQuery: {
|
||||
dictType: 'sys_business_type',
|
||||
current: 1,
|
||||
size: 10,
|
||||
},
|
||||
dicHeaders: {
|
||||
authorization: UserStore.token,
|
||||
},
|
||||
dicFormatter: (res) => {
|
||||
return (res.data.records ?? []).map((item) => ({
|
||||
...item,
|
||||
dictValue: Number(item.dictValue),
|
||||
}));
|
||||
},
|
||||
},
|
||||
{
|
||||
label: '创建日期',
|
||||
@ -269,161 +310,7 @@ const state = reactive({
|
||||
valueFormat: 'YYYY-MM-DD',
|
||||
width: 200,
|
||||
search: true,
|
||||
},
|
||||
],
|
||||
group: [
|
||||
{
|
||||
label: '基本信息>',
|
||||
prop: 'caseInfo',
|
||||
column: [
|
||||
{
|
||||
label: '主体代码',
|
||||
prop: 'taskCode',
|
||||
rules: { required: true, message: '请输入', trigger: 'blur' },
|
||||
},
|
||||
{
|
||||
label: '主体名称',
|
||||
prop: 'taskCode',
|
||||
rules: { required: true, message: '请输入', trigger: 'blur' },
|
||||
},
|
||||
{
|
||||
label: '主体类型',
|
||||
prop: 'bType',
|
||||
type: 'select',
|
||||
dicData: bTypeOptions,
|
||||
rules: { required: true, message: '请选择', trigger: 'blur' },
|
||||
},
|
||||
{
|
||||
label: '经营产品种类',
|
||||
type: 'select',
|
||||
dicData: productTypeOptions,
|
||||
rules: { required: true, message: '请选择', trigger: 'blur' },
|
||||
},
|
||||
{
|
||||
label: '主要产品',
|
||||
prop: 'product',
|
||||
rules: { required: false, message: '请输入', trigger: 'blur' },
|
||||
},
|
||||
{
|
||||
label: '合作社规模',
|
||||
prop: 'inspectionType',
|
||||
rules: { required: false, message: '请选择', trigger: 'blur' },
|
||||
},
|
||||
{
|
||||
label: '负责人',
|
||||
prop: 'inspectionTarget',
|
||||
rules: { required: false, message: '请输入', trigger: 'blur' },
|
||||
},
|
||||
{
|
||||
label: '负责人电话',
|
||||
prop: 'inspectionTarget',
|
||||
rules: { required: false, message: '请输入', trigger: 'blur' },
|
||||
},
|
||||
{
|
||||
label: '联系地址',
|
||||
prop: 'inspectionTarget',
|
||||
rules: { required: true, message: '请输入', trigger: 'blur' },
|
||||
type: 'select',
|
||||
props: {
|
||||
label: 'areaName',
|
||||
value: 'areaCode',
|
||||
children: 'areaChildVOS',
|
||||
},
|
||||
dicUrl: `${VITE_APP_BASE_API}/system/area/region?areaCode=530000`,
|
||||
dicHeaders: {
|
||||
authorization: UserStore.token,
|
||||
},
|
||||
dicFormatter: (res) => res.data ?? [],
|
||||
},
|
||||
{
|
||||
label: '详细地址',
|
||||
prop: 'notes',
|
||||
rules: { required: true, message: '请输入', trigger: 'blur' },
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '营业执照>',
|
||||
prop: 'caseInfo',
|
||||
column: [
|
||||
{
|
||||
label: '统一社会信用代码',
|
||||
prop: 'notes',
|
||||
rules: { required: true, message: '请输入', trigger: 'blur' },
|
||||
},
|
||||
{
|
||||
label: '营业执照',
|
||||
prop: 'license',
|
||||
},
|
||||
{
|
||||
label: '有效期至',
|
||||
prop: 'operationDate',
|
||||
type: 'date',
|
||||
format: 'YYYY-MM-DD',
|
||||
valueFormat: 'YYYY-MM-DD',
|
||||
width: 200,
|
||||
rules: { required: true, message: '请输入', trigger: 'blur' },
|
||||
},
|
||||
{
|
||||
label: '经营项目',
|
||||
prop: 'inspectionSituation',
|
||||
rules: { required: true, message: '请输入', trigger: 'blur' },
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '经营许可证>',
|
||||
prop: 'caseInfo',
|
||||
column: [
|
||||
{
|
||||
label: '经营许可证编号',
|
||||
prop: 'operationType',
|
||||
rules: { required: false, message: '请输入', trigger: 'blur' },
|
||||
},
|
||||
{
|
||||
label: '经营许可证',
|
||||
prop: 'permit',
|
||||
rules: { required: false, message: '请选择', trigger: 'blur' },
|
||||
},
|
||||
{
|
||||
label: '有效期至',
|
||||
prop: 'operationDate',
|
||||
type: 'date',
|
||||
format: 'YYYY-MM-DD',
|
||||
valueFormat: 'YYYY-MM-DD',
|
||||
width: 200,
|
||||
rules: { required: true, message: '请输入', trigger: 'blur' },
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '审核操作>',
|
||||
prop: 'caseInfo',
|
||||
column: [
|
||||
{
|
||||
label: '是否通过',
|
||||
prop: 'status',
|
||||
span: 24,
|
||||
display: true,
|
||||
type: 'radio',
|
||||
editDisplay: true,
|
||||
addDisplay: false,
|
||||
dicData: [
|
||||
{ label: '是', value: 1 },
|
||||
{ label: '否', value: 0 },
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '审核意见',
|
||||
prop: 'reviewSuggestion',
|
||||
type: 'textarea',
|
||||
span: 24,
|
||||
minRows: 3, // 设置最小行数
|
||||
maxRows: 5, // 设置最大行数
|
||||
overHidden: true,
|
||||
width: 200,
|
||||
},
|
||||
],
|
||||
change: (val) => searchDateChange(val.value),
|
||||
},
|
||||
],
|
||||
},
|
||||
@ -437,18 +324,30 @@ const state = reactive({
|
||||
});
|
||||
|
||||
// 加载
|
||||
const loadData = () => {
|
||||
const loadData = (resetPage) => {
|
||||
resetPage === 1 && (pageData.value.currentPage = 1);
|
||||
state.loading = true;
|
||||
getBuinesCheckRecord(state.query)
|
||||
let searchParmer = {
|
||||
...searchCondition.value,
|
||||
};
|
||||
|
||||
delete searchParmer.operationDate;
|
||||
let params = Object.assign(
|
||||
{
|
||||
current: pageData.value.currentPage,
|
||||
size: pageData.value.size,
|
||||
},
|
||||
searchParmer
|
||||
);
|
||||
getBuinesCheckRecord(params)
|
||||
.then((res) => {
|
||||
if (res.code === 200) {
|
||||
const { current, size, total, records } = res.data;
|
||||
state.data = records;
|
||||
state.pageData = {
|
||||
currentPage: current || 1,
|
||||
pageSize: size || 10,
|
||||
total: total,
|
||||
};
|
||||
state.data = state.data.map((m) => {
|
||||
return { ...m, addressCode: [m.provinceCode, m.cityCode, m.countyCode, m.townCode] };
|
||||
});
|
||||
pageData.value.total = res.data.total;
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
|
Loading…
x
Reference in New Issue
Block a user