This commit is contained in:
2025-10-08 16:14:27 +08:00
4 changed files with 43 additions and 36 deletions

View File

@@ -5,10 +5,10 @@
"author": "srs",
"license": "MIT",
"scripts": {
"dev": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
"build:prod": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build",
"build:stage": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build --mode staging",
"build": "set NODE_OPTIONS=--openssl-legacy-provider --max-old-space-size=4096 && vite build",
"dev": "vue-cli-service serve",
"build:prod": "vue-cli-service build",
"build:stage": "vue-cli-service build --mode staging",
"build": "vite build",
"preview": "node build/index.js --preview",
"lint": "eslint --ext .js,.vue src"
},

View File

@@ -40,7 +40,8 @@
<el-button type="primary" icon="el-icon-view" size="mini" plain @click="willVClick">查看预计离校情况</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleMainExport">导出</el-button>
<el-button type="warning" plain icon="el-icon-download" size="mini"
@click="handleMainExport">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
@@ -130,13 +131,8 @@
</el-form-item>
<el-form-item label="预计离校时间" v-if="form.isLeave == '1'">
<el-date-picker
v-model="form.willLeaveTime"
type="datetime"
placeholder="选择预计离校时间"
format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss"
style="width: 100%;">
<el-date-picker v-model="form.willLeaveTime" type="datetime" placeholder="选择预计离校时间"
format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" style="width: 100%;">
</el-date-picker>
</el-form-item>
@@ -145,25 +141,13 @@
</el-form-item>
<el-form-item label="预计返校时间" v-if="form.isLeave == '1'">
<el-date-picker
v-model="form.scheduledReturnTime"
type="datetime"
placeholder="选择预计返校时间"
format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss"
style="width: 100%;">
<el-date-picker v-model="form.scheduledReturnTime" type="datetime" placeholder="选择预计返校时间"
format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" style="width: 100%;">
</el-date-picker>
</el-form-item>
<el-form-item label="预计留校时间" v-if="form.isLeave == '0'">
<el-date-picker
v-model="form.willStayTime"
type="datetime"
placeholder="选择预计留校时间"
format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss"
style="width: 100%;">
</el-date-picker>
<el-input v-model="form.willStayTime" readonly style="width: 100%;" />
</el-form-item>
<el-form-item label="留校事由" v-if="form.isLeave == '0'">
@@ -203,7 +187,8 @@
<el-button type="primary" icon="el-icon-search" size="mini" @click="lookQuery">搜索</el-button>
<el-button type="success" icon="el-icon-position" size="mini"
@click="sendMsg">向未填写学生推送企业微信消息</el-button>
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport">导出</el-button>
<el-button type="warning" plain icon="el-icon-download" size="mini"
@click="handleExport">导出</el-button>
</el-form-item>
</el-form>
<el-table :data="lookList">
@@ -234,8 +219,8 @@
</el-form-item>
</el-form>
数据更新时间:{{ new Date().toLocaleString() }}<el-button @click="exportWillLeave">导出</el-button>
<el-table id="willLeaveTable" v-if="willV" :border="true" :data="willList"
:show-summary="true" :summary-method="getSummaries" sum-text="总计">
<el-table id="willLeaveTable" v-if="willV" :border="true" :data="willList" :show-summary="true"
:summary-method="getSummaries" sum-text="总计">
<el-table-column label="班级" align="center" prop="class_name" width="180" />
<el-table-column label="学生数" align="center" prop="stu_num" />
<el-table-column label="提交数" align="center" prop="submit_num" />
@@ -500,8 +485,8 @@ export default {
this.$message.info("请选择去向调查");
return;
}
// 重置页码为1避免fromIndex > toIndex错误
this.lookParams.pageNum = 1;
// // 重置页码为1避免fromIndex > toIndex错误
// this.lookParams.pageNum = 1;
let loading = fullLoading(this);
let res = await listFdyStuLeave(this.lookParams);
loading.close();

View File

@@ -243,7 +243,9 @@ export default {
auditForm: {
}
},
surveyList:[]
};
},
created() {

View File

@@ -16,13 +16,17 @@
<el-form-item label="姓名" prop="name">
<el-input v-model="queryParams.name" placeholder="请输入姓名" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="主题" prop="surveyName">
<el-input v-model="queryParams.surveyName" placeholder="请输入主题" clearable
@keyup.enter.native="handleQuery" />
<el-form-item label="主题" prop="surveyId">
<el-select clearable v-model="queryParams.surveyId" placeholder="请选择去向调查">
<el-option v-for="item in surveyList" :key="item.surveyId" :value="item.surveyId"
:label="item.surveyName" />
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="warning" plain icon="el-icon-download" size="mini"
@click="handleExport">导出学生填写记录可以先搜索再导出</el-button>
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="itineraryList">
@@ -172,6 +176,7 @@
<script>
import { isEmpty, fullLoading } from "@/api/helpFunc";
import { listXg as listView, updateStuHomeGpsAddr } from "@/api/survey/itinerary";
import { listAllSurvey } from "@/api/survey/survey";
export default {
name: "Itinerary",
@@ -242,8 +247,23 @@ export default {
},
created() {
this.getList();
this.listAllSurvey();
},
methods: {
async listAllSurvey() {
let res = await listAllSurvey();
if (res.code == 200) {
this.surveyList = [...res.data];
}
},
handleExport() {
let sdata = { ...this.queryParams };
sdata.pageNum = null;
sdata.pageSize = null;
this.download('survey/itinerary/xgExport', {
...sdata
}, `学生假期离校返校填写记录_${new Date().getTime()}.xlsx`);
},
updateStuHomeGpsAddr() {
if (!isEmpty(this.form.homeGps) && isEmpty(this.form.homeGpsAddr)) {
let loading = fullLoading(this);