<template>
|
<div class="createmyInterface">
|
<main>
|
<div class="mainContent">
|
<el-form
|
ref="survey"
|
label-width="140px"
|
autoComplete="on"
|
:model="myInterface"
|
:rules="createSurvey"
|
label-position="right"
|
>
|
<el-form-item class="optionItem" label="问题类型:" prop="type">
|
<el-select v-model="myInterface.type" placeholder="请选择问题类型">
|
<el-option label="问题类型一" value="shanghai"></el-option>
|
<el-option label="问题类型二" value="beijing"></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item class="optionItem" label="大类:" prop="bigclass">
|
<el-select v-model="myInterface.bigclass" placeholder="请选择大类">
|
<el-option label="大类一" value="shanghai"></el-option>
|
<el-option label="大类二" value="beijing"></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item class="optionItem" label="小类:" prop="subclass">
|
<el-select v-model="myInterface.subclass" placeholder="请选择小类">
|
<el-option label="小类一" value="shanghai"></el-option>
|
<el-option label="小类二" value="beijing"></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item class="optionItem" label="街道:" prop="street">
|
<el-input
|
v-model="myInterface.street"
|
placeholder="请填写街道"
|
></el-input>
|
</el-form-item>
|
<el-form-item class="optionItem" label="社区:" prop="community">
|
<el-input
|
v-model="myInterface.community"
|
placeholder="请填写社区"
|
></el-input>
|
</el-form-item>
|
<el-form-item class="optionItem" label="任务描述:" prop="task">
|
<el-input
|
v-model="myInterface.task"
|
placeholder="请填写任务描述"
|
></el-input>
|
</el-form-item>
|
<el-form-item class="optionItem" label="上报时间:" prop="reportTime">
|
<div class="block">
|
<el-date-picker
|
v-model="myInterface.reportTime"
|
type="datetime"
|
placeholder="选择日期时间"
|
>
|
</el-date-picker>
|
</div>
|
</el-form-item>
|
<el-form-item>
|
<div class="optionBtn">
|
<el-button class="btn cancel" @click.native.prevent="handleCancel"
|
>取消</el-button
|
>
|
<el-button
|
type="primary"
|
class="btn submit"
|
@click.native.prevent="handleSave"
|
>保存
|
</el-button>
|
</div>
|
</el-form-item>
|
</el-form>
|
</div>
|
</main>
|
</div>
|
</template>
|
<script>
|
export default {
|
data() {
|
const validateType = (rule, value, callback) => {
|
if (!value) {
|
callback(new Error("请选择问题类型"));
|
}
|
};
|
const validateBigClass = (rule, value, callback) => {
|
if (!value) {
|
callback(new Error("请选择大类"));
|
}
|
};
|
const validateSubClass = (rule, value, callback) => {
|
if (!value) {
|
callback(new Error("请选择小类"));
|
}
|
};
|
const validateStreet = (rule, value, callback) => {
|
if (!value) {
|
callback(new Error("请填写街道"));
|
}
|
};
|
const validateCommunity = (rule, value, callback) => {
|
if (!value) {
|
callback(new Error("请填写社区"));
|
}
|
};
|
const validateTask = (rule, value, callback) => {
|
if (!value) {
|
callback(new Error("请填写任务描述"));
|
}
|
};
|
const validateReportTime = (rule, value, callback) => {
|
if (!value) {
|
callback(new Error("请选择任务上报时间"));
|
}
|
};
|
|
return {
|
myInterface: {
|
num: "",
|
type: "",
|
bigclass: "",
|
subclass: "",
|
street: "",
|
community: "",
|
task: "",
|
reportTime: "",
|
},
|
createSurvey: {
|
type: [
|
{
|
required: true,
|
trigger: "blur",
|
validator: validateType,
|
},
|
],
|
bigclass: [
|
{
|
required: true,
|
trigger: "blur",
|
validator: validateBigClass,
|
},
|
],
|
subclass: [
|
{
|
required: true,
|
trigger: "blur",
|
validator: validateSubClass,
|
},
|
],
|
street: [
|
{ required: true, trigger: "blur", validator: validateStreet },
|
],
|
community: [
|
{ required: true, trigger: "blur", validator: validateCommunity },
|
],
|
task: [{ required: true, trigger: "blur", validator: validateTask }],
|
reportTime: [
|
{ required: true, trigger: "blur", validator: validateReportTime },
|
],
|
},
|
};
|
},
|
created() {
|
const that = this;
|
},
|
methods: {
|
// 关闭弹窗
|
handleCancel() {
|
this.$emit("closeDialog", { flag: false, index: 0 });
|
},
|
//保存
|
handleSave() {
|
const { myInterface } = this;
|
this.$refs.survey.validate((flag)=>{
|
if(flag){
|
|
}else{
|
return false
|
}
|
})
|
},
|
},
|
props: ['refresh','closeDialog'],
|
};
|
</script>
|
<style lang="scss" scoped>
|
.createmyInterface {
|
border-radius: 1px;
|
background-color: #09152f;
|
|
main {
|
text-align: left;
|
padding: 0 55px;
|
background-color: #09152f;
|
padding-bottom: 50px;
|
.mainContent {
|
display: flex;
|
justify-content: center;
|
padding-top: 50px;
|
|
.iconBox {
|
display: flex;
|
|
.upload {
|
display: flex;
|
align-items: flex-end;
|
|
img {
|
width: 120px;
|
height: 120px;
|
border-radius: 4px;
|
}
|
}
|
|
.iconView {
|
display: flex;
|
flex-direction: column;
|
margin-left: 30px;
|
justify-content: flex-end;
|
|
img {
|
width: 70px;
|
height: 70px;
|
border-radius: 4px;
|
}
|
}
|
|
.tip {
|
display: flex;
|
align-items: flex-end;
|
margin-left: 30px;
|
font-size: 12px;
|
|
span {
|
line-height: 20px;
|
}
|
}
|
}
|
.optionBtn {
|
margin-top: 30px;
|
&::v-deep .el-button {
|
padding: 12px 40px;
|
}
|
.reset {
|
border: 1px solid #0079fe;
|
color: #0079fe;
|
}
|
}
|
&::v-deep .el-form-item__label {
|
color: #4b9bb7;
|
}
|
|
&::v-deep .el-input__inner {
|
background-color: #09152f;
|
border: 1px solid #17324c;
|
}
|
|
.addPerson {
|
display: flex;
|
list-style: none;
|
padding: 0;
|
|
li {
|
background-color: #cccccc;
|
width: 36px;
|
height: 36px;
|
border-radius: 50%;
|
color: #fff;
|
text-align: center;
|
font-size: 30px;
|
margin-left: 10px;
|
}
|
}
|
|
.el-form-item__content {
|
width: 400px;
|
|
.el-select {
|
width: 100%;
|
}
|
}
|
|
.optionHandleSp {
|
display: flex;
|
|
.areaNumber,
|
.moreNumber {
|
flex: 1;
|
}
|
|
.telNumber {
|
flex: 2;
|
}
|
}
|
}
|
}
|
|
footer {
|
border-top: 1px solid #fff;
|
height: 80px;
|
display: flex;
|
align-items: center;
|
justify-content: flex-end;
|
padding-right: 20px;
|
}
|
}
|
</style>
|