|
@@ -1,16 +1,71 @@
|
|
<template>
|
|
<template>
|
|
<basic-container>
|
|
<basic-container>
|
|
|
|
+ <div class="search-content">
|
|
|
|
+ <el-form :model="searchFrom" label-width="120px">
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :span="6">
|
|
|
|
+ <el-form-item label="年度">
|
|
|
|
+ <el-date-picker clearable class="w100" v-model="searchFrom.year" type="year" placeholder="选择年" format="yyyy" value-format="yyyy"> </el-date-picker>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="6">
|
|
|
|
+ <el-form-item label="季度">
|
|
|
|
+ <el-select v-model="searchFrom.quarter" placeholder="请选择服务类型" class="w100" clearable>
|
|
|
|
+ <el-option label="第一季度" :value="1"></el-option>
|
|
|
|
+ <el-option label="第二季度" :value="2"></el-option>
|
|
|
|
+ <el-option label="第三季度" :value="3"></el-option>
|
|
|
|
+ <el-option label="第四季度" :value="4"></el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="6">
|
|
|
|
+ <el-form-item label="代表提交时间">
|
|
|
|
+ <el-date-picker class="w100" clearable v-model="searchFrom.createTime" type="date" placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd">
|
|
|
|
+ </el-date-picker>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="6">
|
|
|
|
+ <el-form-item label="服务类型">
|
|
|
|
+ <el-select v-model="searchFrom.taskTypeId" placeholder="请选择服务类型" class="w100" clearable>
|
|
|
|
+ <el-option :label="item.name" :value="item.id" v-for="item in taskTypeAvailArr" :key="item.id"></el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :span="6">
|
|
|
|
+ <el-form-item label="服务包所属省份">
|
|
|
|
+ <el-select v-model="searchFrom.provAbbr" placeholder="请选择省份" class="w100" clearable>
|
|
|
|
+ <el-option v-for="province in abbreviationsProvincesList" :key="province" :label="province" :value="province" />
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="6">
|
|
|
|
+ <el-form-item label="生产企业">
|
|
|
|
+ <el-select v-model="searchFrom.provAbbr" placeholder="请选择省份" class="w100" clearable>
|
|
|
|
+ <el-option v-for="item in mahNameArr" :key="mahNameArr" :label="item.label" :value="item.value" />
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="6">
|
|
|
|
+ <el-button type="success" @click="clickBtn">搜索</el-button>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ </el-form>
|
|
|
|
+ </div>
|
|
<vxe-table border allAlign="center" show-overflow highlight-hover-row height="1000" :loading="tableLoading" :data="tableData" :scroll-y="{ enabled: false }">
|
|
<vxe-table border allAlign="center" show-overflow highlight-hover-row height="1000" :loading="tableLoading" :data="tableData" :scroll-y="{ enabled: false }">
|
|
<vxe-table-column type="seq" title="序号" width="100"></vxe-table-column>
|
|
<vxe-table-column type="seq" title="序号" width="100"></vxe-table-column>
|
|
<vxe-table-column field="taskNumber" title="服务编号"></vxe-table-column>
|
|
<vxe-table-column field="taskNumber" title="服务编号"></vxe-table-column>
|
|
<vxe-table-column field="pkgName" title="执行包名称"></vxe-table-column>
|
|
<vxe-table-column field="pkgName" title="执行包名称"></vxe-table-column>
|
|
<vxe-table-column field="taskTypeName" title="服务类型" width="200"></vxe-table-column>
|
|
<vxe-table-column field="taskTypeName" title="服务类型" width="200"></vxe-table-column>
|
|
- <vxe-table-column field="taskScore" title="服务分值"></vxe-table-column>
|
|
|
|
- <vxe-table-column field="salesName" title="推广员姓名"></vxe-table-column>
|
|
|
|
|
|
+ <vxe-table-column field="taskScore" title="服务分值" width="100"></vxe-table-column>
|
|
|
|
+ <vxe-table-column field="salesName" title="推广员姓名" width="150"></vxe-table-column>
|
|
<vxe-table-column field="createTime" title="服务提交时间"></vxe-table-column>
|
|
<vxe-table-column field="createTime" title="服务提交时间"></vxe-table-column>
|
|
<vxe-table-column field="taskStatusName" title="审核状态" width="100"></vxe-table-column>
|
|
<vxe-table-column field="taskStatusName" title="审核状态" width="100"></vxe-table-column>
|
|
<vxe-table-column field="entName" title="服务提供商"></vxe-table-column>
|
|
<vxe-table-column field="entName" title="服务提供商"></vxe-table-column>
|
|
<vxe-table-column field="skuName" title="服务产品"></vxe-table-column>
|
|
<vxe-table-column field="skuName" title="服务产品"></vxe-table-column>
|
|
|
|
+ <vxe-table-column field="mahName" title="所属生产企业"></vxe-table-column>
|
|
|
|
+ <vxe-table-column field="provAbbr" title="所属省份"></vxe-table-column>
|
|
</vxe-table>
|
|
</vxe-table>
|
|
<vxe-pager
|
|
<vxe-pager
|
|
:current-page.sync="page.currentPage"
|
|
:current-page.sync="page.currentPage"
|
|
@@ -25,9 +80,10 @@
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
-import { getTaskV2PageApi, getTaskTypeAvailApi } from '@/api/serviceManagement/servicesToBeReviewed/index';
|
|
|
|
|
|
+import { getTaskV2PageApi, getTaskTypeAvailApi } from '@/api/serviceManagement/servicesToBeReviewed/index.js';
|
|
import { tableOptin } from './index.js';
|
|
import { tableOptin } from './index.js';
|
|
import { getDictType } from '@/api/common';
|
|
import { getDictType } from '@/api/common';
|
|
|
|
+import abbreviationsProvinces from '@/const/abbreviationsProvinces.js';
|
|
|
|
|
|
export default {
|
|
export default {
|
|
data() {
|
|
data() {
|
|
@@ -37,6 +93,15 @@ export default {
|
|
tableLoading: false,
|
|
tableLoading: false,
|
|
taskStatusArr: [],
|
|
taskStatusArr: [],
|
|
taskTypeAvailArr: [],
|
|
taskTypeAvailArr: [],
|
|
|
|
+ mahNameArr: [],
|
|
|
|
+ abbreviationsProvincesList: abbreviationsProvinces,
|
|
|
|
+ searchFrom: {
|
|
|
|
+ year: '',
|
|
|
|
+ taskTypeId: '',
|
|
|
|
+ quarter: '',
|
|
|
|
+ createTime: '',
|
|
|
|
+ provAbbr: ''
|
|
|
|
+ },
|
|
page: {
|
|
page: {
|
|
pageSizes: [10, 50, 100, 300, 500],
|
|
pageSizes: [10, 50, 100, 300, 500],
|
|
total: 0, // 总页数
|
|
total: 0, // 总页数
|
|
@@ -47,30 +112,33 @@ export default {
|
|
},
|
|
},
|
|
async created() {
|
|
async created() {
|
|
await this.getDict();
|
|
await this.getDict();
|
|
- this.getList(this.page);
|
|
|
|
|
|
+ this.getList();
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
getDict() {
|
|
getDict() {
|
|
getDictType({ type: 'task_status' }).then((res) => {
|
|
getDictType({ type: 'task_status' }).then((res) => {
|
|
this.taskStatusArr = res.data.data;
|
|
this.taskStatusArr = res.data.data;
|
|
});
|
|
});
|
|
|
|
+ getDictType({ type: 'mah_name' }).then((res) => {
|
|
|
|
+ this.mahNameArr = res.data.data;
|
|
|
|
+ });
|
|
getTaskTypeAvailApi().then((res) => {
|
|
getTaskTypeAvailApi().then((res) => {
|
|
this.taskTypeAvailArr = res.data.data;
|
|
this.taskTypeAvailArr = res.data.data;
|
|
});
|
|
});
|
|
},
|
|
},
|
|
- async getList(page, params) {
|
|
|
|
|
|
+ async getList() {
|
|
this.tableLoading = true;
|
|
this.tableLoading = true;
|
|
const obj = Object.assign(
|
|
const obj = Object.assign(
|
|
{
|
|
{
|
|
- current: page.currentPage,
|
|
|
|
- size: page.pageSize
|
|
|
|
|
|
+ current: this.page.currentPage,
|
|
|
|
+ size: this.page.pageSize
|
|
},
|
|
},
|
|
- params,
|
|
|
|
{
|
|
{
|
|
nodeId: 1,
|
|
nodeId: 1,
|
|
year: 2024,
|
|
year: 2024,
|
|
quarter: 4
|
|
quarter: 4
|
|
- }
|
|
|
|
|
|
+ },
|
|
|
|
+ this.searchFrom
|
|
);
|
|
);
|
|
const res = await getTaskV2PageApi(obj);
|
|
const res = await getTaskV2PageApi(obj);
|
|
this.tableLoading = false;
|
|
this.tableLoading = false;
|
|
@@ -85,22 +153,16 @@ export default {
|
|
this.page.total = res.data.data.total;
|
|
this.page.total = res.data.data.total;
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
+ clickBtn() {
|
|
|
|
+ this.tableData = [];
|
|
|
|
+ this.page.currentPage = 1;
|
|
|
|
+ this.getList();
|
|
|
|
+ },
|
|
pageChange(obj) {
|
|
pageChange(obj) {
|
|
console.log('obj', obj);
|
|
console.log('obj', obj);
|
|
this.page.currentPage = obj.currentPage;
|
|
this.page.currentPage = obj.currentPage;
|
|
this.page.pageSize = obj.pageSize;
|
|
this.page.pageSize = obj.pageSize;
|
|
- this.getList(this.page);
|
|
|
|
- },
|
|
|
|
- refreshChange() {
|
|
|
|
- this.getList(this.page);
|
|
|
|
- },
|
|
|
|
- sizeChange(pageSize) {
|
|
|
|
- this.page.pageSize = pageSize;
|
|
|
|
- this.getList(this.page);
|
|
|
|
- },
|
|
|
|
- currentChange(current) {
|
|
|
|
- this.page.currentPage = current;
|
|
|
|
- this.getList(this.page);
|
|
|
|
|
|
+ this.getList();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
};
|