Browse Source

提交

master
陈裕财 4 years ago
parent
commit
77c4237fbc
  1. 4
      src/api/xm/core/xmProduct.js
  2. 106
      src/views/xm/core/xmProduct/XmProductAdd.vue
  3. 2
      src/views/xm/core/xmProduct/XmProductEdit.vue
  4. 4
      src/views/xm/core/xmProduct/XmProductMng.vue

4
src/api/xm/core/xmProduct.js

@ -30,4 +30,6 @@ export const editXmProduct = params => { return axios.post(`${base}/xm/core/xmPr
//新增一条产品表 //新增一条产品表
export const addXmProduct = params => { return axios.post(`${base}/xm/core/xmProduct/add`, params); }; export const addXmProduct = params => { return axios.post(`${base}/xm/core/xmProduct/add`, params); };
//新增一条产品表 //新增一条产品表
export const copyTo = params => { return axios.post(`${base}/xm/core/xmProduct/copyTo`, params); };
export const copyTo = params => { return axios.post(`${base}/xm/core/xmProduct/copyTo`, params); };
export const createProductCode = params => { return axios.post(`${base}/xm/core/xmProduct/createProductCode`, params); };

106
src/views/xm/core/xmProduct/XmProductAdd.vue

@ -1,28 +1,40 @@
<template> <template>
<section class="page-container padding border">
<el-row class="padding-bottom">
<el-steps :active="calcProjectStatusStep" simple finish-status="success">
<el-step v-for="(i,index) in options['projectStatus']" :title="i.optionName" :key="index">
<el-row slot="title" @click.native.stop="editForm.status=i.optionValue">
{{i.optionName}}
</el-row>
</el-step>
</el-steps>
</el-row>
<section class="page-container padding border">
<el-row class="page-main "> <el-row class="page-main ">
<!--新增界面 XmProduct 产品表--> <!--新增界面 XmProduct 产品表-->
<el-form :model="addForm" label-width="120px" :rules="addFormRules" ref="addForm"> <el-form :model="addForm" label-width="120px" :rules="addFormRules" ref="addForm">
<el-form-item label="产品编号" prop="id">
<el-input v-model="addForm.id" placeholder="产品编号" ></el-input>
</el-form-item>
<el-form-item label="产品代号" prop="code">
<el-input v-model="addForm.code" placeholder="产品代号,不可为空" >
<template slot="append">
<el-button type="text" @click="createProductCode">自动生成</el-button>
</template>
</el-input>
</el-form-item>
<el-form-item label="产品名称" prop="productName"> <el-form-item label="产品名称" prop="productName">
<el-input v-model="addForm.productName" placeholder="产品名称" ></el-input> <el-input v-model="addForm.productName" placeholder="产品名称" ></el-input>
</el-form-item>
<el-row>
<el-col :span="8">
<el-form-item label="总监" prop="admUserid">
<el-input readonly v-model="addForm.admUsername" @click.native="showUserVisible('admUserid')"></el-input>
<font style="font-size:12px;" color="red"></font>
</el-form-item> </el-form-item>
<el-form-item label="产品经理" prop="pmUserid">
<el-tag v-if="addForm.pmUserid" closable @close="clearPmUser">{{addForm.pmUsername}}</el-tag>
<el-tag v-else>未配置</el-tag>
<el-button @click="selectUser">选产品经理</el-button>
</el-col>
<el-col :span="8">
<el-form-item label="产品经理" prop="pmUserid">
<el-input readonly v-model="addForm.pmUsername" @click.native="showUserVisible('pmUserid')"></el-input>
<font style="font-size:12px;" color="red"></font>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="副经理、助理" prop="assUserid">
<el-input readonly v-model="addForm.assUsername" @click.native="showUserVisible('assUserid')"></el-input>
<font style="font-size:12px;" color="red"></font>
</el-form-item> </el-form-item>
</el-col>
</el-row>
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input v-model="addForm.remark" type="textarea" :autosize="{ minRows: 4, maxRows: 20}" placeholder="备注" ></el-input> <el-input v-model="addForm.remark" type="textarea" :autosize="{ minRows: 4, maxRows: 20}" placeholder="备注" ></el-input>
</el-form-item> </el-form-item>
@ -43,7 +55,7 @@
<script> <script>
import util from '@/common/js/util';// import util from '@/common/js/util';//
import { listOption } from '@/api/mdp/meta/itemOption';// import { listOption } from '@/api/mdp/meta/itemOption';//
import { addXmProduct } from '@/api/xm/core/xmProduct';
import { addXmProduct,createProductCode } from '@/api/xm/core/xmProduct';
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import UsersSelect from "@/views/mdp/sys/user/UsersSelect"; import UsersSelect from "@/views/mdp/sys/user/UsersSelect";
@ -69,26 +81,30 @@
return { return {
options:{xmProductPstatus:[]},// params=[{categoryId:'0001',itemCode:'sex'}] {'sex':[{optionValue:'1',optionName:'',seqOrder:'1',fp:'',isDefault:'0'},{optionValue:'2',optionName:'',seqOrder:'2',fp:'',isDefault:'0'}]} options:{xmProductPstatus:[]},// params=[{categoryId:'0001',itemCode:'sex'}] {'sex':[{optionValue:'1',optionName:'',seqOrder:'1',fp:'',isDefault:'0'},{optionValue:'2',optionName:'',seqOrder:'2',fp:'',isDefault:'0'}]}
load:{ list: false, edit: false, del: false, add: false },//... load:{ list: false, edit: false, del: false, add: false },//...
addFormRules: {
id: [
{ required: true, message: '产品编号不能为空', trigger: 'blur' }
addFormRules: {
productName: [
{ required: true, message: '产品名称不能为空', trigger: 'change' }
], ],
productName: [
{ required: true, message: '产品名称不能为空', trigger: 'blur' }
code: [
{ required: true, message: '产品代号不能为空', trigger: 'change' }
], ],
pmUserid: [ pmUserid: [
{ required: true, message: '产品经理不能为空', trigger: 'blur' }
{ required: true, message: '产品经理不能为空', trigger: 'change' }
],
admUserid: [
{ required: true, message: '产品总监不能为空', trigger: 'change' }
] ]
}, },
// //
addForm: { addForm: {
id:'',productName:'',branchId:'',remark:'',pmUserid:'',pmUsername:'',ctime:''
id:'',code:'',productName:'',branchId:'',remark:'',pmUserid:'',pmUsername:'',pstatus:'',ctime:'',admUserid:'',admUsername:'',assUserid:'',assUsername:'',del:'',locked:''
}, },
userSelectVisible:false, userSelectVisible:false,
/**begin 在下面加自定义属性,记得补上面的一个逗号**/ /**begin 在下面加自定义属性,记得补上面的一个逗号**/
currUserType:'',
/**end 在上面加自定义属性**/ /**end 在上面加自定义属性**/
}//end return }//end return
},//end data },//end data
@ -124,20 +140,40 @@
}); });
} }
}); });
},
createProductCode(){
createProductCode({}).then(res=>{
var tips=res.data.tips;
if(tips.isOk){
this.addForm.code=res.data.data
}
this.$notify({showClose: true, message: tips.msg, type: tips.isOk?'success':'error' });
})
}, },
selectUser(){
showUserVisible(userType){
this.currUserType=userType
this.userSelectVisible=true; this.userSelectVisible=true;
}, },
onUserSelected(users){
//
onUserSelected: function(users) {
this.userSelectVisible = false;
var user={userid:'',username:''};
if(users && users.length>0){ if(users && users.length>0){
this.addForm.pmUserid=users[0].userid
this.addForm.pmUsername=users[0].username
user=users[0]
} }
this.userSelectVisible=false
},
clearPmUser:function(){
this.addForm.pmUserid=''
this.addForm.pmUsername=''
if(this.currUserType=='admUserid'){
this.addForm.admUserid=user.userid
this.addForm.admUsername=user.username
}else if(this.currUserType=='assUserid'){
this.addForm.assUserid=user.userid
this.addForm.assUsername=user.username
}else if(this.currUserType=='pmUserid'){
this.addForm.pmUserid=user.userid
this.addForm.pmUsername=user.username
}
this.currUserType="";
}, },
/**begin 在下面加自定义方法,记得补上面的一个逗号**/ /**begin 在下面加自定义方法,记得补上面的一个逗号**/

2
src/views/xm/core/xmProduct/XmProductEdit.vue

@ -109,7 +109,7 @@
}, },
// //
editForm: { editForm: {
id:'',productName:'',branchId:'',remark:'',pmUserid:'',pmUsername:'',ctime:'',pstatus:'0'
id:'',code:'',productName:'',branchId:'',remark:'',pmUserid:'',pmUsername:'',pstatus:'',ctime:'',admUserid:'',admUsername:'',assUserid:'',assUsername:'',del:'',locked:''
}, },
userSelectVisible:false, userSelectVisible:false,
/**begin 在下面加自定义属性,记得补上面的一个逗号**/ /**begin 在下面加自定义属性,记得补上面的一个逗号**/

4
src/views/xm/core/xmProduct/XmProductMng.vue

@ -172,12 +172,12 @@
<el-pagination layout="total, sizes, prev, pager, next" @current-change="handleCurrentChange" @size-change="handleSizeChange" :page-sizes="[10,20, 50, 100, 500]" :current-page="pageInfo.pageNum" :page-size="pageInfo.pageSize" :total="pageInfo.total" style="float:right;"></el-pagination> <el-pagination layout="total, sizes, prev, pager, next" @current-change="handleCurrentChange" @size-change="handleSizeChange" :page-sizes="[10,20, 50, 100, 500]" :current-page="pageInfo.pageNum" :page-size="pageInfo.pageSize" :total="pageInfo.total" style="float:right;"></el-pagination>
<!--编辑 XmProduct 产品表界面--> <!--编辑 XmProduct 产品表界面-->
<el-drawer title="编辑产品" :visible.sync="editFormVisible" size="50%" :with-header="false" append-to-body :close-on-click-modal="false">
<el-drawer title="编辑产品" :visible.sync="editFormVisible" size="60%" append-to-body :close-on-click-modal="false">
<xm-product-edit :xm-product="editForm" :visible="editFormVisible" @cancel="editFormVisible=false" @submit="afterEditSubmit"></xm-product-edit> <xm-product-edit :xm-product="editForm" :visible="editFormVisible" @cancel="editFormVisible=false" @submit="afterEditSubmit"></xm-product-edit>
</el-drawer> </el-drawer>
<!--新增 XmProduct 产品表界面--> <!--新增 XmProduct 产品表界面-->
<el-drawer title="新增产品" :visible.sync="addFormVisible" size="50%" :with-header="false" append-to-body :close-on-click-modal="false">
<el-drawer title="新增产品" :visible.sync="addFormVisible" size="60%" append-to-body :close-on-click-modal="false">
<xm-product-add :xm-product="addForm" :visible="addFormVisible" @cancel="addFormVisible=false" @submit="afterAddSubmit"></xm-product-add> <xm-product-add :xm-product="addForm" :visible="addFormVisible" @cancel="addFormVisible=false" @submit="afterAddSubmit"></xm-product-add>
</el-drawer> </el-drawer>
<el-drawer title="产品状态数据" :visible.sync="productStateVisible" width="100%" append-to-body :close-on-click-modal="false"> <el-drawer title="产品状态数据" :visible.sync="productStateVisible" width="100%" append-to-body :close-on-click-modal="false">

Loading…
Cancel
Save