This commit is contained in:
caoqianming 2022-11-01 14:09:14 +08:00
commit ee23a453d5
6 changed files with 742 additions and 685 deletions

View File

@ -342,7 +342,12 @@ export default {
// //
handleSaveSuccess(data, mode) { handleSaveSuccess(data, mode) {
if (mode == "add") { if (mode == "add") {
this.$refs.tableoperation.refresh(); this.$router.push({
name: "opl",
query: {
id: data.id,
},
});
} else if (mode == "edit") { } else if (mode == "edit") {
this.$refs.tableoperation.refresh(); this.$refs.tableoperation.refresh();
} }

View File

@ -194,7 +194,7 @@ export default {
methods: { methods: {
//, //,
getDept() { getDept() {
this.$API.system.dept.list.req({ page: 0 }).then((res) => { this.$API.system.dept.list.req({ page: 0 , type__in: 'dept, rparty'}).then((res) => {
this.deptoptions = genTree(res); this.deptoptions = genTree(res);
}); });
@ -243,7 +243,7 @@ export default {
var res; var res;
if (this.mode == "add") { if (this.mode == "add") {
res = await this.$API.opm.operation.create.req(this.form); res = await this.$API.opm.operation.create.req(this.form);
console.log(this.form); this.form.id = res.id;
} else if (this.mode == "edit") { } else if (this.mode == "edit") {
res = await this.$API.opm.operation.update.req( res = await this.$API.opm.operation.update.req(
this.form.id, this.form.id,

View File

@ -88,21 +88,6 @@
<el-table-column label="项目类型" prop="type" width="180"> <el-table-column label="项目类型" prop="type" width="180">
<template #default="scope">{{ type_[scope.row.type] }} </template> <template #default="scope">{{ type_[scope.row.type] }} </template>
</el-table-column> </el-table-column>
<el-table-column
label="合同编号"
prop="contract_number"
width="180"
></el-table-column>
<el-table-column
label="进厂时间"
prop="come_time"
width="180"
></el-table-column>
<el-table-column
label="离厂时间"
prop="leave_time"
width="180"
></el-table-column>
<el-table-column label="状态" prop="state" width="100"> <el-table-column label="状态" prop="state" width="100">
<template #default="scope">{{ state_[scope.row.state] }}</template> <template #default="scope">{{ state_[scope.row.state] }}</template>
</el-table-column> </el-table-column>
@ -135,6 +120,21 @@
</el-tag> </el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column
label="进厂时间"
prop="come_time"
width="180"
></el-table-column>
<el-table-column
label="离厂时间"
prop="leave_time"
width="180"
></el-table-column>
<el-table-column
label="合同编号"
prop="contract_number"
width="180"
></el-table-column>
<el-table-column <el-table-column
label="所属部门" label="所属部门"
prop="belong_dept_name" prop="belong_dept_name"
@ -193,13 +193,13 @@
</el-main> </el-main>
</el-container> </el-container>
<save-dialog <!-- <save-dialog
v-if="dialog.save" v-if="dialog.save"
ref="saveDialog" ref="saveDialog"
@success="handleSaveSuccess" @success="handleSaveSuccess"
@closed="dialog.save = false" @closed="dialog.save = false"
> >
</save-dialog> </save-dialog> -->
<show-dialog <show-dialog
v-if="dialog.show" v-if="dialog.show"
ref="showDialog" ref="showDialog"
@ -207,13 +207,13 @@
></show-dialog> ></show-dialog>
</template> </template>
<script> <script>
import saveDialog from "./rpj_form.vue"; // import saveDialog from "./rpj_form.vue";
import showDialog from "./rpj_show.vue"; import showDialog from "./rpj_show.vue";
export default { export default {
name: "remployee", name: "remployee",
components: { components: {
saveDialog, // saveDialog,
showDialog, showDialog,
}, },
data() { data() {
@ -304,9 +304,12 @@ export default {
methods: { methods: {
// //
add() { add() {
this.dialog.save = true; // this.dialog.save = true;
this.$nextTick(() => { // this.$nextTick(() => {
this.$refs.saveDialog.open("add"); // this.$refs.saveDialog.open("add");
// });
this.$router.push({
name: "rpjadd",
}); });
}, },
// //

View File

@ -22,17 +22,18 @@
<el-form <el-form
ref="dialogForm" ref="dialogForm"
:model="rpjform" :model="rpjform"
:rules="rules"
label-width="110px" label-width="110px"
style="margin: 40px 40px 40px 40px" style="margin: 40px 40px 40px 40px"
> >
<el-row> <el-row>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-form-item label="名称"> <el-form-item label="名称" prop="name">
<el-input v-model="rpjform.name" type="text" clearable></el-input> <el-input v-model="rpjform.name" type="text" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-form-item label="项目类型"> <el-form-item label="项目类型" prop="type">
<el-select v-model="rpjform.type" style="width: 100%"> <el-select v-model="rpjform.type" style="width: 100%">
<el-option <el-option
v-for="item in typeOptions" v-for="item in typeOptions"
@ -44,7 +45,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-form-item label="合同编号"> <el-form-item label="合同编号" prop="contract_number">
<el-input <el-input
v-model="rpjform.contract_number" v-model="rpjform.contract_number"
type="text" type="text"
@ -53,7 +54,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-form-item label="进厂时间"> <el-form-item label="进厂时间" prop="come_time">
<el-date-picker <el-date-picker
v-model="rpjform.come_time" v-model="rpjform.come_time"
type="datetime" type="datetime"
@ -62,7 +63,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-form-item label="离厂时间"> <el-form-item label="离厂时间" prop="leave_time">
<el-date-picker <el-date-picker
v-model="rpjform.leave_time" v-model="rpjform.leave_time"
type="datetime" type="datetime"
@ -71,7 +72,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-form-item label="所属部门"> <el-form-item label="所属部门" prop="belong_dept">
<el-cascader <el-cascader
v-model="rpjform.belong_dept" v-model="rpjform.belong_dept"
:options="deptoptions" :options="deptoptions"
@ -80,7 +81,7 @@
label: 'label', // label: 'label', //
value: 'value', // value: 'value', //
emitPath: false, // false emitPath: false, // false
checkStrictly: true checkStrictly: true,
}" }"
clearable clearable
style="width: 100%" style="width: 100%"
@ -90,7 +91,7 @@
</el-col> </el-col>
<el-col :md="24" :sm="12" :xs="24" v-if="rparty_show"> <el-col :md="24" :sm="12" :xs="24" v-if="rparty_show">
<el-form-item label="相关方"> <el-form-item label="相关方" prop="rparty">
<el-select v-model="rpjform.rparty" style="width: 100%"> <el-select v-model="rpjform.rparty" style="width: 100%">
<el-option <el-option
v-for="item in rpartyOptions" v-for="item in rpartyOptions"
@ -106,10 +107,12 @@
<el-row> <el-row>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-form-item> <el-form-item>
<el-button style="margin-top: 20px" type="primary" @click="handleNextStep" <el-button
style="margin-top: 20px"
type="primary"
@click="handleNextStep"
>下一步 >下一步
</el-button </el-button>
>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -125,7 +128,7 @@
hidePagination hidePagination
hideDo hideDo
stripe stripe
style="height:300px" style="height: 300px"
> >
<el-table-column <el-table-column
label="#" label="#"
@ -141,7 +144,13 @@
<el-table-column label="文件资料" prop="name"> <el-table-column label="文件资料" prop="name">
<template #default="scope"> <template #default="scope">
<div v-for="item in scope.row.files_" :key="item.id"> <div v-for="item in scope.row.files_" :key="item.id">
<el-link style="font-size:12px" type="primary" :href="item.path" target="_blank">{{item.name}}</el-link> <el-link
style="font-size: 12px"
type="primary"
:href="item.path"
target="_blank"
>{{ item.name }}</el-link
>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
@ -153,10 +162,11 @@
type="primary" type="primary"
size="small" size="small"
@click="upload(scope.row, scope.$index)" @click="upload(scope.row, scope.$index)"
><span v-if="scope.row.files.length>=1" style="color:red">重传</span> ><span v-if="scope.row.files.length >= 1" style="color: red"
<span v-else>上传</span> >重传</span
</el-button
> >
<span v-else>上传</span>
</el-button>
<!-- <el-popconfirm <!-- <el-popconfirm
title="确定删除吗?" title="确定删除吗?"
@confirm="del_rpjfile(scope.row)" @confirm="del_rpjfile(scope.row)"
@ -168,15 +178,11 @@
</template> </template>
</el-table-column> </el-table-column>
</scTable> </scTable>
<div style="margin-top:20px;text-align:center"> <div style="margin-top: 20px; text-align: center">
<el-button style="margin-right: 4px" @click="handleLastStep" <el-button style="margin-right: 4px" @click="handleLastStep"
>上一步 >上一步
</el-button </el-button>
> <el-button type="primary" @click="handleNextStep">下一步 </el-button>
<el-button type="primary" @click="handleNextStep"
>下一步
</el-button
>
</div> </div>
<el-dialog v-model="dialogupload" draggable title="上传文件"> <el-dialog v-model="dialogupload" draggable title="上传文件">
<el-form ref="dialogfileForm" :model="fileform" label-width="120px"> <el-form ref="dialogfileForm" :model="fileform" label-width="120px">
@ -190,10 +196,7 @@
:limit="10" :limit="10"
tip="最多上传10个文件,单个文件不要超过10M" tip="最多上传10个文件,单个文件不要超过10M"
> >
<el-button type="primary" icon="el-icon-upload" <el-button type="primary" icon="el-icon-upload"> </el-button>
>
</el-button
>
</sc-upload-file> </sc-upload-file>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -221,7 +224,7 @@
hidePagination hidePagination
hideDo hideDo
stripe stripe
style="height:300px" style="height: 300px"
> >
<el-table-column <el-table-column
label="#" label="#"
@ -244,8 +247,7 @@
:label="item.name" :label="item.name"
:value="item.number" :value="item.number"
>{{ item.name }} >{{ item.name }}
</el-tag </el-tag>
>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="是否项目负责人" prop="is_manager" width="150"> <el-table-column label="是否项目负责人" prop="is_manager" width="150">
@ -273,11 +275,7 @@
</el-table-column> </el-table-column>
</scTable> </scTable>
<el-dialog v-model="workerdialog" draggable title="选择项目人员"> <el-dialog v-model="workerdialog" draggable title="选择项目人员">
<el-form <el-form ref="workerForm" :model="formworker" label-width="120px">
ref="workerForm"
:model="formworker"
label-width="120px"
>
<el-row> <el-row>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-form-item label="项目人员"> <el-form-item label="项目人员">
@ -337,51 +335,53 @@
<el-button type="primary" @click="submitWorker"> </el-button> <el-button type="primary" @click="submitWorker"> </el-button>
</template> </template>
</el-dialog> </el-dialog>
<div style="margin-top:20px;text-align:center"> <div style="margin-top: 20px; text-align: center">
<el-button @click="handleLastStep" style="margin-right:4px">上一步</el-button> <el-button @click="handleLastStep" style="margin-right: 4px"
>上一步</el-button
>
<el-button <el-button
v-for=" item in initForm.transitions" v-for="item in initForm.transitions"
:key="item.id" :key="item.id"
type="primary" type="primary"
@click="submitTicketCreate(item.id)" @click="submitTicketCreate(item.id)"
style="margin-right:4px" style="margin-right: 4px"
>{{item.name}}</el-button> >{{ item.name }}</el-button
>
<el-button @click="submitOut" type="warning">退出</el-button> <el-button @click="submitOut" type="warning">退出</el-button>
</div> </div>
</el-main> </el-main>
</el-container> </el-container>
</template> </template>
<style scoped> <style scoped>
.clearfix { .clearfix {
font-size: 20px; font-size: 20px;
} }
.box-card p { .box-card p {
line-height: 20px; line-height: 20px;
} }
.content { .content {
margin-top: 10px; margin-top: 10px;
} }
.stepSuc:hover { .stepSuc:hover {
cursor: pointer; cursor: pointer;
} }
.stepErr:hover { .stepErr:hover {
cursor: not-allowed; cursor: not-allowed;
} }
</style> </style>
<script> <script>
import {genTree} from "@/utils/verificate"; import { genTree } from "@/utils/verificate";
const defaultformworker = {
const defaultformworker = {
duty: "", duty: "",
rcertificates: [], rcertificates: [],
rpj: "", rpj: "",
}; };
export default { export default {
name: "rpjadd", name: "rpjadd",
components: {}, components: {},
data() { data() {
@ -400,10 +400,10 @@
rpartyOptions: [], rpartyOptions: [],
deptoptions: [], deptoptions: [],
typeOptions: [ typeOptions: [
{id: 10, name: "建筑施工"}, { id: 10, name: "建筑施工" },
{id: 20, name: "设备设施检维修"}, { id: 20, name: "设备设施检维修" },
{id: 30, name: "保安保洁服务"}, { id: 30, name: "保安保洁服务" },
{id: 40, name: "其他"}, { id: 40, name: "其他" },
], ],
rpjfileList: [], rpjfileList: [],
dialogupload: false, dialogupload: false,
@ -418,21 +418,30 @@
apiworkerObj: [], apiworkerObj: [],
workerdialog: false, workerdialog: false,
initForm: {}, initForm: {},
rparty_show: false rparty_show: false,
rules: {
name: [{ required: true, message: "请输入" }],
type: [{ required: true, message: " 请选择" }],
contract_number: [{ required: true, message: "请输入" }],
come_time: [{ required: true, message: "请选择" }],
leave_time: [{ required: true, message: "请选择" }],
},
}; };
}, },
mounted() { mounted() {
this.rpjId = this.$route.query.rpjid; //ID this.rpjId = this.$route.query.rpjid; //ID
this.rpartyShow() this.rpartyShow();
if (this.rpjId) {
this.getRpj(); this.getRpj();
}
this.getDept(); this.getDept();
this.getInit(); this.getInit();
}, },
methods: { methods: {
rpartyShow(){ rpartyShow() {
var userInfo = this.$TOOL.data.get("USER_INFO"); var userInfo = this.$TOOL.data.get("USER_INFO");
if(userInfo.type=='employee'){ if (userInfo.type == "employee") {
this.rparty_show = true this.rparty_show = true;
this.getRpartyOptions(); this.getRpartyOptions();
} }
}, },
@ -445,19 +454,23 @@
}, },
// //
getDept() { getDept() {
this.$API.system.dept.list.req({page: 0}).then((res) => { this.$API.system.dept.list
.req({ page: 0, type__in: "dept" })
.then((res) => {
this.deptoptions = genTree(res); this.deptoptions = genTree(res);
}); });
}, },
// //
getRpjfileList() { getRpjfileList() {
this.$API.rpm.rpjfile.list.req({page: 0, rpj: this.rpjId}).then((res) => { this.$API.rpm.rpjfile.list
.req({ page: 0, rpj: this.rpjId })
.then((res) => {
this.rpjfileList = res; this.rpjfileList = res;
}); });
}, },
// //
getRpartyOptions() { getRpartyOptions() {
this.$API.rpm.rparty.list.req({page: 0}).then((res) => { this.$API.rpm.rparty.list.req({ page: 0 }).then((res) => {
this.rpartyOptions = res; this.rpartyOptions = res;
}); });
}, },
@ -476,20 +489,31 @@
// //
handleNextStep() { handleNextStep() {
if (this.active == 0) { if (this.active == 0) {
this.$refs.dialogForm.validate(async (valid) => {
if (valid) {
if (this.rpjId) {
this.$API.rpm.rpj.update this.$API.rpm.rpj.update
.req(this.rpjId, this.rpjform) .req(this.rpjId, this.rpjform)
.then((res) => { .then((res) => {
this.$message.success("基本信息更新成功!"); this.$message.success("基本信息更新成功!");
this.getRpjfileList();
return res; this.getmemberList();
})
.catch((err) => {
return err;
});
this.getRpjfileList(this.rpjId);
this.getmemberList(this.rpjId);
this.getremployee(); this.getremployee();
this.active = 1; this.active = 1;
});
} else {
this.$API.rpm.rpj.create.req(this.rpjform).then((res) => {
this.$message.success("项目创建成功!");
this.rpjId = res.id;
this.rpjform.rparty = res.rparty;
this.getRpjfileList();
this.getmemberList();
this.getremployee();
this.active = 1;
});
}
}
});
} else if (this.active == 1) { } else if (this.active == 1) {
this.active = 2; this.active = 2;
} else { } else {
@ -532,7 +556,7 @@
.then((res) => { .then((res) => {
this.$message.success("提交成功!"); this.$message.success("提交成功!");
this.dialogupload = false; this.dialogupload = false;
this.rpjfileList = [] this.rpjfileList = [];
this.getRpjfileList(); this.getRpjfileList();
return res; return res;
}) })
@ -542,7 +566,7 @@
}, },
// //
getremployee() { getremployee() {
this.$API.rpm.remployee.list.req({page: 0}).then((res) => { this.$API.rpm.remployee.list.req({ page: 0, rparty: this.rpjform.rparty }).then((res) => {
this.remployeeoptions = res; this.remployeeoptions = res;
}); });
}, },
@ -550,7 +574,7 @@
// //
selectWorker() { selectWorker() {
this.$API.rpm.rcertificate.list this.$API.rpm.rcertificate.list
.req({remployee: this.formworker.remployee, page: 0}) .req({ remployee: this.formworker.remployee, page: 0 })
.then((res) => { .then((res) => {
this.certificatesOptions = res; this.certificatesOptions = res;
}); });
@ -558,7 +582,9 @@
// //
getmemberList() { getmemberList() {
this.$API.rpm.member.list.req({rpj: this.rpjId, page: 0}).then((res) => { this.$API.rpm.member.list
.req({ rpj: this.rpjId, page: 0 })
.then((res) => {
this.apiworkerObj = res; this.apiworkerObj = res;
console.log(res); console.log(res);
}); });
@ -576,7 +602,7 @@
.req(row.id) .req(row.id)
.then((res) => { .then((res) => {
this.$message.success("作业人员删除成功"); this.$message.success("作业人员删除成功");
this.getmemberList() this.getmemberList();
return res; return res;
}) })
.catch((err) => { .catch((err) => {
@ -587,10 +613,12 @@
submitWorker() { submitWorker() {
this.formworker.rpj = this.rpjId; this.formworker.rpj = this.rpjId;
this.$refs.workerForm.validate(async (valid) => { this.$refs.workerForm.validate(async (valid) => {
this.$API.rpm.member.create.req(this.formworker).then((res) => { this.$API.rpm.member.create
.req(this.formworker)
.then((res) => {
this.$message.success("创建项目人员成功"); this.$message.success("创建项目人员成功");
this.workerdialog = false; this.workerdialog = false;
this.getmemberList() this.getmemberList();
}) })
.catch((err) => { .catch((err) => {
return err; return err;
@ -599,18 +627,18 @@
}, },
// //
getInit(){ getInit() {
this.$API.wf.workflow.initkey.req('rpj').then((res) => { this.$API.wf.workflow.initkey.req("rpj").then((res) => {
this.initForm = res; this.initForm = res;
}); });
}, },
//, //,
submitTicketCreate(id){ submitTicketCreate(id) {
let ticket={}; let ticket = {};
ticket.workflow=this.initForm.workflow; ticket.workflow = this.initForm.workflow;
ticket.ticket_data={rpj:this.rpjId}; ticket.ticket_data = { rpj: this.rpjId };
ticket.transition=id; ticket.transition = id;
this.$API.wf.ticket.create.req(ticket).then((res) => { this.$API.wf.ticket.create.req(ticket).then((res) => {
this.$message.success("提交成功"); this.$message.success("提交成功");
this.$router.push({ this.$router.push({
@ -618,7 +646,7 @@
query: {}, query: {},
}); });
}); });
}
}, },
}; },
};
</script> </script>

View File

@ -191,13 +191,13 @@
</el-container> </el-container>
</template> </template>
<script> <script>
import saveDialog from "./visit_form.vue"; // import saveDialog from "./visit_form.vue";
import detialDialog from "./visit_detial.vue"; import detialDialog from "./visit_detial.vue";
export default { export default {
name: "visit", name: "visit",
components: { components: {
saveDialog, // saveDialog,
detialDialog, detialDialog,
}, },
data() { data() {
@ -252,9 +252,12 @@ export default {
methods: { methods: {
// //
add() { add() {
this.dialog.save = true; // this.dialog.save = true;
this.$nextTick(() => { // this.$nextTick(() => {
this.$refs.saveDialog.open("add"); // this.$refs.saveDialog.open("add");
// });
this.$router.push({
name: "vistoradd",
}); });
}, },
addpepple(row) { addpepple(row) {

View File

@ -28,57 +28,8 @@
style="margin: 40px 40px 40px 40px" style="margin: 40px 40px 40px 40px"
> >
<el-row> <el-row>
<el-col :md="8" :sm="12" :xs="24"> <el-col :md="8" :sm="12" :xs="24" >
<el-form-item label="来访概述"> <el-form-item label="来访事由" prop="purpose">
<el-input v-model="form.name" type="text" clearable></el-input>
</el-form-item>
</el-col>
<el-col :md="8" :sm="12" :xs="24">
<el-form-item label="来访时间">
<el-date-picker
v-model="form.visit_time"
type="datetime"
placeholder="选择来访时间"
/>
</el-form-item>
</el-col>
<el-col :md="8" :sm="12" :xs="24">
<el-form-item label="离开时间">
<el-date-picker
v-model="form.leave_time"
type="datetime"
placeholder="选择离开时间"
/>
</el-form-item>
</el-col>
<el-col :md="8" :sm="12" :xs="24">
<el-form-item label="来访单位">
<el-input v-model="form.company" type="text" clearable></el-input>
</el-form-item>
</el-col>
<el-col :md="8" :sm="24" :xs="24">
<el-form-item label="来访级别">
<el-radio-group v-model="form.level">
<el-radio-button label="10">一般</el-radio-button>
<el-radio-button label="20">重要</el-radio-button>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :md="8" :sm="12" :xs="24">
<el-form-item label="来访人数">
<el-input-number
v-model="form.count_people"
:min="0"
:max="32767"
controls-position="right"
></el-input-number>
</el-form-item>
</el-col>
<el-col :md="8" :sm="12" :xs="24">
<el-form-item label="来访事由">
<el-select v-model="form.purpose" placeholder="选择来访事由"> <el-select v-model="form.purpose" placeholder="选择来访事由">
<el-option <el-option
v-for="item in purposeoptions" v-for="item in purposeoptions"
@ -89,8 +40,57 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="8" :sm="12" :xs="24">
<el-form-item label="来访概述" prop="name">
<el-input v-model="form.name" type="text" clearable></el-input>
</el-form-item>
</el-col>
<el-col :md="8" :sm="12" :xs="24">
<el-form-item label="来访时间" prop="visit_time">
<el-date-picker
v-model="form.visit_time"
type="datetime"
placeholder="选择来访时间"
/>
</el-form-item>
</el-col>
<el-col :md="8" :sm="12" :xs="24">
<el-form-item label="离开时间" prop="leave_time">
<el-date-picker
v-model="form.leave_time"
type="datetime"
placeholder="选择离开时间"
/>
</el-form-item>
</el-col>
<el-col :md="8" :sm="12" :xs="24">
<el-form-item label="来访单位" prop="company">
<el-input v-model="form.company" type="text" clearable></el-input>
</el-form-item>
</el-col>
<el-col :md="8" :sm="24" :xs="24">
<el-form-item label="来访级别" prop="level">
<el-radio-group v-model="form.level">
<el-radio-button label="10">一般</el-radio-button>
<el-radio-button label="20">重要</el-radio-button>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :md="8" :sm="12" :xs="24">
<el-form-item label="来访人数" prop="count_people">
<el-input-number
v-model="form.count_people"
:min="0"
:max="32767"
controls-position="right"
></el-input-number>
</el-form-item>
</el-col>
<el-col :md="16" :sm="12" :xs="24"> <el-col :md="16" :sm="12" :xs="24">
<el-form-item label="来访详述"> <el-form-item label="来访详述" prop="description">
<el-input <el-input
v-model="form.description" v-model="form.description"
type="text" type="text"
@ -99,7 +99,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="8" :sm="24" :xs="24"> <el-col :md="8" :sm="24" :xs="24">
<el-form-item label="接待人"> <el-form-item label="接待人" prop="receptionist">
<span style="display:flex"> <span style="display:flex">
<el-input readonly v-model="form.receptionist_name"></el-input> <el-input readonly v-model="form.receptionist_name"></el-input>
<ehsUserSelect :multiple="false" @submit="getReceptionist"/> <ehsUserSelect :multiple="false" @submit="getReceptionist"/>
@ -353,7 +353,7 @@ export default {
measureOptions: ['集中隔离','居家隔离','居家健康检测','排除风险'], measureOptions: ['集中隔离','居家隔离','居家健康检测','排除风险'],
active: 0, active: 0,
stepSuc: [0], stepSuc: [0],
form: [], form: {purpose:10, level:10},
stepTitle: ["基本信息", "选择访客"], stepTitle: ["基本信息", "选择访客"],
receptionistoptions: [], receptionistoptions: [],
purposeoptions: [ purposeoptions: [
@ -391,7 +391,14 @@ export default {
is_main: false, is_main: false,
is_reported: true, is_reported: true,
}, },
rules: { }, rules: {
purpose: [{ required: true, message: "请输入" }],
name: [{ required: true, message: "来访概述" }],
visit_time: [{ required: true, message: "请输入" }],
leave_time: [{ required: true, message: "请输入" }],
receptionist: [{ required: true, message: "请输入" }],
level: [{ required: true, message: "请输入" }]
},
peopleRules:{ peopleRules:{
visitor: [{ required: true, message: "请选择来访人员" }], visitor: [{ required: true, message: "请选择来访人员" }],
return_date: [{ required: true, message: "请选择返乡日期" }], return_date: [{ required: true, message: "请选择返乡日期" }],
@ -411,8 +418,10 @@ export default {
}, },
mounted() { mounted() {
this.visitid = this.$route.query.visitid; //ID this.visitid = this.$route.query.visitid; //ID
if(this.visitid){
this.getRpj(); this.getRpj();
this.getpeoplelistlist(); this.getpeoplelistlist();
}
this.getvisitorlist(); this.getvisitorlist();
}, },
methods: { methods: {
@ -450,18 +459,27 @@ export default {
// //
handleNextStep() { handleNextStep() {
if (this.active == 0) { if (this.active == 0) {
this.$API.vm.visit.update this.$refs.dialogForm.validate(async (valid) => {
.req(this.form.id, this.form) if (valid) {
if(this.visitid){
this.$API.vm.visit.update
.req(this.visitid, this.form)
.then((res) => { .then((res) => {
this.$message.success("基本信息更新成功!"); this.$message.success("基本信息更新成功");
return res;
})
.catch((err) => {
return err;
});
this.getInit(); this.getInit();
this.active = 1; this.active = 1;
})
}else{
this.$API.vm.visit.create.req(this.form).then(res=>{
this.visitid = res.id;
this.$message.success("项目创建成功");
this.getInit();
this.active = 1;
})
}
}
});
} else { } else {
this.active = 1; this.active = 1;
} }