123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407 |
- //@ sourceURL=yf_divide.js
- var pharmacyGroupNo;//药房编码
- $(function () {
- $(".selectpicker").selectpicker();
- $("#pharmacyModal").modal("show");
- //初始化药品查询弹出框
- initDrugSearchList();
- $('#searchText').on('input focus',function(e){
- showDrugPopover();
- });
- });
- //显示查询的药品悬浮窗
- function showDrugPopover() {
- $('#tb_table_medicine').bootstrapTable('destroy');
- $('#tb_table_medicine').bootstrapTable({
- url: '/thmz/getYpBaseYfLike', //请求后台的URL(*)
- method: 'GET', //请求方式(*)
- //toolbar: '#toolbar', //工具按钮用哪个容器
- striped: true, //是否显示行间隔色
- cache: true, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
- pagination: false, //是否显示分页(*)
- sortable: true, //是否启用排序
- sortOrder: "asc", //排序方式
- queryParams:queryParamsDrugTable, //传递参数(*)
- sidePagination: "client", //分页方式:client客户端分页,server服务端分页(*)
- pageNumber: 1, //初始化加载第一页,默认第一页
- pageSize: 5, //每页的记录行数(*)
- pageList: [5, 10, 25, 50, 100], //可供选择的每页的行数(*)
- search: false, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
- strictSearch: true,
- showColumns: false, //是否显示所有的列
- showRefresh: false, //是否显示刷新按钮
- minimumCountColumns: 2, //最少允许的列数
- clickToSelect: true, //是否启用点击选中行
- uniqueId: "ID", //每一行的唯一标识,一般为主键列
- showToggle: false, //是否显示详细视图和列表视图的切换按钮
- cardView: false, //是否显示详细视图
- detailView: false,
- //rowStyle:rowStyle,//通过自定义函数设置行样式
- ajaxOptions: {
- headers: {
- 'Accept': 'application/json',
- 'Authorization': 'Bearer ' + localStorage.getItem("token")
- }
- },
- columns: [
- {
- field: 'chargeCode',
- title: '编码',
- align: "center",
- valign: 'middle'
- },{
- field: 'name',
- title: '药品名',
- align: "center",
- valign: 'middle'
- },
- {
- field: 'specification',
- title: '规格',
- align: "center",
- valign: 'middle'
- },
- {
- field: 'packRetprice',
- title: '单价',
- align: "center",
- valign: 'middle'
- }, {
- field: 'stockAmount',
- title: '药房库存',
- align: "center",
- valign: 'middle',
- formatter: function (value, row, index) {
- return value<1?'<span style="color: red">'+value+'</span>':value;
- }
- }
- ],
- onClickRow: function (row, $element) {
- $('#searchText').webuiPopover('hide');
- var data= $('#add_drug_table').bootstrapTable('getData',true);
- for (let i = 0; i <data.length; i++) {
- if(data[i].chargeCode == row.chargeCode){
- return errorMesageSimaple('该药品已存在');
- }
- }
- $('#tb_table').bootstrapTable('prepend', row);
- },
- responseHandler: function (res) {
- if (res == '401' || res == 401) {
- window.location.href = '/thmz/login/view'
- return;
- }
- var ress = eval(res);
- if (ress.code == -1) {
- errorMesage(res);
- return {
- "total": 0,//总页数
- "rows": {} //数据
- };
- }
- return {
- "total": ress.data.length,//总页数
- "rows": ress.data //数据
- };
- }
- });
- }
- /**
- * 药品列表查询参数
- */
- function queryParamsDrugTable() {
- var temp = {
- groupNo: pharmacyGroupNo,
- searchText: $("#searchText").val() == "" ? null : $("#searchText").val(),
- };
- return temp;
- }
- /**
- * 初始化参数
- */
- function init() {
- pharmacyGroupNo = $("#pharmacyGroupNo").val();
- $("#pharmacyModal").modal("hide");
- initTable();
- initDivide();
- }
- /**
- * 查询列表
- */
- function initTable() {
- $('#tb_table').bootstrapTable('destroy');
- $('#tb_table').bootstrapTable({
- method: 'GET', //请求方式(*)
- toolbar: '#toolbar', //工具按钮用哪个容器
- striped: true, //是否显示行间隔色
- cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
- pagination: true, //是否显示分页(*)
- sortable: true, //是否启用排序
- sortOrder: "asc", //排序方式
- singleSelect: true, // 单选checkbox
- sidePagination: "client", //分页方式:client客户端分页,server服务端分页(*)
- pageNumber: 1, //初始化加载第一页,默认第一页
- pageSize: 10, //每页的记录行数(*)
- pageList: [10, 20, 40, 100], //可供选择的每页的行数(*)
- search: false, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
- strictSearch: true,
- showColumns: false, //是否显示所有的列
- showRefresh: false, //是否显示刷新按钮
- minimumCountColumns: 2, //最少允许的列数
- clickToSelect: true, //是否启用点击选中行
- uniqueId: "ID", //每一行的唯一标识,一般为主键列
- showToggle: false, //是否显示详细视图和列表视图的切换按钮
- cardView: false, //是否显示详细视图
- detailView: false,
- ajaxOptions: {
- headers: {
- 'Accept': 'application/json',
- 'Authorization': 'Bearer ' + localStorage.getItem("token")
- }
- },
- columns: [
- {
- field: 'checked',
- checkbox: true,
- align: "center",
- valign: 'middle',
- formatter: function (value, row, index) {
- if(index == 0){
- return {
- checked: true//设置选中
- };
- }
- }
- },{
- field: 'chargeCode',
- title: '药品编码',
- align: "center",
- valign: 'middle'
- }, {
- field: 'serial',
- title: '序号',
- align: "center",
- valign: 'middle'
- }, {
- field: 'name',
- title: '药品名',
- align: "center",
- valign: 'middle'
- },
- {
- field: 'specification',
- title: '规格',
- align: "center",
- valign: 'middle'
- },
- {
- field: 'packSize',
- title: '包装量',
- align: "center",
- valign: 'middle'
- },
- {
- field: 'packRetprice',
- title: '零售价',
- align: "center",
- valign: 'middle',
- formatter: function (value, row, index) {
- return value.toFixed(2);
- }
- },
- {
- field: 'stockAmount',
- title: '药房库存',
- align: "center",
- valign: 'middle'
- }
- ],
- onClickRow: function (row) {
- var data= $('#tb_table_divide').bootstrapTable('getData',true);
- if(data.length == 0){
- loadDrugDivide(row.chargeCode);
- }else if(data.length > 0 && data[0].chargeCode != row.chargeCode){
- loadDrugDivide(row.chargeCode);
- }
- },
- responseHandler: function (res) {
- if (res == '401' || res == 401) {
- window.location.href = '/thmz/login/view'
- return;
- }
- var ress = eval(res);
- if (ress.code == -1) {
- errorMesage(res);
- return {
- "total": 0,//总页数
- "rows": {} //数据
- };
- }
- return {
- "total": ress.total,//总页数
- "rows": ress.data //数据
- };
- }
- });
- }
- /**
- * 初始化分装表格
- */
- function initDivide() {
- $('#tb_table_divide').bootstrapTable('destroy');
- $('#tb_table_divide').bootstrapTable({
- method: 'GET', //请求方式(*)
- toolbar: '#toolbar_divide', //工具按钮用哪个容器
- striped: true, //是否显示行间隔色
- cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
- pagination: true, //是否显示分页(*)
- sortable: true, //是否启用排序
- sortOrder: "asc", //排序方式
- singleSelect: true, // 单选checkbox
- sidePagination: "client", //分页方式:client客户端分页,server服务端分页(*)
- pageNumber: 1, //初始化加载第一页,默认第一页
- pageSize: 10, //每页的记录行数(*)
- pageList: [10, 20, 40, 100], //可供选择的每页的行数(*)
- search: false, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
- strictSearch: true,
- showColumns: false, //是否显示所有的列
- showRefresh: false, //是否显示刷新按钮
- minimumCountColumns: 2, //最少允许的列数
- clickToSelect: true, //是否启用点击选中行
- uniqueId: "ID", //每一行的唯一标识,一般为主键列
- showToggle: false, //是否显示详细视图和列表视图的切换按钮
- cardView: false, //是否显示详细视图
- detailView: false,
- ajaxOptions: {
- headers: {
- 'Accept': 'application/json',
- 'Authorization': 'Bearer ' + localStorage.getItem("token")
- }
- },
- columns: [
- {
- field: 'chargeCode',
- title: '药品编码',
- align: "center",
- visible:false,
- valign: 'middle'
- }, {
- field: 'serial',
- title: '序号',
- align: "center",
- valign: 'middle'
- }, {
- field: 'name',
- title: '药品名',
- align: "center",
- valign: 'middle'
- },
- {
- field: 'specification',
- title: '新包装规格',
- align: "center",
- valign: 'middle'
- },
- {
- field: 'packSize',
- title: '新包装量',
- align: "center",
- valign: 'middle'
- },
- {
- field: 'amount',
- title: '分装量',
- align: "center",
- valign: 'middle'
- },
- {
- field: 'oldAmount',
- title: '参与原包装数量',
- align: "center",
- valign: 'middle'
- }
- ],
- /**
- * @param {点击列的 field 名称} field
- * @param {点击列的 value 值} value
- * @param {点击列的整行数据} row
- * @param {td 元素} $element
- */
- onClickCell: function(field, value, row, $element) {
- if(field == 'oldAmount'){
- $element.attr('contenteditable', true);
- $element.html(null);
- $element.focus();
- $element.blur(function() {
- var index = $element.parent().data('index');
- var tdValue = $element.html();
- if(parseFloat(tdValue).toString() != "NaN"){
- saveCellData($('#tb_table_divide'), index, field, tdValue);
- let amount = 0;
- if(row.serial == '01'){
- amount = parseFloat(tdValue)*row.packSize;
- }else{
- amount = parseFloat(tdValue)/row.packSize;
- }
- saveCellData($('#tb_table_divide'), index,'amount', amount);
- }else{
- $element.html(null);
- }
- })
- }
- },
- responseHandler: function (res) {
- if (res == '401' || res == 401) {
- window.location.href = '/thmz/login/view'
- return;
- }
- var ress = eval(res);
- if (ress.code == -1) {
- errorMesage(res);
- return {
- "total": 0,//总页数
- "rows": {} //数据
- };
- }
- return {
- "total": ress.total,//总页数
- "rows": ress.data //数据
- };
- }
- });
- }
- /**
- * 加载药品编码所有规格信息
- * @param chargeCode
- */
- function loadDrugDivide(chargeCode) {
- $.ajax({
- type: "GET",
- url: '/thmz/getYpByChargeCodeAndGroupNo',
- contentType: "application/json;charset=UTF-8",
- dataType: "json",
- headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
- data: {
- chargeCode:chargeCode,
- groupNo:pharmacyGroupNo
- },
- success: function (res) {
- if (res == '401' || res == 401) {
- window.location.href = '/thmz/login/view'
- return;
- }
- if (res.code == 0) {
- $('#tb_table_divide').bootstrapTable('prepend', res.data);
- } else {
- errorMesage(res);
- }
- }
- });
- }
|