|
@ -184,105 +184,113 @@ |
|
|
v-for="(item, index) in formData.contents" |
|
|
v-for="(item, index) in formData.contents" |
|
|
:key="index" |
|
|
:key="index" |
|
|
> |
|
|
> |
|
|
<div class="flex justify-between"> |
|
|
<el-form |
|
|
<div style="color: #262626; font-size: 16px; font-weight: 700"> |
|
|
ref="subFormRef" |
|
|
子项{{ index + 1 }} |
|
|
label-position="top" |
|
|
</div> |
|
|
:model="item" |
|
|
<el-popconfirm |
|
|
:rules="subRules" |
|
|
v-if="formData.contents.length > 1" |
|
|
label-width="120px" |
|
|
:disabled="!canEdit" |
|
|
> |
|
|
title="确定删除?" |
|
|
<div class="flex justify-between"> |
|
|
@confirm="handleDelPlanItem(index)" |
|
|
<div style="color: #262626; font-size: 16px; font-weight: 700"> |
|
|
> |
|
|
子项{{ index + 1 }} |
|
|
<el-button slot="reference" type="danger" plain size="small" |
|
|
</div> |
|
|
>删除</el-button |
|
|
<el-popconfirm |
|
|
> |
|
|
v-if="formData.contents.length > 1" |
|
|
</el-popconfirm> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div class="flex items-start flex-wrap"> |
|
|
|
|
|
<el-form-item label="子项名称" prop="subItemName"> |
|
|
|
|
|
<el-input |
|
|
|
|
|
:disabled="!canEdit" |
|
|
|
|
|
class="w-240" |
|
|
|
|
|
size="small" |
|
|
|
|
|
v-model="item.name" |
|
|
|
|
|
placeholder="请输入名称" |
|
|
|
|
|
maxlength="50" |
|
|
|
|
|
></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item |
|
|
|
|
|
label="计划周期(起止)" |
|
|
|
|
|
prop="planDateTimeArr" |
|
|
|
|
|
class="ml-24" |
|
|
|
|
|
> |
|
|
|
|
|
<el-date-picker |
|
|
|
|
|
:disabled="!canEdit" |
|
|
:disabled="!canEdit" |
|
|
size="small" |
|
|
title="确定删除?" |
|
|
v-model="item.planDateTimeArr" |
|
|
@confirm="handleDelPlanItem(index)" |
|
|
type="daterange" |
|
|
> |
|
|
range-separator="至" |
|
|
<el-button slot="reference" type="danger" plain size="small" |
|
|
value-format="yyyy-MM-dd" |
|
|
>删除</el-button |
|
|
start-placeholder="开始日期" |
|
|
> |
|
|
end-placeholder="结束日期" |
|
|
</el-popconfirm> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div class="flex items-start flex-wrap"> |
|
|
|
|
|
<el-form-item label="子项名称" prop="name"> |
|
|
|
|
|
<el-input |
|
|
|
|
|
:disabled="!canEdit" |
|
|
|
|
|
class="w-240" |
|
|
|
|
|
size="small" |
|
|
|
|
|
v-model="item.name" |
|
|
|
|
|
placeholder="请输入名称" |
|
|
|
|
|
maxlength="50" |
|
|
|
|
|
></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item |
|
|
|
|
|
label="计划周期(起止)" |
|
|
|
|
|
prop="planDateTimeArr" |
|
|
|
|
|
class="ml-24" |
|
|
> |
|
|
> |
|
|
</el-date-picker> |
|
|
<el-date-picker |
|
|
|
|
|
:disabled="!canEdit" |
|
|
|
|
|
size="small" |
|
|
|
|
|
v-model="item.planDateTimeArr" |
|
|
|
|
|
type="daterange" |
|
|
|
|
|
range-separator="至" |
|
|
|
|
|
value-format="yyyy-MM-dd" |
|
|
|
|
|
start-placeholder="开始日期" |
|
|
|
|
|
end-placeholder="结束日期" |
|
|
|
|
|
> |
|
|
|
|
|
</el-date-picker> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="巡查人员" prop="operator" class="ml-24"> |
|
|
|
|
|
<el-select |
|
|
|
|
|
:disabled="!canEdit" |
|
|
|
|
|
class="w-240" |
|
|
|
|
|
v-model="item.operator" |
|
|
|
|
|
multiple |
|
|
|
|
|
filterable |
|
|
|
|
|
remote |
|
|
|
|
|
:remote-method="searchUser" |
|
|
|
|
|
value-key="id" |
|
|
|
|
|
placeholder="请输入关键词搜索用户" |
|
|
|
|
|
> |
|
|
|
|
|
<el-option |
|
|
|
|
|
v-for="item in personnelList" |
|
|
|
|
|
:key="item.id" |
|
|
|
|
|
:label="item.name" |
|
|
|
|
|
:value="item" |
|
|
|
|
|
> |
|
|
|
|
|
</el-option> |
|
|
|
|
|
</el-select> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</div> |
|
|
|
|
|
<el-form-item label="巡查范围" prop="scope"> |
|
|
|
|
|
<!-- <el-radio></el-radio> --> |
|
|
|
|
|
<div style="font-size: 12px; color: #00000099">暂无数据</div> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item label="巡查人员" prop="operator" class="ml-24"> |
|
|
<el-form-item label="巡查路线(推荐)" prop="lineId"> |
|
|
<el-select |
|
|
<el-select |
|
|
:disabled="!canEdit" |
|
|
:disabled="!canEdit" |
|
|
class="w-240" |
|
|
class="w-240" |
|
|
v-model="item.operator" |
|
|
v-model="item.lineId" |
|
|
multiple |
|
|
|
|
|
filterable |
|
|
filterable |
|
|
remote |
|
|
remote |
|
|
:remote-method="searchUser" |
|
|
:remote-method="handleRemoteLineData" |
|
|
value-key="id" |
|
|
value-key="id" |
|
|
placeholder="请输入关键词搜索用户" |
|
|
placeholder="请输入关键词搜索路线" |
|
|
> |
|
|
> |
|
|
<el-option |
|
|
<el-option |
|
|
v-for="item in personnelList" |
|
|
v-for="item in lineList" |
|
|
:key="item.id" |
|
|
:key="item.id" |
|
|
:label="item.name" |
|
|
:label="item.name" |
|
|
:value="item" |
|
|
:value="item.id" |
|
|
> |
|
|
> |
|
|
</el-option> |
|
|
</el-option> |
|
|
</el-select> |
|
|
</el-select> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</div> |
|
|
<el-form-item label="巡查重点检查部位和内容" prop="remark"> |
|
|
<el-form-item label="巡查范围" prop="scope"> |
|
|
<el-input |
|
|
<!-- <el-radio></el-radio> --> |
|
|
:disabled="!canEdit" |
|
|
<div style="font-size: 12px; color: #00000099">暂无数据</div> |
|
|
size="small" |
|
|
</el-form-item> |
|
|
type="textarea" |
|
|
<el-form-item label="巡查路线(推荐)" prop="lineId"> |
|
|
:rows="3" |
|
|
<el-select |
|
|
v-model="item.remark" |
|
|
:disabled="!canEdit" |
|
|
:maxlength="500" |
|
|
class="w-240" |
|
|
></el-input> |
|
|
v-model="item.lineId" |
|
|
</el-form-item> |
|
|
filterable |
|
|
</el-form> |
|
|
remote |
|
|
|
|
|
:remote-method="handleRemoteLineData" |
|
|
|
|
|
value-key="id" |
|
|
|
|
|
placeholder="请输入关键词搜索路线" |
|
|
|
|
|
> |
|
|
|
|
|
<el-option |
|
|
|
|
|
v-for="item in lineList" |
|
|
|
|
|
:key="item.id" |
|
|
|
|
|
:label="item.name" |
|
|
|
|
|
:value="item.id" |
|
|
|
|
|
> |
|
|
|
|
|
</el-option> |
|
|
|
|
|
</el-select> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="巡查重点检查部位和内容" prop="remark"> |
|
|
|
|
|
<el-input |
|
|
|
|
|
:disabled="!canEdit" |
|
|
|
|
|
size="small" |
|
|
|
|
|
type="textarea" |
|
|
|
|
|
:rows="3" |
|
|
|
|
|
v-model="item.remark" |
|
|
|
|
|
:maxlength="500" |
|
|
|
|
|
></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
<div |
|
|
<div |
|
|
class="flex justify-start !mt-16" |
|
|
class="flex justify-start !mt-16" |
|
@ -367,6 +375,16 @@ export default { |
|
|
], |
|
|
], |
|
|
frequency: [{ required: true, message: "请输入", trigger: "blur" }], |
|
|
frequency: [{ required: true, message: "请输入", trigger: "blur" }], |
|
|
}, |
|
|
}, |
|
|
|
|
|
subRules: { |
|
|
|
|
|
name: [{ required: true, message: "请输入名称", trigger: "blur" }], |
|
|
|
|
|
planDateTimeArr: [ |
|
|
|
|
|
{ required: true, message: "请选择周期", trigger: "change" }, |
|
|
|
|
|
], |
|
|
|
|
|
operator: [ |
|
|
|
|
|
{ required: true, message: "请选择巡查人员", trigger: "change" }, |
|
|
|
|
|
], |
|
|
|
|
|
lineId: [{ required: true, message: "请选择路线", trigger: "change" }], |
|
|
|
|
|
}, |
|
|
filesList: [], |
|
|
filesList: [], |
|
|
dikeList: [], |
|
|
dikeList: [], |
|
|
projectTypeOptions: [], |
|
|
projectTypeOptions: [], |
|
@ -416,7 +434,9 @@ export default { |
|
|
this.formData.dikeCode = res.dikeCode; |
|
|
this.formData.dikeCode = res.dikeCode; |
|
|
this.formData.dikeType = res.dikeType; |
|
|
this.formData.dikeType = res.dikeType; |
|
|
this.formData.dikeName = res.dikeName; |
|
|
this.formData.dikeName = res.dikeName; |
|
|
this.formData.dutyHolders = res.dutyHolders; |
|
|
this.formData.dutyHolder = res.dutyHolders.find( |
|
|
|
|
|
(v) => v.dutyHolderType === "0" |
|
|
|
|
|
)?.name; |
|
|
}, |
|
|
}, |
|
|
handleGetRemoteDikeMethod(query) { |
|
|
handleGetRemoteDikeMethod(query) { |
|
|
console.log("query >>>>> ", query); |
|
|
console.log("query >>>>> ", query); |
|
@ -520,9 +540,13 @@ export default { |
|
|
}, |
|
|
}, |
|
|
submit(reset) { |
|
|
submit(reset) { |
|
|
console.log("提交表单 >>>> ", this.formData); |
|
|
console.log("提交表单 >>>> ", this.formData); |
|
|
|
|
|
console.log("subFormRef >>>>>>>> ", this.$refs.subFormRef); |
|
|
return new Promise((r, j) => { |
|
|
return new Promise((r, j) => { |
|
|
this.$refs.formRef.validate((valid) => { |
|
|
Promise.all([ |
|
|
if (valid) { |
|
|
this.$refs.formRef.validate(), |
|
|
|
|
|
...this.$refs.subFormRef.map((item) => item.validate()), |
|
|
|
|
|
]) |
|
|
|
|
|
.then((res) => { |
|
|
this.formData.contents.forEach((item) => { |
|
|
this.formData.contents.forEach((item) => { |
|
|
item.startDate = item.planDateTimeArr[0] |
|
|
item.startDate = item.planDateTimeArr[0] |
|
|
? item.planDateTimeArr[0] + " 00:00:00" |
|
|
? item.planDateTimeArr[0] + " 00:00:00" |
|
@ -545,10 +569,10 @@ export default { |
|
|
.catch(() => { |
|
|
.catch(() => { |
|
|
j(); |
|
|
j(); |
|
|
}); |
|
|
}); |
|
|
} else { |
|
|
}) |
|
|
|
|
|
.catch(() => { |
|
|
j(); |
|
|
j(); |
|
|
} |
|
|
}); |
|
|
}); |
|
|
|
|
|
}); |
|
|
}); |
|
|
}, |
|
|
}, |
|
|
reset() { |
|
|
reset() { |
|
|