Merge remote-tracking branch 'origin/liujun-2024-02-04-相关方新流程上线后新提需求' into 2024年2月22日v1.0.55
						commit
						adafcfd115
					
				| 
						 | 
					@ -0,0 +1,16 @@
 | 
				
			||||||
 | 
					export default async function useDownloadFile(url) {
 | 
				
			||||||
 | 
					  if (!url) throw new Error('没有下载地址')
 | 
				
			||||||
 | 
					  fetch(config.fileUrl + url)
 | 
				
			||||||
 | 
					    .then((res) => res.blob())
 | 
				
			||||||
 | 
					    .then((blob) => {
 | 
				
			||||||
 | 
					      const a = document.createElement('a')
 | 
				
			||||||
 | 
					      document.body.appendChild(a)
 | 
				
			||||||
 | 
					      a.style.display = 'none'
 | 
				
			||||||
 | 
					      const url = window.URL.createObjectURL(blob)
 | 
				
			||||||
 | 
					      a.href = url
 | 
				
			||||||
 | 
					      a.download = url.substring(url.lastIndexOf('/') + 1)
 | 
				
			||||||
 | 
					      a.click()
 | 
				
			||||||
 | 
					      document.body.removeChild(a)
 | 
				
			||||||
 | 
					      window.URL.revokeObjectURL(url)
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -317,6 +317,7 @@ export default {
 | 
				
			||||||
      axios.get(config.httpurl + '/classMessage/excel?CLASS_MESSAGE_ID=' + id, {
 | 
					      axios.get(config.httpurl + '/classMessage/excel?CLASS_MESSAGE_ID=' + id, {
 | 
				
			||||||
        responseType: 'blob'
 | 
					        responseType: 'blob'
 | 
				
			||||||
      }).then(res => {
 | 
					      }).then(res => {
 | 
				
			||||||
 | 
					        setTimeout(() => {
 | 
				
			||||||
          const blob = new Blob([res.data], { type: 'application/vnd.ms-excel' })
 | 
					          const blob = new Blob([res.data], { type: 'application/vnd.ms-excel' })
 | 
				
			||||||
          const downloadElement = document.createElement('a')
 | 
					          const downloadElement = document.createElement('a')
 | 
				
			||||||
          const href = window.URL.createObjectURL(blob)
 | 
					          const href = window.URL.createObjectURL(blob)
 | 
				
			||||||
| 
						 | 
					@ -330,6 +331,7 @@ export default {
 | 
				
			||||||
          this.$emit('getResult', '')
 | 
					          this.$emit('getResult', '')
 | 
				
			||||||
          loading.close()
 | 
					          loading.close()
 | 
				
			||||||
          this.close()
 | 
					          this.close()
 | 
				
			||||||
 | 
					        }, 2000)
 | 
				
			||||||
      }).catch((e) => {
 | 
					      }).catch((e) => {
 | 
				
			||||||
        console.log(e)
 | 
					        console.log(e)
 | 
				
			||||||
        loading.close()
 | 
					        loading.close()
 | 
				
			||||||
| 
						 | 
					@ -362,6 +364,7 @@ export default {
 | 
				
			||||||
            })
 | 
					            })
 | 
				
			||||||
            this.visible = false
 | 
					            this.visible = false
 | 
				
			||||||
            this.loading = false
 | 
					            this.loading = false
 | 
				
			||||||
 | 
					            this.close()
 | 
				
			||||||
            this.$emit('getResult', '')
 | 
					            this.$emit('getResult', '')
 | 
				
			||||||
          }).catch((e) => {
 | 
					          }).catch((e) => {
 | 
				
			||||||
            this.loading = false
 | 
					            this.loading = false
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| 
						 | 
					@ -22,9 +22,9 @@
 | 
				
			||||||
                :options="treeData"
 | 
					                :options="treeData"
 | 
				
			||||||
                :props="defaultProps"
 | 
					                :props="defaultProps"
 | 
				
			||||||
                v-model="form.INSPECTED_DEPARTMENT_ID"
 | 
					                v-model="form.INSPECTED_DEPARTMENT_ID"
 | 
				
			||||||
                @change="changeCurrentDeptId(form.INSPECTED_DEPARTMENT_ID)"
 | 
					 | 
				
			||||||
                placeholder="请选择被检查单位"
 | 
					                placeholder="请选择被检查单位"
 | 
				
			||||||
                style="width: 300px" />
 | 
					                style="width: 300px"
 | 
				
			||||||
 | 
					                @change="changeCurrentDeptId(form.INSPECTED_DEPARTMENT_ID)" />
 | 
				
			||||||
            </el-form-item>
 | 
					            </el-form-item>
 | 
				
			||||||
          </el-col>
 | 
					          </el-col>
 | 
				
			||||||
          <el-col :span="12">
 | 
					          <el-col :span="12">
 | 
				
			||||||
| 
						 | 
					@ -60,7 +60,7 @@
 | 
				
			||||||
          </el-col>
 | 
					          </el-col>
 | 
				
			||||||
          <el-col :span="8">
 | 
					          <el-col :span="8">
 | 
				
			||||||
            <el-form-item label="检查开始时间" prop="INSPECTION_TIME_START">
 | 
					            <el-form-item label="检查开始时间" prop="INSPECTION_TIME_START">
 | 
				
			||||||
              <el-date-picker v-model="form.INSPECTION_TIME_START" format="yyyy-MM-dd HH:mm" v-on:blur="checkTime(form.INSPECTION_TIME_START)" value-format="yyyy-MM-dd HH:mm" type="datetime" placeholder="选择检查开始时间"/>
 | 
					              <el-date-picker v-model="form.INSPECTION_TIME_START" format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm" type="datetime" placeholder="选择检查开始时间" @blur="checkTime(form.INSPECTION_TIME_START)"/>
 | 
				
			||||||
            </el-form-item>
 | 
					            </el-form-item>
 | 
				
			||||||
          </el-col>
 | 
					          </el-col>
 | 
				
			||||||
          <el-col :span="8">
 | 
					          <el-col :span="8">
 | 
				
			||||||
| 
						 | 
					@ -70,7 +70,7 @@
 | 
				
			||||||
          </el-col>
 | 
					          </el-col>
 | 
				
			||||||
        </el-row>
 | 
					        </el-row>
 | 
				
			||||||
        <el-divider v-if="CURRENT_INSPECTED_DEPARTMENT_ID !== null && CURRENT_INSPECTED_DEPARTMENT_ID !== '' " content-position="left">检查人员 <el-button type="primary" size="mini" @click="addInspector">添加</el-button></el-divider>
 | 
					        <el-divider v-if="CURRENT_INSPECTED_DEPARTMENT_ID !== null && CURRENT_INSPECTED_DEPARTMENT_ID !== '' " content-position="left">检查人员 <el-button type="primary" size="mini" @click="addInspector">添加</el-button></el-divider>
 | 
				
			||||||
        <el-form-item v-if="CURRENT_INSPECTED_DEPARTMENT_ID !== null && CURRENT_INSPECTED_DEPARTMENT_ID !== '' " v-for="(item,index) in form.inspectorList" :key="index + (Math.random() + '').replace('.', '')" :label="(index+1)+'.'">
 | 
					        <el-form-item v-for="(item,index) in form.inspectorList" v-if="CURRENT_INSPECTED_DEPARTMENT_ID !== null && CURRENT_INSPECTED_DEPARTMENT_ID !== '' " :key="index + (Math.random() + '').replace('.', '')" :label="(index+1)+'.'">
 | 
				
			||||||
          <div class="uo-flex">
 | 
					          <div class="uo-flex">
 | 
				
			||||||
            <el-row :gutter="20">
 | 
					            <el-row :gutter="20">
 | 
				
			||||||
              <el-col :span="12">
 | 
					              <el-col :span="12">
 | 
				
			||||||
| 
						 | 
					@ -475,7 +475,7 @@ export default {
 | 
				
			||||||
  methods: {
 | 
					  methods: {
 | 
				
			||||||
    checkTime(data) {
 | 
					    checkTime(data) {
 | 
				
			||||||
      if (Date.parse(data) > new Date().getTime()) {
 | 
					      if (Date.parse(data) > new Date().getTime()) {
 | 
				
			||||||
        this.$message.error("检查开始时间需小于当前时间")
 | 
					        this.$message.error('检查开始时间需小于当前时间')
 | 
				
			||||||
        this.$refs['form'].resetFields()
 | 
					        this.$refs['form'].resetFields()
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -50,22 +50,22 @@
 | 
				
			||||||
    <el-dialog :visible.sync="dialogFormEdit" :title="dialogType==='edit'?'修改':'新增'" width="600px">
 | 
					    <el-dialog :visible.sync="dialogFormEdit" :title="dialogType==='edit'?'修改':'新增'" width="600px">
 | 
				
			||||||
      <el-form ref="form" :rules="rules" :model="form" label-width="110px" style="width: 500px;">
 | 
					      <el-form ref="form" :rules="rules" :model="form" label-width="110px" style="width: 500px;">
 | 
				
			||||||
        <el-form-item label="菜单名称" prop="MENU_NAME">
 | 
					        <el-form-item label="菜单名称" prop="MENU_NAME">
 | 
				
			||||||
									<el-input ref="MENU_NAME" id="MENU_NAME" v-model="form.MENU_NAME" maxlength="255" placeholder="这里输入菜单名称..." title="菜单名称"/>
 | 
					          <el-input id="MENU_NAME" ref="MENU_NAME" v-model="form.MENU_NAME" maxlength="255" placeholder="这里输入菜单名称..." title="菜单名称"/>
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
        <el-form-item label="菜单地址" prop="MENU_URL">
 | 
					        <el-form-item label="菜单地址" prop="MENU_URL">
 | 
				
			||||||
									<el-input ref="MENU_URL" id="MENU_URL" v-model="form.MENU_URL" maxlength="255" placeholder="这里输入菜单地址..." title="菜单地址"/>
 | 
					          <el-input id="MENU_URL" ref="MENU_URL" v-model="form.MENU_URL" maxlength="255" placeholder="这里输入菜单地址..." title="菜单地址"/>
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
        <el-form-item label="父节点id" prop="PARENT_ID">
 | 
					        <el-form-item label="父节点id" prop="PARENT_ID">
 | 
				
			||||||
									<el-input ref="PARENT_ID" id="PARENT_ID" v-model="form.PARENT_ID" maxlength="255" placeholder="这里输入父节点id..." title="父节点id"/>
 | 
					          <el-input id="PARENT_ID" ref="PARENT_ID" v-model="form.PARENT_ID" maxlength="255" placeholder="这里输入父节点id..." title="父节点id"/>
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
        <el-form-item label="排序" prop="MENU_ORDER">
 | 
					        <el-form-item label="排序" prop="MENU_ORDER">
 | 
				
			||||||
								<el-input ref="MENU_ORDER" id="MENU_ORDER"  v-model.number="form.MENU_ORDER" maxlength="11" placeholder="这里输入排序..." title="排序"/>
 | 
					          <el-input id="MENU_ORDER" ref="MENU_ORDER" v-model.number="form.MENU_ORDER" maxlength="11" placeholder="这里输入排序..." title="排序"/>
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
        <el-form-item label="企业id" prop="CORPINFO_ID">
 | 
					        <el-form-item label="企业id" prop="CORPINFO_ID">
 | 
				
			||||||
									<el-input ref="CORPINFO_ID" id="CORPINFO_ID" v-model="form.CORPINFO_ID" maxlength="255" placeholder="这里输入企业id..." title="企业id"/>
 | 
					          <el-input id="CORPINFO_ID" ref="CORPINFO_ID" v-model="form.CORPINFO_ID" maxlength="255" placeholder="这里输入企业id..." title="企业id"/>
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
        <el-form-item label="删除状态" prop="IS_DELETE">
 | 
					        <el-form-item label="删除状态" prop="IS_DELETE">
 | 
				
			||||||
								<el-input ref="IS_DELETE" id="IS_DELETE"  v-model.number="form.IS_DELETE" maxlength="2" placeholder="这里输入删除状态..." title="删除状态"/>
 | 
					          <el-input id="IS_DELETE" ref="IS_DELETE" v-model.number="form.IS_DELETE" maxlength="2" placeholder="这里输入删除状态..." title="删除状态"/>
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
      </el-form>
 | 
					      </el-form>
 | 
				
			||||||
      <div slot="footer" class="dialog-footer">
 | 
					      <div slot="footer" class="dialog-footer">
 | 
				
			||||||
| 
						 | 
					@ -102,7 +102,7 @@
 | 
				
			||||||
        PARENT_ID: '', // 父节点id
 | 
					        PARENT_ID: '', // 父节点id
 | 
				
			||||||
        MENU_ORDER: '', // 排序
 | 
					        MENU_ORDER: '', // 排序
 | 
				
			||||||
        CORPINFO_ID: '', // 企业id
 | 
					        CORPINFO_ID: '', // 企业id
 | 
				
			||||||
			IS_DELETE: '',//删除状态
 | 
					        IS_DELETE: ''// 删除状态
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      multipleSelectionAll: [], // 所有选中的数据包含跨页数据
 | 
					      multipleSelectionAll: [], // 所有选中的数据包含跨页数据
 | 
				
			||||||
      multipleSelection: [], // 当前页选中的数据
 | 
					      multipleSelection: [], // 当前页选中的数据
 | 
				
			||||||
| 
						 | 
					@ -120,7 +120,7 @@
 | 
				
			||||||
        IS_DELETE: [
 | 
					        IS_DELETE: [
 | 
				
			||||||
          { required: true, message: '删除状态不能为空', trigger: 'change' },
 | 
					          { required: true, message: '删除状态不能为空', trigger: 'change' },
 | 
				
			||||||
          { type: 'number', message: '删除状态必须为数字' }
 | 
					          { type: 'number', message: '删除状态必须为数字' }
 | 
				
			||||||
				],
 | 
					        ]
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
| 
						 | 
					@ -268,16 +268,16 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    // 判断按钮权限,用于是否显示按钮
 | 
					    // 判断按钮权限,用于是否显示按钮
 | 
				
			||||||
    hasButton: function() {
 | 
					    hasButton: function() {
 | 
				
			||||||
				var keys = 'appmenus:add,appmenus:del,appmenus:edit,toExcel';
 | 
					      var keys = 'appmenus:add,appmenus:del,appmenus:edit,toExcel'
 | 
				
			||||||
      requestFN(
 | 
					      requestFN(
 | 
				
			||||||
        '/head/hasButton',
 | 
					        '/head/hasButton',
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          keys: keys
 | 
					          keys: keys
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      ).then((data) => {
 | 
					      ).then((data) => {
 | 
				
			||||||
					this.add = data.appmenusfhadminadd;		//新增权限
 | 
					        this.add = data.appmenusfhadminadd		// 新增权限
 | 
				
			||||||
				this.del = data.appmenusfhadmindel;		//删除权限
 | 
					        this.del = data.appmenusfhadmindel		// 删除权限
 | 
				
			||||||
				this.edit = data.appmenusfhadminedit;	//修改权限
 | 
					        this.edit = data.appmenusfhadminedit	// 修改权限
 | 
				
			||||||
      }).catch((e) => {
 | 
					      }).catch((e) => {
 | 
				
			||||||
        this.listLoading = false
 | 
					        this.listLoading = false
 | 
				
			||||||
      })
 | 
					      })
 | 
				
			||||||
| 
						 | 
					@ -292,7 +292,7 @@
 | 
				
			||||||
        PARENT_ID: '', // 父节点id
 | 
					        PARENT_ID: '', // 父节点id
 | 
				
			||||||
        MENU_ORDER: '', // 排序
 | 
					        MENU_ORDER: '', // 排序
 | 
				
			||||||
        CORPINFO_ID: '', // 企业id
 | 
					        CORPINFO_ID: '', // 企业id
 | 
				
			||||||
				IS_DELETE: '',//删除状态
 | 
					        IS_DELETE: ''// 删除状态
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -625,7 +625,6 @@ export default {
 | 
				
			||||||
      this.pd.ROLE_ID = arrString
 | 
					      this.pd.ROLE_ID = arrString
 | 
				
			||||||
      this.dialogFormEdit = true
 | 
					      this.dialogFormEdit = true
 | 
				
			||||||
      await this.$nextTick()
 | 
					      await this.$nextTick()
 | 
				
			||||||
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    handleEditStatus(row, type) {
 | 
					    handleEditStatus(row, type) {
 | 
				
			||||||
      const typeName = type == '1' ? '禁用' : '启用'
 | 
					      const typeName = type == '1' ? '禁用' : '启用'
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,141 @@
 | 
				
			||||||
 | 
					<template>
 | 
				
			||||||
 | 
					  <el-dialog
 | 
				
			||||||
 | 
					    v-if="visible"
 | 
				
			||||||
 | 
					    :visible.sync="visible"
 | 
				
			||||||
 | 
					    :before-close="handleClose"
 | 
				
			||||||
 | 
					    :append-to-body="appendToBody"
 | 
				
			||||||
 | 
					    :title="title"
 | 
				
			||||||
 | 
					    width="60%">
 | 
				
			||||||
 | 
					    <el-input v-model="filterText" placeholder="输入关键字进行过滤"/>
 | 
				
			||||||
 | 
					    <el-scrollbar class="information" style="height: 500px; margin-top: 10px">
 | 
				
			||||||
 | 
					      <el-tree
 | 
				
			||||||
 | 
					        ref="tree"
 | 
				
			||||||
 | 
					        :data="tree"
 | 
				
			||||||
 | 
					        :props="defaultProp"
 | 
				
			||||||
 | 
					        :filter-node-method="filterNode"
 | 
				
			||||||
 | 
					        check-strictly
 | 
				
			||||||
 | 
					        default-expand-all
 | 
				
			||||||
 | 
					        expand-on-click-node
 | 
				
			||||||
 | 
					        check-on-click-node
 | 
				
			||||||
 | 
					        show-checkbox
 | 
				
			||||||
 | 
					        @node-click="handleNodeClick"/>
 | 
				
			||||||
 | 
					    </el-scrollbar>
 | 
				
			||||||
 | 
					    <span slot="footer" class="dialog-footer">
 | 
				
			||||||
 | 
					      <el-button @click="closeWindow">取 消</el-button>
 | 
				
			||||||
 | 
					      <el-button type="primary" @click="save">确 定</el-button>
 | 
				
			||||||
 | 
					    </span>
 | 
				
			||||||
 | 
					  </el-dialog>
 | 
				
			||||||
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<script>
 | 
				
			||||||
 | 
					import Pagination from '@/components/Pagination' // 通过 el-pagination二次打包
 | 
				
			||||||
 | 
					import { requestFN } from '@/utils/request'
 | 
				
			||||||
 | 
					import waves from '@/directive/waves' // waves directive
 | 
				
			||||||
 | 
					export default {
 | 
				
			||||||
 | 
					  components: { Pagination },
 | 
				
			||||||
 | 
					  directives: { waves },
 | 
				
			||||||
 | 
					  props: {
 | 
				
			||||||
 | 
					    title: {
 | 
				
			||||||
 | 
					      type: String,
 | 
				
			||||||
 | 
					      default: ''
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    appendToBody: {
 | 
				
			||||||
 | 
					      type: Boolean,
 | 
				
			||||||
 | 
					      default: false
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    limit: {
 | 
				
			||||||
 | 
					      type: Number,
 | 
				
			||||||
 | 
					      default: 1
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  data() {
 | 
				
			||||||
 | 
					    return {
 | 
				
			||||||
 | 
					      visible: false,
 | 
				
			||||||
 | 
					      defaultProp: {
 | 
				
			||||||
 | 
					        value: 'id',
 | 
				
			||||||
 | 
					        children: 'nodes',
 | 
				
			||||||
 | 
					        label: 'name'
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      tree: [],
 | 
				
			||||||
 | 
					      filterText: '',
 | 
				
			||||||
 | 
					      treeClickCount: 0
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  watch: {
 | 
				
			||||||
 | 
					    filterText(val) {
 | 
				
			||||||
 | 
					      this.$refs.tree.filter(val)
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  methods: {
 | 
				
			||||||
 | 
					    init(e) {
 | 
				
			||||||
 | 
					      this.visible = true
 | 
				
			||||||
 | 
					      this.getTree()
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    handleClose() {
 | 
				
			||||||
 | 
					      this.visible = false
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    getTree() {
 | 
				
			||||||
 | 
					      requestFN(
 | 
				
			||||||
 | 
					        '/department/listTree'
 | 
				
			||||||
 | 
					      ).then((data) => {
 | 
				
			||||||
 | 
					        this.tree = JSON.parse(data.zTreeNodes)
 | 
				
			||||||
 | 
					        if (this.tree[0]) {
 | 
				
			||||||
 | 
					          this.tree[0].disabled = false
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }).catch((e) => {
 | 
				
			||||||
 | 
					        this.$message.error(e)
 | 
				
			||||||
 | 
					      })
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    filterNode(value, data) {
 | 
				
			||||||
 | 
					      if (!value) return true
 | 
				
			||||||
 | 
					      return data.name.indexOf(value) !== -1
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    closeWindow() {
 | 
				
			||||||
 | 
					      this.visible = false
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    clear() {
 | 
				
			||||||
 | 
					      this.tree = []
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    save() {
 | 
				
			||||||
 | 
					      const list = this.$refs.tree.getCheckedNodes()
 | 
				
			||||||
 | 
					      if (list.length > this.limit) {
 | 
				
			||||||
 | 
					        this.$message.error('应该选择' + this.limit + '个,但是现在选择了' + list.length + '个')
 | 
				
			||||||
 | 
					        return
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      this.$emit('getResult', { info: this.$refs.tree.getCheckedNodes() })
 | 
				
			||||||
 | 
					      this.visible = false
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    // 节点点击事件
 | 
				
			||||||
 | 
					    handleNodeClick(data, node) {
 | 
				
			||||||
 | 
					      // 记录点击次数
 | 
				
			||||||
 | 
					      this.treeClickCount++
 | 
				
			||||||
 | 
					      // 单次点击次数超过2次不作处理,直接返回,也可以拓展成多击事件
 | 
				
			||||||
 | 
					      if (this.treeClickCount >= 2) {
 | 
				
			||||||
 | 
					        return
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      // 计时器,计算300毫秒为单位,可自行修改
 | 
				
			||||||
 | 
					      this.timer = window.setTimeout(() => {
 | 
				
			||||||
 | 
					        if (this.treeClickCount === 1) {
 | 
				
			||||||
 | 
					          // 把次数归零
 | 
				
			||||||
 | 
					          this.treeClickCount = 0
 | 
				
			||||||
 | 
					          // 单击事件处理
 | 
				
			||||||
 | 
					          this.console('单击事件,可在此处理对应逻辑')
 | 
				
			||||||
 | 
					        } else if (this.treeClickCount > 1) {
 | 
				
			||||||
 | 
					          // 把次数归零
 | 
				
			||||||
 | 
					          this.treeClickCount = 0
 | 
				
			||||||
 | 
					          // 双击事件
 | 
				
			||||||
 | 
					          this.$emit('getResult', { info: [data] })
 | 
				
			||||||
 | 
					          this.visible = false
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }, 300)
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<style scoped>
 | 
				
			||||||
 | 
					.information >>> .el-scrollbar__wrap {
 | 
				
			||||||
 | 
					  overflow-x: hidden;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					</style>
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,75 @@
 | 
				
			||||||
 | 
					<template>
 | 
				
			||||||
 | 
					  <el-dialog
 | 
				
			||||||
 | 
					    v-if="visible"
 | 
				
			||||||
 | 
					    :visible.sync="visible"
 | 
				
			||||||
 | 
					    :before-close="handleClose"
 | 
				
			||||||
 | 
					    :title="title"
 | 
				
			||||||
 | 
					    :append-to-body="appendToBody"
 | 
				
			||||||
 | 
					    width="60%">
 | 
				
			||||||
 | 
					    <UploadFile :file-list.sync = "files"/>
 | 
				
			||||||
 | 
					    <span slot="footer" class="dialog-footer">
 | 
				
			||||||
 | 
					      <el-button @click="closeWindow">取 消</el-button>
 | 
				
			||||||
 | 
					      <el-button type="primary" @click="confirm">确 定</el-button>
 | 
				
			||||||
 | 
					    </span>
 | 
				
			||||||
 | 
					  </el-dialog>
 | 
				
			||||||
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<script>
 | 
				
			||||||
 | 
					import Pagination from '@/components/Pagination' // 通过 el-pagination二次打包
 | 
				
			||||||
 | 
					import waves from '@/directive/waves' // waves directive
 | 
				
			||||||
 | 
					import UploadFile from '../uploadFile'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export default {
 | 
				
			||||||
 | 
					  components: { Pagination, UploadFile },
 | 
				
			||||||
 | 
					  directives: { waves },
 | 
				
			||||||
 | 
					  props: {
 | 
				
			||||||
 | 
					    title: {
 | 
				
			||||||
 | 
					      type: String,
 | 
				
			||||||
 | 
					      default: ''
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    appendToBody: {
 | 
				
			||||||
 | 
					      type: Boolean,
 | 
				
			||||||
 | 
					      default: false
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    limit: {
 | 
				
			||||||
 | 
					      type: Number,
 | 
				
			||||||
 | 
					      default: 1
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  data() {
 | 
				
			||||||
 | 
					    return {
 | 
				
			||||||
 | 
					      visible: false,
 | 
				
			||||||
 | 
					      files: [],
 | 
				
			||||||
 | 
					      heirloom: {}
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  methods: {
 | 
				
			||||||
 | 
					    init(e) {
 | 
				
			||||||
 | 
					      this.visible = true
 | 
				
			||||||
 | 
					      this.heirloom = e
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    handleClose() {
 | 
				
			||||||
 | 
					      this.visible = false
 | 
				
			||||||
 | 
					      this.files = []
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    closeWindow() {
 | 
				
			||||||
 | 
					      this.handleClose()
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    confirm() {
 | 
				
			||||||
 | 
					      if (this.files.length <= 0) {
 | 
				
			||||||
 | 
					        this.$message.error('未选择文件')
 | 
				
			||||||
 | 
					        return
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      this.$emit('getChoose', { heirloom: this.heirloom, info: this.files, name: 'uploadExcel' })
 | 
				
			||||||
 | 
					      this.visible = false
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<style scoped>
 | 
				
			||||||
 | 
					.information >>> .el-scrollbar__wrap {
 | 
				
			||||||
 | 
					  overflow-x: hidden;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					</style>
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,81 @@
 | 
				
			||||||
 | 
					<template>
 | 
				
			||||||
 | 
					  <div>
 | 
				
			||||||
 | 
					    <el-upload
 | 
				
			||||||
 | 
					      ref="uploadFile"
 | 
				
			||||||
 | 
					      :auto-upload="false"
 | 
				
			||||||
 | 
					      :file-list="fileList"
 | 
				
			||||||
 | 
					      :on-change="onChange"
 | 
				
			||||||
 | 
					      :on-remove="onRemove"
 | 
				
			||||||
 | 
					      :limit="limit"
 | 
				
			||||||
 | 
					      :on-exceed="handleExceed"
 | 
				
			||||||
 | 
					      :accept="accept"
 | 
				
			||||||
 | 
					      action="#">
 | 
				
			||||||
 | 
					      <el-button slot="trigger" size="small" type="primary">选取文件</el-button>
 | 
				
			||||||
 | 
					      <div slot="tip" class="el-upload__tip">{{ info }}</div>
 | 
				
			||||||
 | 
					    </el-upload>
 | 
				
			||||||
 | 
					  </div>
 | 
				
			||||||
 | 
					</template>
 | 
				
			||||||
 | 
					<script>
 | 
				
			||||||
 | 
					export default {
 | 
				
			||||||
 | 
					  name: 'UploadImg',
 | 
				
			||||||
 | 
					  props: {
 | 
				
			||||||
 | 
					    fileList: {
 | 
				
			||||||
 | 
					      type: Array,
 | 
				
			||||||
 | 
					      default() {
 | 
				
			||||||
 | 
					        return []
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    limit: {
 | 
				
			||||||
 | 
					      type: Number,
 | 
				
			||||||
 | 
					      default: 1
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    fileSize: {
 | 
				
			||||||
 | 
					      type: Number,
 | 
				
			||||||
 | 
					      default: 500
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    accept: {
 | 
				
			||||||
 | 
					      type: String,
 | 
				
			||||||
 | 
					      default: ''
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    info: {
 | 
				
			||||||
 | 
					      type: String,
 | 
				
			||||||
 | 
					      default: '文件大小不超过500MB'
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  data() {
 | 
				
			||||||
 | 
					    return {
 | 
				
			||||||
 | 
					      dialogImageUrl: '',
 | 
				
			||||||
 | 
					      dialogVisible: false,
 | 
				
			||||||
 | 
					      disabled: false
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  methods: {
 | 
				
			||||||
 | 
					    handleRemove(file) {
 | 
				
			||||||
 | 
					      this.fileList.splice(this.fileList.findIndex(item => item.uid === file.uid), 1)
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    handlePictureCardPreview(file) {
 | 
				
			||||||
 | 
					      this.dialogImageUrl = file.url
 | 
				
			||||||
 | 
					      this.dialogVisible = true
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    onChange(file, fileList) {
 | 
				
			||||||
 | 
					      this.file = file
 | 
				
			||||||
 | 
					      this.file_name = file.name
 | 
				
			||||||
 | 
					      const isLt2M = file.size / 1024 / 1024 < this.fileSize
 | 
				
			||||||
 | 
					      if (!isLt2M) {
 | 
				
			||||||
 | 
					        this.$message.error('上传视频大小不能超过 ' + this.fileSize + 'MB!')
 | 
				
			||||||
 | 
					        this.$refs.uploadFile.clearFiles()
 | 
				
			||||||
 | 
					        return false
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      this.$emit('update:fileList', fileList)
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    onRemove(file, fileList) {
 | 
				
			||||||
 | 
					      this.$emit('update:fileList', fileList)
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    handleExceed(files, fileList) {
 | 
				
			||||||
 | 
					      this.$message.warning(`当前限制选择 ${this.limit} 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`)
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
 | 
					<style scoped>
 | 
				
			||||||
 | 
					</style>
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,93 @@
 | 
				
			||||||
 | 
					<template>
 | 
				
			||||||
 | 
					  <div>
 | 
				
			||||||
 | 
					    <el-upload
 | 
				
			||||||
 | 
					      ref="uploadImg"
 | 
				
			||||||
 | 
					      :auto-upload="false"
 | 
				
			||||||
 | 
					      :file-list="fileList"
 | 
				
			||||||
 | 
					      :on-change="onChange"
 | 
				
			||||||
 | 
					      :limit="limit"
 | 
				
			||||||
 | 
					      :on-exceed="handleExceed"
 | 
				
			||||||
 | 
					      :accept="accept"
 | 
				
			||||||
 | 
					      :class="{hide:hideFlag}"
 | 
				
			||||||
 | 
					      action="#"
 | 
				
			||||||
 | 
					      list-type="picture-card">
 | 
				
			||||||
 | 
					      <i slot="default" class="el-icon-plus"/>
 | 
				
			||||||
 | 
					      <div slot="file" slot-scope="{file}">
 | 
				
			||||||
 | 
					        <el-image :src="file.url" alt=""/>
 | 
				
			||||||
 | 
					        <span class="el-upload-list__item-actions">
 | 
				
			||||||
 | 
					          <span @click="handlePictureCardPreview(file)">
 | 
				
			||||||
 | 
					            <i class="el-icon-zoom-in"/>
 | 
				
			||||||
 | 
					          </span>
 | 
				
			||||||
 | 
					          <span class="el-upload-list__item-delete" @click="handleRemove(file)">
 | 
				
			||||||
 | 
					            <i class="el-icon-delete"/>
 | 
				
			||||||
 | 
					          </span>
 | 
				
			||||||
 | 
					        </span>
 | 
				
			||||||
 | 
					      </div>
 | 
				
			||||||
 | 
					    </el-upload>
 | 
				
			||||||
 | 
					    <el-dialog :visible.sync="dialogVisible" :append-to-body="appendToBody">
 | 
				
			||||||
 | 
					      <img :src="dialogImageUrl" width="100%" alt="">
 | 
				
			||||||
 | 
					    </el-dialog>
 | 
				
			||||||
 | 
					  </div>
 | 
				
			||||||
 | 
					</template>
 | 
				
			||||||
 | 
					<script>
 | 
				
			||||||
 | 
					// 在使用时要加上.sync
 | 
				
			||||||
 | 
					// 注意limit的值
 | 
				
			||||||
 | 
					export default {
 | 
				
			||||||
 | 
					  name: 'UploadImg',
 | 
				
			||||||
 | 
					  props: {
 | 
				
			||||||
 | 
					    fileList: {
 | 
				
			||||||
 | 
					      type: Array, default() {
 | 
				
			||||||
 | 
					        return []
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    limit: { type: Number, default: 1 },
 | 
				
			||||||
 | 
					    appendToBody: { type: Boolean, default: false },
 | 
				
			||||||
 | 
					    accept: {
 | 
				
			||||||
 | 
					      type: String, default() {
 | 
				
			||||||
 | 
					        return ''
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    hideUpload: { type: Boolean, default: false }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  data() {
 | 
				
			||||||
 | 
					    return {
 | 
				
			||||||
 | 
					      dialogImageUrl: '',
 | 
				
			||||||
 | 
					      dialogVisible: false,
 | 
				
			||||||
 | 
					      disabled: false,
 | 
				
			||||||
 | 
					      hideFlag: false
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  created() {
 | 
				
			||||||
 | 
					    if (this.fileList.length >= this.limit && this.hideUpload) {
 | 
				
			||||||
 | 
					      this.hideFlag = true
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  methods: {
 | 
				
			||||||
 | 
					    handleRemove(file) {
 | 
				
			||||||
 | 
					      this.fileList.splice(this.fileList.findIndex(item => item.uid === file.uid), 1)
 | 
				
			||||||
 | 
					      if (this.hideUpload) {
 | 
				
			||||||
 | 
					        if (this.fileList.length < this.limit) {
 | 
				
			||||||
 | 
					          this.hideFlag = false
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    handlePictureCardPreview(file) {
 | 
				
			||||||
 | 
					      this.dialogImageUrl = file.url
 | 
				
			||||||
 | 
					      this.dialogVisible = true
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    onChange(file, fileList) {
 | 
				
			||||||
 | 
					      this.$emit('update:fileList', fileList)
 | 
				
			||||||
 | 
					      if (this.hideUpload) {
 | 
				
			||||||
 | 
					        if (fileList.length === this.limit) {
 | 
				
			||||||
 | 
					          this.hideFlag = true
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    handleExceed(files, fileList) {
 | 
				
			||||||
 | 
					      this.$message.warning(`当前限制选择 ${this.limit} 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`)
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
 | 
					<style scoped>
 | 
				
			||||||
 | 
					</style>
 | 
				
			||||||
| 
						 | 
					@ -25,6 +25,19 @@
 | 
				
			||||||
            </el-form-item>
 | 
					            </el-form-item>
 | 
				
			||||||
          </el-col>
 | 
					          </el-col>
 | 
				
			||||||
        </el-row>
 | 
					        </el-row>
 | 
				
			||||||
 | 
					        <el-row>
 | 
				
			||||||
 | 
					          <el-col :span="12">
 | 
				
			||||||
 | 
					            <el-form-item prop="APPOINT_ANNEX" label="委托书:">
 | 
				
			||||||
 | 
					              <upload-file
 | 
				
			||||||
 | 
					                :file-list.sync="form.APPOINT_ANNEX"
 | 
				
			||||||
 | 
					                :multiple="false"
 | 
				
			||||||
 | 
					                :accept="'.pdf,.jpg,.png,doc,docx'"
 | 
				
			||||||
 | 
					                :limit="1"
 | 
				
			||||||
 | 
					                :size="1024"
 | 
				
			||||||
 | 
					                :upload-type="1"/>
 | 
				
			||||||
 | 
					            </el-form-item>
 | 
				
			||||||
 | 
					          </el-col>
 | 
				
			||||||
 | 
					        </el-row>
 | 
				
			||||||
      </el-form>
 | 
					      </el-form>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      <div slot="footer" class="dialog-footer">
 | 
					      <div slot="footer" class="dialog-footer">
 | 
				
			||||||
| 
						 | 
					@ -39,9 +52,11 @@
 | 
				
			||||||
import vueQr from 'vue-qr'
 | 
					import vueQr from 'vue-qr'
 | 
				
			||||||
import Treeselect from '@riophae/vue-treeselect'
 | 
					import Treeselect from '@riophae/vue-treeselect'
 | 
				
			||||||
import { requestFN } from '@/utils/request'
 | 
					import { requestFN } from '@/utils/request'
 | 
				
			||||||
 | 
					import uploadFile from '../../../util/uploadFile/index.vue'
 | 
				
			||||||
 | 
					import { upload } from '@/utils/upload'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  components: { Treeselect, vueQr },
 | 
					  components: { uploadFile, Treeselect, vueQr },
 | 
				
			||||||
  props: {
 | 
					  props: {
 | 
				
			||||||
    appendToBody: {
 | 
					    appendToBody: {
 | 
				
			||||||
      type: Boolean,
 | 
					      type: Boolean,
 | 
				
			||||||
| 
						 | 
					@ -80,6 +95,9 @@ export default {
 | 
				
			||||||
        ],
 | 
					        ],
 | 
				
			||||||
        OPINION: [
 | 
					        OPINION: [
 | 
				
			||||||
          { required: true, message: '请填写打回原因', trigger: 'change' }
 | 
					          { required: true, message: '请填写打回原因', trigger: 'change' }
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        APPOINT_ANNEX: [
 | 
				
			||||||
 | 
					          { required: true, message: '请上传文件', trigger: 'change' }
 | 
				
			||||||
        ]
 | 
					        ]
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      heirloom: {},
 | 
					      heirloom: {},
 | 
				
			||||||
| 
						 | 
					@ -111,7 +129,12 @@ export default {
 | 
				
			||||||
        if (!valid) {
 | 
					        if (!valid) {
 | 
				
			||||||
          this.$message.error('请填写完整信息')
 | 
					          this.$message.error('请填写完整信息')
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
          requestFN('/xgf/user/approve', this.form)
 | 
					          const formData = new FormData()
 | 
				
			||||||
 | 
					          Object.keys(this.form).map(key => {
 | 
				
			||||||
 | 
					            formData.append(key, this.form[key])
 | 
				
			||||||
 | 
					          })
 | 
				
			||||||
 | 
					          formData.append('weiTuoShu', this.form.APPOINT_ANNEX[0].raw)
 | 
				
			||||||
 | 
					          upload('/xgf/user/attorney', formData)
 | 
				
			||||||
            .then((data) => {
 | 
					            .then((data) => {
 | 
				
			||||||
              this.$message.success('推送成功')
 | 
					              this.$message.success('推送成功')
 | 
				
			||||||
              this.visible = false
 | 
					              this.visible = false
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -7,13 +7,15 @@
 | 
				
			||||||
    title="审批流程"
 | 
					    title="审批流程"
 | 
				
			||||||
    width="60%">
 | 
					    width="60%">
 | 
				
			||||||
    <el-steps :space="200" :active="list.length" direction="vertical" finish-status="success">
 | 
					    <el-steps :space="200" :active="list.length" direction="vertical" finish-status="success">
 | 
				
			||||||
      <el-step v-for="item in list" :key="item.FLOW_DETAIL_ID" :value="item.FLOW_DETAIL_ID" :title="item.SORT">
 | 
					      <el-step v-for="item in list" :key="item.FLOW_DETAIL_ID" :value="item.FLOW_DETAIL_ID" :title="item.SORT+''">
 | 
				
			||||||
        <template slot="description">
 | 
					        <template slot="description">
 | 
				
			||||||
          <el-card class="box-card a" style="width: 900px;">
 | 
					          <el-card class="box-card a" style="width: 900px;">
 | 
				
			||||||
            <div slot="header" class="clearfix">
 | 
					            <div slot="header" class="clearfix">
 | 
				
			||||||
              <span>{{ item.STEP_NAME }}</span>
 | 
					              <span>{{ item.STEP_NAME }}</span>
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
            <div>
 | 
					            <div>
 | 
				
			||||||
 | 
					              <el-row>
 | 
				
			||||||
 | 
					                <el-col :span="12">
 | 
				
			||||||
                  <el-row>
 | 
					                  <el-row>
 | 
				
			||||||
                    <el-col v-if="item.APPROVER_NAME">
 | 
					                    <el-col v-if="item.APPROVER_NAME">
 | 
				
			||||||
                      审批人:{{ item.APPROVER_NAME }}
 | 
					                      审批人:{{ item.APPROVER_NAME }}
 | 
				
			||||||
| 
						 | 
					@ -34,6 +36,11 @@
 | 
				
			||||||
                      审批结束
 | 
					                      审批结束
 | 
				
			||||||
                    </el-col>
 | 
					                    </el-col>
 | 
				
			||||||
                  </el-row>
 | 
					                  </el-row>
 | 
				
			||||||
 | 
					                </el-col>
 | 
				
			||||||
 | 
					                <el-col v-if="item.APPOINT_ANNEX" :span="12">
 | 
				
			||||||
 | 
					                  <el-button icon="el-icon-download" type="primary" @click = "download(item)">下载附件</el-button>
 | 
				
			||||||
 | 
					                </el-col>
 | 
				
			||||||
 | 
					              </el-row>
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
          </el-card>
 | 
					          </el-card>
 | 
				
			||||||
        </template>
 | 
					        </template>
 | 
				
			||||||
| 
						 | 
					@ -47,6 +54,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
 | 
					import '@riophae/vue-treeselect/dist/vue-treeselect.css'
 | 
				
			||||||
 | 
					import useDownloadFile from '../../../../utils/useDownloadFile'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  props: {
 | 
					  props: {
 | 
				
			||||||
| 
						 | 
					@ -77,6 +85,9 @@ export default {
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    closeWindow() {
 | 
					    closeWindow() {
 | 
				
			||||||
      this.handleClose()
 | 
					      this.handleClose()
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    download(item) {
 | 
				
			||||||
 | 
					      useDownloadFile(item.APPOINT_ANNEX)
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -141,7 +141,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <tr>
 | 
					        <tr>
 | 
				
			||||||
          <th>民族</th>
 | 
					          <th>民族</th>
 | 
				
			||||||
          <td>{{ userDetailForm.minzuName ? userDetailForm.minzuName : '暂无信息' }}</td>
 | 
					          <td>{{ userDetailForm.NATIONALITY_NAME ? userDetailForm.NATIONALITY_NAME : '暂无信息' }}</td>
 | 
				
			||||||
          <th>婚姻状况</th>
 | 
					          <th>婚姻状况</th>
 | 
				
			||||||
          <td>{{ userDetailForm.MARITALSTATUS === '0' ? '未婚' : '已婚' }}</td>
 | 
					          <td>{{ userDetailForm.MARITALSTATUS === '0' ? '未婚' : '已婚' }}</td>
 | 
				
			||||||
          <th>政治面貌</th>
 | 
					          <th>政治面貌</th>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -62,7 +62,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            <tr>
 | 
					            <tr>
 | 
				
			||||||
              <th>民族</th>
 | 
					              <th>民族</th>
 | 
				
			||||||
              <td>{{ userDetailForm.minzuName ? userDetailForm.minzuName : '暂无信息' }}</td>
 | 
					              <td>{{ userDetailForm.NATIONALITY_NAME ? userDetailForm.NATIONALITY_NAME : '暂无信息' }}</td>
 | 
				
			||||||
              <th>婚姻状况</th>
 | 
					              <th>婚姻状况</th>
 | 
				
			||||||
              <td>{{ userDetailForm.MARITALSTATUS === '0' ? '未婚' : '已婚' }}</td>
 | 
					              <td>{{ userDetailForm.MARITALSTATUS === '0' ? '未婚' : '已婚' }}</td>
 | 
				
			||||||
              <th>政治面貌</th>
 | 
					              <th>政治面貌</th>
 | 
				
			||||||
| 
						 | 
					@ -137,6 +137,22 @@
 | 
				
			||||||
              <td>{{ formatLabel(userDetailForm.ISFLOW) }}</td>
 | 
					              <td>{{ formatLabel(userDetailForm.ISFLOW) }}</td>
 | 
				
			||||||
            </tr>
 | 
					            </tr>
 | 
				
			||||||
          </table>
 | 
					          </table>
 | 
				
			||||||
 | 
					          <div v-if="userDetailForm.ANNEX" style="padding-bottom: 10px">
 | 
				
			||||||
 | 
					            <div class="level-title">
 | 
				
			||||||
 | 
					              <h1>承诺书</h1>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					            <div>
 | 
				
			||||||
 | 
					              <el-button icon="el-icon-download" type="primary" @click = "download(userDetailForm.ANNEX)">下载附件</el-button>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					          </div>
 | 
				
			||||||
 | 
					          <div v-if="userDetailForm.ATTORNEY" style="padding-bottom: 10px">
 | 
				
			||||||
 | 
					            <div class="level-title">
 | 
				
			||||||
 | 
					              <h1>委托书</h1>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					            <div>
 | 
				
			||||||
 | 
					              <el-button icon="el-icon-download" type="primary" @click = "download(userDetailForm.ATTORNEY)">下载附件</el-button>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					          </div>
 | 
				
			||||||
          <div>
 | 
					          <div>
 | 
				
			||||||
            <div class="level-title">
 | 
					            <div class="level-title">
 | 
				
			||||||
              <h1>培训记录</h1>
 | 
					              <h1>培训记录</h1>
 | 
				
			||||||
| 
						 | 
					@ -317,6 +333,7 @@
 | 
				
			||||||
import vueQr from 'vue-qr'
 | 
					import vueQr from 'vue-qr'
 | 
				
			||||||
import dateformat from '@/utils/dateformat'
 | 
					import dateformat from '@/utils/dateformat'
 | 
				
			||||||
import { requestFN } from '@/utils/request'
 | 
					import { requestFN } from '@/utils/request'
 | 
				
			||||||
 | 
					import useDownloadFile from '@/utils/useDownloadFile'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  components: { vueQr },
 | 
					  components: { vueQr },
 | 
				
			||||||
| 
						 | 
					@ -347,7 +364,6 @@ export default {
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  methods: {
 | 
					  methods: {
 | 
				
			||||||
    init(e) {
 | 
					    init(e) {
 | 
				
			||||||
      console.log(e)
 | 
					 | 
				
			||||||
      this.visible = true
 | 
					      this.visible = true
 | 
				
			||||||
      this.heirloom = JSON.parse(JSON.stringify(e))
 | 
					      this.heirloom = JSON.parse(JSON.stringify(e))
 | 
				
			||||||
      this.getUserInfoById(this.heirloom)
 | 
					      this.getUserInfoById(this.heirloom)
 | 
				
			||||||
| 
						 | 
					@ -402,6 +418,9 @@ export default {
 | 
				
			||||||
      } else {
 | 
					      } else {
 | 
				
			||||||
        return ''
 | 
					        return ''
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    download(item) {
 | 
				
			||||||
 | 
					      useDownloadFile(item)
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -141,7 +141,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <tr>
 | 
					        <tr>
 | 
				
			||||||
          <th>民族</th>
 | 
					          <th>民族</th>
 | 
				
			||||||
          <td>{{ userDetailForm.minzuName ? userDetailForm.minzuName : '暂无信息' }}</td>
 | 
					          <td>{{ userDetailForm.NATIONALITY_NAME ? userDetailForm.NATIONALITY_NAME : '暂无信息' }}</td>
 | 
				
			||||||
          <th>婚姻状况</th>
 | 
					          <th>婚姻状况</th>
 | 
				
			||||||
          <td>{{ userDetailForm.MARITALSTATUS === '0' ? '未婚' : '已婚' }}</td>
 | 
					          <td>{{ userDetailForm.MARITALSTATUS === '0' ? '未婚' : '已婚' }}</td>
 | 
				
			||||||
          <th>政治面貌</th>
 | 
					          <th>政治面貌</th>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue