<template>
|
<div class="clap_examine">
|
<div class="w_row clearfix">
|
<p class="w_col_24">
|
<span class="w-width">发起人:</span>{{ detail.sponsorName }}
|
</p>
|
<p class="w_col_24">
|
<span class="w-width">联系电话:</span>{{ detail.phone }}
|
</p>
|
<p class="w_col_24">
|
<span class="w-width">发起时间:</span>{{ detail.createAt }}
|
</p>
|
<p class="w_col_24">
|
<span class="w-width">发起地点:</span>{{ detail.happenAddr }}
|
{{ detail.addrRemark ? detail.addrRemark : "" }}
|
</p>
|
<p class="w_col_24">
|
<span class="w-width">事件类型:</span>{{ detail.classifyName }}
|
</p>
|
<p class="w_col_24">
|
<span class="w-width">事件详情:</span>{{ detail.detail }}
|
</p>
|
<p class="w_col_24">
|
<span class="w-width">公示:</span>
|
<el-radio-group v-model="detail.isPublicity" size="medium">
|
<el-radio-button label="1">是</el-radio-button>
|
<el-radio-button label="2">否</el-radio-button>
|
</el-radio-group>
|
</p>
|
<p class="w_col_24">
|
<span class="w-width">内容质量:</span>
|
<el-radio-group v-model="a3" size="medium">
|
<el-radio-button label="1">优秀</el-radio-button>
|
<el-radio-button label="2">良好</el-radio-button>
|
<el-radio-button label="3">合格</el-radio-button>
|
<el-radio-button label="4">一般</el-radio-button>
|
<el-radio-button label="5">无</el-radio-button>
|
</el-radio-group>
|
<span
|
>奖励 <b>{{ rewardNum || 0 }}</b> 元</span
|
>
|
</p>
|
<!-- <p class="w_col_24"><span class="w-width">移交城管:</span>
|
<el-radio-group size="medium" v-model="detail.isReportUrban">
|
<el-radio-button label="1">是</el-radio-button>
|
<el-radio-button label="0">否</el-radio-button>
|
</el-radio-group>
|
</p> -->
|
<p class="w_col_24">
|
<span class="w-width">事件上报:</span>
|
<el-radio-group
|
size="medium"
|
v-model="isEscalation"
|
@change="escalationClick"
|
>
|
<el-radio-button label="1">城管</el-radio-button>
|
<el-radio-button label="2">人大代表</el-radio-button>
|
<el-radio-button label="3">暂不上报</el-radio-button>
|
</el-radio-group>
|
</p>
|
<p class="w_col_24" v-if="detail.isReportUrban == '1'">
|
<el-input
|
type="textarea"
|
cols="15"
|
rows="3"
|
class="m_inp input-text marin-t"
|
v-model="detail.transferReason"
|
maxlength="200"
|
placeholder="请输入备注,不超过200个字"
|
show-word-limit
|
></el-input>
|
</p>
|
<!-- <p class="w_col_24" v-if="detail.isReportUrban == '0'">
|
<span class="w-width">分配处理人:</span>
|
<el-select class="custom-select" v-model="assignor" placeholder="请选择">
|
<el-option
|
v-for="item in handlerList"
|
:key="item.value"
|
:label="item.label"
|
:value="item.value">
|
</el-option>
|
</el-select>
|
</p> -->
|
<div v-if="isEscalation == '3'">
|
<section class="w_col_24">
|
<p class="label h32">分配处理人:</p>
|
<div>
|
<el-checkbox-button
|
v-for="(personnel, index) in personnelList"
|
v-model="personnel.checked"
|
:key="index"
|
>{{ personnel.name }}</el-checkbox-button
|
>
|
</div>
|
</section>
|
|
<section
|
class="w_col_24"
|
v-for="(personnel, index) in personnelList.filter(d => d.checked)"
|
:key="index"
|
>
|
<p class="label h32">{{ `分配${personnel.name}:` }}</p>
|
<article>
|
<el-select
|
v-model="personnel.value"
|
placeholder="请选择"
|
size="small"
|
>
|
<el-option
|
v-for="item in personnel.options"
|
:key="item.value"
|
:label="item.label"
|
:value="item.value"
|
>
|
</el-option>
|
</el-select>
|
<!-- <p class="add-people" @click="addUser(personnel.name)">没找到,去添加?</p>-->
|
</article>
|
</section>
|
</div>
|
</div>
|
</div>
|
</template>
|
|
<script>
|
import vU from "com/upload/upload1";
|
export default {
|
props: {
|
item: {
|
type: Object,
|
default: () => {
|
return {};
|
}
|
},
|
door: {
|
type: Object,
|
default: () => {
|
return {};
|
}
|
},
|
doorNext: {
|
type: Object,
|
default: () => {
|
return {};
|
}
|
}
|
},
|
components: { vU },
|
data() {
|
return {
|
detail: {},
|
text: "",
|
a1: "1",
|
a2: "1",
|
a3: "5", //内容治质量
|
rewardNum: "",
|
feedback: "",
|
government: "1",
|
show: false,
|
images: [],
|
handlerList: [],
|
assignor: "",
|
num: 0,
|
detailId: [],
|
isEscalation: "3",
|
personnelList: [
|
{
|
name: "后台用户",
|
type: 1,
|
index: 0,
|
checked: true,
|
value: "",
|
options: []
|
},
|
{
|
name: "党员",
|
type: 2,
|
index: 1,
|
checked: false,
|
value: "",
|
options: []
|
},
|
{
|
name: "社工",
|
type: 4,
|
index: 2,
|
checked: false,
|
value: "",
|
options: []
|
},
|
{
|
name: "四长四员",
|
type: 5,
|
index: 2,
|
checked: false,
|
value: "",
|
options: []
|
}
|
],
|
addType: "1"
|
};
|
},
|
watch: {
|
a3: {
|
//切换内容质量
|
handler(v) {
|
console.log(v);
|
this.setRewardNum(v);
|
},
|
deep: true
|
},
|
item: {
|
handler() {
|
this.setItem();
|
},
|
deep: true
|
},
|
door: {
|
handler(n) {
|
if (n.r) {
|
this.sub(n.t);
|
}
|
},
|
deep: true
|
},
|
doorNext: {
|
handler(n) {
|
if (n.r) {
|
this.next(n.t);
|
}
|
},
|
deep: true
|
},
|
images: {
|
handler(n) {
|
if (!n.length) {
|
this.show = false;
|
}
|
},
|
deep: true
|
}
|
},
|
|
mounted() {
|
this.setItem();
|
this.distribution();
|
},
|
|
methods: {
|
setRewardNum(v) {
|
if (this.detail.easyPhotoActivityVO) {
|
let obj = {
|
"1": this.detail.easyPhotoActivityVO.goodReward || 0,
|
"2": this.detail.easyPhotoActivityVO.excellentReward || 0,
|
"3": this.detail.easyPhotoActivityVO.ordinaryReward || 0,
|
"4": this.detail.easyPhotoActivityVO.commonlyReward || 0
|
};
|
this.rewardNum = obj[v];
|
}
|
},
|
|
//分配人
|
distribution() {
|
this.$api.get("communityactivity/easyphoto/user/list", {}, e => {
|
this.handlerList = e.map(d => {
|
return {
|
label: d.name,
|
value: d.userId
|
};
|
});
|
});
|
},
|
|
del(i) {
|
this.images = this.images.filter(k => {
|
return k.pic !== i.pic && k.id !== i.id;
|
});
|
},
|
|
onImage(v) {
|
this.images.push({ pic: v, id: Date.now() });
|
},
|
|
add() {
|
this.show = true;
|
},
|
|
escalationClick(e) {
|
//isEscalation 1,城管 2.大人 3暂不上报
|
if (this.isEscalation == "1") {
|
this.detail.isReportUrban = 1; //城管
|
this.detail.isReportDpc = 0; //城管
|
} else if (this.isEscalation == "2") {
|
this.detail.isReportUrban = 0; //城管
|
this.detail.isReportDpc = 1; //城管
|
} else {
|
this.detail.isReportUrban = 0; //城管
|
this.detail.isReportDpc = 0; //城管
|
}
|
|
console.log(this.isEscalation);
|
},
|
|
// 查看大图
|
onScaleImage(j) {
|
let list = (this.detail.photoPathList || "").split(",").filter(k => {
|
return k !== "";
|
});
|
this.$store.dispatch("setImage", {
|
time: Date.now(),
|
pic: list[j],
|
list,
|
tool: true
|
});
|
},
|
|
onClose(type) {
|
this.$nextTick(() => {
|
this.$store.dispatch("setFixed", {
|
event: "del",
|
type: type,
|
time: Date.now()
|
});
|
this.$store.dispatch("setPageReset", "/act_clap");
|
});
|
},
|
|
sub(type) {
|
if (this.detailId.length < 0) {
|
this.onClose(type);
|
return void 0;
|
}
|
|
if (!this.detail.isPublicity) {
|
return demo.toast("请选择是否完成公示");
|
}
|
if (!this.a3) {
|
return demo.toast("请选择内容质量");
|
}
|
if (this.isEscalation == "") {
|
return demo.toast("请选择事件上报");
|
}
|
// if(this.detail.isReportUrban == '0' && !this.detail.transferReason) {
|
// return demo.toast("请输入备注")
|
// }
|
// if(this.detail.isReportUrban == '0' && !this.assignor) {
|
// return demo.toast("请选择分配处理人")
|
// }
|
let handleList = [];
|
if (this.isEscalation == "3") {
|
for (let i = 0; i < this.personnelList.length; i++) {
|
const item = this.personnelList[i];
|
if (item.checked) {
|
if (!item.value) {
|
demo.toast(`请分配${item.name}`);
|
return void 0;
|
}
|
handleList.push({
|
userId: item.value,
|
type: item.type
|
});
|
}
|
}
|
}
|
let o = {
|
handleList,
|
id: this.detail.id,
|
isPublicity: this.detail.isPublicity,
|
activityType: this.a3,
|
isReportUrban: this.detail.isReportUrban,
|
transferReason: this.detail.transferReason,
|
handlerId: this.assignor,
|
type: "1",
|
isReportDpc: this.detail.isReportDpc,
|
addType:this.addType
|
};
|
this.$api.put("communityactivity/puteasyphoto", o, () => {
|
demo.toast("处理成功");
|
this.assignor = "";
|
this.a3 = "5";
|
this.num++;
|
this.getDetail();
|
this.$store.dispatch("setPageReset", "/act_clap");
|
});
|
},
|
|
//点击下一条
|
next(type) {
|
if (this.num < this.detailId.length - 1) {
|
this.num = this.num + 1;
|
this.getDetail();
|
} else {
|
this.onClose(type);
|
}
|
},
|
|
getDetail() {
|
this.$api.get(
|
"communityactivity/easyphoto",
|
{ id: this.detailId[this.num] },
|
e => {
|
this.detail = e;
|
this.setRewardNum(this.a3);
|
}
|
);
|
},
|
|
setItem() {
|
this.personnelList.map((item, index) => {
|
this.getSelect(item);
|
});
|
|
this.$api.get("communityactivity/easyphoto/noHandle/list", {}, e => {
|
this.detailId = e;
|
if (this.detailId) {
|
this.getDetails();
|
}
|
this.setRewardNum(this.a3);
|
});
|
},
|
getSelect(item) {
|
this.$api.get(
|
"communityactivity/wish/handle/list",
|
{ type: item.type },
|
e => {
|
this.loading = false;
|
this.options = e.data.map(k => {
|
return { label: k.name, value: k.userId };
|
});
|
this.personnelList[item.index].options = this.options;
|
}
|
);
|
},
|
getDetails() {
|
this.$api.get(
|
"communityactivity/easyphoto",
|
{ id: this.detailId[0] },
|
e => {
|
this.detail = e;
|
this.setRewardNum(this.a3);
|
}
|
);
|
}
|
}
|
};
|
</script>
|
<style lang="less" scoped>
|
.titles {
|
font-size: 14px;
|
color: #409eff;
|
padding-left: 20px;
|
}
|
.custom-select {
|
width: 150px;
|
}
|
.w-width {
|
display: inline-block;
|
width: 85px;
|
font-size: 14px;
|
line-height: 22px;
|
color: #222;
|
text-align: right;
|
}
|
.marin-t {
|
margin-left: 85px;
|
}
|
.clap_examine {
|
.i-width {
|
width: 336px;
|
}
|
p {
|
font-size: 14px;
|
line-height: 22px;
|
color: #222;
|
margin-bottom: 10px;
|
padding-left: 10px;
|
}
|
.tishi {
|
font-size: 13px;
|
color: #888;
|
line-height: 30px;
|
padding-left: 15px;
|
}
|
.f-size {
|
font-size: 13px;
|
cursor: pointer;
|
}
|
.bottom-line {
|
padding-top: 20px;
|
}
|
.el-radio {
|
// width: 100px;
|
}
|
textarea.m_inp {
|
resize: none;
|
margin-bottom: 5px;
|
}
|
.input-text {
|
width: 340px !important;
|
height: auto;
|
}
|
section {
|
display: flex;
|
margin-bottom: 5px;
|
.label {
|
width: 100px;
|
}
|
article {
|
width: calc(~"100% - 100px");
|
}
|
}
|
.image {
|
flex-wrap: wrap;
|
box-sizing: border-box;
|
padding: 0 15px;
|
img {
|
display: block;
|
width: 78px;
|
height: 66px;
|
margin: 0 8px 8px 0;
|
background-color: #eee;
|
}
|
}
|
}
|
.image {
|
flex-wrap: wrap;
|
box-sizing: border-box;
|
padding: 0 15px;
|
.img {
|
display: block;
|
width: 78px;
|
height: 66px;
|
line-height: 66px;
|
text-align: center;
|
margin: 2px 12px 12px 0;
|
background-color: #eee;
|
border-radius: 5px;
|
position: relative;
|
color: #999;
|
img {
|
display: block;
|
width: 100%;
|
height: 100%;
|
border-radius: 5px;
|
cursor: pointer;
|
}
|
.del {
|
position: absolute;
|
right: -8px;
|
top: -8px;
|
width: 16px;
|
height: 16px;
|
color: #fff;
|
background-color: tomato;
|
border-radius: 50%;
|
cursor: pointer;
|
}
|
.add {
|
display: block;
|
height: 100%;
|
cursor: pointer;
|
line-height: 66px;
|
font-size: 25px;
|
color: #999;
|
}
|
}
|
}
|
</style>
|