Browse Source

Merge branch 'dev-shuju' into test

shibei_master
13176889840 4 years ago
parent
commit
30aeeee888
  1. 136
      src/views/modules/communityService/dqfwzx/cpts/order.vue
  2. 67
      src/views/modules/visual/communityParty/community.vue
  3. 22
      src/views/modules/visual/communityParty/party.vue
  4. 13
      src/views/modules/visual/measure/service.vue
  5. 9
      src/views/modules/visual/measure/volunteer.vue

136
src/views/modules/communityService/dqfwzx/cpts/order.vue

@ -31,13 +31,22 @@
label-width="150px"
style="display: block"
>
<el-date-picker
<!-- <el-date-picker
v-model="dataForm.appointmentDate"
placeholder="预约日期"
value-format="yyyy-MM-dd"
:picker-options="dateOptions"
>
</el-date-picker>
</el-date-picker> -->
<el-select v-model="dataForm.appointmentDate" placeholder="请选择">
<el-option
v-for="item in dateList"
:key="item"
:label="item"
:value="item"
>
</el-option
></el-select>
</el-form-item>
<el-form-item
@ -47,18 +56,19 @@
label-width="150px"
style="display: block"
>
<el-checkbox-group
style="margin-left: auto; width: 600px"
v-model="dataForm.timeId"
>
<div style="margin-left: auto; width: 600px">
<el-checkbox
:label="item.timeId"
:key="item.timeId"
:disabled="!item.isAppointment"
v-for="item in timeList"
v-for="(item, index) in timeList"
:checked="item.selected"
:value="item.selected"
@change="selectTime(index)"
@onChange="selectTime(index)"
>{{ item.time }}</el-checkbox
>
</el-checkbox-group>
</div>
</el-form-item>
<el-form-item
@ -128,7 +138,15 @@
import { mapGetters } from "vuex";
import { Loading } from "element-ui"; // Loading
import { requestPost } from "@/js/dai/request";
import dateFormat from "dai-js/tools/dateFormat";
const deepClone = function (arg) {
if (typeof arg == "object" || typeof arg == "array") {
return JSON.parse(JSON.stringify(arg));
} else {
return arg;
}
};
var map;
var search;
var markers;
@ -154,6 +172,7 @@ export default {
);
},
},
dateList: [],
timeList: [],
dataForm: {
@ -202,6 +221,100 @@ export default {
if (item) {
this.dataForm.matterId = item.matterId;
this.info.matterName = item.matterName;
this.getDateList();
}
},
selectTime(index) {
// return console.log(index);
let list = deepClone(this.timeList);
if (!list[index].isAppointment) return false;
let startIndex = list.findIndex((item) => item.selected);
let endIndex = list.findIndex((item, index) => {
return (
item.selected &&
(index == list.length - 1 || !list[index + 1].selected)
);
});
// console.log(startIndex, endIndex);
if (startIndex == -1) {
list[index].selected = !list[index].selected;
} else if (startIndex == endIndex) {
let big = Math.max(startIndex, index);
let little = Math.min(startIndex, index);
if (big == little) {
list[index].selected = !list[index].selected;
} else {
for (let i = little; i <= big; i++) {
// console.log(i);
if (!list[i].isAppointment) {
this.$message({
type: "warning",
message: "请选择连续的时间",
});
return false;
}
list[i].selected = true;
}
}
} else {
if (index == startIndex || index == endIndex) {
list[index].selected = !list[index].selected;
} else if (list[index].selected) {
let big = index;
let little = index;
if (startIndex - index < index - endIndex) {
big = endIndex;
} else {
little = startIndex;
}
for (let i = little; i <= big; i++) {
list[i].selected = false;
}
} else {
let big = index;
let little = index;
if (index < startIndex) {
big = startIndex;
} else {
little = endIndex;
}
for (let i = little; i <= big; i++) {
// console.log(i);
if (!list[i].isAppointment) {
this.$message({
type: "warning",
message: "请选择连续的时间",
});
return false;
}
list[i].selected = true;
}
}
}
console.log(list);
this.timeList = list;
return false;
},
async getDateList() {
let url = "/gov/org/icpartyservicecenter/appointmenttime";
const {
dataForm: { matterId },
} = this;
if (!matterId) return;
const { data, code, msg } = await requestPost(url, {
matterId,
date: dateFormat(new Date(), "yyyy-MM-dd"),
});
if (code === 0) {
this.dateList = data.dateList || [];
// this.dataForm.appointmentDate = data.dateList[0];
} else {
}
},
@ -219,8 +332,11 @@ export default {
});
if (code === 0) {
this.timeList = data.timeDetail || [];
} else {
let timeList = data.timeDetail || [];
this.timeList = timeList.map((item) => {
item.selected = false;
return item;
});
}
},

67
src/views/modules/visual/communityParty/community.vue

@ -5,7 +5,7 @@
<img class="title-icon"
src="../../../../assets/img/shuju/title-tip.png" />
<div class="title-label">
区域化党建
区域化党建&nbsp;&nbsp;
<el-cascader
v-model="selectAgency"
:options="propTree"
@ -14,35 +14,37 @@
clearable
@change="handleCascader">
</el-cascader>
</div>
<div class="second-select">
<el-select v-model="serviceMatter"
placeholder="请选择"
@change="handleSelectChange"
@clear="handleSelectChange">
<el-option v-for="item in unitList"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</div>
<div class="second-select">
<el-date-picker v-model="timeRange"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
prefix-icon="el-icon-caret-bottom"
value-format="yyyy-MM-dd HH:mm:ss"
:clearable="false"
:default-time="['00:00:00', '23:59:59']"
>
</el-date-picker>
</div>
</div>
<div class="second-title">
<div class="second-title-label">党建单位分类统计</div>
<div class="second-select">
<el-select v-model="serviceMatter"
placeholder="请选择"
@change="handleSelectChange"
@clear="handleSelectChange">
<el-option v-for="item in unitList"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</div>
<div class="second-select">
<el-date-picker v-model="timeRange"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
prefix-icon="el-icon-caret-bottom"
value-format="yyyy-MM-dd HH:mm:ss"
:clearable="false"
:default-time="['00:00:00', '23:59:59']"
>
</el-date-picker>
</div>
</div>
<div class="box-wr box-wr-400">
<div class="box-left">
@ -664,6 +666,7 @@ export default {
margin-right: 6px;
}
.title-label {
font-size: 20px;
font-weight: 800;
::v-deep .el-input {
@ -673,8 +676,8 @@ export default {
font-size: 18px;
font-weight: 800;
color: #fff;
background: transparent;
border: 0;
background: #06186d;
border: 1px solid #1a64cc;
}
.el-icon-arrow-down::before {
content: "\e790";
@ -710,8 +713,10 @@ export default {
background: #2865fa;
border-radius: 50%;
}
.second-select {
margin: 0 10px 0 40px;
}
.second-select {
margin: 0 10px 0 10px;
::v-deep .el-input {
width: 180px;
height: 36px;
@ -757,8 +762,6 @@ export default {
.second-select:last-child {
margin-left: 0;
}
}
.box-wr {
display: flex;
box-sizing: border-box;

22
src/views/modules/visual/communityParty/party.vue

@ -4,18 +4,7 @@
<div class="card-title">
<img class="title-icon" src="../../../../assets/img/shuju/title-tip.png" />
<div class="title-label">
<!-- <el-dropdown trigger="click">
<span class="el-dropdown-link">
全部网格<i class="el-icon-caret-bottom el-icon--right"></i>
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item>黄金糕</el-dropdown-item>
<el-dropdown-item>狮子头</el-dropdown-item>
<el-dropdown-item>螺蛳粉</el-dropdown-item>
<el-dropdown-item>双皮奶</el-dropdown-item>
<el-dropdown-item>蚵仔煎</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown> -->
党员信息统计&nbsp;&nbsp;
<el-cascader
v-model="selectAgency"
:options="propTree"
@ -832,14 +821,17 @@ export default {
}
}
.title-label {
font-size: 20px;
font-weight: 800;
::v-deep .el-input {
width: 180px;
.el-input__inner {
font-size: 20px;
font-size: 18px;
font-weight: 800;
color: #fff;
background: transparent;
border: 0;
background: #06186d;
border: 1px solid #1a64cc;
}
.el-icon-arrow-down::before {
content: "\e790";

13
src/views/modules/visual/measure/service.vue

@ -4,6 +4,7 @@
<div class="card-title">
<img class="title-icon" src="../../../../assets/img/shuju/title-tip.png" />
<div class="title-label">
服务措施分析 &nbsp;&nbsp;
<el-cascader
v-model="selectAgency"
:options="propTree"
@ -14,7 +15,7 @@
</el-cascader>
</div>
<div class="title-time">
<div class="title-time-label">选择时间</div>
<!-- <div class="title-time-label">选择时间</div> -->
<div class="second-select">
<!-- <el-date-picker
v-model="value2"
@ -592,7 +593,7 @@ export default {
display: flex;
align-items: center;
box-sizing: border-box;
margin-left: 30px;
margin-left: 10px;
font-size: 14px;
color: #fff;
.title-time-label {
@ -627,14 +628,16 @@ export default {
}
.title-label {
font-size: 20px;
font-weight: 800;
::v-deep .el-input {
width: 180px;
.el-input__inner {
font-size: 20px;
font-size: 18px;
font-weight: 800;
color: #fff;
background: transparent;
border: 0;
background: #06186d;
border: 1px solid #1a64cc;
}
.el-icon-arrow-down::before {
content: "\e790";

9
src/views/modules/visual/measure/volunteer.vue

@ -5,6 +5,7 @@
<img class="title-icon"
src="../../../../assets/img/shuju/title-tip.png" />
<div class="title-label">
志愿者服务分析&nbsp;&nbsp;
<el-cascader v-model="selectAgency"
:options="propTree"
:props="{ checkStrictly: true }"
@ -640,17 +641,17 @@ export default {
margin-right: 3px;
}
.title-label {
font-size: 16px;
font-size: 20px;
font-weight: 800;
::v-deep .el-input {
width: 180px;
.el-input__inner {
font-size: 20px;
font-size: 18px;
font-weight: 800;
color: #fff;
background: transparent;
border: 0;
background: #06186d;
border: 1px solid #1a64cc;
}
.el-icon-arrow-down::before {
content: "\e790";

Loading…
Cancel
Save