Browse Source

样式

V1.0
tianq 3 years ago
parent
commit
eb146ec6c4
  1. 241
      src/views/modules/shequzhili/tuceng/anquan/anquanxuncha/addForm.vue
  2. 12
      src/views/modules/shequzhili/tuceng/anquan/anquanxuncha/index.vue
  3. 855
      src/views/modules/shequzhili/tuceng/anquan/shebei/addForm.vue
  4. 12
      src/views/modules/shequzhili/tuceng/anquan/shebei/index.vue
  5. 299
      src/views/modules/shequzhili/tuceng/anquan/yinhuan/addForm.vue
  6. 12
      src/views/modules/shequzhili/tuceng/anquan/yinhuan/index.vue
  7. 173
      src/views/modules/shequzhili/tuceng/chengshiguanli/addForm.vue
  8. 12
      src/views/modules/shequzhili/tuceng/chengshiguanli/index.vue
  9. 191
      src/views/modules/shequzhili/tuceng/gonggongfuwu/addForm.vue
  10. 12
      src/views/modules/shequzhili/tuceng/gonggongfuwu/index.vue
  11. 175
      src/views/modules/shequzhili/tuceng/yingji/changsuo/addForm.vue
  12. 12
      src/views/modules/shequzhili/tuceng/yingji/changsuo/index.vue
  13. 187
      src/views/modules/shequzhili/tuceng/yingji/wuzi/addForm.vue
  14. 11
      src/views/modules/shequzhili/tuceng/yingji/wuzi/index.vue

241
src/views/modules/shequzhili/tuceng/anquan/anquanxuncha/addForm.vue

@ -1,102 +1,132 @@
<template> <template>
<el-card> <el-dialog title="提示" :visible.sync="dialogVisible" width="1370px" :before-close="handleCancle">
<div class="dialog-h-content scroll-h"> <div>
<el-form :inline="true" :model="formData" ref="form" :rules="dataRule" :label-width="'120px'" v-if="pageType != 'view'"> <div class="dialog-h-content scroll-h">
<el-row> <el-form :inline="true" :model="formData" ref="form" :rules="dataRule" :label-width="'90px'" v-if="pageType != 'view'">
<el-col :span="8"> <el-row>
<el-form-item label="场所名称" prop="placeOrgName"> <el-col :span="6">
<el-input v-model="formData.placeOrgName" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input> <el-form-item label="场所名称" prop="placeOrgName">
</el-form-item> <el-input v-model="formData.placeOrgName" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input>
<el-form-item label="占地面积" prop="areaCovered"> </el-form-item>
<el-input v-model="formData.areaCovered" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input> </el-col>
</el-form-item> <el-col :span="6">
<el-form-item label="场所规模" prop="scaleTotal"> <el-form-item label="占地面积" prop="areaCovered">
<el-input-number <el-input v-model="formData.areaCovered" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input>
v-model="formData.scaleTotal" </el-form-item>
:disabled="disabled" </el-col>
class="u-item-width-normal" <el-col :span="6">
size="small" <el-form-item label="场所规模" prop="scaleTotal">
clearable <el-input-number
placeholder="请输入可容纳人数" v-model="formData.scaleTotal"
></el-input-number> :disabled="disabled"
</el-form-item> class="u-item-width-normal"
<el-form-item label="所属组织" prop="gridId"> size="small"
<el-select v-model="formData.gridId" class="u-item-width-normal" :disabled="disabled" placeholder="全部" size="small" clearable> clearable
<el-option v-for="item in gridList" :key="item.value" :label="item.label" :value="item.value"></el-option> placeholder="请输入可容纳人数"
</el-select> ></el-input-number>
</el-form-item> </el-form-item>
<el-form-item label="场所类别" prop="placeCategory"> </el-col>
<el-select v-model="formData.placeCategory" :disabled="disabled" placeholder="请选择" size="small" clearable class="u-item-width-normal"> <el-col :span="6">
<el-option v-for="item in placeCategoryArray" :key="item.value" :label="item.label" :value="item.value"></el-option> <el-form-item label="所属组织" prop="gridId">
</el-select> <el-select v-model="formData.gridId" class="u-item-width-normal" :disabled="disabled" placeholder="全部" size="small" clearable>
</el-form-item> <el-option v-for="item in gridList" :key="item.value" :label="item.label" :value="item.value"></el-option>
<el-form-item label="场所类型" prop="placeType"> </el-select>
<el-select class="u-item-width-normal" :disabled="disabled" v-model="formData.placeType" placeholder="全部" size="small" clearable> </el-form-item>
<el-option v-for="item in placeTypeList" :key="item.value" :label="item.label" :value="item.value"></el-option> </el-col>
</el-select> <el-col :span="6">
</el-form-item> <el-form-item label="场所类别" prop="placeCategory">
<el-select v-model="formData.placeCategory" :disabled="disabled" placeholder="请选择" size="small" clearable class="u-item-width-normal">
<el-form-item label="负责人" prop="personInCharge"> <el-option v-for="item in placeCategoryArray" :key="item.value" :label="item.label" :value="item.value"></el-option>
<el-input v-model="formData.personInCharge" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="联系电话" prop="mobile"> </el-col>
<el-input v-model="formData.mobile" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input> <el-col :span="6">
</el-form-item> <el-form-item label="场所类型" prop="placeType">
</el-col> <el-select class="u-item-width-normal" :disabled="disabled" v-model="formData.placeType" placeholder="全部" size="small" clearable>
<el-col :span="16"> <el-option v-for="item in placeTypeList" :key="item.value" :label="item.label" :value="item.value"></el-option>
<el-form-item label="场所地址" prop="address" style="display: block"> </el-select>
<el-select </el-form-item>
v-model="formData.address" </el-col>
style="width: 500px;" <el-col :span="6">
:disabled="disabled" <el-form-item label="负责人" prop="personInCharge">
filterable <el-input v-model="formData.personInCharge" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input>
remote </el-form-item>
:reserve-keyword="true" </el-col>
placeholder="请输入关键词" <el-col :span="6">
:remote-method="remoteMethod" <el-form-item label="联系电话" prop="mobile">
:loading="loading" <el-input v-model="formData.mobile" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input>
> </el-form-item>
<el-option </el-col>
v-for="(item, index) in searchOptions" <el-col :span="6">
@click.native="handleClickKey(index)" <el-form-item label="场所地址" prop="address" style="display: block">
:key="item.value" <el-select
:label="item.label" v-model="formData.address"
:value="item.value" :disabled="disabled"
></el-option> filterable
</el-select> remote
<div id="app_event" class="div_map"></div> :reserve-keyword="true"
</el-form-item> placeholder="请输入关键词"
</el-col> :remote-method="remoteMethod"
</el-row> :loading="loading"
</el-form> >
<el-form :inline="false" :model="formData" ref="form" :label-width="'120px'" v-if="pageType == 'view'"> <el-option
<el-row> v-for="(item, index) in searchOptions"
<el-col :span="8"> @click.native="handleClickKey(index)"
<el-form-item label="场所名称" prop="placeOrgName">{{ formData.placeOrgName }}</el-form-item> :key="item.value"
<el-form-item label="占地面积" prop="areaCovered">{{ formData.areaCovered }}</el-form-item> :label="item.label"
<el-form-item label="场所规模" prop="scaleTotal">{{ formData.scaleTotal }}</el-form-item> :value="item.value"
<el-form-item label="所属组织" prop="gridId">{{ formData.gridName }}</el-form-item> ></el-option>
<el-form-item label="场所类别" prop="placeCategory">{{ formData.placeCategoryName }}</el-form-item> </el-select>
<el-form-item label="场所类型" prop="placeType">{{ formData.placeTypeName }}</el-form-item> </el-form-item>
<el-form-item label="负责人" prop="personInCharge">{{ formData.personInCharge }}</el-form-item> </el-col>
<el-form-item label="联系电话" prop="mobile">{{ formData.areaCovered }}</el-form-item> </el-row>
</el-col> <div id="app_event" class="div_map"></div>
<el-col :span="16"> </el-form>
<el-form-item label="场所地址" prop="address" style="display: block"> <el-form :inline="false" :model="formData" ref="form" :label-width="'90px'" v-if="pageType == 'view'">
{{ formData.address }} <el-row>
<div id="app_event" class="div_map"></div> <el-col :span="6">
</el-form-item> <el-form-item label="场所名称" prop="placeOrgName">{{ formData.placeOrgName }}</el-form-item>
</el-col> </el-col>
</el-row> <el-col :span="6">
</el-form> <el-form-item label="占地面积" prop="areaCovered">{{ formData.areaCovered }}</el-form-item>
</div> </el-col>
<div class="div_btn"> <el-col :span="6">
<el-button size="small" @click="handleCancle">关闭</el-button> <el-form-item label="场所规模" prop="scaleTotal">{{ formData.scaleTotal }}</el-form-item>
<!-- <el-button size="small" @click="resetData" v-if="pageType != 'view'">重置</el-button> --> </el-col>
<el-button size="small" type="primary" :disabled="btnDisable" @click="handleComfirm" v-if="pageType != 'view'"> </el-button> <el-col :span="6">
<el-form-item label="所属组织" prop="gridId">{{ formData.gridName }}</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="场所类别" prop="placeCategory">{{ formData.placeCategoryName }}</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="场所类型" prop="placeType">{{ formData.placeTypeName }}</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="负责人" prop="personInCharge">{{ formData.personInCharge }}</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="联系电话" prop="mobile">{{ formData.areaCovered }}</el-form-item>
</el-col>
<el-col :span="16">
<el-form-item label="场所地址" prop="address" style="display: block">{{ formData.address }}</el-form-item>
</el-col>
</el-row>
<div id="app_event" class="div_map"></div>
</el-form>
</div>
<div class="div_btn" v-if="pageType != 'view'">
<el-button size="small" @click="handleCancle"> </el-button>
<!-- <el-button size="small" @click="resetData" v-if="pageType != 'view'">重置</el-button> -->
<el-button size="small" type="primary" :disabled="btnDisable" @click="handleComfirm"> </el-button>
</div>
<div style="margin-top: 30px;"><record v-if="pageType != 'add' && detailId" :formType="pageType" :id="detailId" :info="{ agencyId: agencyId }"></record></div>
</div> </div>
<div style="margin-top: 30px;"><record v-if="pageType != 'add' && detailId" :formType="pageType" :id="detailId" :info="{ agencyId: agencyId }"></record></div> <span slot="footer" class="dialog-footer">
</el-card> <el-button @click="handleCancle"> </el-button>
<!-- <el-button type="primary" @click="handleComfirm"> </el-button> -->
</span>
</el-dialog>
</template> </template>
<script> <script>
@ -116,6 +146,10 @@ var geocoder; // 新建一个正逆地址解析类
export default { export default {
props: { props: {
dialogVisible: {
type: Boolean,
default: ''
},
defaultData: { defaultData: {
type: Object, type: Object,
default: null default: null
@ -204,7 +238,6 @@ export default {
components: { record }, components: { record },
created() {}, created() {},
async mounted() { async mounted() {
this.user = this.$store.state.user; this.user = this.$store.state.user;
this.agencyId = this.user.agencyId; this.agencyId = this.user.agencyId;
this.startLoading(); this.startLoading();
@ -251,7 +284,6 @@ export default {
const url = `/actual/base/enterprise/detail/${this.detailId}`; const url = `/actual/base/enterprise/detail/${this.detailId}`;
const { data, code, msg } = await requestPost(url); const { data, code, msg } = await requestPost(url);
if (code === 0) { if (code === 0) {
this.formData = { ...data }; this.formData = { ...data };
this.initMap(); this.initMap();
} else { } else {
@ -289,7 +321,6 @@ export default {
}, },
async save() { async save() {
this.formData.agencyId = this.agencyId; this.formData.agencyId = this.agencyId;
var url = ''; var url = '';
var params = {}; var params = {};
@ -421,9 +452,17 @@ export default {
/deep/ .el-textarea.is-disabled textarea.el-textarea__inner { /deep/ .el-textarea.is-disabled textarea.el-textarea__inner {
// border:none;background-color: transparent; // border:none;background-color: transparent;
} }
.div_btn {
text-align: right;
}
.div_map { .div_map {
width: 100%; width:100%;
height: 320px;
margin-left: 0px;
} }
/deep/.el-dialog__body {
padding: 30px 80px;
}
.form-item::v-deep .el-form-item__label { .form-item::v-deep .el-form-item__label {
color: #fff; color: #fff;
} }

12
src/views/modules/shequzhili/tuceng/anquan/anquanxuncha/index.vue

@ -1,6 +1,6 @@
<template> <template>
<div class="g-main"> <div class="g-main">
<div v-show="pageType == 'list'"> <div >
<div class="m-search"> <div class="m-search">
<el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'100px'"> <el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'100px'">
<div> <div>
@ -115,8 +115,9 @@
</div> </div>
</div> </div>
</div> </div>
<div v-if="pageType != 'list'"> <div >
<addForm <addForm
v-if="dialogVisible" :dialogVisible="dialogVisible"
:pageType="pageType" :pageType="pageType"
:disabled="disabled" :disabled="disabled"
:detailId="detailId" :detailId="detailId"
@ -138,7 +139,7 @@ import axios from 'axios';
export default { export default {
data() { data() {
return { return {dialogVisible: false,
disabled: false, disabled: false,
user: '', user: '',
agencyId: '', agencyId: '',
@ -261,8 +262,10 @@ export default {
}); });
}, },
handleAdd(row, type) { handleAdd(row, type) {
if (row.enterpriseId) { if (row.enterpriseId) {
this.detailId = row.enterpriseId; this.detailId = row.enterpriseId;
} }
this.pageType = type; this.pageType = type;
if (type == 'view') { if (type == 'view') {
@ -270,8 +273,9 @@ export default {
} else { } else {
this.disabled = false; this.disabled = false;
} }
this.dialogVisible=true;
}, },
handleClose() { handleClose() {this.dialogVisible = false;
this.pageType = 'list'; this.pageType = 'list';
this.detailId = ''; this.detailId = '';
this.getTableData(); this.getTableData();

855
src/views/modules/shequzhili/tuceng/anquan/shebei/addForm.vue

@ -1,418 +1,439 @@
<template> <template>
<el-card> <el-dialog title="提示" :visible.sync="dialogVisible" width="1370px" :before-close="handleCancle">
<div class="dialog-h-content scroll-h"> <div>
<el-form :inline="true" :model="formData" ref="form" :rules="dataRule" :label-width="'120px'" v-if="pageType != 'view'"> <div class="dialog-h-content scroll-h">
<el-row> <el-form :inline="true" :model="formData" ref="form" :rules="dataRule" :label-width="'90px'" v-if="pageType != 'view'">
<el-col :span="8"> <el-row>
<el-form-item label="设备名称" prop="equipmentName"> <el-col :span="6">
<el-input v-model="formData.equipmentName" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input> <el-form-item label="设备名称" prop="equipmentName">
</el-form-item> <el-input v-model="formData.equipmentName" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="设备类型" prop="equipmentCategoryCode"> </el-col>
<el-select v-model="formData.equipmentCategoryCode" :disabled="disabled" placeholder="请选择" size="small" clearable class="u-item-width-normal"> <el-col :span="6">
<el-option v-for="item in equipmentCategoryCodeArray" :key="item.value" :label="item.label" :value="item.value"></el-option> <el-form-item label="设备类型" prop="equipmentCategoryCode">
</el-select> <el-select v-model="formData.equipmentCategoryCode" :disabled="disabled" placeholder="请选择" size="small" clearable class="u-item-width-normal">
</el-form-item> <el-option v-for="item in equipmentCategoryCodeArray" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
<el-form-item label="负责人" prop="principalName"> </el-form-item>
<el-input v-model="formData.principalName" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input> </el-col>
</el-form-item> <el-col :span="6">
<el-form-item label="联系电话" prop="contactNum"> <el-form-item label="负责人" prop="principalName">
<el-input v-model="formData.contactNum" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input> <el-input v-model="formData.principalName" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="16"> <el-col :span="6">
<el-form-item label="所处位置" prop="location" style="display: block"> <el-form-item label="联系电话" prop="contactNum">
<el-select <el-input v-model="formData.contactNum" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input>
v-model="formData.location" </el-form-item>
style="width: 500px;" </el-col>
:disabled="disabled" <el-col :span="6">
filterable <el-form-item label="所处位置" prop="location" style="display: block">
remote <el-select
:reserve-keyword="true" v-model="formData.location"
placeholder="请输入关键词" :disabled="disabled"
:remote-method="remoteMethod" filterable
:loading="loading" remote
> :reserve-keyword="true"
<el-option placeholder="请输入关键词"
v-for="(item, index) in searchOptions" :remote-method="remoteMethod"
@click.native="handleClickKey(index)" :loading="loading"
:key="item.value" >
:label="item.label" <el-option
:value="item.value" v-for="(item, index) in searchOptions"
></el-option> @click.native="handleClickKey(index)"
</el-select> :key="item.value"
<div id="app_event" class="div_map"></div> :label="item.label"
</el-form-item> :value="item.value"
</el-col> ></el-option>
</el-row> </el-select>
</el-form> </el-form-item>
<el-form :inline="false" :model="formData" ref="form" :label-width="'120px'" v-if="pageType == 'view'"> </el-col>
<el-row> </el-row>
<el-col :span="8"> <div id="app_event" class="div_map"></div>
<el-form-item label="设备名称" prop="equipmentName">{{ formData.equipmentName }}</el-form-item> </el-form>
<el-form-item label="设备类型" prop="equipmentCategoryCode">{{ formData.equipmentCategoryName }}</el-form-item> <el-form :inline="false" :model="formData" ref="form" :label-width="'90px'" v-if="pageType == 'view'">
<el-form-item label="负责人" prop="principalName">{{ formData.principalName }}</el-form-item> <el-row>
<el-form-item label="联系电话" prop="contactNum">{{ formData.contactNum }}</el-form-item> <el-col :span="6">
</el-col> <el-form-item label="设备名称" prop="equipmentName">{{ formData.equipmentName }}</el-form-item></el-col> <el-col :span="6">
<el-col :span="16"> <el-form-item label="设备类型" prop="equipmentCategoryCode">{{ formData.equipmentCategoryName }}</el-form-item></el-col> <el-col :span="6">
<el-form-item label="场所地址" prop="location" style="display: block"> <el-form-item label="负责人" prop="principalName">{{ formData.principalName }}</el-form-item></el-col> <el-col :span="6">
{{ formData.location }} <el-form-item label="联系电话" prop="contactNum">{{ formData.contactNum }}</el-form-item>
<div id="app_event" class="div_map"></div> </el-col>
</el-form-item> <el-col :span="6">
</el-col> <el-form-item label="场所地址" prop="location" style="display: block">
</el-row> {{ formData.location }}
</el-form>
</div> </el-form-item>
<div class="div_btn"> </el-col>
<el-button size="small" @click="handleCancle">关闭</el-button> </el-row><div id="app_event" class="div_map"></div>
<!-- <el-button size="small" @click="resetData" v-if="pageType != 'view'">重置</el-button> --> </el-form>
<el-button size="small" type="primary" :disabled="btnDisable" @click="handleComfirm" v-if="pageType != 'view'"> </el-button> </div>
</div> <div class="div_btn" v-if="pageType != 'view'">
<div style="margin-top: 30px;"><record v-if="pageType != 'add' && detailId" :formType="pageType" :id="detailId" :info="{ agencyId: agencyId }"></record></div> <el-button size="small" @click="handleCancle"> </el-button>
</el-card> <!-- <el-button size="small" @click="resetData" v-if="pageType != 'view'">重置</el-button> -->
</template> <el-button size="small" type="primary" :disabled="btnDisable" @click="handleComfirm" > </el-button>
</div>
<script> <div style="margin-top: 30px;"><record v-if="pageType != 'add' && detailId" :formType="pageType" :id="detailId" :info="{ agencyId: agencyId }"></record></div>
import { isMobile } from '@/utils/validate'; </div>
import { mapGetters } from 'vuex'; <span slot="footer" class="dialog-footer">
import { Loading } from 'element-ui'; // Loading <el-button @click="handleCancle"> </el-button>
import { requestPost, requestGet } from '@/js/dai/request'; <!-- <el-button type="primary" @click="handleComfirm"> </el-button> -->
import daiMap from '@/utils/dai-map'; </span>
import nextTick from 'dai-js/tools/nextTick'; </el-dialog>
import record from './record'; </template>
let loading; //
let map; <script>
var search; import { isMobile } from '@/utils/validate';
var markers; import { mapGetters } from 'vuex';
var infoWindowList; import { Loading } from 'element-ui'; // Loading
var geocoder; // import { requestPost, requestGet } from '@/js/dai/request';
import daiMap from '@/utils/dai-map';
export default { import nextTick from 'dai-js/tools/nextTick';
props: { import record from './record';
defaultData: { let loading; //
type: Object, let map;
default: null var search;
}, var markers;
pageType: { var infoWindowList;
type: String, var geocoder; //
default: ''
}, export default {
detailId: { props: {
type: String, dialogVisible: {
default: '' type: Boolean,
}, default: ''
detailData: { },
type: Object, defaultData: {
default: null type: Object,
}, default: null
disabled: { },
type: Boolean, pageType: {
default: false type: String,
} default: ''
}, },
detailId: {
data() { type: String,
let checkMObile = (rule, value, callback) => { default: ''
if (value === '') { },
callback(new Error('请输入手机号')); detailData: {
} else { type: Object,
if (!isMobile(value)) { default: null
callback(new Error('手机号格式不正确')); },
} disabled: {
callback(); type: Boolean,
} default: false
}; }
return { },
btnDisable: false,
user: '', data() {
agencyId: '', let checkMObile = (rule, value, callback) => {
gridList: [], //list-- if (value === '') {
placeTypeList: [], // callback(new Error('请输入手机号'));
resultArray: [{ value: '0', label: '合格' }, { value: '1', label: '不合格' }], } else {
equipmentCategoryCodeArray: [], if (!isMobile(value)) {
list: {}, callback(new Error('手机号格式不正确'));
formData: { }
equipmentName: '', callback();
equipmentCategoryCode: '', }
principalName: '', };
location: '', return {
contactNum: '' btnDisable: false,
}, user: '',
dataRule: { agencyId: '',
equipmentName: [{ required: true, message: '设备名称不能为空', trigger: 'bulr' }], gridList: [], //list--
equipmentCategoryCode: [{ required: true, message: '设备类型不能为空', trigger: 'bulr' }], placeTypeList: [], //
principalName: [{ required: true, message: '负责人不能为空', trigger: 'bulr' }], resultArray: [{ value: '0', label: '合格' }, { value: '1', label: '不合格' }],
contactNum: [{ required: true, validator: checkMObile, trigger: 'blur' }], equipmentCategoryCodeArray: [],
location: [{ required: true, message: '所处位置不能为空', trigger: 'blur' }] list: {},
}, formData: {
// equipmentName: '',
loading: false, equipmentCategoryCode: '',
searchValue: '', principalName: '',
searchOptions: [] location: '',
}; contactNum: ''
}, },
watch: {}, dataRule: {
components: { record }, equipmentName: [{ required: true, message: '设备名称不能为空', trigger: 'bulr' }],
created() {}, equipmentCategoryCode: [{ required: true, message: '设备类型不能为空', trigger: 'bulr' }],
async mounted() { principalName: [{ required: true, message: '负责人不能为空', trigger: 'bulr' }],
console.log('detailId', this.detailId); contactNum: [{ required: true, validator: checkMObile, trigger: 'blur' }],
this.user = this.$store.state.user; location: [{ required: true, message: '所处位置不能为空', trigger: 'blur' }]
this.agencyId = this.user.agencyId; },
this.startLoading(); //
this.loadCategory(); loading: false,
// this.loadGrid(); searchValue: '',
// this.loadplaceType(); searchOptions: []
if (this.pageType != 'add') { };
this.getDetail(); },
} else { watch: {},
this.initMap(); components: { record },
} created() {},
await this.endLoading(); async mounted() {
this.endLoading(); console.log('detailId', this.detailId);
}, this.user = this.$store.state.user;
this.agencyId = this.user.agencyId;
methods: { this.startLoading();
async loadCategory() { this.loadCategory();
const url = '/sys/dict/data/dictlist'; // this.loadGrid();
// this.loadplaceType();
let params = { if (this.pageType != 'add') {
dictType: 'safety_equipment_category' this.getDetail();
}; } else {
this.initMap();
const { data, code, msg } = await requestPost(url, params); }
if (code === 0) { await this.endLoading();
this.equipmentCategoryCodeArray = data; this.endLoading();
} else { },
this.$message.error(msg);
} methods: {
}, async loadCategory() {
async loadGrid() { const url = '/sys/dict/data/dictlist';
const url = '/gov/org/customergrid/gridoption';
let params = { let params = {
agencyId: this.agencyId, dictType: 'safety_equipment_category'
purpose: 'query' };
};
const { data, code, msg } = await requestPost(url, params); const { data, code, msg } = await requestPost(url, params);
if (code === 0) { if (code === 0) {
this.gridList = data; this.equipmentCategoryCodeArray = data;
} else { } else {
this.$message.error(msg); this.$message.error(msg);
} }
}, },
// async loadGrid() {
async loadplaceType() { const url = '/gov/org/customergrid/gridoption';
const url = '/gov/org/coverage/dict-select-list/enterprise_patrol'; let params = {
let params = { agencyId: this.agencyId,
// agencyId: this.agencyId, purpose: 'query'
// purpose: 'query' };
}; const { data, code, msg } = await requestPost(url, params);
const { data, code, msg } = await requestPost(url, params); if (code === 0) {
if (code === 0) { this.gridList = data;
this.placeTypeList = data; } else {
} else { this.$message.error(msg);
this.$message.error(msg); }
} },
}, //
async getDetail() { async loadplaceType() {
const url = `/actual/base/safetyEquipment/detail/${this.detailId}`; const url = '/gov/org/coverage/dict-select-list/enterprise_patrol';
const { data, code, msg } = await requestPost(url); let params = {
if (code === 0) { // agencyId: this.agencyId,
console.log('详情数据', data); // purpose: 'query'
this.formData = { ...data }; };
this.initMap(); const { data, code, msg } = await requestPost(url, params);
} else { if (code === 0) {
this.$message.error(msg); this.placeTypeList = data;
} } else {
}, this.$message.error(msg);
}
handleComfirm() { },
this.save(); async getDetail() {
}, const url = `/actual/base/safetyEquipment/detail/${this.detailId}`;
async handleAdd() { const { data, code, msg } = await requestPost(url);
// this.btnDisable = true; if (code === 0) {
// setTimeout(() => { console.log('详情数据', data);
// this.btnDisable = false; this.formData = { ...data };
// }, 10000); this.initMap();
// nextTick(1000); } else {
// const form = new Promise((resolve, reject) => { this.$message.error(msg);
// this.$refs['form'].validate(valid => { }
// if (valid) resolve(); },
// });
// }); handleComfirm() {
// const form1 = new Promise((resolve, reject) => { this.save();
// this.$refs['form1'].validate(valid => { },
// if (valid) resolve(); async handleAdd() {
// }); // this.btnDisable = true;
// }); // setTimeout(() => {
// Promise.all([form1, form]) // this.btnDisable = false;
// .then(() => { // }, 10000);
// this.addFuwu(); // nextTick(1000);
// }) // const form = new Promise((resolve, reject) => {
// .catch(() => { // this.$refs['form'].validate(valid => {
// app.util.validateRule(messageObj); // if (valid) resolve();
// this.btnDisable = false; // });
// }); // });
}, // const form1 = new Promise((resolve, reject) => {
// this.$refs['form1'].validate(valid => {
async save() { // if (valid) resolve();
console.log('this.formData', this.formData); // });
var url = ''; // });
var params = {}; // Promise.all([form1, form])
if (this.pageType == 'add') { // .then(() => {
url = '/actual/base/safetyEquipment/save'; // this.addFuwu();
} else { // })
url = '/actual/base/safetyEquipment/update'; // .catch(() => {
} // app.util.validateRule(messageObj);
params = { ...this.formData }; // this.btnDisable = false;
const { data, code, msg } = await requestPost(url, params); // });
if (code === 0) { },
this.$message.success('操作成功');
async save() {
this.handleCancle(); console.log('this.formData', this.formData);
} else if (code >= 8000) { var url = '';
this.$message.error(msg); var params = {};
} if (this.pageType == 'add') {
}, url = '/actual/base/safetyEquipment/save';
handleCancle() { } else {
this.resetData(); url = '/actual/base/safetyEquipment/update';
this.$emit('handleClose'); }
}, params = { ...this.formData };
resetData() { const { data, code, msg } = await requestPost(url, params);
this.$refs.form.resetFields(); if (code === 0) {
}, this.$message.success('操作成功');
//
startLoading() { this.handleCancle();
loading = Loading.service({ } else if (code >= 8000) {
lock: true, // this.$message.error(msg);
text: '正在加载……', // }
background: 'rgba(0,0,0,.7)' // },
}); handleCancle() {
}, this.resetData();
// this.$emit('handleClose');
endLoading() { },
// clearTimeout(timer); resetData() {
if (loading) { this.$refs.form.resetFields();
loading.close(); },
} //
}, // init startLoading() {
initMap() { loading = Loading.service({
let { latitude, longitude } = this.$store.state.user; lock: true, //
text: '正在加载……', //
if (this.formData.latitude && this.formData.longitude) { background: 'rgba(0,0,0,.7)' //
latitude = this.formData.latitude; });
longitude = this.formData.longitude; },
} //
if (!latitude || latitude == '' || latitude == '0') { endLoading() {
latitude = 39.9088810666821; // clearTimeout(timer);
longitude = 116.39743841556731; if (loading) {
} loading.close();
}
this.$nextTick(() => { }, // init
map = new daiMap( initMap() {
document.getElementById('app_event'), let { latitude, longitude } = this.$store.state.user;
{ latitude, longitude },
{ if (this.formData.latitude && this.formData.longitude) {
zoom: 16.2, // latitude = this.formData.latitude;
pitch: 43.5, // longitude = this.formData.longitude;
rotation: 45 // }
} if (!latitude || latitude == '' || latitude == '0') {
); latitude = 39.9088810666821;
// longitude = 116.39743841556731;
map.on('dragend', e => { }
this.handleMoveCenter(e);
}); this.$nextTick(() => {
map = new daiMap(
map.setCenter(latitude, longitude); document.getElementById('app_event'),
if (this.formData.latitude) { { latitude, longitude },
map.setMarker(latitude, longitude); {
} zoom: 16.2, //
}); pitch: 43.5, //
}, rotation: 45 //
async handleMoveCenter() { }
// );
const { lat, lng } = map.getCenter(); //
this.formData.latitude = lat; map.on('dragend', e => {
this.formData.longitude = lng; this.handleMoveCenter(e);
map.setMarker(lat, lng); });
let { msg, data } = await map.getAddress(lat, lng); map.setCenter(latitude, longitude);
if (msg == 'success') { if (this.formData.latitude) {
this.formData.location = data.address; map.setMarker(latitude, longitude);
this.searchValue = data.address; }
this.searchOptions = []; });
} },
}, async handleMoveCenter() {
async remoteMethod(query) { //
if (query !== '') { const { lat, lng } = map.getCenter();
this.loading = true; this.formData.latitude = lat;
const { msg, data } = await map.searchNearby(query); this.formData.longitude = lng;
this.loading = false; map.setMarker(lat, lng);
this.resultList = [];
let { msg, data } = await map.getAddress(lat, lng);
if (msg == 'success' && data.resultList && data.resultList.length > 0) { if (msg == 'success') {
if (data.resultList && data.resultList.length > 0) { this.formData.location = data.address;
this.resultList = data.resultList; this.searchValue = data.address;
this.searchOptions = this.resultList.map(item => { this.searchOptions = [];
return { value: `${item.id}`, label: `${item.address + item.name}` }; }
}); },
} async remoteMethod(query) {
} else { if (query !== '') {
this.searchOptions = [ this.loading = true;
{ const { msg, data } = await map.searchNearby(query);
value: '0', this.loading = false;
label: '未检索到结果' this.resultList = [];
}
]; if (msg == 'success' && data.resultList && data.resultList.length > 0) {
} if (data.resultList && data.resultList.length > 0) {
} else { this.resultList = data.resultList;
this.searchOptions = []; this.searchOptions = this.resultList.map(item => {
} return { value: `${item.id}`, label: `${item.address + item.name}` };
}, });
handleClickKey(index) { }
let selPosition = this.resultList[index]; } else {
let lonlat = selPosition.lonlat.split(' '); this.searchOptions = [
map.setCenter(lonlat[1], lonlat[0]); {
map.setMarker(lonlat[1], lonlat[0]); value: '0',
this.formData.latitude = lonlat[1]; label: '未检索到结果'
this.formData.longitude = lonlat[0]; }
this.formData.location = selPosition.address + selPosition.name; ];
} }
} } else {
}; this.searchOptions = [];
</script> }
},
<style lang="scss" scoped> handleClickKey(index) {
@import '@/assets/scss/modules/management/form-main.scss'; let selPosition = this.resultList[index];
@import '@/assets/scss/modules/visual/a_customize.scss'; let lonlat = selPosition.lonlat.split(' ');
/deep/ .el-input.is-disabled .el-input__inner, map.setCenter(lonlat[1], lonlat[0]);
/deep/ .el-textarea.is-disabled textarea.el-textarea__inner { map.setMarker(lonlat[1], lonlat[0]);
// border:none;background-color: transparent; this.formData.latitude = lonlat[1];
} this.formData.longitude = lonlat[0];
.div_map { this.formData.location = selPosition.address + selPosition.name;
width: 100%; }
} }
.form-item::v-deep .el-form-item__label { };
color: #fff; </script>
}
.form-item { <style lang="scss" scoped>
.el-radio { @import '@/assets/scss/modules/management/form-main.scss';
color: #fff; @import '@/assets/scss/modules/visual/a_customize.scss';
} /deep/ .el-input.is-disabled .el-input__inner,
/deep/ .el-textarea.is-disabled textarea.el-textarea__inner {
.el-checkbox { // border:none;background-color: transparent;
color: #fff; }
} .div_btn {
} text-align: right;
.verifyRed::before { }
content: '*'; .div_map {
color: #f56c6c; width:100%;
margin-right: 4px; height: 320px;
} margin-left: 0px;
.form_label_box { }
width: 150px; /deep/.el-dialog__body {
display: inline-block; padding: 30px 80px;
text-align: right; }
padding-right: 12px; .form-item::v-deep .el-form-item__label {
} color: #fff;
}
.form-item {
.el-radio {
color: #fff;
}
.el-checkbox {
color: #fff;
}
}
.verifyRed::before {
content: '*';
color: #f56c6c;
margin-right: 4px;
}
.form_label_box {
width: 150px;
display: inline-block;
text-align: right;
padding-right: 12px;
}
</style> </style>

12
src/views/modules/shequzhili/tuceng/anquan/shebei/index.vue

@ -1,6 +1,6 @@
<template> <template>
<div class="g-main"> <div class="g-main">
<div v-show="pageType == 'list'"> <div >
<div class="m-search"> <div class="m-search">
<el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'100px'"> <el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'100px'">
<div> <div>
@ -87,8 +87,8 @@
</div> </div>
</div> </div>
</div> </div>
<div v-if="pageType != 'list'"> <div >
<addForm <addForm v-if="dialogVisible" :dialogVisible="dialogVisible"
:pageType="pageType" :pageType="pageType"
:disabled="disabled" :disabled="disabled"
:detailId="detailId" :detailId="detailId"
@ -110,7 +110,7 @@ import axios from 'axios';
export default { export default {
data() { data() {
return { return {dialogVisible: false,
importLoading: false, importLoading: false,
disabled: false, disabled: false,
user: '', user: '',
@ -247,6 +247,7 @@ export default {
handleAdd(row, type) { handleAdd(row, type) {
if (row.id) { if (row.id) {
this.detailId = row.id; this.detailId = row.id;
} }
this.pageType = type; this.pageType = type;
if (type == 'view') { if (type == 'view') {
@ -254,8 +255,9 @@ export default {
} else { } else {
this.disabled = false; this.disabled = false;
} }
this.dialogVisible=true;
}, },
handleClose() { handleClose() {this.dialogVisible = false;
this.pageType = 'list'; this.pageType = 'list';
this.detailId = ''; this.detailId = '';
this.getTableData(); this.getTableData();

299
src/views/modules/shequzhili/tuceng/anquan/yinhuan/addForm.vue

@ -1,139 +1,168 @@
<template> <template>
<el-card> <el-dialog title="提示" :visible.sync="dialogVisible" width="1200px" :before-close="handleCancle">
<div class="dialog-h-content scroll-h"> <div>
<el-form :inline="true" :model="formData" ref="form" :rules="dataRule" :label-width="'120px'" v-if="pageType != 'view'"> <div class="dialog-h-content scroll-h">
<el-row> <el-form :inline="true" :model="formData" ref="form" :rules="dataRule" :label-width="'90px'" v-if="pageType != 'view'">
<el-col :span="8"> <el-row>
<el-form-item label="上报时间" prop="reportTime"> <el-col :span="8">
<template slot-scope="scope"> <el-form-item label="上报时间" prop="reportTime">
<el-date-picker v-model="formData.reportTime" type="date" class="input-width" value-format="yyyy-MM-dd" placeholder="选择日期"></el-date-picker> <template slot-scope="scope">
</template> <el-date-picker v-model="formData.reportTime" type="date" class="input-width" value-format="yyyy-MM-dd" placeholder="选择日期" ></el-date-picker>
</el-form-item> </template>
<el-form-item label="隐患场所" prop="dangerPlaceName"> </el-form-item>
<el-input v-model="formData.dangerPlaceName" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input> </el-col>
</el-form-item> <el-col :span="8">
<el-form-item label="所属网格" prop="gridId"> <el-form-item label="隐患场所" prop="dangerPlaceName">
<el-select class="u-item-width-normal" v-model="formData.gridId" placeholder="全部" size="small" clearable> <el-input v-model="formData.dangerPlaceName" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input>
<el-option v-for="item in gridList" :key="item.value" :label="item.label" :value="item.value"></el-option> </el-form-item>
</el-select> </el-col>
</el-form-item> <el-col :span="8">
<el-form-item label="隐患内容" prop="dangerContent"> <el-form-item label="所属网格" prop="gridId">
<el-input <el-select class="u-item-width-normal" v-model="formData.gridId" placeholder="全部" size="small" clearable>
type="textarea" <el-option v-for="item in gridList" :key="item.value" :label="item.label" :value="item.value"></el-option>
:rows="2" </el-select>
v-model="formData.dangerContent" </el-form-item>
:disabled="disabled" </el-col>
class="u-item-width-normal" <el-col :span="24">
size="small" <el-form-item label="隐患内容" prop="dangerContent">
clearable <el-input
placeholder="请输入" type="textarea"
></el-input> :rows="2"
style="width:500px"
v-model="formData.dangerContent"
:disabled="disabled"
class="u-item-width-normal"
size="small"
clearable
placeholder="请输入"
></el-input>
<div v-if="pageType != 'view'"> <div v-if="pageType != 'view'">
<!-- :data="{ customerId: customerId }" --> <!-- :data="{ customerId: customerId }" -->
<el-upload <el-upload
:headers="$getElUploadHeaders()" :headers="$getElUploadHeaders()"
class="avatar-uploader" class="avatar-uploader"
:action="uploadUrl" :action="uploadUrl"
:show-file-list="true" :show-file-list="true"
:limit="3" :limit="3"
:file-list="formData.imgList" :file-list="formData.imgList"
:on-success="res => handleImgSuccess(res, formData)" :on-success="res => handleImgSuccess(res, formData)"
:on-remove="res => handleImgRemove(res, formData)" :on-remove="res => handleImgRemove(res, formData)"
list-type="picture" list-type="picture"
:before-upload="beforeImgUpload" :before-upload="beforeImgUpload"
> >
<i class="el-icon-plus avatar-uploader-icon"></i> <i class="el-icon-plus avatar-uploader-icon"></i>
最多三张图片 最多三张图片
</el-upload> </el-upload>
</div> </div>
<div class="div-content" v-if="pageType != 'add'"> <div class="div-content" v-if="pageType != 'add'">
<el-image <el-image
v-if="formData.imgList.length > 0" v-if="formData.imgList.length > 0"
style="width: 100px; height: 50px" style="width: 100px; height: 50px"
:src="formData.imgList[0]" :src="formData.imgList[0]"
fit="cover" fit="cover"
:preview-src-list="formData.imgList" :preview-src-list="formData.imgList"
></el-image> ></el-image>
</div> </div>
</el-form-item> </el-form-item>
<!-- <el-form-item label="处理情况" prop="handleState"> </el-col>
<el-col :span="8">
<!-- <el-form-item label="处理情况" prop="handleState">
<el-select v-model="formData.handleState" placeholder="请选择" size="small" clearable class="u-item-width-normal"> <el-select v-model="formData.handleState" placeholder="请选择" size="small" clearable class="u-item-width-normal">
<el-option v-for="item in handleStateArray" :key="item.value" :label="item.label" :value="item.value"></el-option> <el-option v-for="item in handleStateArray" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select> </el-select>
</el-form-item> --> </el-form-item> -->
<el-form-item label="上报人" prop="reportPerson"> <el-form-item label="上报人" prop="reportPerson">
<el-input v-model="formData.reportPerson" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input> <el-input v-model="formData.reportPerson" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="联系电话" prop="mobile"> </el-col>
<el-input v-model="formData.mobile" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input> <el-col :span="8">
</el-form-item> <el-form-item label="联系电话" prop="mobile">
</el-col> <el-input v-model="formData.mobile" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input>
<el-col :span="16"> </el-form-item>
<el-form-item label="隐患位置" prop="location" style="display: block"> </el-col>
<el-select <el-col :span="8">
v-model="formData.location" <el-form-item label="隐患位置" prop="location" style="display: block">
style="width: 500px;" <el-select
:disabled="disabled" v-model="formData.location"
filterable :disabled="disabled"
remote filterable
:reserve-keyword="true" remote
placeholder="请输入关键词" :reserve-keyword="true"
:remote-method="remoteMethod" placeholder="请输入关键词"
:loading="loading" :remote-method="remoteMethod"
> :loading="loading"
<el-option >
v-for="(item, index) in searchOptions" <el-option
@click.native="handleClickKey(index)" v-for="(item, index) in searchOptions"
:key="item.value" @click.native="handleClickKey(index)"
:label="item.label" :key="item.value"
:value="item.value" :label="item.label"
></el-option> :value="item.value"
</el-select> ></el-option>
<div id="app_event" class="div_map"></div> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-form> <div id="app_event" class="div_map"></div>
<el-form :inline="false" :model="formData" ref="form" :label-width="'120px'" v-if="pageType == 'view'"> </el-form>
<el-row> <el-form :inline="false" :model="formData" ref="form" :label-width="'90px'" v-if="pageType == 'view'">
<el-col :span="8"> <el-row>
<el-form-item label="上报时间" prop="reportTime">{{ formData.reportTime }}</el-form-item> <el-col :span="8">
<el-form-item label="隐患场所" prop="dangerPlaceName">{{ formData.dangerPlaceName }}</el-form-item> <el-form-item label="上报时间" prop="reportTime">{{ formData.reportTime }}</el-form-item>
<el-form-item label="所属网格" prop="gridId">{{ formData.gridName }}</el-form-item> </el-col>
<el-form-item label="隐患内容" prop="dangerContent"> <el-col :span="8">
<div>{{ formData.dangerContent }}</div> <el-form-item label="隐患场所" prop="dangerPlaceName">{{ formData.dangerPlaceName }}</el-form-item>
<div class="div-content"> </el-col>
<el-image <el-col :span="8">
v-if="formData.imgList.length > 0" <el-form-item label="所属网格" prop="gridId">{{ formData.gridName }}</el-form-item>
style="width: 100px; height: 50px" </el-col>
:src="formData.imgList[0]" <el-col :span="8">
fit="cover" <el-form-item label="隐患内容" prop="dangerContent">
:preview-src-list="formData.imgList" <div>{{ formData.dangerContent }}</div>
></el-image> <div class="div-content">
</div> <el-image
</el-form-item> v-if="formData.imgList.length > 0"
<el-form-item label="处理情况" prop="handleStateName">{{ formData.handleStateName }}</el-form-item> style="width: 100px; height: 50px"
<el-form-item label="上报人" prop="reportPerson">{{ formData.reportPerson }}</el-form-item> :src="formData.imgList[0]"
<el-form-item label="联系电话" prop="mobile">{{ formData.mobile }}</el-form-item> fit="cover"
</el-col> :preview-src-list="formData.imgList"
<el-col :span="16"> ></el-image>
<el-form-item label="场所地址" prop="location" style="display: block"> </div>
{{ formData.location }} </el-form-item>
<!-- <div id="app_event" class="div_map"></div> --> </el-col>
</el-form-item> <el-col :span="8">
</el-col> <el-form-item label="处理情况" prop="handleStateName">{{ formData.handleStateName }}</el-form-item>
</el-row> </el-col>
</el-form> <el-col :span="8">
</div> <el-form-item label="上报人" prop="reportPerson">{{ formData.reportPerson }}</el-form-item>
<div class="div_btn"> </el-col>
<el-button size="small" @click="handleCancle">关闭</el-button> <el-col :span="8">
<!-- <el-button size="small" @click="resetData" v-if="pageType != 'view'">重置</el-button> --> <el-form-item label="联系电话" prop="mobile">{{ formData.mobile }}</el-form-item>
<el-button size="small" type="primary" :disabled="btnDisable" @click="handleComfirm" v-if="pageType != 'view'"> </el-button> </el-col>
<el-col :span="8">
<el-form-item label="场所地址" prop="location" style="display: block">
{{ formData.location }}
<!-- <div id="app_event" class="div_map"></div> -->
</el-form-item>
</el-col>
</el-row>
<div id="app_event" class="div_map"></div>
</el-form>
</div>
<div class="div_btn" v-if="pageType != 'view'">
<el-button size="small" @click="handleCancle"> </el-button>
<!-- <el-button size="small" @click="resetData" v-if="pageType != 'view'">重置</el-button> -->
<el-button size="small" type="primary" :disabled="btnDisable" @click="handleComfirm"> </el-button>
</div>
<div style="margin-top: 30px;"><record v-if="pageType != 'add' && detailId" :formType="pageType" :id="detailId" :info="{ agencyId: agencyId }"></record></div>
</div> </div>
<div style="margin-top: 30px;"><record v-if="pageType != 'add' && detailId" :formType="pageType" :id="detailId" :info="{ agencyId: agencyId }"></record></div> <span slot="footer" class="dialog-footer">
</el-card> <el-button @click="handleCancle"> </el-button>
<!-- <el-button type="primary" @click="handleComfirm"> </el-button> -->
</span>
</el-dialog>
</template> </template>
<script> <script>
@ -153,6 +182,10 @@ var geocoder; // 新建一个正逆地址解析类
export default { export default {
props: { props: {
dialogVisible: {
type: Boolean,
default: ''
},
defaultData: { defaultData: {
type: Object, type: Object,
default: null default: null
@ -465,9 +498,17 @@ export default {
/deep/ .el-textarea.is-disabled textarea.el-textarea__inner { /deep/ .el-textarea.is-disabled textarea.el-textarea__inner {
// border:none;background-color: transparent; // border:none;background-color: transparent;
} }
.div_btn {
text-align: right;
}
.div_map { .div_map {
width: 500px; width:100%;
height: 320px;
margin-left: 0px;
} }
/deep/.el-dialog__body {
padding: 30px 80px;
}
.form-item::v-deep .el-form-item__label { .form-item::v-deep .el-form-item__label {
color: #fff; color: #fff;
} }

12
src/views/modules/shequzhili/tuceng/anquan/yinhuan/index.vue

@ -1,6 +1,6 @@
<template> <template>
<div class="g-main"> <div class="g-main">
<div v-show="pageType == 'list'"> <div >
<div class="m-search"> <div class="m-search">
<el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'100px'"> <el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'100px'">
<div> <div>
@ -101,8 +101,8 @@
</div> </div>
</div> </div>
</div> </div>
<div v-if="pageType != 'list'"> <div >
<addForm <addForm v-if="dialogVisible" :dialogVisible="dialogVisible"
:pageType="pageType" :pageType="pageType"
:disabled="disabled" :disabled="disabled"
:detailId="detailId" :detailId="detailId"
@ -124,7 +124,7 @@ import axios from 'axios';
export default { export default {
data() { data() {
return { return {dialogVisible: false,
importLoading: false, importLoading: false,
disabled: false, disabled: false,
user: '', user: '',
@ -232,6 +232,7 @@ export default {
handleAdd(row, type) { handleAdd(row, type) {
if (row.id) { if (row.id) {
this.detailId = row.id; this.detailId = row.id;
} }
this.pageType = type; this.pageType = type;
if (type == 'view') { if (type == 'view') {
@ -239,8 +240,9 @@ export default {
} else { } else {
this.disabled = false; this.disabled = false;
} }
this.dialogVisible=true;
}, },
handleClose() { handleClose() {this.dialogVisible = false;
this.pageType = 'list'; this.pageType = 'list';
this.detailId = ''; this.detailId = '';
this.getTableData(); this.getTableData();

173
src/views/modules/shequzhili/tuceng/chengshiguanli/addForm.vue

@ -1,75 +1,85 @@
<template> <template>
<el-card> <el-dialog title="提示" :visible.sync="dialogVisible" width="1370px" :before-close="handleCancle">
<div class="dialog-h-content scroll-h"> <div>
<el-form :inline="true" :model="formData" ref="form" :rules="dataRule" :label-width="'120px'" v-if="pageType != 'view'"> <div class="dialog-h-content scroll-h">
<el-row> <el-form :inline="true" :model="formData" ref="form" :rules="dataRule" :label-width="'90px'" v-if="pageType != 'view'">
<el-col :span="8"> <el-row>
<el-form-item label="场所名称" prop="name"> <el-col :span="6">
<el-input v-model="formData.name" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input> <el-form-item label="场所名称" prop="name">
</el-form-item> <el-input v-model="formData.name" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input>
<el-form-item label="所属组织" prop="gridId"> </el-form-item>
<el-select v-model="formData.gridId" class="u-item-width-normal" :disabled="disabled" placeholder="全部" size="small" clearable> </el-col>
<el-option v-for="item in gridList" :key="item.value" :label="item.label" :value="item.value"></el-option> <el-col :span="6">
</el-select> <el-form-item label="所属组织" prop="gridId">
</el-form-item> <el-select v-model="formData.gridId" class="u-item-width-normal" :disabled="disabled" placeholder="全部" size="small" clearable>
<el-option v-for="item in gridList" :key="item.value" :label="item.label" :value="item.value"></el-option>
<el-form-item label="场所类型" prop="category"> </el-select>
<el-select class="u-item-width-normal" :disabled="disabled" v-model="formData.category" placeholder="全部" size="small" clearable> </el-form-item>
<el-option v-for="item in placeTypeList" :key="item.value" :label="item.label" :value="item.value"></el-option> </el-col>
</el-select> <el-col :span="6">
</el-form-item> <el-form-item label="场所类型" prop="category">
</el-col> <el-select class="u-item-width-normal" :disabled="disabled" v-model="formData.category" placeholder="全部" size="small" clearable>
<el-col :span="16"> <el-option v-for="item in placeTypeList" :key="item.value" :label="item.label" :value="item.value"></el-option>
<el-form-item label="场所地址" prop="address" style="display: block"> </el-select>
<el-select </el-form-item>
v-model="formData.address" </el-col>
style="width: 500px;" <el-col :span="6">
:disabled="disabled" <el-form-item label="场所地址" prop="address" style="display: block">
filterable <el-select
remote v-model="formData.address"
:reserve-keyword="true" style="width: 500px;"
placeholder="请输入关键词" :disabled="disabled"
:remote-method="remoteMethod" filterable
:loading="loading" remote
> :reserve-keyword="true"
<el-option placeholder="请输入关键词"
v-for="(item, index) in searchOptions" :remote-method="remoteMethod"
@click.native="handleClickKey(index)" :loading="loading"
:key="item.value" >
:label="item.label" <el-option
:value="item.value" v-for="(item, index) in searchOptions"
></el-option> @click.native="handleClickKey(index)"
</el-select> :key="item.value"
<div id="app_event" class="div_map"></div> :label="item.label"
</el-form-item> :value="item.value"
</el-col> ></el-option>
</el-row> </el-select>
</el-form> </el-form-item>
<el-form :inline="false" :model="formData" ref="form" :label-width="'120px'" v-if="pageType == 'view'"> </el-col>
<el-row> </el-row>
<el-col :span="8"> <div id="app_event" class="div_map"></div>
<el-form-item label="场所名称" prop="placeOrgName">{{ formData.placeOrgName }}</el-form-item> </el-form>
<el-form-item label="所属组织" prop="gridId">{{ formData.gridName }}</el-form-item> <el-form :inline="false" :model="formData" ref="form" :label-width="'90px'" v-if="pageType == 'view'">
<el-form-item label="场所类型" prop="placeType">{{ formData.placeTypeName }}</el-form-item> <el-row>
<!-- <el-form-item label="负责人" prop="personInCharge">{{ formData.personInCharge }}</el-form-item> <el-col :span="8">
<el-form-item label="场所名称" prop="placeOrgName">{{ formData.placeOrgName }}</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="所属组织" prop="gridId">{{ formData.gridName }}</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="场所类型" prop="placeType">{{ formData.placeTypeName }}</el-form-item>
<!-- <el-form-item label="负责人" prop="personInCharge">{{ formData.personInCharge }}</el-form-item>
<el-form-item label="联系电话" prop="mobile">{{ formData.areaCovered }}</el-form-item> --> <el-form-item label="联系电话" prop="mobile">{{ formData.areaCovered }}</el-form-item> -->
</el-col> </el-col>
<el-col :span="16"> <el-col :span="6">
<el-form-item label="场所地址" prop="address" style="display: block"> <el-form-item label="场所地址" prop="address" style="display: block">{{ formData.address }}</el-form-item>
{{ formData.address }} </el-col>
<div id="app_event" class="div_map"></div> </el-row>
</el-form-item> <div id="app_event" class="div_map"></div>
</el-col> </el-form>
</el-row> </div>
</el-form> <div class="div_btn" v-if="pageType != 'view'">
</div> <el-button size="small" @click="handleCancle"> </el-button>
<div class="div_btn"> <!-- <el-button size="small" @click="resetData" v-if="pageType != 'view'">重置</el-button> -->
<el-button size="small" @click="handleCancle">关闭</el-button> <el-button size="small" type="primary" :disabled="btnDisable" @click="handleComfirm" > </el-button>
<!-- <el-button size="small" @click="resetData" v-if="pageType != 'view'">重置</el-button> --> </div>
<el-button size="small" type="primary" :disabled="btnDisable" @click="handleComfirm" v-if="pageType != 'view'"> </el-button>
</div> </div>
<span slot="footer" class="dialog-footer">
</el-card> <el-button @click="handleCancle"> </el-button>
<!-- <el-button type="primary" @click="handleComfirm"> </el-button> -->
</span>
</el-dialog>
</template> </template>
<script> <script>
@ -89,6 +99,10 @@ var geocoder; // 新建一个正逆地址解析类
export default { export default {
props: { props: {
dialogVisible: {
type: Boolean,
default: ''
},
defaultData: { defaultData: {
type: Object, type: Object,
default: null default: null
@ -173,7 +187,7 @@ export default {
}; };
}, },
watch: {}, watch: {},
components: { }, components: {},
created() {}, created() {},
async mounted() { async mounted() {
console.log('detailId', this.detailId); console.log('detailId', this.detailId);
@ -230,7 +244,7 @@ export default {
this.$message.error(msg); this.$message.error(msg);
} }
}, },
handleComfirm() { handleComfirm() {
this.save(); this.save();
}, },
@ -276,7 +290,6 @@ export default {
this.$message.success('操作成功'); this.$message.success('操作成功');
this.resetData(); this.resetData();
this.handleCancle(); this.handleCancle();
} else if (code >= 8000) { } else if (code >= 8000) {
this.$message.error(msg); this.$message.error(msg);
} }
@ -305,7 +318,7 @@ export default {
}, // init }, // init
initMap() { initMap() {
let { latitude, longitude } = this.$store.state.user; let { latitude, longitude } = this.$store.state.user;
if (this.formData.latitude && this.formData.longitude) { if (this.formData.latitude && this.formData.longitude) {
latitude = this.formData.latitude; latitude = this.formData.latitude;
longitude = this.formData.longitude; longitude = this.formData.longitude;
@ -314,7 +327,7 @@ export default {
latitude = 39.9088810666821; latitude = 39.9088810666821;
longitude = 116.39743841556731; longitude = 116.39743841556731;
} }
this.$nextTick(() => { this.$nextTick(() => {
map = new daiMap( map = new daiMap(
document.getElementById('app_event'), document.getElementById('app_event'),
@ -329,7 +342,7 @@ export default {
map.on('dragend', e => { map.on('dragend', e => {
this.handleMoveCenter(e); this.handleMoveCenter(e);
}); });
map.setCenter(latitude, longitude); map.setCenter(latitude, longitude);
if (this.formData.latitude) { if (this.formData.latitude) {
map.setMarker(latitude, longitude); map.setMarker(latitude, longitude);
@ -396,9 +409,17 @@ export default {
/deep/ .el-textarea.is-disabled textarea.el-textarea__inner { /deep/ .el-textarea.is-disabled textarea.el-textarea__inner {
// border:none;background-color: transparent; // border:none;background-color: transparent;
} }
.div_btn {
text-align: right;
}
.div_map { .div_map {
width: 100%; width:100%;
height: 320px;
margin-left: 0px;
} }
/deep/.el-dialog__body {
padding: 30px 80px;
}
.form-item::v-deep .el-form-item__label { .form-item::v-deep .el-form-item__label {
color: #fff; color: #fff;
} }

12
src/views/modules/shequzhili/tuceng/chengshiguanli/index.vue

@ -1,6 +1,6 @@
<template> <template>
<div class="g-main"> <div class="g-main">
<div v-show="pageType == 'list'"> <div >
<div class="m-search"> <div class="m-search">
<el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'100px'"> <el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'100px'">
<div> <div>
@ -105,8 +105,8 @@
</div> </div>
</div> </div>
</div> </div>
<div v-if="pageType != 'list'"> <div >
<addForm <addForm v-if="dialogVisible" :dialogVisible="dialogVisible"
:pageType="pageType" :pageType="pageType"
:disabled="disabled" :disabled="disabled"
:detailId="detailId" :detailId="detailId"
@ -128,7 +128,7 @@ import axios from 'axios';
export default { export default {
data() { data() {
return { return {dialogVisible: false,
disabled: false, disabled: false,
user: '', user: '',
agencyId: '', agencyId: '',
@ -248,6 +248,7 @@ export default {
handleAdd(row, type) { handleAdd(row, type) {
if (row.id) { if (row.id) {
this.detailId = row.id; this.detailId = row.id;
} }
this.pageType = type; this.pageType = type;
if (type == 'view') { if (type == 'view') {
@ -255,8 +256,9 @@ export default {
} else { } else {
this.disabled = false; this.disabled = false;
} }
this.dialogVisible=true;
}, },
handleClose() { handleClose() {this.dialogVisible = false;
this.pageType = 'list'; this.pageType = 'list';
this.detailId = ''; this.detailId = '';
this.getTableData(); this.getTableData();

191
src/views/modules/shequzhili/tuceng/gonggongfuwu/addForm.vue

@ -1,80 +1,99 @@
<template> <template>
<el-card> <el-dialog title="提示" :visible.sync="dialogVisible" width="1370px" :before-close="handleCancle">
<div class="dialog-h-content scroll-h"> <div>
<el-form :inline="true" :model="formData" ref="form" :rules="dataRule" :label-width="'120px'" v-if="pageType != 'view'"> <div class="dialog-h-content scroll-h">
<el-row> <el-form :inline="true" :model="formData" ref="form" :rules="dataRule" :label-width="'90px'" v-if="pageType != 'view'">
<el-col :span="8"> <el-row>
<el-form-item label="设备名称" prop="equipmentName"> <el-col :span="6">
<el-input v-model="formData.equipmentName" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input> <el-form-item label="设备名称" prop="equipmentName">
</el-form-item> <el-input v-model="formData.equipmentName" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input>
<el-form-item label="设备编号" prop="equipmentNum"> </el-form-item>
<el-input v-model="formData.equipmentNum" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input> </el-col>
</el-form-item> <el-col :span="6">
<el-form-item label="设备类型" prop="equipmentCategoryCode"> <el-form-item label="设备编号" prop="equipmentNum">
<el-select v-model="formData.equipmentCategoryCode" :disabled="disabled" placeholder="请选择" size="small" clearable class="u-item-width-normal"> <el-input v-model="formData.equipmentNum" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input>
<el-option v-for="item in equipmentCategoryCodeArray" :key="item.value" :label="item.label" :value="item.value"></el-option> </el-form-item>
</el-select> </el-col>
</el-form-item> <el-col :span="6">
<el-form-item label="设备类型" prop="equipmentCategoryCode">
<el-form-item label="负责人" prop="principalName"> <el-select v-model="formData.equipmentCategoryCode" :disabled="disabled" placeholder="请选择" size="small" clearable class="u-item-width-normal">
<el-input v-model="formData.principalName" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input> <el-option v-for="item in equipmentCategoryCodeArray" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-form-item> </el-select>
<el-form-item label="联系电话" prop="contactNum"> </el-form-item>
<el-input v-model="formData.contactNum" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input> </el-col>
</el-form-item> <el-col :span="6">
</el-col> <el-form-item label="负责人" prop="principalName">
<el-col :span="16"> <el-input v-model="formData.principalName" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input>
<el-form-item label="所处位置" prop="location" style="display: block"> </el-form-item>
<!-- <el-input v-model="formData.location" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input> --> </el-col>
<el-select <el-col :span="6">
v-model="formData.location" <el-form-item label="联系电话" prop="contactNum">
style="width: 500px;" <el-input v-model="formData.contactNum" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input>
:disabled="disabled" </el-form-item>
filterable </el-col>
remote <el-col :span="6">
:reserve-keyword="true" <el-form-item label="所处位置" prop="location" style="display: block">
placeholder="请输入关键词" <!-- <el-input v-model="formData.location" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input> -->
:remote-method="remoteMethod" <el-select
:loading="loading" v-model="formData.location"
> style="width: 500px;"
<el-option :disabled="disabled"
v-for="(item, index) in searchOptions" filterable
@click.native="handleClickKey(index)" remote
:key="item.value" :reserve-keyword="true"
:label="item.label" placeholder="请输入关键词"
:value="item.value" :remote-method="remoteMethod"
></el-option> :loading="loading"
</el-select> >
<div id="app_event" class="div_map"></div> <el-option
</el-form-item> v-for="(item, index) in searchOptions"
</el-col> @click.native="handleClickKey(index)"
</el-row> :key="item.value"
</el-form> :label="item.label"
<el-form :inline="false" :model="formData" ref="form" :label-width="'120px'" v-if="pageType == 'view'"> :value="item.value"
<el-row> ></el-option>
<el-col :span="8"> </el-select>
<el-form-item label="设备名称" prop="equipmentName">{{ formData.equipmentName }}</el-form-item> </el-form-item>
<el-form-item label="设备编号" prop="equipmentNum">{{ formData.equipmentNum }}</el-form-item> </el-col>
<el-form-item label="设备类型" prop="equipmentCategoryCode">{{ formData.equipmentCategoryName }}</el-form-item> </el-row>
<el-form-item label="负责人" prop="principalName">{{ formData.principalName }}</el-form-item> <div id="app_event" class="div_map"></div>
<el-form-item label="联系电话" prop="contactNum">{{ formData.contactNum }}</el-form-item> </el-form>
</el-col> <el-form :inline="false" :model="formData" ref="form" :label-width="'90px'" v-if="pageType == 'view'">
<el-col :span="16"> <el-row>
<el-form-item label="场所地址" prop="location" style="display: block"> <el-col :span="8">
{{ formData.location }} <el-form-item label="设备名称" prop="equipmentName">{{ formData.equipmentName }}</el-form-item>
<div id="app_event" class="div_map"></div> </el-col>
</el-form-item> <el-col :span="6">
</el-col> <el-form-item label="设备编号" prop="equipmentNum">{{ formData.equipmentNum }}</el-form-item>
</el-row> </el-col>
</el-form> <el-col :span="6">
</div> <el-form-item label="设备类型" prop="equipmentCategoryCode">{{ formData.equipmentCategoryName }}</el-form-item>
<div class="div_btn"> </el-col>
<el-button size="small" @click="handleCancle">关闭</el-button> <el-col :span="6">
<!-- <el-button size="small" @click="resetData" v-if="pageType != 'view'">重置</el-button> --> <el-form-item label="负责人" prop="principalName">{{ formData.principalName }}</el-form-item>
<el-button size="small" type="primary" :disabled="btnDisable" @click="handleComfirm" v-if="pageType != 'view'"> </el-button> </el-col>
<el-col :span="6">
<el-form-item label="联系电话" prop="contactNum">{{ formData.contactNum }}</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="场所地址" prop="location">{{ formData.location }}</el-form-item>
</el-col>
</el-row>
<div id="app_event" class="div_map"></div>
</el-form>
</div>
<div class="div_btn" v-if="pageType != 'view'">
<el-button size="small" @click="handleCancle"> </el-button>
<!-- <el-button size="small" @click="resetData" v-if="pageType != 'view'">重置</el-button> -->
<el-button size="small" type="primary" :disabled="btnDisable" @click="handleComfirm" > </el-button>
</div>
<!-- <div style="margin-top: 30px;"><record v-if="pageType != 'add' && detailId" :formType="pageType" :id="detailId" :info="{ agencyId: agencyId }"></record></div> -->
</div> </div>
<!-- <div style="margin-top: 30px;"><record v-if="pageType != 'add' && detailId" :formType="pageType" :id="detailId" :info="{ agencyId: agencyId }"></record></div> --> <span slot="footer" class="dialog-footer">
</el-card> <el-button @click="handleCancle"> </el-button>
<!-- <el-button type="primary" @click="handleComfirm"> </el-button> -->
</span>
</el-dialog>
</template> </template>
<script> <script>
@ -94,6 +113,10 @@ var geocoder; // 新建一个正逆地址解析类
export default { export default {
props: { props: {
dialogVisible: {
type: Boolean,
default: ''
},
defaultData: { defaultData: {
type: Object, type: Object,
default: null default: null
@ -292,7 +315,7 @@ export default {
}, // init }, // init
initMap() { initMap() {
let { latitude, longitude } = this.$store.state.user; let { latitude, longitude } = this.$store.state.user;
if (this.formData.latitude && this.formData.longitude) { if (this.formData.latitude && this.formData.longitude) {
latitude = this.formData.latitude; latitude = this.formData.latitude;
longitude = this.formData.longitude; longitude = this.formData.longitude;
@ -301,7 +324,7 @@ export default {
latitude = 39.9088810666821; latitude = 39.9088810666821;
longitude = 116.39743841556731; longitude = 116.39743841556731;
} }
this.$nextTick(() => { this.$nextTick(() => {
map = new daiMap( map = new daiMap(
document.getElementById('app_event'), document.getElementById('app_event'),
@ -316,7 +339,7 @@ export default {
map.on('dragend', e => { map.on('dragend', e => {
this.handleMoveCenter(e); this.handleMoveCenter(e);
}); });
map.setCenter(latitude, longitude); map.setCenter(latitude, longitude);
if (this.formData.latitude) { if (this.formData.latitude) {
map.setMarker(latitude, longitude); map.setMarker(latitude, longitude);
@ -331,7 +354,7 @@ export default {
map.setMarker(lat, lng); map.setMarker(lat, lng);
let { msg, data } = await map.getAddress(lat, lng); let { msg, data } = await map.getAddress(lat, lng);
console.log("mapdata",data) console.log('mapdata', data);
if (msg == 'success') { if (msg == 'success') {
this.formData.location = data.address; this.formData.location = data.address;
this.searchValue = data.address; this.searchValue = data.address;
@ -384,9 +407,17 @@ export default {
/deep/ .el-textarea.is-disabled textarea.el-textarea__inner { /deep/ .el-textarea.is-disabled textarea.el-textarea__inner {
// border:none;background-color: transparent; // border:none;background-color: transparent;
} }
.div_btn {
text-align: right;
}
.div_map { .div_map {
width: 100%; width:100%;
height: 320px;
margin-left: 0px;
} }
/deep/.el-dialog__body {
padding: 30px 80px;
}
.form-item::v-deep .el-form-item__label { .form-item::v-deep .el-form-item__label {
color: #fff; color: #fff;
} }

12
src/views/modules/shequzhili/tuceng/gonggongfuwu/index.vue

@ -1,6 +1,6 @@
<template> <template>
<div class="g-main"> <div class="g-main">
<div v-show="pageType == 'list'"> <div >
<div class="m-search"> <div class="m-search">
<el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'100px'"> <el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'100px'">
<div> <div>
@ -85,8 +85,8 @@
</div> </div>
</div> </div>
</div> </div>
<div v-if="pageType != 'list'"> <div >
<addForm <addForm v-if="dialogVisible" :dialogVisible="dialogVisible"
:pageType="pageType" :pageType="pageType"
:disabled="disabled" :disabled="disabled"
:detailId="detailId" :detailId="detailId"
@ -108,7 +108,7 @@ import axios from 'axios';
export default { export default {
data() { data() {
return { return {dialogVisible: false,
importLoading: false, importLoading: false,
disabled: false, disabled: false,
user: '', user: '',
@ -236,6 +236,7 @@ export default {
console.log(row); console.log(row);
if (row.id) { if (row.id) {
this.detailId = row.id; this.detailId = row.id;
} }
this.pageType = type; this.pageType = type;
if (type == 'view') { if (type == 'view') {
@ -243,8 +244,9 @@ export default {
} else { } else {
this.disabled = false; this.disabled = false;
} }
this.dialogVisible=true;
}, },
handleClose() { handleClose() {this.dialogVisible = false;
this.pageType = 'list'; this.pageType = 'list';
this.detailId = ''; this.detailId = '';
this.getTableData(); this.getTableData();

175
src/views/modules/shequzhili/tuceng/yingji/changsuo/addForm.vue

@ -1,75 +1,89 @@
<template> <template>
<el-card> <el-dialog :title="title" :visible.sync="dialogVisible" width="1370px" :before-close="handleCancle">
<div class="dialog-h-content scroll-h"> <div>
<el-form :inline="true" :model="formData" ref="form" :rules="dataRule" :label-width="'120px'" v-if="pageType != 'view'"> <div class="dialog-h-content scroll-h">
<el-row> <el-form :inline="true" :model="formData" ref="form" :rules="dataRule" :label-width="'90px'" v-if="pageType != 'view'">
<el-col :span="8"> <el-row>
<el-form-item label="场所名称" prop="name"> <el-col :span="6">
<el-input v-model="formData.name" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input> <el-form-item label="场所名称" prop="name">
</el-form-item> <el-input v-model="formData.name" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input>
<el-form-item label="场所类型" prop="category"> </el-form-item>
<el-select v-model="formData.category" placeholder="请选择" size="small" clearable class="u-item-width-normal"> </el-col>
<el-option v-for="item in placeTypeList" :key="item.value" :label="item.label" :value="item.value"></el-option> <el-col :span="6">
</el-select> <el-form-item label="场所类型" prop="category">
</el-form-item> <el-select v-model="formData.category" placeholder="请选择" size="small" clearable class="u-item-width-normal">
<el-option v-for="item in placeTypeList" :key="item.value" :label="item.label" :value="item.value"></el-option>
<el-form-item label="占地面积" prop="areaCovered"> </el-select>
<el-input v-model="formData.areaCovered" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input> </el-form-item>
</el-form-item> </el-col>
<el-form-item label="场所规模" prop="capacity"> <el-col :span="6">
<el-input v-model="formData.capacity" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input> <el-form-item label="占地面积" prop="areaCovered">
</el-form-item> <el-input v-model="formData.areaCovered" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input>
</el-col> </el-form-item>
<el-col :span="16"> </el-col>
<el-form-item label="场所地址" prop="address" style="display: block"> <el-col :span="6">
<el-select <el-form-item label="场所规模" prop="capacity">
v-model="formData.address" <el-input v-model="formData.capacity" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input>
style="width: 200px;" </el-form-item>
:disabled="disabled" </el-col>
filterable <el-col :span="6">
remote <el-form-item label="场所地址" prop="address" style="display: block">
:reserve-keyword="true" <el-select
placeholder="请输入关键词" v-model="formData.address"
:remote-method="remoteMethod" :disabled="disabled"
:loading="loading" filterable
> remote
<el-option :reserve-keyword="true"
v-for="(item, index) in searchOptions" placeholder="请输入关键词"
@click.native="handleClickKey(index)" :remote-method="remoteMethod"
:key="item.value" :loading="loading"
:label="item.label" >
:value="item.value" <el-option
></el-option> v-for="(item, index) in searchOptions"
</el-select> @click.native="handleClickKey(index)"
<div id="app_event" class="div_map"></div> :key="item.value"
</el-form-item> :label="item.label"
</el-col> :value="item.value"
</el-row> ></el-option>
</el-form> </el-select>
<el-form :inline="false" :model="formData" ref="form" :label-width="'120px'" v-if="pageType == 'view'"> </el-form-item>
<el-row> </el-col>
<el-col :span="8"> </el-row>
<el-form-item label="设备名称" prop="equipmentName">{{ formData.equipmentName }}</el-form-item> <div id="app_event" class="div_map"></div>
<el-form-item label="设备类型" prop="equipmentCategoryCode">{{ formData.equipmentCategoryName }}</el-form-item> </el-form>
<el-form-item label="负责人" prop="principalName">{{ formData.principalName }}</el-form-item> <el-form :inline="false" :model="formData" ref="form" :label-width="'90px'" v-if="pageType == 'view'">
<el-form-item label="联系电话" prop="contactNum">{{ formData.contactNum }}</el-form-item> <el-row>
</el-col> <el-col :span="8">
<el-col :span="16"> <el-form-item label="设备名称" prop="equipmentName">{{ formData.equipmentName }}</el-form-item>
<el-form-item label="场所地址" prop="location" style="display: block"> </el-col>
{{ formData.location }} <el-col :span="6">
<div id="app_event" class="div_map"></div> <el-form-item label="设备类型" prop="equipmentCategoryCode">{{ formData.equipmentCategoryName }}</el-form-item>
</el-form-item> </el-col>
</el-col> <el-col :span="6">
</el-row> <el-form-item label="负责人" prop="principalName">{{ formData.principalName }}</el-form-item>
</el-form> </el-col>
</div> <el-col :span="6">
<div class="div_btn"> <el-form-item label="联系电话" prop="contactNum">{{ formData.contactNum }}</el-form-item>
<el-button size="small" @click="handleCancle">关闭</el-button> </el-col>
<!-- <el-button size="small" @click="resetData" v-if="pageType != 'view'">重置</el-button> --> <el-col :span="6">
<el-button size="small" type="primary" :disabled="btnDisable" @click="handleComfirm" v-if="pageType != 'view'"> </el-button> <el-form-item label="场所地址" prop="location" style="display: block">{{ formData.location }}</el-form-item>
</el-col>
</el-row>
<div id="app_event" class="div_map"></div>
</el-form>
</div>
<div class="div_btn" v-if="pageType != 'view'">
<el-button size="small" @click="handleCancle"> </el-button>
<!-- <el-button size="small" @click="resetData" v-if="pageType != 'view'">重置</el-button> -->
<el-button size="small" type="primary" :disabled="btnDisable" @click="handleComfirm" > </el-button>
</div>
<div style="margin-top: 30px;"><record v-if="pageType != 'add' && detailId" :formType="pageType" :id="detailId" :info="{ agencyId: agencyId }"></record></div>
</div> </div>
<div style="margin-top: 30px;"><record v-if="pageType != 'add' && detailId" :formType="pageType" :id="detailId" :info="{ agencyId: agencyId }"></record></div> <span slot="footer" class="dialog-footer">
</el-card> <el-button @click="handleCancle"> </el-button>
<!-- <el-button type="primary" @click="handleComfirm"> </el-button> -->
</span>
</el-dialog>
</template> </template>
<script> <script>
@ -89,6 +103,10 @@ var geocoder; // 新建一个正逆地址解析类
export default { export default {
props: { props: {
dialogVisible: {
type: Boolean,
default: ''
},
defaultData: { defaultData: {
type: Object, type: Object,
default: null default: null
@ -123,6 +141,7 @@ export default {
} }
}; };
return { return {
title: '',
btnDisable: false, btnDisable: false,
user: '', user: '',
agencyId: '', agencyId: '',
@ -286,7 +305,7 @@ export default {
}, // init }, // init
initMap() { initMap() {
let { latitude, longitude } = this.$store.state.user; let { latitude, longitude } = this.$store.state.user;
if (this.formData.latitude && this.formData.longitude) { if (this.formData.latitude && this.formData.longitude) {
latitude = this.formData.latitude; latitude = this.formData.latitude;
longitude = this.formData.longitude; longitude = this.formData.longitude;
@ -295,7 +314,7 @@ export default {
latitude = 39.9088810666821; latitude = 39.9088810666821;
longitude = 116.39743841556731; longitude = 116.39743841556731;
} }
this.$nextTick(() => { this.$nextTick(() => {
map = new daiMap( map = new daiMap(
document.getElementById('app_event'), document.getElementById('app_event'),
@ -310,7 +329,7 @@ export default {
map.on('dragend', e => { map.on('dragend', e => {
this.handleMoveCenter(e); this.handleMoveCenter(e);
}); });
map.setCenter(latitude, longitude); map.setCenter(latitude, longitude);
if (this.formData.latitude) { if (this.formData.latitude) {
map.setMarker(latitude, longitude); map.setMarker(latitude, longitude);
@ -377,9 +396,17 @@ export default {
/deep/ .el-textarea.is-disabled textarea.el-textarea__inner { /deep/ .el-textarea.is-disabled textarea.el-textarea__inner {
// border:none;background-color: transparent; // border:none;background-color: transparent;
} }
.div_btn {
text-align: right;
}
.div_map { .div_map {
width: 100%; width:100%;
height: 320px;
margin-left: 0px;
} }
/deep/.el-dialog__body {
padding: 30px 80px;
}
.form-item::v-deep .el-form-item__label { .form-item::v-deep .el-form-item__label {
color: #fff; color: #fff;
} }

12
src/views/modules/shequzhili/tuceng/yingji/changsuo/index.vue

@ -1,6 +1,6 @@
<template> <template>
<div class="g-main"> <div class="g-main">
<div v-show="pageType == 'list'"> <div >
<div class="m-search"> <div class="m-search">
<el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'100px'"> <el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'100px'">
<div> <div>
@ -83,8 +83,8 @@
</div> </div>
</div> </div>
</div> </div>
<div v-if="pageType != 'list'"> <div >
<addForm <addForm v-if="dialogVisible" :dialogVisible="dialogVisible"
:pageType="pageType" :pageType="pageType"
:disabled="disabled" :disabled="disabled"
:detailId="detailId" :detailId="detailId"
@ -106,7 +106,7 @@ import axios from 'axios';
export default { export default {
data() { data() {
return { return {dialogVisible: false,
importLoading: false, importLoading: false,
disabled: false, disabled: false,
user: '', user: '',
@ -228,6 +228,7 @@ export default {
handleAdd(row, type) { handleAdd(row, type) {
if (row.equipmentId) { if (row.equipmentId) {
this.detailId = row.equipmentId; this.detailId = row.equipmentId;
} }
this.pageType = type; this.pageType = type;
if (type == 'view') { if (type == 'view') {
@ -235,8 +236,9 @@ export default {
} else { } else {
this.disabled = false; this.disabled = false;
} }
this.dialogVisible=true;
}, },
handleClose() { handleClose() {this.dialogVisible = false;
this.pageType = 'list'; this.pageType = 'list';
this.detailId = ''; this.detailId = '';
this.getTableData(); this.getTableData();

187
src/views/modules/shequzhili/tuceng/yingji/wuzi/addForm.vue

@ -1,79 +1,97 @@
<template> <template>
<el-card> <el-dialog title="提示" :visible.sync="dialogVisible" width="1370px" :before-close="handleCancle">
<div class="dialog-h-content scroll-h"> <div>
<el-form :inline="true" :model="formData" ref="form" :rules="dataRule" :label-width="'120px'" v-if="pageType != 'view'"> <div class="dialog-h-content scroll-h">
<el-row> <el-form :inline="true" :model="formData" ref="form" :rules="dataRule" :label-width="'90px'" v-if="pageType != 'view'">
<el-col :span="8"> <el-row>
<el-form-item label="设备名称" prop="equipmentName"> <el-col :span="6">
<el-input v-model="formData.equipmentName" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input> <el-form-item label="设备名称" prop="equipmentName">
</el-form-item> <el-input v-model="formData.equipmentName" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input>
<el-form-item label="设备编号" prop="equipmentNum"> </el-form-item>
<el-input v-model="formData.equipmentNum" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input> </el-col>
</el-form-item> <el-col :span="6">
<el-form-item label="设备类型" prop="equipmentCategoryCode"> <el-form-item label="设备编号" prop="equipmentNum">
<el-select v-model="formData.equipmentCategoryCode" :disabled="disabled" placeholder="请选择" size="small" clearable class="u-item-width-normal"> <el-input v-model="formData.equipmentNum" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input>
<el-option v-for="item in equipmentCategoryCodeArray" :key="item.value" :label="item.label" :value="item.value"></el-option> </el-form-item>
</el-select> </el-col>
</el-form-item> <el-col :span="6">
<el-form-item label="设备类型" prop="equipmentCategoryCode">
<el-form-item label="负责人" prop="principalName"> <el-select v-model="formData.equipmentCategoryCode" :disabled="disabled" placeholder="请选择" size="small" clearable class="u-item-width-normal">
<el-input v-model="formData.principalName" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input> <el-option v-for="item in equipmentCategoryCodeArray" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-form-item> </el-select>
<el-form-item label="联系电话" prop="contactNum"> </el-form-item>
<el-input v-model="formData.contactNum" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input> </el-col>
</el-form-item> <el-col :span="6">
</el-col> <el-form-item label="负责人" prop="principalName">
<el-col :span="16"> <el-input v-model="formData.principalName" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input>
<el-form-item label="所处位置" prop="location" style="display: block"> </el-form-item>
<el-select </el-col>
v-model="formData.location" <el-col :span="6">
style="width: 200px;" <el-form-item label="联系电话" prop="contactNum">
:disabled="disabled" <el-input v-model="formData.contactNum" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input>
filterable </el-form-item>
remote </el-col>
:reserve-keyword="true" <el-col :span="6">
placeholder="请输入关键词" <el-form-item label="所处位置" prop="location" style="display: block">
:remote-method="remoteMethod" <el-select
:loading="loading" v-model="formData.location"
> :disabled="disabled"
<el-option filterable
v-for="(item, index) in searchOptions" remote
@click.native="handleClickKey(index)" :reserve-keyword="true"
:key="item.value" placeholder="请输入关键词"
:label="item.label" :remote-method="remoteMethod"
:value="item.value" :loading="loading"
></el-option> >
</el-select> <el-option
<div id="app_event" class="div_map"></div> v-for="(item, index) in searchOptions"
</el-form-item> @click.native="handleClickKey(index)"
</el-col> :key="item.value"
</el-row> :label="item.label"
</el-form> :value="item.value"
<el-form :inline="false" :model="formData" ref="form" :label-width="'120px'" v-if="pageType == 'view'"> ></el-option>
<el-row> </el-select>
<el-col :span="8"> </el-form-item>
<el-form-item label="设备名称" prop="equipmentName">{{ formData.equipmentName }}</el-form-item> </el-col>
<el-form-item label="设备编号" prop="equipmentNum">{{ formData.equipmentNum }}</el-form-item> </el-row>
<el-form-item label="设备类型" prop="equipmentCategoryCode">{{ formData.equipmentCategoryName }}</el-form-item> <div id="app_event" class="div_map"></div>
<el-form-item label="负责人" prop="principalName">{{ formData.principalName }}</el-form-item> </el-form>
<el-form-item label="联系电话" prop="contactNum">{{ formData.contactNum }}</el-form-item> <el-form :inline="false" :model="formData" ref="form" :label-width="'90px'" v-if="pageType == 'view'">
</el-col> <el-row>
<el-col :span="16"> <el-col :span="8">
<el-form-item label="场所地址" prop="location" style="display: block"> <el-form-item label="设备名称" prop="equipmentName">{{ formData.equipmentName }}</el-form-item>
{{ formData.location }} </el-col>
<div id="app_event" class="div_map"></div> <el-col :span="6">
</el-form-item> <el-form-item label="设备编号" prop="equipmentNum">{{ formData.equipmentNum }}</el-form-item>
</el-col> </el-col>
</el-row> <el-col :span="6">
</el-form> <el-form-item label="设备类型" prop="equipmentCategoryCode">{{ formData.equipmentCategoryName }}</el-form-item>
</div> </el-col>
<div class="div_btn"> <el-col :span="6">
<el-button size="small" @click="handleCancle">关闭</el-button> <el-form-item label="负责人" prop="principalName">{{ formData.principalName }}</el-form-item>
<!-- <el-button size="small" @click="resetData" v-if="pageType != 'view'">重置</el-button> --> </el-col>
<el-button size="small" type="primary" :disabled="btnDisable" @click="handleComfirm" v-if="pageType != 'view'"> </el-button> <el-col :span="6">
<el-form-item label="联系电话" prop="contactNum">{{ formData.contactNum }}</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="场所地址" prop="location">{{ formData.location }}</el-form-item>
</el-col>
</el-row>
<div id="app_event" class="div_map"></div>
</el-form>
</div>
<div class="div_btn" v-if="pageType != 'view'">
<el-button size="small" @click="handleCancle"> </el-button>
<!-- <el-button size="small" @click="resetData" v-if="pageType != 'view'">重置</el-button> -->
<el-button size="small" type="primary" :disabled="btnDisable" @click="handleComfirm"> </el-button>
</div>
<div style="margin-top: 30px;"><record v-if="pageType != 'add' && detailId" :formType="pageType" :id="detailId" :info="{ agencyId: agencyId }"></record></div>
</div> </div>
<div style="margin-top: 30px;"><record v-if="pageType != 'add' && detailId" :formType="pageType" :id="detailId" :info="{ agencyId: agencyId }"></record></div> <span slot="footer" class="dialog-footer">
</el-card> <el-button @click="handleCancle">关闭</el-button>
<!-- <el-button type="primary" @click="handleComfirm"> </el-button> -->
</span>
</el-dialog>
</template> </template>
<script> <script>
@ -93,6 +111,10 @@ var geocoder; // 新建一个正逆地址解析类
export default { export default {
props: { props: {
dialogVisible: {
type: Boolean,
default: ''
},
defaultData: { defaultData: {
type: Object, type: Object,
default: null default: null
@ -310,7 +332,7 @@ export default {
}, // init }, // init
initMap() { initMap() {
let { latitude, longitude } = this.$store.state.user; let { latitude, longitude } = this.$store.state.user;
if (this.formData.latitude && this.formData.longitude) { if (this.formData.latitude && this.formData.longitude) {
latitude = this.formData.latitude; latitude = this.formData.latitude;
longitude = this.formData.longitude; longitude = this.formData.longitude;
@ -319,7 +341,7 @@ export default {
latitude = 39.9088810666821; latitude = 39.9088810666821;
longitude = 116.39743841556731; longitude = 116.39743841556731;
} }
this.$nextTick(() => { this.$nextTick(() => {
map = new daiMap( map = new daiMap(
document.getElementById('app_event'), document.getElementById('app_event'),
@ -334,7 +356,7 @@ export default {
map.on('dragend', e => { map.on('dragend', e => {
this.handleMoveCenter(e); this.handleMoveCenter(e);
}); });
map.setCenter(latitude, longitude); map.setCenter(latitude, longitude);
if (this.formData.latitude) { if (this.formData.latitude) {
map.setMarker(latitude, longitude); map.setMarker(latitude, longitude);
@ -401,9 +423,17 @@ export default {
/deep/ .el-textarea.is-disabled textarea.el-textarea__inner { /deep/ .el-textarea.is-disabled textarea.el-textarea__inner {
// border:none;background-color: transparent; // border:none;background-color: transparent;
} }
.div_btn {
text-align: right;
}
.div_map { .div_map {
width: 100%; width:100%;
height: 320px;
margin-left: 0px;
} }
/deep/.el-dialog__body {
padding: 30px 80px;
}
.form-item::v-deep .el-form-item__label { .form-item::v-deep .el-form-item__label {
color: #fff; color: #fff;
} }
@ -427,4 +457,5 @@ export default {
text-align: right; text-align: right;
padding-right: 12px; padding-right: 12px;
} }
</style> </style>

11
src/views/modules/shequzhili/tuceng/yingji/wuzi/index.vue

@ -1,6 +1,6 @@
<template> <template>
<div class="g-main"> <div class="g-main">
<div v-show="pageType == 'list'"> <div >
<div class="m-search"> <div class="m-search">
<el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'100px'"> <el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'100px'">
<div> <div>
@ -100,8 +100,8 @@
</div> </div>
</div> </div>
</div> </div>
<div v-if="pageType != 'list'"> <div >
<addForm <addForm v-if="dialogVisible" :dialogVisible="dialogVisible"
:pageType="pageType" :pageType="pageType"
:disabled="disabled" :disabled="disabled"
:detailId="detailId" :detailId="detailId"
@ -123,7 +123,7 @@ import axios from 'axios';
export default { export default {
data() { data() {
return { return {dialogVisible: false,
importLoading: false, importLoading: false,
disabled: false, disabled: false,
user: '', user: '',
@ -265,6 +265,7 @@ export default {
handleAdd(row, type) { handleAdd(row, type) {
if (row.id) { if (row.id) {
this.detailId = row.id; this.detailId = row.id;
} }
this.pageType = type; this.pageType = type;
if (type == 'view') { if (type == 'view') {
@ -272,8 +273,10 @@ export default {
} else { } else {
this.disabled = false; this.disabled = false;
} }
this.dialogVisible=true;
}, },
handleClose() { handleClose() {
this.dialogVisible = false;
this.pageType = 'list'; this.pageType = 'list';
this.detailId = ''; this.detailId = '';
this.getTableData(); this.getTableData();

Loading…
Cancel
Save