Merge branch 'master' of http://116.62.18.175:6699/r/~yxh/opo-web
| | |
| | | @focus="focusEvents.func" |
| | | @change="change" |
| | | @blur="changeBlur" |
| | | @visible-change="handleVisibleChange" |
| | | value-key="organizationid" |
| | | allow-create |
| | | reserve-keyword |
| | |
| | | ref="selecter" |
| | | > |
| | | <el-option |
| | | v-for="(spec, index) in dataList" |
| | | :key="index" |
| | | v-for="(spec, index) in displayList" |
| | | :key="spec.organizationid" |
| | | :label="spec.organizationname" |
| | | :value="spec.organizationid" |
| | | > |
| | |
| | | return { |
| | | pageData: { pageNum: 1, pageSize: 100 }, |
| | | isLoading: false, |
| | | // dataList: [], |
| | | tempList: [], |
| | | // 三个独立的数据源,避免相互污染 |
| | | originalList: [], // 完整的原始数据源 |
| | | tempList: [], // 中间缓存数据 |
| | | displayList: [], // 用于渲染显示的列表 |
| | | myValue: this.multiple ? [] : "", |
| | | focusEvents: { |
| | | func: () => {}, |
| | |
| | | let userType = { userType: "1" }; |
| | | if (this.orgType == 4) { |
| | | let arr = this.$store.state.user.organization; |
| | | this.dataList.push(...arr); |
| | | this.originalList.push(...arr); |
| | | if (this.isAll) { |
| | | let all = { |
| | | organizationid: "", |
| | | organizationname: "全部" |
| | | }; |
| | | this.dataList.unshift(all); |
| | | this.originalList.unshift(all); |
| | | } |
| | | this.tempList = this.dataList.map(item => item); |
| | | // 初始化三个列表为相同数据 |
| | | this.tempList = [...this.originalList]; |
| | | this.displayList = [...this.originalList]; |
| | | this.focusEvents.loaded = true; |
| | | this.isLoading = false; |
| | | return; |
| | |
| | | |
| | | listOrganization(searchData) |
| | | .then(response => { |
| | | this.dataList.push(...response.rows); |
| | | this.originalList.push(...response.rows); |
| | | if (this.isAll) { |
| | | let all = { |
| | | organizationid: "", |
| | | organizationname: "全部" |
| | | }; |
| | | this.dataList.unshift(all); |
| | | this.originalList.unshift(all); |
| | | } |
| | | this.tempList = this.dataList.map(item => item); |
| | | // 初始化三个列表为相同数据 |
| | | this.tempList = [...this.originalList]; |
| | | this.displayList = [...this.originalList]; |
| | | this.focusEvents.loaded = true; |
| | | }) |
| | | .catch(error => { |
| | | // 暂无处理 |
| | | console.error("获取机构列表失败:", error); |
| | | }) |
| | | .finally(() => { |
| | | this.isLoading = false; |
| | | }); |
| | | }, |
| | | |
| | | getOptionByValue(key) { |
| | | let outValue = null; |
| | | this.dataList.forEach(e => { |
| | | if (e.organizationid == key) { |
| | | outValue = e; |
| | | } |
| | | }); |
| | | |
| | | return outValue; |
| | | }, |
| | | |
| | | /** |
| | | * 自定义筛选方法 - 修复搜索无效问题 |
| | | * @param {string} val - 搜索关键词 |
| | | */ |
| | | filterMethod(val) { |
| | | this.myValue = val; |
| | | if (val) { |
| | | this.dataList = this.tempList.filter(item => { |
| | | if ( |
| | | (item.PYM && |
| | | !!~item.PYM.toUpperCase().indexOf(val.toUpperCase())) || |
| | | (item.WBM && |
| | | !!~item.WBM.toUpperCase().indexOf(val.toUpperCase())) || |
| | | // 对临时列表进行筛选,不修改原始数据 |
| | | this.displayList = this.tempList.filter(item => { |
| | | return ( |
| | | (item.PYM && item.PYM.toUpperCase().includes(val.toUpperCase())) || |
| | | (item.WBM && item.WBM.toUpperCase().includes(val.toUpperCase())) || |
| | | (item.organizationname && |
| | | !!~item.organizationname.toUpperCase().indexOf(val.toUpperCase())) |
| | | ) { |
| | | return true; |
| | | } else { |
| | | return false; |
| | | } |
| | | item.organizationname.toUpperCase().includes(val.toUpperCase())) |
| | | ); |
| | | }); |
| | | } else { |
| | | this.dataList = this.tempList.map(item => item); |
| | | // 搜索词为空时显示完整列表 |
| | | this.displayList = [...this.tempList]; |
| | | } |
| | | }, |
| | | |
| | | /** |
| | | * 处理下拉框显示/隐藏事件 - 修复数据恢复问题 |
| | | * @param {boolean} visible - 是否可见 |
| | | */ |
| | | handleVisibleChange(visible) { |
| | | if (!visible) { |
| | | // 下拉框关闭时重置显示列表为完整数据 |
| | | this.displayList = [...this.originalList]; |
| | | this.tempList = [...this.originalList]; |
| | | } |
| | | }, |
| | | |
| | | getOptionByValue(key) { |
| | | return this.originalList.find(item => item.organizationid == key) || null; |
| | | }, |
| | | |
| | | focus() { |
| | | this.$refs.selecter.focus(); |
| | | }, |
| | |
| | | this.$emit("change", data); |
| | | }); |
| | | }, |
| | | |
| | | defaultInit(defaultItem, defaultItemName) { |
| | | if (defaultItem && defaultItemName) { |
| | | let list = this.dataList.filter( |
| | | let list = this.originalList.filter( |
| | | r => |
| | | r.organizationid == defaultItem && |
| | | r.organizationname == defaultItemName |
| | |
| | | organizationname: defaultItemName, |
| | | organizationid: defaultItem |
| | | }; |
| | | this.dataList.push(data); |
| | | this.originalList.push(data); |
| | | this.tempList = [...this.originalList]; |
| | | this.displayList = [...this.originalList]; |
| | | } |
| | | } |
| | | this.tempList = this.dataList.map(item => item); |
| | | } |
| | | }, |
| | | computed: {}, |
| | |
| | | myValue(newVal) { |
| | | this.$emit("input", newVal); |
| | | this.$emit("change", newVal); |
| | | }, |
| | | // 监听props中的dataList变化 |
| | | dataList: { |
| | | handler(newList) { |
| | | if (newList && newList.length > 0) { |
| | | this.originalList = [...newList]; |
| | | this.tempList = [...newList]; |
| | | this.displayList = [...newList]; |
| | | } |
| | | }, |
| | | immediate: true, |
| | | deep: true |
| | | } |
| | | } |
| | | }; |
| | |
| | | position: relative; |
| | | width: 90%; |
| | | } |
| | | |
| | | // 优化搜索框样式 |
| | | ::v-deep.selectclass .el-select__input { |
| | | min-width: 80px; |
| | | } |
| | | |
| | | // 确保选项列表正常显示 |
| | | ::v-deep.selectclass .el-select-dropdown { |
| | | z-index: 9999 !important; |
| | | } |
| | | </style> |
| | |
| | | <template> |
| | | <div class="particularsdiv"> |
| | | <div class="left-course"> |
| | | <div class="left-course" :class="{ 'left-collapsed': isLeftCollapsed }"> |
| | | <div class="postfilx"> |
| | | <div class="title">工作进程</div> |
| | | <div> |
| | | <div class="title"> |
| | | 工作进程 |
| | | <el-button |
| | | class="collapse-btn" |
| | | @click="toggleLeftCollapse" |
| | | :icon=" |
| | | isLeftCollapsed ? 'el-icon-arrow-right' : 'el-icon-arrow-left' |
| | | " |
| | | size="mini" |
| | | > |
| | | </el-button> |
| | | </div> |
| | | <div v-show="!isLeftCollapsed"> |
| | | <el-steps direction="vertical" :active="workflow"> |
| | | <el-step title="潜在捐献" icon="el-icon-user"> |
| | | <template slot="description" v-if="donatebaseinfo.createtime"> |
| | |
| | | </div> |
| | | </div> |
| | | <!-- 右侧数据 --> |
| | | <div style="background: #fff; width: 80%;"> |
| | | <div class="right-content" :class="{ 'right-expanded': isLeftCollapsed }"> |
| | | <!-- 顶部数据 --> |
| | | <div class="boxdiv"> |
| | | <div class="top-text">捐献案例信息</div> |
| | |
| | | <el-row> |
| | | <el-form-item label-width="100px" label="捐献决定"> |
| | | <el-checkbox-group v-model="organdecision"> |
| | | <!-- 第一行 --> |
| | | <el-checkbox |
| | | v-for="item in fixedOrganSelection" |
| | | v-for="item in firstLineOrgans" |
| | | :key="item" |
| | | :label="item" |
| | | >{{ item }} |
| | | </el-checkbox> |
| | | >{{ item }}</el-checkbox> |
| | | |
| | | <!-- 第二行 --> |
| | | <div style="clear: both;"></div> |
| | | |
| | | <el-checkbox |
| | | v-for="item in secondLineOrgans" |
| | | :key="item" |
| | | :label="item" |
| | | >{{ item }}</el-checkbox> |
| | | |
| | | <el-checkbox |
| | | v-if="shouldShowConditionalOrgan" |
| | | :key="conditionalOrgan" |
| | | :label="conditionalOrgan" |
| | | >{{ conditionalOrgan }}</el-checkbox |
| | | > |
| | | >{{ conditionalOrgan }}</el-checkbox> |
| | | </el-checkbox-group> |
| | | <el-input |
| | | v-if="organdecision.includes('其他')" |
| | |
| | | <org-selecter |
| | | ref="tranHosSelect" |
| | | :org-type="'4'" |
| | | :filterable="true" |
| | | :dataList="dataList" |
| | | v-model="scope.row.transplanthospitalno" |
| | | /> |
| | |
| | | </el-table-column> --> |
| | | |
| | | <el-table-column |
| | | v-if="organgettimetrue" |
| | | label="器官离体时间" |
| | | align="center" |
| | | width="200" |
| | | prop="organgettime" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-date-picker |
| | | clearable |
| | | size="small" |
| | | style="width: 100%" |
| | | v-model="scope.row.organgettime" |
| | | type="datetime" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | placeholder="请输入器官离体时间" |
| | | > |
| | | </el-date-picker> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | label="获取医院" |
| | | align="center" |
| | | width="280" |
| | |
| | | type="datetime" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | placeholder="请输入获取开始时间" |
| | | > |
| | | </el-date-picker> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | v-if="organgettimetrue" |
| | | label="器官离体时间" |
| | | align="center" |
| | | width="200" |
| | | prop="organgettime" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-date-picker |
| | | clearable |
| | | size="small" |
| | | style="width: 100%" |
| | | v-model="scope.row.organgettime" |
| | | type="datetime" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | placeholder="请输入器官离体时间" |
| | | > |
| | | </el-date-picker> |
| | | </template> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-row v-if="accomplishform.isbodydonation"> |
| | | <el-col :span="6"> |
| | | <el-form-item align="left" label="遗体捐献" prop="isbodydonation"> |
| | | <el-radio-group v-model="accomplishform.isbodydonation"> |
| | |
| | | return { |
| | | infoid: 736, |
| | | drawer: false, |
| | | isLeftCollapsed: false, |
| | | form: { |
| | | donorno: "", |
| | | reporterno: "", |
| | |
| | | kinshiplist: ["配偶", "父亲", "母亲", "子女", "受托人"], |
| | | |
| | | // 固定的选项列表(移除了"遗体") |
| | | fixedOrganSelection: [ |
| | | "肝脏", |
| | | "肾脏", |
| | | "单左肾", |
| | | "单右肾", |
| | | "心脏", |
| | | "肺脏", |
| | | "胰腺", |
| | | "小肠", |
| | | "双眼组织", |
| | | "其他" |
| | | firstLineOrgans: [ |
| | | "肝脏", "肾脏", "左肾脏", "右肾脏", |
| | | "心脏", "肺脏", "胰腺", "小肠" |
| | | ], |
| | | // 第二行选项(您需要一起换行的两项) |
| | | secondLineOrgans: [ |
| | | "双眼组织", "其他" |
| | | ], |
| | | |
| | | // 需要条件显示的选项 |
| | |
| | | ], |
| | | sex: [{ required: true, message: "性别不能为空", trigger: "blur" }], |
| | | age: [{ required: true, message: "请输入年龄", trigger: "blur" }], |
| | | treatmenthospitalno: [ |
| | | { required: true, message: "请选择医疗机构", trigger: "blur" } |
| | | ], |
| | | // treatmenthospitalno: [ |
| | | // { required: true, message: "请选择医疗机构", trigger: "blur" } |
| | | // ], |
| | | bloodtype: [ |
| | | { required: true, message: "请选择ABO血型", trigger: "blur" } |
| | | ], |
| | |
| | | ] |
| | | }, |
| | | // 各级明细效验 |
| | | medicinerules: {}, |
| | | medicinerules: { |
| | | illnessoverview: [ |
| | | { required: true, message: "请输入病情概况", trigger: "blur" } |
| | | ], |
| | | diagnosisname: [ |
| | | { required: true, message: "请输入疾病诊断", trigger: "blur" } |
| | | ], |
| | | hospitalassessdoctor: [ |
| | | { required: true, message: "请输入院级评估医生", trigger: "blur" } |
| | | ], |
| | | provincialassessdoctor: [ |
| | | { required: true, message: "请输入省级评估医生", trigger: "blur" } |
| | | ], |
| | | coreteamassessdoctor: [ |
| | | { required: true, message: "请输入核心成员评估医生", trigger: "blur" } |
| | | ] |
| | | }, |
| | | affirmrules: { |
| | | name: [ |
| | | { required: true, message: "亲属姓名不能为空", trigger: "blur" } |
| | |
| | | listRelativesconfirmation(searchParam).then(response => { |
| | | if (response.code == 200 && response.rows[0]) { |
| | | this.affirmform = response.rows[0]; |
| | | |
| | | // 修改器官决策的显示文本 |
| | | if (this.affirmform.organdecision) { |
| | | this.organdecision = this.affirmform.organdecision |
| | | // 替换器官名称 |
| | | let organdecision = this.affirmform.organdecision |
| | | .replace(/单左肾/g, '左肾脏') |
| | | .replace(/单右肾/g, '右肾脏') |
| | | .replace(/双肾脏/g, '双肾脏'); // 保持双肾脏不变 |
| | | |
| | | this.organdecision = organdecision |
| | | .split(",") |
| | | .flatMap(item => (item === "双肾脏" ? ["左肾", "右肾"] : item)); |
| | | } |
| | | |
| | | if (this.affirmform.kinship) { |
| | | this.kinship = this.affirmform.kinship.split(","); |
| | | } |
| | |
| | | }); |
| | | } |
| | | }, |
| | | // 切换侧边隐藏 |
| | | toggleLeftCollapse() { |
| | | this.isLeftCollapsed = !this.isLeftCollapsed; |
| | | }, |
| | | /** 保存主表按钮 */ |
| | | |
| | | submitForm() { |
| | | this.$refs["form"].validate(valid => { |
| | | console.log("提交的数据们:", this.form); |
| | |
| | | |
| | | <style lang="scss" scoped> |
| | | .particularsdiv { |
| | | display: -webkit-box; |
| | | display: flex; |
| | | background-color: #f5f7fa; |
| | | height: 100%; |
| | | height: 100vh; |
| | | overflow: hidden; |
| | | transition: all 0.3s ease; |
| | | |
| | | // 左侧工作进程栏 |
| | | .left-course { |
| | | background: #fff; |
| | | width: 14vw; |
| | | width: 220px; |
| | | min-width: 220px; |
| | | text-align: center; |
| | | margin: 20px 10px; |
| | | padding: 10px; |
| | | margin-top: 0; |
| | | min-height: 888px; |
| | | margin: 0; |
| | | padding: 0; |
| | | height: 100%; |
| | | box-shadow: 2px 0 8px rgba(0, 0, 0, 0.1); |
| | | transition: all 0.3s ease; |
| | | position: relative; |
| | | z-index: 100; |
| | | |
| | | .postfilx { |
| | | width: 12vw; |
| | | text-align: center; |
| | | margin: 20px 10px; |
| | | padding: 10px; |
| | | margin-top: 0; |
| | | // z-index: 999; |
| | | // position: -webkit-sticky; |
| | | // position: fixed; |
| | | // top: 50; |
| | | &.left-collapsed { |
| | | width: 64px; // 改为固定宽度,而不是0 |
| | | min-width: 64px; // 保持最小宽度 |
| | | transform: translateX(0); // 移除平移 |
| | | |
| | | // 折叠状态下隐藏步骤内容,只显示标题和按钮 |
| | | .postfilx > div:last-child { |
| | | opacity: 0; |
| | | visibility: hidden; |
| | | pointer-events: none; // 禁用交互 |
| | | } |
| | | |
| | | .title { |
| | | padding: 15px 5px; // 调整内边距适应窄宽度 |
| | | |
| | | .collapse-btn { |
| | | margin: 0 auto; // 按钮居中 |
| | | } |
| | | } |
| | | } |
| | | |
| | | .postfilx { |
| | | width: 100%; |
| | | height: 100%; |
| | | padding: 0; |
| | | margin: 0; |
| | | display: flex; |
| | | flex-direction: column; |
| | | |
| | | .title { |
| | | background: #22a2c3; |
| | | margin-bottom: 20px; |
| | | padding: 10px 0; |
| | | margin-bottom: 0; |
| | | padding: 15px 10px; |
| | | color: #fff; |
| | | font-size: 16px; |
| | | font-weight: 600; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | position: relative; |
| | | transition: all 0.3s ease; |
| | | min-height: 54px; // 确保标题区域有固定高度 |
| | | box-sizing: border-box; |
| | | |
| | | .collapse-btn { |
| | | background: rgba(255, 255, 255, 0.2); |
| | | border: none; |
| | | color: #fff; |
| | | width: 32px; // 稍微增大确保可点击区域 |
| | | height: 32px; |
| | | padding: 0; |
| | | border-radius: 4px; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | transition: all 0.3s ease; |
| | | flex-shrink: 0; // 防止按钮被压缩 |
| | | |
| | | &:hover { |
| | | background: rgba(255, 255, 255, 0.3); |
| | | transform: scale(1.1); |
| | | } |
| | | |
| | | // 确保图标居中显示 |
| | | .el-icon { |
| | | margin: 0; |
| | | } |
| | | } |
| | | |
| | | .upload-demo { |
| | | text-align: center; |
| | | // 折叠状态下调整标题文字 |
| | | } |
| | | |
| | | .pdfimg { |
| | | display: flex; // text-align: center; |
| | | width: 100%; |
| | | height: 600px; |
| | | |
| | | .box-pdf { |
| | | width: 400px; |
| | | margin-right: 30px; |
| | | border: 1px solid #dcdfe6; |
| | | -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), |
| | | 0 0 6px 0 rgba(0, 0, 0, 0.04); |
| | | box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1); // <- Add this to fix. |
| | | } |
| | | |
| | | .pdftit { |
| | | width: 200px; |
| | | padding: 20px; |
| | | font-size: 18px; |
| | | } |
| | | |
| | | .pdftit:hover { |
| | | background: #c0cef7; |
| | | } |
| | | |
| | | .pdfimgmin { |
| | | width: 60%; |
| | | |
| | | img { |
| | | width: 100%; |
| | | // 折叠状态下隐藏完整标题文字 |
| | | &.left-collapsed .title { |
| | | &:after { |
| | | opacity: 0; |
| | | } |
| | | } |
| | | |
| | | .pdfimgmins { |
| | | font-size: 28px; |
| | | width: 60%; |
| | | text-align: center; |
| | | > div:last-child { |
| | | flex: 1; |
| | | overflow-y: auto; |
| | | padding: 20px 15px; |
| | | transition: all 0.3s ease; |
| | | } |
| | | } |
| | | |
| | | } |
| | | .new-line { |
| | | clear: both; /* 关键属性:清除两侧浮动,强制换行 */ |
| | | display: block; /* 可选:设置为块级元素,确保独占一行 */ |
| | | } |
| | | .Ticket-button { |
| | | margin-top: 10px; |
| | | text-align: right; |
| | | padding-right: 66px; |
| | | margin-right: 50px; |
| | | } |
| | | // 右侧内容区域 |
| | | .right-content { |
| | | flex: 1; |
| | | background: #fff; |
| | | transition: all 0.3s ease; |
| | | overflow-y: auto; |
| | | margin: 0; |
| | | |
| | | &.right-expanded { |
| | | margin-left: 0; |
| | | } |
| | | |
| | | .boxdiv { |
| | | max-width: 85vw; |
| | | width: 100%; |
| | | max-width: none; |
| | | font-size: 18px; |
| | | padding: 0 30px; |
| | | padding-bottom: 10px; |
| | | margin-top: 10px; |
| | | padding-bottom: 20px; |
| | | margin-top: 0; |
| | | |
| | | .top-text { |
| | | text-align: center; |
| | |
| | | font-weight: 600; |
| | | margin: 20px 0; |
| | | margin-bottom: 30px; |
| | | padding-top: 20px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | ::v-deep .el-step__head.is-finish { |
| | | // 步骤样式优化 |
| | | ::v-deep .el-steps { |
| | | &.el-steps--vertical { |
| | | height: 100%; |
| | | |
| | | .el-step { |
| | | margin-bottom: 15px; |
| | | |
| | | .el-step__head { |
| | | &.is-finish { |
| | | color: #22a2c3; |
| | | border-color: #22a2c3; |
| | | } |
| | | } |
| | | |
| | | ::v-deep .el-step__title.is-finish { |
| | | .el-step__title { |
| | | font-size: 14px; |
| | | font-weight: 600; |
| | | |
| | | &.is-finish { |
| | | color: #22a2c3; |
| | | } |
| | | } |
| | | |
| | | .el-step__description { |
| | | font-size: 12px; |
| | | color: #666; |
| | | line-height: 1.5; |
| | | |
| | | &.is-finish { |
| | | color: #22a2c3; |
| | | } |
| | | |
| | | ::v-deep .el-step__description.is-finish { |
| | | color: #22a2c3; |
| | | p { |
| | | margin: 4px 0; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | :v-deep .el-select { |
| | | display: inline-block; |
| | | position: relative; |
| | | width: 80%; |
| | | // 响应式设计 |
| | | @media (max-width: 768px) { |
| | | .particularsdiv { |
| | | flex-direction: column; |
| | | |
| | | .left-course { |
| | | width: 100%; |
| | | height: auto; |
| | | max-height: 300px; |
| | | |
| | | &.left-collapsed { |
| | | width: 100%; // 移动端保持全宽 |
| | | min-width: 100%; |
| | | height: 60px; // 只显示标题栏高度 |
| | | max-height: 60px; |
| | | |
| | | .postfilx > div:last-child { |
| | | display: none; // 完全隐藏内容而不是透明 |
| | | } |
| | | :v-deep .el-tabs__nav-scroll { |
| | | overflow: auto; |
| | | } |
| | | |
| | | .postfilx { |
| | | .title { |
| | | .collapse-btn { |
| | | transform: rotate(0deg); // 保持正常方向 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .right-content { |
| | | margin-left: 0; |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 滚动条样式优化 |
| | | .left-course ::-webkit-scrollbar { |
| | | width: 4px; |
| | | } |
| | | |
| | | .left-course ::-webkit-scrollbar-track { |
| | | background: #f1f1f1; |
| | | } |
| | | |
| | | .left-course ::-webkit-scrollbar-thumb { |
| | | background: #c1c1c1; |
| | | border-radius: 2px; |
| | | } |
| | | |
| | | .left-course ::-webkit-scrollbar-thumb:hover { |
| | | background: #a8a8a8; |
| | | } |
| | | </style> |
| | |
| | | const index = this.getIndexInArray(this.fileListto, row); |
| | | this.fileListto.splice(index, 1); |
| | | console.log(this.rbDetails[this.atpresent].annexfilesList); |
| | | indexvalue = this.rbDetails[this.atpresent].annexfilesList.find( |
| | | (item, index) => { |
| | | return item.name == row.name; |
| | | // indexvalue = this.rbDetails[this.atpresent].annexfilesList.find( |
| | | // (item, index) => { |
| | | // return item.name == row.name; |
| | | // } |
| | | // ); |
| | | // console.log(indexvalue, "删除索引"); |
| | | // this.rbDetails[this.atpresent].annexfilesList.splice(indexvalue, 1); |
| | | const targetIndex = this.rbDetails[ |
| | | this.atpresent |
| | | ].annexfilesList.findIndex(item => { |
| | | return item.name === row.name; // 建议使用严格相等 === |
| | | }); |
| | | console.log(targetIndex, "删除索引"); // 现在打印的是索引号,例如 0, 1, 2... |
| | | |
| | | if (targetIndex > -1) { |
| | | // 确保找到了元素 |
| | | this.rbDetails[this.atpresent].annexfilesList.splice(targetIndex, 1); |
| | | console.log("删除成功"); |
| | | } else { |
| | | console.log("未找到对应项目,无法删除"); |
| | | } |
| | | ); |
| | | console.log(indexvalue, "删除索引"); |
| | | this.rbDetails[this.atpresent].annexfilesList.splice(indexvalue, 1); |
| | | } else { |
| | | const indexlist = this.getIndexInArray( |
| | | this.invoicepdfimgsrcList, |
| | |
| | | const index = this.getIndexInArray(this.invoicefileListto, row); |
| | | this.invoicefileListto.splice(index, 1); |
| | | console.log(this.rbDetails[this.atpresent].invoicefilesList); |
| | | indexvalue = this.rbDetails[this.atpresent].invoicefilesList.find( |
| | | (item, index) => { |
| | | return item.name == row.name; |
| | | } |
| | | const targetIndex = this.rbDetails[ |
| | | this.atpresent |
| | | ].invoicefilesList.findIndex(item => { |
| | | return item.name === row.name; // 建议使用严格相等 === |
| | | }); |
| | | console.log(targetIndex, "删除索引"); // 现在打印的是索引号,例如 0, 1, 2... |
| | | |
| | | if (targetIndex > -1) { |
| | | // 确保找到了元素 |
| | | this.rbDetails[this.atpresent].invoicefilesList.splice( |
| | | targetIndex, |
| | | 1 |
| | | ); |
| | | console.log(indexvalue, "删除索引"); |
| | | this.rbDetails[this.atpresent].invoicefilesList.splice(indexvalue, 1); |
| | | console.log("删除成功"); |
| | | } else { |
| | | console.log("未找到对应项目,无法删除"); |
| | | } |
| | | } |
| | | }, |
| | | // 点击上移 |
| | |
| | | proxy: { |
| | | // detail: https://cli.vuejs.org/config/#devserver-proxy |
| | | [process.env.VUE_APP_BASE_API]: { |
| | | // target:`http://localhost:8080`, |
| | | target:`http://192.168.100.10:8080`, |
| | | target:`http://localhost:8080`, |
| | | // target:`http://192.168.100.10:8081`, |
| | | // target:`http://192.168.100.137:8080`, |
| | | // target: `https://slb.hospitalstar.com:9093`, |
| | | changeOrigin: true, |