master
parent
b37caa4abf
commit
a7897d5d0d
@ -0,0 +1,122 @@
|
||||
<template>
|
||||
<div>
|
||||
<vxe-modal :value="isShow" show-footer title="导入预览" show-confirm-button :width="defaultModalSize.sWidth"
|
||||
:height="defaultModalSize.sHeight" transfer :fullscreen="$store.getters.device === 'mobile'"
|
||||
@input="(e) => $emit('update:isShow', e)">
|
||||
<div v-if="errList.length>0">
|
||||
学校库暂无<span style="color:red;margin-right:10px" v-for="item in errList">{{item}}</span>
|
||||
</div>
|
||||
<vxe-table ref="table" stripe style="margin-top: 10px" :loading="loading" :height="tableHeight" keep-source
|
||||
show-overflow :row-config="{ isCurrent: true, isHover: true }" :column-config="{ resizable: true }"
|
||||
:edit-config="{
|
||||
trigger: 'manual',
|
||||
mode: 'row',
|
||||
showStatus: true,
|
||||
isHover: true,
|
||||
autoClear: false,
|
||||
}" :data="list">
|
||||
<vxe-column type="seq" width="58" align="center" />
|
||||
<vxe-column align="center" field="year" width="180" title="年份">
|
||||
<template #default="{ row }">
|
||||
<el-date-picker style="width: 100%;" size="small" type="year" format="yyyy" value-format="yyyy" v-model="row['year']"></el-date-picker>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column align="center" field="school.name" title="学校">
|
||||
<template #default="{ row }">
|
||||
<el-cascader size="small" filterable v-model="row['school_id']" :options="school" :props="{
|
||||
emitPath: false,
|
||||
value: 'id',
|
||||
label: 'name',
|
||||
}"></el-cascader>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column header-align="center" align="right" field="total" width="160" title="学籍数">
|
||||
<template #default="{ row }">
|
||||
<el-input type="number" v-model="row['total']"></el-input>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column header-align="center" align="right" field="details_name" width="160" title="分配学校">
|
||||
<template #default="{ row }">
|
||||
<el-input v-model="row['details_name']"></el-input>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column header-align="center" align="right" field="details_total" width="160" title="名额">
|
||||
<template #default="{ row }">
|
||||
<el-input type="number" v-model="row['details_total']"></el-input>
|
||||
</template>
|
||||
</vxe-column>
|
||||
</vxe-table>
|
||||
|
||||
<template #footer>
|
||||
<el-button type="primary" :loading="loading" @click="submit">确认</el-button>
|
||||
</template>
|
||||
</vxe-modal>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
importData
|
||||
} from "@/api/middle-school-indicator/middle-school-indicator";
|
||||
import {
|
||||
defaultModalSize
|
||||
} from "@/settings";
|
||||
|
||||
export default {
|
||||
props: {
|
||||
isShow: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
required: true
|
||||
},
|
||||
school: {
|
||||
type: Array,
|
||||
default: () => [],
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
defaultModalSize,
|
||||
list: [],
|
||||
errList:[],
|
||||
tableHeight: 400,
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
this.calcTableHeight();
|
||||
},
|
||||
methods: {
|
||||
calcTableHeight() {
|
||||
let clientHeight = document.documentElement.clientHeight;
|
||||
let padding = 160;
|
||||
let margin = 20;
|
||||
this.tableHeight =
|
||||
clientHeight -
|
||||
padding -
|
||||
margin;
|
||||
},
|
||||
async submit() {
|
||||
try {
|
||||
this.loading = true
|
||||
console.log(this.list)
|
||||
// return
|
||||
await importData({
|
||||
data:this.list
|
||||
}, false)
|
||||
this.$message.success("添加成功")
|
||||
this.$emit('update:isShow', false)
|
||||
this.$emit("success")
|
||||
this.list = []
|
||||
} catch (err) {
|
||||
console.error(err)
|
||||
} finally {
|
||||
this.loading = false
|
||||
}
|
||||
}
|
||||
},
|
||||
computed: {},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss"></style>
|
||||
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,130 @@
|
||||
<template>
|
||||
<div>
|
||||
<vxe-modal :value="isShow" show-footer title="导入预览" show-confirm-button :width="defaultModalSize.sWidth"
|
||||
:height="defaultModalSize.sHeight" transfer :fullscreen="$store.getters.device === 'mobile'"
|
||||
@input="(e) => $emit('update:isShow', e)">
|
||||
<div v-if="errList.length>0">
|
||||
学校库暂无<span style="color:red;margin-right:10px" v-for="item in errList">{{item}}</span>
|
||||
</div>
|
||||
<vxe-table ref="table" stripe style="margin-top: 10px" :loading="loading" :height="tableHeight" keep-source
|
||||
show-overflow :row-config="{ isCurrent: true, isHover: true }" :column-config="{ resizable: true }"
|
||||
:edit-config="{
|
||||
trigger: 'manual',
|
||||
mode: 'row',
|
||||
showStatus: true,
|
||||
isHover: true,
|
||||
autoClear: false,
|
||||
}" :data="list">
|
||||
<vxe-column type="seq" width="58" align="center" />
|
||||
<vxe-column align="center" field="school.name" width="180" title="所属学校">
|
||||
<template #default="{ row }">
|
||||
<el-cascader size="small" filterable v-model="row['school_id']" :options="school" :props="{
|
||||
emitPath: false,
|
||||
value: 'id',
|
||||
label: 'name',
|
||||
}"></el-cascader>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column align="center" field="year" width="180" title="年份">
|
||||
<template #default="{ row }">
|
||||
<el-date-picker style="width: 100%;" size="small" type="year" format="yyyy" value-format="yyyy" v-model="row['year']"></el-date-picker>
|
||||
</template>
|
||||
</vxe-column>
|
||||
|
||||
<vxe-column header-align="center" align="right" field="total_score" width="160" title="统招总分">
|
||||
<template #default="{ row }">
|
||||
<el-input type="number" v-model="row['total_score']"></el-input>
|
||||
</template>
|
||||
</vxe-column>
|
||||
|
||||
<vxe-column header-align="center" align="right" field="main_score" width="160" title="统招语数外">
|
||||
<template #default="{ row }">
|
||||
<el-input type="number" v-model="row['main_score']"></el-input>
|
||||
</template>
|
||||
</vxe-column>
|
||||
|
||||
<vxe-column header-align="center" align="right" field="area_total_score" width="160" title="跨区总分">
|
||||
<template #default="{ row }">
|
||||
<el-input type="number" v-model="row['area_total_score']"></el-input>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column header-align="center" align="right" field="area_main_score" width="160" title="跨区语数外">
|
||||
<template #default="{ row }">
|
||||
<el-input type="number" v-model="row['area_main_score']"></el-input>
|
||||
</template>
|
||||
</vxe-column>
|
||||
</vxe-table>
|
||||
|
||||
<template #footer>
|
||||
<el-button type="primary" :loading="loading" @click="submit">确认</el-button>
|
||||
</template>
|
||||
</vxe-modal>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
importData
|
||||
} from "@/api/score/score";
|
||||
import {
|
||||
defaultModalSize
|
||||
} from "@/settings";
|
||||
|
||||
export default {
|
||||
props: {
|
||||
isShow: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
required: true
|
||||
},
|
||||
school: {
|
||||
type: Array,
|
||||
default: () => [],
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
defaultModalSize,
|
||||
list: [],
|
||||
errList:[],
|
||||
tableHeight: 400,
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
this.calcTableHeight();
|
||||
},
|
||||
methods: {
|
||||
calcTableHeight() {
|
||||
let clientHeight = document.documentElement.clientHeight;
|
||||
let padding = 160;
|
||||
let margin = 20;
|
||||
this.tableHeight =
|
||||
clientHeight -
|
||||
padding -
|
||||
margin;
|
||||
},
|
||||
async submit() {
|
||||
try {
|
||||
this.loading = true
|
||||
console.log(this.list)
|
||||
// return
|
||||
await importData({
|
||||
data:this.list
|
||||
}, false)
|
||||
this.$message.success("添加成功")
|
||||
this.$emit('update:isShow', false)
|
||||
this.$emit("success")
|
||||
this.list = []
|
||||
} catch (err) {
|
||||
console.error(err)
|
||||
} finally {
|
||||
this.loading = false
|
||||
}
|
||||
}
|
||||
},
|
||||
computed: {},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss"></style>
|
||||
Loading…
Reference in new issue