|
|
@@ -19,10 +19,10 @@
|
|
|
<el-form
|
|
|
ref="form"
|
|
|
:rules="rules"
|
|
|
- class="el-form-box"
|
|
|
+ class="el-form-box borNone"
|
|
|
:model="form"
|
|
|
label-width="0"
|
|
|
- style="padding:0 15px "
|
|
|
+ style="padding: 0 15px"
|
|
|
>
|
|
|
<el-row :gutter="15">
|
|
|
<el-descriptions title="基本信息" :column="4" border>
|
|
|
@@ -51,7 +51,7 @@
|
|
|
></el-descriptions-item>
|
|
|
|
|
|
<el-descriptions-item label="发起人">
|
|
|
- <el-form-item prop="type">
|
|
|
+ <el-form-item prop="promoterName">
|
|
|
<el-input
|
|
|
v-model="form.promoterName"
|
|
|
@click.native="userListOpen('promoterName')"
|
|
|
@@ -137,12 +137,10 @@
|
|
|
:default-time="['9:00:00', '12:00:00']"
|
|
|
value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
>
|
|
|
- </el-date-picker>
|
|
|
- <span v-if="TimeArr.length>1">
|
|
|
- {{ getTimeArr }} 天
|
|
|
- </span>
|
|
|
- </el-form-item
|
|
|
- ></el-descriptions-item>
|
|
|
+ </el-date-picker>
|
|
|
+ <span v-if="TimeArr.length > 1"> {{ getTimeArr }} 天 </span>
|
|
|
+ </el-form-item></el-descriptions-item
|
|
|
+ >
|
|
|
</el-descriptions>
|
|
|
<el-descriptions title="接待项目" :column="4" border>
|
|
|
<el-descriptions-item label="项目类别">
|
|
|
@@ -248,13 +246,11 @@
|
|
|
ref="conferenceListRef"
|
|
|
v-if="item.name == '会议'"
|
|
|
:organizationList="organizationList"
|
|
|
-
|
|
|
></conferenceList>
|
|
|
<companyList
|
|
|
ref="companyListRef"
|
|
|
v-if="item.name == '公司参观'"
|
|
|
:organizationList="organizationList"
|
|
|
-
|
|
|
></companyList>
|
|
|
<visitList
|
|
|
ref="visitListRef"
|
|
|
@@ -268,6 +264,8 @@
|
|
|
</el-form>
|
|
|
<div slot="footer">
|
|
|
<el-button type="primary" @click="save()">保存</el-button>
|
|
|
+ <el-button type="primary" @click="save('sub')">提交</el-button>
|
|
|
+
|
|
|
<el-button @click="cancel">返回</el-button>
|
|
|
</div>
|
|
|
<UserList ref="userListRef" @success="userListSuccess"></UserList>
|
|
|
@@ -276,6 +274,13 @@
|
|
|
ref="staffSelectionRef"
|
|
|
@confirm="staffSelectionbk"
|
|
|
></staffSelection>
|
|
|
+ <process-submit-dialog
|
|
|
+ :processSubmitDialogFlag.sync="processSubmitDialogFlag"
|
|
|
+ v-if="processSubmitDialogFlag"
|
|
|
+ ref="processSubmitDialogRef"
|
|
|
+ @reload="done"
|
|
|
+ :isNotNeedProcess="false"
|
|
|
+ ></process-submit-dialog>
|
|
|
</ele-modal>
|
|
|
</template>
|
|
|
<script>
|
|
|
@@ -332,6 +337,8 @@ import companyList from './companyList.vue';
|
|
|
import visitList from './visitList.vue';
|
|
|
//住宿
|
|
|
import putUpList from './putUpList.vue';
|
|
|
+import processSubmitDialog from '@/BIZComponents/processSubmitDialog/processSubmitDialog.vue';
|
|
|
+
|
|
|
export default {
|
|
|
components: {
|
|
|
deptSelect,
|
|
|
@@ -345,14 +352,23 @@ export default {
|
|
|
modalTitle,
|
|
|
putUpList,
|
|
|
visitList,
|
|
|
- staffSelection
|
|
|
+ staffSelection,
|
|
|
+ processSubmitDialog
|
|
|
},
|
|
|
mixins: [dictMixins],
|
|
|
computed: {
|
|
|
...mapGetters(['user']),
|
|
|
- getTimeArr(){
|
|
|
- let [start,end]=this.TimeArr
|
|
|
- return Math.ceil((new Date(end).getTime()-new Date(start).getTime())/1000/60/60/24)||''
|
|
|
+ getTimeArr() {
|
|
|
+ let [start, end] = this.TimeArr;
|
|
|
+ return (
|
|
|
+ Math.ceil(
|
|
|
+ (new Date(end).getTime() - new Date(start).getTime()) /
|
|
|
+ 1000 /
|
|
|
+ 60 /
|
|
|
+ 60 /
|
|
|
+ 24
|
|
|
+ ) || ''
|
|
|
+ );
|
|
|
}
|
|
|
},
|
|
|
data() {
|
|
|
@@ -367,6 +383,7 @@ export default {
|
|
|
organizationList: [],
|
|
|
form: { ...defForm },
|
|
|
linkList: [],
|
|
|
+ processSubmitDialogFlag: false,
|
|
|
checkboxGroup: [
|
|
|
{
|
|
|
refKey: 'taskInfoTableRef',
|
|
|
@@ -405,7 +422,12 @@ export default {
|
|
|
value: 'id',
|
|
|
label: 'name'
|
|
|
},
|
|
|
- rules: {}
|
|
|
+ rules: {
|
|
|
+
|
|
|
+ name: { required: true, message: '请输入', trigger: 'change' },
|
|
|
+ type: { required: true, message: '请选择', trigger: 'change' },
|
|
|
+
|
|
|
+ }
|
|
|
};
|
|
|
},
|
|
|
mounted() {},
|
|
|
@@ -431,17 +453,36 @@ export default {
|
|
|
this.checkList.push(item.refKey);
|
|
|
});
|
|
|
this.activeName = this.checkList[0];
|
|
|
- if(this.form.start&&this.form.end){
|
|
|
+ if (this.form.start && this.form.end) {
|
|
|
this.TimeArr = [this.form.start, this.form.end];
|
|
|
}
|
|
|
-
|
|
|
});
|
|
|
} else {
|
|
|
this.form.promoterName = this.user.info.name;
|
|
|
this.form.promoterId = this.user.info.id;
|
|
|
}
|
|
|
},
|
|
|
- async save() {
|
|
|
+ submit(data) {
|
|
|
+
|
|
|
+ this.processSubmitDialogFlag = true;
|
|
|
+ this.$nextTick(() => {
|
|
|
+ let params = {
|
|
|
+ businessId: data.id,
|
|
|
+ businessKey: 'market_management_approve',
|
|
|
+ formCreateUserId: data.createUserId,
|
|
|
+ pcHandle: '/bpm/handleTask/components/marketManagem/submit.vue',
|
|
|
+ pcView: '/bpm/handleTask/components/marketManagem/view.vue',
|
|
|
+ variables: {
|
|
|
+ businessCode: data.code
|
|
|
+ }
|
|
|
+ };
|
|
|
+ this.$refs.processSubmitDialogRef.init(params);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ done() {
|
|
|
+ this.$emit('done');
|
|
|
+ },
|
|
|
+ async save(type) {
|
|
|
try {
|
|
|
await this.getValidate();
|
|
|
// 表单验证通过,执行保存操作
|
|
|
@@ -464,14 +505,22 @@ export default {
|
|
|
|
|
|
// return;
|
|
|
save(this.form)
|
|
|
- .then((res) => {
|
|
|
+ .then(async (res) => {
|
|
|
this.loading = false;
|
|
|
this.$message.success('操作成功');
|
|
|
+ if (type == 'sub') {
|
|
|
+ if(this.form.id){
|
|
|
+ this.submit(this.form);
|
|
|
+ }else{
|
|
|
+ this.submit( await getById(res));
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
this.cancel();
|
|
|
this.$emit('done');
|
|
|
})
|
|
|
.catch((e) => {
|
|
|
- //this.loading = false;
|
|
|
+ this.loading = false;
|
|
|
});
|
|
|
} catch (error) {
|
|
|
console.log(error);
|
|
|
@@ -561,20 +610,21 @@ export default {
|
|
|
this.form.phone = phone;
|
|
|
this.form.positionName = positionName;
|
|
|
},
|
|
|
- receptionDepartmentIdChange(){
|
|
|
- this.$nextTick(()=>{
|
|
|
- const data =this.$refs.deptRef.getCheckedNodes()
|
|
|
- console.log(data,'data')
|
|
|
- this.form.receptionDepartmentName=data.map(item=>item.label).toString()
|
|
|
-
|
|
|
- })
|
|
|
+ receptionDepartmentIdChange() {
|
|
|
+ this.$nextTick(() => {
|
|
|
+ const data = this.$refs.deptRef.getCheckedNodes();
|
|
|
+ console.log(data, 'data');
|
|
|
+ this.form.receptionDepartmentName = data
|
|
|
+ .map((item) => item.label)
|
|
|
+ .toString();
|
|
|
+ });
|
|
|
},
|
|
|
-
|
|
|
+
|
|
|
//关闭弹窗
|
|
|
cancel() {
|
|
|
this.addOrEditDialogFlag = false;
|
|
|
this.checkList = [];
|
|
|
- this.TimeArr=[]
|
|
|
+ this.TimeArr = [];
|
|
|
this.form = {
|
|
|
...defForm
|
|
|
};
|
|
|
@@ -583,9 +633,12 @@ export default {
|
|
|
};
|
|
|
</script>
|
|
|
<style scoped lang="scss">
|
|
|
-:deep(.el-input__inner) {
|
|
|
- border: none;
|
|
|
+.borNone{
|
|
|
+ :deep(.el-input__inner) {
|
|
|
+ border-color: #fff;
|
|
|
}
|
|
|
+}
|
|
|
+
|
|
|
:deep(.el-input-group__append) {
|
|
|
border-left: 1px solid var(--border-color-base);
|
|
|
}
|
|
|
@@ -618,7 +671,7 @@ export default {
|
|
|
width: 400px;
|
|
|
}
|
|
|
}
|
|
|
-:deep(.el-tabs__item){
|
|
|
+:deep(.el-tabs__item) {
|
|
|
font-size: 16px;
|
|
|
font-weight: 800;
|
|
|
}
|