| | |
| | | <el-step title="方案设计" description="确立方案"></el-step> |
| | | <el-step title="预览" description=""></el-step> |
| | | </el-steps> |
| | | <div style="height: 55vh; padding:0px; box-sizing:boder-box; overflow: auto;"> |
| | | <div style="height: 400px; padding:0px; box-sizing:boder-box; overflow: auto;"> |
| | | <div v-if="add_Step == 0" style="width: 100%; height: 100%;" align="center"> |
| | | <div style="padding-top: 5%; box-sizing:boder-box"> |
| | | <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm"> |
| | |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="起止时间:" prop="items" style="width: 50%;"> |
| | | <!-- :picker-options="pickerOptions01" --> |
| | | <el-date-picker |
| | | v-model="ruleForm.items" |
| | | type="daterange" |
| | |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="项目描述:" prop="desc" style="width: 50%;"> |
| | | <el-input type="textarea" v-model="ruleForm.desc"></el-input> |
| | | <el-form-item label="项目引进人:" prop="desp" style="width: 50%;"> |
| | | <el-cascader |
| | | style="width: 100%;" |
| | | :options="options_leadUserId" |
| | | :props="props_" |
| | | @change="leadUserIdChange" |
| | | v-model="ruleForm.leadUserList" |
| | | clearable> |
| | | </el-cascader> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="项目描述:" prop="desp" style="width: 50%;"> |
| | | <el-input type="textarea" v-model="ruleForm.desp"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </div> |
| | | <div v-if="add_Step == 1" style="width: 100%; height: 100%;" align="center"> |
| | | <substep ref="substep_zj" v-bind:xmId="xmId"></substep> |
| | | <substep ref="substep_zj" v-bind:xmId="xmId" v-bind:totalItems="totalItems"></substep> |
| | | </div> |
| | | <div v-if="add_Step == 2" style="width: 100%; height: 100%;" align="center"> |
| | | <substepReadOnly v-bind:form_objs="form_objs" v-bind:showData_="showData_"></substepReadOnly> |
| | | <!-- <substepReadOnly v-bind:form_objs="form_objs" v-bind:showData_="showData_"></substepReadOnly> --> |
| | | <substepReadOnly v-bind:xmId="xmId"></substepReadOnly> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | import substepReadOnly from './portion/substepReadOnly.vue' |
| | | export default { |
| | | name: 'dataImport', |
| | | props:{ |
| | | rowData:{ |
| | | type: Object, |
| | | required: true |
| | | } |
| | | }, |
| | | components: { |
| | | substep, |
| | | substepReadOnly |
| | | }, |
| | | data () { |
| | | var validateTtems = (rule, value, callback) => { |
| | | if (value.length > 1) { |
| | | let a1 = new Date(value[0]); |
| | | let a2 = new Date(this.ruleForm.items[1]); |
| | | |
| | | |
| | | if (this.rowData.beginDate && !this.rowData.endDate) { |
| | | let bb0 = new Date(this.rowData.beginDate); |
| | | let bb0str = this.$moment(bb0).format('YYYY-MM-DD'); |
| | | if (a1 > bb0) { |
| | | callback(new Error('开始时间应小于' + bb0str)); |
| | | } |
| | | else if (a2 < bb0) { |
| | | callback(new Error('结束时间应大于' + bb0str)); |
| | | } |
| | | } |
| | | |
| | | else if (this.rowData.beginDate && this.rowData.endDate) { |
| | | let bb0 = new Date(this.rowData.beginDate); |
| | | let bb1 = new Date(this.rowData.endDate); |
| | | let bb0str = this.$moment(bb0).format('YYYY-MM-DD'); |
| | | let bb1str = this.$moment(bb1).format('YYYY-MM-DD'); |
| | | if (a1 > bb0) { |
| | | callback(new Error('开始时间应小于' + bb0str)); |
| | | } |
| | | else if (a2 < bb1) { |
| | | callback(new Error('结束时间应大于' + bb1str)); |
| | | } |
| | | } |
| | | callback(); |
| | | } |
| | | }; |
| | | return { |
| | | add_Step: 0, |
| | | props_: {multiple: true}, |
| | | userId: undefined, |
| | | assign: undefined, |
| | | add_Step: 0, |
| | | loading_nextStep: false, |
| | | nextStepName: "下一步", |
| | | loading_cancel: false, |
| | |
| | | |
| | | ruleForm: {}, |
| | | xmId: null, |
| | | totalItems: null, |
| | | showData_: null, |
| | | form_objs: null, |
| | | |
| | | options_leadUserId: [], |
| | | options_objectives: [ |
| | | { |
| | | value: "干预性系统评价", |
| | |
| | | items: [ |
| | | { |
| | | type: "array", |
| | | validator: validateTtems, |
| | | required: true, |
| | | message: "不能为空", |
| | | trigger: ["change", "blur"] |
| | | //message: "不能为空", |
| | | trigger: ["change"] |
| | | } |
| | | ] |
| | | |
| | |
| | | } |
| | | }, |
| | | |
| | | created() { |
| | | this.getUsers(); |
| | | }, |
| | | mounted() { |
| | | if(this.rowData.id) { |
| | | this.xmId = this.rowData.id; |
| | | let url = "/api/scheme/get/" + this.rowData.id; |
| | | this.$axios.get(url).then(data_ => { |
| | | window.console.log(data_); |
| | | let selected_ = data_.data.data; |
| | | this.ruleForm = { |
| | | id:selected_.id, |
| | | desp:selected_.desp, |
| | | name: selected_.name, |
| | | beginDate: selected_.beginDate, |
| | | endDate: selected_.endDate, |
| | | objective:selected_.reseachType, |
| | | leadUserId: selected_.leadUserId, |
| | | leadUserList: selected_.leadUserList, |
| | | items:[this.$moment(selected_.startTime).format('YYYY-MM-DD'),this.$moment(selected_.endTime).format('YYYY-MM-DD')] |
| | | } |
| | | |
| | | }).catch(error =>{ |
| | | |
| | | }) |
| | | |
| | | } |
| | | else { |
| | | this.ruleForm = this.rowData; |
| | | } |
| | | |
| | | this.userId = localStorage.getItem('userId'); |
| | | this.assign = localStorage.getItem('assign'); |
| | | }, |
| | | methods:{ |
| | | getUsers() { |
| | | let me = this; |
| | | let url = "/api/sysRoleMapping/all"; |
| | | this.$axios.get(url) |
| | | .then(data_ => { |
| | | let list = data_.data.data; |
| | | let parId = ""; |
| | | let obj = {}; |
| | | let result = []; |
| | | |
| | | list.map(el => { |
| | | obj[el.id] = el; |
| | | }) |
| | | for(let i=0, len = list.length; i < len; i++) { |
| | | let id = list[i].roleName; |
| | | //设置显示字段 |
| | | list[i].value = list[i].id; |
| | | list[i].label = list[i].name; |
| | | |
| | | if(id == parId || !id) { |
| | | if(!obj[list[i].id].children) { |
| | | obj[list[i].id].children = []; |
| | | } |
| | | result.push(list[i]); |
| | | continue; |
| | | } |
| | | if(obj[id].children) { |
| | | obj[id].children.push(list[i]); |
| | | } else { |
| | | obj[id].children = [list[i]]; |
| | | } |
| | | } |
| | | |
| | | me.options_leadUserId = result; |
| | | }).catch(error =>{ |
| | | |
| | | }) |
| | | }, |
| | | |
| | | Cancel() { |
| | | this.add_Step = 0; |
| | | this.nextStepName = "下一步"; |
| | |
| | | if (valid) { |
| | | is_null1 = true; |
| | | } else { |
| | | console.log('error submit!!'); |
| | | return false; |
| | | } |
| | | }); |
| | | if(is_null1) { |
| | | this.loading_nextStep = true; |
| | | this.saveStep1(); |
| | | this.loading_save = true; |
| | | } |
| | | |
| | | // this.xmId = "c3b7f55c800e4726b53fdc18dd994603"; |
| | |
| | | // this.nextStepName = "完 成"; |
| | | } |
| | | else if (this.add_Step == 2) { |
| | | this.Cancel(); |
| | | this.saveStep3(); |
| | | } |
| | | }, |
| | | |
| | | saveStep1() { |
| | | let me = this; |
| | | let ruleForm_ = this.ruleForm; |
| | | var items1 = this.$moment(ruleForm_.items[0]).format('YYYY-MM-DD'); |
| | | var items2 = this.$moment(ruleForm_.items[1]).format('YYYY-MM-DD'); |
| | | //let items1 = new Date(ruleForm_.items[0]).Format("yyyy-MM-dd").toLocaleString(); |
| | | // let items2 = new Date(ruleForm_.items[1]).Format("yyyy-MM-dd").toLocaleString(); |
| | | let listId = ""; |
| | | let params_ = { |
| | | reseachType: ruleForm_.objective, |
| | | name: ruleForm_.name, |
| | | startTime: items1, |
| | | endTime: items2, |
| | | id: me.xmId, |
| | | desp:ruleForm_.desp, |
| | | userId: me.userId, |
| | | leadUserId: ruleForm_.leadUserId |
| | | }; |
| | | |
| | | let url = "/api/scheme/addOrUpdate"; |
| | | this.$axios.get(url,{ |
| | | params: { |
| | | reseachType: ruleForm_.objective, |
| | | name: ruleForm_.name, |
| | | startTime: items1, |
| | | endTime: items2, |
| | | id: this.xmId |
| | | } |
| | | }).then(data_ => { |
| | | console.log(data_); |
| | | this.xmId = data_.data.data; |
| | | |
| | | this.add_Step = 1; |
| | | }).catch(error =>{ |
| | | console.log(error); |
| | | }) |
| | | if (this.rowData.parentid) { |
| | | listId = this.rowData.parentid; |
| | | } |
| | | |
| | | if (!me.xmId && this.rowData.parentid) { |
| | | let url_ = "/api/scheme/addOrUpdate"; |
| | | this.$axios.get(url_,{ |
| | | params: params_ |
| | | }).then(data_ => { |
| | | me.xmId = data_.data.data; |
| | | me.totalItems = ruleForm_.items; |
| | | let url = "/api/topic/exam/" + listId; |
| | | this.$axios.get(url,{ |
| | | params: { |
| | | projectId: me.xmId |
| | | } |
| | | }).then(data_1 => { |
| | | if(data_1.data.success) { |
| | | me.add_Step = 1; |
| | | me.loading_nextStep = false; |
| | | }else { |
| | | this.$message({message:'创建项目失败', type: 'warning'}); |
| | | } |
| | | }).catch(error => { |
| | | }) |
| | | }).catch(error =>{ |
| | | }) |
| | | } |
| | | else { |
| | | let url_ = "/api/scheme/addOrUpdate"; |
| | | this.$axios.get(url_,{ |
| | | params: params_ |
| | | }).then(data_ => { |
| | | me.xmId = data_.data.data; |
| | | me.totalItems = ruleForm_.items; |
| | | me.add_Step = 1; |
| | | me.loading_nextStep = false; |
| | | }).catch(error =>{ |
| | | }) |
| | | } |
| | | }, |
| | | |
| | | saveStep2() { |
| | |
| | | if (!form_obj.mustAttach) { |
| | | form_obj.mustAttach = false; |
| | | } |
| | | /* if (form_obj.items_fz.length > 0) { |
| | | form_obj.startTime = form_obj.items_fz[0]; |
| | | form_obj.endTime = form_obj.items_fz[1]; |
| | | } */ |
| | | |
| | | if (form_obj.startTime) { |
| | | form_obj.startTime = this.$moment(form_obj.startTime).format('YYYY-MM-DD'); |
| | | // form_obj.startTime = new Date(form_obj.startTime).Format("yyyy-MM-dd").toLocaleString(); |
| | |
| | | form_obj.endTime = this.$moment(form_obj.endTime).format('YYYY-MM-DD'); |
| | | // form_obj.endTime = new Date(form_obj.endTime).Format("yyyy-MM-dd").toLocaleString(); |
| | | } |
| | | if (form_obj.userId) { |
| | | let leng = form_obj.userId.length; |
| | | |
| | | if (form_obj.parttimeUser && form_obj.parttimeUser.length>0) { |
| | | let parttimeUser_ = ""; |
| | | for (let i = 0; i<form_obj.parttimeUser.length; i++) { |
| | | if (parttimeUser_ == "") { |
| | | parttimeUser_ = form_obj.parttimeUser[i]; |
| | | } |
| | | else { |
| | | parttimeUser_ = parttimeUser_ + ";" + form_obj.parttimeUser[i]; |
| | | } |
| | | } |
| | | |
| | | form_obj.userId = form_obj.userId[leng-1]; |
| | | form_obj.parttimeUser = parttimeUser_; |
| | | } |
| | | |
| | | if (form_obj.userIds) { |
| | | let leng = form_obj.userIds.length; |
| | | |
| | | form_obj.roleName = form_obj.userIds[leng-2]; |
| | | form_obj.userId = form_obj.userIds[leng-1]; |
| | | } |
| | | form_obj.type = itm_k; |
| | | form_obj.parentId = this.xmId; |
| | |
| | | |
| | | if (is_null1) { |
| | | let datas = "?datas=" + encodeURI(JSON.stringify(form_array)); |
| | | let url = "/api/schemeDetail/updates"; |
| | | let url = "/api/detail/updates"; |
| | | this.$axios.get(url + datas).then(data_ => { |
| | | console.log(data_); |
| | | |
| | | this.add_Step = 2; |
| | | this.nextStepName = "完 成"; |
| | | }).catch(error =>{ |
| | | console.log(error); |
| | | }) |
| | | } |
| | | }, |
| | | saveStep3() { |
| | | let url = "/api/scheme/working/" + this.xmId; |
| | | this.$axios.get(url).then(data_ => { |
| | | if(data_.data.success) { |
| | | this.$message('项目启动成功'); |
| | | this.Cancel(); |
| | | }else { |
| | | |
| | | this.$message({message:'项目启动失败', type: 'warning'}); |
| | | } |
| | | }).catch(error =>{ |
| | | }) |
| | | }, |
| | | |
| | | leadUserIdChange(val) { |
| | | let aa = val; |
| | | let s_ = ""; |
| | | for (let i=0; i<val.length; i++) { |
| | | if (i == 0) { |
| | | let val_ = val[i]; |
| | | s_ = val_[val_.length - 1]; |
| | | } |
| | | else { |
| | | let val_ = val[i]; |
| | | s_ = s_ + ";" + val_[val_.length - 1]; |
| | | } |
| | | } |
| | | this.ruleForm.leadUserId = s_; |
| | | }, |
| | | |
| | | } |
| | | } |