Browse Source

Merge branch 'feature/dev_zz_wgh' into dev

feature
HAHA 3 years ago
parent
commit
a54b3c01fc
  1. 25
      src/views/components/tinymce2/index.vue
  2. 30
      src/views/modules/cabaseinfo/caresident.vue
  3. 656
      src/views/modules/cabaseinfo/carotators-binding-house.vue
  4. 6
      src/views/modules/cabaseinfo/carotators.vue
  5. 725
      src/views/modules/communityParty/members/points.vue
  6. 14
      src/views/modules/communityParty/regionalParty/activitysForm.vue
  7. 728
      src/views/modules/communityService/measure/points.vue
  8. 10
      src/views/modules/workPc/guidance/DetailForm.vue
  9. 2
      src/views/modules/workSys/pointAditive/rule.vue

25
src/views/components/tinymce2/index.vue

@ -1,5 +1,6 @@
<template>
<editor v-model="content" tag-name="div" :init="init" />
<editor id="editors" v-model="content" tag-name="div" :init="init" />
<!-- <textarea id="editors" v-model="content" /> -->
</template>
<script>
@ -66,6 +67,7 @@ export default {
let token = this.getUserToken();
let init = {
selector: '#editors',
language_url: require("./zh_CN.js"), //
language: "zh_CN",
skin_url: require("tinymce/skins/ui/oxide/skin.css"), //
@ -78,6 +80,7 @@ export default {
toolbar_mode: "none",
toolbar_drawer: "sliding",
toolbar_mode: "sliding",
outputFormat: 'p',
plugins:
"wordcount visualchars visualblocks toc textpattern template tabfocus spellchecker searchreplace save quickbars print preview paste pagebreak noneditable nonbreaking media insertdatetime importcss imagetools image hr help fullscreen fullpage directionality codesample code charmap link code table lists advlist anchor autolink autoresize autosave", // import
toolbar:
@ -150,7 +153,9 @@ export default {
revert_data,
};
},
mounted() {},
mounted() {
tinymce.init(this.init)
},
methods: {
vModel(editor) {
// setContent
@ -159,16 +164,32 @@ export default {
if (editor && val !== prevVal && val !== editor.getContent()) {
if (typeof val !== "string") val = val.toString();
debounceSetContent.call(editor, val);
return
}
// debounceSetContent.call(editor, this.dormatHtml(val));
});
editor.on("change keyup undo redo", () => {
// console.log('editor.getContent()---', editor.getContent({ format : 'p' }))
const c = editor.getContent({ format : 'p' })
this.$emit("input", editor.getContent());
// debounce(500, this.$emit("input", editor.getContent({ format : 'p' })));
;
});
editor.on("blur", () => {
// console.log('editor.blur--', editor.getContent({ format : 'p' }))
// editor.getContent(editor.getContent({ format : 'p' }))
this.$emit("blur");
});
},
dormatHtml(content) {
let c = ''
if (content.indexOf('DOCTYPE') != -1) {
c = content.slice(45, -16);
}
console.log('content', typeof content)
return c || content
},
getUserToken() {
return localStorage.getItem("token");
},

30
src/views/modules/cabaseinfo/caresident.vue

@ -117,8 +117,15 @@
align="center"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column :label="$t('handle')" fixed="right" align="center" width="100">
<el-table-column :label="$t('handle')" fixed="right" align="center" width="150">
<template slot-scope="scope">
<el-button
type="text"
class="div-table-button--detail"
size="small"
@click="bndingHouseHandle(scope.row.idCard)"
>绑定房屋</el-button
>
<el-button
type="text"
class="div-table-button--detail"
@ -145,6 +152,14 @@
ref="addOrUpdate"
@refreshDataList="getDataList"
></add-or-update>
<!-- 绑定房屋 -->
<el-dialog width="60%" :visible.sync="bndingHouseVisible" title="绑定房屋" :close-on-click-modal="false" :close-on-press-escape="false" :destroy-on-close="true">
<binding-house
v-if="bndingHouseVisible"
:bindHouse="bindHouseForm"
@closeBindHouse="closeBindHouse"
></binding-house>
</el-dialog>
</el-card>
</div>
</template>
@ -152,10 +167,15 @@
<script>
import mixinViewModule from "@/mixins/view-post";
import AddOrUpdate from "./caresident-add-or-update";
import BindingHouse from "./carotators-binding-house";
export default {
mixins: [mixinViewModule],
data() {
return {
bndingHouseVisible:false,
bindHouseForm:{
idCard:null,
},
mixinViewModuleOptions: {
getDataListURL: "/opendata/caResident/getPage",
getDataListIsPage: true,
@ -172,6 +192,13 @@ export default {
};
},
methods:{
bndingHouseHandle(id){
this.bndingHouseVisible = true
this.bindHouseForm.idCard = id
},
closeBindHouse(){
this.bndingHouseVisible = false
},
getloudongOptions(){
this.$http.post(`/opendata/bmGrid/getCascadeMenu`).then(resp => {
if(resp.data.code === 0){
@ -203,6 +230,7 @@ created(){
},
components: {
AddOrUpdate,
BindingHouse
},
};
</script>

656
src/views/modules/cabaseinfo/carotators-binding-house.vue

@ -0,0 +1,656 @@
<template>
<div>
<div v-show="currentPage == 'chaxun'">
<div v-show="!showedFuncPanel">
<div class="m-info">
<div class="wrap">
<div class="logo">
<span>房屋查询</span>
</div>
<div class="search">
<div class="input">
<el-dropdown
class="select"
placement="bottom"
v-model="searchData.type"
@command="(type) => (searchData.type = type)"
>
<span class="select-show">
{{ { fangwu: "房屋" }[searchData.type]
}}<i class="el-icon-arrow-down el-icon--right"></i>
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="fangwu">房屋</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<input
type="text"
:placeholder="typePlaceholder[searchData.type]"
v-model="searchData.keyword"
@keyup.enter="handleClickSearchBtn"
/>
<div
class="close-btn"
v-if="searchData.keyword != ''"
@click="searchData.keyword = ''"
>
<img src="@/assets/img/shequ/close.png" />
</div>
</div>
<div class="btn" @click="handleClickSearchBtn">搜索</div>
</div>
<div
class="m-tb"
v-if="
searchData.type == 'fangwu' &&
searchData.keyword != '' &&
searchStatus == 'ing'
"
>
<div class="tb">
<el-table
:data="searchFangwu.list"
v-loading="searchFangwu.loading"
border
:max-height="1000"
style="width: 100%"
>
<el-table-column
label="序号"
type="index"
align="center"
width="50"
/>
<el-table-column
prop="houseName"
label="房屋名称"
width="120"
>
</el-table-column>
<el-table-column
prop="neighborHoodName"
label="所属小区"
width="160"
>
</el-table-column>
<el-table-column prop="buildingName" label="所属楼栋">
</el-table-column>
<el-table-column prop="unitNum" label="单元号">
</el-table-column>
<el-table-column prop="doorName" label="门牌号">
</el-table-column>
<el-table-column prop="houseType" label="类型">
</el-table-column>
<el-table-column prop="purpose" label="用途">
</el-table-column>
<el-table-column prop="rentFlag" label="房屋状态">
</el-table-column>
<el-table-column prop="ownerName" label="房主姓名">
</el-table-column>
<el-table-column
prop="ownerPhone"
label="房主电话"
width="110"
>
</el-table-column>
<el-table-column
prop="ownerIdCard"
label="身份证"
width="170"
>
</el-table-column>
<el-table-column
label="操作"
fixed="right"
header-align="center"
align="center"
class="operate"
width="170"
>
<template slot-scope="scope">
<el-button
type="text"
style="color: #1c6afd; text-decoration: underline"
size="small"
@click="handleWatchSearchFangwu(scope.row)"
>查看</el-button
>
<el-button
type="text"
style="color: #1c6afd; text-decoration: underline"
size="small"
@click="checkFangwu(scope.row)"
>绑定房屋</el-button
>
</template>
</el-table-column>
</el-table>
<div>
<el-pagination
@size-change="handleSizeChangeSearchFangwu"
@current-change="handleCurrentChangeSearchFangwu"
:current-page.sync="searchFangwu.pageNo"
:page-sizes="[20, 50, 100, 200]"
:page-size="parseInt(searchFangwu.pageSize)"
layout="sizes, prev, pager, next"
:total="searchFangwu.total"
>
</el-pagination>
</div>
</div>
</div>
<div
class="m-tb"
v-if="
searchData.type == 'xuqiu' &&
searchData.keyword != '' &&
searchStatus == 'ing'
"
>
<div class="tb"></div>
</div>
</div>
</div>
</div>
</div>
<!-- <div class="binding-house">
<span>绑定房屋:</span>
<span>{{houseName}}</span>
</div> -->
<people-more
v-if="showedPeopleMoreInfo && currentPepeleId"
:userId="currentPepeleId"
:gridName="currentPepeleGridName"
@close="showedPeopleMoreInfo = false"
/>
<!-- 修改弹出框 -->
<el-dialog
:visible.sync="showedFangwuInfo"
:close-on-click-modal="false"
:close-on-press-escape="false"
title="房屋详情"
width="900px"
:modal="false"
@closed="showedFangwuInfo = false"
>
<fangwu-info
ref="fangwu_info"
@dialogCancle="showedFangwuInfo = false"
></fangwu-info>
</el-dialog>
<!-- 修改弹出框 -->
<el-dialog
:visible.sync="showedXuqiuInfo"
:close-on-click-modal="false"
:close-on-press-escape="false"
title="需求详情"
width="900px"
@closed="showedXuqiuInfo = false"
>
<xuqiu-info
ref="xuqiu_info"
@dialogCancle="showedXuqiuInfo = false"
></xuqiu-info>
</el-dialog>
</div>
</template>
<script>
import { requestPost } from "@/js/dai/request";
import barChart from "@/views/modules/shequ/cpts/bar-chart";
import warningList from "@/views/modules/warning/index";
import { mapGetters } from "vuex";
import nextTick from "dai-js/tools/nextTick";
import peopleMore from "@/views/modules/shequ/cpts/people-more";
import fangwuInfo from "@/views/modules/shequ/cpts/fangwu-info";
import xuqiuInfo from "@/views/modules/shequ/cpts/xuqiu-info";
import scrollNotice from "@/views/modules/shequ/cpts/scroll-notice";
export default {
components: {
barChart,
peopleMore,
fangwuInfo,
xuqiuInfo,
warningList,
scrollNotice,
},
data() {
return {
searchStatus: "ini", //ing over
searchData: {
type: "fangwu",
keyword: "",
},
typePlaceholder: {
jumin: "请输入姓名或电话或身份证号",
fangwu: "请输入“小区名称,楼号”,如:亿联小区,1号楼",
xuqiu: "请输入需求人或需求内容或服务方",
},
selectedFuncIdList: [],
funcList: [
// {
// url: '',
// menuId: '',
// menuName: '',
// icon: '',
// }
],
showedFuncPanel: false,
warningChart: {
loading: false,
total: "",
list: [],
},
warningTb: {
pageNo: 1,
pageSize: window.localStorage.getItem("pageSize") || 20,
total: 1,
list: [],
},
searchJumin: {
header: [],
pageNo: 1,
pageSize: window.localStorage.getItem("pageSize") || 20,
total: 1,
list: [],
},
searchFangwu: {
pageNo: 1,
pageSize: window.localStorage.getItem("pageSize") || 20,
total: 1,
list: [],
},
searchXuqiu: {
header: [
{
label: "状态",
align: "center",
columnName: "statusName",
width: "120",
options: [
{
label: "待处理",
value: "pending",
},
{
label: "已取消",
value: "canceled",
},
{
label: "已派单",
value: "assigned",
},
{
label: "已接单",
value: "have_order",
},
{
label: "已完成",
value: "finished",
},
],
},
{
label: "所属网格",
columnName: "gridName",
align: "center",
width: "",
options: [],
},
{
label: "需求类型",
columnName: "categoryName",
align: "center",
width: "",
options: [],
},
{
label: "需求内容",
columnName: "content",
align: "center",
width: "",
options: [],
},
{
label: "上报类型",
columnName: "reportTypeName",
align: "center",
width: "120",
options: [
{
label: "社区帮办",
value: "community",
},
{
label: "楼长帮办",
value: "building_caption",
},
{
label: "党员帮办",
value: "party",
},
{
label: "自身上报",
value: "self_help",
},
],
},
{
label: "上报人",
columnName: "reportUserName",
align: "center",
width: "120",
options: [],
},
{
label: "上报时间",
columnName: "reportTime",
align: "center",
width: "180",
options: [],
},
{
label: "需求人",
columnName: "demandUserName",
align: "center",
width: "80",
options: [],
},
{
label: "服务方",
columnName: "serviceShowName",
align: "center",
width: "120",
options: [],
},
{
label: "服务时间",
columnName: "wantServiceTime",
align: "center",
width: "180",
options: [],
},
],
pageNo: 1,
pageSize: window.localStorage.getItem("pageSize") || 20,
total: 1,
list: [],
},
//
showedPeopleMoreInfo: false,
currentPepeleId: "",
currentPepeleGridName: "",
//
showedFangwuInfo: false,
showedXuqiuInfo: false,
noticeList: [
// {
// configId: "20211210153859_f070ac2dd01129da5d9a9f2329fbd9ea1",
// noticeContent: "-2!",
// },
],
currentCategoryCode: "",
currentPage: "chaxun", //
currentNoticeBuildingId: "",
currentNoticeConfigId: "",
houseName: null,
bindingForm: {
idCard: null,
homeId: null,
},
};
},
computed: {
selectedFuncList() {
const {
selectedFuncIdList,
$store: {
state: { sidebarMenuList },
},
} = this;
let obj = {};
sidebarMenuList.forEach((menu) => {
if (selectedFuncIdList.indexOf(menu.id) !== -1) {
obj[menu.id] = {
menuId: menu.id,
menuName: menu.name,
icon: menu.icon,
url: menu.url,
};
}
if (menu.children && menu.children.length > 0) {
menu.children.forEach((item) => {
if (selectedFuncIdList.indexOf(item.id) !== -1) {
obj[item.id] = {
menuId: item.id,
menuName: item.name,
icon: item.icon,
url: item.url,
};
}
});
}
});
return selectedFuncIdList.map((id) => obj[id]);
},
maxTableHeight() {
// return this.clientHeight - 450;
return 420;
},
...mapGetters(["clientHeight"]),
},
watch: {
"searchData.keyword": function (val) {
if (val == "") {
this.searchStatus = "ini";
}
},
},
props: {
bindHouse: {
type: Object,
default: {},
},
},
mounted() {
this.getApiData();
console.log(
"dynamicMenuRoutes----------------------------",
this.$store.state.sidebarMenuList
);
this.bindingForm.idCard = this.bindHouse.idCard;
},
methods: {
//
checkFangwu(val) {
console.log(val);
this.bindingForm.homeId = val.houseId;
this.$confirm("确定绑定此房屋?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
center: true,
})
.then(async () => {
const url = "/epmetuser/icresiuser/bindHome";
const { bindingForm } = this;
const res = await requestPost(url, bindingForm);
if (res.code === 0) {
this.$message.success('房屋绑定成功')
this.$emit("closeBindHouse");
}else{
this.$message.error(res.msg)
}
})
.catch(() => {});
},
changeCategoryCode({ code }) {
this.currentCategoryCode = code || "";
this.warningTb.pageNo = 1;
this.getWarningTb();
},
computedWidth(label) {
const wd = 20 * label.length;
return wd > 80 ? wd : 80;
},
handleFilterSpan(row, item) {
let _val = "";
if (item.options && item.options.length > 0) {
item.options.forEach((n) => {
if (n.value === row[item.columnName]) _val = n.label;
});
}
return _val || row[item.columnName];
},
handleClickSearchBtn() {
const {
searchData: { type, keyword },
} = this;
if (!keyword) return this.$message.error("请输入搜索条件");
if (type == "fangwu") {
this.searchFangwu.pageNo = 1;
this.searchFangwu.total = 0;
this.getSearchFangwu();
}
this.searchStatus = "ing";
},
handleSizeChangeWarning(val) {
console.log(`每页 ${val}`);
this.warningTb.pageSize = val;
window.localStorage.setItem("pageSize", val);
this.getWarningTb();
},
handleCurrentChangeWarning(val) {
console.log(`当前页: ${val}`);
this.warningTb.pageNo = val;
this.getWarningTb();
},
async handleWatchWarning(rowIndex) {
let item = this.warningTb.list[rowIndex];
this.currentPepeleId = item.userId;
this.currentPepeleGridName = item.gridName;
await nextTick();
this.showedPeopleMoreInfo = true;
},
async handleWatchSearchJumin(rowIndex) {
let item = this.searchJumin.list[rowIndex];
this.currentPepeleId = item.icResiUserId;
this.currentPepeleGridName = item.GRID_ID;
await nextTick();
this.showedPeopleMoreInfo = true;
},
handleSizeChangeSearchFangwu(val) {
console.log(`每页 ${val}`);
this.searchFangwu.pageSize = val;
window.localStorage.setItem("pageSize", val);
this.getSearchFangwu();
},
handleCurrentChangeSearchFangwu(val) {
console.log(`当前页: ${val}`);
this.searchFangwu.pageNo = val;
this.getSearchFangwu();
},
async handleWatchSearchFangwu(row) {
this.showedFangwuInfo = true;
await nextTick();
this.$refs.fangwu_info.initForm("detail", row);
},
getApiData() {
this.getWarningTb();
},
async getSearchFangwu() {
const url = "/gov/org/house/search";
const {
searchData: { keyword },
searchFangwu: { pageSize, pageNo },
} = this;
const { data, code, msg } = await requestPost(url, {
keyword,
pageSize,
pageNo,
});
if (code === 0) {
console.log("列表请求成功!!!!!!!!!!!!!!");
this.searchFangwu.total = data.total || 0;
this.searchFangwu.list = data.list
? data.list.map((item) => {
return item;
})
: [];
} else {
}
},
async getWarningTb() {
const url = "/epmetuser/icresiuser/personwarn/rightlist";
const {
warningTb: { pageSize, pageNo },
} = this;
const { data, code, msg } = await requestPost(url, {
pageSize,
pageNo,
categoryCode: this.currentCategoryCode,
});
if (code === 0) {
console.log("列表请求成功!!!!!!!!!!!!!!");
this.warningTb.total = data.total || 0;
this.warningTb.list = data.list
? data.list.map((item) => {
item.typeName = item.type.join("、");
return item;
})
: [];
} else {
}
},
},
};
</script>
<style lang="scss" src="@/assets/scss/modules/search.scss" scoped></style>
<style lang="scss" scoped>
.logo {
font-size: 35px;
font-weight: bold;
text-align: center;
letter-spacing: 3px;
}
.binding-house {
margin: 0 100px 50px;
span {
font-size: 20px;
}
}
</style>

6
src/views/modules/cabaseinfo/carotators.vue

@ -113,6 +113,7 @@
></el-table-column>
<el-table-column :label="$t('handle')" fixed="right" align="center" width="100">
<template slot-scope="scope">
<el-button
type="text"
class="div-table-button--detail"
@ -146,10 +147,12 @@
<script>
import mixinViewModule from "@/mixins/view-post";
import AddOrUpdate from "./carotators-add-or-update";
export default {
mixins: [mixinViewModule],
data() {
return {
mixinViewModuleOptions: {
getDataListURL: "/opendata/caRotators/getPage",
getDataListIsPage: true,
@ -166,6 +169,7 @@ export default {
};
},
methods:{
getloudongOptions(){
this.$http.post(`/opendata/bmGrid/getCascadeMenu`).then(resp => {
if(resp.data.code === 0){
@ -196,7 +200,7 @@ created(){
this.getloudongOptions()
},
components: {
AddOrUpdate,
AddOrUpdate
},
};
</script>

725
src/views/modules/communityParty/members/points.vue

@ -0,0 +1,725 @@
<template>
<div v-if="pageLoading" class="resi-container">
<el-card ref="searchCard" class="search-card">
<div class="">
<el-form ref="searchForm" :inline="true" :model="searchForm" size="small" label-width="100px" class="demo-form-inline">
<div>
<!-- <el-form-item label="所属党组织" prop="partyOrgId">
<el-cascader
v-model="partyOrgRange"
:options="optionsG"
:props="partyProps"
clearable
@change="handlePartyChange"></el-cascader>
</el-form-item> -->
<el-form-item label="姓名" prop="name">
<el-input v-model="searchForm.name" placeholder="请输入" class="input-width" clearable></el-input>
</el-form-item>
<el-form-item label="手机号" prop="mobile">
<el-input v-model="searchForm.mobile" placeholder="请输入" class="input-width" clearable></el-input>
</el-form-item>
<el-form-item label="身份证" prop="idCard">
<el-input v-model="searchForm.idCard" placeholder="请输入" class="input-width" clearable></el-input>
</el-form-item>
<el-form-item label="审核状态" prop="status">
<el-select v-model="searchForm.status" filterable :disabled="disabled" placeholder="请选择" class="input-width" clearable>
<el-option
v-for="item in zwList"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</div>
<el-form-item label="申请时间"
prop="startTime">
<el-date-picker v-model="timeRange"
size="small"
type="daterange"
value-format="yyyy-MM-dd"
@change="handleTimeChange"
range-separator="至"
start-placeholder="开始时间"
end-placeholder="结束时间">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button class="diy-button--search" size="small" @click="handleSearch">查询</el-button>
<el-button class="diy-button--reset" size="small" @click="resetForm('searchForm')">重置</el-button>
</el-form-item>
</el-form>
</div>
</el-card>
<el-card class="resi-card-table">
<!-- <div class="resi-row-btn">
<el-button class="diy-button--add" size="small" @click="handleAdd">批量审核</el-button>
</div> -->
<el-table
:data="tableData"
row-key="id"
v-loading="tableLoading"
border
:height="tableHeight"
style="width: 100%"
class="resi-table"
@select="handleSelection"
>
<!-- <el-table-column type="selection" align="center" width="50">
</el-table-column> -->
<el-table-column label="序号" type="index" align="center" width="50">
</el-table-column>
<el-table-column
prop="name"
label="姓名"
align="center"
width="100"
/>
<el-table-column
prop="gender"
label="性别"
align="center"
width="100"
/>
<el-table-column
prop="idCard"
label="身份证号"
align="center"
min-width="180"
/>
<el-table-column
prop="mobile"
label="手机号"
align="center"
min-width="160"
/>
<el-table-column
prop="gridName"
label="所在网格"
align="center"
min-width="160"
show-overflow-tooltip
/>
<el-table-column
prop="title"
label="标题"
align="center"
show-overflow-tooltip
min-width="180"
/>
<el-table-column
prop="ruleName"
label="类别"
align="center"
min-width="160"
/>
<el-table-column
prop="createdTime"
label="申请时间"
align="center"
width="160"
/>
<el-table-column
prop="status"
label="审核状态"
align="center"
show-overflow-tooltip
width="100"
>
<template slot-scope="scope">
<span v-if="scope.row.status == 0">待审核</span>
<span v-else-if="scope.row.status == 2">已通过</span>
<span v-else-if="scope.row.status == 1">已驳回</span>
</template>
</el-table-column>
<el-table-column fixed="right" label="操作" align="center" width="100">
<template slot-scope="scope">
<el-button
@click="handleLook(scope.row)"
type="text"
size="small"
class="btn-color-look"
>查看</el-button
>
<el-button
v-if="scope.row.status == 0"
@click="handleEdit(scope.row, 'edit')"
type="text"
size="small"
class="btn-color-edit"
>审核</el-button
>
</template>
</el-table-column>
</el-table>
<div>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="currentPage"
:page-sizes="[20, 50, 100, 200]"
:page-size="pageSize"
layout="sizes, prev, pager, next, total"
:total="total"
>
</el-pagination>
</div>
</el-card>
<el-dialog title="审核信息" :visible.sync="dialogFormVisible">
<template v-if="!isBatch">
<div class="d-title">{{ detailInfo.title }}</div>
<div class="d-desc">{{ detailInfo.statement }}</div>
<div class="input-width1" style="display: flex;">
<el-image
v-for="item in detailInfo.annexList"
:key="item"
style="width: 100px; height: 100px; margin-right: 10px;"
:src="item"
:preview-src-list="detailInfo.annexList">
</el-image>
</div>
<div class="d-tips">申请人{{ detailInfo.showName }}</div>
<div class="d-tips">申请时间{{ detailInfo.createdTime }}</div>
<el-divider></el-divider>
</template>
<div class=""></div>
<el-form :model="form">
<el-form-item label="申请类别:" :label-width="'100px'">
<span>{{ detailInfo.ruleName }}</span>
</el-form-item>
<el-form-item label="申请积分:" :label-width="'100px'">
<span>{{ detailInfo.pointValue }}</span>
</el-form-item>
<el-form-item label="审核状态:" prop="status" :label-width="'100px'">
<el-select v-model="form.status" placeholder="请选择" :disabled="disabled" class="input-width">
<el-option
v-for="item in zwLists"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="备注:" prop="remark" :label-width="'100px'">
<el-input v-model="form.remark" type="textarea" :disabled="disabled" autocomplete="off" class="input-width"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="handlerCancle"> </el-button>
<el-button v-if="!disabled" type="primary" @click="handleSubmit"> </el-button>
</div>
</el-dialog>
<el-dialog title="详情" :visible.sync="dialogVisible" width="800px">
<el-form :model="detailInfo" inline>
<div>
<el-form-item label="所属网格:" :label-width="'100px'">
<div class="input-width1">{{detailInfo.gridName}}</div>
</el-form-item>
<el-form-item label="姓名:" :label-width="'100px'">
<div class="input-width1">{{detailInfo.name}}</div>
</el-form-item>
</div>
<div>
<!-- <el-form-item label="性别" prop="remark" :label-width="'100px'">
<el-input v-model="form.remark" autocomplete="off" class="input-width"></el-input>
</el-form-item> -->
<el-form-item label="手机号:" :label-width="'100px'">
<div class="input-width1">{{detailInfo.mobile}}</div>
</el-form-item>
<el-form-item label="身份证:" :label-width="'100px'">
<div class="input-width1">{{detailInfo.idCard}}</div>
</el-form-item>
</div>
<div>
<el-form-item label="积分类别:" :label-width="'100px'">
<div class="input-width1">{{detailInfo.ruleName}}</div>
</el-form-item>
<el-form-item label="积分分值:" prop="status" :label-width="'100px'">
<div class="input-width1">{{detailInfo.pointValue}}</div>
</el-form-item>
</div>
<div>
<el-form-item label="标题:" prop="status" :label-width="'100px'">
<div class="input-width1">{{detailInfo.title}}</div>
</el-form-item>
<el-form-item label="内容:" :label-width="'100px'">
<div class="input-width1">{{detailInfo.statement}}</div>
</el-form-item>
</div>
<el-form-item label="附件:" :label-width="'100px'">
<div class="input-width1" style="display: flex;">
<el-image
v-for="item in detailInfo.annexList"
:key="item"
style="width: 100px; height: 100px; margin-right: 10px;"
:src="item"
:preview-src-list="detailInfo.annexList">
</el-image>
</div>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="handlerCancle">关闭</el-button>
<!-- <el-button type="primary" @click="handleSubmit"> </el-button> -->
</div>
</el-dialog>
</div>
</template>
<script>
import { mapGetters } from 'vuex'
export default {
data() {
return {
dialogVisible: false,
dialogFormVisible: false,
tableLoading: false,
disabled: false,
pageLoading: false,
isBatch: false,
currentPage: 1,
pageSize: 20,
total: null,
tableData: [],
searchH: 0,
addType: 'add',
optionsG: [],
zwLists: [
{
label: '通过',
value: '2'
},
{
label: '驳回',
value: '1'
}
],
zwList: [
{
label: '待审核',
value: '0'
},
{
label: '已通过',
value: '2'
},
{
label: '已驳回',
value: '1'
}
],
selectionList: [],
tempList: [],
partyOrgRange: [],
timeRange: [],
customerId: '',
searchForm: {
// partyOrgId: '',
mobile: '',
idCard: '',
name: '',
status: '',
startTime: '',
endTime: '',
categoryCode: 'party_building'
},
form: {
ids: [],
status: '2',
remark: ''
},
detailInfo: {},
partyProps: {
label: 'partyOrgName',
value: 'id',
checkStrictly: true
}
}
},
computed: {
...mapGetters(['clientHeight', 'iframeHeight']),
tableHeight() {
const h = this.clientHeight - this.searchH - 280 + this.iframeHeigh
const _h = this.clientHeight - 280 - this.searchH
return this.$store.state.inIframe ? h : _h
}
},
async created() {
this.customerId = localStorage.getItem('customerId')
this.getTableData()
this.getGridList('query')
this.pageLoading = true
},
mounted() {
this.$nextTick(() => {
this.searchH = this.$refs.searchCard.$el.offsetHeight
console.log('tableHeight', this.tableHeight)
})
},
methods: {
handleSelection(val) {
this.selectionList = [...val]
},
handleSizeChange(val) {
console.log(`每页 ${val}`)
this.pageSize = val
this.getTableData()
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`)
this.currentPage = val
if (this.selectionList.length > 0 && val !== 1) {
this.tempList = [...this.tempList, ...this.selectionList]
}
this.getTableData()
},
handlePartyChange(val) {
console.log('val------pp', val)
this.searchForm.partyOrgId = val[val.length - 1]
},
handleFilterSpan(row, item) {
let _val = ''
if (item.options && item.options.length > 0) {
item.options.forEach((n) => {
if (n.value === row[item.columnName]) _val = n.label
})
}
return _val || row[item.columnName]
},
handleTimeChange (val) {
if (val.length > 0) {
this.searchForm.startTime = val[0]
this.searchForm.endTime = val[1]
} else {
this.searchForm.startTime = ''
this.searchForm.endTime = ''
}
},
handleDelimg(item, index) {
this.form.imageList.splice(index, 1)
},
handleSearch(val) {
console.log('searchhh--', val)
this.currentPage = 1
this.getTableData()
},
resetForm(formName) {
this.timeRange = []
this.searchForm.startTime = ''
this.searchForm.endTime = ''
this.$refs[formName].resetFields()
this.handleSearch()
},
handleAdd() {
if (this.selectionList.length == 0) return this.$message.warning('请选择数据')
this.dialogFormVisible = true
},
handlerCancle() {
this.detailInfo = {}
this.selectionList = []
this.tempList = []
this.disabled = false
this.form = {
ids: [],
status: '2',
remark: ''
}
this.dialogFormVisible = false
this.dialogVisible = false
},
async handleLook(row) {
this.disabled = true
this.isBatch = false
await this.getDetail(row.id)
this.dialogFormVisible = true
},
async handleEdit(row, addType) {
this.form.ids = [row.id]
this.isBatch = false
// this.detailInfo = { ...row }
await this.getDetail(row.id)
this.dialogFormVisible = true
},
handleDel(row) {
let params = {
ids: [row.id]
}
console.log('row1', row)
this.$http
.post('/resi/partymember/icPartyMember/delete', [row.id])
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
} else {
this.$message.success('删除成功')
this.getTableData()
}
})
.catch((err) => {
return this.$message.error('网络错误')
})
},
async handleSubmit() {
if (this.form.ids.length == 0) {
if (this.tempList.length > 0) this.form.ids = Array.from(new Set(this.tempList.map(item => item.id)))
else this.form.ids = Array.from(new Set(this.selectionList.map(item => item.id)))
}
this.$http
.post('/point/apply/examine/submit', this.form)
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
} else {
this.$message.success('操作成功')
this.handlerCancle()
this.getTableData()
}
})
.catch((err) => {
return this.$message.error('网络错误')
})
},
async getDetail(id) {
let params = {
id,
}
this.$http
.post(`/point/apply/detail/${id}`)
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
} else {
this.detailInfo = { ...res.data }
if (this.disabled) {
this.form.status = res.data.status
this.form.remark = res.data.remark
}
}
})
.catch((err) => {
console.log('row4', err)
return this.$message.error('网络错误')
})
},
async getGridList(type, agencyId) {
const { user } = await this.$store.state
console.log('user---ppp', user)
// addorupdate query
await this.$http
.get('/resi/partymember/icPartyOrg/getSearchTreelist', { params: {agencyId: agencyId || user.agencyId} })
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
} else {
console.log('获取查询详情成功', res.data)
this.optionsG = this.deepArrTOnull(res.data)
}
})
.catch(() => {
return this.$message.error('网络错误')
})
},
deepArrTOnull(arr) {
let a = []
a = arr.map(item => {
return {
...item,
children: (item.children.length > 0 && this.deepArrTOnull(item.children) )|| null
}
})
return a
},
async getTableData() {
this.tableLoading = true
const { user } = await this.$store.state
let params = {
...this.searchForm,
agencyId: user.agencyId,
pageNo: this.currentPage,
pageSize: this.pageSize
}
await this.$http
.post('/point/apply/listall', params)
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
} else {
this.tableData = res.data.list
this.total = res.data.total
}
})
.catch(() => {
return this.$message.error('网络错误')
})
this.tableLoading = false
}
}
}
</script>
<style lang="scss" scoped>
@import "@/assets/scss/buttonstyle.scss";
.resi-container .resi-card-table {
::v-deep .el-table th {
color: #fff;
background-color: rgba(33, 149, 254, 1);
// border-right: 1px solid rgba(33, 149, 254, 1);
}
}
.resi-table {
::v-deep .el-button--text {
text-decoration: underline;
}
::v-deep .btn-color-del {
margin-left: 10px;
color: rgba(213, 16, 16, 1);
}
::v-deep .btn-color-edit {
color: rgba(0, 167, 169, 1);
}
}
.input-width {
width: 200px;
}
.form-wr {
.input-width {
width: 260px;
}
.input-width-textarea {
width: 500px;
}
.imsg-list {
display: flex;
align-items: center;
.imgs-item {
position: relative;
margin-right: 10px;
.el-icon-delete {
position: absolute;
top: 0;
right: 0;
font-size: 18px;
color: red;
z-index: 3;
cursor: pointer;
}
}
}
}
.div-content {
width: 100%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.d-title {
text-align: center;
font-size: 18px;
}
.d-desc {
margin: 10px 0;
// font-size: ;
text-indent: 2em;
line-height: 16px;
}
.d-tips {
color: #999;
margin-top: 10px;
}
</style>
<style lang="scss" scoped>
.resi-row-btn {
display: flex;
margin-bottom: 13px;
::v-deep .el-button {
// margin-left: 10px;
border: 0;
}
::v-deep .el-select {
margin-right: 10px;
}
.el-button--success {
background: rgba(34, 193, 195, 1);
}
.el-button {
margin-left: 10px;
border: 0;
}
.el-button--success {
background: rgba(34, 193, 195, 1);
}
.el-button--warning {
background: rgba(254, 179, 73, 1);
}
.el-button--danger {
background: rgba(254, 98, 82, 1);
}
}
.avatar-uploader {
::v-deep
.el-upload {
cursor: pointer;
position: relative;
overflow: hidden;
}
.el-upload:hover {
border-color: #409EFF;
}
.avatar {
width: 100px;
height: 100px;
display: block;
}
.avatar-uploader-icon {
border: 1px dashed #d9d9d9;
border-radius: 6px;
font-size: 28px;
color: #8c939d;
width: 100px;
height: 100px;
line-height: 100px;
text-align: center;
}
}
.resi-btns {
margin-top: 20px;
text-align: center;
}
.input-width1 {
width: 250px;
}
</style>

14
src/views/modules/communityParty/regionalParty/activitysForm.vue

@ -376,11 +376,21 @@ export default {
})
},
dormatHtml(content) {
let c = ''
if (content.indexOf('DOCTYPE') != -1) {
c = content.slice(45, -16);
}
console.log('content', typeof content)
return c || content
},
async addActivity () {
let url = '/heart/icpartyactivity/save'
// let url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyactivity/save"
if (this.formData.content) {
this.formData.content = this.dormatHtml(this.formData.content)
}
const { data, code, msg } = await requestPost(url, this.formData)
if (code === 0) {

728
src/views/modules/communityService/measure/points.vue

@ -0,0 +1,728 @@
<template>
<div v-if="pageLoading" class="resi-container">
<el-card ref="searchCard" class="search-card">
<div class="">
<el-form ref="searchForm" :inline="true" :model="searchForm" size="small" label-width="100px" class="demo-form-inline">
<div>
<!-- <el-form-item label="所属党组织" prop="partyOrgId">
<el-cascader
v-model="partyOrgRange"
:options="optionsG"
:props="partyProps"
clearable
@change="handlePartyChange"></el-cascader>
</el-form-item> -->
<el-form-item label="姓名" prop="name">
<el-input v-model="searchForm.name" placeholder="请输入" class="input-width" clearable></el-input>
</el-form-item>
<el-form-item label="手机号" prop="mobile">
<el-input v-model="searchForm.mobile" placeholder="请输入" class="input-width" clearable></el-input>
</el-form-item>
<el-form-item label="身份证" prop="idCard">
<el-input v-model="searchForm.idCard" placeholder="请输入" class="input-width" clearable></el-input>
</el-form-item>
<el-form-item label="审核状态" prop="status">
<el-select v-model="searchForm.status" filterable :disabled="disabled" placeholder="请选择" class="input-width" clearable>
<el-option
v-for="item in zwList"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</div>
<el-form-item label="申请时间"
prop="startTime">
<el-date-picker v-model="timeRange"
size="small"
type="daterange"
value-format="yyyy-MM-dd"
@change="handleTimeChange"
range-separator="至"
start-placeholder="开始时间"
end-placeholder="结束时间">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button class="diy-button--search" size="small" @click="handleSearch">查询</el-button>
<el-button class="diy-button--reset" size="small" @click="resetForm('searchForm')">重置</el-button>
</el-form-item>
</el-form>
</div>
</el-card>
<el-card class="resi-card-table">
<!-- <div class="resi-row-btn">
<el-button class="diy-button--add" size="small" @click="handleAdd">批量审核</el-button>
</div> -->
<el-table
:data="tableData"
row-key="id"
v-loading="tableLoading"
border
:height="tableHeight"
style="width: 100%"
class="resi-table"
@select="handleSelection"
>
<!-- <el-table-column type="selection" align="center" width="50">
</el-table-column> -->
<el-table-column label="序号" type="index" align="center" width="50">
</el-table-column>
<el-table-column
prop="name"
label="姓名"
align="center"
width="100"
/>
<el-table-column
prop="gender"
label="性别"
align="center"
width="100"
/>
<el-table-column
prop="idCard"
label="身份证号"
align="center"
min-width="180"
/>
<el-table-column
prop="mobile"
label="手机号"
align="center"
min-width="160"
/>
<el-table-column
prop="gridName"
label="所在网格"
align="center"
min-width="160"
show-overflow-tooltip
/>
<el-table-column
prop="title"
label="标题"
align="center"
show-overflow-tooltip
min-width="180"
/>
<el-table-column
prop="ruleName"
label="类别"
align="center"
min-width="160"
/>
<el-table-column
prop="createdTime"
label="申请时间"
align="center"
width="160"
/>
<el-table-column
prop="status"
label="审核状态"
align="center"
show-overflow-tooltip
width="100"
>
<template slot-scope="scope">
<span v-if="scope.row.status == 0">待审核</span>
<span v-else-if="scope.row.status == 2">已通过</span>
<span v-else-if="scope.row.status == 1">已驳回</span>
</template>
</el-table-column>
<el-table-column fixed="right" label="操作" align="center" width="100">
<template slot-scope="scope">
<el-button
@click="handleLook(scope.row)"
type="text"
size="small"
class="btn-color-look"
>查看</el-button
>
<el-button
v-if="scope.row.status == 0"
@click="handleEdit(scope.row, 'edit')"
type="text"
size="small"
class="btn-color-edit"
>审核</el-button
>
</template>
</el-table-column>
</el-table>
<div>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="currentPage"
:page-sizes="[20, 50, 100, 200]"
:page-size="pageSize"
layout="sizes, prev, pager, next, total"
:total="total"
>
</el-pagination>
</div>
</el-card>
<el-dialog title="审核信息" :visible.sync="dialogFormVisible">
<template v-if="!isBatch">
<div class="d-title">{{ detailInfo.title }}</div>
<div class="d-desc">{{ detailInfo.statement }}</div>
<div class="input-width1" style="display: flex;">
<el-image
v-for="item in detailInfo.annexList"
:key="item"
style="width: 100px; height: 100px; margin-right: 10px;"
:src="item"
:preview-src-list="detailInfo.annexList">
</el-image>
</div>
<div class="d-tips">申请人{{ detailInfo.showName }}</div>
<div class="d-tips">申请时间{{ detailInfo.createdTime }}</div>
<el-divider></el-divider>
</template>
<div class=""></div>
<el-form :model="form">
<el-form-item label="申请类别:" :label-width="'100px'">
<span>{{ detailInfo.ruleName }}</span>
</el-form-item>
<el-form-item label="申请积分:" :label-width="'100px'">
<span>{{ detailInfo.pointValue }}</span>
</el-form-item>
<el-form-item label="审核状态:" prop="status" :label-width="'100px'">
<el-select v-model="form.status" placeholder="请选择" :disabled="disabled" class="input-width">
<el-option
v-for="item in zwLists"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="备注:" prop="remark" :label-width="'100px'">
<el-input v-model="form.remark" type="textarea" :disabled="disabled" autocomplete="off" class="input-width"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="handlerCancle"> </el-button>
<el-button v-if="!disabled" type="primary" @click="handleSubmit"> </el-button>
</div>
</el-dialog>
<el-dialog title="详情" :visible.sync="dialogVisible" width="800px">
<el-form :model="detailInfo" inline>
<div>
<el-form-item label="所属网格:" :label-width="'100px'">
<div class="input-width1">{{detailInfo.gridName}}</div>
</el-form-item>
<el-form-item label="姓名:" :label-width="'100px'">
<div class="input-width1">{{detailInfo.name}}</div>
</el-form-item>
</div>
<div>
<!-- <el-form-item label="性别" prop="remark" :label-width="'100px'">
<el-input v-model="form.remark" autocomplete="off" class="input-width"></el-input>
</el-form-item> -->
<el-form-item label="手机号:" :label-width="'100px'">
<div class="input-width1">{{detailInfo.mobile}}</div>
</el-form-item>
<el-form-item label="身份证:" :label-width="'100px'">
<div class="input-width1">{{detailInfo.idCard}}</div>
</el-form-item>
</div>
<div>
<el-form-item label="积分类别:" :label-width="'100px'">
<div class="input-width1">{{detailInfo.ruleName}}</div>
</el-form-item>
<el-form-item label="积分分值:" prop="status" :label-width="'100px'">
<div class="input-width1">{{detailInfo.pointValue}}</div>
</el-form-item>
</div>
<div>
<el-form-item label="标题:" prop="status" :label-width="'100px'">
<div class="input-width1">{{detailInfo.title}}</div>
</el-form-item>
<el-form-item label="内容:" :label-width="'100px'">
<div class="input-width1">{{detailInfo.statement}}</div>
</el-form-item>
</div>
<el-form-item label="附件:" :label-width="'100px'">
<div class="input-width1" style="display: flex;">
<el-image
v-for="item in detailInfo.annexList"
:key="item"
style="width: 100px; height: 100px; margin-right: 10px;"
:src="item"
:preview-src-list="detailInfo.annexList">
</el-image>
</div>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="handlerCancle">关闭</el-button>
<!-- <el-button type="primary" @click="handleSubmit"> </el-button> -->
</div>
</el-dialog>
</div>
</template>
<script>
import { mapGetters } from 'vuex'
export default {
data() {
return {
dialogVisible: false,
dialogFormVisible: false,
tableLoading: false,
disabled: false,
pageLoading: false,
currentPage: 1,
pageSize: 20,
total: null,
tableData: [],
searchH: 0,
addType: 'add',
optionsG: [],
zwLists: [
{
label: '通过',
value: '2'
},
{
label: '驳回',
value: '1'
}
],
zwList: [
{
label: '待审核',
value: '0'
},
{
label: '已通过',
value: '2'
},
{
label: '已驳回',
value: '1'
}
],
selectionList: [],
tempList: [],
partyOrgRange: [],
timeRange: [],
customerId: '',
isBatch: false,
searchForm: {
// partyOrgId: '',
mobile: '',
idCard: '',
name: '',
status: '',
startTime: '',
endTime: '',
categoryCode: 'moral_education'
},
form: {
ids: [],
status: '2',
remark: ''
},
detailInfo: {},
partyProps: {
label: 'partyOrgName',
value: 'id',
checkStrictly: true
}
}
},
computed: {
...mapGetters(['clientHeight', 'iframeHeight']),
tableHeight() {
const h = this.clientHeight - this.searchH - 280 + this.iframeHeigh
const _h = this.clientHeight - 280 - this.searchH
return this.$store.state.inIframe ? h : _h
}
},
async created() {
this.customerId = localStorage.getItem('customerId')
this.getTableData()
this.getGridList('query')
this.pageLoading = true
},
mounted() {
this.$nextTick(() => {
this.searchH = this.$refs.searchCard.$el.offsetHeight
console.log('tableHeight', this.tableHeight)
})
},
methods: {
handleSelection(val) {
this.selectionList = [...val]
},
handleSizeChange(val) {
console.log(`每页 ${val}`)
this.pageSize = val
this.getTableData()
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`)
this.currentPage = val
if (this.selectionList.length > 0 && val !== 1) {
this.tempList = [...this.tempList, ...this.selectionList]
}
this.getTableData()
},
handlePartyChange(val) {
console.log('val------pp', val)
this.searchForm.partyOrgId = val[val.length - 1]
},
handleFilterSpan(row, item) {
let _val = ''
if (item.options && item.options.length > 0) {
item.options.forEach((n) => {
if (n.value === row[item.columnName]) _val = n.label
})
}
return _val || row[item.columnName]
},
handleTimeChange (val) {
if (val.length > 0) {
this.searchForm.startTime = val[0]
this.searchForm.endTime = val[1]
} else {
this.searchForm.startTime = ''
this.searchForm.endTime = ''
}
},
handleDelimg(item, index) {
this.form.imageList.splice(index, 1)
},
handleSearch(val) {
console.log('searchhh--', val)
this.currentPage = 1
this.getTableData()
},
resetForm(formName) {
this.timeRange = []
this.searchForm.startTime = ''
this.searchForm.endTime = ''
this.$refs[formName].resetFields()
this.handleSearch()
},
handleAdd() {
if (this.selectionList.length == 0) return this.$message.warning('请选择数据')
this.isBatch = true
this.dialogFormVisible = true
},
handlerCancle() {
this.detailInfo = {}
this.selectionList = []
this.tempList = []
this.disabled = false
this.isBatch = false
this.form = {
ids: [],
status: '2',
remark: ''
}
this.dialogFormVisible = false
this.dialogVisible = false
},
async handleLook(row) {
this.disabled = true
this.isBatch = false
await this.getDetail(row.id)
this.dialogFormVisible = true
},
async handleEdit(row, addType) {
this.form.ids = [row.id]
this.isBatch = false
// this.detailInfo = { ...row }
await this.getDetail(row.id)
this.dialogFormVisible = true
},
handleDel(row) {
let params = {
ids: [row.id]
}
console.log('row1', row)
this.$http
.post('/resi/partymember/icPartyMember/delete', [row.id])
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
} else {
this.$message.success('删除成功')
this.getTableData()
}
})
.catch((err) => {
return this.$message.error('网络错误')
})
},
async handleSubmit() {
if (this.form.ids.length == 0) {
if (this.tempList.length > 0) this.form.ids = Array.from(new Set(this.tempList.map(item => item.id)))
else this.form.ids = Array.from(new Set(this.selectionList.map(item => item.id)))
}
this.$http
.post('/point/apply/examine/submit', this.form)
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
} else {
this.$message.success('操作成功')
this.handlerCancle()
this.getTableData()
}
})
.catch((err) => {
return this.$message.error('网络错误')
})
},
async getDetail(id) {
let params = {
id,
}
this.$http
.post(`/point/apply/detail/${id}`)
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
} else {
this.detailInfo = { ...res.data }
if (this.disabled) {
this.form.status = res.data.status
this.form.remark = res.data.remark
}
// this.dialogVisible = true
}
})
.catch((err) => {
console.log('row4', err)
return this.$message.error('网络错误')
})
},
async getGridList(type, agencyId) {
const { user } = await this.$store.state
console.log('user---ppp', user)
// addorupdate query
await this.$http
.get('/resi/partymember/icPartyOrg/getSearchTreelist', { params: {agencyId: agencyId || user.agencyId} })
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
} else {
console.log('获取查询详情成功', res.data)
this.optionsG = this.deepArrTOnull(res.data)
}
})
.catch(() => {
return this.$message.error('网络错误')
})
},
deepArrTOnull(arr) {
let a = []
a = arr.map(item => {
return {
...item,
children: (item.children.length > 0 && this.deepArrTOnull(item.children) )|| null
}
})
return a
},
async getTableData() {
this.tableLoading = true
const { user } = await this.$store.state
let params = {
...this.searchForm,
agencyId: user.agencyId,
pageNo: this.currentPage,
pageSize: this.pageSize
}
await this.$http
.post('/point/apply/listall', params)
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
} else {
this.tableData = res.data.list
this.total = res.data.total
}
})
.catch(() => {
return this.$message.error('网络错误')
})
this.tableLoading = false
}
}
}
</script>
<style lang="scss" scoped>
@import "@/assets/scss/buttonstyle.scss";
.resi-container .resi-card-table {
::v-deep .el-table th {
color: #fff;
background-color: rgba(33, 149, 254, 1);
// border-right: 1px solid rgba(33, 149, 254, 1);
}
}
.resi-table {
::v-deep .el-button--text {
text-decoration: underline;
}
::v-deep .btn-color-del {
margin-left: 10px;
color: rgba(213, 16, 16, 1);
}
::v-deep .btn-color-edit {
color: rgba(0, 167, 169, 1);
}
}
.input-width {
width: 200px;
}
.form-wr {
.input-width {
width: 260px;
}
.input-width-textarea {
width: 500px;
}
.imsg-list {
display: flex;
align-items: center;
.imgs-item {
position: relative;
margin-right: 10px;
.el-icon-delete {
position: absolute;
top: 0;
right: 0;
font-size: 18px;
color: red;
z-index: 3;
cursor: pointer;
}
}
}
}
.div-content {
width: 100%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.d-title {
text-align: center;
font-size: 18px;
}
.d-desc {
margin: 10px 0;
// font-size: ;
text-indent: 2em;
line-height: 16px;
}
.d-tips {
color: #999;
margin-top: 10px;
}
</style>
<style lang="scss" scoped>
.resi-row-btn {
display: flex;
margin-bottom: 13px;
::v-deep .el-button {
// margin-left: 10px;
border: 0;
}
::v-deep .el-select {
margin-right: 10px;
}
.el-button--success {
background: rgba(34, 193, 195, 1);
}
.el-button {
margin-left: 10px;
border: 0;
}
.el-button--success {
background: rgba(34, 193, 195, 1);
}
.el-button--warning {
background: rgba(254, 179, 73, 1);
}
.el-button--danger {
background: rgba(254, 98, 82, 1);
}
}
.avatar-uploader {
::v-deep
.el-upload {
cursor: pointer;
position: relative;
overflow: hidden;
}
.el-upload:hover {
border-color: #409EFF;
}
.avatar {
width: 100px;
height: 100px;
display: block;
}
.avatar-uploader-icon {
border: 1px dashed #d9d9d9;
border-radius: 6px;
font-size: 28px;
color: #8c939d;
width: 100px;
height: 100px;
line-height: 100px;
text-align: center;
}
}
.resi-btns {
margin-top: 20px;
text-align: center;
}
.input-width1 {
width: 250px;
}
</style>

10
src/views/modules/workPc/guidance/DetailForm.vue

@ -332,11 +332,19 @@ export default {
this.$message.error(msg)
}
},
dormatHtml(content) {
let c = ''
if (content.indexOf('DOCTYPE') != -1) {
c = content.slice(45, -16);
}
console.log('content', typeof content)
return c || content
},
saveForm () {
this.dataForm.moduleList = []
this.moduleArray.forEach(element => {
if (element.moduleContent) {
element.moduleContent = this.dormatHtml(element.moduleContent)
this.dataForm.moduleList.push(element)
}
});

2
src/views/modules/workSys/pointAditive/rule.vue

@ -190,6 +190,7 @@ export default {
this.addType = addType
if (type == '2') {
this.form.pid = id
this.form.categoryName = ''
}
if (type == '3') {
@ -362,6 +363,7 @@ export default {
},
//
async getTableData () {
this.typeList = []
this.tableData = []
this.tableLoading = true
let params = {}

Loading…
Cancel
Save