<template>
|
<el-main>
|
<!--实施行政强制措施审批表-->
|
<el-form :model="dataFrom" ref="dataFrom" label-width="110px" :disabled="dataFrom.registerState == '1'">
|
<el-form-item label="申请事项">
|
<el-input v-model="dataFrom.applyItem"></el-input>
|
</el-form-item>
|
<el-row>
|
<el-col :span="12">
|
<el-form-item label="案由">
|
<el-input v-model="dataFrom.casePoint"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="立案日期">
|
<el-date-picker
|
v-model="dataFrom.caseDate"
|
type="date"
|
:value-format="`yyyy-MM-dd`"
|
placeholder="选择日期"
|
style="width: 100%">
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="12">
|
<el-form-item label="当事人姓名">
|
<el-input v-model="dataFrom.litigant"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="法定代表人">
|
<el-input v-model="dataFrom.legalPerson"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="12">
|
<el-form-item label="证件名称">
|
<el-select v-model="dataFrom.litigantCert" placeholder="请选择当事人证件类型" style="width: 100%"
|
:disabled="dataFrom.registerState == '1'">
|
<el-option
|
v-for="item in cardList"
|
:key="item.value"
|
:label="item.label"
|
:value="item.value">
|
</el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="证件号码">
|
<el-input v-model="dataFrom.certNo"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="12">
|
<el-form-item label="住址">
|
<el-input v-model="dataFrom.address"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="电话">
|
<el-input v-model="dataFrom.phone"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
<el-row>
|
<el-col :span="12">
|
<el-form-item label="执行时间">
|
<el-date-picker
|
v-model="dataFrom.startTime"
|
type="date"
|
:value-format="`yyyy-MM-dd`"
|
placeholder="开始日期"
|
style="width: 100%;">
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item>
|
<span slot="label">至 </span>
|
<el-date-picker
|
v-model="dataFrom.endTime"
|
type="date"
|
:value-format="`yyyy-MM-dd`"
|
placeholder="结束日期"
|
style="width: 100%;">
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-form-item label="依据(执法清单)">
|
<el-select
|
v-model="dataFrom.powerName"
|
filterable
|
remote
|
style="width: 100%"
|
:remote-method="querySearchHandle"
|
placeholder="请选择执法清单"
|
:trigger-on-focus="false"
|
@change="handleSelectPower"
|
>
|
<el-option
|
v-for="item in powerList"
|
:key="item.id"
|
:label="item.projectName"
|
:value="item.id">
|
</el-option>
|
</el-select>
|
</el-form-item>
|
<el-row>
|
<el-col :span="12">
|
<el-form-item label="法律名称">
|
<el-select v-model="dataFrom.lawName" clearable
|
placeholder="请选择法律" style="width: 100%;" @change="handleSelectLaw">
|
<el-option
|
v-for="item in lawList"
|
:key="item.id"
|
:label="item.value"
|
:value="item.id">
|
</el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="法律条文">
|
<el-select v-model="dataFrom.lawdetailId" clearable multiple
|
placeholder="请选择法律条文" style="width: 100%;" >
|
<el-option
|
v-for="item in lawTiaoList"
|
:key="item.id"
|
:label="item.lawTiaoName"
|
:value="item.id">
|
</el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-form-item label="拟实施行政强制措施内容">
|
<el-input type="textarea" :row="2" v-model="dataFrom.reasonContent"></el-input>
|
</el-form-item>
|
|
<public-opinion ref="publicOpinion" :registerState="dataFrom.registerState"></public-opinion>
|
<WordView ref="wordInfo" :isShowYulan="showView" @cancel="cancelWord"></WordView>
|
</el-form>
|
<div style="text-align: center;">
|
<el-button v-if="dataFrom.registerState != '1'" plain @click="dataFormSubmit('0')">保存</el-button>
|
<el-button v-if="dataFrom.registerState != '1'" type="warning" plain @click="dataFormSubmit('1')">定稿</el-button>
|
<el-button type="primary" plain @click="viewVord(dataFrom)">预览</el-button>
|
<el-button type="success" plain @click="downloadWord(dataFrom)">下载</el-button>
|
</div>
|
</el-main>
|
</template>
|
|
<script>
|
import {getObj,saveObj} from '@/api/News/forceMeasures'
|
import publicOpinion from "@/views/News/publicOpinion"
|
import WordView from '@/views/News/word-view/index'
|
import moment from "moment";
|
import {remote} from "@/api/admin/dict";
|
import { getLawByPowerId, getPowerList} from "@/api/lawList/lawList";
|
|
export default {
|
name: "force_measures",
|
props: ['isShowYulan', 'id', 'processId'],
|
components: {
|
publicOpinion,
|
WordView
|
},
|
data() {
|
return {
|
showView: false,
|
dataFrom: {
|
applyItem: '',
|
casePoint: '',
|
caseDate: '',
|
litigant: '',
|
legalPerson: '',
|
litigantCert: '',
|
certNo: '',
|
address: '',
|
phone: '',
|
startTime: '',
|
endTime: '',
|
reasonContent: '',
|
powerId: '',
|
lawsId: '',
|
lawdetailId: '',
|
powerName: '',
|
lawName: '',
|
lawTiaoName: ''
|
},
|
submitLoading: false,
|
cardList: [],
|
imgSize : { //控制导出的word图片大小
|
autographOne: [120, 35],
|
autographTwo: [120, 35],
|
autographDept: [120, 35],
|
autographLegal: [120, 35],
|
autographOrgan: [120, 35]
|
},
|
powerList:[],
|
lawList:[],
|
lawTiaoList: [],
|
finalList: []
|
}
|
},
|
created() {
|
this.init()
|
},
|
methods: {
|
init() {
|
remote('document_type').then(res => {
|
this.cardList = res.data.data;
|
})
|
getObj(this.id).then((res) => {
|
if (res.data.code == 0) {
|
// 转换null为""
|
let v = res.data.data;
|
for (let attr in v) {
|
if (v[attr] == null) {
|
v[attr] = "";
|
}
|
}
|
let str = JSON.stringify(v);
|
let data = JSON.parse(str);
|
this.dataFrom = data;
|
//查询公共意见
|
this.$nextTick(() => {
|
this.$refs.publicOpinion.init(this.dataFrom.publicOpinion);
|
})
|
//查询法律
|
if (data.powerId != null && data.powerId != '') {
|
this.handleSelectPower(data.powerId).then(res => {
|
if (data.lawsId != null && data.lawsId != '') {
|
this.handleSelectLaw(data.lawsId);
|
if (v.lawdetailId != null && v.lawdetailId != "") {
|
let ids = [];
|
v.lawdetailId.split(",").forEach(o => {
|
ids.push(parseInt(o));
|
})
|
|
this.dataFrom.lawdetailId = ids;
|
}
|
}
|
}
|
);
|
}
|
}
|
});
|
},
|
dataFormSubmit(type) {
|
this.$refs['dataFrom'].validate((valid) => {
|
if (valid) {
|
let obj = this;
|
if ("1" == type) {
|
this.$confirm('保存为定稿将不能修改,是否继续?', '提示', {
|
confirmButtonText: '是',
|
cancelButtonText: '否',
|
type: 'warning'
|
}).then(function () {
|
obj.submitLoading = true;
|
obj.dataFrom.registerState = type;
|
obj.dataFrom.registerId = obj.id;
|
obj.dataFrom.processId = obj.processId;
|
if (obj.dataFrom.lawdetailId != null) {
|
obj.dataFrom.lawdetailId = obj.dataFrom.lawdetailId.toString();
|
}
|
saveObj(obj.dataFrom).then((res) => {
|
obj.submitLoading = false;
|
if (res.data.code == 0) {
|
obj.$message.success("操作成功");
|
obj.cancel();
|
}
|
})
|
})
|
} else {
|
this.submitLoading = true;
|
this.dataFrom.registerState = type;
|
this.dataFrom.registerId = obj.id;
|
this.dataFrom.processId = this.processId;
|
if(this.dataFrom.lawdetailId != null) {
|
this.dataFrom.lawdetailId = this.dataFrom.lawdetailId.toString();
|
}
|
saveObj(this.dataFrom).then((res) => {
|
this.submitLoading = false;
|
if (res.data.code == 0) {
|
this.$message.success("操作成功");
|
this.cancel();
|
this.$emit('getDataList');
|
}
|
})
|
}
|
}
|
})
|
},
|
//根据输入模糊查询执法清单,只查行政强制
|
querySearchHandle(queryString) { //模糊搜素
|
getPowerList(queryString,'1').then(res => {
|
this.powerList = res.data.data
|
})
|
},
|
//选择执法清单之后查询对应的法律
|
handleSelectPower(item) {
|
return new Promise( (resolve, reject) => {
|
this.dataFrom.powerId = item;
|
getLawByPowerId(item).then(res => {
|
this.lawList = []
|
this.finalList = res.data.data
|
this.finalList.forEach(item => {
|
this.lawList.push({
|
value: item.lawName,
|
id: item.lawId
|
})
|
})
|
resolve();
|
})
|
})
|
|
},
|
//选择法律之后显示法律的条目
|
handleSelectLaw(item) {
|
this.dataFrom.lawsId = item;
|
this.lawTiaoList = [];
|
this.dataFrom.lawdetailId = '';
|
this.finalList.forEach(e => {
|
if (e.lawId == item) {
|
this.lawTiaoList = e.contentArr;
|
return;
|
}
|
})
|
},
|
cancel() {
|
this.$emit('cancel', false)
|
},
|
cancelWord() {
|
this.showView = false;
|
},
|
viewVord(data) {
|
if(data.registerState == null || data.registerState == ""){
|
//预览前先进行保存
|
data.registerState = '0';
|
data.registerId = this.id;
|
data.processId = this.processId;
|
saveObj(data).then((res) => {
|
})
|
}
|
//↓↓↓↓↓↓以下部分根据具体业务修改↓↓↓↓↓↓
|
//格式转换
|
let wordData = this.transforData(data);
|
//↑↑↑↑↑↑以上部分根据具体业务修改↑↑↑↑↑↑
|
let arry = ['autographOne', 'autographTwo', 'autographDept', 'autographLegal', 'autographOrgan']
|
this.showView = true;
|
this.$nextTick(() => {
|
this.$refs.wordInfo.initMore(wordData, "/wordes/ssxzqzcs.docx",arry,this.imgSize);
|
})
|
},
|
downloadWord(data) {
|
if(data.registerState == null || data.registerState == ""){
|
//预览前先进行保存
|
data.registerState = '0';
|
data.registerId = this.id;
|
data.processId = this.processId;
|
saveObj(data).then((res) => {
|
})
|
}
|
let wordData = this.transforData(data);
|
let arry = ['autographOne', 'autographTwo', 'autographDept', 'autographLegal', 'autographOrgan']
|
this.$nextTick(() => {
|
this.$refs.wordInfo.exportDocMore(wordData, "/wordes/ssxzqzcs.docx", "实施行政强制措施审批表.docx",arry,this.imgSize);
|
})
|
},
|
transforData(obj) {
|
let s = JSON.stringify(obj);
|
let data = JSON.parse(s);
|
if (data.caseDate != '' && data.caseDate != null) {
|
data.caseDate = moment(data.caseDate).format('YYYY年MM月DD日');
|
}
|
if (data.startTime != '' && data.startTime != null) {
|
data.startTime = moment(data.startTime).format('YYYY年MM月DD日');
|
}
|
if (data.endTime != '' && data.endTime != null) {
|
data.endTime = moment(data.endTime).format('YYYY年MM月DD日');
|
}
|
let opinion = data.publicOpinion;
|
for (let attr in opinion) {
|
if (opinion[attr] == null) {
|
data[attr] = '';
|
} else {
|
data[attr] = opinion[attr];
|
}
|
}
|
let str = JSON.stringify(data);
|
let jsonData = JSON.parse(str);
|
data = jsonData;
|
|
if (opinion.undertakeDate != '' && opinion.undertakeDate != null) {
|
data.undertakeDate = moment(opinion.undertakeDate).format('YYYY年MM月DD日');
|
} else {
|
data.undertakeDate = ' 年 月 日'
|
}
|
if (opinion.takeDate != '' && opinion.takeDate != null) {
|
data.takeDate = moment(opinion.takeDate).format('YYYY年MM月DD日');
|
} else {
|
data.takeDate = ' 年 月 日'
|
}
|
if (opinion.legalDate != '' && opinion.legalDate != null) {
|
data.legalDate = moment(opinion.legalDate).format('YYYY年MM月DD日');
|
} else {
|
data.legalDate = ' 年 月 日'
|
}
|
if (opinion.organDate != '' && opinion.organDate != null) {
|
data.organDate = moment(opinion.organDate).format('YYYY年MM月DD日');
|
} else {
|
data.organDate = ' 年 月 日'
|
}
|
//拼接执法依据和强制措施内容
|
// data.reasonContent = "依据" + data.powerName + "的规定," + "按照《" + data.lawName + "》" + data.lawTiaoName +
|
// "对你实施以下强制措施:" + data.reasonContent;
|
return data;
|
}
|
}
|
}
|
</script>
|
|
<style scoped>
|
</style>
|