|
|
@ -1,96 +1,45 @@ |
|
|
<template> |
|
|
<template> |
|
|
<div> |
|
|
<div> |
|
|
<div> |
|
|
|
|
|
|
|
|
<div> |
|
|
<div class="contenttitle"> |
|
|
<div class="contenttitle"> |
|
|
体检登记 / |
|
|
|
|
|
<span class="contenttitleBold" |
|
|
|
|
|
>单位分组</span |
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
体检登记 /<span class="contenttitleBold">单位分组</span> |
|
|
</div> |
|
|
</div> |
|
|
<!--分组信息--> |
|
|
<!--分组信息--> |
|
|
<div style="display: flex;font-size:14px;"> |
|
|
|
|
|
<div :style="'display: block;width:' + (window.pageWidth - window.pageMarginWidth - 110) + 'px;'"> |
|
|
|
|
|
|
|
|
<div style="display: flex; font-size: 14px"> |
|
|
|
|
|
<div :style="'display: block;width:' + (window.pageWidth - window.pageMarginWidth - 110 - 5) + 'px;'"> |
|
|
<div style="display: flex"> |
|
|
<div style="display: flex"> |
|
|
<div> |
|
|
<div> |
|
|
<span>体检单位:</span> |
|
|
<span>体检单位:</span> |
|
|
<el-select |
|
|
|
|
|
v-model="customerOrgId" |
|
|
|
|
|
placeholder="请选择体检单位" |
|
|
|
|
|
filterable :filter-method="filterMethod" default-first-option |
|
|
|
|
|
clearable @clear="customerOrg = deepCopy(customerOrgAll)" |
|
|
|
|
|
style="margin-left: 10px" |
|
|
|
|
|
@change="changeCustomerOrg" |
|
|
|
|
|
size="small" |
|
|
|
|
|
> |
|
|
|
|
|
<el-option |
|
|
|
|
|
v-for="item in customerOrg" |
|
|
|
|
|
:key="item.id" |
|
|
|
|
|
:label="item.displayName" |
|
|
|
|
|
:value="item.id" |
|
|
|
|
|
> |
|
|
|
|
|
{{ item.displayName }} |
|
|
|
|
|
|
|
|
<el-select v-model="customerOrgId" placeholder="请选择体检单位" :filter-method="filterMethod" default-first-option |
|
|
|
|
|
clearable filterable @clear="customerOrg = deepCopy(customerOrgAll)" style="margin-left: 10px" |
|
|
|
|
|
@change="changeCustomerOrg" size="small"> |
|
|
|
|
|
<el-option v-for="item in customerOrg" :key="item.id" :label="item.displayName" :value="item.id"> |
|
|
|
|
|
{{ item.displayName }} |
|
|
</el-option> |
|
|
</el-option> |
|
|
</el-select> |
|
|
</el-select> |
|
|
</div> |
|
|
</div> |
|
|
<div style="margin-left: 20px"> |
|
|
<div style="margin-left: 20px"> |
|
|
<span>单位体检次数:</span> |
|
|
<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 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> |
|
|
</el-select> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
<div> |
|
|
<div> |
|
|
<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="rowClick" |
|
|
|
|
|
> |
|
|
|
|
|
<el-table-column |
|
|
|
|
|
type="index" |
|
|
|
|
|
label="序号" |
|
|
|
|
|
min-width="50" |
|
|
|
|
|
align="center" |
|
|
|
|
|
/> |
|
|
|
|
|
|
|
|
<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="rowClick"> |
|
|
|
|
|
<el-table-column type="index" label="序号" min-width="50" align="center" /> |
|
|
<el-table-column prop="displayName" label="名称" min-width="150" /> |
|
|
<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"> |
|
|
<template slot-scope="scope"> |
|
|
{{ dddw(dict.forSex, "id", scope.row.forSexId, "displayName") }} |
|
|
{{ dddw(dict.forSex, "id", scope.row.forSexId, "displayName") }} |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</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"> |
|
|
<template slot-scope="scope"> |
|
|
{{ |
|
|
{{ |
|
|
dddw( |
|
|
dddw( |
|
|
@ -102,28 +51,19 @@ |
|
|
}} |
|
|
}} |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</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"> |
|
|
<el-table-column label="创建时间" min-width="150" align="center"> |
|
|
<template slot-scope="scope"> |
|
|
<template slot-scope="scope"> |
|
|
{{ |
|
|
|
|
|
scope.row.creationTime |
|
|
|
|
|
? moment(scope.row.creationTime).format("yyyy-MM-DD HH:mm:ss") |
|
|
|
|
|
: "" |
|
|
|
|
|
}} |
|
|
|
|
|
|
|
|
{{ scope.row.creationTime ? moment(scope.row.creationTime).format("yyyy-MM-DD HH:mm:ss") : "" }} |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
<el-table-column label="操作" align="center"> |
|
|
<el-table-column label="操作" align="center"> |
|
|
<template> |
|
|
<template> |
|
|
<el-tag |
|
|
|
|
|
class="move" |
|
|
|
|
|
style="cursor: move;background-color: rgb(245, 245, 245);border: none;" |
|
|
|
|
|
draggable="true" |
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
<el-tag class="move" style=" |
|
|
|
|
|
cursor: move; |
|
|
|
|
|
background-color: rgb(245, 245, 245); |
|
|
|
|
|
border: none; |
|
|
|
|
|
" draggable="true"> |
|
|
<i class="el-icon-d-caret" style="width: 1rem; height: 1rem; color: rgb(113, 113, 113)"></i> |
|
|
<i class="el-icon-d-caret" style="width: 1rem; height: 1rem; color: rgb(113, 113, 113)"></i> |
|
|
</el-tag> |
|
|
</el-tag> |
|
|
</template> |
|
|
</template> |
|
|
@ -132,42 +72,36 @@ |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
<!--按钮--> |
|
|
<!--按钮--> |
|
|
<div style="display: block;margin-left: 10px;"> |
|
|
|
|
|
<div v-show="checkPagePriv(pagePriv.privs,'新增')" style="margin-top: 35px;"> |
|
|
|
|
|
<el-button class="commonbutton" @click="btnAdd">新增</el-button> |
|
|
|
|
|
|
|
|
<div style="display: block; margin-left: 10px"> |
|
|
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '新增')" style="margin-top: 35px"> |
|
|
|
|
|
<el-button class="commonbutton" @click="btnAdd">新增</el-button> |
|
|
</div> |
|
|
</div> |
|
|
<div v-show="checkPagePriv(pagePriv.privs,'编辑')" style="margin-top: 8px;"> |
|
|
|
|
|
<el-button class="commonbutton" @click="btnEdit" >编辑</el-button> |
|
|
|
|
|
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '编辑')" style="margin-top: 8px"> |
|
|
|
|
|
<el-button class="commonbutton" @click="btnEdit">编辑</el-button> |
|
|
</div> |
|
|
</div> |
|
|
<div v-show="checkPagePriv(pagePriv.privs,'删除')" style="margin-top: 8px;"> |
|
|
|
|
|
<el-button class="commonbutton" @click="btnDel" >删除</el-button> |
|
|
|
|
|
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '删除')" style="margin-top: 8px"> |
|
|
|
|
|
<el-button class="commonbutton" @click="btnDel">删除</el-button> |
|
|
</div> |
|
|
</div> |
|
|
<div v-show="checkPagePriv(pagePriv.privs,'置顶')" style="margin-top: 8px;"> |
|
|
|
|
|
<el-button class="commonbutton" @click="btnSetTop" >置顶</el-button> |
|
|
|
|
|
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '置顶')" style="margin-top: 8px"> |
|
|
|
|
|
<el-button class="commonbutton" @click="btnSetTop">置顶</el-button> |
|
|
</div> |
|
|
</div> |
|
|
<div v-show="checkPagePriv(pagePriv.privs,'置底')" style="margin-top: 8px;"> |
|
|
|
|
|
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '置底')" style="margin-top: 8px"> |
|
|
<el-button class="commonbutton" @click="btnSetBottom">置底</el-button> |
|
|
<el-button class="commonbutton" @click="btnSetBottom">置底</el-button> |
|
|
</div> |
|
|
</div> |
|
|
<div v-show="checkPagePriv(pagePriv.privs,'保存排序')" style="margin-top: 8px;"> |
|
|
|
|
|
<el-button class="commonbutton" @click="btnSort" :disabled="!isDrag" >保存排序</el-button> |
|
|
|
|
|
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '保存排序')" style="margin-top: 8px"> |
|
|
|
|
|
<el-button class="commonbutton" @click="btnSort" :disabled="!isDrag">保存排序</el-button> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<!--分组项目信息 --> |
|
|
<!--分组项目信息 --> |
|
|
<div> |
|
|
<div> |
|
|
<CustomerOrgGroupAsbitem :customerOrgGroup="form" :refreshMoney="refreshMoney"/> |
|
|
|
|
|
|
|
|
<CustomerOrgGroupAsbitem :customerOrgGroup="form" :refreshMoney="refreshMoney" /> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
<!-- 新增或者编辑弹框 --> |
|
|
<!-- 新增或者编辑弹框 --> |
|
|
<el-dialog |
|
|
|
|
|
:title="form.id ? '编辑' : '新增'" |
|
|
|
|
|
:close-on-click-modal="false" |
|
|
|
|
|
:visible.sync="dialogVisible" |
|
|
|
|
|
width="800px" |
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
<el-dialog :title="form.id ? '编辑' : '新增'" :close-on-click-modal="false" :visible.sync="dialogVisible" width="800px"> |
|
|
<el-form :model="form" label-width="80px" :rules="rules" ref="form"> |
|
|
<el-form :model="form" label-width="80px" :rules="rules" ref="form"> |
|
|
<el-row> |
|
|
<el-row> |
|
|
<el-col :span="8"> |
|
|
<el-col :span="8"> |
|
|
@ -175,36 +109,24 @@ |
|
|
<el-input v-model="form.displayName" size="small" /> |
|
|
<el-input v-model="form.displayName" size="small" /> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="8"> |
|
|
|
|
|
|
|
|
<el-col :span="8"> |
|
|
<el-form-item label="金额"> |
|
|
<el-form-item label="金额"> |
|
|
<el-input v-model="form.price" type="number" size="small" /> |
|
|
<el-input v-model="form.price" type="number" size="small" /> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="8"> |
|
|
<el-col :span="8"> |
|
|
<el-form-item label="适用性别"> |
|
|
<el-form-item label="适用性别"> |
|
|
<el-select v-model="form.forSexId" placeholder="请选择" size="small" > |
|
|
|
|
|
<el-option |
|
|
|
|
|
v-for="item in dict.forSex" |
|
|
|
|
|
:key="item.id" |
|
|
|
|
|
:label="item.displayName" |
|
|
|
|
|
:value="item.id" |
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
<el-select v-model="form.forSexId" placeholder="请选择" size="small"> |
|
|
|
|
|
<el-option v-for="item in dict.forSex" :key="item.id" :label="item.displayName" :value="item.id"> |
|
|
</el-option> |
|
|
</el-option> |
|
|
</el-select> |
|
|
</el-select> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="8"> |
|
|
<el-col :span="8"> |
|
|
<el-form-item label="婚姻状况"> |
|
|
<el-form-item label="婚姻状况"> |
|
|
<el-select |
|
|
|
|
|
v-model="form.maritalStatusId" |
|
|
|
|
|
placeholder="请选择" |
|
|
|
|
|
style="width: 100%" size="small" > |
|
|
|
|
|
<el-option |
|
|
|
|
|
v-for="item in dict.forMaritalStatus" |
|
|
|
|
|
:key="item.id" |
|
|
|
|
|
:label="item.displayName" |
|
|
|
|
|
:value="item.id" |
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
<el-select v-model="form.maritalStatusId" placeholder="请选择" style="width: 100%" size="small"> |
|
|
|
|
|
<el-option v-for="item in dict.forMaritalStatus" :key="item.id" :label="item.displayName" |
|
|
|
|
|
:value="item.id"> |
|
|
</el-option> |
|
|
</el-option> |
|
|
</el-select> |
|
|
</el-select> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
@ -237,11 +159,11 @@ |
|
|
</el-row> |
|
|
</el-row> |
|
|
</el-form> |
|
|
</el-form> |
|
|
<span slot="footer" class="dialog-footer"> |
|
|
<span slot="footer" class="dialog-footer"> |
|
|
<el-button @click="dialogVisible = false">关闭</el-button> |
|
|
|
|
|
|
|
|
<el-button class="commonbutton" @click="dialogVisible = false">关闭</el-button> |
|
|
<!-- |
|
|
<!-- |
|
|
<el-button type="success" @click="computePrice">同比折算组合项目价格</el-button> |
|
|
<el-button type="success" @click="computePrice">同比折算组合项目价格</el-button> |
|
|
--> |
|
|
--> |
|
|
<el-button type="primary" @click="onSubmit('form')">确定</el-button> |
|
|
|
|
|
|
|
|
<el-button class="commonbutton" type="primary" @click="onSubmit('form')">确定</el-button> |
|
|
</span> |
|
|
</span> |
|
|
</el-dialog> |
|
|
</el-dialog> |
|
|
<!-- --> |
|
|
<!-- --> |
|
|
@ -252,7 +174,14 @@ import moment from "moment"; |
|
|
import Sortable from "sortablejs"; |
|
|
import Sortable from "sortablejs"; |
|
|
import { getapi, postapi, putapi, deletapi } from "@/api/api"; |
|
|
import { getapi, postapi, putapi, deletapi } from "@/api/api"; |
|
|
import { mapState } from "vuex"; |
|
|
import { mapState } from "vuex"; |
|
|
import { getPagePriv,checkPagePriv, dddw, deepCopy, objCopy, arrayExistObj } from "../../utlis/proFunc"; |
|
|
|
|
|
|
|
|
import { |
|
|
|
|
|
getPagePriv, |
|
|
|
|
|
checkPagePriv, |
|
|
|
|
|
dddw, |
|
|
|
|
|
deepCopy, |
|
|
|
|
|
objCopy, |
|
|
|
|
|
arrayExistObj, |
|
|
|
|
|
} from "../../utlis/proFunc"; |
|
|
|
|
|
|
|
|
import CustomerOrgGroupAsbitem from "../../components/customerOrg/customerOrgGroupAsbitem.vue"; |
|
|
import CustomerOrgGroupAsbitem from "../../components/customerOrg/customerOrgGroupAsbitem.vue"; |
|
|
|
|
|
|
|
|
@ -262,10 +191,10 @@ export default { |
|
|
}, |
|
|
}, |
|
|
data() { |
|
|
data() { |
|
|
return { |
|
|
return { |
|
|
pagePriv:{ |
|
|
|
|
|
routeUrlorPageName:'customerOrgGroup', //当前页面归属路由或归属页面权限名称 |
|
|
|
|
|
privs:[] // 页面权限 |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
pagePriv: { |
|
|
|
|
|
routeUrlorPageName: "customerOrgGroup", //当前页面归属路由或归属页面权限名称 |
|
|
|
|
|
privs: [], // 页面权限 |
|
|
|
|
|
}, |
|
|
customerOrg: [], //体检单位 |
|
|
customerOrg: [], //体检单位 |
|
|
customerOrgGroups: [], //体检单位分组 |
|
|
customerOrgGroups: [], //体检单位分组 |
|
|
customerOrgId: "", //当前选中的体检单位id |
|
|
customerOrgId: "", //当前选中的体检单位id |
|
|
@ -275,8 +204,8 @@ export default { |
|
|
isDrag: false, |
|
|
isDrag: false, |
|
|
form: { |
|
|
form: { |
|
|
//体检单位分组 |
|
|
//体检单位分组 |
|
|
customerOrgId:'', //复制分组时用到(预留查历次分组) |
|
|
|
|
|
isComplete:'N', //体检次数是否完成,如完成不允许调整分组项目 |
|
|
|
|
|
|
|
|
customerOrgId: "", //复制分组时用到(预留查历次分组) |
|
|
|
|
|
isComplete: "N", //体检次数是否完成,如完成不允许调整分组项目 |
|
|
id: "", |
|
|
id: "", |
|
|
customerOrgRegisterId: null, //所属体检次数 |
|
|
customerOrgRegisterId: null, //所属体检次数 |
|
|
displayName: "", |
|
|
displayName: "", |
|
|
@ -290,16 +219,13 @@ export default { |
|
|
remark: "", |
|
|
remark: "", |
|
|
isMaxMedicalTimes: "N", |
|
|
isMaxMedicalTimes: "N", |
|
|
}, |
|
|
}, |
|
|
formOri:{}, //用于对比分析哪些信息更改了 |
|
|
|
|
|
|
|
|
formOri: {}, //用于对比分析哪些信息更改了 |
|
|
formInit: {}, //表单初始值 |
|
|
formInit: {}, //表单初始值 |
|
|
rules: { |
|
|
rules: { |
|
|
displayName: [ |
|
|
|
|
|
{ required: true, message: "请填写分组名称", trigger: "blur" }, |
|
|
|
|
|
], |
|
|
|
|
|
|
|
|
displayName: [{ required: true, message: "请填写分组名称", trigger: "blur" }], |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
dialogVisible: false, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dialogVisible: false, |
|
|
}; |
|
|
}; |
|
|
}, |
|
|
}, |
|
|
computed: { |
|
|
computed: { |
|
|
@ -307,8 +233,9 @@ export default { |
|
|
}, |
|
|
}, |
|
|
created() { |
|
|
created() { |
|
|
//获取用户当前页面的权限 |
|
|
//获取用户当前页面的权限 |
|
|
let userPriv = window.sessionStorage.getItem('userPriv') |
|
|
|
|
|
if(userPriv) this.pagePriv.privs = deepCopy(getPagePriv(this.pagePriv.routeUrlorPageName)) |
|
|
|
|
|
|
|
|
let userPriv = window.sessionStorage.getItem("userPriv"); |
|
|
|
|
|
if (userPriv) |
|
|
|
|
|
this.pagePriv.privs = deepCopy(getPagePriv(this.pagePriv.routeUrlorPageName)); |
|
|
|
|
|
|
|
|
this.rowDrop(); |
|
|
this.rowDrop(); |
|
|
this.formInit = deepCopy(this.form); |
|
|
this.formInit = deepCopy(this.form); |
|
|
@ -319,20 +246,22 @@ export default { |
|
|
}, |
|
|
}, |
|
|
methods: { |
|
|
methods: { |
|
|
moment, |
|
|
moment, |
|
|
checkPagePriv,dddw,deepCopy, |
|
|
|
|
|
|
|
|
checkPagePriv, |
|
|
|
|
|
dddw, |
|
|
|
|
|
deepCopy, |
|
|
|
|
|
|
|
|
//刷新分组价格(供子组件调用) |
|
|
//刷新分组价格(供子组件调用) |
|
|
refreshMoney(formData){ |
|
|
|
|
|
|
|
|
refreshMoney(formData) { |
|
|
//console.log('this is parent') |
|
|
//console.log('this is parent') |
|
|
let lfind = arrayExistObj(this.customerOrgGroups,'id',formData.id) |
|
|
|
|
|
if(lfind > -1) this.customerOrgGroups[lfind].price = formData.price |
|
|
|
|
|
|
|
|
let lfind = arrayExistObj(this.customerOrgGroups, "id", formData.id); |
|
|
|
|
|
if (lfind > -1) this.customerOrgGroups[lfind].price = formData.price; |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//确定排序 |
|
|
//确定排序 |
|
|
btnSort() { |
|
|
btnSort() { |
|
|
const result = []; |
|
|
const result = []; |
|
|
this.customerOrgGroups.forEach((item, index) => { |
|
|
|
|
|
result.push({ id: item.id, displayOrder: index }); |
|
|
|
|
|
|
|
|
this.customerOrgGroups.forEach((item, index) => { |
|
|
|
|
|
result.push({ id: item.id, displayOrder: index }); |
|
|
}); |
|
|
}); |
|
|
putapi("/api/app/customerorggroup/updatesortmany", { |
|
|
putapi("/api/app/customerorggroup/updatesortmany", { |
|
|
itemList: result, |
|
|
itemList: result, |
|
|
@ -364,7 +293,7 @@ export default { |
|
|
// }, |
|
|
// }, |
|
|
// }); |
|
|
// }); |
|
|
// }); |
|
|
// }); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this.$nextTick(() => { |
|
|
this.$nextTick(() => { |
|
|
const el = document.querySelector(".el-table__body-wrapper tbody"); |
|
|
const el = document.querySelector(".el-table__body-wrapper tbody"); |
|
|
//console.log('el0',el) |
|
|
//console.log('el0',el) |
|
|
@ -373,69 +302,65 @@ export default { |
|
|
handle: ".move", |
|
|
handle: ".move", |
|
|
animation: 300, |
|
|
animation: 300, |
|
|
//拖拽结束 |
|
|
//拖拽结束 |
|
|
onEnd({ newIndex, oldIndex }) { |
|
|
|
|
|
|
|
|
onEnd({ newIndex, oldIndex }) { |
|
|
that.isDrag = true; |
|
|
that.isDrag = true; |
|
|
const currRow = that.customerOrgGroups.splice(oldIndex, 1)[0]; |
|
|
const currRow = that.customerOrgGroups.splice(oldIndex, 1)[0]; |
|
|
that.customerOrgGroups.splice(newIndex, 0, currRow); |
|
|
|
|
|
console.log('el',el) |
|
|
|
|
|
|
|
|
that.customerOrgGroups.splice(newIndex, 0, currRow); |
|
|
|
|
|
console.log("el", el); |
|
|
}, |
|
|
}, |
|
|
}); |
|
|
}); |
|
|
}); |
|
|
}); |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//置底 |
|
|
//置底 |
|
|
btnSetBottom() { |
|
|
btnSetBottom() { |
|
|
if (!this.form.id) { |
|
|
if (!this.form.id) { |
|
|
this.$message.warning("请选择操作的数据"); |
|
|
this.$message.warning("请选择操作的数据"); |
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
let lfind = arrayExistObj(this.customerOrgGroups,'id',this.form.id) |
|
|
|
|
|
let currentRow = {} |
|
|
|
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
let lfind = arrayExistObj(this.customerOrgGroups, "id", this.form.id); |
|
|
|
|
|
let currentRow = {}; |
|
|
|
|
|
|
|
|
putapi( |
|
|
putapi( |
|
|
`/api/app/customerorggroup/updatemanysort?id=${this.form.id}&SortType=2` |
|
|
`/api/app/customerorggroup/updatemanysort?id=${this.form.id}&SortType=2` |
|
|
).then((res) => { |
|
|
).then((res) => { |
|
|
console.log("操作成功"); |
|
|
console.log("操作成功"); |
|
|
currentRow = this.customerOrgGroups.splice(lfind,1)[0] //删除并赋值 |
|
|
|
|
|
this.customerOrgGroups.push(currentRow) |
|
|
|
|
|
this.$refs['customerOrgGroups'].setCurrentRow(currentRow); |
|
|
|
|
|
|
|
|
currentRow = this.customerOrgGroups.splice(lfind, 1)[0]; //删除并赋值 |
|
|
|
|
|
this.customerOrgGroups.push(currentRow); |
|
|
|
|
|
this.$refs["customerOrgGroups"].setCurrentRow(currentRow); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
//置顶 |
|
|
//置顶 |
|
|
btnSetTop() { |
|
|
btnSetTop() { |
|
|
if (!this.form.id) { |
|
|
if (!this.form.id) { |
|
|
this.$message.warning("请选择操作的数据"); |
|
|
this.$message.warning("请选择操作的数据"); |
|
|
return |
|
|
|
|
|
|
|
|
return; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
let lfind = arrayExistObj(this.customerOrgGroups,'id',this.form.id) |
|
|
|
|
|
let currentRow = {} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let lfind = arrayExistObj(this.customerOrgGroups, "id", this.form.id); |
|
|
|
|
|
let currentRow = {}; |
|
|
|
|
|
|
|
|
putapi( |
|
|
putapi( |
|
|
`/api/app/customerorggroup/updatemanysort?id=${this.form.id}&SortType=1` |
|
|
`/api/app/customerorggroup/updatemanysort?id=${this.form.id}&SortType=1` |
|
|
).then((res) => { |
|
|
).then((res) => { |
|
|
console.log("操作成功"); |
|
|
console.log("操作成功"); |
|
|
currentRow = this.customerOrgGroups.splice(lfind,1)[0] |
|
|
|
|
|
this.customerOrgGroups.unshift(currentRow) |
|
|
|
|
|
this.$refs['customerOrgGroups'].setCurrentRow(currentRow); |
|
|
|
|
|
|
|
|
currentRow = this.customerOrgGroups.splice(lfind, 1)[0]; |
|
|
|
|
|
this.customerOrgGroups.unshift(currentRow); |
|
|
|
|
|
this.$refs["customerOrgGroups"].setCurrentRow(currentRow); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
//选中颜色 |
|
|
//选中颜色 |
|
|
handleRowClassName({ row, rowIndex }) { |
|
|
handleRowClassName({ row, rowIndex }) { |
|
|
// highLightBg 为 'selected'的高亮 |
|
|
|
|
|
|
|
|
// highLightBg 为 'selected'的高亮 |
|
|
//console.log(rowIndex, row) |
|
|
//console.log(rowIndex, row) |
|
|
//return row.highLightBg == 'selected' ? 'high-light-bg' : ''; |
|
|
//return row.highLightBg == 'selected' ? 'high-light-bg' : ''; |
|
|
if (row.choosed) { |
|
|
if (row.choosed) { |
|
|
return 'current-row'; |
|
|
|
|
|
|
|
|
return "current-row"; |
|
|
} else { |
|
|
} else { |
|
|
return ''; |
|
|
|
|
|
|
|
|
return ""; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
//获取初始数据 |
|
|
//获取初始数据 |
|
|
@ -444,9 +369,9 @@ export default { |
|
|
getapi("/api/app/customer-org/parent-all").then((res) => { |
|
|
getapi("/api/app/customer-org/parent-all").then((res) => { |
|
|
if (res.code != -1) { |
|
|
if (res.code != -1) { |
|
|
this.customerOrgAll = res.data; |
|
|
this.customerOrgAll = res.data; |
|
|
let lfind = arrayExistObj(this.customerOrgAll,"id",this.dict.personOrgId); |
|
|
|
|
|
|
|
|
let lfind = arrayExistObj(this.customerOrgAll, "id", this.dict.personOrgId); |
|
|
if (lfind > -1) this.customerOrgAll.splice(lfind, 1); |
|
|
if (lfind > -1) this.customerOrgAll.splice(lfind, 1); |
|
|
this.customerOrg = deepCopy(this.customerOrgAll) |
|
|
|
|
|
|
|
|
this.customerOrg = deepCopy(this.customerOrgAll); |
|
|
} |
|
|
} |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
@ -460,9 +385,9 @@ export default { |
|
|
|
|
|
|
|
|
//获取体检次数下的分组 |
|
|
//获取体检次数下的分组 |
|
|
getCustomerOrgGroup(customerOrgRegisterId) { |
|
|
getCustomerOrgGroup(customerOrgRegisterId) { |
|
|
this.isDrag = false |
|
|
|
|
|
objCopy(this.formInit,this.form) |
|
|
|
|
|
this.form.customerOrgRegisterId = customerOrgRegisterId |
|
|
|
|
|
|
|
|
this.isDrag = false; |
|
|
|
|
|
objCopy(this.formInit, this.form); |
|
|
|
|
|
this.form.customerOrgRegisterId = customerOrgRegisterId; |
|
|
this.customerOrgGroups = []; |
|
|
this.customerOrgGroups = []; |
|
|
getapi( |
|
|
getapi( |
|
|
`/api/app/customerorggroup/getlistinfilter?CustomerOrgRegisterId=${customerOrgRegisterId}` |
|
|
`/api/app/customerorggroup/getlistinfilter?CustomerOrgRegisterId=${customerOrgRegisterId}` |
|
|
@ -479,11 +404,12 @@ export default { |
|
|
filterMethod(keyWords) { |
|
|
filterMethod(keyWords) { |
|
|
if (keyWords) { |
|
|
if (keyWords) { |
|
|
this.customerOrg = []; |
|
|
this.customerOrg = []; |
|
|
this.customerOrgAll.forEach(item => { |
|
|
|
|
|
if (item.displayName.toLowerCase().indexOf(keyWords.toLowerCase()) > - 1 |
|
|
|
|
|
|| item.simpleCode.toLowerCase().indexOf(keyWords.toLowerCase()) > - 1 |
|
|
|
|
|
|
|
|
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 |
|
|
// || item.shortName.toLowerCase().indexOf(keyWords.toLowerCase()) > - 1 |
|
|
) { |
|
|
|
|
|
|
|
|
) { |
|
|
this.customerOrg.push(item); |
|
|
this.customerOrg.push(item); |
|
|
} |
|
|
} |
|
|
}); |
|
|
}); |
|
|
@ -494,16 +420,16 @@ export default { |
|
|
|
|
|
|
|
|
//选择单位 |
|
|
//选择单位 |
|
|
changeCustomerOrg(v) { |
|
|
changeCustomerOrg(v) { |
|
|
if(!v){ |
|
|
|
|
|
this.customerOrgRegisterList = [] |
|
|
|
|
|
|
|
|
if (!v) { |
|
|
|
|
|
this.customerOrgRegisterList = []; |
|
|
this.customerOrgRegister = {}; |
|
|
this.customerOrgRegister = {}; |
|
|
this.customerOrgGroups = []; |
|
|
|
|
|
this.isDrag = false |
|
|
|
|
|
this.form.id = '' |
|
|
|
|
|
|
|
|
this.customerOrgGroups = []; |
|
|
|
|
|
this.isDrag = false; |
|
|
|
|
|
this.form.id = ""; |
|
|
setTimeout(() => { |
|
|
setTimeout(() => { |
|
|
this.dataTransOpts.refresh.customer_org_group_detail.M++ |
|
|
|
|
|
|
|
|
this.dataTransOpts.refresh.customer_org_group_detail.M++; |
|
|
}, 20); |
|
|
}, 20); |
|
|
return |
|
|
|
|
|
|
|
|
return; |
|
|
} |
|
|
} |
|
|
getapi( |
|
|
getapi( |
|
|
`/api/app/customerorgregister/getlistincustomerorgid?CustomerOrgId=${v}` |
|
|
`/api/app/customerorgregister/getlistincustomerorgid?CustomerOrgId=${v}` |
|
|
@ -515,12 +441,12 @@ export default { |
|
|
this.getCustomerOrgGroup(this.customerOrgRegister.id); |
|
|
this.getCustomerOrgGroup(this.customerOrgRegister.id); |
|
|
} else { |
|
|
} else { |
|
|
this.customerOrgRegister = {}; |
|
|
this.customerOrgRegister = {}; |
|
|
this.customerOrgGroups = []; |
|
|
|
|
|
this.isDrag = false |
|
|
|
|
|
|
|
|
this.customerOrgGroups = []; |
|
|
|
|
|
this.isDrag = false; |
|
|
} |
|
|
} |
|
|
objCopy(this.formInit,this.form) |
|
|
|
|
|
|
|
|
objCopy(this.formInit, this.form); |
|
|
setTimeout(() => { |
|
|
setTimeout(() => { |
|
|
this.dataTransOpts.refresh.customer_org_group_detail.M++ |
|
|
|
|
|
|
|
|
this.dataTransOpts.refresh.customer_org_group_detail.M++; |
|
|
}, 20); |
|
|
}, 20); |
|
|
} |
|
|
} |
|
|
}); |
|
|
}); |
|
|
@ -530,14 +456,14 @@ export default { |
|
|
changeTimes(v) { |
|
|
changeTimes(v) { |
|
|
this.getCustomerOrgGroup(v.id); |
|
|
this.getCustomerOrgGroup(v.id); |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//点击分组 |
|
|
//点击分组 |
|
|
rowClick(row) { |
|
|
|
|
|
|
|
|
rowClick(row) { |
|
|
objCopy(row, this.form); |
|
|
objCopy(row, this.form); |
|
|
this.formOri = Object.assign({},row) |
|
|
|
|
|
this.form.isComplete = this.customerOrgRegister.isComplete |
|
|
|
|
|
|
|
|
this.formOri = Object.assign({}, row); |
|
|
|
|
|
this.form.isComplete = this.customerOrgRegister.isComplete; |
|
|
setTimeout(() => { |
|
|
setTimeout(() => { |
|
|
this.dataTransOpts.refresh.customer_org_group_detail.M++ |
|
|
|
|
|
|
|
|
this.dataTransOpts.refresh.customer_org_group_detail.M++; |
|
|
}, 20); |
|
|
}, 20); |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
@ -547,11 +473,11 @@ export default { |
|
|
this.$message.warning("请选择体检次数"); |
|
|
this.$message.warning("请选择体检次数"); |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
if(this.customerOrgRegister.isComplete.toUpperCase() == 'Y'){ |
|
|
|
|
|
|
|
|
if (this.customerOrgRegister.isComplete.toUpperCase() == "Y") { |
|
|
this.$message.warning("该单位体检次数已完成,不允许新增分组"); |
|
|
this.$message.warning("该单位体检次数已完成,不允许新增分组"); |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (this.customerOrgRegister.isComplete.toUpperCase() == "Y") { |
|
|
if (this.customerOrgRegister.isComplete.toUpperCase() == "Y") { |
|
|
this.$message.warning("该单位的该次体检次数已完成,不能再添加分组!"); |
|
|
this.$message.warning("该单位的该次体检次数已完成,不能再添加分组!"); |
|
|
return; |
|
|
return; |
|
|
@ -569,7 +495,7 @@ export default { |
|
|
this.$message.warning("请选择需要操作的数据"); |
|
|
this.$message.warning("请选择需要操作的数据"); |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
if(this.customerOrgRegister.isComplete.toUpperCase() == 'Y'){ |
|
|
|
|
|
|
|
|
if (this.customerOrgRegister.isComplete.toUpperCase() == "Y") { |
|
|
this.$message.warning("该单位体检次数已完成,不允许编辑分组"); |
|
|
this.$message.warning("该单位体检次数已完成,不允许编辑分组"); |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
@ -582,7 +508,7 @@ export default { |
|
|
this.$message.warning("请选择需要操作的数据"); |
|
|
this.$message.warning("请选择需要操作的数据"); |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
if(this.customerOrgRegister.isComplete.toUpperCase() == 'Y'){ |
|
|
|
|
|
|
|
|
if (this.customerOrgRegister.isComplete.toUpperCase() == "Y") { |
|
|
this.$message.warning("该单位体检次数已完成,不允许删除分组"); |
|
|
this.$message.warning("该单位体检次数已完成,不允许删除分组"); |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
@ -598,14 +524,10 @@ export default { |
|
|
.then((res) => { |
|
|
.then((res) => { |
|
|
if (res.code != -1) { |
|
|
if (res.code != -1) { |
|
|
console.log("删除成功"); |
|
|
console.log("删除成功"); |
|
|
let lfind = arrayExistObj( |
|
|
|
|
|
this.customerOrgGroups, |
|
|
|
|
|
"id", |
|
|
|
|
|
this.form.id |
|
|
|
|
|
); |
|
|
|
|
|
|
|
|
let lfind = arrayExistObj(this.customerOrgGroups, "id", this.form.id); |
|
|
if (lfind > -1) this.customerOrgGroups.splice(lfind, 1); |
|
|
if (lfind > -1) this.customerOrgGroups.splice(lfind, 1); |
|
|
objCopy(this.formInit,this.form) |
|
|
|
|
|
this.isDrag = false |
|
|
|
|
|
|
|
|
objCopy(this.formInit, this.form); |
|
|
|
|
|
this.isDrag = false; |
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
.catch((err) => { |
|
|
.catch((err) => { |
|
|
@ -630,58 +552,67 @@ export default { |
|
|
let body = deepCopy(this.form); |
|
|
let body = deepCopy(this.form); |
|
|
delete body.id; |
|
|
delete body.id; |
|
|
delete body.customerOrgId; |
|
|
delete body.customerOrgId; |
|
|
delete body.isComplete; |
|
|
|
|
|
|
|
|
delete body.isComplete; |
|
|
|
|
|
|
|
|
if (this.form.id) { |
|
|
if (this.form.id) { |
|
|
let customerOrgGroupId = this.form.id |
|
|
|
|
|
let customerOrgGroupAsbitems = [] //分组包含的套餐 |
|
|
|
|
|
|
|
|
let customerOrgGroupId = this.form.id; |
|
|
|
|
|
let customerOrgGroupAsbitems = []; //分组包含的套餐 |
|
|
|
|
|
|
|
|
//编辑 |
|
|
//编辑 |
|
|
putapi(`/api/app/customer-org-group/${this.form.id}`, body) |
|
|
putapi(`/api/app/customer-org-group/${this.form.id}`, body) |
|
|
.then(res => { |
|
|
|
|
|
// console.log(res) |
|
|
|
|
|
if (res.code != -1) { |
|
|
|
|
|
console.log("保存分组成功!"); |
|
|
|
|
|
let lfind = arrayExistObj( |
|
|
|
|
|
this.customerOrgGroups, |
|
|
|
|
|
"id", |
|
|
|
|
|
this.form.id |
|
|
|
|
|
); |
|
|
|
|
|
if (lfind > -1) objCopy(this.form, this.customerOrgGroups[lfind]); |
|
|
|
|
|
console.log('this.formOri.price != this.form.price',this.formOri.price,this.form.price) |
|
|
|
|
|
if(this.formOri.price != this.form.price){ |
|
|
|
|
|
return getapi(`/api/app/customerorggroupdetail/getcustomerorggroupdetailinasbitem?CustomerOrgGroupId=${customerOrgGroupId}`) |
|
|
|
|
|
}else{ |
|
|
|
|
|
this.dialogVisible = false; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
}).then(res =>{ |
|
|
|
|
|
if(res && res.code != -1){ |
|
|
|
|
|
customerOrgGroupAsbitems = res.data; |
|
|
|
|
|
if(customerOrgGroupAsbitems.length < 1){ |
|
|
|
|
|
console.log("该分组暂没有组合项目!"); |
|
|
|
|
|
|
|
|
.then((res) => { |
|
|
|
|
|
// console.log(res) |
|
|
|
|
|
if (res.code != -1) { |
|
|
|
|
|
console.log("保存分组成功!"); |
|
|
|
|
|
let lfind = arrayExistObj(this.customerOrgGroups, "id", this.form.id); |
|
|
|
|
|
if (lfind > -1) objCopy(this.form, this.customerOrgGroups[lfind]); |
|
|
|
|
|
console.log( |
|
|
|
|
|
"this.formOri.price != this.form.price", |
|
|
|
|
|
this.formOri.price, |
|
|
|
|
|
this.form.price |
|
|
|
|
|
); |
|
|
|
|
|
if (this.formOri.price != this.form.price) { |
|
|
|
|
|
return getapi( |
|
|
|
|
|
`/api/app/customerorggroupdetail/getcustomerorggroupdetailinasbitem?CustomerOrgGroupId=${customerOrgGroupId}` |
|
|
|
|
|
); |
|
|
|
|
|
} else { |
|
|
|
|
|
this.dialogVisible = false; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
|
|
|
.then((res) => { |
|
|
|
|
|
if (res && res.code != -1) { |
|
|
|
|
|
customerOrgGroupAsbitems = res.data; |
|
|
|
|
|
if (customerOrgGroupAsbitems.length < 1) { |
|
|
|
|
|
console.log("该分组暂没有组合项目!"); |
|
|
|
|
|
this.dialogVisible = false; |
|
|
|
|
|
} else { |
|
|
|
|
|
let detailsBody = { |
|
|
|
|
|
customerOrgGroupId, |
|
|
|
|
|
details: this.madeNewGroupAsbitems( |
|
|
|
|
|
customerOrgGroupAsbitems, |
|
|
|
|
|
this.form.price |
|
|
|
|
|
), |
|
|
|
|
|
}; |
|
|
|
|
|
return postapi( |
|
|
|
|
|
"/api/app/customerorggroupdetail/createcustomerorggroupdetailmany", |
|
|
|
|
|
detailsBody |
|
|
|
|
|
); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
|
|
|
.then((res) => { |
|
|
|
|
|
if (res && res.code != -1) { |
|
|
|
|
|
console.log("操作成功!并自动按总价同比折算组合项目价格!"); |
|
|
this.dialogVisible = false; |
|
|
this.dialogVisible = false; |
|
|
}else{ |
|
|
|
|
|
let detailsBody = { |
|
|
|
|
|
customerOrgGroupId, |
|
|
|
|
|
details:this.madeNewGroupAsbitems(customerOrgGroupAsbitems,this.form.price) |
|
|
|
|
|
} |
|
|
|
|
|
return postapi('/api/app/customerorggroupdetail/createcustomerorggroupdetailmany',detailsBody) |
|
|
|
|
|
|
|
|
// 刷新明细 |
|
|
|
|
|
let id = this.form.id; |
|
|
|
|
|
this.form.id = ""; |
|
|
|
|
|
setTimeout(() => { |
|
|
|
|
|
this.form.id = id; |
|
|
|
|
|
}, 100); |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
}).then(res =>{ |
|
|
|
|
|
if(res && res.code != -1){ |
|
|
|
|
|
console.log("操作成功!并自动按总价同比折算组合项目价格!"); |
|
|
|
|
|
this.dialogVisible = false; |
|
|
|
|
|
// 刷新明细 |
|
|
|
|
|
let id = this.form.id |
|
|
|
|
|
this.form.id = '' |
|
|
|
|
|
setTimeout(() => { |
|
|
|
|
|
this.form.id = id |
|
|
|
|
|
}, 100); |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}); |
|
|
} else { |
|
|
} else { |
|
|
//新增 |
|
|
//新增 |
|
|
postapi( |
|
|
postapi( |
|
|
@ -692,7 +623,9 @@ export default { |
|
|
console.log("操作成功!"); |
|
|
console.log("操作成功!"); |
|
|
this.form.id = res.data.id; |
|
|
this.form.id = res.data.id; |
|
|
this.customerOrgGroups.push(deepCopy(res.data)); |
|
|
this.customerOrgGroups.push(deepCopy(res.data)); |
|
|
this.$refs['customerOrgGroups'].setCurrentRow(this.customerOrgGroups[this.customerOrgGroups.length - 1]); |
|
|
|
|
|
|
|
|
this.$refs["customerOrgGroups"].setCurrentRow( |
|
|
|
|
|
this.customerOrgGroups[this.customerOrgGroups.length - 1] |
|
|
|
|
|
); |
|
|
this.dialogVisible = false; |
|
|
this.dialogVisible = false; |
|
|
} |
|
|
} |
|
|
}); |
|
|
}); |
|
|
@ -700,91 +633,103 @@ export default { |
|
|
}); |
|
|
}); |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
computePrice(){ |
|
|
|
|
|
if(!this.form.id){ |
|
|
|
|
|
this.$message.warning("尚未保存信息,不可执行此操作!") |
|
|
|
|
|
return |
|
|
|
|
|
|
|
|
computePrice() { |
|
|
|
|
|
if (!this.form.id) { |
|
|
|
|
|
this.$message.warning("尚未保存信息,不可执行此操作!"); |
|
|
|
|
|
return; |
|
|
} |
|
|
} |
|
|
let customerOrgGroupId = this.form.id |
|
|
|
|
|
let customerOrgGroupAsbitems = [] //分组包含的套餐 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let customerOrgGroupId = this.form.id; |
|
|
|
|
|
let customerOrgGroupAsbitems = []; //分组包含的套餐 |
|
|
|
|
|
|
|
|
getapi(`/api/app/customerorggroupdetail/getcustomerorggroupdetailinasbitem?CustomerOrgGroupId=${customerOrgGroupId} |
|
|
getapi(`/api/app/customerorggroupdetail/getcustomerorggroupdetailinasbitem?CustomerOrgGroupId=${customerOrgGroupId} |
|
|
`).then(res => { |
|
|
|
|
|
if(res.code != -1){ |
|
|
|
|
|
customerOrgGroupAsbitems = res.data; |
|
|
|
|
|
|
|
|
|
|
|
if(customerOrgGroupAsbitems.length < 1){ |
|
|
|
|
|
this.$message.warning("当前分组尚未设置组合项目,不可执行此操作!") |
|
|
|
|
|
}else{ |
|
|
|
|
|
let body = { |
|
|
|
|
|
customerOrgGroupId, |
|
|
|
|
|
details:this.madeNewGroupAsbitems(customerOrgGroupAsbitems,this.form.price) |
|
|
|
|
|
|
|
|
`) |
|
|
|
|
|
.then((res) => { |
|
|
|
|
|
if (res.code != -1) { |
|
|
|
|
|
customerOrgGroupAsbitems = res.data; |
|
|
|
|
|
|
|
|
|
|
|
if (customerOrgGroupAsbitems.length < 1) { |
|
|
|
|
|
this.$message.warning("当前分组尚未设置组合项目,不可执行此操作!"); |
|
|
|
|
|
} else { |
|
|
|
|
|
let body = { |
|
|
|
|
|
customerOrgGroupId, |
|
|
|
|
|
details: this.madeNewGroupAsbitems( |
|
|
|
|
|
customerOrgGroupAsbitems, |
|
|
|
|
|
this.form.price |
|
|
|
|
|
), |
|
|
|
|
|
}; |
|
|
|
|
|
console.log("body", body); |
|
|
|
|
|
return postapi( |
|
|
|
|
|
"/api/app/customerorggroupdetail/createcustomerorggroupdetailmany", |
|
|
|
|
|
body |
|
|
|
|
|
); |
|
|
} |
|
|
} |
|
|
console.log('body',body) |
|
|
|
|
|
return postapi('/api/app/customerorggroupdetail/createcustomerorggroupdetailmany',body) |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
}).then(res =>{ |
|
|
|
|
|
if(res.code != -1){ |
|
|
|
|
|
//console.log("操作成功"); |
|
|
|
|
|
//触发分组明细刷新 |
|
|
|
|
|
this.form.id = '' |
|
|
|
|
|
//要做延时处理,否则不会触发监听 |
|
|
|
|
|
setTimeout(() => { |
|
|
|
|
|
this.form.id = customerOrgGroupId; |
|
|
|
|
|
this.onSubmit('form') |
|
|
|
|
|
}, 100) |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}) |
|
|
|
|
|
.then((res) => { |
|
|
|
|
|
if (res.code != -1) { |
|
|
|
|
|
//console.log("操作成功"); |
|
|
|
|
|
//触发分组明细刷新 |
|
|
|
|
|
this.form.id = ""; |
|
|
|
|
|
//要做延时处理,否则不会触发监听 |
|
|
|
|
|
setTimeout(() => { |
|
|
|
|
|
this.form.id = customerOrgGroupId; |
|
|
|
|
|
this.onSubmit("form"); |
|
|
|
|
|
}, 100); |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
madeNewGroupAsbitems(oldGroupAsbitems,newTotal){ |
|
|
|
|
|
newTotal = Math.round(Number(newTotal)*100)/100 |
|
|
|
|
|
let newGroupAsbitems = [] |
|
|
|
|
|
let oldTotal = Number(0) |
|
|
|
|
|
oldGroupAsbitems.forEach(e =>{ |
|
|
|
|
|
oldTotal += Number(e.asbitemMoney) //customerOrgGroupDetailMoney |
|
|
|
|
|
}) |
|
|
|
|
|
oldTotal = Math.round(Number(oldTotal)*100)/100 |
|
|
|
|
|
|
|
|
|
|
|
let discount = 0 |
|
|
|
|
|
if(oldTotal != 0) discount = Math.round(newTotal * 10000 /oldTotal)/100 |
|
|
|
|
|
|
|
|
|
|
|
oldTotal = Number(0) |
|
|
|
|
|
oldGroupAsbitems.forEach(e =>{ |
|
|
|
|
|
e.customerOrgGroupDetailPrice = Math.round(e.price * discount)/100 |
|
|
|
|
|
e.customerOrgGroupDetailMoney = Math.round(e.customerOrgGroupDetailPrice * e.customerOrgGroupDetailAmount * 100)/100 |
|
|
|
|
|
oldTotal += Number(e.customerOrgGroupDetailMoney) |
|
|
|
|
|
}) |
|
|
|
|
|
oldTotal = Math.round(Number(oldTotal)*100)/100 |
|
|
|
|
|
|
|
|
madeNewGroupAsbitems(oldGroupAsbitems, newTotal) { |
|
|
|
|
|
newTotal = Math.round(Number(newTotal) * 100) / 100; |
|
|
|
|
|
let newGroupAsbitems = []; |
|
|
|
|
|
let oldTotal = Number(0); |
|
|
|
|
|
oldGroupAsbitems.forEach((e) => { |
|
|
|
|
|
oldTotal += Number(e.asbitemMoney); //customerOrgGroupDetailMoney |
|
|
|
|
|
}); |
|
|
|
|
|
oldTotal = Math.round(Number(oldTotal) * 100) / 100; |
|
|
|
|
|
|
|
|
|
|
|
let discount = 0; |
|
|
|
|
|
if (oldTotal != 0) discount = Math.round((newTotal * 10000) / oldTotal) / 100; |
|
|
|
|
|
|
|
|
|
|
|
oldTotal = Number(0); |
|
|
|
|
|
oldGroupAsbitems.forEach((e) => { |
|
|
|
|
|
e.customerOrgGroupDetailPrice = Math.round(e.price * discount) / 100; |
|
|
|
|
|
e.customerOrgGroupDetailMoney = |
|
|
|
|
|
Math.round( |
|
|
|
|
|
e.customerOrgGroupDetailPrice * e.customerOrgGroupDetailAmount * 100 |
|
|
|
|
|
) / 100; |
|
|
|
|
|
oldTotal += Number(e.customerOrgGroupDetailMoney); |
|
|
|
|
|
}); |
|
|
|
|
|
oldTotal = Math.round(Number(oldTotal) * 100) / 100; |
|
|
|
|
|
|
|
|
//console.log('discount,oldTotal',discount,oldTotal) |
|
|
//console.log('discount,oldTotal',discount,oldTotal) |
|
|
|
|
|
|
|
|
let didTotal = Math.round(Number(newTotal - oldTotal)*100)/100 |
|
|
|
|
|
if(didTotal != 0){ |
|
|
|
|
|
for(let i = 0;i<oldGroupAsbitems.length;i++){ |
|
|
|
|
|
if(oldGroupAsbitems[i].customerOrgGroupDetailAmount == 1){ |
|
|
|
|
|
oldGroupAsbitems[i].customerOrgGroupDetailPrice = Math.round((Number(oldGroupAsbitems[i].customerOrgGroupDetailPrice) + Number(didTotal))*100)/100 |
|
|
|
|
|
break |
|
|
|
|
|
|
|
|
let didTotal = Math.round(Number(newTotal - oldTotal) * 100) / 100; |
|
|
|
|
|
if (didTotal != 0) { |
|
|
|
|
|
for (let i = 0; i < oldGroupAsbitems.length; i++) { |
|
|
|
|
|
if (oldGroupAsbitems[i].customerOrgGroupDetailAmount == 1) { |
|
|
|
|
|
oldGroupAsbitems[i].customerOrgGroupDetailPrice = |
|
|
|
|
|
Math.round( |
|
|
|
|
|
(Number(oldGroupAsbitems[i].customerOrgGroupDetailPrice) + |
|
|
|
|
|
Number(didTotal)) * |
|
|
|
|
|
100 |
|
|
|
|
|
) / 100; |
|
|
|
|
|
break; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
oldGroupAsbitems.forEach(e =>{ |
|
|
|
|
|
|
|
|
oldGroupAsbitems.forEach((e) => { |
|
|
newGroupAsbitems.push({ |
|
|
newGroupAsbitems.push({ |
|
|
customerOrgGroupId:e.customerOrgGroupId, |
|
|
|
|
|
asbitemId:e.asbitemId, |
|
|
|
|
|
price:e.customerOrgGroupDetailPrice, |
|
|
|
|
|
amount:e.customerOrgGroupDetailAmount |
|
|
|
|
|
}) |
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
customerOrgGroupId: e.customerOrgGroupId, |
|
|
|
|
|
asbitemId: e.asbitemId, |
|
|
|
|
|
price: e.customerOrgGroupDetailPrice, |
|
|
|
|
|
amount: e.customerOrgGroupDetailAmount, |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
return newGroupAsbitems |
|
|
|
|
|
|
|
|
return newGroupAsbitems; |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
}, |
|
|
}, |
|
|
}; |
|
|
}; |
|
|
</script> |
|
|
</script> |
|
|
@ -797,7 +742,7 @@ export default { |
|
|
@import "../../assets/css/global.css"; |
|
|
@import "../../assets/css/global.css"; |
|
|
|
|
|
|
|
|
.btnClass { |
|
|
.btnClass { |
|
|
width:100px; |
|
|
|
|
|
margin-bottom: 5px |
|
|
|
|
|
|
|
|
width: 100px; |
|
|
|
|
|
margin-bottom: 5px; |
|
|
} |
|
|
} |
|
|
</style> |
|
|
|
|
|
|
|
|
</style> |