From cfdafcf22dbd868c9876d37efbd92b97ba014bef Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期三, 26 三月 2025 09:17:01 +0800
Subject: [PATCH] 优化
---
company/src/components/business/OperaUnionChangeUnitCheckWindow.vue | 508 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 508 insertions(+), 0 deletions(-)
diff --git a/company/src/components/business/OperaUnionChangeUnitCheckWindow.vue b/company/src/components/business/OperaUnionChangeUnitCheckWindow.vue
new file mode 100644
index 0000000..7049615
--- /dev/null
+++ b/company/src/components/business/OperaUnionChangeUnitCheckWindow.vue
@@ -0,0 +1,508 @@
+<template>
+ <GlobalWindow
+ :title="title"
+ width="60%"
+ :visible.sync="visible"
+ :confirm-working="isWorking"
+ @confirm="confirm"
+ >
+ <!-- 閫�鍥炴姇淇� -->
+ <el-form v-if="visible1==true" :model="form" ref="form1" :rules="rules1" style="width: 100%;">
+ <el-form-item label="濉啓閫�鍥炶鏄庯細" prop="backCheckInfo">
+ <el-input type="textarea" v-model="form.backCheckInfo" placeholder="璇疯緭鍏�" v-trim/>
+ </el-form-item>
+ </el-form>
+ <!-- 涓婁紶鎵瑰崟 -->
+ <el-form v-if="visible3==true" :model="form" ref="form3" :rules="rules3" style="width: 100%;">
+ <el-form-item label="鏈熸湜淇濋櫓鐢熸晥鏈燂細">
+ <span >{{( form.applyTime|| '-')}} </span>
+ </el-form-item>
+ <el-form-item label="" >
+ <el-radio-group v-model="form.selectRadio" @change="selectChange">
+ <el-radio :label="0" >涓庝繚鍗曚竴鑷�</el-radio>
+ <el-radio :label="1" >涓庝繚鍗曚笉涓�鑷�</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ <el-form-item label="淇濋櫓鐢熸晥璧锋湡锛�" prop="applyTime" v-if="form.selectRadio === 1">
+ <el-date-picker
+ v-model="form.applyTime"
+ type="date"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ placeholder="閫夋嫨鏃ユ湡">
+ </el-date-picker>
+ </el-form-item>
+ <el-form-item label="鎵瑰崟鍙凤細" prop="code">
+ <el-input v-model="form.code" placeholder="璇疯緭鍏�" v-trim/>
+ </el-form-item>
+ <el-form-item label="涓婁紶鎵瑰崟锛�" prop="baoxianFile">
+ <UploadFile @remove="dele3" :uploadData="{ folder: 'apply',fileType:'.pdf' }" :fileList="form.fileList1" @uploadSuccess="baoxianFileUploaded" />
+ </el-form-item>
+ <div class="box_table">
+ <div class="box_table_head">
+ <div class="box_table_head_item">搴忓彿</div>
+ <div class="box_table_head_item">琚繚闄╀汉</div>
+ <div v-if="model.type==0" class="box_table_head_item">鍔犱繚浜烘暟</div>
+ <div v-if="model.type==0" class="box_table_head_item">鍑忎繚浜烘暟</div>
+ <div v-if="model.type==1" class="box_table_head_item">鍙樻洿浜烘暟</div>
+ <div class="box_table_head_item">涓婁紶鎵瑰崟</div>
+ </div>
+ <div class="box_table_content" v-for="(item, index) in model.applyList" :key="index">
+ <div class="box_table_content_item">{{index + 1}}</div>
+ <div class="box_table_content_item" >{{ item.companyName }}</div>
+ <div v-if="model.type==0" class="box_table_content_item">{{ item.addNum }}</div>
+ <div v-if="model.type==0" class="box_table_content_item">{{ item.delNum }}</div>
+ <div v-if="model.type==1" class="box_table_content_item">{{ item.changeNum }}</div>
+ <div class="box_table_content_item">
+ <el-form-item label="" prop="bxdMultifileList[index]">
+ <UploadFileLink @remove="deleIndex(1,index)" :uploadData="{ folder: 'apply',fileType:'.pdf' }" :fileIndex="index" :showTips="showTips" :fileList="model.applyList[index].fileList1" @uploadSuccess="baoxianFileUploaded2" />
+ </el-form-item>
+ </div>
+ </div>
+ </div>
+ </el-form>
+ <template v-slot:footer>
+ <el-button type="primary" @click="doSubmit">纭� 瀹�</el-button>
+ <el-button @click="visible=false">鍙栨秷</el-button>
+ </template>
+ </GlobalWindow>
+</template>
+
+<script>
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalWindow from '@/components/common/GlobalWindow'
+import {
+ close,
+ uploadBXD
+} from '@/api/business/unionChange'
+import UploadFile from '@/components/common/UploadFile'
+import UploadFileLink from '@/components/common/UploadFileLink'
+
+export default {
+ name: 'OperaUnionChangeUnitCheckWindow',
+ extends: BaseOpera,
+ components: { UploadFile, GlobalWindow ,UploadFileLink},
+ data () {
+ return {
+ // 琛ㄥ崟鏁版嵁
+ model: {},
+ falg: 0,
+ showTips:false,
+ rules1: {
+ backCheckInfo: [
+ { required: true, message: '璇峰畬鍠勪俊鎭�' }
+ ]
+ },
+ rules3: {
+ code: [
+ { required: true, message: '璇峰畬鍠勪俊鎭�' }
+ ],
+ applyDate: [
+ { required: true, message: '璇峰畬鍠勪俊鎭�' }
+ ],
+ baoxianFile: [
+ { required: true, message: '璇峰畬鍠勪俊鎭�' }
+ ]
+ },
+ form: {
+ id: null,
+ backCheckInfo: '',
+ applyTime: null,
+ code: null,
+ baoxianFile: null,
+ bxdMultifileList: [],
+ fileList1: [],
+ selectRadio: 0
+ },
+ visible1: false,
+ visible2: false,
+ visible3: false
+ }
+ },
+ created () {
+ this.config({
+ api: '/business/insuranceApply',
+ 'field.id': 'id'
+ })
+ },
+ methods: {
+ deleIndex (flag,index) {
+ if(flag == 0){
+ this.form.tbdMultifileList[index].fileurl = null
+ this.form.tbdMultifileList[index].name = null
+ }else if(flag ==1){
+ this.form.bxdMultifileList[index].fileurl = null
+ this.form.bxdMultifileList[index].name = null
+ }
+ },
+ dele3 () {
+ this.form.baoxianFile = null
+ },
+ open (title, target, flag) {
+ this.visible = true
+ this.model = {}
+ this.form = {
+ id: null,
+ backCheckInfo: '',
+ startTime: null,
+ code: null,
+ baoxianFile: null,
+ bxdMultifileList:[],
+ fileList1: [],
+ selectRadio: 0,
+ applyTime:null
+ }
+
+ this.model = target
+ this.form.applyTime = target.applyStartTime
+ this.title = title
+ this.flag = flag
+ this.visible1 = false
+ this.visible2 = false
+ this.visible3 = false
+ this.form.bxdMultifileList=[]
+ if (flag == 1) {
+ this.visible1 = true
+ }
+ if (flag == 3) {
+ this.visible3 = true
+ if(this.model.applyList){
+ this.model.applyList.forEach(item =>{
+ item.fileList1 =[]
+ this.form.bxdMultifileList.push({objId:item.id,fileUrl:null,fileName:null})
+ })
+ }
+ }
+ },
+ doSubmit () {
+ if (this.flag == 1) {
+ this.$refs.form1.validate((valid) => {
+ // debugger
+ if (!valid) {
+ return
+ }
+ this.backDo()
+ })
+ } else if (this.flag == 3) {
+ this.$refs.form3.validate((valid) => {
+ // debugger
+ if (!valid) {
+ return
+ }
+ this.uploadBaoxiandan()
+ })
+ }
+ },
+ selectChange () {
+ if (this.form.selectRadio == 0) {
+ this.form.applyTime = this.model.applyStartTime
+ }
+ },
+ baoxianFileUploaded (data) {
+ this.form.baoxianFile = data
+ },
+ baoxianFileUploaded2 (data) {
+ this.form.bxdMultifileList[data.index].fileurl = data.fileurl
+ this.form.bxdMultifileList[data.index].name = data.name
+ },
+ backDo () {
+ this.$dialog.messageConfirm('纭杩涜璇ユ搷浣滃悧锛�')
+ .then(() => {
+ this.isWorking = true
+ close({ id: this.model.id, reason: this.form.backCheckInfo })
+ .then(response => {
+ this.visible = false
+ this.$emit('success')
+ }).catch(err => {
+ this.$tip.apiFailed(err)
+ })
+ })
+ },
+ uploadBaoxiandan () {
+ this.$dialog.messageConfirm('鎻愪氦鍚庝笉鍙慨鏀癸紝璇峰啀娆℃牳瀵瑰悗纭鎻愪氦锛�')
+ .then(() => {
+ this.isWorking = true
+ var param ={
+ id: this.model.id,
+ applyDate: this.form.applyTime,
+ code: this.form.code,
+ fileurl: this.form.baoxianFile.fileurl,
+ name: this.form.baoxianFile.name,
+ applyChangeBXDList:this.form.bxdMultifileList
+ }
+ uploadBXD(param)
+ .then(response => {
+ this.visible = false
+ this.$emit('success')
+ }).catch(err => {
+ this.$tip.apiFailed(err)
+ })
+ })
+ },
+ handleRemove (file, fileList) {
+ console.log(file, fileList)
+ },
+ handlePreview (file) {
+ console.log(file)
+ },
+ handleExceed (files, fileList) {
+ this.$message.warning(`褰撳墠闄愬埗閫夋嫨 3 涓枃浠讹紝鏈閫夋嫨浜� ${files.length} 涓枃浠讹紝鍏遍�夋嫨浜� ${files.length + fileList.length} 涓枃浠禶)
+ },
+ beforeRemove (file, fileList) {
+ return this.$confirm(`纭畾绉婚櫎 ${file.name}锛焋)
+ },
+ successEvent () {
+
+ },
+ handleSizeChange (val) {
+ console.log(`姣忛〉 ${val} 鏉)
+ },
+ handleCurrentChange (val) {
+ console.log(`褰撳墠椤�: ${val}`)
+ },
+ handleClick (tab, event) {
+ console.log(tab, event)
+ },
+ onSubmit () {
+
+ }
+ }
+}
+</script>
+<style>
+
+</style>
+<style lang="scss" scoped>
+.form {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+ .form_span {
+ width: 100%;
+ display: flex;
+ align-items: start;
+ flex-direction: column;
+ margin-bottom: 20px;
+ span {
+ font-size: 14px;
+ &:nth-child(1) {
+ color: black;
+ margin-bottom: 5px;
+ }
+ &:nth-child(2) {
+ color: #8c939d;
+ }
+ }
+ }
+ .form_item {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ margin-bottom: 20px;
+ &:last-child {
+ margin: 0 !important;
+ }
+ .form_item_label {
+ flex-shrink: 0;
+ /*width: 170px;*/
+ color: black;
+ font-size: 14px;
+ span {
+ color: red;
+ font-size: 14px;
+ }
+ }
+ .form_item_val {
+ flex: 1;
+ /*height: 40px;*/
+ margin-left: 20px;
+ textarea {
+ width: 100%;
+ height: 70px;
+ border: 1px solid #cbcbcb;
+ padding: 10px;
+ outline: none;
+ box-sizing: border-box;
+ }
+ input {
+ width: 100%;
+ height: 40px;
+ outline: none;
+ border-radius: 5px;
+ border: 1px solid #cbcbcb;
+ padding: 0 20px;
+ box-sizing: border-box;
+ }
+ }
+ }
+}
+.desc {
+ width: 100%;
+ .desc_item {
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+ .desc_item_label {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin-bottom: 10px;
+ span {
+ font-size: 14px;
+ color: black;
+ margin-right: 30px;
+ }
+ }
+ .desc_item_from {
+ width: 100%;
+ margin-bottom: 10px;
+ .desc_item_from_page {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: end;
+ margin-top: 10px;
+ }
+ }
+ .desc_item_cate {
+ width: 100%;
+ margin-bottom: 10px;
+ }
+ .desc_item_search {
+ width: 100%;
+ margin-bottom: 20px;
+ }
+ .desc_item_review {
+ width: 100%;
+ .desc_item_review_label {
+ font-size: 20px;
+ color: black;
+ font-weight: bold;
+ margin-bottom: 15px;
+ }
+ }
+ }
+}
+.box_table {
+ width: 100%;
+ border-top: 1px solid #b4bbc5;
+ border-left: 1px solid #b4bbc5;
+ box-sizing: border-box;
+ .box_table_head {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ .box_table_head_item1 {
+ flex: 1;
+ height: 50px;
+ background: #f2f2f2;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 14px;
+ color: black;
+ border-right: 1px solid #b4bbc5;
+ border-bottom: 1px solid #b4bbc5;
+ box-sizing: border-box;
+ }
+ .box_table_head_item {
+ flex: 1;
+ height: 50px;
+ background: #f2f2f2;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 14px;
+ color: black;
+ border-right: 1px solid #b4bbc5;
+ border-bottom: 1px solid #b4bbc5;
+ box-sizing: border-box;
+ &:nth-child(1) {
+ flex: 0.5;;
+ }
+ &:nth-child(2) {
+ flex:1.5;
+ }
+ &:nth-child(4) {
+ flex:1.5;
+ }
+ &:nth-child(5) {
+ flex: 1.5;;
+ }
+ }
+ .box_table_head_item5 {
+ flex: 1;
+ height: 50px;
+ background: #f2f2f2;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 14px;
+ color: black;
+ border-right: 1px solid #b4bbc5;
+ border-bottom: 1px solid #b4bbc5;
+ box-sizing: border-box;
+ &:nth-child(2) {
+ flex: 5;
+ }
+ }
+ .box_form_item {
+ flex: 1;
+ height: 50px;
+ background: #ffffff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 14px;
+ color: black;
+ border-right: 1px solid #b4bbc5;
+ border-bottom: 1px solid #b4bbc5;
+ box-sizing: border-box;
+ &:nth-child(1) {
+ //flex: 0.5;
+ }
+ }
+ }
+ .box_table_content {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ .box_table_content_header{
+ border-bottom: 0px solid #b4bbc5 !important;
+ }
+ .box_table_content_item {
+ flex: 1;
+ height: 50px;
+ background: #ffffff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 14px;
+ color: black;
+ border-right: 1px solid #b4bbc5;
+ border-bottom: 1px solid #b4bbc5;
+ box-sizing: border-box;
+ &:nth-child(1) {
+ flex: 0.5;;
+ }
+ &:nth-child(2) {
+ flex:1.5;
+ }
+ &:nth-child(4) {
+ flex: 1.5;
+ }
+ &:nth-child(5) {
+ flex: 1.5;
+ }
+ span{
+ width: 100%;
+ white-space: nowrap;
+ word-wrap: break-word;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ }
+ }
+ }
+}
+</style>
--
Gitblit v1.9.3