pengjun 3 days ago
parent
commit
533790f24c
  1. 3
      src/components/common/AcceptTemplate.vue
  2. 289
      src/components/common/PreAsbitem.vue
  3. 100
      src/views/basic-dictionary/acceptTempPlateList.vue

3
src/components/common/AcceptTemplate.vue

@ -123,7 +123,7 @@ export default {
// //
mounted() { mounted() {
this.getAcceptTempPalte(this.refParams.id)
}, },
computed: { computed: {
@ -176,6 +176,7 @@ export default {
postapi(url, this.form) postapi(url, this.form)
.then(res => { .then(res => {
if (res.code > -1) { if (res.code > -1) {
this.$message.success({showClose:true,message:'操作成功!'})
if (!this.form.id && res.data?.id) this.form.id = res.data.id if (!this.form.id && res.data?.id) this.form.id = res.data.id
} }
}) })

289
src/components/common/PreAsbitem.vue

@ -4,25 +4,23 @@
<!--未选组合项目--> <!--未选组合项目-->
<div style="display: block; width:260px;"> <div style="display: block; width:260px;">
<div> <div>
<span style="padding: 5px;font-size: 14px;font-weight: 400;color: #232748;font-family: NotoSansSC-Regular;margin-bottom: 10px;">项目类别</span>
<span
style="padding: 5px;font-size: 14px;font-weight: 400;color: #232748;font-family: NotoSansSC-Regular;margin-bottom: 10px;">项目类别</span>
<el-cascader :options="dict.itemTypeTree" v-model="itemTypeIds" <el-cascader :options="dict.itemTypeTree" v-model="itemTypeIds"
:props="{ checkStrictly: true, expandTrigger: 'hover', ...customerOrg.treeprops, }" popper-class="example" @change="getAsbItemByItemType" size="small" ref="itemTypeIds">
:props="{ checkStrictly: true, expandTrigger: 'hover', ...customerOrg.treeprops, }" popper-class="example"
@change="getAsbItemByItemType" size="small" ref="itemTypeIds">
</el-cascader> </el-cascader>
</div> </div>
<div class="box"> <div class="box">
<el-table :data="dict.asbItem" size="small" highlight-current-row
:height="window.pageHeight < 600 ? 190:Math.floor((window.pageHeight - 230) / 2)"
@row-dblclick="dbClickChoosedAsb" row-key="id" border
@selection-change="selectLeft"
<el-table :data="dict.asbItem" size="small" highlight-current-row
:height="window.pageHeight < 600 ? 190 : Math.floor((window.pageHeight - 230) / 2)"
@row-dblclick="dbClickChoosedAsb" row-key="id" border @selection-change="selectLeft"
@row-click="chooseAsbItem"> @row-click="chooseAsbItem">
<!-- <!--
<el-table-column type="selection" align="center" ></el-table-column> <el-table-column type="selection" align="center" ></el-table-column>
--> -->
<el-table-column type="index" align="center" min-width="40" label="序号"/>
<el-table-column
label="未选组合项目" min-width="170"
prop="displayName" align="center"
></el-table-column>
<el-table-column type="index" align="center" min-width="40" label="序号" />
<el-table-column label="未选组合项目" min-width="170" prop="displayName" align="center"></el-table-column>
</el-table> </el-table>
</div> </div>
</div> </div>
@ -30,87 +28,81 @@
<!--中间操作按钮--> <!--中间操作按钮-->
<div style="display: flex;margin: 0px 10px 0px;flex-direction: column;justify-content: center;"> <div style="display: flex;margin: 0px 10px 0px;flex-direction: column;justify-content: center;">
<div> <div>
<el-button class="commonbutton" @click="addAbs(asbItemChoosed,'choosed')" >添加 <i class="el-icon-arrow-right"></i></el-button>
<el-button class="commonbutton" @click="addAbs(asbItemChoosed, 'choosed')">添加 <i
class="el-icon-arrow-right"></i></el-button>
</div> </div>
<div style="margin-top: 10px"> <div style="margin-top: 10px">
<el-button class="difference" @click="addAbs(asbItemChoosed,'all')">全部添加</el-button>
<el-button class="difference" @click="addAbs(asbItemChoosed, 'all')">全部添加</el-button>
</div> </div>
<div style="margin-top: 10px"> <div style="margin-top: 10px">
<el-button class="commonbutton"
@click="delAbs(medicalPackageAsbitemsChoosed,'choosed')">移除 <i class="el-icon-arrow-left"></i
></el-button>
<el-button class="commonbutton" @click="delAbs(medicalPackageAsbitemsChoosed, 'choosed')">移除 <i
class="el-icon-arrow-left"></i></el-button>
</div> </div>
<div style="margin-top: 10px"> <div style="margin-top: 10px">
<el-button class="difference" @click="delAbs(medicalPackageAsbitemsChoosed,'all')">全部移除</el-button>
</div>
<el-button class="difference" @click="delAbs(medicalPackageAsbitemsChoosed, 'all')">全部移除</el-button>
</div>
</div> </div>
<!--已选组合项目--> <!--已选组合项目-->
<div :style="'display: block; width:' + (window.pageWidth - 310 - 280 - 120 - 45 - 110) + 'px;'"> <div :style="'display: block; width:' + (window.pageWidth - 310 - 280 - 120 - 45 - 110) + 'px;'">
<div style="height:32px;"> <div style="height:32px;">
<span style="padding: 5px;font-size: 14px;font-weight: 400;color: #232748;font-family: NotoSansSC-Regular;margin-bottom: 10px;">快速选择</span>
<el-select v-model="asbItemId" placeholder="快速选择组合项目" size="small"
filterable default-first-option :filter-method="filterMethod"
clearable @clear="quickAsb = deepCopy(dict.asbItemQuick)"
<span
style="padding: 5px;font-size: 14px;font-weight: 400;color: #232748;font-family: NotoSansSC-Regular;margin-bottom: 10px;">快速选择</span>
<el-select v-model="asbItemId" placeholder="快速选择组合项目" size="small" filterable default-first-option
:filter-method="filterMethod" clearable @clear="quickAsb = deepCopy(dict.asbItemQuick)"
@change="quickChoosedAsb" ref="quickAsbOCX"> @change="quickChoosedAsb" ref="quickAsbOCX">
<el-option v-for="item in quickAsb" :key="item.id" :value="item.id" :label="item.displayName" /> <el-option v-for="item in quickAsb" :key="item.id" :value="item.id" :label="item.displayName" />
</el-select> </el-select>
</div> </div>
<div class="box"> <div class="box">
<el-table :data="medicalPackageAsbitems" size="small" border
@selection-change="selectRight" highlight-current-row
:height="window.pageHeight < 600 ? 190:Math.floor((window.pageHeight - 230) / 2)"
@row-dblclick="removeAbs"
@row-click="removeAsbItem" ref="tablemedicalPackageAsbitems">
<el-table :data="medicalPackageAsbitems" size="small" border @selection-change="selectRight"
highlight-current-row :height="window.pageHeight < 600 ? 190 : Math.floor((window.pageHeight - 230) / 2)"
@row-dblclick="removeAbs" @row-click="removeAsbItem" ref="tablemedicalPackageAsbitems">
<!-- <!--
<el-table-column type="selection"></el-table-column> <el-table-column type="selection"></el-table-column>
--> -->
<el-table-column type="index" min-width="40" align="center" label="序号"/>
<el-table-column
label="已选组合项目"
min-width="120"
prop="displayName"
></el-table-column>
<el-table-column type="index" min-width="40" align="center" label="序号" />
<el-table-column label="已选组合项目" min-width="120" prop="displayName"></el-table-column>
</el-table> </el-table>
</div> </div>
</div> </div>
<!--批量操作按钮复制套餐与分组--> <!--批量操作按钮复制套餐与分组-->
<div style="margin: 190px 0 0 10px;">
<div style="margin: 190px 0 0 10px;">
<el-button class="commonbutton" @click="btnSave">确定</el-button> <el-button class="commonbutton" @click="btnSave">确定</el-button>
</div> </div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import moment from 'moment'; import moment from 'moment';
import { mapState } from "vuex"; import { mapState } from "vuex";
import { getapi, postapi, putapi } from "@/api/api"; import { getapi, postapi, putapi } from "@/api/api";
import { arrayExistObj, tcdate, arrayFilter, arrayReduce, deepCopy,dddw } from "../../utlis/proFunc";
import { arrayExistObj, tcdate, arrayFilter, arrayReduce, deepCopy, dddw } from "../../utlis/proFunc";
export default { export default {
props:['asbitemId','PreAsbitemBrush'],
props: ['asbitemId', 'PreAsbitemBrush'],
data() { data() {
return { return {
packagePrice:0, //
medicalPackageAsbitems:[], //
medicalPackageAsbitemsChoosed:[], //()
itemTypeIds:[], //
asbItemId:'', //ID
quickAsb:[], //
packagePrice: 0, //
medicalPackageAsbitems: [], //
medicalPackageAsbitemsChoosed: [], //()
itemTypeIds: [], //
asbItemId: '', //ID
quickAsb: [], //
asbItemChoosed: [], // asbItemChoosed: [], //
startPoint:-1,
PstartPoint:-1,
startPoint: -1,
PstartPoint: -1,
medicalPackageVisble: false, //
curPackageId: '', //ID
packageAsbitems: [], //
medicalPackageVisble:false, //
curPackageId:'', //ID
packageAsbitems:[], //
selecteddata: [], // selecteddata: [], //
unselecteddata: [], // unselecteddata: [], //
rightselctedata: [], // rightselctedata: [], //
@ -128,27 +120,27 @@ export default {
}; };
}, },
computed: { computed: {
...mapState(["window","dict","customerOrg"]),
...mapState(["window", "dict", "customerOrg"]),
}, },
created() { created() {
this.dictInit() this.dictInit()
}, },
updated () {
updated() {
this.refreshTable('tablemedicalPackageAsbitems') this.refreshTable('tablemedicalPackageAsbitems')
}, },
methods: { methods: {
moment,dddw,deepCopy,
moment, dddw, deepCopy,
// //
refreshTable(tableRef){
refreshTable(tableRef) {
this.$nextTick(() => { this.$nextTick(() => {
this.$refs[tableRef].doLayout() this.$refs[tableRef].doLayout()
}) })
}, },
// //
dictInit(){
dictInit() {
// //
getapi("/api/app/item-type/by-code-all").then((res) => { getapi("/api/app/item-type/by-code-all").then((res) => {
if (res.code != -1) { if (res.code != -1) {
@ -158,7 +150,7 @@ export default {
}); });
// //
postapi("/api/app/asbitem/GetBasicList",{isFilterActive:'Y'}).then((res) => {
postapi("/api/app/asbitem/GetBasicList", { isFilterActive: 'Y' }).then((res) => {
if (res.code != -1) { if (res.code != -1) {
this.dict.asbItemAll = res.data; this.dict.asbItemAll = res.data;
this.dict.asbItemAll.forEach(e => { this.dict.asbItemAll.forEach(e => {
@ -171,7 +163,7 @@ export default {
}); });
// //
postapi("/api/app/medicalpackage/getmedicalpackagelist",{}).then((res) => {
postapi("/api/app/medicalpackage/getmedicalpackagelist", {}).then((res) => {
if (res.code != -1) { if (res.code != -1) {
this.dict.medicalPackage = res.data; this.dict.medicalPackage = res.data;
} }
@ -179,7 +171,7 @@ export default {
}, },
// //
getAsbItemByItemTypeAll() { getAsbItemByItemTypeAll() {
@ -203,11 +195,11 @@ export default {
getAsbItemByItemType(e) { getAsbItemByItemType(e) {
this.getAsbItemByItemTypeAll() this.getAsbItemByItemTypeAll()
// //
let choosed = [].concat(this.medicalPackageAsbitems,[{asbitemId:this.asbitemId}])
let choosed = [].concat(this.medicalPackageAsbitems, [{ asbitemId: this.asbitemId }])
arrayReduce(this.dict.asbItem, choosed, "id=asbitemId"); arrayReduce(this.dict.asbItem, choosed, "id=asbitemId");
arrayReduce(this.dict.asbItemQuick, choosed, "id=asbitemId"); arrayReduce(this.dict.asbItemQuick, choosed, "id=asbitemId");
this.quickAsb = Object.assign(this.dict.asbItemQuick) this.quickAsb = Object.assign(this.dict.asbItemQuick)
if(e){
if (e) {
this.$refs.itemTypeIds.toggleDropDownVisible(); this.$refs.itemTypeIds.toggleDropDownVisible();
} }
}, },
@ -231,24 +223,24 @@ export default {
// //
///api/app/register-asbitem/many/3fa85f64-5717-4562-b3fc-2c963f66afa6' ///api/app/register-asbitem/many/3fa85f64-5717-4562-b3fc-2c963f66afa6'
async addAbs(asbItemChoosed,oprType) {
async addAbs(asbItemChoosed, oprType) {
// console.log('this.medicalPackage',this.medicalPackage) // console.log('this.medicalPackage',this.medicalPackage)
// console.log('asbItemChoosed', asbItemChoosed) // console.log('asbItemChoosed', asbItemChoosed)
if(!this.asbitemId){
this.$message.warning({ showClose: true, message: "请先选中组合项目"})
if (!this.asbitemId) {
this.$message.warning({ showClose: true, message: "请先选中组合项目" })
return return
} }
let lfind = -1 let lfind = -1
//oprType //oprType
// start // start
if(oprType && oprType == 'all'){
if (oprType && oprType == 'all') {
asbItemChoosed = deepCopy(this.dict.asbItem) asbItemChoosed = deepCopy(this.dict.asbItem)
}else if(oprType && oprType == 'choosed'){
asbItemChoosed = []
this.dict.asbItem.forEach(e =>{
if(e.choosed){
} else if (oprType && oprType == 'choosed') {
asbItemChoosed = []
this.dict.asbItem.forEach(e => {
if (e.choosed) {
asbItemChoosed.push(e) asbItemChoosed.push(e)
e.choosed = false e.choosed = false
} }
@ -257,24 +249,24 @@ export default {
// end // end
if (asbItemChoosed.length < 1) { if (asbItemChoosed.length < 1) {
this.$message.warning({ showClose: true, message: "请选择要添加的组合项目"})
this.$message.warning({ showClose: true, message: "请选择要添加的组合项目" })
return return
} }
// //
arrayReduce(asbItemChoosed, this.medicalPackageAsbitems, "id=asbitemId") arrayReduce(asbItemChoosed, this.medicalPackageAsbitems, "id=asbitemId")
for (let i = 0; i < asbItemChoosed.length; i++) { for (let i = 0; i < asbItemChoosed.length; i++) {
let pojo = { let pojo = {
asbitemId: asbItemChoosed[i].id, asbitemId: asbItemChoosed[i].id,
displayName:asbItemChoosed[i].displayName
displayName: asbItemChoosed[i].displayName
} }
this.medicalPackageAsbitems.push(pojo) this.medicalPackageAsbitems.push(pojo)
//this.medicalPackageAsbitems.push({ ...pojo, asbitemName: asbItemChoosed[i].displayName }) //this.medicalPackageAsbitems.push({ ...pojo, asbitemName: asbItemChoosed[i].displayName })
lfind = arrayExistObj(this.dict.asbItem, 'id', asbItemChoosed[i].id) lfind = arrayExistObj(this.dict.asbItem, 'id', asbItemChoosed[i].id)
if (lfind > -1) this.dict.asbItem.splice(lfind, 1) if (lfind > -1) this.dict.asbItem.splice(lfind, 1)
@ -283,7 +275,7 @@ export default {
} }
}, },
// //
@ -299,28 +291,28 @@ export default {
if (lfind > -1) { if (lfind > -1) {
this.addAbs([this.dict.asbItemQuick[lfind]]) this.addAbs([this.dict.asbItemQuick[lfind]])
} }
}
}
this.$nextTick(() => {
this.$nextTick(() => {
this.$refs['quickAsbOCX'].blur(); //total asbItemId this.$refs['quickAsbOCX'].blur(); //total asbItemId
this.asbItemId = '' this.asbItemId = ''
this.quickAsb = deepCopy(this.dict.asbItemQuick)
this.quickAsb = deepCopy(this.dict.asbItemQuick)
this.$refs['quickAsbOCX'].focus(); //total asbItemId this.$refs['quickAsbOCX'].focus(); //total asbItemId
}); });
}, },
// //
chooseAsbItem(row){
this.dict.asbItem.forEach((e,index) => {
e.index = index;
chooseAsbItem(row) {
this.dict.asbItem.forEach((e, index) => {
e.index = index;
return e return e
}); });
// shift // shift
if (this.window.shift) {
if (this.window.shift) {
// //
this.dict.asbItem.forEach(e => { this.dict.asbItem.forEach(e => {
e.choosed = false;
e.choosed = false;
return e return e
}); });
@ -343,42 +335,42 @@ export default {
} }
// ctrl // ctrl
if (this.window.ctrl) {
console.log('this.window.ctrl',this.window.ctrl,this.dict.asbItem)
if (this.window.ctrl) {
console.log('this.window.ctrl', this.window.ctrl, this.dict.asbItem)
this.dict.asbItem[row.index].choosed = true; this.dict.asbItem[row.index].choosed = true;
this.startPoint = row.index; this.startPoint = row.index;
return
return
} }
// ctrl shift // ctrl shift
// //
//console.log('') //console.log('')
this.dict.asbItem.forEach(e => { this.dict.asbItem.forEach(e => {
e.choosed = false;
e.choosed = false;
return e return e
}); });
this.dict.asbItem[row.index].choosed = true; this.dict.asbItem[row.index].choosed = true;
this.startPoint = row.index;
this.startPoint = row.index;
}, },
// //
///api/app/register-asbitem/many?RegisterAsbitemIds=3fa85f64-5717-4562-b3fc-2c963f66afa6 ///api/app/register-asbitem/many?RegisterAsbitemIds=3fa85f64-5717-4562-b3fc-2c963f66afa6
delAbs(absForDel,oprType) {
if(!this.asbitemId){
this.$message.warning({ showClose: true, message: "请先选中组合项目"})
delAbs(absForDel, oprType) {
if (!this.asbitemId) {
this.$message.warning({ showClose: true, message: "请先选中组合项目" })
return return
}
}
let lfind = -1 let lfind = -1
// start // start
if(oprType && oprType == 'all'){
if (oprType && oprType == 'all') {
absForDel = deepCopy(this.medicalPackageAsbitems) absForDel = deepCopy(this.medicalPackageAsbitems)
}else if(oprType && oprType == 'choosed'){
absForDel = []
this.medicalPackageAsbitems.forEach(e =>{
if(e.choosed){
} else if (oprType && oprType == 'choosed') {
absForDel = []
this.medicalPackageAsbitems.forEach(e => {
if (e.choosed) {
absForDel.push(deepCopy(e)) absForDel.push(deepCopy(e))
e.choosed = false e.choosed = false
} }
@ -387,23 +379,23 @@ export default {
// end // end
if (absForDel.length < 1) { if (absForDel.length < 1) {
this.$message.warning({ showClose: true, message: "请选择要移除的组合项目"})
this.$message.warning({ showClose: true, message: "请选择要移除的组合项目" })
return return
} }
for (let i = 0; i < absForDel.length; i++) { for (let i = 0; i < absForDel.length; i++) {
lfind = arrayExistObj(this.medicalPackageAsbitems, 'asbitemId', absForDel[i].asbitemId) lfind = arrayExistObj(this.medicalPackageAsbitems, 'asbitemId', absForDel[i].asbitemId)
if (lfind > -1) this.medicalPackageAsbitems.splice(lfind, 1) if (lfind > -1) this.medicalPackageAsbitems.splice(lfind, 1)
absForDel.splice(i, 1) absForDel.splice(i, 1)
i-- i--
continue continue
} }
// //
this.getAsbItemByItemType()
this.getAsbItemByItemType()
}, },
@ -413,16 +405,16 @@ export default {
}, },
// //
removeAsbItem(row){
this.medicalPackageAsbitems.forEach((e,index) => {
e.index = index;
removeAsbItem(row) {
this.medicalPackageAsbitems.forEach((e, index) => {
e.index = index;
return e return e
}); });
// shift // shift
if (this.window.shift) {
if (this.window.shift) {
// //
this.medicalPackageAsbitems.forEach(e => { this.medicalPackageAsbitems.forEach(e => {
e.choosed = false;
e.choosed = false;
return e return e
}); });
@ -445,96 +437,98 @@ export default {
} }
// ctrl // ctrl
if (this.window.ctrl) {
console.log('this.window.ctrl',this.window.ctrl,this.medicalPackageAsbitems)
if (this.window.ctrl) {
console.log('this.window.ctrl', this.window.ctrl, this.medicalPackageAsbitems)
this.medicalPackageAsbitems[row.index].choosed = true; this.medicalPackageAsbitems[row.index].choosed = true;
this.PstartPoint = row.index; this.PstartPoint = row.index;
return
return
} }
// ctrl shift // ctrl shift
// //
//console.log('') //console.log('')
this.medicalPackageAsbitems.forEach(e => { this.medicalPackageAsbitems.forEach(e => {
e.choosed = false;
e.choosed = false;
return e return e
}); });
this.medicalPackageAsbitems[row.index].choosed = true; this.medicalPackageAsbitems[row.index].choosed = true;
this.PstartPoint = row.index;
this.PstartPoint = row.index;
}, },
// //
btnSave() { btnSave() {
if(!this.asbitemId){
this.$message.warning({ showClose: true, message: "请先选中组合项目"})
if (!this.asbitemId) {
this.$message.warning({ showClose: true, message: "请先选中组合项目" })
return return
}
}
let body = { let body = {
asbitemId:this.asbitemId,
mutualExclusionAsbitemIds:[]
asbitemId: this.asbitemId,
preCheckAsbitemIds: []
} }
this.medicalPackageAsbitems.forEach(e =>{
body.mutualExclusionAsbitemIds.push(e.asbitemId)
this.medicalPackageAsbitems.forEach(e => {
body.preCheckAsbitemIds.push(e.asbitemId)
}) })
// /api/app/medical-package-detail/many // /api/app/medical-package-detail/many
postapi('/api/app/AsbitemMutualExclusion/UpdateAsbitemMutualExclusion',body
).then(res => {
if(res.code > -1){
this.$message.success({showClose:true,message:'操作成功!'})
postapi('/api/app/PreCheckAsbitem/UpdatePreCheckAsbitem', body
).then(res => {
if (res.code > -1) {
this.$message.success({ showClose: true, message: '操作成功!' })
} }
}) })
}, },
// //
selectRight(val) { selectRight(val) {
this.medicalPackageAsbitemsChoosed = val; this.medicalPackageAsbitemsChoosed = val;
}, },
// //
selectLeft(val) {
selectLeft(val) {
this.asbItemChoosed = val; this.asbItemChoosed = val;
}, },
// //
getPreAsbitems(asbitemId) { getPreAsbitems(asbitemId) {
if(asbitemId){
postapi('/api/app/AsbitemMutualExclusion/GetAsbitemMutualExclusionByAsbitemId',{asbitemId}).then((res) => {
if(res.code != -1){
this.medicalPackageAsbitems = res.data.details;
this.medicalPackageAsbitems.forEach(e => {
e.asbitemId = e.mutualExclusionAsbitemId
e.displayName = e.mutualExclusionAsbitemName
});
if (asbitemId) {
postapi('/api/app/PreCheckAsbitem/GetPreCheckAsbitemByAsbitemId', { asbitemId }).then((res) => {
if (res.code != -1) {
this.medicalPackageAsbitems = res.data;
if (this.medicalPackageAsbitems.length > 0) {
this.medicalPackageAsbitems.forEach(e => {
e.asbitemId = e.preCheckAsbitemId
e.displayName = e.preCheckAsbitemName
});
}
this.getAsbItemByItemType() this.getAsbItemByItemType()
}
}
}); });
}else{
} else {
this.medicalPackageAsbitems = [] this.medicalPackageAsbitems = []
this.getAsbItemByItemType() this.getAsbItemByItemType()
}
}
}, },
}, },
// //
watch: { watch: {
// //
"PreAsbitemBrush"(newVal, oldVal) { "PreAsbitemBrush"(newVal, oldVal) {
console.log("asbitemId ",newVal,oldVal);
console.log("asbitemId ", newVal, oldVal);
if (newVal != oldVal) { if (newVal != oldVal) {
this.getPreAsbitems(this.asbitemId); this.getPreAsbitems(this.asbitemId);
} }
@ -543,10 +537,7 @@ export default {
}; };
</script> </script>
<style scoped> <style scoped>
.box {
.box {
margin-top: 5px; margin-top: 5px;
} }
</style> </style>

100
src/views/basic-dictionary/acceptTempPlateList.vue

@ -12,7 +12,7 @@
<div id="printTest"> <div id="printTest">
<el-table :data="tableData" row-key="id" class="el-table__body-wrapper tbody" @row-click="rowick" <el-table :data="tableData" row-key="id" class="el-table__body-wrapper tbody" @row-click="rowick"
@row-dblclick="dblClick" highlight-current-row @row-dblclick="dblClick" highlight-current-row
:height="window.pageHeight < 600 ? 480 : window.pageHeight - 130" ref="tableData">
:height="window.pageHeight < 600 ? 480 : window.pageHeight - 130" ref="refIdAcceptTempPlate">
<el-table-column prop="id" label="编号" width="300"> <el-table-column prop="id" label="编号" width="300">
</el-table-column> </el-table-column>
<el-table-column prop="displayName" label="名称" width=""> <el-table-column prop="displayName" label="名称" width="">
@ -65,12 +65,12 @@
<el-button type="" :disabled="isshow" @click="cancellation" class="commonbutton">取消</el-button> <el-button type="" :disabled="isshow" @click="cancellation" class="commonbutton">取消</el-button>
</div> </div>
--> -->
</div>
</div>
</div> </div>
<!-- 模板设计 --> <!-- 模板设计 -->
<el-dialog title="模板设计" :visible.sync="dialogWin.acceptTemplate" :append-to-body="true" <el-dialog title="模板设计" :visible.sync="dialogWin.acceptTemplate" :append-to-body="true"
:close-on-click-modal="false" fullscreen> :close-on-click-modal="false" fullscreen>
<AcceptTemplate :refParams="acceptTemplateParams" :refFun="getlist"/>
<AcceptTemplate :refParams="acceptTemplateParams" :refFun="getlist" />
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
@ -88,6 +88,7 @@ import {
} from "../../request/systemapi"; } from "../../request/systemapi";
import { postapi } from "@/api/api"; import { postapi } from "@/api/api";
import AcceptTemplate from "@/components/common/AcceptTemplate.vue"; import AcceptTemplate from "@/components/common/AcceptTemplate.vue";
import { arrayExistObj } from "@/utlis/proFunc";
export default { export default {
components: { components: {
@ -96,11 +97,11 @@ export default {
data() { data() {
return { return {
isshow: true, isshow: true,
tableData: [], tableData: [],
initTableData: [], initTableData: [],
curRow: {}, curRow: {},
clickTime1: 0, clickTime1: 0,
clickTime2: 0, clickTime2: 0,
@ -118,7 +119,7 @@ export default {
this.rowDrop(); this.rowDrop();
}, },
computed: { computed: {
...mapState(["window","dialogWin"]),
...mapState(["window", "dialogWin"]),
}, },
methods: { methods: {
@ -128,15 +129,16 @@ export default {
//this.acceptTemplateParams.id = this.curRow.id || '' //this.acceptTemplateParams.id = this.curRow.id || ''
this.acceptTemplateParams.brushTimes++ this.acceptTemplateParams.brushTimes++
}, },
//id //id
rowick(row) { rowick(row) {
this.clickTime1 = new Date().getTime(); this.clickTime1 = new Date().getTime();
setTimeout(() => {
if (this.clickTime1 > this.clickTime2) {
this.curRow = { ...row };
}
}, 400);
this.curRow = row
// setTimeout(() => {
// if (this.clickTime1 > this.clickTime2) {
// this.curRow = { ...row };
// }
// }, 400);
}, },
dblClick(row) { dblClick(row) {
this.clickTime2 = new Date().getTime(); this.clickTime2 = new Date().getTime();
@ -266,55 +268,71 @@ export default {
// //
btnDel() { btnDel() {
this.form = { ...this.curRow };
if (this.form.id == undefined) {
if (!this.curRow.id) {
this.$message.warning("请选择删除的数据"); this.$message.warning("请选择删除的数据");
} else {
this.$confirm("是否确认删除,是否继续", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
cancelButtonClass: "difference",
confirmButtonClass: "commonbutton"
})
.then(() => {
deletecol(this.form.id).then((res) => {
if (res.code != -1) {
this.curRow = this.$options.data().curRow
this.getlist();
//this.$message.success('')
}
});
})
.catch(() => { });
// deletecol(this.form.id).then((res) => {
// console.log("");
// this.getlist();
// });
return
} }
this.$confirm("是否确认删除,是否继续", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
cancelButtonClass: "difference",
confirmButtonClass: "commonbutton"
})
.then(() => {
return postapi('/api/app/InformedConsentTemplate/Delete',{informedConsentTemplateId:this.curRow.id})
})
.then(res => {
if(res.code > -1){
this.$message.success({showClose:true,message:'操作成功!'})
let lfind = arrayExistObj(this.tableData,'id',this.curRow.id)
if(lfind > -1){
this.tableData.splice(lfind,1)
this.curRow = {}
}
}
})
.catch(() => { });
}, },
//btnEdit //btnEdit
btnEdit() { btnEdit() {
if(!this.curRow?.id){
this.$message.warning({showClose:true,message:'没有选择操作的模板'})
if (!this.curRow?.id) {
this.$message.warning({ showClose: true, message: '没有选择操作的模板' })
return return
} }
this.acceptTemplateParams.id = this.curRow.id this.acceptTemplateParams.id = this.curRow.id
this.dispAcceptTemplate() this.dispAcceptTemplate()
}, },
// //
btnAdd() { btnAdd() {
this.acceptTemplateParams.id = '' this.acceptTemplateParams.id = ''
this.dispAcceptTemplate()
this.dispAcceptTemplate()
}, },
// //
getlist(id) { getlist(id) {
console.log('getlist',id)
this.tableData = []
this.curRow = {}
postapi('/api/app/InformedConsentTemplate/GetList') postapi('/api/app/InformedConsentTemplate/GetList')
.then(res => { .then(res => {
if (res.code > -1) {
if (res.code > -1) {
this.tableData = res.data; this.tableData = res.data;
// id
if(id){
let lfind = arrayExistObj(this.tableData,'id',id)
if(lfind > -1){
this.curRow = this.tableData[lfind]
this.$refs.refIdAcceptTempPlate.setCurrentRow(this.curRow);
}
// this.$refs.multipleTable.toggleRowSelection(row);
// this.$refs.multipleTable.clearSelection();
}
} }
}) })
}, },

Loading…
Cancel
Save