Table 中,每个单元格是一个 input

当时实现的功能是在 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>

猜你喜欢

转载自blog.csdn.net/qq_38369069/article/details/80539375
今日推荐