|
|
@ -18,40 +18,42 @@ |
|
|
|
</el-form-item> --> |
|
|
|
|
|
|
|
<el-form-item label="所属组织" prop="agencyId"> |
|
|
|
<el-cascader class="list_item_width_1" size="small" ref="myCascader" :disabled="disabled" |
|
|
|
v-model.trim="formData.agencyId" :options="orgOptions" :props="orgOptionProps" |
|
|
|
:show-all-levels="false" @change="handleChangeAgency" clearable></el-cascader> |
|
|
|
</el-form-item> |
|
|
|
<el-cascader class="list_item_width_1" size="small" ref="myCascader" |
|
|
|
:disabled="disabled" v-model.trim="formData.agencyId" :options="orgOptions" |
|
|
|
:props="orgOptionProps" :show-all-levels="false" @change="handleChangeAgency" |
|
|
|
clearable></el-cascader> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-form-item label="企业名称" prop="name"> |
|
|
|
<el-input v-model.trim="formData.name" :disabled="disabled" |
|
|
|
class="list_item_width_1" size="small" clearable placeholder="请输入"></el-input> |
|
|
|
<el-input v-model.trim="formData.name" :disabled="disabled" class="list_item_width_1" |
|
|
|
size="small" clearable placeholder="请输入"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="4.5"> |
|
|
|
<el-form-item label="九小场所" prop="nineSmallPlacesFlag"> |
|
|
|
<el-radio-group v-model="formData.nineSmallPlacesFlag" :disabled="disabled" size="small"> |
|
|
|
<el-radio-group v-model="formData.nineSmallPlacesFlag" :disabled="disabled" |
|
|
|
size="small"> |
|
|
|
<el-radio :label="1">是</el-radio> |
|
|
|
<el-radio :label="0">否</el-radio> |
|
|
|
</el-radio-group> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="7.5"> |
|
|
|
<el-col :span="7.5" v-if="formData.nineSmallPlacesFlag === 1"> |
|
|
|
<el-form-item label="九小场所分类" prop="nineSmallPlacesCategory" label-width="150px"> |
|
|
|
<el-select v-model.trim="formData.nineSmallPlacesCategory" :disabled="disabled" placeholder="请选择" class="list_item_width_1" |
|
|
|
size="small"> |
|
|
|
<el-option v-for="item in placeTypeList" :label="item.label" :value="item.value" |
|
|
|
:key="item.value"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
<el-select v-model.trim="formData.nineSmallPlacesCategory" :disabled="disabled" |
|
|
|
placeholder="请选择" class="list_item_width_1" size="small"> |
|
|
|
<el-option v-for="item in placeTypeList" :label="item.label" :value="item.value" |
|
|
|
:key="item.value"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-form-item label="规模" prop="scale"> |
|
|
|
<el-input v-model.trim="formData.scale" :disabled="disabled" |
|
|
|
class="list_item_width_1" size="small" clearable placeholder="请输入"></el-input> |
|
|
|
<el-input v-model.trim="formData.scale" :disabled="disabled" class="list_item_width_1" |
|
|
|
size="small" clearable placeholder="请输入"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
@ -62,8 +64,8 @@ |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-form-item label="联系电话" prop="mobile"> |
|
|
|
<el-input v-model.trim="formData.mobile" :disabled="disabled" |
|
|
|
class="list_item_width_1" size="small" clearable placeholder="请输入"></el-input> |
|
|
|
<el-input v-model.trim="formData.mobile" :disabled="disabled" class="list_item_width_1" |
|
|
|
size="small" clearable placeholder="请输入"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="18"> |
|
|
@ -85,7 +87,8 @@ |
|
|
|
<div class="div_btn"> |
|
|
|
<el-button size="small" type="primary " @click="patrolAddd()">新增</el-button> |
|
|
|
</div> |
|
|
|
<el-row v-for="(item, index) in tableData" :key="index" :gutter="20" style="margin-bottom: 20px;" v-if="tableData"> |
|
|
|
<el-row v-for="(item, index) in tableData" :key="index" :gutter="20" style="margin-bottom: 20px;" |
|
|
|
v-if="tableData"> |
|
|
|
<el-row style="margin-top: 20px;"> |
|
|
|
<el-col :span="24"> |
|
|
|
<el-tag type="primary" effect="plain" class="custom-tag">●</el-tag>{{item.checkTime}} |
|
|
@ -101,9 +104,12 @@ |
|
|
|
item.reviewTime || '--' }}</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row style="margin-top: 15px;"> |
|
|
|
<el-col :span="24" style="padding-left: 65px;"><span style="color: #888; ">{{item.flag?'已整改隐患':'隐患明细'}}: </span> |
|
|
|
<el-col :span="24" style="padding-left: 65px;"><span |
|
|
|
style="color: #888; ">{{item.flag?'已整改隐患':'隐患明细'}}: </span> |
|
|
|
<div v-if="item.hiddenDangeList"> |
|
|
|
<p style="margin-left: 60px;" v-for="(itemC,index) in item.hiddenDangeList.filter(item=>item.hazardStatus ==1)" >{{index+1}}.{{itemC.hazardDesc}}</p> |
|
|
|
<p style="margin-left: 60px;" |
|
|
|
v-for="(itemC,index) in item.hiddenDangeList.filter(item=>item.hazardStatus ==1)"> |
|
|
|
{{index+1}}.{{itemC.hazardDesc}}</p> |
|
|
|
</div> |
|
|
|
<span v-else>--</span> |
|
|
|
</el-col> |
|
|
@ -111,32 +117,39 @@ |
|
|
|
<el-row style="margin-top: 15px;" v-if="item.flag"> |
|
|
|
<el-col :span="24" style="padding-left: 65px;"><span style="color: #888; ">未整改隐患: </span> |
|
|
|
<div v-if="item.hiddenDangeList"> |
|
|
|
<p style="margin-left: 60px;" v-for="(itemC,index) in item.hiddenDangeList.filter(item=>item.hazardStatus == 0)" >{{index+1}}.{{itemC.hazardDesc}}</p> |
|
|
|
</div> |
|
|
|
<span v-else>--</span> |
|
|
|
<p style="margin-left: 60px;" |
|
|
|
v-for="(itemC,index) in item.hiddenDangeList.filter(item=>item.hazardStatus == 0)"> |
|
|
|
{{index+1}}.{{itemC.hazardDesc}}</p> |
|
|
|
</div> |
|
|
|
<span v-else>--</span> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row style="margin-top: 15px;" v-else> |
|
|
|
<el-col :span="24" style="padding-left: 65px;"><span style="color: #888; ">整改要求: </span> |
|
|
|
<p style="margin-left: 60px;">{{index+1}}.{{item.hiddenDangeList.find(item=>item.hazardStatus == 2).hazardDesc}}</p> |
|
|
|
<p style="margin-left: 60px;"> |
|
|
|
{{index+1}}.{{item.hiddenDangeList.find(item=>item.hazardStatus == 2).hazardDesc}} |
|
|
|
</p> |
|
|
|
</el-col> |
|
|
|
|
|
|
|
|
|
|
|
</el-row> |
|
|
|
<el-row style="margin-top: 15px;"> |
|
|
|
<el-col :span="6" style="padding-left: 65px;"> |
|
|
|
<span style="color: #888; ">附件: </span> |
|
|
|
<span v-for="(itemI,indexI) in item.attachmentUrls" :key="itemI.fileName" style="margin-right:10px;cursor:pointer" @click="handelCLickImage(itemI.attachmentUrl)">{{ |
|
|
|
itemI.fileName }} |
|
|
|
</span> |
|
|
|
<div class="imagePreview" v-if="preViewImageFlag" @click="preViewImageFlag = false"> |
|
|
|
<span v-for="(itemI,indexI) in item.attachmentUrls" :key="itemI.fileName" |
|
|
|
style="margin-right:10px;cursor:pointer" |
|
|
|
@click="handelCLickImage(itemI.attachmentUrl)">{{ |
|
|
|
itemI.fileName }} |
|
|
|
</span> |
|
|
|
<div class="imagePreview" v-if="preViewImageFlag" @click="preViewImageFlag = false"> |
|
|
|
<img :src="preViewImage" alt=""> |
|
|
|
</div> |
|
|
|
</el-col> |
|
|
|
</div> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6" style="padding-left: 65px;"><span style="color: #888; ">备注: </span>{{ |
|
|
|
item.remark || '--' }}</el-col> |
|
|
|
</el-row> |
|
|
|
</el-row> |
|
|
|
<div style="width:100%;height:300px;display:flex;align-items:center;justify-content: center;" v-if="tableData.length === 0&& !patrolAdd"> |
|
|
|
<div style="width:100%;height:300px;display:flex;align-items:center;justify-content: center;" |
|
|
|
v-if="tableData.length === 0&& !patrolAdd"> |
|
|
|
<span>暂无数据~</span> |
|
|
|
</div> |
|
|
|
<!-- 巡查记录新增 --> |
|
|
@ -147,56 +160,60 @@ |
|
|
|
<el-form-item label="巡查时间" prop="checkTime"> |
|
|
|
<el-date-picker class="list_item_width_1" size="small" |
|
|
|
v-model.trim="patrolForm.checkTime" type="datetime" |
|
|
|
value-format="yyyy-MM-dd HH:mm:ss" |
|
|
|
value="yyyy-MM-dd HH:mm:ss"placeholder="选择日期"></el-date-picker> |
|
|
|
value-format="yyyy-MM-dd HH:mm:ss" value="yyyy-MM-dd HH:mm:ss" |
|
|
|
placeholder="选择日期"></el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="16"> |
|
|
|
<el-form-item label="检查人员" prop="checkPersonsIdList"> |
|
|
|
<el-select v-model.trim="patrolForm.checkPersonsIdList" :disabled="disabled" placeholder="请选择" class="list_item_width_1" |
|
|
|
size="small" multiple> |
|
|
|
<el-option v-for="item in stafflist" :label="item.name" :value="item.staffId" |
|
|
|
:key="item.value"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
<el-select v-model.trim="patrolForm.checkPersonsIdList" :disabled="disabled" |
|
|
|
placeholder="请选择" class="list_item_width_1" size="small" multiple> |
|
|
|
<el-option v-for="item in stafflist" :label="item.name" :value="item.staffId" |
|
|
|
:key="item.value"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row> |
|
|
|
<el-col :span="18"> |
|
|
|
<el-form-item label="检查结论" prop="checkResultFlag"> |
|
|
|
<el-select v-model.trim="patrolForm.checkResultFlag" :disabled="disabled" placeholder="请选择" class="list_item_width_1" |
|
|
|
size="small"> |
|
|
|
<el-option v-for="item in resultArray" :label="item.label" :value="item.value" |
|
|
|
:key="item.value"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
<el-select v-model.trim="patrolForm.checkResultFlag" :disabled="disabled" |
|
|
|
placeholder="请选择" class="list_item_width_1" size="small"> |
|
|
|
<el-option v-for="item in resultArray" :label="item.label" :value="item.value" |
|
|
|
:key="item.value"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="18"> |
|
|
|
<el-form-item label="拟复查时间" prop="reviewTime"> |
|
|
|
<el-date-picker class="list_item_width_1" size="small" |
|
|
|
v-model.trim="patrolForm.reviewTime" type="datetime" |
|
|
|
value-format="yyyy-MM-dd HH:mm:ss" |
|
|
|
value="yyyy-MM-dd HH:mm:ss"placeholder="选择日期"></el-date-picker> |
|
|
|
value-format="yyyy-MM-dd HH:mm:ss" value="yyyy-MM-dd HH:mm:ss" |
|
|
|
placeholder="选择日期"></el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row v-if="checkResultFlag !== 1"> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item label="隐患明细" prop="hiddenDange" style="white-space: nowrap;overflow: hidden;"> |
|
|
|
<el-checkbox-group v-model="hiddenDangeArr" size="small" > |
|
|
|
<el-form-item label="隐患明细" prop="hiddenDange" |
|
|
|
style="white-space: nowrap;overflow: hidden;"> |
|
|
|
<el-checkbox-group v-model="hiddenDangeArr" size="small"> |
|
|
|
<el-col v-for="option in checkboxOptions" :key="option.value"> |
|
|
|
<el-checkbox :label="option.value">{{ option.hazardDesc }}</el-checkbox> |
|
|
|
<el-checkbox :label="option.value" :checked="true" :disabled="true">{{ |
|
|
|
option.hazardDesc }}</el-checkbox> |
|
|
|
</el-col> |
|
|
|
</el-checkbox-group> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row > |
|
|
|
<el-col :span="18" v-for="(item, index) in inputList" :key="index" style="margin-left: 100px;"> |
|
|
|
<el-row> |
|
|
|
<el-col :span="18" v-for="(item, index) in inputList" :key="index" |
|
|
|
style="margin-left: 100px;"> |
|
|
|
<el-form-item label="" prop="textarea" class="input-container"> |
|
|
|
<el-input v-model="item.hazardDesc" rows="3" placeholder="请输入隐患信息" size="small" class="list_item_width_1"></el-input> |
|
|
|
<el-input v-model="item.hazardDesc" rows="3" placeholder="请输入隐患信息" size="small" |
|
|
|
class="list_item_width_1"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-button @click="removeInput(index)" v-if="inputList.length > 1" |
|
|
|
class="remove-button"> |
|
|
@ -209,15 +226,18 @@ |
|
|
|
</el-row> |
|
|
|
<el-row v-if="checkResultFlag === 1 || tableData.length === 0"> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item label="整改意见" prop="principalName" style="white-space: nowrap;overflow: hidden;"> |
|
|
|
<el-input v-model="patrolForm.rectificationOpinion" rows="3" size="small" placeholder="请输入整改意见" ></el-input> |
|
|
|
<el-form-item label="整改意见" prop="principalName" |
|
|
|
style="white-space: nowrap;overflow: hidden;"> |
|
|
|
<el-input v-model="patrolForm.rectificationOpinion" rows="3" size="small" |
|
|
|
placeholder="请输入整改意见"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-form-item label="附件"> |
|
|
|
<upload-image :defaultFileList="fileList" :limit="3" @change="onChangeFileList"></upload-image> |
|
|
|
<upload-image :defaultFileList="fileList" :limit="3" |
|
|
|
@change="onChangeFileList"></upload-image> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="18"> |
|
|
@ -234,7 +254,7 @@ |
|
|
|
</div> |
|
|
|
<span slot="footer" class="dialog-footer"> |
|
|
|
<el-button @click="handleCancle" size="small">取消</el-button> |
|
|
|
<el-button @click="handleComfirm" size="small" type="primary">确定</el-button> |
|
|
|
<el-button @click="handleComfirm" size="small" type="primary">确定</el-button> |
|
|
|
</span> |
|
|
|
</el-dialog> |
|
|
|
</template> |
|
|
@ -410,7 +430,10 @@ export default { |
|
|
|
}) |
|
|
|
}, |
|
|
|
addInput() { |
|
|
|
this.inputList.push({ hazardDesc: '',hazardStatus:'0' }); // 新增一个输入框,对应一个新的对象 |
|
|
|
if (this.inputList.some(item => item.hazardDesc.trim() === '')) { |
|
|
|
} else { |
|
|
|
this.inputList.push({ hazardDesc: '', hazardStatus: '0' }); |
|
|
|
} |
|
|
|
}, |
|
|
|
removeInput(index) { |
|
|
|
this.inputList.splice(index, 1); // 删除对应索引的输入框 |
|
|
@ -527,11 +550,30 @@ export default { |
|
|
|
for(let i in this.hiddenDangeArr){ |
|
|
|
this.checkboxOptions.forEach(item => { |
|
|
|
if(item.value == this.hiddenDangeArr[i]){ |
|
|
|
item.hazardStatus = '1'; |
|
|
|
item.hazardStatus = '0'; |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
params.hiddenDangeList =[...this.inputList,...this.checkboxOptions] ; |
|
|
|
for (let i in this.checkboxOptions) { |
|
|
|
let option = this.checkboxOptions[i]; |
|
|
|
if (this.patrolForm.checkResultFlag === '1') { |
|
|
|
option.hazardStatus = '1'; |
|
|
|
} else if (this.patrolForm.checkResultFlag === '0') { |
|
|
|
option.hazardStatus = '0'; |
|
|
|
} |
|
|
|
} |
|
|
|
for (let i in this.inputList) { |
|
|
|
let option = this.inputList[i]; |
|
|
|
if (this.patrolForm.checkResultFlag === '1') { |
|
|
|
option.hazardStatus = '1'; |
|
|
|
} else if (this.patrolForm.checkResultFlag === '0') { |
|
|
|
option.hazardStatus = '0'; |
|
|
|
} |
|
|
|
} |
|
|
|
params.hiddenDangeList = [ |
|
|
|
...this.inputList.filter(item => item.hazardDesc.trim() !== ''), |
|
|
|
...this.checkboxOptions |
|
|
|
]; |
|
|
|
params.companyId = this.detailId; |
|
|
|
params.attachmentUrls = this.fileList; |
|
|
|
} |
|
|
|