wangxianzhang 3 years ago
parent
commit
e9f684a1cf
  1. 6
      package.json
  2. BIN
      src/assets/img/shuju/grid/IS_KC.png
  3. BIN
      src/assets/img/shuju/grid/sr_gc.png
  4. 6
      src/router/index.js
  5. 280
      src/views/modules/base/epidemic/natFocus/natFocusAdd.vue
  6. 8
      src/views/modules/base/epidemic/natFocus/nfVisiteList.vue
  7. 77
      src/views/modules/plugins/rent/rentcontractinfo-add-or-update.vue
  8. 17
      src/views/modules/plugins/rent/rentcontractinfo-look-or-check.vue
  9. 3
      src/views/modules/plugins/rent/upload-image.vue
  10. 24
      src/views/modules/sys/icvaccineprarmeter-add-or-update.vue
  11. 22
      src/views/modules/visual/command/cpts/map.vue
  12. 4
      src/views/modules/visual/command/index.vue
  13. 2
      src/views/modules/visual/cpts/map/index.vue

6
package.json

@ -16,9 +16,9 @@
"et:list": "gulp themes"
},
"dependencies": {
"@antv/l7": "^2.9.14",
"@antv/l7-draw": "^3.0.5",
"@antv/l7-maps": "^2.9.14",
"@antv/l7": "2.9.14",
"@antv/l7-draw": "3.0.5",
"@antv/l7-maps": "2.9.14",
"@riophae/vue-treeselect": "^0.4.0",
"@tinymce/tinymce-vue": "^3.2.8",
"async-validator": "^4.2.5",

BIN
src/assets/img/shuju/grid/IS_KC.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

BIN
src/assets/img/shuju/grid/sr_gc.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 597 B

6
src/router/index.js

@ -121,20 +121,20 @@ function cookApiDataItem(item) {
function n2one(v) {
let ret = [];
for (let i = 0; i < v.length; i++) {
console.log("xxxxx", v[i]);
// console.log("xxxxx", v[i]);
ret.push(v[i]);
if (Array.isArray(v[i].children) && v[i].children.length > 0) {
ret.push(...n2one(v[i].children));
}
}
console.log("aaaa", ret);
// console.log("aaaa", ret);
return ret;
}
let allChildrenUrl = n2one(item.children)
.filter((i) => i.url != "" && i.showFlag == 1)
.map((i) => i.url);
console.log("))))))))))))", allChildrenUrl);
// console.log("))))))))))))", allChildrenUrl);
if (item.children.length > 0) {
if (item.url == "" || !allChildrenUrl.find((i) => i.url == item.url)) {

280
src/views/modules/base/epidemic/natFocus/natFocusAdd.vue

@ -159,15 +159,16 @@
:inline="true"
:model="formDataSearch"
ref="ref_formSearch"
:label-width="'90px'"
label-width="90px"
>
<el-form-item label="所属网格" label-width="80px">
<el-form-item label="所属网格">
<el-select
class="item_width_3"
v-model.trim="formDataSearch.gridId"
placeholder="请选择"
size="mini"
clearable
@change="handleChangeGrid"
>
<el-option
v-for="item in gridList"
@ -178,6 +179,115 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="所属小区" prop="neighborId">
<el-select
v-model.trim="formDataSearch.neighborId"
placeholder="请选择小区"
size="small"
clearable
class="resi-cell-select"
@clear="handleClearVillage"
@change="handleChangeV"
>
<el-option
v-for="item in optionsV"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
<el-select
v-model.trim="formDataSearch.buildingId"
placeholder="楼号"
size="small"
clearable
style="width: 120px"
class="resi-cell-select"
@clear="handleClearBuild"
@change="handleChangeB"
>
<el-option
v-for="item in optionsB"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
<el-select
v-model.trim="formDataSearch.unitId"
placeholder="单元"
size="small"
clearable
style="width: 120px"
class="resi-cell-select"
@click="handleClearDan"
@change="handleChangeD"
>
<el-option
v-for="item in optionsD"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
<el-select
v-model.trim="formDataSearch.houseId"
placeholder="房号"
size="small"
clearable
style="width: 120px"
class="resi-cell-select"
>
<el-option
v-for="item in optionsH"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="姓名" prop="name">
<el-input
v-model="formDataSearch.name"
size="small"
class="list_item_width_1"
clearable
placeholder="请输入姓名"
>
</el-input>
</el-form-item>
<el-form-item label="手机号" prop="mobile">
<el-input
v-model="formDataSearch.mobile"
size="small"
class="list_item_width_1"
clearable
placeholder="请输入手机号"
>
</el-input>
</el-form-item>
<el-form-item label="证件号" prop="idCard">
<el-input
v-model="formDataSearch.idCard"
size="small"
class="list_item_width_1"
clearable
placeholder="请输入身份证号或护照号"
>
</el-input>
</el-form-item>
<el-form-item label="年龄" prop="age">
<inputRange
v-model="formDataSearch.age"
type="num"
@change="handleAgeChange"
/>
</el-form-item>
<el-form-item label="核酸检测次数小于" label-width="150px">
<el-input-number
class="item_width_3"
@ -190,7 +300,6 @@
</el-form-item>
<el-form-item
label="检测时间"
label-width="80px"
prop="startTime"
>
<el-date-picker
@ -323,7 +432,7 @@
:inline="true"
:model="formData2"
ref="ref_form2"
:label-width="'90px'"
label-width="90px"
:rules="dataRule1"
>
<el-form-item
@ -441,6 +550,7 @@
import { Loading } from "element-ui"; // Loading
import { requestPost } from "@/js/dai/request";
import { mapGetters } from "vuex";
import inputRange from "@/views/components/rangeInput.vue";
let loading; //
export default {
@ -458,8 +568,23 @@ export default {
startDate: "",
endDate: "",
attentionType: 2,
neighborId: "",
buildingId: "",
unitId: "",
houseId: "",
name: "",
mobile: "",
idCard: "",
age: {},
startBirthDay: "",
endBirthDay: "",
},
timeRange: [],
optionsV: [],
optionsB: [],
optionsH: [],
optionsD: [],
optionsG: [],
formData1: {
attentionType: 2,
@ -497,7 +622,7 @@ export default {
};
},
components: {},
components: { inputRange },
async mounted() {
const { user } = this.$store.state;
@ -649,6 +774,79 @@ export default {
handleClick() {},
handleAgeChange(val) {
console.log("val----age---", val);
if (val.start) {
const e = this.computedBirth(val.start);
this.formDataSearch.endBirthDay = e;
} else {
this.formDataSearch.endBirthDay = "";
}
if (val.end) {
const s = this.computedBirth(val.end);
this.formDataSearch.startBirthDay = s;
} else {
this.formDataSearch.startBirthDay = "";
}
},
computedBirth(age) {
let now = new Date();
let nowYear = now.getFullYear();
let nowMonth = now.getMonth() + 1;
let nowDay = now.getDate(); // daymonthmonthyearyear
let subYear = nowYear - age;
if (nowMonth < 10) {
nowMonth = "0" + nowMonth;
}
if (nowDay < 10) {
nowDay = "0" + nowDay;
}
console.log(subYear + "-" + nowMonth + "-" + nowDay);
return subYear + "-" + nowMonth + "-" + nowDay;
},
handleClearVillage() {
this.formDataSearch.buildingId = "";
this.formDataSearch.unitId = "";
this.formDataSearch.houseId = "";
},
handleClearBuild() {
this.formDataSearch.buildingId = "";
this.formDataSearch.unitId = "";
this.formDataSearch.houseId = "";
},
handleClearDan() {
this.formDataSearch.unitId = "";
this.formDataSearch.houseId = "";
},
handleChangeGrid(val) {
console.log("val", val);
this.formDataSearch.neighborId = "";
this.formDataSearch.buildingId = "";
this.formDataSearch.unitId = "";
this.formDataSearch.houseId = "";
this.getValiheList();
},
handleChangeV(val) {
console.log("val", val);
this.formDataSearch.buildingId = "";
this.formDataSearch.unitId = "";
this.formDataSearch.houseId = "";
this.getBuildList();
},
handleChangeB(val) {
console.log("val", val);
this.formDataSearch.unitId = "";
this.formDataSearch.houseId = "";
this.getUniList();
},
handleChangeD(val) {
console.log("val", val);
this.formDataSearch.houseId = "";
this.getHouseList();
},
async loadGrid() {
const url = "/gov/org/customergrid/gridoption";
@ -664,6 +862,78 @@ export default {
this.$message.error(msg);
}
},
getValiheList() {
const { user } = this.$store.state;
this.$http
.post("/gov/org/icneighborhood/neighborhoodoption", {
gridId: this.formDataSearch.gridId,
agencyId: "",
// agencyId: user.agencyId
})
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
console.log("获取查询详情成功", res.data);
this.optionsV = res.data;
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
getBuildList() {
this.$http
.post("/gov/org/icbuilding/buildingoption", {
neighborHoodId: this.formDataSearch.neighborId,
})
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
console.log("获取查询详情成功", res.data);
this.optionsB = res.data;
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
getUniList() {
this.$http
.post("/gov/org/icbuildingunit/unitoption", {
buildingId: this.formDataSearch.buildingId,
})
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
console.log("获取查询详情成功", res.data);
this.optionsD = res.data;
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
getHouseList() {
this.$http
.post("/gov/org/ichouse/houseoption", {
unitId: this.formDataSearch.unitId,
})
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
console.log("获取查询详情成功", res.data);
this.optionsH = res.data;
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
handleComfirm() {
if (this.activeName === "first") {
this.$refs["ref_form1"].validate((valid, messageObj) => {

8
src/views/modules/base/epidemic/natFocus/nfVisiteList.vue

@ -131,7 +131,7 @@ export default {
formData: {
visitTime: '',//访
content: '',//
realIdCard: '',
idCard: '',
name: '',
mobile: '',
origin: ''
@ -150,7 +150,7 @@ export default {
async initTable (row, origin) {
this.formData.realIdCard = row.realIdCard
this.formData.idCard = row.realIdCard
this.formData.name = row.name
this.formData.mobile = row.mobile
this.formData.origin = origin
@ -167,7 +167,7 @@ export default {
// const url = 'http://yapi.elinkservice.cn/mock/245/epmetuser/followup/page'
let params = {
name: this.formData.name,
idCard: this.formData.realIdCard,
idCard: this.formData.idCard,
pageNo: this.pageNo,
pageSize: this.pageSize,
origin: this.formData.origin
@ -225,7 +225,7 @@ export default {
const url = "/epmetuser/followup/export"
let params = {
idCard: this.formData.realIdCard,
idCard: this.formData.idCard,
name: this.formData.name,
origin: this.formData.origin
}

77
src/views/modules/plugins/rent/rentcontractinfo-add-or-update.vue

@ -286,11 +286,36 @@
</el-form-item>
<br/>
<el-form-item label="合同附件" prop="fileList" label-width="140px">
<el-form-item label="合同照片" prop="fileList" label-width="140px">
<template>
<upload-image :defaultFileList="dataForm.fileList" :limit="6" @change="onChangeFileList"></upload-image>
</template>
</el-form-item>
<el-form-item label="合同附件" label-width="140px">
<template>
<el-upload
class="upload-demo"
multiple
:action="uploadUrl"
:data="{ customerId: customerId }"
:limit="limit"
:headers="$getElUploadHeaders()"
:on-success="(res, file) => handleFlieSuccess(res, file)"
:on-error="(res, file) => handleFlieError(res, file)"
:on-remove="(res) => handleFlieRemove(res)"
:on-exceed="(res) => handleFlieExceed(res)"
:before-upload="(file) => beforeFlieUpload(file)"
:on-preview="handlePreview"
:file-list="dataForm.docList">
<el-button size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">只能上传合同文件</div>
</el-upload>
</template>
</el-form-item>
</el-form>
<template slot="footer">
<div class="resi-btns">
@ -355,7 +380,8 @@ export default {
idCardImgList: [],
unit: ''
}],
fileList: []
fileList: [],
docList: []
},
zzmmOptions: [
{ name: '党员', value: '党员' },
@ -391,7 +417,10 @@ export default {
buildingOptions: [],
unitOptions: [],
houseOptions: [],
agencyOptions: []
agencyOptions: [],
uploadUrl: `${window.SITE_CONFIG['apiURL']}/oss/file/uploadqrcodeV2`,
customerId: localStorage.getItem("customerId"),
limit: 3
}
},
computed: {
@ -537,6 +566,7 @@ export default {
unit: ''
}],
fileList: [],
docList: [],
agencyImgList: []
}
},
@ -866,6 +896,43 @@ export default {
this.editModeGetList()
}).catch(() => {})
},
handleFlieSuccess(res, file) {
if (res.code === 0 && res.msg === "success") {
let ob = {
fileType: '0',
fileUrl: file.response.data.url,
name: file.response.data.fileName
}
this.dataForm.docList.push(ob)
} else {
this.$message.error(res.msg)
}
},
handleFlieError(res, file) {
console.log(res)
},
handleFlieRemove(res) {
// console.log(JSON.stringify(res))
const delFile = res.fileUrl
this.dataForm.docList.forEach((item, key) => {
if (delFile == item.fileUrl) {
this.dataForm.docList.splice(key, 1)
}
})
},
handleFlieExceed(res) {
this.$message({
type: "warning",
message: `文件数量最多不超过${this.limit}`,
})
},
beforeFlieUpload(file) {
console.log(file)
},
handlePreview(file) {
window.open(file.fileUrl)
// console.log(JSON.stringify(file));
},
//
dataFormSubmitHandle: debounce(function () {
this.$refs['dataForm'].validate((valid) => {
@ -932,7 +999,9 @@ export default {
}
</style>
<style lang="scss" scoped>
::v-deep .el-upload-list__item.is-success.focusing .el-icon-close-tip {
display: none !important;
}
.div_btn {
display: flex;
justify-content: flex-end;

17
src/views/modules/plugins/rent/rentcontractinfo-look-or-check.vue

@ -117,13 +117,17 @@
</el-form-item>
<br/>
<el-form-item label="合同附件" prop="fileList">
<el-form-item label="合同照片" prop="fileList">
<template>
<label v-for="(item,index) in dataForm.fileList" :key="index">
<img :src="item.fileUrl" @click="imgShow(item.fileUrl)" width="100" height="100" />
</label>
</template>
</el-form-item>
<el-form-item label="合同附件">
<label v-for="(item,index) in dataForm.docList" :key="index" @click="downFile(item.fileUrl)" class="file-l">{{ item.name }}</label>
</el-form-item>
<el-form-item label="审核原因" prop="reason" v-if="dataForm.flag === '1' && dataForm.state === '2'">
<el-input v-model="dataForm.reason" placeholder="审核原因" disabled></el-input>
</el-form-item>
@ -184,7 +188,8 @@ export default {
lesseeHouseAddress: '',
signDate: '',
startDate: '',
endDate: ''
endDate: '',
docList: [],
},
dataListLoading: false,
dialogVisible: false,
@ -346,6 +351,9 @@ export default {
})
}).catch(() => {})
},
downFile(fileUrl) {
window.open(fileUrl)
},
//
dataFormSubmitHandle: debounce(function () {
this.$refs['dataForm'].validate((valid) => {
@ -376,6 +384,11 @@ export default {
margin-top: 20px;
text-align: center;
}
.file-l{
margin-right: 10px;
color: #3ebef7;
cursor: pointer;
}
</style>
<style lang="scss">
.rent {

3
src/views/modules/plugins/rent/upload-image.vue

@ -9,7 +9,8 @@
:on-error="(res, file) => handleImgError(res, file)"
:on-remove="(res) => handleImgRemove(res)"
:on-exceed="(res) => handleImgExceed(res)"
:before-upload="(file) => beforeImgUpload(file)">
:before-upload="(file) => beforeImgUpload(file)"
accept="image/jpg,image/jpeg,image/png">
<i slot="default" class="el-icon-plus"></i>
<div slot="file" slot-scope="{file}">
<img class="el-upload-list__item-thumbnail" :src="file.url" alt="">

24
src/views/modules/sys/icvaccineprarmeter-add-or-update.vue

@ -220,7 +220,8 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item v-if="dataForm.isVaccination === '0'" label="原因" label-width="150px">
<el-form-item label="原因" label-width="150px">
<!--<el-form-item v-if="dataForm.isVaccination === '0'" label="原因" label-width="150px">-->
<el-select class="item_width_2"
v-model.trim="dataForm.reason"
placeholder="请选择"
@ -337,6 +338,14 @@
return !this.dataForm.unitId
},
dataRule () {
var checkPhone = (rule, value, callback) => {
let moblie = /^1(3|4|5|6|7|8|9)\d{9}$/; let tel = /^(0[0-9]{2,3}\-)([2-9][0-9]{4,7})+(\-[0-9]{1,4})?$/
if (!moblie.test(this.dataForm.mobile) && !tel.test(this.dataForm.mobile)) {
return callback(new Error('请输入正确的手机号或座机号!'))
} else {
callback()
}
}
return {
customerId: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
@ -384,7 +393,8 @@
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
mobile: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
{ required: true, message: this.$t('validate.required'), trigger: 'blur' },
{ validator: checkPhone, trigger: 'blur' }
],
idCard: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
@ -728,16 +738,6 @@
setTimeout(() => {
this.btnDisable = false;
}, 10000);
//
const regPhone = /^1(3|4|5|6|7|8|9)\d{9}$/;
if (regPhone.test(this.dataForm.mobile) === false) {
this.btnDisable = false
this.$message({
type: 'warning',
message: '请输入正确的手机号码'
})
return false;
}
if(this.dataForm.isVaccination === '1'){
if(this.dataForm.firstVacTime === ''){
this.$message({

22
src/views/modules/visual/command/cpts/map.vue

@ -444,8 +444,8 @@ export default {
.size(12)
.style({
offsets: [0, 8], // [, ]
// rotation: 60,
layerType: "fillImage",
rotation: 0,
// layerType: "fillImage",
});
scene.addLayer(posLayer);
@ -516,6 +516,7 @@ export default {
iniMapDot(scene) {
const { darkStyle, lightStyle, dotIcoList, dotData } = this;
console.log("--------------------------图标", dotIcoList);
Object.keys(dotIcoList).forEach((k) => {
scene.addImage(k, dotIcoList[k]);
});
@ -531,18 +532,20 @@ export default {
strokeOpacity: 0.1,
stroke: "#000",
});
scene.addLayer(dotBgLayer);
dotLayer = new PointLayer({
zIndex: 21,
zIndex: 20,
})
.source(dotData)
.shape("categoryKey", (k) => k)
.size(10)
.style({
offsets: [0, 0],
rotation: 0,
layerType: "fillImage",
});
})
.size(10);
scene.addLayer(dotBgLayer);
scene.addLayer(dotLayer);
dotBgLayer.on("click", (e) => {
@ -567,15 +570,16 @@ export default {
});
dotLayer2 = new PointLayer({
zIndex: 31,
zIndex: 30,
})
.source(dotData)
.shape("categoryKey", (k) => k + "2")
.size(30)
.style({
offsets: [0, 0],
rotation: 0,
layerType: "fillImage",
});
})
.size(30);
scene.addLayer(dotLayer2);
dotLayer2.on("click", (e) => {

4
src/views/modules/visual/command/index.vue

@ -334,7 +334,7 @@ export default {
yjdw: require("@/assets/img/shuju/command/ico/yjdw.png"),
sr_gy: require("@/assets/img/shuju/command/ico/sr_gy.png"),
sr_gc: require("@/assets/img/shuju/command/ico/sr_gc.png"),
sr_gc: require("@/assets/img/shuju/grid/sr_gc.png"),
whdw: require("@/assets/img/shuju/command/ico/whdw.png"),
sr_ggld: require("@/assets/img/shuju/command/ico/sr_ggld.png"),
lwh: require("@/assets/img/shuju/command/ico/lwh.png"),
@ -424,7 +424,7 @@ export default {
IS_DB: require("@/assets/img/shuju/command/ico3/IS_DB.png"),
IS_MB: require("@/assets/img/shuju/command/ico3/IS_MB.png"),
anzhibangjiao: require("@/assets/img/shuju/command/ico3/anzhibangjiao.png"),
IS_KC: require("@/assets/img/shuju/command/ico3/IS_KC.png"),
IS_KC: require("@/assets/img/shuju/grid/IS_KC.png"),
IS_XFRY: require("@/assets/img/shuju/command/ico3/IS_XFRY.png"),
IS_SD: require("@/assets/img/shuju/command/ico3/IS_SD.png"),
IS_SN: require("@/assets/img/shuju/command/ico3/IS_SN.png"),

2
src/views/modules/visual/cpts/map/index.vue

@ -408,7 +408,7 @@ export default {
.style({
offsets: [0, 8], // [, ]
// rotation: 60,
layerType: "fillImage",
// layerType: "fillImage",
});
scene.addLayer(posLayer);

Loading…
Cancel
Save