sidemenu service demand count.

This commit is contained in:
cxc
2022-11-21 16:40:21 +08:00
parent daba128033
commit 136574a8f4
8 changed files with 158 additions and 45 deletions

View File

@ -22,3 +22,9 @@ export const updateCasDemand = (data) =>
method: "PUT", method: "PUT",
data, data,
}); });
// 修改企业服务需求
export const deleteCasDemand = (ids) =>
request({
url: `/business/dataReview/listCasDemand/${ids}`,
method: "DELETE",
});

View File

@ -7,9 +7,6 @@
:value="getCount(basePath)" :value="getCount(basePath)"
class="count-badge" class="count-badge"
> >
<!-- <template #default>
<div>231</div>
</template> -->
<div> <div>
<template <template
v-if=" v-if="
@ -23,6 +20,9 @@
:to="resolvePath(onlyOneChild.path, onlyOneChild.query)" :to="resolvePath(onlyOneChild.path, onlyOneChild.query)"
> >
<el-menu-item <el-menu-item
:style="{
paddingRight: '0px',
}"
:index="resolvePath(onlyOneChild.path)" :index="resolvePath(onlyOneChild.path)"
:class="{ 'submenu-title-noDropdown': !isNest }" :class="{ 'submenu-title-noDropdown': !isNest }"
> >
@ -35,7 +35,11 @@
><span ><span
class="menu-title" class="menu-title"
:title="hasTitle(onlyOneChild.meta.title)" :title="hasTitle(onlyOneChild.meta.title)"
>{{ onlyOneChild.meta.title }}</span >{{
["/auditing/serviceDemand"].includes(basePath)
? `${onlyOneChild.meta.title} (${getCount(basePath)})`
: onlyOneChild.meta.title
}}</span
></template ></template
> >
</el-menu-item> </el-menu-item>
@ -95,11 +99,12 @@ const onlyOneChild = ref({});
const userStore = useUserStore(); const userStore = useUserStore();
const getCount = (basePath) => { const getCount = (basePath) => {
console.log(basePath);
if (basePath == "/approval/list") { if (basePath == "/approval/list") {
return userStore.unApprovedBusiness; return userStore.unApprovedBusiness;
} else if (props.basePath == "/approval/dataList/approval") { } else if (props.basePath == "/approval/dataList/approval") {
return userStore.unApprovedExpert; return userStore.unApprovedExpert;
} else if (props.basePath == "/auditing/serviceDemand") {
return userStore.serviceDemandTotal;
} else { } else {
return 0; return 0;
} }

View File

@ -4,6 +4,7 @@ import defAva from "@/assets/images/profile.jpg";
import md5 from "js-md5"; import md5 from "js-md5";
import { companyList } from "@/api/dataList/enterprise"; import { companyList } from "@/api/dataList/enterprise";
import { expertList } from "@/api/expert/expert"; import { expertList } from "@/api/expert/expert";
import { listCasDemand } from "../../api/dataApproval/enterpriseServiceDemand";
const useUserStore = defineStore("user", { const useUserStore = defineStore("user", {
state: () => ({ state: () => ({
@ -14,6 +15,7 @@ const useUserStore = defineStore("user", {
permissions: [], permissions: [],
unApprovedBusiness: 10, unApprovedBusiness: 10,
unApprovedExpert: 20, unApprovedExpert: 20,
serviceDemandTotal: 0,
}), }),
actions: { actions: {
// 登录 // 登录
@ -75,9 +77,11 @@ const useUserStore = defineStore("user", {
pageSize: 1, pageSize: 1,
pageNum: 10, pageNum: 10,
}), }),
listCasDemand(),
]); ]);
this.unApprovedBusiness = resps[0].total; this.unApprovedBusiness = resps[0].total;
this.unApprovedExpert = resps[1].total; this.unApprovedExpert = resps[1].total;
this.serviceDemandTotal = resps[2].total;
}, },
unApprovedBusinessPlus() { unApprovedBusinessPlus() {
this.unApprovedBusiness++; this.unApprovedBusiness++;

View File

@ -14,7 +14,6 @@
<div :style="{ marginLeft: 140 + 'px' }"> <div :style="{ marginLeft: 140 + 'px' }">
<el-button @click="submitForm('2')">审核拒绝</el-button> <el-button @click="submitForm('2')">审核拒绝</el-button>
<el-button type="primary" @click="submitForm('1')">通过审核</el-button> <el-button type="primary" @click="submitForm('1')">通过审核</el-button>
<el-button type="primary" @click="testCount">通过审核</el-button>
</div> </div>
</div> </div>
</template> </template>
@ -32,9 +31,9 @@ import { useRoute, useRouter } from "vue-router";
import { ElMessage } from "element-plus"; import { ElMessage } from "element-plus";
import useUserStore from "@/store/modules/user"; import useUserStore from "@/store/modules/user";
const testCount = () => { // const testCount = () => {
useUserStore().unApprovedBusinessPlus(); // useUserStore().unApprovedBusinessPlus();
}; // };
const router = useRouter(); const router = useRouter();
const route = useRoute(); const route = useRoute();

View File

@ -48,6 +48,42 @@
</el-col> </el-col>
</el-row> --> </el-row> -->
<el-row v-if="formType == 2">
<el-col :span="24">
<el-form-item label="联系人" prop="contact">
<el-input v-model="modelValue.contact"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="formType == 2">
<el-col :span="24">
<el-form-item label="联系方式" prop="mobilephone">
<el-input
v-model="modelValue.mobilephone"
:maxlength="11"
oninput="
value = value
.replace(/[^\d.]/g, '')
.replace(/\.{2,}/g, '.')
.replace('.', '$#$')
.replace(/\./g, '')
.replace('$#$', '.')
.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3')
.replace(/^\./g, '')
"
></el-input>
<!-- v-number -->
</el-form-item>
</el-col>
</el-row>
<el-row v-if="formType == 2">
<el-col :span="24">
<el-form-item label="邮箱" prop="email">
<el-input v-model="modelValue.email"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="formType == 2"> <el-row v-if="formType == 2">
<el-col :span="24"> <el-col :span="24">
<el-form-item label="企业类型:" prop="kind"> <el-form-item label="企业类型:" prop="kind">
@ -241,7 +277,7 @@
ref="researchsFormRef" ref="researchsFormRef"
/> --> /> -->
<InputBoxAdd <!-- <InputBoxAdd
v-if="formType == 2" v-if="formType == 2"
:labelWidth="labelWidth" :labelWidth="labelWidth"
v-model="modelValue" v-model="modelValue"
@ -250,17 +286,17 @@
placeholder="请输入生产方向" placeholder="请输入生产方向"
fieldKey="directions" fieldKey="directions"
ref="directionsFormRef" ref="directionsFormRef"
/> /> -->
<el-row v-if="formType == 2"> <el-row v-if="formType == 2">
<el-col :span="24"> <!-- <el-col :span="24">
<el-form-item label="邀请码:"> <el-form-item label="邀请码:">
<el-input <el-input
v-model="modelValue.inviterCode" v-model="modelValue.inviterCode"
:disabled="!isAdd" :disabled="!isAdd"
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col> -->
<el-col :span="24"> <el-col :span="24">
<el-form-item label="企业网站:"> <el-form-item label="企业网站:">
<el-input v-model="modelValue.url"></el-input> <el-input v-model="modelValue.url"></el-input>
@ -441,13 +477,11 @@ const validateForm = async () => {
); );
} else if (formType.value == 2) { } else if (formType.value == 2) {
//企业 //企业
const directionsFormValid = await directionsFormRef.value.validateForm(); //生产方向验证 // const directionsFormValid = await directionsFormRef.value.validateForm(); //生产方向验证
return ( return (
formValid && formValid && cityFormValid && fieldFormValid
cityFormValid &&
fieldFormValid &&
// keywordsFormValid && // keywordsFormValid &&
directionsFormValid // directionsFormValid
); );
} else { } else {
throw "未知的formType"; throw "未知的formType";

View File

@ -82,7 +82,12 @@
></el-table-column> ></el-table-column>
<el-table-column label="操作" align="center"> <el-table-column label="操作" align="center">
<template #default="{ row }"> <template #default="{ row }">
<el-button type="text" @click="approval(row)">审批</el-button> <el-button type="text" size="small" @click="approval(row)"
>审批</el-button
>
<el-button type="text" size="small" @click="approval(row)"
>结束</el-button
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>

View File

@ -36,14 +36,23 @@
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
<el-row style="margin-bottom: 20px">
<el-button size="small" type="primary">批量审核</el-button>
</el-row>
<!-- 表格区域 --> <!-- 表格区域 -->
<el-table :data="dataList"> <el-table :data="dataList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="80"></el-table-column>
<el-table-column label="编号" align="center" prop="id"></el-table-column> <el-table-column label="编号" align="center" prop="id"></el-table-column>
<el-table-column <el-table-column
label="需求名称" label="需求名称"
align="center" align="center"
prop="title" prop="title"
></el-table-column> ></el-table-column>
<el-table-column label="需求类型" align="center">
<template #default="{ row }">
{{ categoryMap[row.category] }}需求
</template>
</el-table-column>
<el-table-column <el-table-column
label="所属领域" label="所属领域"
align="center" align="center"
@ -88,7 +97,19 @@
></el-table-column> --> ></el-table-column> -->
<el-table-column label="操作" align="center"> <el-table-column label="操作" align="center">
<template #default="{ row }"> <template #default="{ row }">
<el-button type="text" @click="approval(row.id)">审批</el-button> <el-button type="text" size="small" @click="approval(row.id)"
>审批</el-button
>
<el-button type="text" size="small" @click="approval(row.id)"
>结束</el-button
>
<el-button
type="text"
size="small"
icon="delete3"
@click="handleDelete(row.id)"
>删除</el-button
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -103,16 +124,22 @@
</div> </div>
</template> </template>
<script setup> <script setup>
import { businessList } from "@/api/Businessneeds/index.js"; // import { businessList } from "@/api/Businessneeds/index.js";
import { listCasDemand } from "../../../api/dataApproval/enterpriseServiceDemand"; import {
listCasDemand,
deleteCasDemand,
} from "@/api/dataApproval/enterpriseServiceDemand";
// import Edialog from "@/views/components/Businessneeds/Approvaldetails.vue"; // import Edialog from "@/views/components/Businessneeds/Approvaldetails.vue";
import SiteOptions from "@/views/components/SiteOptions"; import SiteOptions from "@/views/components/SiteOptions";
import { tenantSelect } from "@/api/subPlatform/tenant"; import { tenantSelect } from "@/api/subPlatform/tenant";
import { ref, toRefs, defineComponent } from "vue"; import { ref, toRefs } from "vue";
import { cloneDeep } from "lodash"; // import { cloneDeep } from "lodash";
import { useRouter } from "vue-router"; import { useRouter } from "vue-router";
import useUserStore from "@/store/modules/user";
import { ElMessage, ElMessageBox } from "element-plus";
const router = useRouter(); const router = useRouter();
const userStore = useUserStore();
const data = reactive({ const data = reactive({
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
@ -121,6 +148,12 @@ const data = reactive({
}, },
demandForm: {}, demandForm: {},
}); });
const categoryMap = {
1: "企业",
2: "专家",
};
const siteList = ref([]); const siteList = ref([]);
const dataList = ref([]); const dataList = ref([]);
const total = ref(0); const total = ref(0);
@ -131,6 +164,7 @@ const getList = async () => {
const resp = await listCasDemand(queryParams.value); const resp = await listCasDemand(queryParams.value);
dataList.value = resp.rows; dataList.value = resp.rows;
total.value = resp.total; total.value = resp.total;
// userStore.serviceDemandTotal = resp.total;
}; };
const approval = (id) => { const approval = (id) => {
// demandForm.value = cloneDeep(row); // demandForm.value = cloneDeep(row);
@ -163,6 +197,13 @@ const handleQuery = () => {
getList(); getList();
}; };
const selectedIds = ref([]);
// 选中状态改变
const handleSelectionChange = (val) => {
selectedIds.value = val;
// console.log(val);
};
/** 重置按钮操作 */ /** 重置按钮操作 */
const resetQuery = () => { const resetQuery = () => {
if (queryFormRef.value) { if (queryFormRef.value) {
@ -171,6 +212,17 @@ const resetQuery = () => {
handleQuery(); handleQuery();
}; };
const handleDelete = async (id) => {
ElMessageBox.confirm(`是否确认删除编号为${id}的数据项?`)
.then(async () => {
await deleteCasDemand(id);
userStore.getApprovalCount();
getList();
ElMessage.success("删除成功");
})
.catch(() => {});
};
getSiteList(); getSiteList();
getList(); getList();
</script> </script>

View File

@ -221,7 +221,7 @@
> >
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<CityOptions v-model="form" /> <CityOptions v-model="form" ref="cityOptionsRef" />
<!-- <el-form-item label="地点:" required> <!-- <el-form-item label="地点:" required>
<el-row type="flex" justify="space-between" :gutter="10"> <el-row type="flex" justify="space-between" :gutter="10">
<el-col :span="8"> <el-col :span="8">
@ -285,7 +285,7 @@
<el-form-item label="详细地址:" prop="address"> <el-form-item label="详细地址:" prop="address">
<el-input v-model="form.address" placeholder="请输入详细地址" /> <el-input v-model="form.address" placeholder="请输入详细地址" />
</el-form-item> </el-form-item>
<FieldOptions v-model="form" /> <FieldOptions v-model="form" ref="fieldOptionsRef" />
<!-- <el-form-item label="活动分类:" required> <!-- <el-form-item label="活动分类:" required>
<el-row type="flex" justify="space-between"> <el-row type="flex" justify="space-between">
@ -642,15 +642,23 @@ const handleUpdate = async (row) => {
title.value = "修改"; title.value = "修改";
}; };
// const siteOptionsRef = ref();
const cityOptionsRef = ref();
const fieldOptionsRef = ref();
const submitForm = async () => { const submitForm = async () => {
// let notifys = 0; // let notifys = 0;
// form.value.notifyCrowd.map((item) => {
// notifys = notifys | (item - 0);
// });
// let formData = cloneDeep(form.value); // let formData = cloneDeep(form.value);
// formData.notifyCrowd = notifys; // formData.notifyCrowd = notifys;
// formData.industrys = [form.value.industrys.join("-")]; // formData.industrys = [form.value.industrys.join("-")];
await formRef.value.validate(); // const siteOptionsValid =
const cityOptionsValid = await cityOptionsRef.value.validateForm();
const fieldOptionsValid = await fieldOptionsRef.value.validateForm();
const valid = await formRef.value.validate();
form.value.notifyCrowd = form.value.notifyCrowds.join(",");
if (!valid || !cityOptionsValid || !fieldOptionsValid) {
console.log("校验未通过");
return;
}
if (form.value.id != undefined) { if (form.value.id != undefined) {
activityEdit(form.value).then((response) => { activityEdit(form.value).then((response) => {
ElMessage.success("修改成功"); ElMessage.success("修改成功");