|
@@ -1,5 +1,5 @@
|
|
|
<template>
|
|
|
- <div class="manage-root personnel-create">
|
|
|
+ <div class="manage-root newspaper-create">
|
|
|
<Header />
|
|
|
<div class="manage-root-contain">
|
|
|
<nav-menu class="manage-root-contain-left" :activeMenuIndex="activeMenuIndex"></nav-menu>
|
|
@@ -27,7 +27,78 @@
|
|
|
</div>
|
|
|
<div class="create-bottom">
|
|
|
<template v-if="stepIndex===0">
|
|
|
- <a @click="handleLinkChannel">栏目模版维护</a>
|
|
|
+ <el-form :model="newspaperForm" :rules="rulesNewspaper" ref="newspaperForm" label-width="100px" class="registerForm">
|
|
|
+ <el-form-item label="报纸封面" prop="cover_image_url">
|
|
|
+ <upload :datafileList="newspaperForm.cover_image_list" :changeFillId="handleAvatarSuccess" :fileName="'cover'" :showList="true" uploadType="image" :filleNumber="1" v-if="!newspaperForm.cover_image_url" styleType="upload" />
|
|
|
+ <div class="cover-box" v-else @mouseover="Imagemouseover('coverFlag',true)" @mouseout="Imagemouseover('coverFlag',false)">
|
|
|
+ <el-image :src="newspaperForm.cover_image_url" fit="cover" style="width:200px;height:280px;"></el-image>
|
|
|
+ <p v-show="coverFlag" @click="handleDeleteFile('cover',0)"><i class="el-icon-delete"></i></p>
|
|
|
+ </div>
|
|
|
+ <p class="tips">建议上传宽高为200*280的图</p>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="报纸名称" prop="iss_name">
|
|
|
+ <el-input v-model="newspaperForm.iss_name" placeholder="请输入报纸名称" @blur="handleTrim('newspaperForm','iss_name')"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="出版机构" prop="vendor_name">
|
|
|
+ <el-select v-model="newspaperForm.vendor_name" filterable allow-create default-first-option placeholder="请选择">
|
|
|
+ <el-option
|
|
|
+ v-for="(item,i) in vendorList"
|
|
|
+ :key="item+i"
|
|
|
+ :label="item"
|
|
|
+ :value="item">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="是否合刊" prop="comb_flag">
|
|
|
+ <el-radio-group v-model="newspaperForm.comb_flag" :disabled="id?true:false">
|
|
|
+ <el-radio :label="0">否</el-radio>
|
|
|
+ <el-radio :label="1">是</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="期数" prop="iss_no" class="validity-box" v-if="newspaperForm.comb_flag===0">
|
|
|
+ <el-input placeholder="请输入" v-model="newspaperForm.iss_no" type="number">
|
|
|
+ <template slot="append">期</template>
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="期数" required prop="iss_no" class="iss-no-box" v-if="newspaperForm.comb_flag===1">
|
|
|
+ <el-input v-model="newspaperForm.iss_no_start" type="number" class="iss-start">
|
|
|
+ <template slot="append">-</template>
|
|
|
+ </el-input>
|
|
|
+ <el-input v-model="newspaperForm.iss_no_end" type="number">
|
|
|
+ <template slot="append">期</template>
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="发行日期" prop="release_date">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="newspaperForm.release_date"
|
|
|
+ type="date"
|
|
|
+ placeholder="选择日期"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ format="yyyy-MM-dd">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="学段" prop="study_phase">
|
|
|
+ <el-select v-model="newspaperForm.study_phase" placeholder="请选择" @change="getVlList">
|
|
|
+ <el-option
|
|
|
+ v-for="item in $studyType"
|
|
|
+ :key="item.study_phase"
|
|
|
+ :label="item.study_phase_name"
|
|
|
+ :value="item.study_phase">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="课标词表" prop="vl_id">
|
|
|
+ <el-select v-model="newspaperForm.vl_id" filterable placeholder="请选择">
|
|
|
+ <el-option
|
|
|
+ v-for="item in vlList"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.vl_name"
|
|
|
+ :value="item.id">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <!-- <a @click="handleLinkChannel">栏目模版维护</a> -->
|
|
|
</template>
|
|
|
<div v-if="stepIndex===1">
|
|
|
|
|
@@ -52,10 +123,13 @@
|
|
|
import Header from "../../../components/Header.vue";
|
|
|
import NavMenu from "../../../components/NavMenu.vue"
|
|
|
import Breadcrumb from '../../../components/Breadcrumb.vue';
|
|
|
+import Upload from "../../../components/Upload.vue"
|
|
|
+import { getLogin } from "@/api/ajax";
|
|
|
+import { mapState } from 'vuex';
|
|
|
|
|
|
export default {
|
|
|
//import引入的组件需要注入到对象中才能使用
|
|
|
- components: { Header, NavMenu, Breadcrumb },
|
|
|
+ components: { Header, NavMenu, Breadcrumb, Upload },
|
|
|
props: {},
|
|
|
data() {
|
|
|
return {
|
|
@@ -80,11 +154,44 @@ export default {
|
|
|
],
|
|
|
id:this.$route.query.id?this.$route.query.id:'',
|
|
|
stepIndex:0, // 步骤索引
|
|
|
+ coverFlag: false,
|
|
|
+ newspaperForm:{
|
|
|
+ cover_image_url: '',
|
|
|
+ cover_image_list: [],
|
|
|
+ cover_image_id: null,
|
|
|
+ iss_name: '',
|
|
|
+ vendor_name: '二十一世纪学生英文报',
|
|
|
+ comb_flag: 0,
|
|
|
+ iss_no: null,
|
|
|
+ iss_no_start: null,
|
|
|
+ iss_no_end: null,
|
|
|
+ release_date: '',
|
|
|
+ study_phase: null,
|
|
|
+ vl_id: '',
|
|
|
+ chn_data: [],
|
|
|
+ info_tag_data: [],
|
|
|
+ iss_note: '',
|
|
|
+ with_addon_flag: 1,
|
|
|
+ iss_price_org: null,
|
|
|
+ iss_price_sell: null,
|
|
|
+ with_addon_price_org: null,
|
|
|
+ with_addon_price_sell: null
|
|
|
+ },
|
|
|
+ rulesNewspaper:{
|
|
|
+ iss_name:[
|
|
|
+ { required: true, message: '请输入报纸名称', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ vendor_name: [
|
|
|
+ { required: true, message: '请输入出版机构', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ vendorList: [], // 出版机构列表
|
|
|
+ vlList: [], // 课标词表
|
|
|
}
|
|
|
},
|
|
|
//计算属性 类似于data概念
|
|
|
computed: {
|
|
|
-
|
|
|
+ ...mapState(['$studyType']),
|
|
|
},
|
|
|
//监控data中数据变化
|
|
|
watch: {
|
|
@@ -119,6 +226,64 @@ export default {
|
|
|
this.$router.push({
|
|
|
path:'/channelList'
|
|
|
})
|
|
|
+ },
|
|
|
+ handleAvatarSuccess(fileList,name) {
|
|
|
+ if(name==='cover'){
|
|
|
+ this.newspaperForm.cover_image_list = fileList
|
|
|
+ this.newspaperForm.cover_image_id = fileList[0]&&fileList[0].response&&fileList[0].response.file_info_list&&fileList[0].response.file_info_list[0]?fileList[0].response.file_info_list[0].file_id:''
|
|
|
+ this.newspaperForm.cover_image_url = fileList[0]&&fileList[0].response&&fileList[0].response.file_info_list&&fileList[0].response.file_info_list[0]?fileList[0].response.file_info_list[0].file_url:''
|
|
|
+ }
|
|
|
+ },
|
|
|
+ Imagemouseover(item,flag) {
|
|
|
+ this[item] = flag
|
|
|
+ },
|
|
|
+ handleDeleteFile(item,i) {
|
|
|
+ this.$confirm("确定删除吗?", "提示", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning",
|
|
|
+ }).then(() => {
|
|
|
+ if(item==='cover'){
|
|
|
+ this.newspaperForm.cover_image_list.splice(i, 1);
|
|
|
+ this.newspaperForm.cover_image_url = ''
|
|
|
+ this.newspaperForm.cover_image_id = null
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 去掉前后空格
|
|
|
+ handleTrim(form,fild){
|
|
|
+ this[form][fild] = this[form][fild].trim()
|
|
|
+ },
|
|
|
+ // 获取出版机构列表
|
|
|
+ getVendorList(){
|
|
|
+ let MethodName = "/PaperServer/Manager/IssueManager/FindVendors";
|
|
|
+ let data = {
|
|
|
+ key_word: ''
|
|
|
+ }
|
|
|
+ getLogin(MethodName, data)
|
|
|
+ .then((res) => {
|
|
|
+ if(res.status===1){
|
|
|
+ this.vendorList = res.data
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 课标词表
|
|
|
+ getVlList(){
|
|
|
+ this.newspaperForm.vl_id = ''
|
|
|
+ let MethodName = "/PaperServer/Manager/VocListManager/FindSimplesByCond";
|
|
|
+ let data = {
|
|
|
+ study_phase: this.newspaperForm.study_phase
|
|
|
+ }
|
|
|
+ getLogin(MethodName, data)
|
|
|
+ .then((res) => {
|
|
|
+ if(res.status===1){
|
|
|
+ this.vlList = res.data
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ });
|
|
|
}
|
|
|
},
|
|
|
//生命周期 - 创建完成(可以访问当前this实例)
|
|
@@ -132,6 +297,8 @@ export default {
|
|
|
obj.text = '编辑报纸'
|
|
|
}
|
|
|
this.breadcrumbList.push(obj)
|
|
|
+ this.getVendorList()
|
|
|
+ this.getVlList()
|
|
|
},
|
|
|
//生命周期 - 挂载完成(可以访问DOM元素)
|
|
|
mounted() {
|
|
@@ -204,5 +371,59 @@ export default {
|
|
|
line-height: 32px;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+}
|
|
|
+</style>
|
|
|
+<style lang="scss">
|
|
|
+.newspaper-create{
|
|
|
+ .validity-box{
|
|
|
+ width: 114px;
|
|
|
+ .el-input-group{
|
|
|
+ width: 114px;
|
|
|
+ }
|
|
|
+ .el-input__inner{
|
|
|
+ text-align: center;
|
|
|
+ }
|
|
|
+ .el-input-group__append{
|
|
|
+ border: none;
|
|
|
+ background: #F2F3F5;
|
|
|
+ padding: 0 8px 0 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .iss-no-box{
|
|
|
+ width: 264px;
|
|
|
+ .el-form-item__content{
|
|
|
+ display: flex;
|
|
|
+ border-radius: 4px;
|
|
|
+ overflow: hidden;
|
|
|
+ width: 164px;
|
|
|
+ }
|
|
|
+ .el-input-group{
|
|
|
+ width: 82px;
|
|
|
+ flex-shrink: 0;
|
|
|
+ border-radius: 0;
|
|
|
+ }
|
|
|
+ .el-input__inner{
|
|
|
+ border-radius: 0;
|
|
|
+ padding: 0;
|
|
|
+ text-align: center;
|
|
|
+ }
|
|
|
+ .el-input-group__append{
|
|
|
+ border: none;
|
|
|
+ background: #F2F3F5;
|
|
|
+ padding: 0;
|
|
|
+ border-radius: 0;
|
|
|
+ width: 34px;
|
|
|
+ text-align: center;
|
|
|
+ }
|
|
|
+ .iss-start{
|
|
|
+ .el-input-group__append{
|
|
|
+ width: 12px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ input::-webkit-outer-spin-button, input::-webkit-inner-spin-button {
|
|
|
+ -webkit-appearance: none !important;
|
|
|
+ }
|
|
|
}
|
|
|
</style>
|