當時實現的功能是在 Table 中,每個單元格是一個 input
重點內容:
<Row>
<Col span="24">
<div style="border:1px solid #cccccc;">
<Table height="200" stripe border size="small" :columns="zxjlColumns" :data="zxjlGrid"
@on-selection-change="handleZxjlRowChange" no-data-text="無執行記錄信息">
</Table>
</div>
</Col>
</Row>
let vm = this
this.zxjlColumns = [
{
type: 'selection',
width: 60,
align: 'center'
},
{
title: '執行記錄',
key: 'zxjlzxr',
align: 'center',
render: (h, params) => {
return h('Input', {
props: {
type: 'text',
value: vm.zxjlGrid[params.index].zxjlzxr
},
on: {
'on-blur': (event) => {
vm.zxjlGrid[params.index].zxjlzxr = event.target.value
}
}
})
}
},
{
title: '執行人',
key: 'zxr',
align: 'center',
width: 180,
render: (h, params) => {
return h('Input', {
props: {
type: 'text',
value: vm.zxjlGrid[params.index].zxr
},
on: {
'on-blur': (event) => {
vm.zxjlGrid[params.index].zxr = event.target.value
}
}
})
}
},
{
title: '完成日期',
key: 'wcsj',
align: 'center',
width: 180,
render: (h, params) => {
return h('Input', {
props: {
type: 'date',
value: this.$oui.helpers.time.format(vm.zxjlGrid[params.index].wcsj, 'YYYY-MM-DD')
},
on: {
'on-blur': (event) => {
vm.zxjlGrid[params.index].wcsj = event.target.value
}
}
})
}
}
]
完整如下:
<template>
<div>
<!--申請單填報信息-->
<div>
<h3 style="border-bottom: 1px solid #cccccc;margin-bottom: 10px; ">申請單填報信息</h3>
<Form ref="jrscJbxx" :model="jrscJbxx" :label-width="110" style="width: 100%">
<Row>
<Col span="8">
<FormItem label="編號:" prop="bh">
<Input v-model="jrscJbxx.bh" readonly placeholder="自動生成"></Input>
</FormItem>
</Col>
<Col span="8">
<FormItem label="申請單位:" prop="yxdwmc">
<Input v-model="jrscJbxx.yxdwmc" readonly placeholder="請輸入"></Input>
</FormItem>
</Col>
<Col span="8">
<FormItem label="申請人:" prop="tbrmc">
<Input v-model="jrscJbxx.tbrmc" readonly placeholder="請輸入"></Input>
</FormItem>
</Col>
</Row>
<Row>
<Col span="8">
<FormItem label="運行維護部門:" prop="yxwhbm">
<Input v-model="jrscJbxx.yxwhbm" readonly placeholder="請輸入"></Input>
</FormItem>
</Col>
<Col span="8">
<FormItem label="工作負責人:" prop="gzfzrmc">
<Input v-model="jrscJbxx.gzfzrmc" readonly placeholder="請輸入"></Input>
</FormItem>
</Col>
<Col span="8">
<FormItem label="聯繫電話:" prop="lxdh">
<Input v-model="jrscJbxx.lxdh" readonly placeholder="請輸入"></Input>
</FormItem>
</Col>
</Row>
<Row>
<Col span="8">
<FormItem label="申請日期:" prop="sqrq">
<DatePicker type="date" readonly placeholder="選擇日期" v-model="jrscJbxx.sqrq" style="width: 100%"></DatePicker>
</FormItem>
</Col>
<Col span="8">
<FormItem label="計劃實施時間:" prop="jhsssj">
<DatePicker type="date" readonly placeholder="選擇日期" v-model="jrscJbxx.jhsssj" style="width: 100%"></DatePicker>
</FormItem>
</Col>
<Col span="8">
<FormItem label="變更對象:" prop="bgdx">
<Input v-model="jrscJbxx.bgdx" readonly placeholder="請輸入"></Input>
</FormItem>
</Col>
</Row>
<Row>
<Col span="8">
<FormItem label="所屬安全區:" prop="ssaqq">
<Select v-model="jrscJbxx.ssaqq" disabled placeholder="請選擇">
<Option v-for="item in ssaqq" :value="item.value" :key="item.value">{{ item.label }}</Option>
</Select>
</FormItem>
</Col>
<Col span="8">
<FormItem label="變更性質:" prop="bgxz">
<Select v-model="jrscJbxx.bgxz" disabled placeholder="請選擇">
<Option v-for="item in bgxz" :value="item.value" :key="item.value">{{ item.label }}</Option>
</Select>
</FormItem>
</Col>
<Col span="8">
<FormItem label="運行單位:" prop="yxdw2">
<Input v-model="jrscJbxx.yxdw2" readonly placeholder="請輸入"></Input>
</FormItem>
</Col>
</Row>
<Row>
<Col span="16">
<FormItem label="執行單位:" prop="zxdwmc">
<Input v-model="jrscJbxx.zxdwmc" readonly placeholder="請選擇"></Input>
</FormItem>
</Col>
<Col span="2">
<Button type="primary" disabled>選擇</Button>
</Col>
</Row>
<Row>
<Col span="24">
<FormItem label="申請理由:" prop="sqly">
<Input v-model="jrscJbxx.sqly" readonly type="textarea" :autosize="{minRows: 2,maxRows: 5}" placeholder="請輸入..."></Input>
</FormItem>
</Col>
</Row>
<Row>
<Col span="24">
<FormItem label="申請變更內容及方案:" prop="bglxjfa">
<Input v-model="jrscJbxx.bglxjfa" readonly type="textarea" :autosize="{minRows: 2,maxRows: 5}" placeholder="請輸入..."></Input>
</FormItem>
</Col>
</Row>
<Row>
<Col span="2" style="margin-left:50px;margin-top:10px;margin-bottom:20px">
附件管理:
</Col>
<Col span="19" style="margin-top:10px;margin-bottom:20px">
<OFileList :yid="yid" :gid="tbgid"></OFileList>
</Col>
</Row>
</Form>
</div>
<!--審覈信息-->
<div>
<!--申請部門審覈-->
<div>
<Row>
<Col span="24">
<h3 style="border-bottom: 1px solid #cccccc;margin: 10px 0; ">申請部門審覈</h3>
</Col>
</Row>
<Row class="row-cxtj">
<Col span="3" class="cxtj">審覈部門:</Col>
<Col span="21">
<Input readonly v-model="jrscJbxx.shbmmc"></Input>
</Col>
</Row>
<Row class="row-cxtj">
<Col span="3" class="cxtj">審覈意見:</Col>
<Col span="21">
<Input readonly v-model="jrscJbxx.shyj" type="textarea" :autosize="{minRows: 2,maxRows: 5}"></Input>
</Col>
</Row>
<Row class="row-cxtj">
<Col span="3" class="cxtj">審覈人簽名:</Col>
<Col span="9">
<Input readonly v-model="jrscJbxx.shrmc"></Input>
</Col>
<Col span="3" class="cxtj">審覈時間:</Col>
<Col span="9">
<DatePicker type="datetime" placement="bottom-start" readonly v-model="jrscJbxx.shsj" style="width: 100%"></DatePicker>
</Col>
</Row>
<Row class="row-cxtj">
<Col span="3" class="cxtj">發送主管單位:</Col>
<Col span="9">
<Input readonly v-model="jrscJbxx.fszgdwmc" placeholder="請選擇"></Input>
</Col>
<Col span="2">
<Button disabled type="primary">選擇</Button>
</Col>
</Row>
<Row>
<Col span="2" style="margin-left:50px;margin-top:10px;margin-bottom:20px">
附件管理:
</Col>
<Col span="19" style="margin-top:10px;margin-bottom:20px">
<OFileList :yid="yid" :gid="shgid"></OFileList>
</Col>
</Row>
</div>
<!--安防主管部門技術審覈-->
<div>
<Row>
<Col span="24">
<h3 style="border-bottom: 1px solid #cccccc;margin: 10px 0; ">安防主管部門技術審覈</h3>
</Col>
</Row>
<Row class="row-cxtj">
<Col span="3" class="cxtj">審覈單位:</Col>
<Col span="9">
<Input v-model="jrscJbxx.jsshdwmc" readonly></Input>
</Col>
<Col span="3" class="cxtj">審覈部門:</Col>
<Col span="9">
<Input v-model="jrscJbxx.jsshbmmc" readonly></Input>
</Col>
</Row>
<Row class="row-cxtj">
<Col span="3" class="cxtj">審覈意見:</Col>
<Col span="21">
<Input readonly v-model="jrscJbxx.jsshyj" type="textarea" :autosize="{minRows: 2,maxRows: 5}"></Input>
</Col>
</Row>
<Row class="row-cxtj">
<Col span="3" class="cxtj">審覈人簽名:</Col>
<Col span="9">
<Input v-model="jrscJbxx.jsshrmc" readonly></Input>
</Col>
<Col span="3" class="cxtj">審覈時間:</Col>
<Col span="9">
<DatePicker type="datetime" readonly v-model="jrscJbxx.jsshsj" style="width: 100%"></DatePicker>
</Col>
</Row>
<Row>
<Col span="2" style="margin-left:50px;margin-top:10px;margin-bottom:20px">
附件管理:
</Col>
<Col span="19" style="margin-top:10px;margin-bottom:20px">
<OFileList :yid="yid" :gid="jsgid"></OFileList>
</Col>
</Row>
</div>
<!--安全防護主管部門審覈-->
<div>
<Row>
<Col span="24">
<h3 style="border-bottom: 1px solid #cccccc;margin: 10px 0; ">安全防護主管部門審覈</h3>
</Col>
</Row>
<Row class="row-cxtj">
<Col span="3" class="cxtj">審覈單位:</Col>
<Col span="9">
<Input v-model="jrscJbxx.zgshdwmc" readonly></Input>
</Col>
<Col span="3" class="cxtj">審覈部門:</Col>
<Col span="9">
<Input v-model="jrscJbxx.zgshbmmc" readonly></Input>
</Col>
</Row>
<Row class="row-cxtj">
<Col span="3" class="cxtj">審覈意見:</Col>
<Col span="21">
<Input readonly v-model="jrscJbxx.zgshyj" type="textarea" :autosize="{minRows: 2,maxRows: 5}"></Input>
</Col>
</Row>
<Row class="row-cxtj">
<Col span="3" class="cxtj">審覈人簽名:</Col>
<Col span="9">
<Input v-model="jrscJbxx.zgbmshrmc" readonly></Input>
</Col>
<Col span="3" class="cxtj">審覈時間:</Col>
<Col span="9">
<DatePicker readonly type="datetime" v-model="jrscJbxx.zgbmshsj" style="width: 100%"></DatePicker>
</Col>
</Row>
<Row>
<Col span="2" style="margin-left:53px;margin-top:10px;margin-bottom:20px">
附件管理:
</Col>
<Col span="19" style="margin-top:10px;margin-bottom:20px">
<OFileList :yid="yid" :gid="zggid"></OFileList>
</Col>
</Row>
<Row class="row-cxtj">
<Col span="3" class="cxtj">是否會籤:</Col>
<Col span="21">
<Checkbox disabled v-model="sfhqbz" size="large" style="margin-top: 5px"></Checkbox>
</Col>
</Row>
</div>
<!--相關業務部門批覆意見(會籤)-->
<div v-show="ywbmHqShow">
<Row>
<Col span="24">
<h3 style="border-bottom: 1px solid #cccccc;margin: 10px 0; ">相關業務部門批覆意見(會籤)</h3>
</Col>
</Row>
<Row>
<Col span="24">
<div style="border:1px solid #cccccc;">
<Table height="200" stripe border size="small" :columns="hqxxColumns" :data="hqxxGrid" no-data-text="無會籤信息"></Table>
</div>
</Col>
</Row>
<!--<Row>
<Col span="24" style="margin-left:73px;margin-top:10px;margin-bottom:20px">
附件管理:<OFileList :yid="hqyid" :gid="hqgid"></OFileList>
</Col>
</Row>-->
</div>
<!--執行信息 -->
<div v-show="zxShow">
<Row>
<Col span="24">
<h3 style="border-bottom: 1px solid #cccccc;margin: 10px 0; ">執行</h3>
</Col>
</Row>
<Row>
<Col span="2">
<Button type="primary" :disabled="addDisabled" @click="addZxjl">添加</Button>
</Col>
<Col span="2">
<Button type="primary" :disabled="delDisabled" @click="delZxjl">刪除</Button>
</Col>
</Row>
<Row>
<Col span="24">
<div style="border:1px solid #cccccc;">
<Table height="200" stripe border size="small" :columns="zxjlColumns" :data="zxjlGrid"
@on-selection-change="handleZxjlRowChange" no-data-text="無執行記錄信息">
</Table>
</div>
</Col>
</Row>
<Form ref="zxjgRef" :model="jrscJbxx" :rules="zxjgRule" :label-width="110" style="width: 100%">
<Row class="row-cxtj">
<Col span="24">
<FormItem label="執行結果:" prop="zxjg">
<Input v-model="jrscJbxx.zxjg" :readonly="zxjgReadonly" type="textarea" :autosize="{minRows: 2,maxRows: 5}"></Input>
</FormItem>
</Col>
</Row>
<Row>
<Col span="12">
<FormItem label="執行人簽名:" prop="zxrqm">
<Input v-model="jrscJbxx.zxrqm" readonly></Input>
</FormItem>
</Col>
<Col span="12">
<FormItem label="執行時間:" prop="zxqmsj">
<DatePicker type="datetime" v-model="jrscJbxx.zxqmsj" readonly style="width: 100%"></DatePicker>
</FormItem>
</Col>
</Row>
</Form>
<Row>
<Col span="2" style="margin-left:50px;margin-top:10px;margin-bottom:20px">
附件管理:
</Col>
<Col span="19" style="margin-top:10px;margin-bottom:20px">
<OFileList :yid="yid" :gid="zxgid"></OFileList>
</Col>
</Row>
</div>
<!--驗收-->
<div v-show="ysShow">
<Form ref="ysref" :model="jrscJbxx" :rules="ysRule" :label-width="110" style="width: 100%">
<Row>
<Col span="24">
<h3 style="border-bottom: 1px solid #cccccc;margin: 10px 0; ">驗收信息</h3>
</Col>
</Row>
<Row>
<Col span="24">
<FormItem label="驗收結果:" prop="ysjg">
<Input v-model="jrscJbxx.ysjg" :readonly="ysjgReadonly" type="textarea" :autosize="{minRows: 2,maxRows: 5}"></Input>
</FormItem>
</Col>
</Row>
<Row>
<Col span="12">
<FormItem label="驗收人簽名:" prop="ysrmc">
<Input v-model="jrscJbxx.ysrmc" readonly></Input>
</FormItem>
</Col>
<Col span="12">
<FormItem label="驗收時間:" prop="yssj">
<DatePicker type="datetime" v-model="jrscJbxx.yssj" readonly style="width: 100%"></DatePicker>
</FormItem>
</Col>
</Row>
<Row>
<Col span="22" style="margin-left:50px;margin-top:10px;margin-bottom:20px">
附件管理:
</Col>
<Col span="19" style="margin-top:10px;margin-bottom:20px">
<OFileList :yid="yid" :gid="ysgid"></OFileList>
</Col>
</Row>
</Form>
</div>
</div>
<div style="margin-left:15px;margin-top:10px;margin-bottom:20px">
<OUpLoad ref="oDemo"></OUpLoad>
</div>
<div>
<Row>
<Col span="24" style="text-align: center;margin-top: 20px">
<Button type="primary" v-show="saveShow" icon="folder" @click="saveZxjl" style="margin-left: 8px">保存</Button>
<Button type="primary" v-show="submitShow" icon="checkmark-round" @click="tJview" style="margin-left: 8px">提交</Button>
<Button type="primary" v-show="zxxxFspmsShow" icon="share" style="margin-left: 8px">發送PMS</Button>
<Button type="primary" v-show="gdShow" icon="folder" @click="gDview()" style="margin-left: 8px">歸檔</Button>
<Button type="primary" v-show="ysxxFspmsShow" icon="share" style="margin-left: 8px">發送PMS</Button>
</Col>
</Row>
</div>
</div>
</template>
<script>
import {zhztList} from '@/utils/ecfhHjztEnum.js'
export default {
props: {
modalTrue: {
type: Boolean,
default: false
},
jbxxBmzx: {
type: Object,
default: {}
},
isDbYb: {
type: String,
default: ''
},
buttonName: {
type: String,
default: ''
}
},
data () {
return {
yid: '-1',
tbgid: '-1',
shgid: '-1',
jsgid: '-1',
zggid: '-1',
zxgid: '-1',
ysgid: '-1',
// 會籤附件顯示
hqyid: '-1',
hqgid: '-1',
// 業務部門會籤默認不顯示
ywbmHqShow: false,
// 頁面div默認不顯示
zxShow: false,
ysShow: false,
// 按鈕默認不顯示
saveShow: false,
submitShow: false,
zxxxFspmsShow: false,
gdShow: false,
ysxxFspmsShow: false,
// 默認按鈕不可用
addDisabled: true,
delDisabled: true,
// 默認只讀
zxjgReadonly: true,
zxqmsjReadonly: true,
ysjgReadonly: true,
yssjReadonly: true,
// 所屬安全區
ssaqq: [
{
value: 'Ⅰ區',
label: 'Ⅰ區'
},
{
value: 'Ⅱ區',
label: 'Ⅱ區'
},
{
value: 'Ⅲ區',
label: 'Ⅲ區'
},
{
value: 'Ⅰ/Ⅱ區',
label: 'Ⅰ/Ⅱ區'
},
{
value: 'Ⅰ/Ⅲ區',
label: 'Ⅰ/Ⅲ區'
},
{
value: 'Ⅱ/Ⅲ區',
label: 'Ⅱ/Ⅲ區'
},
{
value: 'Ⅰ/Ⅱ/Ⅲ區',
label: 'Ⅰ/Ⅱ/Ⅲ區'
}
],
// 變更性質
bgxz: [
{
value: '新增策略',
label: '新增策略'
},
{
value: '策略變更',
label: '策略變更'
},
{
value: '業務接入變更',
label: '業務接入變更'
},
{
value: '網絡結構變更',
label: '網絡結構變更'
}
],
// 申請單信息
jrscJbxx: {},
// 是否會籤標誌,默認是沒有會籤
sfhqbz: false,
// 會籤信息列表表頭
hqxxColumns: [
{
title: '會籤部門',
key: 'pfbmmc'
},
{
title: '簽名',
key: 'pfrmc'
},
{
title: '會簽結論',
key: 'pfjl'
},
{
title: '會籤意見',
key: 'pfyj'
},
{
title: '會籤時間',
key: 'pfsj',
render: (h, params) => {
const date = params.row.pfsj
const pfsj = this.$oui.helpers.time.getDate(date)
return h('div', pfsj)
}
},
{
title: '附件列表',
key: 'hqfjid'
// render: (h, params) => {
// return h('<OFileList :yid="yid" :gid="zggid"></OFileList>')
// }
}
],
// 會籤信息列表
hqxxGrid: [],
// 執行記錄表格中選中的記錄
checkedZxjl: [],
// 執行記錄表頭
zxjlColumns: [],
// 執行記錄列表
zxjlGrid: [],
// 執行結果驗證字段
zxjgRule: {
zxjg: [
{required: true, message: '執行結果結果不能爲空', trigger: 'blur'}
],
zxrqm: [
{required: true, message: '執行人簽名不能爲空', trigger: 'blur'}
]
},
// 驗收驗證字段
ysRule: {
ysjg: [
{required: true, message: '驗收結果不能爲空', trigger: 'blur'}
],
ysrmc: [
{required: true, message: '驗收人名稱不能爲空', trigger: 'blur'}
]
}
}
},
watch: {
// 監聽彈出的處理窗口,打開則執行以下操作
modalTrue (val, oldval) {
var zt = this.jbxxBmzx.zt
if (val === true && this.buttonName === '處理' && (zt === zhztList[5].value || zt === zhztList[6].value)) {
this.getBmzxXx()
}
}
},
methods: {
// 初始化界面,隱藏所有界面
init () {
// 默認沒有附件
this.yid = -1
this.tbgid = -1
this.shgid = -1
this.jsgid = -1
this.zggid = -1
this.zxgid = -1
this.ysgid = -1
// 會籤附件
this.hqgid = -1
this.hqyid = -1
// 默認隱藏所有審覈界面
this.ywbmHqShow = false
this.zxShow = false
this.ysShow = false
// 是否會籤標誌默認不勾選
this.sfhqbz = false
// 按鈕默認不顯示
this.saveShow = false
this.submitShow = false
this.zxxxFspmsShow = false
this.gdShow = false
this.ysxxFspmsShow = false
// 默認按鈕不可用
this.addDisabled = true
this.delDisabled = true
// 默認只讀
this.zxjgReadonly = true
this.zxqmsjReadonly = true
this.ysjgReadonly = true
this.yssjReadonly = true
// 清空會籤信息列表
this.hqxxGrid = []
// 清空執行記錄列表
this.zxjlGrid = []
// 清空執行記錄表格數據
this.checkedZxjl = []
let vm = this
this.zxjlColumns = [
{
type: 'selection',
width: 60,
align: 'center'
},
{
title: '執行記錄',
key: 'zxjlzxr',
align: 'center',
render: (h, params) => {
return h('Input', {
props: {
type: 'text',
value: vm.zxjlGrid[params.index].zxjlzxr
},
on: {
'on-blur': (event) => {
vm.zxjlGrid[params.index].zxjlzxr = event.target.value
}
}
})
}
},
{
title: '執行人',
key: 'zxr',
align: 'center',
width: 180,
render: (h, params) => {
return h('Input', {
props: {
type: 'text',
value: vm.zxjlGrid[params.index].zxr
},
on: {
'on-blur': (event) => {
vm.zxjlGrid[params.index].zxr = event.target.value
}
}
})
}
},
{
title: '完成日期',
key: 'wcsj',
align: 'center',
width: 180,
render: (h, params) => {
return h('Input', {
props: {
type: 'date',
value: this.$oui.helpers.time.format(vm.zxjlGrid[params.index].wcsj, 'YYYY-MM-DD')
},
on: {
'on-blur': (event) => {
vm.zxjlGrid[params.index].wcsj = event.target.value
}
}
})
}
}
]
},
// 查詢申請單信息,初始化頁面
getBmzxXx () {
let proxy = {
url: 'ecfh/bmzx/query',
params: {
id: this.jbxxBmzx.id
}
}
this.$oPost({proxy}, (d) => {
if (d.code === 1000) {
this.jrscJbxx = d.data.list[0]
this.dateFormat()
this.jbxxLccl()
} else if (d.code === 1001) {
this.$Message.success(d.msg)
} else if (d.code === 1002) {
this.$Message.error('請求異常!')
} else {
this.$Message.error('未知錯誤!')
}
})
},
// 判斷要處理的單子的狀態,根據不同狀態顯示對應的審覈部門
jbxxLccl () {
this.init()
this.yid = this.jrscJbxx.id
this.tbgid = this.jrscJbxx.tbfjzid
this.shgid = this.jrscJbxx.shfjzid
this.jsgid = this.jrscJbxx.jsfjzid
this.zggid = this.jrscJbxx.zgfjzid
this.zxgid = this.jrscJbxx.zxfjzid
this.ysgid = this.jrscJbxx.ysfjzid
// 判斷是否有會籤,如果有,則勾選會籤框和顯示會籤信息
if (this.jrscJbxx.sfhqbz === '是') {
// 勾選會籤多選框
this.sfhqbz = true
// 顯示相關業務部門批覆意見(會籤)div
this.ywbmHqShow = true
// 查詢會籤信息並初始化列表
this.queryHqxx()
}
// 如果申請單狀態爲執行,就顯示保存、提交和發送pms按鈕
if (this.jrscJbxx.zt === zhztList[5].value) {
this.saveShow = true
this.submitShow = true
this.zxxxFspmsShow = true
this.addDisabled = false
this.delDisabled = false
this.zxjgReadonly = false
this.zxqmsjReadonly = false
}
// 如果申請單狀態爲驗收,就顯示歸檔和發送pms按鈕
if (this.jrscJbxx.zt === zhztList[6].value) {
this.gdShow = true
this.ysxxFspmsShow = true
this.ysjgReadonly = false
this.yssjReadonly = false
}
// 執行頁面div是否顯示
if ((this.isDbYb !== 'Yb' && this.jrscJbxx.zt === zhztList[5].value) ||
this.jrscJbxx.zt === zhztList[6].value || this.jrscJbxx.zt === zhztList[7].value) {
this.zxShow = true
if (this.jrscJbxx.zxfjzid === null || this.jrscJbxx.zxfjzid === '' || this.jrscJbxx.zxfjzid === undefined) {
this.zxgid = '-1'
} else {
this.zxgid = this.jrscJbxx.zxfjzid
}
// 查詢執行記錄信息
this.queryZxjl()
}
// 驗收頁面div是否顯示
if ((this.isDbYb !== 'Yb' && this.jrscJbxx.zt === zhztList[6].value) || this.jrscJbxx.zt === zhztList[7].value) {
this.ysShow = true
if (this.jrscJbxx.ysfjzid === null || this.jrscJbxx.ysfjzid === '' || this.jrscJbxx.ysfjzid === undefined) {
this.ysgid = '-1'
} else {
this.ysgid = this.jrscJbxx.ysfjzid
}
}
},
// 查詢會籤信息
queryHqxx () {
let proxy = {
url: 'ecfh/bmzx/hqxx',
params: {
bh: this.jrscJbxx.bh
}
}
this.$oPost({proxy}, (d) => {
if (d.code === 1000) {
this.hqxxGrid = d.data.list
// 用於測試能不能顯示,刪除3行
// this.hqxx = this.hqxxGrid[0]
// this.hqyid = this.hqxx.id
// this.hqgid = this.hqxx.hqfjid
} else if (d.code === 1001) {
this.$Message.success(d.msg)
this.hqxxGrid = []
this.hqxx = {}
} else if (d.code === 1002) {
this.$Message.error('請求異常!')
} else {
this.$Message.error('未知錯誤!')
}
})
},
// 查詢執行記錄信息
queryZxjl () {
let proxy = {
url: 'ecfh/bmzx/queryZxjl',
params: {
bh: this.jrscJbxx.bh
}
}
this.$oPost({proxy}, (d) => {
if (d.code === 1000) {
this.zxjlGrid = d.data.list
} else if (d.code === 1001) {
this.$Message.success(d.msg)
this.zxjlGrid = []
} else if (d.code === 1002) {
this.$Message.error('請求異常!')
} else {
this.$Message.error('未知錯誤!')
}
})
},
// 增加按鈕
addZxjl () {
this.zxjlGrid.push({
zxjlzxr: '',
zxr: '',
wcsj: ''
})
},
// 刪除按鈕——比較三個值,從原始數組中刪除選中的記錄
delZxjl () {
for (var i = 0; i < this.checkedZxjl.length; i++) {
for (var j = 0; j < this.zxjlGrid.length; j++) {
if (this.checkedZxjl[i].zxjlzxr === this.zxjlGrid[j].zxjlzxr &&
this.checkedZxjl[i].zxr === this.zxjlGrid[j].zxr &&
this.checkedZxjl[i].wcsj === this.zxjlGrid[j].wcsj) {
this.zxjlGrid.splice(j, 1)
continue
}
}
}
},
// 表格返回選中數據(執行記錄表格)
handleZxjlRowChange (selection) {
this.checkedZxjl = selection
},
// 保存執行記錄
saveZxjl () {
if (this.zxjlGrid.length === 0) {
this.$Message.error('請添加執行記錄!')
return
}
for (var i = 0; i < this.zxjlGrid.length; i++) {
if (this.zxjlGrid[i].zxjlzxr === null || this.zxjlGrid[i].zxjlzxr === '' || this.zxjlGrid[i].zxjlzxr === undefined) {
this.$Message.error('請輸入執行記錄信息!')
return
}
if (this.zxjlGrid[i].zxr === null || this.zxjlGrid[i].zxr === '' || this.zxjlGrid[i].zxr === undefined) {
this.$Message.error('請輸入執行人!')
return
}
if (this.zxjlGrid[i].wcsj === null || this.zxjlGrid[i].wcsj === '' || this.zxjlGrid[i].wcsj === undefined) {
this.$Message.error('請輸入yyyy-MM-dd格式的完成日期!')
return
}
}
let proxy = {
url: 'ecfh/bmzx/saveZxjl',
params: {
bh: this.jrscJbxx.bh,
zxjlList: JSON.stringify(this.zxjlGrid)
}
}
this.$oPost({proxy}, (d) => {
if (d.code === 1000) {
this.$Message.success('保存成功!')
this.$refs.oDemo.cleanData()
this.refresh()
} else if (d.code === 1001) {
this.$Message.success(d.msg)
this.$refs.oDemo.cleanData()
this.refresh()
} else if (d.code === 1002) {
this.$Modal.warning({
title: '提示',
content: d.msg
})
} else {
this.$Message.error('未知錯誤!')
}
})
},
// 提交
tJview () {
// 上傳附件信息
let fDataArray = this.$refs.oDemo.getFList()
// 表單驗證
this.$refs['zxjgRef'].validate((valid) => {
if (valid) {
if (this.zxjlGrid.length === 0) {
this.$Message.error('請添加執行記錄!')
return
}
for (var i = 0; i < this.zxjlGrid.length; i++) {
if (this.zxjlGrid[i].zxjlzxr === null || this.zxjlGrid[i].zxjlzxr === '' || this.zxjlGrid[i].zxjlzxr === undefined) {
this.$Message.error('請輸入執行記錄信息!')
return
}
if (this.zxjlGrid[i].zxr === null || this.zxjlGrid[i].zxr === '' || this.zxjlGrid[i].zxr === undefined) {
this.$Message.error('請輸入執行人!')
return
}
if (this.zxjlGrid[i].wcsj === null || this.zxjlGrid[i].wcsj === '' || this.zxjlGrid[i].wcsj === undefined) {
this.$Message.error('請選擇完成日期!')
return
}
}
// 審覈提交二次提示
this.$Modal.confirm({
title: '提示!',
content: '<p>是否確認提交?</p>',
onOk: () => {
let proxy = {
url: 'ecfh/bmzx/submitZxInfo',
params: {
ecfhJrscjbxxStr: JSON.stringify(this.jrscJbxx),
zxjlList: JSON.stringify(this.zxjlGrid),
fjxx: JSON.stringify(fDataArray)
}
}
this.$oPost({proxy}, (d) => {
if (d.code === 1000) {
this.$Message.success('提交成功,進入【驗收】環節!')
this.$refs.oDemo.cleanData()
this.refresh()
} else if (d.code === 1001) {
this.$Message.success(d.msg)
this.$refs.oDemo.cleanData()
this.refresh()
} else if (d.code === 1002) {
this.$Modal.warning({
title: '提示',
content: d.msg
})
} else {
this.$Message.error('未知錯誤!')
}
})
},
onCancel: () => {
this.$Message.info('已取消')
}
})
}
})
},
// 歸檔
gDview () {
// 表單驗證
this.$refs['ysref'].validate((valid) => {
if (valid) {
// 上傳附件信息
let fDataArray = this.$refs.oDemo.getFList()
// 審覈提交二次提示
this.$Modal.confirm({
title: '提示!',
content: '<p>是否確認歸檔?</p>',
onOk: () => {
let proxy = {
url: 'ecfh/bmzx/submitYsInfo',
params: {
id: this.jrscJbxx.id,
bh: this.jrscJbxx.bh,
zt: this.jrscJbxx.zt,
ysjg: this.jrscJbxx.ysjg,
ysrmc: this.jrscJbxx.ysrmc,
yssj: new Date(this.jrscJbxx.yssj),
fjxx: JSON.stringify(fDataArray)
}
}
this.$oPost({proxy}, (d) => {
if (d.code === 1000) {
this.$Message.success('歸檔成功!')
this.$refs.oDemo.cleanData()
this.refresh()
} else if (d.code === 1001) {
this.$Message.success(d.msg)
this.$refs.oDemo.cleanData()
this.refresh()
} else if (d.code === 1002) {
this.$Modal.warning({
title: '提示',
content: d.msg
})
} else {
this.$Message.error('未知錯誤!')
}
})
},
onCancel: () => {
this.$Message.info('已取消')
}
})
}
})
},
// 在保存或修改後用於刷新index.vue中的列表,並關閉對話框
refresh () {
this.$emit('refreshList')
},
// 格式化日期
dateFormat () {
this.jrscJbxx.sqrq = this.$oui.helpers.time.format(this.jrscJbxx.sqrq, 'YYYY-MM-DD')
this.jrscJbxx.jhsssj = this.$oui.helpers.time.format(this.jrscJbxx.jhsssj, 'YYYY-MM-DD')
this.jrscJbxx.shsj = this.$oui.helpers.time.format(this.jrscJbxx.shsj, 'YYYY-MM-DD hh:mm:ss')
this.jrscJbxx.jsshsj = this.$oui.helpers.time.format(this.jrscJbxx.jsshsj, 'YYYY-MM-DD hh:mm:ss')
this.jrscJbxx.zgbmshsj = this.$oui.helpers.time.format(this.jrscJbxx.zgbmshsj, 'YYYY-MM-DD hh:mm:ss')
this.jrscJbxx.zxqmsj = this.$oui.helpers.time.format(this.jrscJbxx.zxqmsj, 'YYYY-MM-DD hh:mm:ss')
if (this.jrscJbxx.yssj !== undefined && this.jrscJbxx.yssj !== '' && this.jrscJbxx.yssj !== null) {
this.jrscJbxx.yssj = this.$oui.helpers.time.format(this.jrscJbxx.yssj, 'YYYY-MM-DD hh:mm:ss')
}
}
}
}
</script>