diff --git a/src/components/itemSet/ReferenceRange.vue b/src/components/itemSet/ReferenceRange.vue index 3dd937b..68019c7 100644 --- a/src/components/itemSet/ReferenceRange.vue +++ b/src/components/itemSet/ReferenceRange.vue @@ -126,7 +126,7 @@ > - + - + { let that=this if (v) { - if(that.form.referenceRangeValue.includes('-')){ - let before=/^\d+\.?\d?$/.test(that.form.referenceRangeValue.match(/(\S*)-/)[1]) - let after=/^\d+\.?\d?$/.test(that.form.referenceRangeValue.match(/-(\S*)/)[1]) - if(before && after){ - if(that.form.criticalRangeValue!="" && that.form.criticalRangeValue!=undefined){ - if(that.form.criticalRangeValue.includes('-')){ - let criticalBefore=/^\d+\.?\d?$/.test(that.form.criticalRangeValue.match(/(\S*)-/)[1]) - let criticalAfter=/^\d+\.?\d?$/.test(that.form.criticalRangeValue.match(/-(\S*)/)[1]) - if(criticalBefore && criticalAfter){ - that.confirmationRequest() - }else{ - return that.$message.warning("警告范围值-符号前后必须是数字"); - } - }else{ - return that.$message.warning("警告范围值必须以-符号隔开"); - } - }else{ - that.confirmationRequest() - } - }else{ - return that.$message.warning("参考范围值-符号前后必须是数字"); - } - }else{ - return that.$message.warning("参考范围值必须以-符号隔开"); - } + that.confirmationRequest() + // if(that.form.referenceRangeValue.includes('-')){ + // let before=/^\d+\.?\d?$/.test(that.form.referenceRangeValue.match(/(\S*)-/)[1]) + // let after=/^\d+\.?\d?$/.test(that.form.referenceRangeValue.match(/-(\S*)/)[1]) + // if(before && after){ + // if(that.form.criticalRangeValue!="" && that.form.criticalRangeValue!=undefined){ + // if(that.form.criticalRangeValue.includes('-')){ + // let criticalBefore=/^\d+\.?\d?$/.test(that.form.criticalRangeValue.match(/(\S*)-/)[1]) + // let criticalAfter=/^\d+\.?\d?$/.test(that.form.criticalRangeValue.match(/-(\S*)/)[1]) + // if(criticalBefore && criticalAfter){ + // that.confirmationRequest() + // }else{ + // return that.$message.warning("警告范围值-符号前后必须是数字"); + // } + // }else{ + // return that.$message.warning("警告范围值必须以-符号隔开"); + // } + // }else{ + // that.confirmationRequest() + // } + // }else{ + // return that.$message.warning("参考范围值-符号前后必须是数字"); + // } + // }else{ + // return that.$message.warning("参考范围值必须以-符号隔开"); + // } } }); }, diff --git a/src/views/fee-settings/Asbitem.vue b/src/views/fee-settings/Asbitem.vue index 1ecc3f4..e2e22b7 100644 --- a/src/views/fee-settings/Asbitem.vue +++ b/src/views/fee-settings/Asbitem.vue @@ -3,15 +3,42 @@
组合项目
- +
+
+ + + + +
+
+ +
+
+
+ @@ -54,12 +81,172 @@ - - - + + + +
+ 项目类别 + + + + + 搜索选择 + + + + +
+
+
+ + + + + +
+
+ + +
+ 添加 + +
+
+ 移除 + +
+ +
+
+ + + + + +
+
+
+ 确定 + 取消 +
+
+ + +
+
+ + + + + + + + +
+
+ 创建 +
+ 删除 +
+
+
+ +
+
+
+
+ + + + @@ -70,6 +257,24 @@ label-width="100px" > + + + + + + + + + + + + + - - - - - - - - @@ -143,13 +335,13 @@
- + - @@ -160,12 +352,13 @@ :value="item.value" > - + --> + - + - + + - + - + - - - - - - - - + + + +
+ + + + + +
- + - @@ -204,25 +409,27 @@ :value="item.value" > - + --> + + :disabled="disableddiagnosisFunction" + > + + - + - @@ -233,12 +440,18 @@ :value="item.value" > - + --> + + + + + + - @@ -249,12 +462,13 @@ :value="item.value" > - + --> + - + - + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + 取 消 确 定 - - - - -
- 项目类别 - - - - - 搜索选择 - - - - -
-
-
-
未选项目
-
-
{{ item.displayName }}
-
-
-
-
- 全添加 -
-
- 添加 - -
-
- 移去 - -
-
- 全移去 - -
-
-
-
已选项目
-
-
{{ item.displayName }}
-
-
-
-
- 确定 - 取消 -
-
- - -
-
- - - - - - - - -
-
- 创建 -
- 删除 -
-
-
- -
-
- - - - + 确 定 - + + + + + + + + + + + + + 取 消 + 确 定 + +
新增 @@ -543,6 +672,10 @@ import { mapState } from "vuex"; import Sortable from "sortablejs"; import { getapi, postapi, deletapi } from "@/api/api"; import { examinationgender, instrumentlist } from "@/request/systemapi"; +import { + getporjectlists +} from "@/request/commonapi"; +import { deepCopy,objCopy} from "../../utlis/proFunc"; import { groupsandlist, projectlist, @@ -599,6 +732,7 @@ export default { isshow: true, values: [], projectid: [], + initprojectid:[], rules: { displayName: [ { required: true, message: "请输入名称", trigger: "blur" }, @@ -621,7 +755,7 @@ export default { { required: true, message: "请选择项目结果", trigger: "blur" }, ], isBeforeEat: [ - { required: true, message: "请选择餐前项目", trigger: "blur" }, + { required: true, message: "请选择餐前项目", trigger: "change" }, ], clinicalMeaning: [ { required: true, message: "请输入临床意义", trigger: "blur" }, @@ -674,6 +808,13 @@ export default { isPictureRotate: "", isCheck: "", isActive: "", + isActiveBox:true, + isBeforeEatBox:false, + isCheckBox:false, + isContinueProcessBox:false, + isDiagnosisFunctionBox:false, + isItemResultMergerBox:false, + isPictureRotateBox:false }, forSexId: [], //性别 itemTypeId: [], //项目类别 @@ -783,6 +924,43 @@ export default { curRow: {}, asbitemdata: [], //组合项目 forsexdata: [], //适用性别 + department:"", + quckDepartment:[], + treeprops: { + label: "displayName", + value: "id", + children: "treeChildren", + }, + defaultResult: [ + { + value: "1", + label: "未见异常", + }, + { + value: "2", + label: "正常", + }, + { + value: "3", + label: "阴性", + }, + { + value: "4", + label: "无", + }, + { + value: "5", + label: "(—)", + }, + { + value: "6", + label: "­-", + }, + ], + diagnosisFunctionBox:false, + diagnosisFunctionText:"", + disableddiagnosisFunction:true, + initfiletelists:[] }; }, created() { @@ -793,8 +971,129 @@ export default { this.rowDrop(); this.gitfleslist(); this.getobtainguidance(); + this.typeid() + }, + computed: { + ...mapState(["window"]), }, methods: { + remoteMethods(keyWords) { + if (keyWords) { + this.filetelists = []; + this.initfiletelists.forEach(item => { + if (item.displayName.toLowerCase().indexOf(keyWords.toLowerCase()) > - 1 + || item.simpleCode.toLowerCase().indexOf(keyWords.toLowerCase()) > - 1 + // || item.shortName.toLowerCase().indexOf(keyWords.toLowerCase()) > - 1 + ) { + this.filetelists.push(item); + } + }); + } else { + this.filetelists = deepCopy(this.initfiletelists); + } + }, + remoteMethod(keyWords) { + if (keyWords) { + this.projectid = []; + this.initprojectid.forEach(item => { + if (item.displayName.toLowerCase().indexOf(keyWords.toLowerCase()) > - 1 + || item.simpleCode.toLowerCase().indexOf(keyWords.toLowerCase()) > - 1 + // || item.shortName.toLowerCase().indexOf(keyWords.toLowerCase()) > - 1 + ) { + this.projectid.push(item); + } + }); + } else { + this.projectid = deepCopy(this.initprojectid); + } + }, + OnsubmitDiagnosis(){ + this.form.diagnosisFunction=this.diagnosisFunctionText + this.diagnosisFunctionText='' + this.diagnosisFunctionBox=false + this.$message.success("设置诊断函数成功"); + }, + changeBox(type) { + //赋值 + if(this.form[type+'Box']){ + this.$delete(this.form,type) + this.$set(this.form,type,"Y") + }else{ + this.$delete(this.form,type) + this.$set(this.form,type,"N") + } + }, + typeid() { + projectlist().then((res) => { + this.itemTypeId = res.data; + }); + }, + treeclick(data) { + getapi(`/api/app/asbitem/in-item-type/${data.id}`).then((res) => { + this.tableData = res.data; + console.log(res.data, "ress"); + // this.getlist(); + }); + }, + remoteMethodes(keyWords) { + if (keyWords) { + this.quckDepartment = []; + this.initTableData.forEach(item => { + if (item.displayName.toLowerCase().indexOf(keyWords.toLowerCase()) > - 1 + || item.simpleCode.toLowerCase().indexOf(keyWords.toLowerCase()) > - 1 + // || item.shortName.toLowerCase().indexOf(keyWords.toLowerCase()) > - 1 + ) { + this.quckDepartment.push(item); + } + }); + } else { + this.quckDepartment = deepCopy(this.initTableData); + } + }, + quckDepartments(e){ + if(e){ + let currentKey="" + this.quckDepartment.forEach(item=>{ + if(e==item.id){ + currentKey=item.itemTypeId + } + }) + this.$refs['itemType'].setCurrentKey(currentKey) + let selected = this.$refs['itemType'].getCurrentNode(); + if (this.$refs['itemType'].getNode(selected) && this.$refs['itemType'].getNode(selected).parent) { + this.expandParents(this.$refs['itemType'].getNode(selected).parent); + } + getapi(`/api/app/asbitem/in-item-type/${currentKey}`).then((res) => { + this.tableData = res.data; + this.tableData.forEach((item,index)=>{ + if(e==item.id){ + this.$refs['tableData'].setCurrentRow(item); + this.rowick(item) + this.tableScrollToRow(this.$refs.tableData, index) + } + }) + }); + }else{ + this.remoteMethodes() + } + }, + expandParents(node) { + node.expanded = true; + if (node.parent) { + this.expandParents(node.parent); + } + }, + tableScrollToRow(tableElement, rowIndex){ + let theTableRows = tableElement.bodyWrapper.querySelectorAll('.el-table__body tbody .el-table__row') + let scrollTop = 0 + for (let i = 0; i < theTableRows.length; i++) { + if (i === rowIndex) { + break + } + scrollTop += theTableRows[i].offsetHeight + } + tableElement.bodyWrapper.scrollTop = scrollTop + }, guiderow(row) { this.guideform = row; }, @@ -858,48 +1157,50 @@ export default { }, //获取项目 gitfleslist() { - getapi("/api/app/item").then((res) => { + let pages={ + Filter: "", + Sorting: "", + SkipCount: 0, + MaxResultCount: 100 + } + getporjectlists(pages).then((res) => { this.filetelists = res.data.items; - console.log(res, "我是项目"); + this.initfiletelists=[...res.data.items] }); }, //搜索选择 selectitem(v) { - // this.itemid = v.id; - // this.rightdata.forEach((item) => { - // if (v.id != item.id) { - // } else { - // this.rightdata.push({ displayName: v.displayName }); - // } - // }); - // this.rightdata.push({ displayName: v.displayName }); - console.log(v, "sssssssss"); + console.log(v) + this.itemid = v.id; + this.rightdata.forEach((item) => { + if (v.id = item.id) { + this.$message.warning("已有该项目"); + } else { + this.rightdata.push({ displayName: v.displayName,id:v.id }); + } + }); }, Onsubmit() { let sampleGroupId = this.form.id; - console.log(sampleGroupId); let sdate = []; - console.log(this.rightdata, "2222"); // let sss = { itemId: this.itemid, asbitemId: sampleGroupId }; // sdate.push(sss); this.rightdata.forEach((element) => { - console.log("项目元素id", element.id); - console.log("组合项目id", sampleGroupId); - sdate.push({ asbitemId: sampleGroupId, itemId: element.id }); - }); - this.leftdata.forEach((element) => { sdate.push({ asbitemId: sampleGroupId, itemId: element.id }); }); // this.leftdata.forEach((element) => { + // sdate.push({ asbitemId: sampleGroupId, itemId: element.id }); + // }); + // this.leftdata.forEach((element) => { // let sss = { sampleGroupId: sampleGroupId, asbitemId: element.id }; // sdate.push(sss); // }); // sdate.push(sss); postapi("/api/app/asbitem-detail/many", sdate).then((res) => { - if (res.code == 0) { + if (res.code!=-1) { this.$message.success("操作成功"); + this.isdislob = true; } - // this.isdislob = true; }); // console.log(sdate); // if (sampleGroupId == undefined) { @@ -913,19 +1214,62 @@ export default { // }); // } }, + dbClickChoosedAsb(row, column, event){ + let index = this.leftdata.findIndex((arr) => arr.id == row.id); + this.leftdata.splice(index, 1); + this.rightdata.push(row); + this.isdislob = false; + }, + handleSelectionChange(val){ + this.ary1=val + }, + addAbs(){ + if(this.ary1.length<1){ + this.$message.warning('请选择要添加的项目') + }else{ + let temporaryLeft=[] + temporaryLeft = this.leftdata.filter(item => !this.ary1.some(ele=>ele.id === item.id)); + this.leftdata=[...temporaryLeft] + this.ary1.forEach(item=>{ + this.rightdata.push(item); + }) + this.isdislob = false; + } + }, + removeAbs(row){ + let index = this.rightdata.findIndex((arr) => arr.id == row.id); + this.rightdata.splice(index, 1); + this.leftdata.push(row); + this.isdislob = false; + }, + selecteditems(val){ + this.ary2=val + }, + delAbs(){ + if(this.ary2.length<1){ + this.$message.warning('请选择要移除的项目') + }else{ + let temporaryRight=[] + temporaryRight = this.rightdata.filter(item => !this.ary2.some(ele=>ele.id === item.id)); + this.rightdata=[...temporaryRight] + this.ary2.forEach(item=>{ + this.leftdata.push(item); + }) + this.isdislob = false; + } + }, //右侧双击移动删除 rightdelite(item, index) { this.isdislob = false; - this.rightdata.splice(this.num, 1); + this.rightdata.splice(index, 1); this.leftdata.push(item); - this.isdislob = false; - this.updatedate(); + // this.updatedate(); }, //右侧点击选中 rightindex(item, index) { this.nums = index; this.leftobj = item; - console.log(this.leftobj); + // console.log(this.leftobj); }, //左侧添加按钮 addobj() { @@ -981,7 +1325,7 @@ export default { gitprojectcategory() { getapi("/api/app/item-type/by-code-all").then((res) => { this.projectid = res.data; - console.log("res项目类别", res); + this.initprojectid=[...res.data] }); }, //ary1 需要追加的数据 ary2目标数组 @@ -1005,10 +1349,12 @@ export default { console.log(v); //`/api/app/diagnosis/in-item-type/${v}`3a0c50b9-9621-61b7-fc93-1cfab1ec0478 - getapi(`/api/app/item/in-item-type/${v}`).then((res) => { + if(v){ + getapi(`/api/app/item/in-item-type/${v}`).then((res) => { console.log(res); this.leftdata = res.data; }); + } }, bindidclose() { this.form = {}; @@ -1020,6 +1366,10 @@ export default { Sortable.create(tbody, { handle: ".move", animation: 300, + onChoose({oldIndex}){ + _this.$refs['tableData'].setCurrentRow(_this.tableData[oldIndex]); + _this.rowick(_this.tableData[oldIndex]) + }, onEnd({ newIndex, oldIndex }) { _this.isshow = false; const currRow = _this.tableData.splice(oldIndex, 1)[0]; @@ -1039,7 +1389,7 @@ export default { cancellation() { this.$message.info("操作取消"); this.isshow = true; - this.getlist(); + this.tableData=this.initTableData }, //确定排序 assertion() { @@ -1053,7 +1403,7 @@ export default { combination({ itemList: result }).then((res) => { this.$message.success("操作成功"); this.isshow = true; - this.getlist(); + // this.getlist(); }); }, //置底 @@ -1063,9 +1413,10 @@ export default { this.$message.warning("请选择操作的数据"); } else { samplesetlow(this.form.id, 2).then((res) => { - console.log(res, "3333"); - this.getlist(); - this.$message.success("操作成功"); + if(res.code!=-1){ + this.getlist(); + this.$message.success("操作成功"); + } }); } }, @@ -1076,8 +1427,10 @@ export default { this.$message.warning("请选择操作的数据"); } else { samplesetlow(this.form.id, 1).then((res) => { - this.$message.success("操作成功"); - this.getlist(); + if(res.code!=-1){ + this.$message.success("操作成功"); + this.getlist(); + } }); } }, @@ -1097,6 +1450,7 @@ export default { if (res.code == 1) { this.$message.success("删除成功"); this.getlist(); + this.form = {}; } }); }); @@ -1114,9 +1468,48 @@ export default { } else { this.dialogVisible = true; this.title = 2; + if (this.$refs.ruleForm !== undefined){ + this.$refs.ruleForm.resetFields() + } asbitemgetid(this.form.id).then((res) => { - this.form = res.data; + if (res.data.isItemResultMerger == 'Y') { + this.form.isItemResultMergerBox = true; + } else { + this.form.isItemResultMergerBox = false; + } + if (res.data.isBeforeEat == 'Y') { + this.form.isBeforeEatBox = true; + } else { + this.form.isBeforeEatBox = false; + } + if (res.data.isDiagnosisFunction == 'Y') { + this.form.isDiagnosisFunctionBox = true; + } else { + this.form.isDiagnosisFunctionBox = false; + } + if (res.data.isContinueProcess == 'Y') { + this.form.isContinueProcessBox = true; + } else { + this.form.isContinueProcessBox = false; + } + if (res.data.isPictureRotate == 'Y') { + this.form.isPictureRotateBox = true; + } else { + this.form.isPictureRotateBox = false; + } + if (res.data.isCheck == 'Y') { + this.form.isCheckBox = true; + } else { + this.form.isCheckBox = false; + } + if (res.data.isActive == 'Y') { + this.form.isActiveBox = true; + } else { + this.form.isActiveBox = false; + } + objCopy(res.data, this.form); }); + console.log(this.form) //性别 // examinationgender().then((res) => { // this.forSexId = res.data; @@ -1166,10 +1559,11 @@ export default { isActive: this.form.isActive, }; newcombination(obj).then((res) => { - this.$message.success("新增成功"); - this.getlist(); - this.form = {}; - this.dialogVisible = false; + if(res.data!=-1){ + this.$message.success("新增成功"); + this.getlist(); + this.dialogVisible = false; + } }); } else if (this.title == 2) { let obj = { @@ -1193,9 +1587,16 @@ export default { isActive: this.form.isActive, }; updateombination(this.form.id, obj).then((res) => { - this.$message.success("修改成功"); - this.getlist(); - this.dialogVisible = false; + if(res.code!=-1){ + this.$message.success("修改成功"); + this.tableData.forEach((item,index)=>{ + if(res.data.id==item.id){ + this.$set(this.tableData,index,res.data) + } + }) + this.curRow={...res.data} + this.dialogVisible = false; + } }); } } @@ -1205,10 +1606,14 @@ export default { addll() { this.dialogVisible = true; this.title = 1; + if (this.$refs.ruleForm !== undefined){ + this.$refs.ruleForm.resetFields() + } + Object.assign(this.$data.form, this.$options.data().form) + console.log(this.form) this.$nextTick(() => { this.$refs.refinput.focus(); }); - //性别 examinationgender().then((res) => { console.log(res); @@ -1233,25 +1638,25 @@ export default { this.curRow = { ...res.data }; this.form = res.data; }); + this.values=row.itemTypeId getapi( `/api/app/asbitem-detail/asbitem-detail-in-item?AsbitemId=${row.id}` ).then((res) => { - this.rightdata = res.data; - console.log(res, "右侧"); - let dq = res.data; - if (dq.length > 0) { - this.rightdata = []; - dq.forEach((element) => { - let bb = { displayName: element.displayName, id: element.id }; - this.rightdata.push(bb); - }); - } + this.rightdata = [...res.data]; + getapi(`/api/app/item/in-item-type/${row.itemTypeId}`).then((res) => { + // this.leftdata = [...res.data]; + let dq=res.data + let bq=[] + bq = res.data.filter(item => !this.rightdata.some(ele=>ele.id === item.id)); + this.leftdata = [...bq]; + }); }); }, getlist() { groupsandlist(this.pages).then((res) => { this.initTableData = [...res.data.items]; this.tableData = res.data.items; + this.quckDepartment=res.data.items; console.log(res); }); }, @@ -1259,6 +1664,12 @@ export default { }; diff --git a/src/views/fee-settings/Item.vue b/src/views/fee-settings/Item.vue index f7aa875..b23f79a 100644 --- a/src/views/fee-settings/Item.vue +++ b/src/views/fee-settings/Item.vue @@ -36,7 +36,7 @@ :data="tableData" style="width: 100%" row-key="id" - :height="window.pageHeight < 600 ? 440 : window.pageHeight - 160" + :height="window.pageHeight < 600 ? 185 : window.pageHeight - 160" class="el-table__body-wrapper tbody" highlight-current-row @row-click="rowick" @@ -430,9 +430,12 @@ border="" :data="reusttableData" @row-click="reustclick" + row-key="id" highlight-current-row style="width: 100%" :height="window.pageHeight < 600 ? 280 : window.pageHeight - 320" + ref="reusttableData" + class="el-table__body-wrappers tbodys" > @@ -444,7 +447,7 @@ @@ -454,19 +457,47 @@ - + + + + - + + + +