八大中心后台管理,功能修改

init
zhusiyu 3 years ago
parent 55f8162cbc
commit ba5fce5f16

@ -24,7 +24,7 @@
v-model="timeAry"
:show-time="{ format: 'HH:mm' }"
format="YYYY-MM-DD HH:mm"
:placeholder="['Start Time', 'End Time']"
:placeholder="['开始时间', '结束时间']"
@change="onRangeChange"
@ok="onRangeOk"
/>
@ -55,48 +55,60 @@
</div>
</template>
<script>
import {Spin, Button, Cascader, Input, InputNumber, Modal, Select, DatePicker,Icon,TimePicker} from 'ant-design-vue';
import {
Spin,
Button,
Cascader,
Input,
InputNumber,
Modal,
Select,
DatePicker,
Icon,
TimePicker
} from 'ant-design-vue';
import InterConfig from '../interConfig';
import locale from 'ant-design-vue/es/date-picker/locale/zh_CN';
import moment from 'moment';
import ATextarea from "ant-design-vue/es/input/TextArea";
import Upload from '../../../../../../components/common/uploader/Upload.vue';
import SelectStudent from '../../../../../../components/common/selectPeople/SelectStudent';
export default{
export default {
props: {
absenceId:{
type:String,
default:""
absenceId: {
type: String,
default: ""
},
},
data(){
data() {
return {
pageLoading: false,
showStudentPanel:false,
absenceid:this.$props.absenceId,//
absenceCause:"",
showStudentPanel: false,
absenceid: this.$props.absenceId,//
absenceCause: "",
locale,
studentId: "",
studentName:"",
selectedPerson:[],
activityDate:"",//
activityPlace:"",//
studentName: "",
selectedPerson: [],
activityDate: "",//
activityPlace: "",//
dateFormat: "YYYY-MM-DD",
attachmentJson:[],
startTime:null,//
startTimeStr:"",
endTime:null,//
endTimeStr:"",
timeAry:[],
attachmentJson: [],
startTime: null,//
startTimeStr: "",
endTime: null,//
endTimeStr: "",
timeAry: [],
}
},
created(){
created() {
if (this.$props.absenceId !== "") {
this.getInfo();
}
},
methods: {
showChoose:function () {
showChoose: function () {
this.showStudentPanel = true;
},
closeStudentPanel: function () {
@ -109,29 +121,29 @@
this.studentId = objAry[0].student_id;
this.studentName = objAry[0].student_name;
let student = {
student_id:this.studentId,
student_name:this.studentName,
student_id: this.studentId,
student_name: this.studentName,
}
this.selectedPerson.push(student);
}
}
this.showStudentPanel = false;
},
clearStudent:function(){
clearStudent: function () {
this.studentId = "";
this.studentName = "";
this.selectedPerson = [];
},
onRangeChange:function(value,dateString){
if(dateString.length > 0){
onRangeChange: function (value, dateString) {
if (dateString.length > 0) {
this.startTime = value[0];
this.startTimeStr = dateString[0];
this.endTime = value[1];
this.endTimeStr = dateString[1];
this.timeAry = [this.startTime,this.endTime];
this.timeAry = [this.startTime, this.endTime];
}
},
onRangeOk:function(value){
onRangeOk: function (value) {
},
onStartChange(value, dateString) {
@ -156,27 +168,27 @@
if (resData.code === 2000) {
let info = resData.data;
this.absenceCause = info.absence_cause;
this.startTime = moment(info.start_time,'YYYY-MM-DD HH:mm');
this.startTimeStr =info.start_time;
this.endTime = moment(info.end_time,'YYYY-MM-DD HH:mm');
this.endTimeStr =info.end_time;
this.timeAry = [this.startTime,this.endTime];
this.startTime = moment(info.start_time, 'YYYY-MM-DD HH:mm');
this.startTimeStr = info.start_time;
this.endTime = moment(info.end_time, 'YYYY-MM-DD HH:mm');
this.endTimeStr = info.end_time;
this.timeAry = [this.startTime, this.endTime];
this.studentId = info.student_id;
this.studentName = info.student_name;
this.selectedPerson.push({
student_id:info.student_id,
student_name:info.student_name,
student_id: info.student_id,
student_name: info.student_name,
});
if(Object.keys(info.attachment_json).length > 0){
if (Object.keys(info.attachment_json).length > 0) {
this.attachmentJson.push(info.attachment_json);
}
if(Array.isArray(info.attachment_json)){
if (Array.isArray(info.attachment_json)) {
this.attachmentJson = info.attachment_json;
}
}
})
},
certificateFile:function(file){
certificateFile: function (file) {
this.attachmentJson = file;
},
submit: function () {
@ -196,14 +208,6 @@
})
return;
}
if (this.startTimeStr === "") {
Modal.warning({
title: "请选择会议开始时间",
content: "",
centered: true
})
return;
}
if (this.startTimeStr === "") {
Modal.warning({
title: "请选择缺勤开始时间",
@ -221,16 +225,16 @@
return;
}
let param = {
student_id:this.studentId,
student_id: this.studentId,
absence_cause: this.absenceCause,
start_time:this.startTimeStr,
end_time:this.endTimeStr,
attachment_json:JSON.stringify(this.attachmentJson),
start_time: this.startTimeStr,
end_time: this.endTimeStr,
attachment_json: JSON.stringify(this.attachmentJson),
person_id: this.BaseConfig.userInfo.person_id,
identity_id: this.BaseConfig.userInfo.identity_id,
bureau_id: this.BaseConfig.person_info_my.bureau_id,
}
if(this.$props.absenceId !== ""){
if (this.$props.absenceId !== "") {
param.absence_id = this.$props.absenceId;
}
this.pageLoading = true;
@ -263,10 +267,10 @@
ASelectOption: Select.Option,
AInput: Input,
ADatePicker: DatePicker,
ARangePicker:DatePicker.RangePicker,
ARangePicker: DatePicker.RangePicker,
Upload,
AButton: Button,
AIcon:Icon,
AIcon: Icon,
SelectStudent
}
}
@ -277,108 +281,130 @@
height: auto;
font-size: 1rem;
color: black;
.add-record-row-style {
width: 50%;
min-height: 3rem;
margin: 0.5rem auto;
display: flex;
.li-box {
min-height: 3rem;
line-height: 3rem;
.must-option-style {
color: red;
margin-right: 0.2rem;
}
}
.li-left {
width: 15%;
text-align: right;
}
.li-right {
width: 85%;
.person-list-content-style {
width: 700px;
height: 500px;
background-color: #ebebeb;
.list-content-style {
width: 100%;
height: 100%;
display: flex;
flex-wrap: wrap;
.honor-person-info {
width: auto;
height: 180px;
border: 1px solid #31a8fa;
margin: 0.5rem 0 0 0.5rem;
display: flex;
flex-direction: column;
justify-content: center;
.person-name {
width: 100%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
text-align: center;
}
/deep/ .img-style {
margin-right: 0 !important;
}
}
}
}
.ant-select {
width: 100px;
}
.no-border-input-style {
border-top: 0 !important;
border-left: 0 !important;
border-right: 0 !important;
}
.photo-container-style {
display: flex;
align-items: center;
align-content: center;
justify-content: center;
justify-items: center;
width: 120px !important;
border: 1px solid #e5e5e5;
height: 160px;
background-color: white;
position: relative;
.operate-class {
position: absolute;
bottom: 0.1rem;
color: #31a8fa;
font-size: 1rem;
cursor: pointer;
display: none;
}
.photo-size-style {
display: flex;
align-items: center;
align-content: center;
justify-items: center;
justify-content: center;
}
}
.edit-style {
&:hover {
.operate-class {
display: inline-block;
}
}
}
}
}
.button-row-style {
width: 50%;
margin: auto;
display: flex;
justify-content: center;
align-items: center;
.button-style {
margin-left: 0.5rem;
}
}
.add-record-row-style {
width: 50%;
min-height: 3rem;
margin: 0.5rem auto;
display: flex;
.li-box {
min-height: 3rem;
line-height: 3rem;
.must-option-style {
color: red;
margin-right: 0.2rem;
}
}
.li-left {
width: 15%;
text-align: right;
}
.li-right {
width: 85%;
.person-list-content-style {
width: 700px;
height: 500px;
background-color: #ebebeb;
.list-content-style {
width: 100%;
height: 100%;
display: flex;
flex-wrap: wrap;
.honor-person-info {
width: auto;
height: 180px;
border: 1px solid #31a8fa;
margin: 0.5rem 0 0 0.5rem;
display: flex;
flex-direction: column;
justify-content: center;
.person-name {
width: 100%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
text-align: center;
}
/deep/ .img-style {
margin-right: 0 !important;
}
}
}
}
.ant-select {
width: 100px;
}
.no-border-input-style {
border-top: 0 !important;
border-left: 0 !important;
border-right: 0 !important;
}
.photo-container-style {
display: flex;
align-items: center;
align-content: center;
justify-content: center;
justify-items: center;
width: 120px !important;
border: 1px solid #e5e5e5;
height: 160px;
background-color: white;
position: relative;
.operate-class {
position: absolute;
bottom: 0.1rem;
color: #31a8fa;
font-size: 1rem;
cursor: pointer;
display: none;
}
.photo-size-style {
display: flex;
align-items: center;
align-content: center;
justify-items: center;
justify-content: center;
}
}
.edit-style {
&
:hover {
.operate-class {
display: inline-block;
}
}
}
}
}
.button-row-style {
width: 50%;
margin: auto;
display: flex;
justify-content: center;
align-items: center;
.button-style {
margin-left: 0.5rem;
}
}
}
</style>

@ -15,11 +15,25 @@
</div>
<div class="add-record-row-style">
<div class="li-box li-left"><span class="must-option-style">*</span>优秀教师</div>
<div class="li-box li-right">
<div class="li-box li-right liList">
<a-button type="primary" class="button-style" @click="showChoose"></a-button>
<div>
{{teacherNames}}
</div>
<!-- <div>-->
<!-- {{teacherNames}}-->
<!-- </div>-->
<a-list :data-source="listData">
<a-list-item v-for="(item,i) in listData" :key="i">
<span class="name">{{item.person_name}}</span>
<span class="listData_title">所属单位{{item.bureau_name}}</span>
<a-popconfirm title="确定删除本条信息吗?"
ok-text="确认"
cancel-text="取消"
@confirm="confirmDelete(i)"
@cancel="cancelDelete">
<a href="#" style="color: #1890FF">删除</a>
</a-popconfirm>
</a-list-item>
</a-list>
</div>
</div>
<div class="add-record-row-style button-row-style">
@ -46,7 +60,9 @@
Select,
DatePicker,
Icon,
TimePicker
TimePicker,
List,
Popconfirm,
} from 'ant-design-vue';
import InterConfig from '../interConfig';
import moment from 'moment';
@ -70,6 +86,7 @@
excellentListJson: [],//
teacherNames: "",
selectTeacherAry: [],
listData: [],
}
},
created() {
@ -95,7 +112,6 @@
this.excellentDescribe = info.excellent_describe;
let detailList = info.detail_list;
this.excellentListJson = detailList;
console.log('excellentListJson', this.excellentListJson)
for (let i = 0, len = detailList.length; i < len; i++) {
this.teacherNames += detailList[i].teacher_name;
let person = {
@ -135,7 +151,6 @@
})
return;
}
let param = {
excellent_name: this.excellentName,
excellent_describe: this.excellentDescribe,
@ -173,6 +188,7 @@
this.showPeoplePanel = false;
},
selectComplete: function (ary) {
this.listData = ary[0]
let teacherAry = [];
if (ary && ary.length > 0) {
let objAry = ary[0];
@ -209,6 +225,12 @@
showChoose: function () {
this.showPeoplePanel = true;
},
confirmDelete(val) {
this.listData.splice(val, 1)
},
cancelDelete(val) {
},
},
components: {
ATextarea,
@ -221,7 +243,11 @@
Upload,
AButton: Button,
AIcon: Icon,
SelectPeople
SelectPeople,
AList: List,
AListItem: List.Item,
AListItemMeta: List.Item.Meta,
APopconfirm: Popconfirm,
}
}
</script>
@ -253,6 +279,21 @@
text-align: right;
}
.liList {
width: 60% !important;
.name {
display: inline-block;
width: 80px;
}
.delete {
cursor: pointer;
color: #1990FF;
}
}
.li-right {
width: 85%;

@ -20,13 +20,13 @@
<div class="add-record-row-style">
<div class="li-box li-left"><span class="must-option-style">*</span>开始时间</div>
<div class="li-box li-right">
<a-time-picker :value="startTime" @change="onStartChange"/>
<a-time-picker :value="startTime" @change="onStartChange" :placeholder="startHolder"/>
</div>
</div>
<div class="add-record-row-style">
<div class="li-box li-left"><span class="must-option-style">*</span>结束时间</div>
<div class="li-box li-left">结束时间</div>
<div class="li-box li-right">
<a-time-picker :value="endTime" @change="onEndChange"/>
<a-time-picker :value="endTime" @change="onEndChange" :placeholder="endHolder"/>
</div>
</div>
<div class="add-record-row-style">
@ -36,7 +36,7 @@
</div>
</div>
<div class="add-record-row-style">
<div class="li-box li-left"><span class="must-option-style">*</span>教师名单</div>
<div class="li-box li-left"><span class="must-option-style">*</span>与会成员</div>
<div class="li-box li-right">
<a-textarea v-model="attendees" placeholder="请输入参会教师名单"/>
</div>
@ -57,37 +57,51 @@
</div>
</template>
<script>
import {Spin, Button, Cascader, Input, InputNumber, Modal, Select, DatePicker,Icon,TimePicker} from 'ant-design-vue';
import {
Spin,
Button,
Cascader,
Input,
InputNumber,
Modal,
Select,
DatePicker,
Icon,
TimePicker
} from 'ant-design-vue';
import InterConfig from '../interConfig';
import locale from 'ant-design-vue/es/date-picker/locale/zh_CN';
import moment from 'moment';
import ATextarea from "ant-design-vue/es/input/TextArea";
import Upload from '../../../../../../components/common/uploader/Upload.vue';
export default{
export default {
props: {
meetingId: {
type: String,
default: ""
}
},
data(){
data() {
return {
pageLoading: false,
locale,
meetingTitle: "",//
meetingDate:"",//
startTime:null,//
startTimeStr:"",
endTime:null,//
endTimeStr:"",
meetingPlace:"",//
attendees:"",//
meetingDate: "",//
startTime: null,//
startTimeStr: "",
endTime: null,//
endTimeStr: "",
meetingPlace: "",//
attendees: "",//
remark: "",//
dateFormat: "YYYY-MM-DD",
timeFormat: "HH:mm",
endHolder: '结束时间',
startHolder: '开始时间',
}
},
created(){
created() {
if (this.$props.meetingId !== "") {
this.getInfo();
}
@ -108,6 +122,7 @@
this.startTimeStr = dateString;
},
onEndChange(value, dateString) {
// this,startTime
this.endTime = value;
this.endTimeStr = dateString;
},
@ -126,10 +141,10 @@
let info = resData.data;
this.meetingTitle = info.meeting_title;
this.meetingDate = info.meeting_date;
this.startTime = moment(info.start_time,'HH:mm');
this.startTimeStr =info.start_time;
this.endTime = moment(info.end_time,'HH:mm');
this.endTimeStr =info.end_time;
this.startTime = moment(info.start_time, 'HH:mm');
this.startTimeStr = info.start_time;
this.endTime = moment(info.end_time, 'HH:mm');
this.endTimeStr = info.end_time;
this.meetingPlace = info.meeting_place;
this.attendees = info.attendees;
this.remark = info.remark;
@ -153,9 +168,9 @@
})
return;
}
if (this.endTimeStr === "") {
if (this.endTime - this.startTime <= 0) {
Modal.warning({
title: "请选择会议结束时间",
title: "请选择正确的开始结束时间",
content: "",
centered: true
})
@ -178,18 +193,18 @@
return;
}
let param = {
meeting_title:this.meetingTitle,
meeting_title: this.meetingTitle,
meeting_date: this.meetingDate,
start_time:this.startTimeStr,
end_time:this.endTimeStr,
start_time: this.startTimeStr,
end_time: this.endTimeStr,
meeting_place: this.meetingPlace,
attendees:this.attendees,
remark:this.remark,
attendees: this.attendees,
remark: this.remark,
person_id: this.BaseConfig.userInfo.person_id,
identity_id: this.BaseConfig.userInfo.identity_id,
bureau_id: this.BaseConfig.person_info_my.bureau_id,
}
if(this.$props.meetingId !== ""){
if (this.$props.meetingId !== "") {
param.meeting_id = this.$props.meetingId;
}
this.pageLoading = true;
@ -222,10 +237,10 @@
ASelectOption: Select.Option,
AInput: Input,
ADatePicker: DatePicker,
ATimePicker:TimePicker,
ATimePicker: TimePicker,
Upload,
AButton: Button,
AIcon:Icon,
AIcon: Icon,
}
}
</script>
@ -235,108 +250,134 @@
height: auto;
font-size: 1rem;
color: black;
.add-record-row-style {
width: 50%;
min-height: 3rem;
margin: 0.5rem auto;
display: flex;
.li-box {
min-height: 3rem;
line-height: 3rem;
.must-option-style {
color: red;
margin-right: 0.2rem;
}
}
.li-left {
width: 15%;
text-align: right;
}
.li-right {
width: 85%;
.person-list-content-style {
width: 700px;
height: 500px;
background-color: #ebebeb;
.list-content-style {
width: 100%;
height: 100%;
display: flex;
flex-wrap: wrap;
.honor-person-info {
width: auto;
height: 180px;
border: 1px solid #31a8fa;
margin: 0.5rem 0 0 0.5rem;
display: flex;
flex-direction: column;
justify-content: center;
.person-name {
width: 100%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
text-align: center;
}
/deep/ .img-style {
margin-right: 0 !important;
}
}
}
}
.ant-select {
width: 100px;
}
.no-border-input-style {
border-top: 0 !important;
border-left: 0 !important;
border-right: 0 !important;
}
.photo-container-style {
display: flex;
align-items: center;
align-content: center;
justify-content: center;
justify-items: center;
width: 120px !important;
border: 1px solid #e5e5e5;
height: 160px;
background-color: white;
position: relative;
.operate-class {
position: absolute;
bottom: 0.1rem;
color: #31a8fa;
font-size: 1rem;
cursor: pointer;
display: none;
}
.photo-size-style {
display: flex;
align-items: center;
align-content: center;
justify-items: center;
justify-content: center;
}
}
.edit-style {
&:hover {
.operate-class {
display: inline-block;
}
}
}
}
}
.button-row-style {
width: 50%;
margin: auto;
display: flex;
justify-content: center;
align-items: center;
.button-style {
margin-left: 0.5rem;
}
}
.add-record-row-style {
width: 50%;
min-height: 3rem;
margin: 0.5rem auto;
display: flex;
.li-box {
min-height: 3rem;
line-height: 3rem;
.must-option-style {
color: red;
margin-right: 0.2rem;
}
}
.li-left {
width: 15%;
text-align: right;
}
.li-right {
width: 85%;
/deep/ .ant-calendar-picker-container {
padding-top: 80px !important;
}
.person-list-content-style {
width: 700px;
height: 500px;
background-color: #ebebeb;
.list-content-style {
width: 100%;
height: 100%;
display: flex;
flex-wrap: wrap;
.honor-person-info {
width: auto;
height: 180px;
border: 1px solid #31a8fa;
margin: 0.5rem 0 0 0.5rem;
display: flex;
flex-direction: column;
justify-content: center;
.person-name {
width: 100%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
text-align: center;
}
/deep/ .img-style {
margin-right: 0 !important;
}
}
}
}
.ant-select {
width: 100px;
}
.no-border-input-style {
border-top: 0 !important;
border-left: 0 !important;
border-right: 0 !important;
}
.photo-container-style {
display: flex;
align-items: center;
align-content: center;
justify-content: center;
justify-items: center;
width: 120px !important;
border: 1px solid #e5e5e5;
height: 160px;
background-color: white;
position: relative;
.operate-class {
position: absolute;
bottom: 0.1rem;
color: #31a8fa;
font-size: 1rem;
cursor: pointer;
display: none;
}
.photo-size-style {
display: flex;
align-items: center;
align-content: center;
justify-items: center;
justify-content: center;
}
}
.edit-style {
&
:hover {
.operate-class {
display: inline-block;
}
}
}
}
}
.button-row-style {
width: 50%;
margin: auto;
display: flex;
justify-content: center;
align-items: center;
.button-style {
margin-left: 0.5rem;
}
}
}
</style>

@ -4,23 +4,47 @@
<div class="search-and-add-style">
<div>
<span style="margin:0 0.5rem">学段名称</span>
<a-input v-model="stageName"/>
<a-select :value="stageValue" @change="stageNameChange" allowClear>
<a-select-option v-for="(item,i) in stageNameList" :key="i" :value="item">
{{ item }}
</a-select-option>
</a-select>
<!--<a-input v-model="stageName"/>-->
<span style="margin:0 0.5rem">年级名称</span>
<a-input v-model="gradeName"/>
<a-select :value="gradeNameValue" @change="gradeNameChange" allowClear>
<a-select-option v-for="(item,i) in gradeNameList" :key="i" :value="item">
{{ item }}
</a-select-option>
</a-select>
<!--<a-input v-model="gradeName"/>-->
<span style="margin:0 0.5rem">班级名称</span>
<a-input v-model="className"/>
<a-select :value="classNameValue" @change="classNameChange" allowClear>
<a-select-option v-for="(item,i) in classNameList" :key="i" :value="item">
{{ item }}
</a-select-option>
</a-select>
<!--<a-input v-model="className"/>-->
<span style="margin:0 0.5rem">学生姓名</span>
<a-input v-model="studentName"/>
<span style="margin:0 0.5rem">测试结果</span>
<a-input v-model="testResult"/>
<a-select :value="testResultValue" @change="testResultChange" allowClear>
<a-select-option v-for="(item,i) in testResultList" :key="i" :value="item">
{{ item }}
</a-select-option>
</a-select>
<!--<a-input v-model="testResult"/>-->
<a-icon type="search" :style="{fontSize: '16px', color: '#31a8fa',marginLeft:'0.5rem'}"
@click="search"/>
</div>
<div>
<a-button type="default" @click="toDownload" class="add-button-style">下载模板</a-button>
<a-button type="primary" @click="toImport" class="add-button-style" style="margin-right: 0.2rem">导入</a-button>
<a-button type="primary" @click="toAdd" class="add-button-style" style="margin-right: 0.2rem">新增</a-button>
<a-button type="danger" @click="toClear" class="add-button-style" style="margin-right: 0.2rem">清空</a-button>
<a-button type="primary" @click="toImport" class="add-button-style" style="margin-right: 0.2rem">
导入
</a-button>
<a-button type="primary" @click="toAdd" class="add-button-style" style="margin-right: 0.2rem">新增
</a-button>
<a-button type="danger" @click="toClear" class="add-button-style" style="margin-right: 0.2rem">清空
</a-button>
</div>
</div>
<a-table :columns="tableColumn" :data-source="dataList" :loading="loading" :pagination="false">
@ -44,7 +68,7 @@
</a-modal>
<import-excel :show="showImport" @cancel="cancelImport" @submitData="startImport"/>
<template v-if="pageType === 1">
<PhysicalInfo @cancel="cancel" :monitorId="monitorId" />
<PhysicalInfo @cancel="cancel" :monitorId="monitorId"/>
</template>
</div>
</template>
@ -54,6 +78,7 @@
import PhysicalInfo from './physicalInfo.vue';
import ImportExcel from '../../../../../../components/common/importExcel/importExcel.vue';
import axios from 'axios';
const tableColumn = [
{
dataIndex: 'index',
@ -105,16 +130,12 @@
scopedSlots: {customRender: 'action'},
}
]
export default{
export default {
props: ["menuId"],
data(){
data() {
return {
pageType: 0,//0 1
stageName: "",//
gradeName: "",//
className: "",//
studentName: "",//
testResult: "",//
tableColumn: tableColumn,
dataList: [],
loading: false,
@ -124,14 +145,22 @@
pageSize: 10,
totalPage: 0,
totalNum: 0,
isClear:false,//false true
showImport:false,//
isClear: false,//false true
showImport: false,//
stageNameList: [],//
stageValue: '',//
gradeNameList: [],//
gradeNameValue: '',//
classNameList: [],//
classNameValue: '',//
testResultList: [],//
testResultValue: '',//
}
},
created(){
created() {
this.getPhysicalList();
},
mounted(){
mounted() {
},
methods: {
@ -166,6 +195,7 @@
this.dataList = dataList;
this.totalNum = resData.data.total_row;
this.totalPage = resData.data.total_page;
console.log('dddddd', this.dataList)
}
})
},
@ -190,41 +220,41 @@
this.pageType = 0;
this.getPhysicalList();
},
toClear:function () {
toClear: function () {
this.isClear = true;
this.visible = true;
},
//
toDownload:function () {
toDownload: function () {
//window.location.href = window.location.protocol + "//" + window.location.host + "/dsideal_yy/pro_integration/reactProject/screenAdaptation/template/centerStudentPhysicalTemplate.xls";
//BaseConfig._action_path
window.location.href = window.location.protocol + "//" + "10.10.14.199"+ "/dsideal_yy/pro_integration/reactProject/screenAdaptation/template/centerStudentPhysicalTemplate.xls"
window.location.href = window.location.protocol + "//" + "10.10.14.199" + "/dsideal_yy/pro_integration/reactProject/screenAdaptation/template/学生体质监测数据模板.xls"
},
//
toImport:function () {
toImport: function () {
this.showImport = true;
},
//
startImport:function (file) {
startImport: function (file) {
var formDatas = new FormData();
formDatas.append("file", file);
this.showImport = false;
this.loading = true;
let url = this.BaseConfig._action_path+"/dsideal_yy/ypt/intellioa/java/center/importPhysicalData?" +
"person_id="+this.BaseConfig.userInfo.person_id+
"&identity_id="+this.BaseConfig.userInfo.identity_id+
"&bureau_id="+this.BaseConfig.person_info_my.bureau_id;
axios.post(url,formDatas).then((res)=>{
let url = this.BaseConfig._action_path + "/dsideal_yy/ypt/intellioa/java/center/importPhysicalData?" +
"person_id=" + this.BaseConfig.userInfo.person_id +
"&identity_id=" + this.BaseConfig.userInfo.identity_id +
"&bureau_id=" + this.BaseConfig.person_info_my.bureau_id;
axios.post(url, formDatas).then((res) => {
this.loading = false;
let resData = res.data;
if(resData.code === 200){
if (resData.code === 200) {
Modal.success({
title: "导入成功",
content: "",
centered: true
});
this.getPhysicalList();
}else {
} else {
let errtips = resData.msg;
Modal.error({
title: "导入失败",
@ -235,7 +265,7 @@
})
},
//
cancelImport:function () {
cancelImport: function () {
this.showImport = false;
},
//
@ -246,11 +276,11 @@
let url = "";
let method = "";
let isTestLogin = "";
if(this.isClear){
if (this.isClear) {
url = InterConfig.clearPhysical.url;
method = InterConfig.clearPhysical.method;
isTestLogin = InterConfig.clearPhysical.method;
}else {
} else {
param.monitor_ids = this.monitorId;
url = InterConfig.deletePhysical.url;
method = InterConfig.deletePhysical.method;
@ -278,6 +308,22 @@
handleCancel: function () {
this.monitorId = "";
this.visible = false;
},
//
stageNameChange(value) {
this.stageValue = value
},
//
gradeNameChange(value) {
this.gradeNameValue = value
},
//
classNameChange(value) {
this.classNameValue = value
},
//
testResultChange(value) {
this.testResultValue = value
}
},
components: {
@ -301,35 +347,43 @@
width: 100%;
height: auto;
padding: 0.5rem;
.search-and-add-style {
width: 100%;
height: 3.5rem;
background-color: white;
margin-bottom: 0.5rem;
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 0.5rem;
.ant-select {
width: 150px;
}
.ant-input {
width: 150px;
}
.add-button-style {
float: right;
}
}
.ant-table-wrapper {
/deep/ .upload-container-style {
display: flex;
justify-content: center;
align-items: center;
}
}
.ant-pagination {
margin-top: 0.5rem;
text-align: right;
}
.search-and-add-style {
width: 100%;
height: 3.5rem;
background-color: white;
margin-bottom: 0.5rem;
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 0.5rem;
.ant-select {
width: 150px;
}
.ant-input {
width: 150px;
}
.add-button-style {
float: right;
}
}
.ant-table-wrapper {
/deep/ .upload-container-style {
display: flex;
justify-content: center;
align-items: center;
}
}
.ant-pagination {
margin-top: 0.5rem;
text-align: right;
}
}
</style>

@ -5,11 +5,11 @@
<div>
<a-cascader
:field-names="{label:'createYearName',value:'createYear',children:'create_year_list'}"
:allowClear="false"
allowClear
v-model:value="defaultValue"
:options="stageList" @change="stageChange" placeholder="选择学段学年"></a-cascader>
<span style="margin:0 0.5rem">班级</span>
<a-select :value="classId" @change="classChange">
<a-select :value="classId" @change="classChange" allowClear>
<a-select-option v-for="item in classList" :key="item.class_id" :value="item.class_id">
{{ item.class_name }}
</a-select-option>

@ -4,25 +4,26 @@
<div class="search-and-add-style">
<div>
<a-cascader
allowClear
:field-names="{label:'createYearName',value:'createYear',children:'create_year_list'}"
:allowClear="false"
v-model:value="defaultValue"
:options="stageList" @change="stageChange" placeholder="选择学段学年"></a-cascader>
<span style="margin:0 0.5rem">班级</span>
<a-select :value="classId" @change="classChange">
<a-select :value="classId" @change="classChange" allowClear>
<a-select-option v-for="item in classList" :key="item.class_id" :value="item.class_id">
{{ item.class_name }}
</a-select-option>
</a-select>
<span style="margin:0 0.5rem">等级</span>
<a-select :value="levelId" @change="levelChange">
<a-select :value="levelId" @change="levelChange" allowClear>
<a-select-option v-for="item in levelList" :key="item.level_id" :value="item.level_id">
{{ item.level_name }}
</a-select-option>
</a-select>
<span style="margin:0 0.5rem">荣誉名称</span>
<a-input v-model="rewardName"/>
<a-icon type="search" :style="{fontSize: '16px', color: '#31a8fa',marginLeft:'0.5rem'}" @click="search" />
<a-icon type="search" :style="{fontSize: '16px', color: '#31a8fa',marginLeft:'0.5rem'}"
@click="search"/>
</div>
<a-button type="primary" @click="toAdd" class="add-button-style">新增</a-button>
</div>
@ -52,9 +53,10 @@
</template>
<script>
import InterConfig from '../interConfig';
import {Table, Button, Select, Modal, Divider, Cascader, Icon, Input,Pagination} from 'ant-design-vue';
import {Table, Button, Select, Modal, Divider, Cascader, Icon, Input, Pagination} from 'ant-design-vue';
import _ from 'lodash';
import StudentInfo from './studentInfo.vue';
const tableColumn = [
{
dataIndex: 'index',
@ -100,9 +102,9 @@
scopedSlots: {customRender: 'action'},
}
]
export default{
export default {
props: ["menuId"],
data(){
data() {
return {
pageType: 0,//0 1
stageId: "",
@ -132,11 +134,11 @@
totalNum: 0,
}
},
created(){
created() {
this.getStageList();
this.getRewardList();
},
mounted(){
mounted() {
},
methods: {
@ -151,6 +153,7 @@
isTestLogin: InterConfig.getSchoolStageList.isTestLogin,
}], (result) => {
let resData = result[0].data;
// console.log('',resData)
if (resData.code === 2000) {
let stageList = resData.data;
if (stageList && stageList.length > 0) {
@ -164,7 +167,7 @@
}
})
},
search:function () {
search: function () {
this.getRewardList();
},
getRewardList: function () {
@ -302,7 +305,7 @@
AIcon: Icon,
AInput: Input,
StudentInfo,
APagination:Pagination
APagination: Pagination
}
}
</script>
@ -311,35 +314,43 @@
width: 100%;
height: auto;
padding: 0.5rem;
.search-and-add-style {
width: 100%;
height: 3.5rem;
background-color: white;
margin-bottom: 0.5rem;
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 0.5rem;
.ant-select {
width: 100px;
}
.ant-input {
width: 150px;
}
.add-button-style {
float: right;
}
}
.ant-table-wrapper {
/deep/ .upload-container-style {
display: flex;
justify-content: center;
align-items: center;
}
}
.ant-pagination {
margin-top: 0.5rem;
text-align: right;
}
.search-and-add-style {
width: 100%;
height: 3.5rem;
background-color: white;
margin-bottom: 0.5rem;
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 0.5rem;
.ant-select {
width: 100px;
}
.ant-input {
width: 150px;
}
.add-button-style {
float: right;
}
}
.ant-table-wrapper {
/deep/ .upload-container-style {
display: flex;
justify-content: center;
align-items: center;
}
}
.ant-pagination {
margin-top: 0.5rem;
text-align: right;
}
}
</style>

@ -76,7 +76,7 @@
selectedPerson:[],
levelId: "",
levelList: [
{level_id: "", level_name: "全部"},
{level_id: "", level_name: ""},
{level_id: 0, level_name: "特等奖"},
{level_id: 1, level_name: "一等奖"},
{level_id: 2, level_name: "二等奖"},

@ -7,7 +7,7 @@
<a-input v-model="punishTitle"/>
<span style="margin:0 0.5rem">通报日期</span>
<a-date-picker :locale="locale"
:placeholder="['请选择日期']"
:placeholder="请选择日期"
v-model="punishDate"
:format="dateFormat"
@change="onChange"/>

@ -4,23 +4,47 @@
<div class="search-and-add-style">
<div>
<span style="margin:0 0.5rem">学段名称</span>
<a-input v-model="stageName"/>
<a-select :value="stageValue" @change="stageNameChange" allowClear>
<a-select-option v-for="(item,i) in stageNameList" :key="i" :value="item">
{{ item }}
</a-select-option>
</a-select>
<!--<a-input v-model="stageName"/>-->
<span style="margin:0 0.5rem">年级名称</span>
<a-input v-model="gradeName"/>
<a-select :value="gradeNameValue" @change="gradeNameChange" allowClear>
<a-select-option v-for="(item,i) in gradeNameList" :key="i" :value="item">
{{ item }}
</a-select-option>
</a-select>
<!--<a-input v-model="gradeName"/>-->
<span style="margin:0 0.5rem">班级名称</span>
<a-input v-model="className"/>
<a-select :value="classNameValue" @change="classNameChange" allowClear>
<a-select-option v-for="(item,i) in classNameList" :key="i" :value="item">
{{ item }}
</a-select-option>
</a-select>
<!--<a-input v-model="className"/>-->
<span style="margin:0 0.5rem">学生姓名</span>
<a-input v-model="studentName"/>
<span style="margin:0 0.5rem">测试结果</span>
<a-input v-model="testResult"/>
<a-select :value="testResultValue" @change="testResultChange" allowClear>
<a-select-option v-for="(item,i) in testResultList" :key="i" :value="item">
{{ item }}
</a-select-option>
</a-select>
<!--<a-input v-model="testResult"/>-->
<a-icon type="search" :style="{fontSize: '16px', color: '#31a8fa',marginLeft:'0.5rem'}"
@click="search"/>
</div>
<div>
<a-button type="default" @click="toDownload" class="add-button-style">下载模板</a-button>
<a-button type="primary" @click="toImport" class="add-button-style" style="margin-right: 0.2rem">导入</a-button>
<a-button type="primary" @click="toAdd" class="add-button-style" style="margin-right: 0.2rem">新增</a-button>
<a-button type="danger" @click="toClear" class="add-button-style" style="margin-right: 0.5rem">清空</a-button>
<a-button type="primary" @click="toImport" class="add-button-style" style="margin-right: 0.2rem">
导入
</a-button>
<a-button type="primary" @click="toAdd" class="add-button-style" style="margin-right: 0.2rem">新增
</a-button>
<a-button type="danger" @click="toClear" class="add-button-style" style="margin-right: 0.5rem">清空
</a-button>
</div>
</div>
<a-table :columns="tableColumn" :data-source="dataList" :loading="loading" :pagination="false">
@ -54,6 +78,7 @@
import VisionInfo from './visionInfo.vue';
import ImportExcel from '../../../../../../components/common/importExcel/importExcel.vue';
import axios from 'axios';
const tableColumn = [
{
dataIndex: 'index',
@ -105,16 +130,20 @@
scopedSlots: {customRender: 'action'},
}
]
export default{
export default {
props: ["menuId"],
data(){
data() {
return {
pageType: 0,//0 1
stageName: "",//
gradeName: "",//
className: "",//
stageNameList: [],//
stageValue: '',//
gradeNameList: [],//
gradeNameValue: '',//
classNameList: [],//
classNameValue: '',//
testResultList: [],//
testResultValue: '',//
studentName: "",//
testResult: "",//
tableColumn: tableColumn,
dataList: [],
loading: false,
@ -124,14 +153,14 @@
pageSize: 10,
totalPage: 0,
totalNum: 0,
isClear:false,//false true
showImport:false,//
isClear: false,//false true
showImport: false,//
}
},
created(){
created() {
this.getVisionList();
},
mounted(){
mounted() {
},
methods: {
@ -190,41 +219,41 @@
this.pageType = 0;
this.getVisionList();
},
toClear:function () {
toClear: function () {
this.isClear = true;
this.visible = true;
},
//
toDownload:function () {
toDownload: function () {
//window.location.href = window.location.protocol + "//" + window.location.host + "/dsideal_yy/pro_integration/reactProject/screenAdaptation/template/centerStudentPhysicalTemplate.xls";
//BaseConfig._action_path
window.location.href = window.location.protocol + "//" + "10.10.14.199"+ "/dsideal_yy/pro_integration/reactProject/screenAdaptation/template/centerStudentVisionTemplate.xls"
window.location.href = window.location.protocol + "//" + "10.10.14.199" + "/dsideal_yy/pro_integration/reactProject/screenAdaptation/template/学生近视眼监测数据模板.xls"
},
//
toImport:function () {
toImport: function () {
this.showImport = true;
},
//
startImport:function (file) {
startImport: function (file) {
var formDatas = new FormData();
formDatas.append("file", file);
this.showImport = false;
this.loading = true;
let url = this.BaseConfig._action_path+"/dsideal_yy/ypt/intellioa/java/center/importVisionData?" +
"person_id="+this.BaseConfig.userInfo.person_id+
"&identity_id="+this.BaseConfig.userInfo.identity_id+
"&bureau_id="+this.BaseConfig.person_info_my.bureau_id;
axios.post(url,formDatas).then((res)=>{
let url = this.BaseConfig._action_path + "/dsideal_yy/ypt/intellioa/java/center/importVisionData?" +
"person_id=" + this.BaseConfig.userInfo.person_id +
"&identity_id=" + this.BaseConfig.userInfo.identity_id +
"&bureau_id=" + this.BaseConfig.person_info_my.bureau_id;
axios.post(url, formDatas).then((res) => {
this.loading = false;
let resData = res.data;
if(resData.code === 200){
if (resData.code === 200) {
Modal.success({
title: "导入成功",
content: "",
centered: true
});
this.getVisionList();
}else {
} else {
let errtips = resData.msg;
Modal.error({
title: "导入失败",
@ -235,7 +264,7 @@
})
},
//
cancelImport:function () {
cancelImport: function () {
this.showImport = false;
},
//
@ -246,11 +275,11 @@
let url = "";
let method = "";
let isTestLogin = "";
if(this.isClear){
if (this.isClear) {
url = InterConfig.clearVision.url;
method = InterConfig.clearVision.method;
isTestLogin = InterConfig.clearVision.method;
}else {
} else {
param.monitor_ids = this.monitorId;
url = InterConfig.deleteVision.url;
method = InterConfig.deleteVision.method;
@ -278,11 +307,29 @@
handleCancel: function () {
this.monitorId = "";
this.visible = false;
},
//
stageNameChange(value) {
this.stageValue = value
},
//
gradeNameChange(value) {
this.gradeNameValue = value
},
//
classNameChange(value) {
this.classNameValue = value
},
//
testResultChange(value) {
this.testResultValue = value
}
},
components: {
ATable: Table,
AButton: Button,
ASelect: Select,
ASelectOption: Select.Option,
AModal: Modal,
ADivider: Divider,
AIcon: Icon,
@ -298,35 +345,43 @@
width: 100%;
height: auto;
padding: 0.5rem;
.search-and-add-style {
width: 100%;
height: 3.5rem;
background-color: white;
margin-bottom: 0.5rem;
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 0.5rem;
.ant-select {
width: 150px;
}
.ant-input {
width: 150px;
}
.add-button-style {
float: right;
}
}
.ant-table-wrapper {
/deep/ .upload-container-style {
display: flex;
justify-content: center;
align-items: center;
}
}
.ant-pagination {
margin-top: 0.5rem;
text-align: right;
}
.search-and-add-style {
width: 100%;
height: 3.5rem;
background-color: white;
margin-bottom: 0.5rem;
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 0.5rem;
.ant-select {
width: 150px;
}
.ant-input {
width: 150px;
}
.add-button-style {
float: right;
}
}
.ant-table-wrapper {
/deep/ .upload-container-style {
display: flex;
justify-content: center;
align-items: center;
}
}
.ant-pagination {
margin-top: 0.5rem;
text-align: right;
}
}
</style>

@ -5,27 +5,29 @@
<a-layout>
<a-layout-sider>
<vue-scroll :ops="listScroll" style="height:100%">
<a-menu
:default-selected-keys="defaultKeys"
mode="inline"
theme="dark"
:open-keys="openKeys"
:inline-collapsed="collapsed"
@openChange="onOpenChange"
>
<template v-for="menu,index in menuAry">
<a-sub-menu v-if="menu.children" :key="'sub-'+index">
<span slot="title"><a-icon type="mail"/><span>{{menu.title}}</span></span>
<a-menu-item v-for="child in menu.children" :key="child.id" @click="menuClick(child)">
{{child.title}}
<a-menu
:default-selected-keys="defaultKeys"
mode="inline"
theme="dark"
v-model:selectedKeys="selectedKeys"
:open-keys="openKeys"
:inline-collapsed="collapsed"
@openChange="onOpenChange"
>
<template v-for="menu,index in menuAry">
<a-sub-menu v-if="menu.children" :key="'sub-'+index">
<span slot="title"><a-icon type="mail"/><span>{{menu.title}}</span></span>
<a-menu-item v-for="child in menu.children" :key="child.id"
@click="menuClick(child)">
{{child.title}}
</a-menu-item>
</a-sub-menu>
<a-menu-item v-else :key="menu.id" @click="menuClick(menu)">
<a-icon type="pie-chart"/>
<span>{{menu.title}}</span>
</a-menu-item>
</a-sub-menu>
<a-menu-item v-else :key="menu.id" @click="menuClick(menu)">
<a-icon type="pie-chart"/>
<span>{{menu.title}}</span>
</a-menu-item>
</template>
</a-menu>
</template>
</a-menu>
</vue-scroll>
</a-layout-sider>
<a-layout-content>
@ -40,7 +42,8 @@
import {Layout, Menu, Icon} from 'ant-design-vue';
import {systemCenterConfig} from '../systemConfig';
import _ from "lodash";
export default{
export default {
props: {
id: {
type: String
@ -49,7 +52,7 @@
type: String
}
},
data(){
data() {
return {
collapsed: false,
menuAry: [],
@ -57,42 +60,54 @@
currentName: "",//
systemId: this.$props.id,
title: this.$props.name,
systemCenterList:_.cloneDeep(systemCenterConfig),
openKeys:[],
systemCenterList: _.cloneDeep(systemCenterConfig),
openKeys: [],
listScroll: this.StaticParams.scrollOption,
selectedKeys: []// key
}
},
watch:{
id:function (val) {
watch: {
id: function (val) {
this.systemId = val;
this.buildMenuAry();
},
name:function (val) {
name: function (val) {
this.title = val;
}
},
mounted(){
mounted() {
this.buildMenuAry();
},
methods: {
onOpenChange:function (openKeys) {
onOpenChange: function (openKeys) {
const latestOpenKey = openKeys.find(key => this.openKeys.indexOf(key) === -1);
this.openKeys = latestOpenKey ? [latestOpenKey] : [];
},
//
menuClick: function (menu) {
this.$router.replace({name: menu.name, params: {id: this.systemId, name: this.title, menuId: menu.name}})
this.$router.replace({
name: menu.name,
params: {id: this.systemId, name: this.title, menuId: menu.name}
})
},
//
buildMenuAry: function () {
this.menuAry = [];
let systemType = this.systemId;
for(let i = 0,len = this.systemCenterList.length;i < len;i ++){
if(this.systemCenterList[i].id === systemType){
for (let i = 0, len = this.systemCenterList.length; i < len; i++) {
if (this.systemCenterList[i].id === systemType) {
this.menuAry = this.systemCenterList[i].menus;
break;
}
}
this.selectedKeys = []
if (this.menuAry[0].children) {
this.selectedKeys.push(this.menuAry[0].children[0].id)
} else {
this.selectedKeys.push(this.menuAry[0].id)
}
// console.log('id',this.menuAry[0].id)
let item = this.buildDefaultKeys(this.menuAry);
this.defaultKeys.push(item.id);
this.openKeys.push("sub-0");
@ -136,10 +151,13 @@
height: calc(100% - 100px);
background-color: white;
display: flex;
.ant-layout {
.ant-layout-header {
color: #31a8fa;
}
}
.ant-layout {
.ant-layout-header {
color: #31a8fa;
}
}
}
</style>

@ -10,7 +10,7 @@
<a-button type="primary" @click="toAdd" class="add-button-style">新增</a-button>
</div>
<a-table :columns="tableColumn" :data-source="dataList" :loading="loading" :pagination="false"
:scroll="{ y: 500 }">
:scroll="{ y: 500 }" :locale="locale">
<span slot="realPlanMatchingDegree" slot-scope="text, record">
<a-icon type="arrow-up" :style="{fontSize: '16px', color: 'green'}"
v-if="record.real_plan_matching_degree > 0"/>
@ -45,6 +45,7 @@
import _ from 'lodash';
import Upload from '../../../../../../components/common/uploader/Upload.vue';
import CourseInfo from './courseInfo.vue';
const tableColumn = [
{
dataIndex: 'index',
@ -91,10 +92,11 @@
scopedSlots: {customRender: 'action'},
}
]
export default{
export default {
props: ["menuId"],
data(){
data() {
return {
locale: {emptyText: '暂无相关数据'},
pageType: 0,//0 1
stageId: "",
stageList: [],
@ -107,10 +109,10 @@
visible: false,
}
},
created(){
created() {
this.getStageList();
},
mounted(){
mounted() {
},
methods: {
@ -190,7 +192,7 @@
this.planInfo = {};
this.pageType = 1;
},
toEdit:function (record) {
toEdit: function (record) {
this.pageType = 1;
this.planInfo = record;
},
@ -276,32 +278,39 @@
width: 100%;
height: auto;
padding: 0.5rem;
.search-and-add-style {
width: 100%;
height: 3.5rem;
background-color: white;
margin-bottom: 0.5rem;
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 0.5rem;
.ant-select {
width: 100px;
}
.add-button-style {
float: right;
}
}
.ant-table-wrapper {
/deep/ .upload-container-style {
display: flex;
justify-content: center;
align-items: center;
}
}
.ant-pagination {
margin-top: 0.5rem;
text-align: right;
}
.search-and-add-style {
width: 100%;
height: 3.5rem;
background-color: white;
margin-bottom: 0.5rem;
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 0.5rem;
.ant-select {
width: 100px;
}
.add-button-style {
float: right;
}
}
.ant-table-wrapper {
/deep/ .upload-container-style {
display: flex;
justify-content: center;
align-items: center;
}
}
.ant-pagination {
margin-top: 0.5rem;
text-align: right;
}
}
</style>

@ -19,7 +19,8 @@
<a-input v-model="researchName"/>
<span style="margin:0 0.5rem">获奖人员</span>
<a-input v-model="personName"/>
<a-icon type="search" :style="{fontSize: '16px', color: '#31a8fa',marginLeft:'0.5rem'}" @click="search" />
<a-icon type="search" :style="{fontSize: '16px', color: '#31a8fa',marginLeft:'0.5rem'}"
@click="search"/>
</div>
<a-button type="primary" @click="toAdd"></a-button>
</div>
@ -49,58 +50,65 @@
</template>
<script>
import InterConfig from '../interConfig';
import {Table, Pagination, Button, Select, Modal, Divider, Input,Icon} from 'ant-design-vue';
import {Table, Pagination, Button, Select, Modal, Divider, Input, Icon} from 'ant-design-vue';
import _ from 'lodash';
import Upload from '../../../../../../components/common/uploader/Upload.vue';
import ScienceActivityInfo from './scienceActivityInfo.vue';
const tableColumn = [
{
dataIndex: 'index',
key: 'index',
title: '序号',
width: "80px",
align: "center"
align: "center",
},
{
dataIndex: 'research_name',
key: 'researchName',
title: '课题名称',
align: "center"
align: "center",
width:'500px',
},
{
dataIndex: 'category_name',
key: 'categoryName',
title: '分类名称',
align: "center"
align: "center",
width:'200px',
},
{
dataIndex: 'person_name',
key: 'personName',
title: '人员姓名',
align: "center"
align: "center",
width:'120px',
},
{
dataIndex: 'level_name',
key: 'levelName',
title: '获奖等级',
align: "center"
align: "center",
width:'120px',
},
{
dataIndex: 'create_time',
key: 'createTime',
title: '创建时间',
align: "center"
align: "center",
width:'300px',
},
{
title: '操作',
key: 'action',
align: "center",
scopedSlots: {customRender: 'action'},
width:'200px',
}
]
export default{
export default {
props: ["menuId"],
data(){
data() {
return {
pageType: 0,//0 1
categoryType: 0,// 5 6
@ -130,13 +138,13 @@
visible: false,
}
},
created(){
created() {
this.getCategoryList();
this.getScientificList();
},
mounted(){
},
// beforeDestroy(){
// Bus.$emit('getScienceData',this.dataList)
// },
methods: {
getCategoryList: function () {
let param = {
@ -186,7 +194,7 @@
}
})
},
search:function () {
search: function () {
this.getScientificList();
},
//
@ -210,7 +218,7 @@
this.researchId = "";
this.pageType = 1;
},
toEdit:function (record) {
toEdit: function (record) {
this.pageType = 1;
this.researchId = record.research_id;
},
@ -263,7 +271,7 @@
ADivider: Divider,
Upload,
AInput: Input,
AIcon:Icon,
AIcon: Icon,
ScienceActivityInfo
}
}
@ -273,36 +281,44 @@
width: 100%;
height: auto;
padding: 0.5rem;
.search-and-add-style {
width: 100%;
height: 3.5rem;
background-color: white;
margin-bottom: 0.5rem;
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 0.5rem;
.search-content {
display: flex;
align-items: center;
.ant-select {
width: 100px;
}
.ant-input {
width: 150px;
}
}
}
.ant-table-wrapper {
/deep/ .upload-container-style {
display: flex;
justify-content: center;
align-items: center;
}
}
.ant-pagination {
margin-top: 0.5rem;
text-align: right;
}
.search-and-add-style {
width: 100%;
height: 3.5rem;
background-color: white;
margin-bottom: 0.5rem;
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 0.5rem;
.search-content {
display: flex;
align-items: center;
.ant-select {
width: 100px;
}
.ant-input {
width: 150px;
}
}
}
.ant-table-wrapper {
/deep/ .upload-container-style {
display: flex;
justify-content: center;
align-items: center;
}
}
.ant-pagination {
margin-top: 0.5rem;
text-align: right;
}
}
</style>

@ -52,7 +52,7 @@
<div class="add-record-row-style">
<div class="li-box li-left">获奖证书</div>
<div class="li-box li-right">
<Upload :type="2" :multiple="false" title="点击上传" :option="{}" :canDownload="false"
<Upload :type="2" :multiple="true" title="点击上传" :option="{}" :canDownload="false"
:fileData="certificateJson"
ref="fileUploadCertificate"
@uploadComplete="certificateFile"
@ -62,7 +62,7 @@
<div class="add-record-row-style">
<div class="li-box li-left">附件</div>
<div class="li-box li-right">
<Upload :type="1" :multiple="false" title="点击上传" :option="{}" :canDownload="false"
<Upload :type="1" :multiple="true" title="点击上传" :option="{}" :canDownload="false"
:fileData="attachmentJson"
ref="fileUploadAttachment"
@uploadComplete="attachmentFile"
@ -98,11 +98,11 @@
locale,
categoryId: "",
categoryList: [
{category_id: "", category_name: "全部"},
{category_id: "", category_name: "请选择"},
],
levelId: "",
levelList: [
{level_id: "", level_name: "全部"},
{level_id: "", level_name: "请选择"},
{level_id: 1, level_name: "国家级"},
{level_id: 2, level_name: "省级"},
{level_id: 3, level_name: "市级"},

Loading…
Cancel
Save