af0a4a94 by renchao@pashanhoo.com
2 parents 431e3d7e b09ca2e0
/*
* @Description: 引入公共组件
* @Autor: renchao
* @LastEditTime: 2023-04-10 11:16:54
* @LastEditTime: 2023-04-25 15:18:20
*/
import dialogBox from '@/components/DialogBox/dialogBox.vue'
import dialogBox from '@/components/dialogBox/dialogBox.vue'
import LbTable from '@/components/LbTable/lb-table.vue'
import Theme from '@/components/Theme/theme.vue'
import Popup from '@/components/Popup/index'
......
......@@ -53,219 +53,214 @@
</el-select>
<el-table :data="taskCommentList" size="mini" border header-cell-class-name="table-header-gray">
<el-table-column label="序号" header-align="center" align="center" type="index" width="55px" />
<el-table-column label="候选办理" prop="candidate" minWidth="150" align="center" />
<el-table-column label="实际办理" prop="assigneeName" minWidth="140" align="center" />
<el-table-column label="处理时间" prop="createTime" width="160" align="center" />
<el-table-column label="办结时间" prop="finishTime" width="160" align="center" />
<el-table-column label="耗时" prop="duration" minWidth="100px" align="center" />
<el-table-column label="操作类型" align="center">
<el-table-column label="环节名称" prop="candidate" minWidth="150px" align="center" />
<el-table-column label="办理人" prop="assigneeName" minWidth="100px" align="center" />
<el-table-column label="处理时间" prop="createTime" width="140px" align="center" />
<el-table-column label="办结时间" prop="finishTime" width="140px" align="center" />
<el-table-column label="操作方式" align="center">
</el-table-column>
</el-table>
</div>
</div>
</template>
<script>
import '@/styles/package/theme/index.scss'
import BpmnViewer from 'bpmn-js/lib/Viewer'
import MoveCanvasModule from 'diagram-js/lib/navigation/movecanvas'
export default {
props: {
formData: {
type: Object,
default: {}
}
},
data () {
return {
dlgTitle: undefined,
defaultZoom: 1,
// 是否正在加载流程图
isLoading: true,
bpmnViewer: undefined,
// 已完成流程元素
processNodeInfo: undefined,
// 当前任务id
selectTaskId: undefined,
// 任务节点审批记录
taskCommentList: [],
// 已完成任务悬浮延迟Timer
hoverTimer: null,
// 下拉
selectValue: '',
selectOptions: []
}
},
created () {
this.$nextTick(() => {
this.importXML(this.formData.xml)
this.setProcessStatus(this.formData.finishedInfo);
})
},
destroyed () {
this.clearViewer()
},
methods: {
processReZoom () {
this.defaultZoom = 1
this.bpmnViewer.get('canvas').zoom('fit-viewport', 'auto')
},
processZoomIn (zoomStep = 0.1) {
const newZoom = Math.floor(this.defaultZoom * 100 + zoomStep * 100) / 100
if (newZoom > 4) {
throw new Error('[Process Designer Warn ]: The zoom ratio cannot be greater than 4')
import '@/styles/package/theme/index.scss'
import BpmnViewer from 'bpmn-js/lib/Viewer'
import MoveCanvasModule from 'diagram-js/lib/navigation/movecanvas'
export default {
props: {
formData: {
type: Object,
default: {}
}
this.defaultZoom = newZoom
this.bpmnViewer.get('canvas').zoom(this.defaultZoom)
},
processZoomOut (zoomStep = 0.1) {
const newZoom = Math.floor(this.defaultZoom * 100 - zoomStep * 100) / 100
if (newZoom < 0.2) {
throw new Error('[Process Designer Warn ]: The zoom ratio cannot be scss than 0.2')
data () {
return {
dlgTitle: undefined,
defaultZoom: 1,
// 是否正在加载流程图
isLoading: true,
bpmnViewer: undefined,
// 已完成流程元素
processNodeInfo: undefined,
// 当前任务id
selectTaskId: undefined,
// 任务节点审批记录
taskCommentList: [],
// 已完成任务悬浮延迟Timer
hoverTimer: null,
// 下拉
selectValue: '',
selectOptions: []
}
this.defaultZoom = newZoom
this.bpmnViewer.get('canvas').zoom(this.defaultZoom)
},
getOperationTagType (type) {
return 'success'
},
// 流程图预览清空
clearViewer (a) {
if (this.$refs.processCanvas) {
this.$refs.processCanvas.innerHTML = ''
}
if (this.bpmnViewer) {
this.bpmnViewer.destroy()
}
this.bpmnViewer = null
created () {
this.$nextTick(() => {
this.importXML(this.formData.xml)
this.setProcessStatus(this.formData.finishedInfo);
})
},
// 添加自定义箭头
addCustomDefs () {
const canvas = this.bpmnViewer.get('canvas')
const svg = canvas._svg
const customSuccessDefs = this.$refs.customSuccessDefs
const customFailDefs = this.$refs.customFailDefs
svg.appendChild(customSuccessDefs)
svg.appendChild(customFailDefs)
destroyed () {
this.clearViewer()
},
// 任务悬浮弹窗
onSelectElement (element) {
this.selectTaskId = undefined
this.dlgTitle = undefined
methods: {
processReZoom () {
this.defaultZoom = 1
this.bpmnViewer.get('canvas').zoom('fit-viewport', 'auto')
},
processZoomIn (zoomStep = 0.1) {
const newZoom = Math.floor(this.defaultZoom * 100 + zoomStep * 100) / 100
if (newZoom > 4) {
throw new Error('[Process Designer Warn ]: The zoom ratio cannot be greater than 4')
}
this.defaultZoom = newZoom
this.bpmnViewer.get('canvas').zoom(this.defaultZoom)
},
processZoomOut (zoomStep = 0.1) {
const newZoom = Math.floor(this.defaultZoom * 100 - zoomStep * 100) / 100
if (newZoom < 0.2) {
throw new Error('[Process Designer Warn ]: The zoom ratio cannot be scss than 0.2')
}
this.defaultZoom = newZoom
this.bpmnViewer.get('canvas').zoom(this.defaultZoom)
},
getOperationTagType (type) {
return 'success'
},
// 流程图预览清空
clearViewer (a) {
if (this.$refs.processCanvas) {
this.$refs.processCanvas.innerHTML = ''
}
if (this.bpmnViewer) {
this.bpmnViewer.destroy()
}
this.bpmnViewer = null
},
// 添加自定义箭头
addCustomDefs () {
const canvas = this.bpmnViewer.get('canvas')
const svg = canvas._svg
const customSuccessDefs = this.$refs.customSuccessDefs
const customFailDefs = this.$refs.customFailDefs
svg.appendChild(customSuccessDefs)
svg.appendChild(customFailDefs)
},
// 任务悬浮弹窗
onSelectElement (element) {
this.selectTaskId = undefined
this.dlgTitle = undefined
if (this.processNodeInfo == null || this.processNodeInfo.finishedTaskSet == null) return
if (this.processNodeInfo == null || this.processNodeInfo.finishedTaskSet == null) return
if (element == null || this.processNodeInfo.finishedTaskSet.indexOf(element.id) === -1) {
return
}
if (element == null || this.processNodeInfo.finishedTaskSet.indexOf(element.id) === -1) {
return
}
this.selectTaskId = element.id
this.dlgTitle = element.businessObject ? element.businessObject.name : undefined
// 计算当前悬浮任务审批记录,如果记录为空不显示弹窗
this.taskCommentList = (this.formData.allCommentList || []).filter(item => {
return item.taskDefKey === this.selectTaskId
})
},
// 下拉列表切换
handleSelect (val) {
this.taskCommentList = (this.formData.allCommentList || []).filter(item => {
return item.taskDefKey === val
})
},
// 显示流程图
async importXML (xml) {
let xmlData = this.$x2js.xml2js(xml).definitions.process;
this.selectOptions = xmlData.userTask.map(item => {
return { value: item._id, label: item._name }
})
this.selectOptions = [{ value: xmlData.startEvent._id, label: '浏览记录' }, ...this.selectOptions]
this.selectOptions = this.selectOptions.map(item => {
if (this.formData.finishedInfo.finishedTaskSet.includes(item.value)) {
return item
this.selectTaskId = element.id
this.dlgTitle = element.businessObject ? element.businessObject.name : undefined
// 计算当前悬浮任务审批记录,如果记录为空不显示弹窗
this.taskCommentList = (this.formData.allCommentList || []).filter(item => {
return item.taskDefKey === this.selectTaskId
})
},
// 下拉列表切换
handleSelect (val) {
this.taskCommentList = (this.formData.allCommentList || []).filter(item => {
return item.taskDefKey === val
})
},
// 显示流程图
async importXML (xml) {
let xmlData = this.$x2js.xml2js(xml).definitions.process;
this.selectOptions = xmlData.userTask.map(item => {
return { value: item._id, label: item._name }
})
this.selectOptions = [{ value: xmlData.startEvent._id, label: '浏览记录' }, ...this.selectOptions]
this.selectOptions = this.selectOptions.map(item => {
if (this.formData.finishedInfo.finishedTaskSet.includes(item.value)) {
return item
}
}).filter(Boolean);
this.selectValue = xmlData.startEvent._id
this.clearViewer('a')
if (xml != null && xml !== '') {
try {
this.bpmnViewer = new BpmnViewer({
additionalModules: [
// 移动整个画布
MoveCanvasModule
],
container: this.$refs.processCanvas
})
// 任务节点悬浮事件
this.bpmnViewer.on('element.click', ({ element }) => {
this.onSelectElement(element)
})
await this.bpmnViewer.importXML(xml)
this.isLoading = true
this.addCustomDefs()
} catch (e) {
this.clearViewer('b')
} finally {
this.isLoading = false
this.setProcessStatus(this.processNodeInfo)
this.$nextTick(() => {
this.processReZoom()
})
}
}
}).filter(Boolean);
this.selectValue = xmlData.startEvent._id
this.clearViewer('a')
if (xml != null && xml !== '') {
try {
this.bpmnViewer = new BpmnViewer({
additionalModules: [
// 移动整个画布
MoveCanvasModule,
],
container: this.$refs.processCanvas
})
// 任务节点悬浮事件
this.bpmnViewer.on('element.click', ({ element }) => {
this.onSelectElement(element)
})
await this.bpmnViewer.importXML(xml)
this.isLoading = true
this.addCustomDefs()
} catch (e) {
this.clearViewer('b')
} finally {
this.isLoading = false
this.setProcessStatus(this.processNodeInfo)
this.$nextTick(() => {
this.processReZoom()
},
// 设置流程图元素状态
setProcessStatus (processNodeInfo) {
this.processNodeInfo = processNodeInfo
if (this.isLoading || this.processNodeInfo == null || this.bpmnViewer == null) return
const { finishedTaskSet, rejectedTaskSet, unfinishedTaskSet, finishedSequenceFlowSet } = this.processNodeInfo
const canvas = this.bpmnViewer.get('canvas')
const elementRegistry = this.bpmnViewer.get('elementRegistry')
if (Array.isArray(finishedSequenceFlowSet)) {
finishedSequenceFlowSet.forEach(item => {
if (item != null) {
canvas.addMarker(item, 'success')
const element = elementRegistry.get(item)
const conditionExpression = element.businessObject.conditionExpression
if (conditionExpression) {
canvas.addMarker(item, 'condition-expression')
}
}
})
}
}
},
// 设置流程图元素状态
setProcessStatus (processNodeInfo) {
this.processNodeInfo = processNodeInfo
if (this.isLoading || this.processNodeInfo == null || this.bpmnViewer == null) return
const { finishedTaskSet, rejectedTaskSet, unfinishedTaskSet, finishedSequenceFlowSet } = this.processNodeInfo
const canvas = this.bpmnViewer.get('canvas')
const elementRegistry = this.bpmnViewer.get('elementRegistry')
if (Array.isArray(finishedSequenceFlowSet)) {
finishedSequenceFlowSet.forEach(item => {
if (item != null) {
canvas.addMarker(item, 'success')
const element = elementRegistry.get(item)
const conditionExpression = element.businessObject.conditionExpression
if (conditionExpression) {
canvas.addMarker(item, 'condition-expression')
}
}
})
}
if (Array.isArray(finishedTaskSet)) {
finishedTaskSet.forEach(item => canvas.addMarker(item, 'success'))
console.log(finishedTaskSet, 'finishedTaskSet');
}
if (Array.isArray(unfinishedTaskSet)) {
unfinishedTaskSet.forEach(item => canvas.addMarker(item, 'primary'))
}
if (Array.isArray(rejectedTaskSet)) {
rejectedTaskSet.forEach(item => {
if (item != null) {
const element = elementRegistry.get(item)
if (element.type.includes('Task')) {
canvas.addMarker(item, 'danger')
} else {
canvas.addMarker(item, 'warning')
if (Array.isArray(finishedTaskSet)) {
finishedTaskSet.forEach(item => canvas.addMarker(item, 'success'))
console.log(finishedTaskSet, 'finishedTaskSet');
}
if (Array.isArray(unfinishedTaskSet)) {
unfinishedTaskSet.forEach(item => canvas.addMarker(item, 'primary'))
}
if (Array.isArray(rejectedTaskSet)) {
rejectedTaskSet.forEach(item => {
if (item != null) {
const element = elementRegistry.get(item)
if (element.type.includes('Task')) {
canvas.addMarker(item, 'danger')
} else {
canvas.addMarker(item, 'warning')
}
}
}
})
})
}
}
}
}
}
</script>
<style scoped lang="scss">
/deep/.bjs-powered-by {
display: none !important;
}
.information-list {
height: 150px;
margin-top: 10px;
.information-list {
height: 150px;
margin-top: 10px;
p {
font-size: 16px;
line-height: 24px;
p {
font-size: 16px;
line-height: 24px;
}
}
}
</style>
\ No newline at end of file
</style>
......
......@@ -70,214 +70,216 @@
</div>
</template>
<script>
import { getSlsqBdcqzList, invalidCertificate, getSzRecordList } from "@/api/bdcqz.js";
import bdcqzPrint from "./zsdy.vue";
import { popupDialog } from "@/utils/popup.js";
export default {
components: { bdcqzPrint },
props: {},
data () {
return {
dialog: false,
tableData: [],
bdcqzlx: 1,
bdcqz: {},
zfyy: "",
invalidDiglog: false,
bsmSz: "",
};
},
created () {
this.list();
},
methods: {
//初始化列表
list () {
var bsmSlsq = this.$route.query.bsmSlsq;
getSlsqBdcqzList({ bsmSlsq: bsmSlsq }).then((res) => {
if (res.code === 200) {
this.tableData = res.result;
if (res.result) {
this.bdcqz = res.result[0];
}
}
});
import { getSlsqBdcqzList, invalidCertificate, getSzRecordList } from "@/api/bdcqz.js";
import bdcqzPrint from "./zsdy.vue";
import { popupDialog } from "@/utils/popup.js";
export default {
components: { bdcqzPrint },
props: {},
data () {
return {
dialog: false,
tableData: [],
bdcqzlx: 1,
bdcqz: {},
zfyy: "",
invalidDiglog: false,
bsmSz: "",
bsmBdcqz: ""
};
},
created () {
this.list();
},
//打开证书预览弹窗
openZsylDialog (item, type) {
let that = this;
if (type == 1) {
//证书预览
this.$popup("证书预览", "workflow/components/zsyl", {
height: "630px",
width: "800px",
formData: {
bdcqz: item,
methods: {
//初始化列表
list () {
var bsmSlsq = this.$route.query.bsmSlsq;
getSlsqBdcqzList({ bsmSlsq: bsmSlsq }).then((res) => {
if (res.code === 200) {
this.tableData = res.result;
if (res.result) {
this.bdcqz = res.result[0];
}
}
});
} else {
this.$nextTick(() => {
this.dialog = true;
this.bdcqz = item;
this.$refs.bdcqzPrint.getBdcqzPreview();
})
//证书打印
// this.$popup("证书打印", "workflow/components/zsdy", {
// height: "700px",
// width: "800px",
// formData: {
// bsmSlsq: this.bsmSlsq,
// bdcqz: item,
// },
// btnShow: true,
// confirmText: "打印证书",
// cancel: () => {
// console.log("取消回调");
// },
// confirm: () => {
// that.list();
// },
// });
}
},
//再次打印
openInvalidDiglog (item) {
this.bsmSz = item.bsmSz;
this.invalidDiglog = true;
},
closeInvalidDiglog () {
this.invalidDiglog = false;
this.bsmSz = "";
this.zfyy = "";
},
//作废缮证信息
confirmInvalid () {
invalidCertificate({ bsmSz: this.bsmSz, zfyy: this.zfyy }).then((res) => {
if (res.code === 200) {
this.list();
this.$message.success("作废成功");
this.invalidDiglog = false;
this.openZsylDialog(this.bdcqz);
},
//打开证书预览弹窗
openZsylDialog (item, type) {
let that = this;
if (type == 1) {
//证书预览
this.$popup("证书预览", "workflow/components/zsyl", {
height: "630px",
width: "800px",
formData: {
bdcqz: item,
}
});
} else {
this.$message.error(res.message);
this.$nextTick(() => {
this.dialog = true;
this.bdcqz = item;
this.$refs.bdcqzPrint.getBdcqzPreview();
})
//证书打印
// this.$popup("证书打印", "workflow/components/zsdy", {
// height: "700px",
// width: "800px",
// formData: {
// bsmSlsq: this.bsmSlsq,
// bdcqz: item,
// },
// btnShow: true,
// confirmText: "打印证书",
// cancel: () => {
// console.log("取消回调");
// },
// confirm: () => {
// that.list();
// },
// });
}
});
},
//再次打印
openInvalidDiglog (item) {
this.bsmSz = item.bsmSz;
this.invalidDiglog = true;
this.bsmBdcqz = item.bsmBdcqz
},
closeInvalidDiglog () {
this.invalidDiglog = false;
this.bsmSz = "";
this.zfyy = "";
},
//作废缮证信息
confirmInvalid () {
invalidCertificate({ bsmbdcqz: this.bsmBdcqz, zfyy: this.zfyy }).then((res) => {
if (res.code === 200) {
this.list();
this.$message.success("作废成功");
this.invalidDiglog = false;
this.openZsylDialog(this.bdcqz);
} else {
this.$message.error(res.message);
}
});
},
openRecordPop (item) {
popupDialog("缮证记录", "workflow/components/szRecord", { bsmBdcqz: item.bsmBdcqz }, '50%')
}
},
openRecordPop (item) {
popupDialog("缮证记录", "workflow/components/szRecord", { bsmBdcqz: item.bsmBdcqz }, '50%')
}
},
};
};
</script>
<style scoped lang='scss'>
@import "~@/styles/public.scss";
@import "~@/styles/public.scss";
.szxx {
box-sizing: border-box;
padding-right: 15px;
width: 100%;
height: 600px;
overflow-y: scroll;
.szxx {
box-sizing: border-box;
padding-right: 15px;
width: 100%;
height: 600px;
overflow-y: scroll;
.box-card {
float: left;
width: 300px;
margin-top: 10px;
margin-right: 10px;
.box-card {
float: left;
width: 300px;
margin-top: 10px;
margin-right: 10px;
.szxx_body {
height: 240px;
.szxx_body {
height: 240px;
}
}
}
}
.szxx_header {
color: #ffffff;
font-weight: bolder;
font-size: 16px;
.szxx_header {
color: #ffffff;
font-weight: bolder;
font-size: 16px;
.header_type {
display: flex;
justify-content: center;
align-content: center;
.header_type {
display: flex;
justify-content: center;
align-content: center;
}
.header_text {
text-align: center;
margin-top: 10px;
line-height: 30px;
}
}
.header_text {
text-align: center;
margin-top: 10px;
line-height: 30px;
.top_line {
border-top: 2px solid rgb(222, 222, 222);
}
}
.top_line {
border-top: 2px solid rgb(222, 222, 222);
}
.text {
margin-bottom: 10px;
text-align: center;
}
.text {
margin-bottom: 10px;
text-align: center;
}
.color_iray {
color: rgb(153, 153, 153);
}
.color_iray {
color: rgb(153, 153, 153);
}
.color_red {
color: rgb(255, 89, 24);
}
.color_red {
color: rgb(255, 89, 24);
}
.middle_margin {
margin-bottom: 10px;
}
.middle_margin {
margin-bottom: 10px;
}
.operation_button {
border: 1px solid rgb(0, 121, 254);
padding: 5px;
text-align: center;
}
.operation_button {
border: 1px solid rgb(0, 121, 254);
padding: 5px;
text-align: center;
}
.card_padding {
padding-top: 8px;
}
.card_padding {
padding-top: 8px;
}
.invalid-diglog {
padding-bottom: 20px;
font-size: 16px;
font-weight: bold;
color: rgb(99, 99, 99);
.invalid-diglog {
padding-bottom: 20px;
font-size: 16px;
font-weight: bold;
color: rgb(99, 99, 99);
.invalid-title {
display: flex;
align-content: center;
.invalid-title {
display: flex;
align-content: center;
.invalid-icon {
color: rgb(254, 148, 0);
font-size: 34px;
margin-right: 10px;
}
.invalid-icon {
color: rgb(254, 148, 0);
font-size: 34px;
margin-right: 10px;
.invalid-body {
line-height: 40px;
margin-bottom: 10px;
}
}
.invalid-body {
line-height: 40px;
.invalid-reson {
margin-bottom: 10px;
}
}
.invalid-reson {
margin-bottom: 10px;
.dialog-footer {
margin-top: 10px;
display: flex;
justify-content: flex-end;
}
}
.dialog-footer {
margin-top: 10px;
display: flex;
justify-content: flex-end;
/deep/.el-card__header {
background-color: rgb(198, 67, 83);
}
}
/deep/.el-card__header {
background-color: rgb(198, 67, 83);
}
/deep/.el-card__body {
padding: 0px;
}
</style>
\ No newline at end of file
/deep/.el-card__body {
padding: 0px;
}
</style>
......
<template>
<dialogBox title="不动产权证领取" width="85%" @closeDialog="closeDialog" @submitForm="handleSubmit" v-model="value" >
<div class="zslq">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px">
<el-row>
<el-col :span="8">
<el-form-item label="发证人姓名">
<el-input v-model="ruleForm.fzrxm" disabled></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="发证时间">
<el-input v-model="ruleForm.fzrxm" disabled></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="发证数量">
<el-input v-model="ruleForm.fzsl" disabled></el-input>
</el-form-item>
</el-col>
</el-row>
<dialogBox title="不动产权证领取" width="85%" @closeDialog="closeDialog" @submitForm="handleSubmit" v-model="value">
<div class="zslq">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px">
<el-row>
<el-col :span="8">
<el-form-item label="发证人姓名">
<el-input v-model="ruleForm.fzrmc" disabled></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="发证时间">
<el-input v-model="ruleForm.fzsj" disabled></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="发证数量">
<el-input v-model="ruleForm.fzsl" disabled></el-input>
</el-form-item>
</el-col>
</el-row>
<lb-table border :column="tableData.columns" :data="tableData.data" :pagination="false" :heightNum="600">
</lb-table>
<el-row>
<el-col :span="6">
<el-form-item label="领证人" prop="lzrxm">
<el-input v-model="ruleForm.lzrxm"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="证件类型" prop="lzrzjlb">
<el-select v-model="ruleForm.lzrzjlb" filterable clearable placeholder="请选择">
<el-option v-for="item in zjzlData" :key="item.dcode" :label="item.dname" :value="item.dcode">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="证件号" prop="lzrzjh">
<el-input v-model="ruleForm.lzrzjh"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="领证人电话" prop="lzrdh">
<el-input v-model="ruleForm.lzrdh"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</dialogBox>
<lb-table border :column="tableData.columns" :data="tableData.data" :pagination="false" :heightNum="600">
</lb-table>
<el-row>
<el-col :span="6">
<el-form-item label="领证人" prop="lzrxm">
<el-input v-model="ruleForm.lzrxm"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="证件类型" prop="lzrzjlb">
<el-select v-model="ruleForm.lzrzjlb" filterable clearable placeholder="请选择">
<el-option v-for="item in zjzlData" :key="item.dcode" :label="item.dname" :value="item.dcode">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="证件号" prop="lzrzjh">
<el-input v-model="ruleForm.lzrzjh"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="领证人电话" prop="lzrdh">
<el-input v-model="ruleForm.lzrdh"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</dialogBox>
</template>
<script>
import store from '@/store/index.js'
import table from "@/utils/mixin/table";
import { getUnclaimedBdcqz, issueCertificate } from "@/api/bdcqz.js";
import { datas } from "../javascript/fzxxdata";
export default {
props: {
value: { type: Boolean, default: true }
},
mixins: [table],
data () {
return {
zjzlData: store.getters.dictData['A30'],
ruleForm: {
fzrxm: '',
fzsj: '',
fzsl: '',
bdcqzList: [],
lzrxm: '',
lzrzjlb: '',
lzrzjh: '',
lzrdh: ''
},
rules: {
lzrxm: [
{ required: true, message: '请输入领证人', trigger: 'blur' }
],
lzrzjlb: [
{ required: true, message: '请选择证件类型', trigger: 'change' }
],
lzrzjh: [
{ required: true, message: '请输入证件号', trigger: 'blur' }
],
lzrdh: [
{ required: true, message: '请输入电话号码', trigger: 'blur' }
],
},
tableData: {
total: 0,
columns: datas.columns().lzgrid,
data: [],
},
}
},
watch: {
value (val) {
if (val) {
this.loadGrid();
}
import store from '@/store/index.js'
import table from "@/utils/mixin/table";
import { getUnclaimedBdcqz, issueCertificate } from "@/api/bdcqz.js";
import { datas } from "../javascript/fzxxdata";
export default {
props: {
value: { type: Boolean, default: true }
},
},
methods: {
//列表初始化
loadGrid () {
getUnclaimedBdcqz({ bsmSlsq: this.$route.query.bsmSlsq }).then(res => {
if (res.code === 200) {
this.tableData.data = res.result;
this.ruleForm.bdcqzList = res.result;
}
})
mixins: [table],
data () {
return {
zjzlData: store.getters.dictData['A30'],
ruleForm: {
fzrmc: '',
fzsj: '',
fzsl: '',
bdcqzList: [],
lzrxm: '',
lzrzjlb: '',
lzrzjh: '',
lzrdh: ''
},
rules: {
lzrxm: [
{ required: true, message: '请输入领证人', trigger: 'blur' }
],
lzrzjlb: [
{ required: true, message: '请选择证件类型', trigger: 'change' }
],
lzrzjh: [
{ required: true, message: '请输入证件号', trigger: 'blur' }
],
lzrdh: [
{ required: true, message: '请输入电话号码', trigger: 'blur' }
],
},
tableData: {
total: 0,
columns: datas.columns().lzgrid,
data: [],
},
}
},
handleSubmit () {
this.$refs.ruleForm.validate(valid => {
if (valid) {
issueCertificate(this.ruleForm).then(res => {
if (res.code == 200) {
this.$message.success('保存成功');
this.$parent.queryClick();
this.$emit("input", false);
} else {
this.$message.error(res.message)
}
})
} else {
this.$message.error("请填写领取人信息!")
return false;
watch: {
value (val) {
if (val) {
this.loadGrid();
}
});
},
closeDialog () {
this.$emit("input", false);
},
},
methods: {
//列表初始化
loadGrid () {
getUnclaimedBdcqz({ bsmSlsq: this.$route.query.bsmSlsq }).then(res => {
if (res.code === 200) {
this.tableData.data = res.result.list;
this.ruleForm.fzrmc = res.result.fzrmc
this.ruleForm.fzsj = res.result.fzsj
this.ruleForm.fzsl = res.result.fzsl
}
})
},
handleSubmit () {
this.$refs.ruleForm.validate(valid => {
if (valid) {
issueCertificate(this.ruleForm).then(res => {
if (res.code == 200) {
this.$message.success('保存成功');
this.$parent.queryClick();
this.$emit("input", false);
} else {
this.$message.error(res.message)
}
})
} else {
this.$message.error("请填写领取人信息!")
return false;
}
});
},
closeDialog () {
this.$emit("input", false);
},
}
}
}
</script>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
@import "~@/styles/mixin.scss";
</style>
......