|
@@ -4,9 +4,9 @@
|
|
<vxe-grid v-bind="gridOptions" ref="gridRef" @checkbox-all="selectAllChangeEvent" @checkbox-change="selectChangeEvent">
|
|
<vxe-grid v-bind="gridOptions" ref="gridRef" @checkbox-all="selectAllChangeEvent" @checkbox-change="selectChangeEvent">
|
|
<template #form>
|
|
<template #form>
|
|
<el-form :model="state.queryParams" ref="ruleFormRef" inline @submit.native.prevent :disabled="gridOptions.loading">
|
|
<el-form :model="state.queryParams" ref="ruleFormRef" inline @submit.native.prevent :disabled="gridOptions.loading">
|
|
- <el-form-item label="行业" prop="Status">
|
|
|
|
- <el-select v-model="state.queryParams.Status" class="w100" placeholder="请选择行业" @change="handleQuery">
|
|
|
|
- <el-option v-for="item in state.statusOptions" :key="item.key" :label="item.value" :value="item.key" />
|
|
|
|
|
|
+ <el-form-item label="行业" prop="IndustryId">
|
|
|
|
+ <el-select v-model="state.queryParams.IndustryId" class="w100" placeholder="请选择行业" @change="handleQuery">
|
|
|
|
+ <el-option v-for="item in industry" :key="item.id" :label="item.name" :value="item.id" />
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="工单编码" prop="No">
|
|
<el-form-item label="工单编码" prop="No">
|
|
@@ -23,19 +23,19 @@
|
|
</template>
|
|
</template>
|
|
<template #toolbar_buttons>
|
|
<template #toolbar_buttons>
|
|
<el-button type="primary" @click="onUnPublic" v-auth="'snapshot:publish:index:notPublic'" :disabled="isChecked" :loading="state.loading"
|
|
<el-button type="primary" @click="onUnPublic" v-auth="'snapshot:publish:index:notPublic'" :disabled="isChecked" :loading="state.loading"
|
|
- ><SvgIcon name="ele-Edit" class="mr5" />不公开<span v-if="checkTable.length">({{ checkTable.length }})</span>
|
|
|
|
|
|
+ ><SvgIcon name="ele-Edit" class="mr5" />不公开<span v-if="checkTable.length">({{ checkTable.length }})</span>
|
|
</el-button>
|
|
</el-button>
|
|
</template>
|
|
</template>
|
|
<template #action="{ row }">
|
|
<template #action="{ row }">
|
|
<el-button type="primary" @click="onApply(row)" v-auth="'snapshot:publish:index:apply'" link> 申请 </el-button>
|
|
<el-button type="primary" @click="onApply(row)" v-auth="'snapshot:publish:index:apply'" link> 申请 </el-button>
|
|
</template>
|
|
</template>
|
|
- <template #statusText="{ row }">
|
|
|
|
- <el-text type="danger" tag="b" v-if="[1, 2, 3, 9, 101, 102, 103, 104, 105, 200].includes(row.status)">{{ row.statusText }}</el-text>
|
|
|
|
- <span v-else>{{ row.statusText }}</span>
|
|
|
|
|
|
+ <template #statusTxt="{ row }">
|
|
|
|
+ <el-text type="danger" tag="b" v-if="[1, 2, 3, 9, 101, 102, 103, 104, 105, 200].includes(row.status)">{{ row.statusTxt }}</el-text>
|
|
|
|
+ <span v-else>{{ row.statusTxt }}</span>
|
|
</template>
|
|
</template>
|
|
-<!-- snapshot:publish:index:apply-->
|
|
|
|
|
|
+ <!-- snapshot:publish:index:apply-->
|
|
<template #order_detail="{ row }">
|
|
<template #order_detail="{ row }">
|
|
- <order-detail :order="{id: row.orderId}" @updateList="queryList">{{ row.title }}</order-detail>
|
|
|
|
|
|
+ <order-detail :order="row" @updateList="queryList">{{ row.title }}</order-detail>
|
|
</template>
|
|
</template>
|
|
<template #pager>
|
|
<template #pager>
|
|
<pagination
|
|
<pagination
|
|
@@ -51,20 +51,22 @@
|
|
<!-- 更多查询 -->
|
|
<!-- 更多查询 -->
|
|
<el-drawer v-model="drawer" title="更多查询" size="500px">
|
|
<el-drawer v-model="drawer" title="更多查询" size="500px">
|
|
<el-form :model="state.queryParams" ref="drawerRuleFormRef" @submit.native.prevent label-width="100px">
|
|
<el-form :model="state.queryParams" ref="drawerRuleFormRef" @submit.native.prevent label-width="100px">
|
|
- <el-form-item label="是否公开" prop="SnapshotBulletinTypeName">
|
|
|
|
- <el-select v-model="state.queryParams.SnapshotBulletinTypeName" placeholder="请选择是否公开" clearable>
|
|
|
|
- <el-option label="是" :value="true" />
|
|
|
|
- <el-option label="否" :value="false" />
|
|
|
|
|
|
+ <el-form-item label="是否公开" prop="IsPublished">
|
|
|
|
+ <el-select v-model="state.queryParams.IsPublished" placeholder="请选择是否公开" clearable @change="handleQuery">
|
|
|
|
+ <el-option label="公开" :value="true" />
|
|
|
|
+ <el-option label="不公开" :value="false" />
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="受理类型" prop="No">
|
|
|
|
- <el-input v-model="state.queryParams.No" placeholder="请填写受理类型" clearable @keyup.enter="handleQuery" />
|
|
|
|
|
|
+ <el-form-item label="受理类型" prop="AcceptTypeCode">
|
|
|
|
+ <el-select v-model="state.queryParams.AcceptTypeCode" clearable class="w100" placeholder="请选择工单状态" @change="handleQuery">
|
|
|
|
+ <el-option v-for="item in acceptCode" :key="item.key" :label="item.value" :value="item.key" />
|
|
|
|
+ </el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="来电号码" prop="DepartmentName">
|
|
|
|
- <el-input v-model="state.queryParams.DepartmentName" placeholder="请填写来电号码" clearable @keyup.enter="handleQuery" />
|
|
|
|
|
|
+ <el-form-item label="来电号码" prop="FromPhone">
|
|
|
|
+ <el-input v-model="state.queryParams.FromPhone" placeholder="请填写来电号码" clearable @keyup.enter="handleQuery" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="联系电话" prop="CreatorName">
|
|
|
|
- <el-input v-model="state.queryParams.CreatorName" placeholder="请填写联系电话" clearable @keyup.enter="handleQuery" />
|
|
|
|
|
|
+ <el-form-item label="联系电话" prop="Contact">
|
|
|
|
+ <el-input v-model="state.queryParams.Contact" placeholder="请填写联系电话" clearable @keyup.enter="handleQuery" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="受理时间" prop="slTime">
|
|
<el-form-item label="受理时间" prop="slTime">
|
|
<el-date-picker
|
|
<el-date-picker
|
|
@@ -80,14 +82,14 @@
|
|
:default-time="defaultTimeStartEnd"
|
|
:default-time="defaultTimeStartEnd"
|
|
/>
|
|
/>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="工单状态" prop="Status">
|
|
|
|
- <el-select v-model="state.queryParams.Status" class="w100" placeholder="请选择工单状态" @change="handleQuery">
|
|
|
|
- <el-option v-for="item in state.statusOptions" :key="item.key" :label="item.value" :value="item.key" />
|
|
|
|
|
|
+ <el-form-item label="工单状态" prop="OrderStatus">
|
|
|
|
+ <el-select v-model="state.queryParams.OrderStatus" class="w100" clearable placeholder="请选择工单状态" @change="handleQuery">
|
|
|
|
+ <el-option v-for="item in orderStatus" :key="item.key" :label="item.value" :value="item.key" />
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="区域信息" prop="Status">
|
|
|
|
- <el-select v-model="state.queryParams.Status" class="w100" placeholder="请选择区域信息" @change="handleQuery">
|
|
|
|
- <el-option v-for="item in state.statusOptions" :key="item.key" :label="item.value" :value="item.key" />
|
|
|
|
|
|
+ <el-form-item label="区域信息" prop="AreaCode">
|
|
|
|
+ <el-select v-model="state.queryParams.AreaCode" class="w100" clearable placeholder="请选择区域信息" @change="handleQuery">
|
|
|
|
+ <el-option v-for="item in area" :key="item.key" :label="item.value" :value="item.key" />
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
@@ -103,15 +105,16 @@
|
|
|
|
|
|
<script lang="tsx" setup name="snapshotPublishIndex">
|
|
<script lang="tsx" setup name="snapshotPublishIndex">
|
|
import { computed, defineAsyncComponent, onMounted, reactive, ref } from 'vue';
|
|
import { computed, defineAsyncComponent, onMounted, reactive, ref } from 'vue';
|
|
-import { ElMessageBox, FormInstance } from 'element-plus';
|
|
|
|
|
|
+import { ElMessage, ElMessageBox, FormInstance } from 'element-plus';
|
|
import { getOrderMarkList } from '@/api/snapshot/handle';
|
|
import { getOrderMarkList } from '@/api/snapshot/handle';
|
|
import Other from '@/utils/other';
|
|
import Other from '@/utils/other';
|
|
import { defaultTimeStartEnd, shortcuts } from '@/utils/constants';
|
|
import { defaultTimeStartEnd, shortcuts } from '@/utils/constants';
|
|
|
|
+import { centerDataListBasicData, centerPublishList, centerPublishSetNotPublic } from '@/api/snapshot/publish';
|
|
|
|
|
|
// 引入组件
|
|
// 引入组件
|
|
const pagination = defineAsyncComponent(() => import('@/components/ProTable/components/Pagination.vue')); // 分页
|
|
const pagination = defineAsyncComponent(() => import('@/components/ProTable/components/Pagination.vue')); // 分页
|
|
const OrderDetail = defineAsyncComponent(() => import('@/components/OrderDetail/index.vue')); // 工单详情
|
|
const OrderDetail = defineAsyncComponent(() => import('@/components/OrderDetail/index.vue')); // 工单详情
|
|
-const OrderPublish = defineAsyncComponent(() => import('@/views/snapshot/publish/components/Order-publish.vue')); // 公开
|
|
|
|
|
|
+const OrderPublish = defineAsyncComponent(() => import('@/views/snapshot/publish/components/Order-publish.vue')); // 公开
|
|
|
|
|
|
// 定义变量内容
|
|
// 定义变量内容
|
|
const state = reactive<any>({
|
|
const state = reactive<any>({
|
|
@@ -120,10 +123,18 @@ const state = reactive<any>({
|
|
// 查询参数
|
|
// 查询参数
|
|
PageIndex: 1,
|
|
PageIndex: 1,
|
|
PageSize: 20,
|
|
PageSize: 20,
|
|
- Status: 1, // 默认待标注
|
|
|
|
- No: null, // 工单编码
|
|
|
|
- Title: null, // 工单标题
|
|
|
|
- slTime:[],
|
|
|
|
|
|
+ IndustryId: null, // 行业
|
|
|
|
+ No: null, // 工单编号
|
|
|
|
+ Title: null, // 标题
|
|
|
|
+ IsPublished: null, // 是否公开
|
|
|
|
+ AcceptTypeCode: null, // 受理类型
|
|
|
|
+ FromPhone: null, // 来电号码
|
|
|
|
+ Contact: null, // 联系电话
|
|
|
|
+ slTime: [], // 受理时间
|
|
|
|
+ BeginCreationTime: null,
|
|
|
|
+ EndCreationTime: null,
|
|
|
|
+ OrderStatus: null, // 工单状态
|
|
|
|
+ AreaCode: null, // 区域信息
|
|
},
|
|
},
|
|
total: 0, // 总条数
|
|
total: 0, // 总条数
|
|
});
|
|
});
|
|
@@ -160,16 +171,16 @@ const gridOptions = reactive<any>({
|
|
columns: [
|
|
columns: [
|
|
{ type: 'checkbox', width: 50, align: 'center' },
|
|
{ type: 'checkbox', width: 50, align: 'center' },
|
|
{
|
|
{
|
|
- field: 'no',
|
|
|
|
|
|
+ field: 'publishStatusTxt',
|
|
title: '状态',
|
|
title: '状态',
|
|
width: 100,
|
|
width: 100,
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- field: 'statusText',
|
|
|
|
|
|
+ field: 'statusTxt',
|
|
title: '工单状态',
|
|
title: '工单状态',
|
|
width: 110,
|
|
width: 110,
|
|
slots: {
|
|
slots: {
|
|
- default: 'statusText',
|
|
|
|
|
|
+ default: 'statusTxt',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
{
|
|
@@ -195,7 +206,7 @@ const gridOptions = reactive<any>({
|
|
width: 150,
|
|
width: 150,
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- field: 'county',
|
|
|
|
|
|
+ field: 'fromPhone',
|
|
title: '电话',
|
|
title: '电话',
|
|
width: 140,
|
|
width: 140,
|
|
},
|
|
},
|
|
@@ -205,9 +216,14 @@ const gridOptions = reactive<any>({
|
|
width: 400,
|
|
width: 400,
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- field: 'county',
|
|
|
|
|
|
+ field: 'isTruth',
|
|
title: '网格员是否属实',
|
|
title: '网格员是否属实',
|
|
width: 140,
|
|
width: 140,
|
|
|
|
+ slots: {
|
|
|
|
+ default: ({ row }) => {
|
|
|
|
+ return row.isTruth === null ? '' : row.isTruth ? '是' : '否';
|
|
|
|
+ },
|
|
|
|
+ },
|
|
},
|
|
},
|
|
{ title: '操作', width: 90, fixed: 'right', showOverflow: false, align: 'center', slots: { default: 'action' } },
|
|
{ title: '操作', width: 90, fixed: 'right', showOverflow: false, align: 'center', slots: { default: 'action' } },
|
|
],
|
|
],
|
|
@@ -224,7 +240,7 @@ const queryList = () => {
|
|
state.loading = true;
|
|
state.loading = true;
|
|
gridOptions.loading = true;
|
|
gridOptions.loading = true;
|
|
requestParams.value = Other.deepClone(state.queryParams);
|
|
requestParams.value = Other.deepClone(state.queryParams);
|
|
- getOrderMarkList(requestParams.value)
|
|
|
|
|
|
+ centerPublishList(requestParams.value)
|
|
.then((res) => {
|
|
.then((res) => {
|
|
state.loading = false;
|
|
state.loading = false;
|
|
gridOptions.data = res.result.items ?? [];
|
|
gridOptions.data = res.result.items ?? [];
|
|
@@ -274,11 +290,11 @@ const isChecked = computed(() => {
|
|
|
|
|
|
// 申请
|
|
// 申请
|
|
const orderPublishRef = ref<RefType>();
|
|
const orderPublishRef = ref<RefType>();
|
|
-const onApply = (row:any)=>{
|
|
|
|
|
|
+const onApply = (row: any) => {
|
|
orderPublishRef.value.openDialog(row);
|
|
orderPublishRef.value.openDialog(row);
|
|
-}
|
|
|
|
|
|
+};
|
|
// 不公开
|
|
// 不公开
|
|
-const onUnPublic = ()=>{
|
|
|
|
|
|
+const onUnPublic = () => {
|
|
const ids = checkTable.value.map((item: any) => item.id);
|
|
const ids = checkTable.value.map((item: any) => item.id);
|
|
ElMessageBox.confirm(`您确认要不公开选中的记录?`, '提示', {
|
|
ElMessageBox.confirm(`您确认要不公开选中的记录?`, '提示', {
|
|
confirmButtonText: '确认',
|
|
confirmButtonText: '确认',
|
|
@@ -289,16 +305,35 @@ const onUnPublic = ()=>{
|
|
autofocus: false,
|
|
autofocus: false,
|
|
})
|
|
})
|
|
.then(() => {
|
|
.then(() => {
|
|
- /* deleteCommon({ ids }).then(() => {
|
|
|
|
|
|
+ centerPublishSetNotPublic(ids).then(() => {
|
|
ElMessage.success('操作成功');
|
|
ElMessage.success('操作成功');
|
|
queryList();
|
|
queryList();
|
|
- });*/
|
|
|
|
|
|
+ });
|
|
})
|
|
})
|
|
.catch(() => {});
|
|
.catch(() => {});
|
|
-}
|
|
|
|
|
|
+};
|
|
|
|
+// 获取基础数据
|
|
|
|
+const acceptCode = ref<EmptyArrayType>([]);
|
|
|
|
+const area = ref<EmptyArrayType>([]);
|
|
|
|
+const orderStatus = ref<EmptyArrayType>([]);
|
|
|
|
+const publishStatus = ref<EmptyArrayType>([]);
|
|
|
|
+const industry = ref<EmptyArrayType>([]);
|
|
|
|
+const getBaseData = async () => {
|
|
|
|
+ try {
|
|
|
|
+ const { result } = await centerDataListBasicData();
|
|
|
|
+ acceptCode.value = result.acceptCode;
|
|
|
|
+ area.value = result.area;
|
|
|
|
+ orderStatus.value = result.orderStatus;
|
|
|
|
+ publishStatus.value = result.publishStatus;
|
|
|
|
+ industry.value = result.industry;
|
|
|
|
+ } catch (e) {
|
|
|
|
+ console.log(e);
|
|
|
|
+ }
|
|
|
|
+};
|
|
// 页面加载时
|
|
// 页面加载时
|
|
onMounted(() => {
|
|
onMounted(() => {
|
|
queryList();
|
|
queryList();
|
|
|
|
+ getBaseData();
|
|
});
|
|
});
|
|
</script>
|
|
</script>
|
|
|
|
|