Files

207 lines
5.9 KiB
Vue
Raw Normal View History

2022-08-30 10:36:30 +08:00
<template>
<div class="app-container">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
2022-09-20 17:31:39 +08:00
<router-link to="./releaseService">
<el-button type="primary" size="small">发布需求</el-button>
2022-08-30 10:36:30 +08:00
</router-link>
</el-col>
<right-toolbar
v-model:showSearch="showSearch"
@queryTable="getList"
></right-toolbar>
</el-row>
<el-radio-group
2022-09-20 17:31:39 +08:00
v-model="queryParams.status"
size="small"
2022-08-30 10:36:30 +08:00
@change="handleQuery"
>
2022-10-31 17:46:09 +08:00
<el-radio-button :label="0">待受理</el-radio-button>
<el-radio-button :label="1">已受理</el-radio-button>
2022-11-22 17:31:02 +08:00
<el-radio-button :label="2">已驳回</el-radio-button>
<el-radio-button :label="4">已结束</el-radio-button>
2022-08-30 10:36:30 +08:00
</el-radio-group>
2022-09-20 17:31:39 +08:00
<el-table v-loading="loading" :data="dataList" style="margin-top: 20px">
2023-07-11 17:21:34 +08:00
<!-- <el-zh-column :label="t('admin.form.name', {type: t('admin.common.demand')})" align="center" prop="title" /> -->
<el-table-column
:label="t('admin.form.category', { type: t('admin.common.demand') })"
align="center"
prop="kind"
/>
<!-- <el-zh-column :label="t('common.status')" align="center" prop="status" /> -->
<el-table-column
:label="t('admin.form.contact')"
align="center"
prop="name"
/>
2022-09-20 17:31:39 +08:00
<el-table-column label="手机号" align="center" prop="mobile" />
2022-08-30 10:36:30 +08:00
<el-table-column
2023-07-17 15:47:45 +08:00
:label="t('admin.table.publishTime')"
2022-08-30 10:36:30 +08:00
align="center"
prop="createTime"
width="180"
>
2022-09-20 17:31:39 +08:00
<template #default="{ row }">
<span>{{ parseTime(row.createTime) }}</span>
2022-08-30 10:36:30 +08:00
</template>
</el-table-column>
<el-table-column
2023-07-11 17:21:34 +08:00
:label="t('admin.common.operation')"
2022-08-30 10:36:30 +08:00
align="center"
class-name="small-padding fixed-width"
>
2022-11-22 17:31:02 +08:00
<template #default="{ row }">
2022-08-30 10:36:30 +08:00
<el-button
2022-10-31 17:46:09 +08:00
v-if="queryParams.type == 2"
2022-09-20 17:31:39 +08:00
size="small"
2022-08-30 10:36:30 +08:00
type="text"
icon="Delete"
2022-11-22 17:31:02 +08:00
@click="handleDelete(row.id)"
2023-07-11 17:21:34 +08:00
>
{{ t("admin.common.delete") }}</el-button
2022-08-30 10:36:30 +08:00
>
<el-button
2022-10-31 17:46:09 +08:00
v-if="queryParams.type == 0"
2022-09-20 17:31:39 +08:00
size="small"
2022-08-30 10:36:30 +08:00
type="text"
icon="Close"
2022-11-22 17:31:02 +08:00
@click="handleDelete(row.id)"
2023-07-11 17:21:34 +08:00
>{{ t("admin.common.cancel") }}发布</el-button
2022-08-30 10:36:30 +08:00
>
<el-button
2022-10-31 17:46:09 +08:00
v-if="queryParams.type != 2"
2022-09-20 17:31:39 +08:00
size="small"
2022-08-30 10:36:30 +08:00
type="text"
icon="View"
2022-11-22 17:31:02 +08:00
@click="handleEdit(row.id)"
2022-08-30 10:36:30 +08:00
>查看</el-button
>
2022-11-22 17:31:02 +08:00
<el-button
size="small"
type="text"
icon="View"
@click="complete(row.id)"
>完成</el-button
>
2022-08-30 10:36:30 +08:00
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
</div>
</template>
<script setup>
2022-10-01 09:12:01 +08:00
import { demandList } from "@/api/admin/enterprise";
2022-11-22 17:31:02 +08:00
import { updateDemand } from "@/api/admin/enterprise/demand";
import { ElMessage, ElMessageBox } from "element-plus";
2023-07-17 15:47:45 +08:00
import modal from "@/plugins/modal";
2023-07-11 17:21:34 +08:00
import { getCurrentInstance, onActivated } from "vue";
2022-09-20 17:31:39 +08:00
import { useRouter } from "vue-router";
2023-07-11 17:21:34 +08:00
import { useI18n } from "vue-i18n";
const { t } = useI18n();
2022-08-30 10:36:30 +08:00
const { proxy } = getCurrentInstance();
const router = useRouter();
2022-09-20 17:31:39 +08:00
const dataList = ref([]);
2022-08-30 10:36:30 +08:00
const loading = ref(true);
const showSearch = ref(true);
const total = ref(0);
const dateRange = ref([]);
const data = reactive({
form: {},
queryParams: {
2022-09-20 17:31:39 +08:00
pageNum: 1,
pageSize: 10,
status: 1,
2022-08-30 10:36:30 +08:00
},
rules: {
name: [{ required: true, message: "公司名称不能为空", trigger: "blur" }],
dutyParagraph: [
{ required: true, message: "公司税号不能为空", trigger: "blur" },
],
bank: [{ required: true, message: "开户行不能为空", trigger: "blur" }],
bankAccount: [
{ required: true, message: "开户行账号不能为空", trigger: "blur" },
],
bankPhone: [
{ required: true, message: "开户行电话不能为空", trigger: "blur" },
],
email: [{ required: true, message: "电子邮箱不能为空", trigger: "blur" }],
phone: [{ required: true, message: "联系电话不能为空", trigger: "blur" }],
address: [{ required: true, message: "地址不能为空", trigger: "blur" }],
username: [{ required: true, message: "联系人不能为空", trigger: "blur" }],
userPhone: [
{ required: true, message: "联系人电话不能为空", trigger: "blur" },
],
userAddress: [
{ required: true, message: "邮寄地址不能为空", trigger: "blur" },
],
},
});
const { queryParams, form, rules } = toRefs(data);
/** 查询列表 */
2022-09-20 17:31:39 +08:00
const getList = async () => {
2022-08-30 10:36:30 +08:00
loading.value = true;
2022-09-20 17:31:39 +08:00
const resp = await demandList(queryParams.value);
dataList.value = resp.rows;
total.value = resp.total;
2022-08-30 10:36:30 +08:00
loading.value = false;
2022-09-20 17:31:39 +08:00
};
2022-08-30 10:36:30 +08:00
/** 搜索按钮操作 */
function handleQuery() {
queryParams.value.pageNum = 1;
getList();
}
/** 重置按钮操作 */
function resetQuery() {
dateRange.value = [];
proxy.resetForm("queryRef");
handleQuery();
}
/** 删除按钮操作 */
function handleDelete(id) {
2023-07-17 15:47:45 +08:00
modal
.confirm('是否确认删除订单号为"' + id + '"的数据项?')
2022-08-30 10:36:30 +08:00
.then(function () {
return demandDelete(postIds);
})
.then(() => {
getList();
2022-11-22 17:31:02 +08:00
ElMessage.success("删除成功");
2022-08-30 10:36:30 +08:00
})
.catch(() => {});
}
function handleEdit(id) {
2022-10-19 00:22:39 +08:00
router.push({ path: "./releaseService", query: { id } });
2022-08-30 10:36:30 +08:00
}
2022-11-22 17:31:02 +08:00
// 修改为完成状态
const complete = (id) => {
2023-07-17 15:47:45 +08:00
modal
.confirm(`是否确认结束编号为${id}的数据项?`)
2022-11-22 17:31:02 +08:00
.then(async () => {
await updateDemand({ id, status: 4 });
getList();
ElMessage.success("删除成功");
})
.catch(() => {});
};
2022-08-30 10:36:30 +08:00
getList();
2022-09-20 17:31:39 +08:00
onActivated(() => {
getList();
});
2022-08-30 10:36:30 +08:00
</script>