|
|
|
@ -5,103 +5,83 @@ |
|
|
|
<div style="display: block; width:300px;"> |
|
|
|
<div> |
|
|
|
<span>项目类别</span> |
|
|
|
<el-cascader :options="dict.itemTypeTree" v-model="itemTypeIds" popper-class="example" style="margin-left: 3px;width:240px;" |
|
|
|
:props="{ checkStrictly: true, expandTrigger: 'hover', ...customerOrg.treeprops, }" |
|
|
|
clearable filterable @change="getAsbItemByItemType" size="small"> |
|
|
|
<el-cascader :options="dict.itemTypeTree" v-model="itemTypeIds" popper-class="example" |
|
|
|
style="margin-left: 3px;width:240px;" |
|
|
|
:props="{ checkStrictly: true, expandTrigger: 'hover', ...customerOrg.treeprops, }" clearable filterable |
|
|
|
@change="getAsbItemByItemType" size="small"> |
|
|
|
</el-cascader> |
|
|
|
</div> |
|
|
|
<div class="box"> |
|
|
|
<el-table :data="dict.asbItem" border size="small" highlight-current-row |
|
|
|
:height="tableHeight" |
|
|
|
@row-dblclick="dbClickChoosedAsb" row-key="id" |
|
|
|
@selection-change="selectLeft" :row-class-name="handleRowClassName" |
|
|
|
@row-click="chooseAsbItem"> |
|
|
|
<el-table :data="dict.asbItem" border size="small" highlight-current-row :height="tableHeight" |
|
|
|
@row-dblclick="dbClickChoosedAsb" row-key="id" @selection-change="selectLeft" |
|
|
|
:row-class-name="handleRowClassName" @row-click="chooseAsbItem"> |
|
|
|
<!-- |
|
|
|
<el-table-column type="selection" align="center" ></el-table-column> |
|
|
|
--> |
|
|
|
<el-table-column type="index" align="center" width="40"/> |
|
|
|
<el-table-column |
|
|
|
label="未选组合项目" min-width="170" |
|
|
|
prop="displayName" align="center" |
|
|
|
></el-table-column> |
|
|
|
<el-table-column type="index" align="center" width="40" /> |
|
|
|
<el-table-column label="未选组合项目" min-width="170" prop="displayName" align="center"></el-table-column> |
|
|
|
</el-table> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<!--中间操作按钮--> |
|
|
|
<div style="display: block;margin: 40px 10px 0 15px;width:110px;"> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs,'添加')" style="padding: 5px 0;"> |
|
|
|
<el-button class="commonbutton" @click="addAbs(asbItemChoosed,'choosed')" >添加 <i class="el-icon-arrow-right"></i></el-button> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '添加')" style="padding: 5px 0;"> |
|
|
|
<el-button class="commonbutton" @click="addAbs(asbItemChoosed, 'choosed')">添加 <i |
|
|
|
class="el-icon-arrow-right"></i></el-button> |
|
|
|
</div> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs,'全部添加')" style="padding: 5px 0;"> |
|
|
|
<el-button class="difference" @click="addAbs(asbItemChoosed,'all')">全部添加</el-button> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '全部添加')" style="padding: 5px 0;"> |
|
|
|
<el-button class="difference" @click="addAbs(asbItemChoosed, 'all')">全部添加</el-button> |
|
|
|
</div> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs,'移除')" style="padding: 5px 0;"> |
|
|
|
<el-button class="commonbutton" |
|
|
|
@click="delAbs(customerOrgGroupAsbitemsChoosed,'choosed')">移除 <i class="el-icon-arrow-left"></i |
|
|
|
></el-button> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '移除')" style="padding: 5px 0;"> |
|
|
|
<el-button class="commonbutton" @click="delAbs(customerOrgGroupAsbitemsChoosed, 'choosed')">移除 <i |
|
|
|
class="el-icon-arrow-left"></i></el-button> |
|
|
|
</div> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs,'全部移除')" style="padding: 5px 0;"> |
|
|
|
<el-button class="difference" @click="delAbs(customerOrgGroupAsbitemsChoosed,'all')">全部移除</el-button> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '全部移除')" style="padding: 5px 0;"> |
|
|
|
<el-button class="difference" @click="delAbs(customerOrgGroupAsbitemsChoosed, 'all')">全部移除</el-button> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<!--已选组合项目--> |
|
|
|
<div :style="'display: block; width:' + (window.pageWidth - 300 - 120 - window.pageMarginWidth - 110 - 5) + 'px;'"> |
|
|
|
<div |
|
|
|
:style="'display: block; width:' + (window.pageWidth - 300 - 120 - window.pageMarginWidth - 110 - 5) + 'px;'"> |
|
|
|
<div style="height:32px;"> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs,'快速选择')"> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '快速选择')"> |
|
|
|
<span>快速选择</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" |
|
|
|
style="margin-left: 3px;width:240px;"> |
|
|
|
<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" style="margin-left: 3px;width:240px;"> |
|
|
|
<el-option v-for="item in quickAsb" :key="item.id" :value="item.id" :label="item.displayName" /> |
|
|
|
</el-select> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="box"> |
|
|
|
<el-table :data="customerOrgGroupAsbitems" border size="small" |
|
|
|
@selection-change="selectRight" highlight-current-row |
|
|
|
:height="tableHeight" |
|
|
|
:summary-method="getSummaries" show-summary |
|
|
|
:row-class-name="handleRowClassName" @row-dblclick="removeAbs" |
|
|
|
@row-click="removeAsbItem" ref="tableCustomerOrgGroupAsbitems"> |
|
|
|
<el-table :data="customerOrgGroupAsbitems" border size="small" @selection-change="selectRight" |
|
|
|
highlight-current-row :height="tableHeight" :summary-method="getSummaries" show-summary |
|
|
|
:row-class-name="handleRowClassName" @row-dblclick="removeAbs" @row-click="removeAsbItem" |
|
|
|
ref="tableCustomerOrgGroupAsbitems"> |
|
|
|
<!-- |
|
|
|
<el-table-column type="selection"></el-table-column> |
|
|
|
--> |
|
|
|
<el-table-column type="index" width="40" align="center"/> |
|
|
|
<el-table-column |
|
|
|
label="已选组合项目" |
|
|
|
min-width="140" |
|
|
|
prop="displayName" |
|
|
|
></el-table-column> |
|
|
|
<el-table-column label="标准价格" prop="price" min-width="60" align="center"/> |
|
|
|
<el-table-column type="index" width="40" align="center" /> |
|
|
|
<el-table-column label="已选组合项目" min-width="140" prop="displayName"></el-table-column> |
|
|
|
<el-table-column label="标准价格" prop="price" min-width="60" align="center" /> |
|
|
|
<el-table-column label="折扣" min-width="40" align="center"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-input |
|
|
|
@input="changeDiscount(scope.$index)" |
|
|
|
type="number" size="small" |
|
|
|
v-model="scope.row.discount" |
|
|
|
/> |
|
|
|
<el-input @input="changeDiscount(scope.$index)" type="number" size="small" |
|
|
|
v-model="scope.row.discount" /> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column label="应收价格" prop="customerOrgGroupDetailPrice" min-width="60" align="center"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-input |
|
|
|
@input="changePrices(scope.$index)" |
|
|
|
type="number" size="small" |
|
|
|
v-model="scope.row.customerOrgGroupDetailPrice" |
|
|
|
/> |
|
|
|
<el-input @input="changePrices(scope.$index)" type="number" size="small" |
|
|
|
v-model="scope.row.customerOrgGroupDetailPrice" /> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column label="数量" prop="customerOrgGroupDetailAmount" width="50" align="center"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-input |
|
|
|
@input="changePrices(scope.$index)" |
|
|
|
type="number" size="small" |
|
|
|
v-model="scope.row.customerOrgGroupDetailAmount" |
|
|
|
/> |
|
|
|
<el-input @input="changePrices(scope.$index)" type="number" size="small" |
|
|
|
v-model="scope.row.customerOrgGroupDetailAmount" /> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column label="标准金额" prop="asbitemMoney" min-width="60" align="center"> |
|
|
|
@ -114,22 +94,22 @@ |
|
|
|
</div> |
|
|
|
<!--批量操作按钮(复制套餐与分组)--> |
|
|
|
<div style="display: block;margin-left: 5px;"> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs,'复制分组')" style="margin-top: 50px;"> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '复制分组')" style="margin-top: 50px;"> |
|
|
|
<el-button class="commonbutton" @click="btnCopyGroup">复制分组</el-button> |
|
|
|
</div> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs,'复制套餐')" style="margin-top: 10px;"> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '复制套餐')" style="margin-top: 10px;"> |
|
|
|
<el-button class="commonbutton" @click="btnCopyMedicalPackage">复制套餐</el-button> |
|
|
|
</div> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs,'保存')" style="margin-top: 10px;"> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '保存')" style="margin-top: 10px;"> |
|
|
|
<el-button class="commonbutton" @click="btnSave">保存</el-button> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<!--复制套餐--> |
|
|
|
<el-dialog title="体检套餐" :visible.sync="medicalPackageVisble" width="600px" height="400" |
|
|
|
:show-close="false" :close-on-click-modal="false" :append-to-body="true"> |
|
|
|
<el-table :data="dict.medicalPackage" border height="350" row-key="id" size="small" |
|
|
|
highlight-current-row @row-click="packageRowClick" @row-dblclick="rowDblclick" ref="patientList" > |
|
|
|
<el-dialog title="体检套餐" :visible.sync="medicalPackageVisble" width="600px" height="400" :show-close="false" |
|
|
|
:close-on-click-modal="false" :append-to-body="true"> |
|
|
|
<el-table :data="dict.medicalPackage" border height="350" row-key="id" size="small" highlight-current-row |
|
|
|
@row-click="packageRowClick" @row-dblclick="rowDblclick" ref="patientList"> |
|
|
|
|
|
|
|
<!-- "displayName": "健康体检套餐", |
|
|
|
"price": 20.00, |
|
|
|
@ -146,8 +126,8 @@ |
|
|
|
"creatorId": "3a0c4180-107c-0c89-b25b-0bd34666dcec", |
|
|
|
"id": "3a0c51d3-2345-38df-ba0b-1862a3c3606f" --> |
|
|
|
<el-table-column type="index" width="50" /> |
|
|
|
<el-table-column prop="displayName" label="套餐名称" width="180"/> |
|
|
|
<el-table-column prop="price" label="价格" width="80"/> |
|
|
|
<el-table-column prop="displayName" label="套餐名称" width="180" /> |
|
|
|
<el-table-column prop="price" label="价格" width="80" /> |
|
|
|
<el-table-column prop="forSexId" label="适用性别" width="80"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<div> |
|
|
|
@ -155,8 +135,8 @@ |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="remark" label="备注" width="100"/> |
|
|
|
<el-table-column prop="creatorName" label="创建人员" width="80"/> |
|
|
|
<el-table-column prop="remark" label="备注" width="100" /> |
|
|
|
<el-table-column prop="creatorName" label="创建人员" width="80" /> |
|
|
|
<el-table-column prop="creationTime" label="创建日期" width="100"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<div v-if="scope.row.creationTime"> |
|
|
|
@ -164,7 +144,7 @@ |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="lastModifierName" label="修改人员" width="80"/> |
|
|
|
<el-table-column prop="lastModifierName" label="修改人员" width="80" /> |
|
|
|
<el-table-column prop="lastModificationTime" label="修改日期" width="100"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<div v-if="scope.row.lastModificationTime"> |
|
|
|
@ -180,47 +160,42 @@ |
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
<!--复制分组--> |
|
|
|
<el-dialog title="单位分组" :visible.sync="groupVisble" width="700px" height="500" |
|
|
|
:show-close="false" :close-on-click-modal="false" :append-to-body="true"> |
|
|
|
<el-table |
|
|
|
:data="customerOrgGroups" ref="customerOrgGroups" |
|
|
|
style="margin-top: 2px" |
|
|
|
row-key="id" |
|
|
|
border |
|
|
|
height="240px" |
|
|
|
size="small" |
|
|
|
highlight-current-row :row-class-name="handleRowClassName" |
|
|
|
@row-click="groupRowClick" @row-dblclick="groupRowDblclick" > |
|
|
|
<el-dialog title="单位分组" :visible.sync="groupVisble" width="800px" height="500" :show-close="false" |
|
|
|
:close-on-click-modal="false" :append-to-body="true"> |
|
|
|
<div> |
|
|
|
<div style="display: flex"> |
|
|
|
<div> |
|
|
|
<span>体检单位:</span> |
|
|
|
<el-select v-model="customerOrgId" placeholder="请选择体检单位" :filter-method="filterMethodOrg" default-first-option |
|
|
|
clearable filterable @clear="customerOrgDisp = deepCopy(customerOrgAll)" style="margin-left: 10px" |
|
|
|
@change="changeCustomerOrg" size="small"> |
|
|
|
<el-option v-for="item in customerOrgDisp" :key="item.id" :label="item.displayName" :value="item.id"> |
|
|
|
{{ item.displayName }} |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</div> |
|
|
|
<div style="margin-left: 20px"> |
|
|
|
<span>单位体检次数:</span> |
|
|
|
<el-select v-model="customerOrgRegister" placeholder="次数" style="width: 60px; margin-left: 10px" |
|
|
|
size="small" @change="changeTimes" value-key="id"> |
|
|
|
<el-option v-for="item in customerOrgRegisterList" :key="item.id" :label="item.medicalTimes" |
|
|
|
:value="item" /> |
|
|
|
</el-select> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<el-table :data="customerOrgGroups" ref="customerOrgGroups" style="margin-top: 2px" row-key="id" border |
|
|
|
height="450px" size="small" highlight-current-row :row-class-name="handleRowClassName" |
|
|
|
@row-click="groupRowClick" @row-dblclick="groupRowDblclick"> |
|
|
|
> |
|
|
|
<el-table-column |
|
|
|
type="index" |
|
|
|
label="序号" |
|
|
|
min-width="50" |
|
|
|
align="center" |
|
|
|
/> |
|
|
|
<el-table-column type="index" label="序号" min-width="50" align="center" /> |
|
|
|
<el-table-column prop="displayName" label="名称" min-width="150" /> |
|
|
|
<el-table-column |
|
|
|
prop="price" |
|
|
|
label="价格" |
|
|
|
min-width="60" |
|
|
|
align="center" |
|
|
|
/> |
|
|
|
<el-table-column |
|
|
|
prop="forSexId" |
|
|
|
label="适用性别" |
|
|
|
min-width="60" |
|
|
|
align="center" |
|
|
|
> |
|
|
|
<el-table-column prop="price" label="价格" min-width="60" align="center" /> |
|
|
|
<el-table-column prop="forSexId" label="适用性别" min-width="60" align="center"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
{{ dddw(dict.forSex, "id", scope.row.forSexId, "displayName") }} |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="maritalStatusId" |
|
|
|
label="适用婚姻状况" |
|
|
|
min-width="80" |
|
|
|
align="center" |
|
|
|
> |
|
|
|
<el-table-column prop="maritalStatusId" label="适用婚姻状况" min-width="80" align="center"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
{{ |
|
|
|
dddw( |
|
|
|
@ -232,12 +207,7 @@ |
|
|
|
}} |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="creatorName" |
|
|
|
label="创建者" |
|
|
|
min-width="60" |
|
|
|
align="center" |
|
|
|
/> |
|
|
|
<el-table-column prop="creatorName" label="创建者" min-width="60" align="center" /> |
|
|
|
<el-table-column label="创建时间" min-width="150" align="center"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
{{ |
|
|
|
@ -249,20 +219,20 @@ |
|
|
|
</el-table-column> |
|
|
|
<el-table-column label="操作"> |
|
|
|
<template> |
|
|
|
<el-tag |
|
|
|
class="move" |
|
|
|
style="cursor: move; margin-left: 15px" |
|
|
|
draggable="true" |
|
|
|
> |
|
|
|
<el-tag class="move" style="cursor: move; margin-left: 15px" draggable="true"> |
|
|
|
<i class="el-icon-d-caret" style="width: 1rem; height: 1rem"></i> |
|
|
|
</el-tag> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
<div style="display: flex;justify-content: space-between;margin-top: 10px;"> |
|
|
|
<div></div> |
|
|
|
<span slot="footer" class="dialog-footer"> |
|
|
|
<el-button class="commonbutton" @click="groupVisble = false" style="width:90px;">取消</el-button> |
|
|
|
<el-button class="commonbutton" type="primary" @click="copyGroup" style="width:90px;">确定</el-button> |
|
|
|
</span> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</el-dialog> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
@ -270,36 +240,39 @@ |
|
|
|
import moment from 'moment'; |
|
|
|
import { mapState } from "vuex"; |
|
|
|
import { getapi, postapi, putapi } from "@/api/api"; |
|
|
|
import { getPagePriv,checkPagePriv, arrayExistObj, tcdate, arrayFilter, arrayReduce, deepCopy,dddw } from "../../utlis/proFunc"; |
|
|
|
|
|
|
|
import { getPagePriv, checkPagePriv, arrayExistObj, tcdate, arrayFilter, arrayReduce, deepCopy, objCopy,dddw } from "../../utlis/proFunc"; |
|
|
|
|
|
|
|
export default { |
|
|
|
props:['customerOrgGroup','refreshMoney'], |
|
|
|
props: ['customerOrgGroup', 'curOrgGroups','customerOrgAll','curOrgRegister','curOrgRegisterList','refreshMoney'], |
|
|
|
data() { |
|
|
|
return { |
|
|
|
pagePriv:{ |
|
|
|
routeUrlorPageName:'customerOrgGroup', //当前页面归属路由或归属页面权限名称 |
|
|
|
privs:[] // 页面权限 |
|
|
|
pagePriv: { |
|
|
|
routeUrlorPageName: 'customerOrgGroup', //当前页面归属路由或归属页面权限名称 |
|
|
|
privs: [] // 页面权限 |
|
|
|
}, |
|
|
|
groupPrice:0, //分组总价 |
|
|
|
customerOrgGroupAsbitems:[], //分组包含组合项目(显示) |
|
|
|
customerOrgGroupAsbitemsChoosed:[], //分组包含组合项目(显示) 被选中 |
|
|
|
itemTypeIds:[], //项目类别 |
|
|
|
asbItemId:'', //当前快速选到的给合项目ID |
|
|
|
quickAsb:[], //过滤显示的组合项目 |
|
|
|
groupPrice: 0, //分组总价 |
|
|
|
customerOrgGroupAsbitems: [], //分组包含组合项目(显示) |
|
|
|
customerOrgGroupAsbitemsChoosed: [], //分组包含组合项目(显示) 被选中 |
|
|
|
itemTypeIds: [], //项目类别 |
|
|
|
asbItemId: '', //当前快速选到的给合项目ID |
|
|
|
quickAsb: [], //过滤显示的组合项目 |
|
|
|
|
|
|
|
asbItemChoosed: [], //勾选的 未选组合项目 |
|
|
|
startPoint:-1, |
|
|
|
PstartPoint:-1, |
|
|
|
startPoint: -1, |
|
|
|
PstartPoint: -1, |
|
|
|
|
|
|
|
medicalPackageVisble:false, //复制套餐 |
|
|
|
curPackageId:'', //当前选中套餐ID |
|
|
|
packageAsbitems:[], //套餐中包含的组合项目 |
|
|
|
medicalPackageVisble: false, //复制套餐 |
|
|
|
curPackageId: '', //当前选中套餐ID |
|
|
|
packageAsbitems: [], //套餐中包含的组合项目 |
|
|
|
|
|
|
|
groupVisble:false, //复制分组 |
|
|
|
customerOrgGroups:[], //历次分组 |
|
|
|
curGroupId:'', //当前选中套餐ID |
|
|
|
groupAsbitems:[], //选中分组包含组合项目 |
|
|
|
groupVisble: false, //复制分组 |
|
|
|
customerOrgGroups: [], //历次分组 |
|
|
|
curGroupId: '', //当前选中套餐ID |
|
|
|
groupAsbitems: [], //选中分组包含组合项目 |
|
|
|
customerOrgId:'', // 当前选中企业ID |
|
|
|
customerOrgDisp:[], // 显示单位 |
|
|
|
customerOrgRegisterList:[], //当前体检次数集合 |
|
|
|
customerOrgRegister:'', // 当前选择体检次数 |
|
|
|
|
|
|
|
|
|
|
|
dialogVisible: false, |
|
|
|
@ -314,45 +287,48 @@ export default { |
|
|
|
}; |
|
|
|
}, |
|
|
|
computed: { |
|
|
|
...mapState(["window","dict","dataTransOpts", "customerOrg"]), |
|
|
|
...mapState(["window", "dict", "dataTransOpts", "customerOrg"]), |
|
|
|
|
|
|
|
tableHeight(){ |
|
|
|
tableHeight() { |
|
|
|
let height = 600 |
|
|
|
if(this.window.pageHeight > 600){ |
|
|
|
if (this.window.pageHeight > 600) { |
|
|
|
height = this.window.pageHeight |
|
|
|
} |
|
|
|
// console.log(height - this.window.pageHeaderHeight - this.window.pageMarginHeight - 240 - 96 - 10) |
|
|
|
return height - this.window.pageHeaderHeight - this.window.pageMarginHeight - 240 - 96 - 16 |
|
|
|
return height - this.window.pageHeaderHeight - this.window.pageMarginHeight - 240 - 96 - 36 |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
created() { |
|
|
|
|
|
|
|
//获取用户当前页面的权限 |
|
|
|
let userPriv = window.sessionStorage.getItem('userPriv') |
|
|
|
if(userPriv) this.pagePriv.privs = deepCopy(getPagePriv(this.pagePriv.routeUrlorPageName)) |
|
|
|
if (userPriv) this.pagePriv.privs = deepCopy(getPagePriv(this.pagePriv.routeUrlorPageName)) |
|
|
|
|
|
|
|
this.dictInit() |
|
|
|
}, |
|
|
|
mounted() { |
|
|
|
|
|
|
|
this.getCustomerOrgGroupAsbitems(this.customerOrgGroup.id); |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
updated () { |
|
|
|
updated() { |
|
|
|
this.refreshTable('tableCustomerOrgGroupAsbitems') |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
moment,dddw,deepCopy,checkPagePriv, |
|
|
|
moment, dddw, deepCopy, checkPagePriv, |
|
|
|
//表格强制刷新 |
|
|
|
refreshTable(tableRef){ |
|
|
|
refreshTable(tableRef) { |
|
|
|
this.$nextTick(() => { |
|
|
|
this.$refs[tableRef].doLayout() |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
//初始数据 |
|
|
|
dictInit(){ |
|
|
|
dictInit() { |
|
|
|
//体检类别 树结构 |
|
|
|
getapi("/api/app/item-type/by-code-all").then((res) => { |
|
|
|
if (res.code != -1) { |
|
|
|
@ -362,7 +338,7 @@ export default { |
|
|
|
}); |
|
|
|
|
|
|
|
//获取所有组合项目 api/app/asbitem/GetBasicList |
|
|
|
postapi("/api/app/asbitem/GetBasicList",{isFilterActive:'Y'}).then((res) => { |
|
|
|
postapi("/api/app/asbitem/GetBasicList", { isFilterActive: 'Y' }).then((res) => { |
|
|
|
if (res.code != -1) { |
|
|
|
this.dict.asbItemAll = res.data; |
|
|
|
this.dict.asbItemAll.forEach(e => { |
|
|
|
@ -375,7 +351,7 @@ export default { |
|
|
|
}); |
|
|
|
|
|
|
|
//套餐 () |
|
|
|
postapi("/api/app/medicalpackage/getmedicalpackagelist",{}).then((res) => { |
|
|
|
postapi("/api/app/medicalpackage/getmedicalpackagelist", {}).then((res) => { |
|
|
|
if (res.code != -1) { |
|
|
|
this.dict.medicalPackage = res.data; |
|
|
|
} |
|
|
|
@ -383,6 +359,82 @@ export default { |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
// 过滤体检单位 |
|
|
|
filterMethodOrg(keyWords) { |
|
|
|
if (keyWords) { |
|
|
|
this.customerOrgDisp = []; |
|
|
|
this.customerOrgAll.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.customerOrgDisp.push(item); |
|
|
|
} |
|
|
|
}); |
|
|
|
} else { |
|
|
|
this.customerOrgDisp = deepCopy(this.customerOrgAll); |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
//选择单位 |
|
|
|
changeCustomerOrg(v) { |
|
|
|
if (!v) { |
|
|
|
this.customerOrgRegisterList = []; |
|
|
|
this.customerOrgRegister = {}; |
|
|
|
this.customerOrgGroups = []; |
|
|
|
this.isDrag = false; |
|
|
|
this.form.id = ""; |
|
|
|
setTimeout(() => { |
|
|
|
this.dataTransOpts.refresh.customer_org_group_detail.M++; |
|
|
|
}, 20); |
|
|
|
return; |
|
|
|
} |
|
|
|
getapi( |
|
|
|
`/api/app/customerorgregister/getlistincustomerorgid?CustomerOrgId=${v}` |
|
|
|
).then((res) => { |
|
|
|
if (res.code != -1) { |
|
|
|
this.customerOrgRegisterList = res.data; |
|
|
|
if (res.data.length > 0) { |
|
|
|
this.customerOrgRegister = res.data[res.data.length - 1]; |
|
|
|
this.getCustomerOrgGroup(this.customerOrgRegister.id); |
|
|
|
} else { |
|
|
|
this.customerOrgRegister = {}; |
|
|
|
this.customerOrgGroups = []; |
|
|
|
this.isDrag = false; |
|
|
|
} |
|
|
|
objCopy(this.formInit, this.form); |
|
|
|
setTimeout(() => { |
|
|
|
this.dataTransOpts.refresh.customer_org_group_detail.M++; |
|
|
|
}, 20); |
|
|
|
} |
|
|
|
}); |
|
|
|
}, |
|
|
|
|
|
|
|
//选择体检次数 |
|
|
|
changeTimes(v) { |
|
|
|
this.getCustomerOrgGroup(v.id); |
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
//获取体检次数下的分组 |
|
|
|
getCustomerOrgGroup(customerOrgRegisterId) { |
|
|
|
// this.isDrag = false; |
|
|
|
// objCopy(this.formInit, this.form); |
|
|
|
// this.form.customerOrgRegisterId = customerOrgRegisterId; |
|
|
|
this.customerOrgGroups = []; |
|
|
|
getapi( |
|
|
|
`/api/app/customerorggroup/getlistinfilter?CustomerOrgRegisterId=${customerOrgRegisterId}` |
|
|
|
).then((res) => { |
|
|
|
if (res.code != -1) { |
|
|
|
this.customerOrgGroups = res.data; |
|
|
|
this.customerOrgGroups.forEach((e) => { |
|
|
|
e.customerOrgRegisterId = customerOrgRegisterId; |
|
|
|
}); |
|
|
|
} |
|
|
|
}); |
|
|
|
}, |
|
|
|
|
|
|
|
handleRowClassName({ row, rowIndex }) { |
|
|
|
// highLightBg 为 'selected'的高亮 |
|
|
|
//console.log(rowIndex, row) |
|
|
|
@ -441,15 +493,15 @@ export default { |
|
|
|
|
|
|
|
// 添加组合项目 |
|
|
|
///api/app/register-asbitem/many/3fa85f64-5717-4562-b3fc-2c963f66afa6' |
|
|
|
async addAbs(asbItemChoosed,oprType) { |
|
|
|
async addAbs(asbItemChoosed, oprType) { |
|
|
|
// console.log('this.customerOrgGroup',this.customerOrgGroup) |
|
|
|
// console.log('asbItemChoosed', asbItemChoosed) |
|
|
|
if(!this.customerOrgGroup.id){ |
|
|
|
this.$message.warning({ showClose: true, message: "请先选中单位分组"}) |
|
|
|
if (!this.customerOrgGroup.id) { |
|
|
|
this.$message.warning({ showClose: true, message: "请先选中单位分组" }) |
|
|
|
return |
|
|
|
} |
|
|
|
if(this.customerOrgGroup.isComplete && this.customerOrgGroup.isComplete.toUpperCase() == 'Y'){ |
|
|
|
this.$message.warning({ showClose: true, message: "体检次数已完成,不允许操作"}) |
|
|
|
if (this.customerOrgGroup.isComplete && this.customerOrgGroup.isComplete.toUpperCase() == 'Y') { |
|
|
|
this.$message.warning({ showClose: true, message: "体检次数已完成,不允许操作" }) |
|
|
|
return |
|
|
|
} |
|
|
|
let message = [] |
|
|
|
@ -458,12 +510,12 @@ export default { |
|
|
|
|
|
|
|
//oprType 不传值时,兼容勾选方式 |
|
|
|
//勾选时不需要此操作 start |
|
|
|
if(oprType && oprType == 'all'){ |
|
|
|
if (oprType && oprType == 'all') { |
|
|
|
asbItemChoosed = deepCopy(this.dict.asbItem) |
|
|
|
}else if(oprType && oprType == 'choosed'){ |
|
|
|
} else if (oprType && oprType == 'choosed') { |
|
|
|
asbItemChoosed = [] |
|
|
|
this.dict.asbItem.forEach(e =>{ |
|
|
|
if(e.choosed){ |
|
|
|
this.dict.asbItem.forEach(e => { |
|
|
|
if (e.choosed) { |
|
|
|
asbItemChoosed.push(e) |
|
|
|
e.choosed = false |
|
|
|
} |
|
|
|
@ -472,7 +524,7 @@ export default { |
|
|
|
//勾选时不需要此操作 end |
|
|
|
|
|
|
|
if (asbItemChoosed.length < 1) { |
|
|
|
this.$message.warning({ showClose: true, message: "请选择要添加的组合项目"}) |
|
|
|
this.$message.warning({ showClose: true, message: "请选择要添加的组合项目" }) |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
@ -504,7 +556,7 @@ export default { |
|
|
|
if (asbItemChoosed[i].forSexId != this.customerOrgGroup.forSexId) { |
|
|
|
message.push(asbItemChoosed[i].displayName) //.warning(`所选项目:${asbItemChoosed[i].displayName},不适合当前人员性别`) |
|
|
|
checked = false |
|
|
|
asbItemChoosed.splice(i,1) |
|
|
|
asbItemChoosed.splice(i, 1) |
|
|
|
} |
|
|
|
} |
|
|
|
//console.log(222,checked) |
|
|
|
@ -513,11 +565,11 @@ export default { |
|
|
|
for (let i = 0; i < asbItemChoosed.length; i++) { |
|
|
|
let pojo = { |
|
|
|
asbitemId: asbItemChoosed[i].id, |
|
|
|
displayName:asbItemChoosed[i].displayName, |
|
|
|
discount:100, |
|
|
|
customerOrgGroupDetailAmount:1, |
|
|
|
price:asbItemChoosed[i].price, |
|
|
|
customerOrgGroupDetailPrice:asbItemChoosed[i].price, |
|
|
|
displayName: asbItemChoosed[i].displayName, |
|
|
|
discount: 100, |
|
|
|
customerOrgGroupDetailAmount: 1, |
|
|
|
price: asbItemChoosed[i].price, |
|
|
|
customerOrgGroupDetailPrice: asbItemChoosed[i].price, |
|
|
|
customerOrgGroupDetailMoney: asbItemChoosed[i].price, |
|
|
|
asbitemMoney: asbItemChoosed[i].price, |
|
|
|
} |
|
|
|
@ -562,8 +614,8 @@ export default { |
|
|
|
}, |
|
|
|
|
|
|
|
//选择 未选的组合项目 |
|
|
|
chooseAsbItem(row){ |
|
|
|
this.dict.asbItem.forEach((e,index) => { |
|
|
|
chooseAsbItem(row) { |
|
|
|
this.dict.asbItem.forEach((e, index) => { |
|
|
|
e.index = index; |
|
|
|
return e |
|
|
|
}); |
|
|
|
@ -595,7 +647,7 @@ export default { |
|
|
|
|
|
|
|
// 按住了ctrl 键 |
|
|
|
if (this.window.ctrl) { |
|
|
|
console.log('this.window.ctrl',this.window.ctrl,this.dict.asbItem) |
|
|
|
console.log('this.window.ctrl', this.window.ctrl, this.dict.asbItem) |
|
|
|
this.dict.asbItem[row.index].choosed = true; |
|
|
|
this.startPoint = row.index; |
|
|
|
return |
|
|
|
@ -615,13 +667,13 @@ export default { |
|
|
|
|
|
|
|
//删除 人员已选中的组合项目 |
|
|
|
///api/app/register-asbitem/many?RegisterAsbitemIds=3fa85f64-5717-4562-b3fc-2c963f66afa6 |
|
|
|
delAbs(absForDel,oprType) { |
|
|
|
if(!this.customerOrgGroup.id){ |
|
|
|
this.$message.warning({ showClose: true, message: "请先选中单位分组"}) |
|
|
|
delAbs(absForDel, oprType) { |
|
|
|
if (!this.customerOrgGroup.id) { |
|
|
|
this.$message.warning({ showClose: true, message: "请先选中单位分组" }) |
|
|
|
return |
|
|
|
} |
|
|
|
if(this.customerOrgGroup.isComplete && this.customerOrgGroup.isComplete.toUpperCase() == 'Y'){ |
|
|
|
this.$message.warning({ showClose: true, message: "体检次数已完成,不允许操作"}) |
|
|
|
if (this.customerOrgGroup.isComplete && this.customerOrgGroup.isComplete.toUpperCase() == 'Y') { |
|
|
|
this.$message.warning({ showClose: true, message: "体检次数已完成,不允许操作" }) |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
@ -629,12 +681,12 @@ export default { |
|
|
|
let lfind = -1 |
|
|
|
|
|
|
|
//勾选时不需要此操作 start |
|
|
|
if(oprType && oprType == 'all'){ |
|
|
|
if (oprType && oprType == 'all') { |
|
|
|
absForDel = deepCopy(this.customerOrgGroupAsbitems) |
|
|
|
}else if(oprType && oprType == 'choosed'){ |
|
|
|
} else if (oprType && oprType == 'choosed') { |
|
|
|
absForDel = [] |
|
|
|
this.customerOrgGroupAsbitems.forEach(e =>{ |
|
|
|
if(e.choosed){ |
|
|
|
this.customerOrgGroupAsbitems.forEach(e => { |
|
|
|
if (e.choosed) { |
|
|
|
absForDel.push(deepCopy(e)) |
|
|
|
e.choosed = false |
|
|
|
} |
|
|
|
@ -643,7 +695,7 @@ export default { |
|
|
|
//勾选时不需要此操作 end |
|
|
|
|
|
|
|
if (absForDel.length < 1) { |
|
|
|
this.$message.warning({ showClose: true, message: "请选择要移除的组合项目"}) |
|
|
|
this.$message.warning({ showClose: true, message: "请选择要移除的组合项目" }) |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
@ -669,8 +721,8 @@ export default { |
|
|
|
}, |
|
|
|
|
|
|
|
//选择 已选的组合项目 |
|
|
|
removeAsbItem(row){ |
|
|
|
this.customerOrgGroupAsbitems.forEach((e,index) => { |
|
|
|
removeAsbItem(row) { |
|
|
|
this.customerOrgGroupAsbitems.forEach((e, index) => { |
|
|
|
e.index = index; |
|
|
|
return e |
|
|
|
}); |
|
|
|
@ -702,7 +754,7 @@ export default { |
|
|
|
|
|
|
|
// 按住了ctrl 键 |
|
|
|
if (this.window.ctrl) { |
|
|
|
console.log('this.window.ctrl',this.window.ctrl,this.customerOrgGroupAsbitems) |
|
|
|
console.log('this.window.ctrl', this.window.ctrl, this.customerOrgGroupAsbitems) |
|
|
|
this.customerOrgGroupAsbitems[row.index].choosed = true; |
|
|
|
this.PstartPoint = row.index; |
|
|
|
return |
|
|
|
@ -720,10 +772,10 @@ export default { |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
changeDiscount(index){ |
|
|
|
changeDiscount(index) { |
|
|
|
|
|
|
|
this.customerOrgGroupAsbitems[index].customerOrgGroupDetailPrice = |
|
|
|
(this.customerOrgGroupAsbitems[index].discount * this.customerOrgGroupAsbitems[index].price/100).toFixed(2) |
|
|
|
(this.customerOrgGroupAsbitems[index].discount * this.customerOrgGroupAsbitems[index].price / 100).toFixed(2) |
|
|
|
|
|
|
|
|
|
|
|
this.customerOrgGroupAsbitems[index].customerOrgGroupDetailMoney = |
|
|
|
@ -734,7 +786,7 @@ export default { |
|
|
|
}, |
|
|
|
|
|
|
|
//修改价格或数量 |
|
|
|
changePrices(index){ |
|
|
|
changePrices(index) { |
|
|
|
this.customerOrgGroupAsbitems[index].customerOrgGroupDetailMoney = |
|
|
|
(this.customerOrgGroupAsbitems[index].customerOrgGroupDetailPrice * this.customerOrgGroupAsbitems[index].customerOrgGroupDetailAmount).toFixed(2) |
|
|
|
|
|
|
|
@ -748,7 +800,7 @@ export default { |
|
|
|
|
|
|
|
//合计 |
|
|
|
getSummaries(param) { |
|
|
|
console.log('getSummaries param',param) |
|
|
|
console.log('getSummaries param', param) |
|
|
|
// if(!param){ |
|
|
|
// param = { |
|
|
|
// columns:[{}, {}, {}, {}, {}, {}, {property: 'asbitemMoney'},{property: 'customerOrgGroupDetailMoney'}], |
|
|
|
@ -788,39 +840,42 @@ export default { |
|
|
|
}, |
|
|
|
|
|
|
|
//复制分组 |
|
|
|
btnCopyGroup(){ |
|
|
|
console.log('this.customerOrgGroup',this.customerOrgGroup) |
|
|
|
if(!this.customerOrgGroup.id){ |
|
|
|
this.$message.warning({ showClose: true, message: "请先选中单位分组"}) |
|
|
|
btnCopyGroup() { |
|
|
|
console.log('this.customerOrgGroup', this.customerOrgGroup) |
|
|
|
if (!this.customerOrgGroup.id) { |
|
|
|
this.$message.warning({ showClose: true, message: "请先选中单位分组" }) |
|
|
|
return |
|
|
|
} |
|
|
|
if(this.customerOrgGroup.isComplete && this.customerOrgGroup.isComplete.toUpperCase() == 'Y'){ |
|
|
|
this.$message.warning({ showClose: true, message: "体检次数已完成,不允许操作"}) |
|
|
|
|
|
|
|
if (this.customerOrgGroup.isComplete && this.customerOrgGroup.isComplete.toUpperCase() == 'Y') { |
|
|
|
this.$message.warning({ showClose: true, message: "体检次数已完成,不允许操作" }) |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
this.groupVisble = true |
|
|
|
/* 允许复制其他单位的分组 故屏蔽此段代码 |
|
|
|
getapi( |
|
|
|
`/api/app/customerorggroup/getlistinfilter?CustomerOrgRegisterId=${this.customerOrgGroup.customerOrgRegisterId}` |
|
|
|
).then((res) => { |
|
|
|
if (res.code != -1) { |
|
|
|
this.customerOrgGroups = res.data; |
|
|
|
if(this.customerOrgGroups.length <2){ |
|
|
|
this.$message.warning({ showClose: true, message: "暂无其他分组可供复制"}) |
|
|
|
}else{ |
|
|
|
if (this.customerOrgGroups.length < 2) { |
|
|
|
this.$message.warning({ showClose: true, message: "暂无其他分组可供复制" }) |
|
|
|
} else { |
|
|
|
this.groupVisble = true |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
*/ |
|
|
|
}, |
|
|
|
|
|
|
|
//选中分组 |
|
|
|
async groupRowClick(row){ |
|
|
|
async groupRowClick(row) { |
|
|
|
this.curGroupId = row.id |
|
|
|
this.groupAsbitems = [] |
|
|
|
try { |
|
|
|
let res = await getapi(`/api/app/customerorggroupdetail/getcustomerorggroupdetailinasbitem?CustomerOrgGroupId=${row.id}`) |
|
|
|
if(res.code != -1) this.groupAsbitems = res.data |
|
|
|
if (res.code != -1) this.groupAsbitems = res.data |
|
|
|
} catch (error) { |
|
|
|
console.log(error) |
|
|
|
} |
|
|
|
@ -829,18 +884,18 @@ export default { |
|
|
|
|
|
|
|
|
|
|
|
//双击选分组,并确认复制 |
|
|
|
async groupRowDblclick(row){ |
|
|
|
async groupRowDblclick(row) { |
|
|
|
await this.groupRowClick(row) |
|
|
|
this.copyGroup() |
|
|
|
}, |
|
|
|
|
|
|
|
//复制分组(确认选中分组) |
|
|
|
copyGroup(){ |
|
|
|
if(!this.curGroupId){ |
|
|
|
this.$message.warning({ showClose: true, message: "请先选择要复制的套餐!"}) |
|
|
|
copyGroup() { |
|
|
|
if (!this.curGroupId) { |
|
|
|
this.$message.warning({ showClose: true, message: "请先选择要复制的套餐!" }) |
|
|
|
return |
|
|
|
} |
|
|
|
console.log('this.packageAsbitems',this.groupAsbitems) |
|
|
|
console.log('this.packageAsbitems', this.groupAsbitems) |
|
|
|
this.addAbs(deepCopy(this.groupAsbitems)) |
|
|
|
this.groupVisble = false |
|
|
|
}, |
|
|
|
@ -848,25 +903,25 @@ export default { |
|
|
|
|
|
|
|
|
|
|
|
//复制套餐 |
|
|
|
btnCopyMedicalPackage(){ |
|
|
|
btnCopyMedicalPackage() { |
|
|
|
// console.log('this.customerOrgGroup',this.customerOrgGroup) |
|
|
|
if(!this.customerOrgGroup.id){ |
|
|
|
this.$message.warning({ showClose: true, message: "请先选中单位分组"}) |
|
|
|
if (!this.customerOrgGroup.id) { |
|
|
|
this.$message.warning({ showClose: true, message: "请先选中单位分组" }) |
|
|
|
return |
|
|
|
} |
|
|
|
if(this.customerOrgGroup.isComplete && this.customerOrgGroup.isComplete.toUpperCase() == 'Y'){ |
|
|
|
this.$message.warning({ showClose: true, message: "体检次数已完成,不允许操作"}) |
|
|
|
if (this.customerOrgGroup.isComplete && this.customerOrgGroup.isComplete.toUpperCase() == 'Y') { |
|
|
|
this.$message.warning({ showClose: true, message: "体检次数已完成,不允许操作" }) |
|
|
|
return |
|
|
|
} |
|
|
|
this.medicalPackageVisble = true |
|
|
|
}, |
|
|
|
|
|
|
|
//选中套餐 |
|
|
|
async packageRowClick(row){ |
|
|
|
async packageRowClick(row) { |
|
|
|
this.curPackageId = row.id |
|
|
|
this.packageAsbitems = [] |
|
|
|
try { |
|
|
|
let res = await postapi('/api/app/medicalpackagedetail/getmedicalpackageinasbitem',{medicalPackageId:row.id}) |
|
|
|
let res = await postapi('/api/app/medicalpackagedetail/getmedicalpackageinasbitem', { medicalPackageId: row.id }) |
|
|
|
this.packageAsbitems = res.data |
|
|
|
} catch (error) { |
|
|
|
console.log(error) |
|
|
|
@ -874,18 +929,18 @@ export default { |
|
|
|
}, |
|
|
|
|
|
|
|
//双击选套餐,并确认复制 |
|
|
|
async rowDblclick(row){ |
|
|
|
async rowDblclick(row) { |
|
|
|
await this.packageRowClick(row) |
|
|
|
this.copyMedicalPackage() |
|
|
|
}, |
|
|
|
|
|
|
|
//复制套餐(确认选中套餐) |
|
|
|
copyMedicalPackage(){ |
|
|
|
if(!this.curPackageId){ |
|
|
|
this.$message.warning({ showClose: true, message: "请先选择要复制的套餐!"}) |
|
|
|
copyMedicalPackage() { |
|
|
|
if (!this.curPackageId) { |
|
|
|
this.$message.warning({ showClose: true, message: "请先选择要复制的套餐!" }) |
|
|
|
return |
|
|
|
} |
|
|
|
console.log('this.packageAsbitems',this.packageAsbitems) |
|
|
|
console.log('this.packageAsbitems', this.packageAsbitems) |
|
|
|
this.addAbs(deepCopy(this.packageAsbitems)) |
|
|
|
this.medicalPackageVisble = false |
|
|
|
}, |
|
|
|
@ -896,17 +951,17 @@ export default { |
|
|
|
|
|
|
|
//保存按钮 |
|
|
|
btnSave() { |
|
|
|
if(!this.customerOrgGroup.id){ |
|
|
|
this.$message.warning({ showClose: true, message: "请先选中单位分组"}) |
|
|
|
if (!this.customerOrgGroup.id) { |
|
|
|
this.$message.warning({ showClose: true, message: "请先选中单位分组" }) |
|
|
|
return |
|
|
|
} |
|
|
|
if(this.customerOrgGroup.isComplete && this.customerOrgGroup.isComplete.toUpperCase() == 'Y'){ |
|
|
|
this.$message.warning({ showClose: true, message: "体检次数已完成,不允许操作"}) |
|
|
|
if (this.customerOrgGroup.isComplete && this.customerOrgGroup.isComplete.toUpperCase() == 'Y') { |
|
|
|
this.$message.warning({ showClose: true, message: "体检次数已完成,不允许操作" }) |
|
|
|
return |
|
|
|
} |
|
|
|
let body = { |
|
|
|
customerOrgGroupId:this.customerOrgGroup.id, |
|
|
|
details:[] |
|
|
|
customerOrgGroupId: this.customerOrgGroup.id, |
|
|
|
details: [] |
|
|
|
} |
|
|
|
// { |
|
|
|
// "customerOrgGroupId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", |
|
|
|
@ -919,17 +974,17 @@ export default { |
|
|
|
// } |
|
|
|
// ] |
|
|
|
// } |
|
|
|
this.customerOrgGroupAsbitems.forEach(e =>{ |
|
|
|
this.customerOrgGroupAsbitems.forEach(e => { |
|
|
|
body.details.push({ |
|
|
|
customerOrgGroupId:this.customerOrgGroup.id, |
|
|
|
asbitemId:e.asbitemId, |
|
|
|
price:e.customerOrgGroupDetailPrice, |
|
|
|
amount:e.customerOrgGroupDetailAmount |
|
|
|
customerOrgGroupId: this.customerOrgGroup.id, |
|
|
|
asbitemId: e.asbitemId, |
|
|
|
price: e.customerOrgGroupDetailPrice, |
|
|
|
amount: e.customerOrgGroupDetailAmount |
|
|
|
}) |
|
|
|
}) |
|
|
|
|
|
|
|
let group = deepCopy(this.customerOrgGroup); |
|
|
|
postapi('/api/app/customerorggroupdetail/createcustomerorggroupdetailmany',body |
|
|
|
postapi('/api/app/customerorggroupdetail/createcustomerorggroupdetailmany', body |
|
|
|
) |
|
|
|
// .then(res => { |
|
|
|
// if(res.code != -1){ |
|
|
|
@ -942,8 +997,8 @@ export default { |
|
|
|
// return putapi(`/api/app/customer-org-group/${this.customerOrgGroup.id}`, group) |
|
|
|
// } |
|
|
|
// }) 后台合并事务 |
|
|
|
.then(res =>{ |
|
|
|
if(res && res.code != -1){ |
|
|
|
.then(res => { |
|
|
|
if (res && res.code != -1) { |
|
|
|
console.log("操作成功"); |
|
|
|
group.price = this.groupPrice |
|
|
|
group.id = this.customerOrgGroup.id |
|
|
|
@ -968,16 +1023,16 @@ export default { |
|
|
|
|
|
|
|
//获取当前列列表数据 |
|
|
|
getCustomerOrgGroupAsbitems(customerOrgGroupId) { |
|
|
|
if(customerOrgGroupId){ |
|
|
|
if (customerOrgGroupId) { |
|
|
|
getapi( |
|
|
|
`/api/app/customerorggroupdetail/getcustomerorggroupdetailinasbitem?CustomerOrgGroupId=${customerOrgGroupId}` |
|
|
|
).then((res) => { |
|
|
|
if(res.code != -1){ |
|
|
|
if (res.code != -1) { |
|
|
|
this.customerOrgGroupAsbitems = res.data; |
|
|
|
this.getAsbItemByItemType() |
|
|
|
} |
|
|
|
}); |
|
|
|
}else{ |
|
|
|
} else { |
|
|
|
this.customerOrgGroupAsbitems = [] |
|
|
|
this.getAsbItemByItemType() |
|
|
|
} |
|
|
|
@ -988,26 +1043,38 @@ export default { |
|
|
|
//监听事件 |
|
|
|
watch: { |
|
|
|
// 体检分组ID未切换换时 也可以强制刷新数据 |
|
|
|
"dataTransOpts.refresh.customer_org_group_detail.M":{ |
|
|
|
"dataTransOpts.refresh.customer_org_group_detail.M": { |
|
|
|
// immediate:true, |
|
|
|
handler(newVal, oldVal) { |
|
|
|
console.log(`watch 体检分组 newVal:${newVal} oldVal:${oldVal} registerCheckId: ${this.customerOrgGroup.id}`); |
|
|
|
this.getCustomerOrgGroupAsbitems(this.customerOrgGroup.id); |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
// 显示复制分组页面时,刷单位与体检次数数据 |
|
|
|
"groupVisble":{ |
|
|
|
handler(newVal, oldVal) { |
|
|
|
if(newVal){ |
|
|
|
console.log('customerOrgGroup',this.customerOrgGroup,this.customerOrgAll,this.curOrgRegisterList) |
|
|
|
this.customerOrgDisp = deepCopy(this.customerOrgAll) |
|
|
|
this.customerOrgRegisterList = deepCopy(this.curOrgRegisterList) |
|
|
|
this.customerOrgRegister = deepCopy(this.curOrgRegister) |
|
|
|
this.customerOrgId = this.customerOrgGroup.customerOrgId |
|
|
|
this.customerOrgGroups = deepCopy(this.curOrgGroups) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
}; |
|
|
|
</script> |
|
|
|
<style scoped> |
|
|
|
|
|
|
|
.box { |
|
|
|
margin-top: 5px; |
|
|
|
/* border: 1px solid #000; */ |
|
|
|
} |
|
|
|
|
|
|
|
.btnClass { |
|
|
|
width:100px; |
|
|
|
width: 100px; |
|
|
|
margin-bottom: 5px |
|
|
|
} |
|
|
|
|
|
|
|
</style> |