From 8932133e2ee2e5708e3506bee3d01d59bff5f1d2 Mon Sep 17 00:00:00 2001 From: MrShi <1878285526@qq.com> Date: 星期日, 12 一月 2025 11:30:52 +0800 Subject: [PATCH] bug --- company/src/components/business/OperaSolutionsBaseWindow.vue | 139 ++++++++++++++++++++++++++------------------- 1 files changed, 80 insertions(+), 59 deletions(-) diff --git a/company/src/components/business/OperaSolutionsBaseWindow.vue b/company/src/components/business/OperaSolutionsBaseWindow.vue index bbb4437..b305086 100644 --- a/company/src/components/business/OperaSolutionsBaseWindow.vue +++ b/company/src/components/business/OperaSolutionsBaseWindow.vue @@ -87,46 +87,45 @@ placeholder="璇烽�夋嫨鎵规敼鎻愰啋鏃堕棿"> </el-time-picker> </el-form-item> - <div style="display: flex; align-items: center;"> - <el-button type="primary" @click="add" style="margin-bottom: 10px;">娣诲姞宸ョ</el-button> - <el-button type="primary" @click="impor" style="margin-bottom: 10px;">瀵煎叆宸ョ</el-button> - <el-button type="text" @click="exprot">瀵煎叆妯$増xls</el-button> + <div style="width: 100%; padding: 10px; box-sizing: border-box; border: 1px solid #ececec;"> + <div style="display: flex; align-items: center; margin-bottom: 10px;"> + <el-select filterable multiple style="width: 800px;" v-model="worktypeId" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in typeWorkCopy" + :key="item.id" + :label="item.name" + :value="item.id"> + </el-option> + </el-select> + <el-button type="primary" @click="add" :disabled="worktypeId.length === 0" style="margin-left: 10px;">娣诲姞宸ョ</el-button> + <el-button type="primary" @click="impor">瀵煎叆宸ョ</el-button> + <el-button type="text" @click="exprot">瀵煎叆妯$増xls</el-button> + </div> + <u-table + :data="form.worktypeIdList" + border + use-virtual + style="width: 100%; margin-bottom: 20px;"> + <u-table-column + label="搴忓彿" + width="80"> + <template slot-scope="scope"> + <span>{{scope.$index + 1}}</span> + </template> + </u-table-column> + <u-table-column + prop="worktypeName" + label="鎵�灞炲伐绉�"> + </u-table-column> + <u-table-column + label="鎿嶄綔" + width="100"> + <template slot-scope="scope"> + <el-button type="text" size="small" style="color: red;" @click="dele(scope.$index)">鍒犻櫎</el-button> + </template> + </u-table-column> + </u-table> </div> - <el-table - :data="form.worktypeIdList" - border - style="width: 100%; margin-bottom: 20px;"> - <el-table-column - label="搴忓彿" - align="center" - width="80"> - <template slot-scope="scope"> - <span>{{scope.$index + 1}}</span> - </template> - </el-table-column> - <el-table-column - align="center" - label="鎵�灞炲伐绉�"> - <template slot-scope="{row}"> - <el-select filterable v-model="row.worktypeId" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in typeWork" - :key="item.id" - :label="item.name" - :value="item.id"> - </el-option> - </el-select> - </template> - </el-table-column> - <el-table-column - label="鎿嶄綔" - align="center" - width="100"> - <template slot-scope="scope"> - <el-button type="text" size="small" style="color: red;" @click="dele(scope.$index)">鍒犻櫎</el-button> - </template> - </el-table-column> - </el-table> <el-form-item label="鐗瑰埆绾﹀畾" prop="specialAgreement"> <RichEditor :richData="form.specialAgreement" :styleEditor="'border: 1px solid #ccc;display: inline-block;'" @getWangedditor="getWangedditor" :readonly="false"/> </el-form-item> @@ -152,10 +151,11 @@ import UploadFile from '@/components/common/UploadFile' import { numRule } from '@/utils/form' import RichEditor from '@/components/common/RichEditor' + import { UTable, UTableColumn } from 'umy-ui' export default { name: 'OperaSolutionsBaseWindow', extends: BaseOpera, - components: { GlobalWindow, UploadFile, RichEditor }, + components: { GlobalWindow, UploadFile, RichEditor, UTable, UTableColumn }, data () { var validType = (rule, value, callback) => { if (this.form.validType === 0 && !value) { @@ -192,8 +192,9 @@ delOnlyReplace: 0, canAdd: 0, correctWarnTime: '', - worktypeIdList: [{ worktypeId: '' }] + worktypeIdList: [] }, + worktypeId: [], // 楠岃瘉瑙勫垯 rules: { name: [ @@ -229,7 +230,8 @@ }, shops: [], company: [], - typeWork: [] + typeWork: [], + typeWorkCopy: [] } }, created () { @@ -246,14 +248,13 @@ formdate.append('insuranceId', this.form.insuranceId) importExcelForSolution(formdate) .then(res => { - console.log(res) - res.forEach(id => { - if (this.form.worktypeIdList.length === 1 && !this.form.worktypeIdList[0].worktypeId) { - this.form.worktypeIdList[0].worktypeId = id - } else { - this.form.worktypeIdList.push({ worktypeId: id }) - } + let arr = [] + res.forEach(item => { + arr.push({ worktypeId: item.id, worktypeName: item.name }) }) + this.form.worktypeIdList = [...arr, ...this.form.worktypeIdList] + let valData = this.form.worktypeIdList.map(item => item.worktypeName) + this.typeWorkCopy = this.typeWorkCopy.filter(item => !valData.includes(item.name)) }) .catch(err => { this.$message.error(err.message) @@ -263,7 +264,7 @@ }) }, impor() { - if (!this.form.insuranceId) return this.$message.warning('璇峰厛閫夋嫨浼佷笟') + if (!this.form.insuranceId) return this.$message.warning('璇峰厛閫夋嫨淇濋櫓鍏徃') this.$refs.upload.click() }, // 瀵煎嚭妯℃澘 @@ -302,7 +303,7 @@ }, // 鍒囨崲鍏徃 getAllWorktype1 () { - this.form.worktypeIdList = [{ worktypeId: '' }] + this.form.worktypeIdList = [] this.getAllWorktype() }, changeValidType(e) { @@ -362,7 +363,9 @@ this.form.delOnlyReplace = 0 this.form.delValidDays = 0 this.form.canAdd = 0 - this.form.worktypeIdList = [{ worktypeId: '' }] + this.form.worktypeIdList = [] + this.typeWork = [] + this.typeWorkCopy = [] // this.$refs['$upload'].clearFiles()//鍒濆鍖栧鍏ョ粍浠� this.allCompany() this.allShops() @@ -373,7 +376,7 @@ this.form.maxAge = '' this.form.validTypeNum = '' this.form.fanganFile = null - this.form.worktypeIdList = [{ worktypeId: '' }] + this.form.worktypeIdList = [] this.form[this.configData['field.id']] = null }) return @@ -389,7 +392,8 @@ if (res.worktypeList) { this.form.worktypeIdList = res.worktypeList.map(item => { return { - worktypeId: item.worktypeId + worktypeId: item.worktypeId, + worktypeName: item.worktypeName } }) } @@ -400,9 +404,16 @@ // 鏌ヨ淇濋櫓鍏徃涓嬪叏閮ㄥ伐绉� getAllWorktype () { allWorktype({ - insuranceId: this.form.insuranceId + insuranceId: this.form.insuranceId, + dataType: 2 }).then(res => { - this.typeWork = res + this.typeWork = res + if (!this.form.id) { + this.typeWorkCopy = res + } else { + let valData = this.form.worktypeIdList.map(item => item.worktypeName) + this.typeWorkCopy = res.filter(item => !valData.includes(item.name)) + } }) }, @@ -410,25 +421,35 @@ allCompany () { all({ dataType: 2, status: 0 }) .then(res => { - console.log(res) this.company = res }) }, allShops () { shopList({ type: 1, status: 0 }) .then(res => { - console.log(res) this.shops = res }) }, add () { - this.form.worktypeIdList.push({ worktypeId: '' }) + let arr = this.typeWorkCopy.filter(item => this.worktypeId.includes(item.id)) + let dataVal = arr.map(item => { + return { + worktypeId: item.id, + worktypeName: item.name + } + }) + this.form.worktypeIdList = [ ...dataVal, ...this.form.worktypeIdList ] + let valData = this.form.worktypeIdList.map(item => item.worktypeName) + this.typeWorkCopy = this.typeWorkCopy.filter(item => !valData.includes(item.name)) + this.worktypeId = [] }, dele (index) { if (this.form.worktypeIdList.length === 1) { this.$message.warning('鑷冲皯瑕佷繚鐣欎竴椤�') return } + let row = this.typeWork.filter(item => item.name === this.form.worktypeIdList[index].worktypeName) + this.typeWorkCopy.unshift(row[0]) this.form.worktypeIdList.splice(index, 1) } } -- Gitblit v1.9.3