123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241 |
- <template>
- <div>
- <crumbs :title="title" :param="$route.params" linkTo="VersionInfo"></crumbs>
- <div class="contents">
- <div class="content">
- <!-- <el-form ref="form" :label-position="labelPosition" label-width="95px" class="add-admin-form" :model="form" :rules="rules"> -->
- <el-form ref="form" :label-position="labelPosition" label-width="108px" class="add-version-form" :model="form" :rules="rules">
- <el-form-item label="版本号归属:" prop="productType">
- <el-select v-model="form.productType"
- placeholder="请选择"
- size="small"
- :disabled="id && !copy?true:false">
- <el-option
- v-for="item in typeList"
- :key="item.key"
- :label="item.name"
- :value="item.key">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="版本号:" prop="name" class="version-num">
- <el-input v-model="form.name" placeholder="请输入版本号" maxlength="21"></el-input>
- </el-form-item>
- <el-form-item label="版本时间:" prop="refreshTime">
- <el-date-picker
- v-model="form.refreshTime"
- type="date"
- placeholder="选择日期"
- value-format="yyyy-MM-dd"
- :clearable='false'>
- </el-date-picker>
- </el-form-item>
- <el-form-item label="版本备注:" prop="remark" class="discDesc">
- <el-input type="textarea" :rows="3" placeholder="请输入版本备注" v-model="form.remark" maxlength="121"></el-input>
- </el-form-item>
- <el-form-item label="版本说明:" v-if="list&&list.length>0">
- </el-form-item>
- <VersionDesc :detail="list" :versionId="id" :isFirst="isFirst" :isCopy="copy" @func="getDetailList"/>
- <el-button class="disclButn" size="small" type="primary" :disabled = 'saveDisable' @click="comfirn('form')">确定</el-button>
- </el-form>
- <!-- <VersionDesc :detail="list" :versionId="id" :isFirst="isFirst" :isCopy="copy" @func="getDetailList"/>
- <el-button class="disclButn" size="small" type="primary" @click="comfirn">确定</el-button> -->
- </div>
- </div>
- </div>
- </template>
- <script type="text/javascript">
- import api from '@api/icss.js';
- import VersionDesc from './VersionDesc.vue';
- export default {
- name:'AddVersion',
- data(){
- const titleVaild = (rule, value, callback) => {
- if (!value) {
- return callback(new Error('请输入版本号'));
- }
- if (value.length > 20) {
- this.form.name = value.substr(0, 20);
- this.$message({
- showClose: true,
- type: 'warning',
- message: '版本号已超过最大限制20字'
- })
- }
- callback();
- };
- const remarkVaild = (rule, value, callback) => {
- if (value.length > 120) {
- this.form.remark = value.substr(0, 120);
- this.$message({
- showClose: true,
- type: 'warning',
- message: '版本备注已超过最大限制120字'
- })
- }
- callback();
- };
- return{
- // data:{},
- list:[],
- labelPosition:'left',
- isFirst:true,
- title:'版本信息维护-添加版本信息',
- form:{
- name:'',
- refreshTime:'',
- remark:'',
- productType:null
- },
- id:null,
- rules:{
- name:[{ required: true, validator: titleVaild, trigger: [ 'change'] },
- { required: true, message: '请输入版本号',trigger: ['blur', 'change'] }],
- remark:{ required: false, validator: remarkVaild, trigger: [ 'change'] },
- refreshTime:{ required: true, message: '请选择时间', trigger: ['blur', 'change'] },
- productType:{ required: true, message: '请选择版本号归属', trigger: ['blur', 'change'] },
- },
- pickerOptions1:{
- disabledDate(time) {
- return time.getTime() < Date.now();
- },
- },
- copy:null,
- saveDisable: false, //保存按钮禁止点击
- typeList:[]
- }
- },
- created(){
- let info = this.$route.params.info;
- this.copy = this.$route.params.copy;
- if(info){
- this.id = info.id;
- this.form.name = info.name;
- this.form.refreshTime = info.refreshTime;
- this.form.remark = info.remark;
- this.form.productType = info.productType && !this.copy?info.productType:null;
- this.title = this.copy?"版本信息维护-复制版本信息":"版本信息维护-修改版本信息";
- // this.getList();
- this.list = info.detail;
- }
- let typeList = JSON.parse(localStorage.getItem("knowledgeEnumsData"));
- this.typeList = typeList.productTypeEnum;
- },
- methods:{
- /*getList(){
- api.getVersionDetlInfo({id:this.id}).then((res)=>{
- const result = res.data;
- if(result.code==0){
- this.list = result.data;
- }else{
- this.$message({
- message:result.msg,
- type:'warning'
- });
- }
- })
- },*/
- getDetailList(data){//子组件数据
- this.list = data;
- },
- comfirn(form){
- /*if(!this.form.name.trim() || !this.form.refreshTime.trim()){
- this.$message({
- message:'请填写相关内容',
- type:'warning'
- });
- return
- }*/
- this.$refs[form].validate((valid) => {
- if (valid) {
- if(this.id && !this.copy){//修改
- const param = Object.assign({},this.form,{id:this.id})
- this.saveDisable = true //提交保存按钮不可点击,返回结果时才可点击,防止频繁发送请求
- api.updateVersInfo(param).then((res)=>{
- if(res.data.code==0){
- this.$message({
- message:"修改成功",
- type:'success'
- });
- //返回带搜索条件的首页
- this.$router.push({
- name: 'VersionInfo',
- params: Object.assign({}, this.$route.params, {currentPage: 1})
- });
- }else{
- this.$message({
- message:res.data.msg,
- type:'warning'
- });
- }
- this.saveDisable = false
- })
- }else{//添加
- // 复制时把list多余字段过滤掉,如id等
- const detail = this.list;
- let copyDetail=[];
- let item={};
- if(detail && detail.length>0){
- for(let i=0; i<detail.length; i++){
- item.title = detail[i].title;
- item.description = detail[i].description;
- copyDetail.push(item);
- item={};
- }
- }
- const params = Object.assign({},this.form,{'versionDetail':copyDetail});
- // api.addVersInfo(this.form).then((res)=>{
- this.saveDisable = true //提交保存按钮不可点击,返回结果时才可点击,防止频繁发送请求
- api.addVersInfo(params).then((res)=>{
- if(res.data.code==0){
- this.$message({
- message:"添加成功",
- type:'success'
- })
- // this.$router.push({path: 'LT-GBBXXWH-BBXXWH'});
- this.$router.push({name: 'VersionInfo'});
- }else{
- this.$message({
- message:res.data.msg,
- type:'warning'
- });
- }
- this.saveDisable = false
- })
- }
- } else {
- return false;
- }
- });
- },
- },
- components:{
- VersionDesc
- }
- }
- </script>
- <style lang="less">
- @import "../../less/admin.less";
- .content{
- background: #fff;
- // padding: 20px 20px 30px;
- padding: 20px 20px 50px;
- color: #545455;
- min-width: 980px;
- position: relative;
- .discDesc{
- margin-bottom: 20px;
- }
- .disclButn{
- position: absolute;
- right: 80px;
- bottom: 10px;
- }
- }
- .add-version-form{
- .version-num{
- width: 500px;
- }
- }
- </style>
|