@liuqiongqiong/vue-pages 1.0.5 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import{ClockJsInfo,JSInfoNew,ClockInfo,wxSettlementInfo,wxSettlementStatisticInfoNew,wxSettlementStatisticInfo,revokepsnsetlThird,WxSettlementPage,WxSettlementSubmitOneClock,WxClockPage,WxSettlementCzOne,WxClockNeedCZ,predeclareThird,WxSettlementSave,WxSettlementAdvancePage,StatisticsSetlDeltais,billCheck,sysTrtSetlInfo,StatisticsSetl,savepsnsetlThird,queryOrgSetlEvtListThird}from"@/api/settlement";import{SysUnitAll,WxUserFamilyAll,WxClockItemFormulateSave,getFormulate,WxUserFamilySysUser,ExportExcelInfoWX,WxUserCustomAll,customAll,WxUserFamilyPage,WxUserFamilySave,updateIsDel,WxUserFamilyDel,repeatedGeneration,WxOrderFinish,SProjectPlanPage,SPersonAll,SProjectAll,SysUnitPage,SProjectPlanDetail,ExportExcel as ExportExcel$1,SProjectPage,SProjectTake,SProjectSave,SProjectDel,ExportExcelPlan,ExportExcelInfo,SProjectPlanSave,SProjectPlanDel,SysUnitBank,exportsysUnitInfo,cloudSave,SysUnitbankSave,SysUnitSave as SysUnitSave$1,SysUnitDel}from"@/api/institution";import Pagination from"@/components/Pagination";import{getUserInfoRole}from"@/utils/auth";import{ExportExcel,WxOrderDetail,WxOrderItemgetOrderNoDetails,WxOrderSchedulingDel,WxOrderSchedulingSave,WxOrderSchedulingGetByOrderNo,WxOrderItemUserSave,WxOrderPage,WxOrderSave,WxOrderDel}from"@/api/plan";import{uploadPDF,uploadTP,uploadThird}from"@/api/upload";import{fileUrl}from"@/utils/fileUrl.js";import PreviewFile from"@/components/previewFile";import Vue from"vue";import{SPersonSync,ExportExcel as ExportExcel$2,updateStatus,SPersonPage,SPersonSave,SPersonDel}from"@/api/article";import pcaCode from"@/utils/pca.json";import{SysUserDel,SysUserResetPass,SysUserSave,SysUserPage,SysRoleAll,SysUnitAll as SysUnitAll$1,SysRoleAccess,SysRoleDel,SysRoleSave,SysRolePage,SysNodeTree}from"@/api/sys.js";var script$d={name:"Personnel",components:{Pagination:Pagination},filters:{},data:()=>({unitType:null,time:null,institutionList:[],customerData:[],startDate:"",loadExp:!1,dialogVisibleExp:!1,dialogVisibleExp_two:!1,dialogStatus:"",textMap:{update:"详情",create:"创建"},tableKey:0,list:null,total:0,listLoading:!0,listQuery:{pageNo:1,size:20},dialogFormVisible:!1,dialogPvVisible:!1,rules:{status:[{required:!0,message:"请选择审批状态",trigger:"change"}],name:[{required:!0,message:"请输入机构名称",trigger:"blur"}],city:[{required:!0,message:"请输入行政区划",trigger:"blur"}],county:[{required:!0,message:"请输入所属辖区",trigger:"blur"}],address:[{required:!0,message:"请输入护理机构地址",trigger:"blur"}],linkMan:[{required:!0,message:"请输入联系人",trigger:"blur"}],linkPhoneNumber:[{required:!0,message:"请输入联系号码",trigger:"blur"}]},temp:{},downloadLoading:!1,expObj:{},expObjPrint:{},expObjPrintNew:{},expObjVisible:!1,dialogVisibleExpPrint:!1,dialogVisibleExpPrint_two:!1}),computed:{totalAmount(){let e=0;if(0==!Object.keys(this.expObjPrint).length)for(let t=0;t<this.expObjPrint.list.length;t++)e+=this.expObjPrint.list[t].accountTotal;return e.toFixed(1)||0},fundAmount(){let e=0;if(0==!Object.keys(this.expObjPrint).length)for(let t=0;t<this.expObjPrint.list.length;t++)e+=this.expObjPrint.list[t].fundPrice;return e.toFixed(1)||0},burdenAmount(){let e=0;if(0==!Object.keys(this.expObjPrint).length)for(let t=0;t<this.expObjPrint.list.length;t++)e+=this.expObjPrint.list[t].fei+this.expObjPrint.list[t].fu;return e.toFixed(1)||0}},created(){this.getList()},methods:{changeTime(e){this.listQuery.orderStartDate=e[0],this.listQuery.orderEndDate=e[1]},onPrint(){this.$print(this.$refs.printDom1)},getExpPrint(e){ClockJsInfo({yearMonth:e}).then(e=>{console.log(e),1===e.status&&(this.expObjPrint=e.result)})},getExpPrint_new(e){JSInfoNew({yearMonth:e}).then(e=>{console.log(e),1===e.status&&(this.expObjPrintNew=e.result)})},expExcel3(e){this.dialogVisibleExpPrint=!0,this.startDate=""},expExcel4(e){this.dialogVisibleExpPrint_two=!0,this.startDate=""},expExcel2(e){ClockInfo({orderNo:e.orderNo}).then(e=>{if(1===e.status){this.unitType=e.result.unitType;const t={},n=e.result.list[e.result.list.length-1];for(const e in n)"string"==typeof n[e]&&n[e].includes("-")?t[e]=n[e].split(/-/):t[e]=n[e];e.result.list[e.result.list.length-1]=t,this.expObj=e.result,this.expObjVisible=!0}})},expExcel(e){wxSettlementInfo({id:e.id,orderNo:e.orderNo}).then(e=>{const t=new Blob([e]);if(t.size>0){const e=document.createElement("a");e.style.display="none",e.href=URL.createObjectURL(t),e.download=`结算信息导出/${this.$moment().format("YYYY-MM-DD")}.xlsx`,document.body.appendChild(e),e.click(),URL.revokeObjectURL(e.href),document.body.removeChild(e)}})},expExcelForm_two(){try{this.loadExp=!0;const e={yearMonth:this.startDate};wxSettlementStatisticInfoNew(e).then(e=>{const t=new Blob([e]);if(t.size>0){const e=document.createElement("a");e.style.display="none",e.href=URL.createObjectURL(t),e.download=`新结算统计导出/${this.$moment().format("YYYY-MM-DD")}.xlsx`,document.body.appendChild(e),e.click(),URL.revokeObjectURL(e.href),document.body.removeChild(e)}this.handleClose(),this.loadExp=!1}).catch(()=>{this.loadExp=!1})}catch(e){this.loadExp=!1,console.log(e)}},expExcelForm(){try{this.loadExp=!0;const e={yearMonth:this.startDate};wxSettlementStatisticInfo(e).then(e=>{const t=new Blob([e]);if(t.size>0){const e=document.createElement("a");e.style.display="none",e.href=URL.createObjectURL(t),e.download=`结算统计导出/${this.$moment().format("YYYY-MM-DD")}.xlsx`,document.body.appendChild(e),e.click(),URL.revokeObjectURL(e.href),document.body.removeChild(e)}this.handleClose(),this.loadExp=!1}).catch(()=>{this.loadExp=!1})}catch(e){this.loadExp=!1,console.log(e)}},handleClose(){this.dialogVisibleExp=!1,this.dialogVisibleExp_two=!1,this.expObjVisible=!1,this.dialogVisibleExpPrint=!1,this.dialogVisibleExpPrint_two=!1,this.expObj={},this.expObjPrint={},this.startDate=""},revoke(e){revokepsnsetlThird({trtSetlId:e.trtSetlId}).then(e=>{1==e.status?(this.getList(),this.$notify({title:"提示",message:"撤销成功",type:"success",duration:2e3})):this.$notify({title:"提示",message:e.info,type:"error",duration:2e3})})},getList(){this.listLoading=!0,WxSettlementPage(this.listQuery).then(e=>{this.list=e.result.data,this.total=e.result.count,setTimeout(()=>{this.listLoading=!1},1500)}),SysUnitAll().then(e=>{this.institutionList=e.result.map(e=>({label:e.name,value:e.id}))}),WxUserFamilyAll().then(e=>{this.customerData=e.result.map(e=>({label:e.name,value:e.id}))})},handleModifyStatus(e,t){this.$message({message:"操作成功",type:"success"}),e.status=t},resetting(e){this.$nextTick(()=>{this.$refs[e].resetFields(),this.getList()})},add(){this.dialogStatus="create",this.dialogFormVisible=!0,this.temp={}},onSubmit(){this.getList()},createData(){this.$refs.dataForm.validate(e=>{e&&SysUnitSave(this.temp).then(e=>{if(1==e.status)return this.dialogFormVisible=!1,this.getList(),void this.$notify({title:e.info,message:"新增成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"新增失败",type:"error",duration:2e3})})})},updateData(){this.$refs.dataForm.validate(e=>{e&&WxClockApplyApprove(this.temp).then(e=>{if(1==e.status)return this.dialogFormVisible=!1,this.getList(),void this.$notify({title:e.info,message:"更新成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"更新失败",type:"error",duration:2e3})})})},edit(e){this.temp=e,this.dialogStatus="update",this.dialogFormVisible=!0},handleDelete(e,t){WxClockApplyDel({id:e.id}).then(e=>{if(1==e.status)return this.getList(),void this.$notify({title:e.info,message:"删除成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"删除失败",type:"error",duration:2e3})})}}};function normalizeComponent(e,t,n,r,l,i,a,s,o,c){"boolean"!=typeof a&&(o=s,s=a,a=!1);const d="function"==typeof n?n.options:n;let p;if(e&&e.render&&(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,l&&(d.functional=!0)),r&&(d._scopeId=r),i?(p=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),t&&t.call(this,o(e)),e&&e._registeredComponents&&e._registeredComponents.add(i)},d._ssrRegister=p):t&&(p=a?function(e){t.call(this,c(e,this.$root.$options.shadowRoot))}:function(e){t.call(this,s(e))}),p)if(d.functional){const e=d.render;d.render=function(t,n){return p.call(n),e(t,n)}}else{const e=d.beforeCreate;d.beforeCreate=e?[].concat(e,p):[p]}return n}const isOldIE="undefined"!=typeof navigator&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());function createInjector(e){return(e,t)=>addStyle(e,t)}let HEAD;const styles={};function addStyle(e,t){const n=isOldIE?t.media||"default":e,r=styles[n]||(styles[n]={ids:new Set,styles:[]});if(!r.ids.has(e)){r.ids.add(e);let n=t.source;if(t.map&&(n+="\n/*# sourceURL="+t.map.sources[0]+" */",n+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(t.map))))+" */"),r.element||(r.element=document.createElement("style"),r.element.type="text/css",t.media&&r.element.setAttribute("media",t.media),void 0===HEAD&&(HEAD=document.head||document.getElementsByTagName("head")[0]),HEAD.appendChild(r.element)),"styleSheet"in r.element)r.styles.push(n),r.element.styleSheet.cssText=r.styles.filter(Boolean).join("\n");else{const e=r.ids.size-1,t=document.createTextNode(n),l=r.element.childNodes;l[e]&&r.element.removeChild(l[e]),l.length?r.element.insertBefore(t,l[e]):r.element.appendChild(t)}}}const __vue_script__$d=script$d;var __vue_render__$d=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"app-container"},[n("div",{staticClass:"filter-container"},[n("el-form",{ref:"listQuery",staticClass:"demo-form-inline",attrs:{inline:!0,model:e.listQuery}},[n("el-form-item",{attrs:{label:"客户姓名",prop:"name"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择客户"},model:{value:e.listQuery.familyId,callback:function(t){e.$set(e.listQuery,"familyId",t)},expression:"listQuery.familyId"}},e._l(e.customerData,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1),e._v(" "),n("el-form-item",{attrs:{label:"机构名称",prop:"name"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择机构名称"},model:{value:e.listQuery.unitName,callback:function(t){e.$set(e.listQuery,"unitName",t)},expression:"listQuery.unitName"}},e._l(e.institutionList,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.label}})}),1)],1),e._v(" "),n("el-form-item",{attrs:{label:"计划流水号",prop:"orderNo"}},[n("el-input",{attrs:{clearable:"",size:"small",placeholder:"请输入计划流水号"},model:{value:e.listQuery.orderNo,callback:function(t){e.$set(e.listQuery,"orderNo",t)},expression:"listQuery.orderNo"}})],1),e._v(" "),n("el-form-item",{attrs:{label:"月份"}},[n("el-date-picker",{attrs:{size:"small","value-format":"yyyy-MM",type:"month",placeholder:"选择月"},model:{value:e.listQuery.orderYearMonth,callback:function(t){e.$set(e.listQuery,"orderYearMonth",t)},expression:"listQuery.orderYearMonth"}})],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"primary"},on:{click:e.onSubmit}},[e._v("查询")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"warning"},on:{click:function(t){return e.resetting("listQuery")}}},[e._v("重置")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"primary"},on:{click:function(t){e.dialogVisibleExp=!0}}},[e._v("结算周期导出")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"primary"},on:{click:function(t){e.dialogVisibleExp_two=!0}}},[e._v("新结算周期导出")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"success"},on:{click:e.expExcel3}},[e._v("\n 结算周期打印\n ")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"success"},on:{click:e.expExcel4}},[e._v("\n 新结算周期打印\n ")])],1)],1)],1),e._v(" "),n("el-table",{staticStyle:{width:"100%"},attrs:{border:"",height:"65vh",data:e.list}},[n("el-table-column",{attrs:{label:"客户姓名",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.familyName))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"客户失能等级",align:"center",width:"150"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return["06"==r.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("重度失能ⅠⅠⅠ级")]):e._e(),e._v(" "),"05"==r.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("重度失能ⅠⅠ级")]):e._e(),e._v(" "),"04"==r.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("重度失能Ⅰ级")]):e._e(),e._v(" "),"03"==r.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("中度失能")]):e._e(),e._v(" "),"02"==r.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("轻度失能")]):e._e(),e._v(" "),"01"==r.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("基本正常")]):e._e()]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"计划流水号",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.orderNo))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"护理机构",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.unitName?r.unitName:"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"机构类型",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("el-tag",{attrs:{size:"medium"}},[e._v(e._s("01"==r.unitType?"上门护理机构":"02"==r.unitType?"养老机构":"03"==r.unitType?"医疗机构":"04"==r.unitType?"辅助器具机构":"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"长期护理保险总费用",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.sumAccount?r.sumAccount:"0")+"元")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"客户所需支付金额",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.userAccount?r.userAccount:"0")+"元")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"基金所需支付金额",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.unitAccount?r.unitAccount:"0")+"元")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"实际总金额",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.accountTotal?r.accountTotal:"0")+"元")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"更新时间",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.createTime))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"操作",align:"center",width:"250","class-name":"small-padding fixed-width"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row,l=t.$index;return[n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(t){return e.edit(r,l)}}},[e._v("\n 详情\n ")]),e._v(" "),r.trtSetlId?n("el-button",{attrs:{size:"mini",type:"success"},on:{click:function(t){return e.revoke(r,l)}}},[e._v("\n 费用申请撤销\n ")]):e._e(),e._v(" "),n("el-button",{attrs:{size:"mini",type:"success"},on:{click:function(t){return e.expExcel(r,l)}}},[e._v("\n 导出\n ")]),e._v(" "),n("el-button",{staticStyle:{"margin-top":"8px"},attrs:{size:"mini",type:"success"},on:{click:function(t){return e.expExcel2(r,l)}}},[e._v("\n 打印\n ")])]}}])})],1),e._v(" "),n("pagination",{directives:[{name:"show",rawName:"v-show",value:e.total>0,expression:"total > 0"}],attrs:{total:e.total,page:e.listQuery.pageNo,limit:e.listQuery.size},on:{"update:page":function(t){return e.$set(e.listQuery,"pageNo",t)},"update:limit":function(t){return e.$set(e.listQuery,"size",t)},pagination:e.getList}}),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:e.textMap[e.dialogStatus],visible:e.dialogFormVisible,width:"40%"},on:{"update:visible":function(t){e.dialogFormVisible=t}}},[n("el-form",{ref:"dataForm",attrs:{rules:e.rules,model:e.temp,"label-position":"right","label-width":"170px"}},[n("el-row",{attrs:{gutter:20}},[n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"客户姓名"}},[n("span",[e._v(e._s(e.temp.familyName))])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"客户失能等级"}},["06"==e.temp.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("重度失能ⅠⅠⅠ级")]):e._e(),e._v(" "),"05"==e.temp.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("重度失能ⅠⅠ级")]):e._e(),e._v(" "),"04"==e.temp.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("重度失能Ⅰ级")]):e._e(),e._v(" "),"03"==e.temp.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("中度失能")]):e._e(),e._v(" "),"02"==e.temp.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("轻度失能")]):e._e(),e._v(" "),"01"==e.temp.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("基本正常")]):e._e()],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"计划流水号"}},[n("span",[e._v(e._s(e.temp.orderNo))])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"护理机构"}},[n("span",[e._v(e._s(e.temp.unitName))])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"机构类型"}},[n("el-tag",{attrs:{size:"medium"}},[e._v(e._s("01"==e.temp.unitType?"上门护理机构":"02"==e.temp.unitType?"养老机构":"03"==e.temp.unitType?"医疗机构":"04"==e.temp.unitType?"辅助器具机构":"-"))])],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"实际总金额"}},[n("span",[e._v(e._s(e.temp.accountTotal)+"元")])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"客户所需支付金额"}},[n("span",[e._v(e._s(e.temp.userAccount)+"元")])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"基金所需支付金额"}},[n("span",[e._v(e._s(e.temp.unitAccount)+"元")])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"更新时间"}},[n("span",[e._v(e._s(e.temp.createTime))])])],1)],1)],1),e._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{type:"primary",size:"mini"},on:{click:function(t){e.dialogFormVisible=!1}}},[e._v("\n 关 闭\n ")])],1)],1),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"导出",visible:e.dialogVisibleExp,width:"600px","before-close":e.handleClose},on:{"update:visible":function(t){e.dialogVisibleExp=t}}},[n("el-form",{staticClass:"demo-form-inline",attrs:{inline:!0}},[n("el-form-item",{attrs:{label:"提示:"}},[n("el-link",{attrs:{underline:!1,type:"primary"}},[e._v("选择的开始日期和结束日期请将数据的入录时间包含起来,结束日期选后一天")])],1),e._v(" "),n("el-form-item",{attrs:{label:"时间"}},[n("el-date-picker",{attrs:{type:"month","value-format":"yyyy-MM",placeholder:"选择月"},model:{value:e.startDate,callback:function(t){e.startDate=t},expression:"startDate"}})],1)],1),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small",loading:e.loadExp},on:{click:e.handleClose}},[e._v("取 消")]),e._v(" "),n("el-button",{attrs:{size:"small",type:"primary",loading:e.loadExp},on:{click:e.expExcelForm}},[e._v("\n 导 出\n ")])],1)],1),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"新结算单导出",visible:e.dialogVisibleExp_two,width:"600px","before-close":e.handleClose},on:{"update:visible":function(t){e.dialogVisibleExp_two=t}}},[n("el-form",{staticClass:"demo-form-inline",attrs:{inline:!0}},[n("el-form-item",{attrs:{label:"提示:"}},[n("el-link",{attrs:{underline:!1,type:"primary"}},[e._v("选择的开始日期和结束日期请将数据的入录时间包含起来,结束日期选后一天")])],1),e._v(" "),n("el-form-item",{attrs:{label:"时间"}},[n("el-date-picker",{attrs:{type:"month","value-format":"yyyy-MM",placeholder:"选择月"},model:{value:e.startDate,callback:function(t){e.startDate=t},expression:"startDate"}})],1)],1),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small",loading:e.loadExp},on:{click:e.handleClose}},[e._v("取 消")]),e._v(" "),n("el-button",{attrs:{size:"small",type:"primary",loading:e.loadExp},on:{click:e.expExcelForm_two}},[e._v("\n 导 出\n ")])],1)],1),e._v(" "),"机构护理"==e.unitType?n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"打印",visible:e.expObjVisible,width:"100%","before-close":e.handleClose,top:"3vh"},on:{"update:visible":function(t){e.expObjVisible=t}}},[n("div",{ref:"printDom1",staticClass:"exptable",attrs:{id:"printDom1",border:"1"}},[n("div",{staticClass:"thead"},[e._v("\n "+e._s(e.expObj.orderYearMonth)+"\n ")]),e._v(" "),n("div",{staticClass:"tbody"},[n("div",{staticClass:"tr eight"},[n("div",{staticClass:"title eight_label"},[e._v("参保人姓名")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.personName))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("身份证")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.personIdCode))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("年龄")]),e._v(" "),n("div",[e._v("\n "+e._s(e.expObj.personAge)+"\n ")]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("参保类型")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.medicalType))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("制表人")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.unitName))])]),e._v(" "),n("div",{staticClass:"tr eight"},[n("div",{staticClass:"title eight_label"},[e._v("所属参保区划")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.medicalCounty))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("失能等级")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.lv))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("家属姓名")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.familyName))])]),e._v(" "),n("div",{staticClass:"leftXuhao loop"},[n("div",{staticClass:"num"},[e._v("序号")]),e._v(" "),n("div",{staticClass:"name"},[e._v("服务项目")]),e._v(" "),n("div",{staticClass:"day headday"},[n("span",[e._v("护理服务执行日期及次数")]),e._v(" "),n("div",{staticClass:"forday"},e._l(31,function(t){return n("span",{key:t},[e._v(e._s(t)+"日")])}),0)]),e._v(" "),n("div",{staticClass:"total"},[e._v("床日合计")])]),e._v(" "),e._l(e.expObj.list,function(t,r){return n("div",{key:r,staticClass:"tr loop"},[n("div",{staticClass:"num"},[e._v(e._s(r+1))]),e._v(" "),n("div",{staticClass:"name"},[e._v(e._s(t.title))]),e._v(" "),n("div",{staticClass:"day bodyday"},[n("div",{staticClass:"forday"},[e._l(31,function(r){return[Array.isArray(t["day"+r])?n("span",{key:r},e._l(t["day"+r],function(t,r){return n("p",{key:r,staticStyle:{margin:"0"}},[e._v("\n "+e._s(t)+"\n ")])}),0):n("span",{key:r},[e._v(e._s(t["day"+r]))])]})],2)]),e._v(" "),n("div",{staticClass:"total"},[e._v(e._s(t.num))])])})],2),e._v(" "),n("div",{staticClass:"handwriting"},[n("div",{staticClass:"name"},[e._v("协议服务机构负责人签字:")]),e._v(" "),n("div",{staticClass:"day bodyday"},[e._v("家属确认签字按手印:")])]),e._v(" "),n("div",{staticClass:"handwriting"},[n("div",{staticClass:"name"},[e._v("盖章:")]),e._v(" "),n("div",{staticClass:"day bodyday"},[e._v("日期:")])]),e._v(" "),n("div",{staticClass:"handwriting"},[n("div",{staticClass:"name"},[e._v("日期:")])])]),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small",loading:e.loadExp},on:{click:e.handleClose}},[e._v("取 消")]),e._v(" "),n("el-button",{directives:[{name:"print",rawName:"v-print",value:e.print,expression:"print"}],attrs:{size:"small",type:"primary",loading:e.loadExp},on:{click:e.onPrint}},[e._v("\n 打 印\n ")])],1)]):e._e(),e._v(" "),"居家护理"==e.unitType?n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"打印",visible:e.expObjVisible,width:"100%","before-close":e.handleClose,top:"3vh"},on:{"update:visible":function(t){e.expObjVisible=t}}},[n("div",{ref:"printDom1",staticClass:"exptable",attrs:{id:"printDom1",border:"1"}},[n("div",{staticClass:"thead"},[e._v("\n "+e._s(e.expObj.orderYearMonth)+"\n ")]),e._v(" "),n("div",{staticClass:"tbody"},[n("div",{staticClass:"tr eight"},[n("div",{staticClass:"title eight_label"},[e._v("参保人姓名")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.personName))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("身份证")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.personIdCode))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("年龄")]),e._v(" "),n("div",[e._v("\n "+e._s(e.expObj.personAge)+"\n ")]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("参保类型")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.medicalType))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("制表人")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.unitName))])]),e._v(" "),n("div",{staticClass:"tr eight"},[n("div",{staticClass:"title eight_label"},[e._v("所属参保区划")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.medicalCounty))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("失能等级")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.lv))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("家属姓名")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.familyName))])]),e._v(" "),n("div",{staticClass:"leftXuhao loop"},[n("div",{staticClass:"num"},[e._v("序号")]),e._v(" "),n("div",{staticClass:"name"},[e._v("服务项目")]),e._v(" "),n("div",{staticClass:"day headday"},[n("span",[e._v("护理服务执行日期及时长(分钟)")]),e._v(" "),n("div",{staticClass:"forday"},e._l(31,function(t){return n("span",{key:t},[e._v(e._s(t)+"日")])}),0)])]),e._v(" "),e._l(e.expObj.list,function(t,r){return n("div",{key:r,staticClass:"tr loop"},[n("div",{staticClass:"num"},[e._v(e._s(r+1))]),e._v(" "),n("div",{staticClass:"name"},[e._v(e._s(t.title))]),e._v(" "),"当月服务时长(小时)"==t.title?n("div",{staticClass:"day bodyday merged-cell"},[e._v("\n "+e._s(t.num)+"(小时)\n ")]):n("div",{staticClass:"day bodyday"},[n("div",{staticClass:"forday"},[e._l(31,function(r){return[Array.isArray(t["day"+r])?n("span",{key:r},e._l(t["day"+r],function(t,r){return n("p",{key:r,staticStyle:{margin:"0"}},[e._v("\n "+e._s(t)+"\n ")])}),0):n("span",{key:r},[e._v(e._s(t["day"+r]))])]})],2)])])})],2),e._v(" "),n("div",{staticClass:"handwriting"},[n("div",{staticClass:"name"},[e._v("协议服务机构负责人签字:")]),e._v(" "),n("div",{staticClass:"day bodyday"},[e._v("家属确认签字按手印:")])]),e._v(" "),n("div",{staticClass:"handwriting"},[n("div",{staticClass:"name"},[e._v("盖章:")]),e._v(" "),n("div",{staticClass:"day bodyday"},[e._v("日期:")])]),e._v(" "),n("div",{staticClass:"handwriting"},[n("div",{staticClass:"name"},[e._v("日期:")])])]),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small",loading:e.loadExp},on:{click:e.handleClose}},[e._v("取 消")]),e._v(" "),n("el-button",{directives:[{name:"print",rawName:"v-print",value:e.print,expression:"print"}],attrs:{size:"small",type:"primary",loading:e.loadExp},on:{click:e.onPrint}},[e._v("\n 打 印\n ")])],1)]):e._e(),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"打印",visible:e.dialogVisibleExpPrint,width:"1200px","before-close":e.handleClose},on:{"update:visible":function(t){e.dialogVisibleExpPrint=t}}},[n("el-form",{staticClass:"demo-form-inline",attrs:{inline:!0}},[n("el-form-item",{attrs:{label:"时间"}},[n("el-date-picker",{attrs:{type:"month","value-format":"yyyy-MM",placeholder:"选择月",size:"small"},on:{change:e.getExpPrint},model:{value:e.startDate,callback:function(t){e.startDate=t},expression:"startDate"}})],1)],1),e._v(" "),e.startDate?n("div",{ref:"printDom1",staticClass:"exptable exptableprint",attrs:{id:"printDom1",border:"1"}},[n("div",{staticClass:"thead",staticStyle:{"font-size":"14px"}},[e._v("\n "+e._s(e.expObjPrint.title)+"\n ")]),e._v(" "),n("div",{staticStyle:{"text-align":"left",padding:"10px 0"}},[e._v("\n 结算周期"+e._s(e.expObjPrint.jszqTime)+"\n ")]),e._v(" "),n("div",{staticClass:"tbody"},[n("div",{staticClass:"tr loop"},[n("div",{staticClass:"num",staticStyle:{width:"55px !important"}},[e._v("个人编号")]),e._v(" "),n("div",{staticStyle:{width:"45px"}},[e._v("姓名")]),e._v(" "),n("div",{staticStyle:{flex:"1"}},[e._v("身份证")]),e._v(" "),n("div",{staticStyle:{flex:"1"}},[e._v("参保类型")]),e._v(" "),n("div",{staticStyle:{flex:"1"}},[e._v("护理类别")]),e._v(" "),n("div",{staticStyle:{flex:"1"}},[e._v("结算起始日期")]),e._v(" "),n("div",{staticStyle:{flex:"1"}},[e._v("结算中止日期")]),e._v(" "),n("div",{staticStyle:{width:"55px"}},[e._v("服务次数")]),e._v(" "),n("div",{staticStyle:{width:"62px"}},[e._v("实际总金额")]),e._v(" "),n("div",{staticStyle:{width:"55px"}},[e._v("基金支付")]),e._v(" "),n("div",{staticClass:"day headday",staticStyle:{width:"100px"}},[n("span",[e._v("个人负担")]),e._v(" "),n("div",{staticClass:"forday"},[n("span",{staticStyle:{width:"50px"}},[e._v("个人自费")]),e._v(" "),n("span",{staticStyle:{width:"50px"}},[e._v("个人自付")])])]),e._v(" "),n("div",{staticStyle:{flex:"1"}},[e._v("不合理费用扣减")])]),e._v(" "),e._l(e.expObjPrint.list,function(t,r){return n("div",{key:r,staticClass:"tr loop"},[n("div",{staticClass:"num",staticStyle:{width:"55px !important"}},[e._v("\n "+e._s(r+1)+"\n ")]),e._v(" "),n("div",{staticStyle:{width:"45px"}},[e._v(e._s(t.name))]),e._v(" "),n("div",{staticStyle:{flex:"1"}},[e._v(e._s(t.idCode))]),e._v(" "),n("div",{staticStyle:{flex:"1"}},[e._v(e._s(t.medicalType))]),e._v(" "),n("div",{staticStyle:{flex:"1"}},[e._v(e._s(t.hlType))]),e._v(" "),n("div",{staticStyle:{flex:"1"}},[e._v(e._s(t.startTime))]),e._v(" "),n("div",{staticStyle:{flex:"1"}},[e._v(e._s(t.endTime))]),e._v(" "),n("div",{staticStyle:{width:"55px"}},[e._v(e._s(t.clockNum))]),e._v(" "),n("div",{staticStyle:{width:"62px"}},[e._v(e._s(t.accountTotal))]),e._v(" "),n("div",{staticStyle:{width:"55px"}},[e._v(e._s(t.fundPrice))]),e._v(" "),n("div",{staticClass:"day bodyday",staticStyle:{width:"100px"}},[n("div",{staticClass:"forday"},[n("span",{staticStyle:{width:"50px"}},[e._v(e._s(t.fei))]),e._v(" "),n("span",{staticStyle:{width:"50px"}},[e._v(e._s(t.fu))])])]),e._v(" "),n("div",{staticStyle:{flex:"1"}},[e._v(e._s(t.bhl))])])}),e._v(" "),n("div",{staticClass:"tr loop"},[n("div",{staticClass:"num",staticStyle:{width:"55px !important"}},[e._v("合计")]),e._v(" "),n("div",{staticStyle:{width:"45px"}}),e._v(" "),n("div",{staticStyle:{flex:"1"}}),e._v(" "),n("div",{staticStyle:{flex:"1"}}),e._v(" "),n("div",{staticStyle:{flex:"1"}}),e._v(" "),n("div",{staticStyle:{flex:"1"}}),e._v(" "),n("div",{staticStyle:{flex:"1"}}),e._v(" "),n("div",{staticStyle:{width:"55px"}}),e._v(" "),n("div",{staticStyle:{width:"62px"}},[e._v(e._s(e.totalAmount))]),e._v(" "),n("div",{staticStyle:{width:"55px"}},[e._v(e._s(e.fundAmount))]),e._v(" "),n("div",{staticClass:"day bodyday",staticStyle:{width:"100px"}},[n("div",{staticClass:"forday"},[n("span",{staticStyle:{width:"100px"}},[e._v(e._s(e.burdenAmount))])])]),e._v(" "),n("div",{staticStyle:{flex:"1"}})])],2),e._v(" "),n("div",{staticClass:"handwriting",staticStyle:{padding:"2px 0"}},[n("div",{staticStyle:{width:"200px","text-align":"left"}},[e._v("\n 护理服务机构负责人签字\n ")]),e._v(" "),n("div",{staticStyle:{width:"200px","text-align":"left"}},[e._v("\n 承办单位审核人签字\n ")]),e._v(" "),n("div",{staticStyle:{width:"200px","text-align":"left"}},[e._v("\n 经办单位复核人签字\n ")])]),e._v(" "),n("div",{staticClass:"handwriting"},[n("div",{staticStyle:{width:"200px","text-align":"left"}},[e._v("盖章")]),e._v(" "),n("div",{staticStyle:{width:"200px","text-align":"left"}},[e._v("盖章")]),e._v(" "),n("div",{staticStyle:{width:"200px","text-align":"left"}},[e._v("盖章")])])]):e._e(),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small",loading:e.loadExp},on:{click:e.handleClose}},[e._v("取 消")]),e._v(" "),n("el-button",{attrs:{size:"small",type:"primary",loading:e.loadExp},on:{click:e.onPrint}},[e._v("\n 打 印\n ")])],1)],1),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"新结算单打印",visible:e.dialogVisibleExpPrint_two,width:"100%","before-close":e.handleClose},on:{"update:visible":function(t){e.dialogVisibleExpPrint_two=t}}},[n("el-form",{staticClass:"demo-form-inline",attrs:{inline:!0}},[n("el-form-item",{attrs:{label:"时间"}},[n("el-date-picker",{attrs:{type:"month","value-format":"yyyy-MM",placeholder:"选择月",size:"small"},on:{change:e.getExpPrint_new},model:{value:e.startDate,callback:function(t){e.startDate=t},expression:"startDate"}})],1)],1),e._v(" "),e.startDate?n("div",{ref:"printDom1",staticStyle:{padding:"20px"},attrs:{id:"printDom1"}},[n("div",{staticStyle:{"font-size":"18px","font-weight":"bold","text-align":"center","margin-bottom":"10px"}},[e._v("\n "+e._s(e.expObjPrintNew.title)+"\n ")]),e._v(" "),n("div",{staticStyle:{"text-align":"left","margin-bottom":"10px","font-size":"12px"}},[e._v("\n 结算周期: "+e._s(e.expObjPrintNew.jszqTime)+"\n ")]),e._v(" "),n("table",{staticStyle:{width:"100%","border-collapse":"collapse","font-size":"10px"},attrs:{border:"1",cellspacing:"0",cellpadding:"5"}},[n("thead",[n("tr",{staticStyle:{"background-color":"#f0f0f0"}},[n("th",[e._v("编号")]),e._v(" "),n("th",[e._v("姓名")]),e._v(" "),n("th",[e._v("身份证")]),e._v(" "),n("th",[e._v("重度等级")]),e._v(" "),n("th",[e._v("参保类型")]),e._v(" "),n("th",[e._v("护理类别")]),e._v(" "),n("th",[e._v("结算起始日期")]),e._v(" "),n("th",[e._v("结算中止日期")]),e._v(" "),n("th",[e._v("死亡时间")]),e._v(" "),n("th",[e._v("转出机构时间")]),e._v(" "),n("th",[e._v("基金支付")]),e._v(" "),n("th",[e._v("单价")]),e._v(" "),n("th",[e._v("重度服务时长")]),e._v(" "),n("th",[e._v("实际服务时长")]),e._v(" "),n("th",[e._v("统筹支付金额")]),e._v(" "),n("th",[e._v("参保地")]),e._v(" "),n("th",[e._v("护理员姓名")]),e._v(" "),n("th",[e._v("住院起始日期")]),e._v(" "),n("th",[e._v("是否当月新增")]),e._v(" "),n("th",[e._v("新增时间")]),e._v(" "),n("th",[e._v("参保人居住区域")]),e._v(" "),n("th",[e._v("参保人居住地址")]),e._v(" "),n("th",[e._v("备注")])])]),e._v(" "),n("tbody",e._l(e.expObjPrintNew.list,function(t,r){return n("tr",{key:r},[n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.familyNo))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.familyName))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.familyIdCode))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.familyLv))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.familyMedicalType))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.unitType))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.orderStartDate))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.orderEndDate))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.familyDieTime))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.familyOutTime))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.unitAccount))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.dj))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.fwsc))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.sjfwsc))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.unitAccount))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.familyMedicalCounty))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.personName))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.familyZYTime))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.dyxz))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.familyCreateTime))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.familyCounty))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.familyAddress))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.bz))])])}),0)]),e._v(" "),n("div",{staticStyle:{"margin-top":"20px",padding:"10px 0"}},[n("div",{staticStyle:{display:"flex","margin-bottom":"10px"}},[n("div",{staticStyle:{flex:"1"}},[e._v("护理服务机构负责人签字:_______________")]),e._v(" "),n("div",{staticStyle:{flex:"1"}},[e._v("承办单位审核人签字:_______________")])]),e._v(" "),n("div",{staticStyle:{display:"flex"}},[n("div",{staticStyle:{flex:"1"}},[e._v("盖章:")])])])]):e._e(),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small",loading:e.loadExp},on:{click:e.handleClose}},[e._v("取 消")]),e._v(" "),n("el-button",{attrs:{size:"small",type:"primary",loading:e.loadExp},on:{click:e.onPrint}},[e._v("打 印")])],1)],1)],1)},__vue_staticRenderFns__$d=[];__vue_render__$d._withStripped=!0;const __vue_inject_styles__$d=function(e){e&&e("data-v-77c35fa5_0",{source:'@charset "UTF-8";\n.el-col-12[data-v-77c35fa5] {\n padding: 0 20px 0 0;\n}\n.exptable[data-v-77c35fa5] {\n font-size: 9px;\n text-align: center;\n width: 100%;\n}\n.exptable .leftXuhao[data-v-77c35fa5] {\n display: flex;\n border-bottom: 1px solid #333;\n}\n.exptable .leftXuhao div[data-v-77c35fa5] {\n display: flex;\n align-items: center;\n justify-content: center;\n border-right: 1px solid #333;\n}\n.exptable .thead[data-v-77c35fa5] {\n border-bottom: 0;\n color: #000;\n padding: 8px 0;\n}\n.exptable .tbody[data-v-77c35fa5] {\n border: 1px solid #333;\n font-size: 8px;\n}\n.exptable .tr[data-v-77c35fa5] {\n display: flex;\n border-bottom: 1px solid #333;\n color: #111;\n}\n.exptable .tr div[data-v-77c35fa5] {\n display: flex;\n align-items: center;\n justify-content: center;\n border-right: 1px solid #333;\n}\n.exptable .tr .bodyday[data-v-77c35fa5] {\n flex: 1;\n}\n.exptable .tr div[data-v-77c35fa5]:last-child {\n border-right: 0;\n}\n.exptable .eight div[data-v-77c35fa5] {\n flex: 1;\n padding: 5px 0;\n}\n.exptable .eight .title[data-v-77c35fa5] {\n width: 110px;\n flex: none;\n}\n.exptable .tr[data-v-77c35fa5]:last-child {\n border-bottom: 0;\n}\n.exptable .loop .num[data-v-77c35fa5] {\n width: 22px !important;\n}\n.exptable .loop .total[data-v-77c35fa5] {\n width: 23px;\n padding: 5px 0;\n}\n.exptable .loop .name[data-v-77c35fa5] {\n padding: 5px 0;\n flex: 0.1;\n}\n.exptable .loop .headday[data-v-77c35fa5] {\n flex-flow: column;\n flex: 1;\n}\n.exptable .loop .headday .forday[data-v-77c35fa5] {\n border-top: 1px solid #333;\n}\n.exptable .loop .day span[data-v-77c35fa5] {\n padding: 10px 0;\n}\n.exptable .loop .forday[data-v-77c35fa5] {\n display: table;\n width: 100%;\n}\n.exptable .loop .forday span[data-v-77c35fa5] {\n display: table-cell;\n vertical-align: middle;\n border-right: 1px solid #333;\n width: 23px;\n height: 100%;\n overflow: hidden;\n word-wrap: break-word;\n word-break: break-all;\n}\n.exptable .loop .forday span[data-v-77c35fa5]:last-child {\n border-right: 0;\n}\n.handwriting[data-v-77c35fa5] {\n display: flex;\n}\n.handwriting div[data-v-77c35fa5] {\n text-align: right;\n padding: 5px 0;\n}\n.handwriting .name[data-v-77c35fa5] {\n margin-left: 60px;\n width: 120px;\n}\n.handwriting .bodyday[data-v-77c35fa5] {\n width: 60%;\n margin-right: 60px;\n}\n.exptableprint[data-v-77c35fa5] {\n font-size: 11px;\n}\n.exptableprint .tbody[data-v-77c35fa5] {\n font-size: 10px;\n}\n\n/* 打印样式 - 修复el-table打印时列宽问题 */\n@media print {\n /* 强制设置表格列宽为auto,让内容正常显示 */\n.el-table__header-wrapper[data-v-77c35fa5],\n .el-table__body-wrapper[data-v-77c35fa5] {\n overflow: visible !important;\n}\n.el-table__header[data-v-77c35fa5],\n .el-table__body[data-v-77c35fa5] {\n width: 100% !important;\n}\n.el-table th[data-v-77c35fa5],\n .el-table td[data-v-77c35fa5] {\n width: auto !important;\n min-width: 80px !important;\n max-width: none !important;\n white-space: normal !important;\n word-wrap: break-word !important;\n overflow: visible !important;\n}\n.el-table__fixed[data-v-77c35fa5],\n .el-table__fixed-right[data-v-77c35fa5] {\n display: none !important;\n}\n /* 隐藏不需要打印的元素 */\n.dialog-footer[data-v-77c35fa5],\n .el-dialog__header[data-v-77c35fa5] {\n display: none !important;\n}\n /* 确保打印时表格宽度100% */\n.el-table[data-v-77c35fa5] {\n width: 100% !important;\n table-layout: auto !important;\n}\n.el-table__body[data-v-77c35fa5] {\n table-layout: auto !important;\n}\n}\n\n/*# sourceMappingURL=index.vue.map */',map:{version:3,sources:["index.vue","E:\\公司项目\\changhuxianlocal\\changhuxian-vue-components\\src\\pages\\SettlementManagement\\settlement\\index.vue"],names:[],mappings:"AAAA,gBAAgB;AC2gChB;EACA,mBAAA;ADzgCA;AC4gCA;EACA,cAAA;EACA,kBAAA;EACA,WAAA;ADzgCA;AC4gCA;EACA,aAAA;EACA,6BAAA;AD1gCA;AC4gCA;EACA,aAAA;EACA,mBAAA;EACA,uBAAA;EACA,4BAAA;AD1gCA;AC8gCA;EAEA,gBAAA;EACA,WAAA;EACA,cAAA;AD7gCA;ACghCA;EACA,sBAAA;EACA,cAAA;AD9gCA;ACihCA;EACA,aAAA;EACA,6BAAA;EACA,WAAA;AD/gCA;ACihCA;EAEA,aAAA;EACA,mBAAA;EACA,uBAAA;EACA,4BAAA;ADhhCA;ACohCA;EACA,OAAA;ADlhCA;ACqhCA;EACA,eAAA;ADnhCA;ACuhCA;EACA,OAAA;EAEA,cAAA;ADthCA;ACyhCA;EACA,YAAA;EACA,UAAA;ADvhCA;AC0hCA;EACA,gBAAA;ADxhCA;AC4hCA;EACA,sBAAA;AD1hCA;AC6hCA;EACA,WAAA;EACA,cAAA;AD3hCA;ACiiCA;EAEA,cAAA;EAEA,SAAA;ADjiCA;ACoiCA;EACA,iBAAA;EACA,OAAA;ADliCA;ACoiCA;EACA,0BAAA;ADliCA;ACsiCA;EACA,eAAA;ADpiCA;ACuiCA;EACA,cAAA;EACA,WAAA;ADriCA;ACwiCA;EACA,mBAAA;EACA,sBAAA;EACA,4BAAA;EACA,WAAA;EACA,YAAA;EACA,gBAAA;EACA,qBAAA;EACA,qBAAA;ADtiCA;ACyiCA;EACA,eAAA;ADviCA;ACijCA;EACA,aAAA;AD9iCA;ACgjCA;EACA,iBAAA;EACA,cAAA;AD9iCA;ACijCA;EACA,iBAAA;EACA,YAAA;AD/iCA;ACkjCA;EACA,UAAA;EACA,kBAAA;ADhjCA;ACojCA;EACA,eAAA;ADjjCA;ACmjCA;EACA,eAAA;ADjjCA;;ACqjCA,6BAAA;AACA;EAEA,0BAAA;AACA;;IAEA,4BAAA;ADnjCE;ACsjCF;;IAEA,sBAAA;ADpjCE;ACujCF;;IAEA,sBAAA;IACA,0BAAA;IACA,0BAAA;IACA,8BAAA;IACA,gCAAA;IACA,4BAAA;ADrjCE;ACwjCF;;IAEA,wBAAA;ADtjCE;ECyjCF,eAAA;AACA;;IAEA,wBAAA;ADvjCE;EC0jCF,kBAAA;AACA;IACA,sBAAA;IACA,6BAAA;ADxjCE;AC2jCF;IACA,6BAAA;ADzjCE;AACF;;AAEA,oCAAoC",file:"index.vue",sourcesContent:['@charset "UTF-8";\n.el-col-12 {\n padding: 0 20px 0 0;\n}\n\n.exptable {\n font-size: 9px;\n text-align: center;\n width: 100%;\n}\n.exptable .leftXuhao {\n display: flex;\n border-bottom: 1px solid #333;\n}\n.exptable .leftXuhao div {\n display: flex;\n align-items: center;\n justify-content: center;\n border-right: 1px solid #333;\n}\n.exptable .thead {\n border-bottom: 0;\n color: #000;\n padding: 8px 0;\n}\n.exptable .tbody {\n border: 1px solid #333;\n font-size: 8px;\n}\n.exptable .tr {\n display: flex;\n border-bottom: 1px solid #333;\n color: #111;\n}\n.exptable .tr div {\n display: flex;\n align-items: center;\n justify-content: center;\n border-right: 1px solid #333;\n}\n.exptable .tr .bodyday {\n flex: 1;\n}\n.exptable .tr div:last-child {\n border-right: 0;\n}\n.exptable .eight div {\n flex: 1;\n padding: 5px 0;\n}\n.exptable .eight .title {\n width: 110px;\n flex: none;\n}\n.exptable .tr:last-child {\n border-bottom: 0;\n}\n.exptable .loop .num {\n width: 22px !important;\n}\n.exptable .loop .total {\n width: 23px;\n padding: 5px 0;\n}\n.exptable .loop .name {\n padding: 5px 0;\n flex: 0.1;\n}\n.exptable .loop .headday {\n flex-flow: column;\n flex: 1;\n}\n.exptable .loop .headday .forday {\n border-top: 1px solid #333;\n}\n.exptable .loop .day span {\n padding: 10px 0;\n}\n.exptable .loop .forday {\n display: table;\n width: 100%;\n}\n.exptable .loop .forday span {\n display: table-cell;\n vertical-align: middle;\n border-right: 1px solid #333;\n width: 23px;\n height: 100%;\n overflow: hidden;\n word-wrap: break-word;\n word-break: break-all;\n}\n.exptable .loop .forday span:last-child {\n border-right: 0;\n}\n\n.handwriting {\n display: flex;\n}\n.handwriting div {\n text-align: right;\n padding: 5px 0;\n}\n.handwriting .name {\n margin-left: 60px;\n width: 120px;\n}\n.handwriting .bodyday {\n width: 60%;\n margin-right: 60px;\n}\n\n.exptableprint {\n font-size: 11px;\n}\n.exptableprint .tbody {\n font-size: 10px;\n}\n\n/* 打印样式 - 修复el-table打印时列宽问题 */\n@media print {\n /* 强制设置表格列宽为auto,让内容正常显示 */\n .el-table__header-wrapper,\n .el-table__body-wrapper {\n overflow: visible !important;\n }\n .el-table__header,\n .el-table__body {\n width: 100% !important;\n }\n .el-table th,\n .el-table td {\n width: auto !important;\n min-width: 80px !important;\n max-width: none !important;\n white-space: normal !important;\n word-wrap: break-word !important;\n overflow: visible !important;\n }\n .el-table__fixed,\n .el-table__fixed-right {\n display: none !important;\n }\n /* 隐藏不需要打印的元素 */\n .dialog-footer,\n .el-dialog__header {\n display: none !important;\n }\n /* 确保打印时表格宽度100% */\n .el-table {\n width: 100% !important;\n table-layout: auto !important;\n }\n .el-table__body {\n table-layout: auto !important;\n }\n}\n\n/*# sourceMappingURL=index.vue.map */','<template>\r\n <div class="app-container">\r\n <div class="filter-container">\r\n <el-form ref="listQuery" :inline="true" :model="listQuery" class="demo-form-inline">\r\n \x3c!-- <el-form-item label="机构名称" prop="unitName">\r\n <el-input\r\n size="small"\r\n v-model="listQuery.unitName"\r\n placeholder="请输入机构名称"\r\n ></el-input>\r\n </el-form-item> --\x3e\r\n <el-form-item label="客户姓名" prop="name">\r\n <el-select v-model="listQuery.familyId" style="width: 100%" clearable filterable size="small"\r\n class="filter-item" placeholder="请选择客户">\r\n <el-option v-for="(item, index) in customerData" :key="index" :label="item.label" :value="item.value" />\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item label="机构名称" prop="name">\r\n <el-select v-model="listQuery.unitName" style="width: 100%" clearable filterable size="small"\r\n class="filter-item" placeholder="请选择机构名称">\r\n <el-option v-for="(item, index) in institutionList" :key="index" :label="item.label" :value="item.label" />\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item label="计划流水号" prop="orderNo">\r\n <el-input v-model="listQuery.orderNo" clearable size="small" placeholder="请输入计划流水号" />\r\n </el-form-item>\r\n <el-form-item label="月份">\r\n <el-date-picker v-model="listQuery.orderYearMonth" size="small" value-format="yyyy-MM" type="month"\r\n placeholder="选择月" />\r\n \x3c!-- <el-date-picker\r\n @change="changeTime"\r\n v-model="time"\r\n clearable\r\n size="small"\r\n value-format="yyyy-MM-dd"\r\n type="daterange"\r\n range-separator="至"\r\n start-placeholder="开始时间"\r\n end-placeholder="结束时间"\r\n >\r\n </el-date-picker> --\x3e\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size="small" type="primary" @click="onSubmit">查询</el-button>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size="small" type="warning" @click="resetting(\'listQuery\')">重置</el-button>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size="small" type="primary" @click="dialogVisibleExp = true">结算周期导出</el-button>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size="small" type="primary" @click="dialogVisibleExp_two = true">新结算周期导出</el-button>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size="small" type="success" @click="expExcel3">\r\n 结算周期打印\r\n </el-button>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size="small" type="success" @click="expExcel4">\r\n 新结算周期打印\r\n </el-button>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n <el-table border height="65vh" :data="list" style="width: 100%">\r\n <el-table-column :label="\'客户姓名\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.familyName }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'客户失能等级\'" align="center" width="150">\r\n <template slot-scope="{ row }">\r\n <el-tag v-if="row.familyLv == \'06\'" type="success">重度失能ⅠⅠⅠ级</el-tag>\r\n <el-tag v-if="row.familyLv == \'05\'" type="success">重度失能ⅠⅠ级</el-tag>\r\n <el-tag v-if="row.familyLv == \'04\'" type="success">重度失能Ⅰ级</el-tag>\r\n <el-tag v-if="row.familyLv == \'03\'" type="success">中度失能</el-tag>\r\n <el-tag v-if="row.familyLv == \'02\'" type="success">轻度失能</el-tag>\r\n <el-tag v-if="row.familyLv == \'01\'" type="success">基本正常</el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'计划流水号\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.orderNo }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'护理机构\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.unitName ? row.unitName : "-" }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'机构类型\'" align="center">\r\n <template slot-scope="{ row }">\r\n <el-tag size="medium">{{\r\n row.unitType == "01"\r\n ? "上门护理机构"\r\n : row.unitType == "02"\r\n ? "养老机构"\r\n : row.unitType == "03"\r\n ? "医疗机构"\r\n : row.unitType == "04"\r\n ? "辅助器具机构"\r\n : "-"\r\n }}</el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'长期护理保险总费用\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.sumAccount ? row.sumAccount : "0" }}元</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'客户所需支付金额\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.userAccount ? row.userAccount : "0" }}元</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'基金所需支付金额\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.unitAccount ? row.unitAccount : "0" }}元</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'实际总金额\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.accountTotal ? row.accountTotal : "0" }}元</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'更新时间\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.createTime }}</span>\r\n </template>\r\n </el-table-column>\r\n\r\n <el-table-column :label="\'操作\'" align="center" width="250" class-name="small-padding fixed-width">\r\n <template slot-scope="{ row, $index }">\r\n <el-button size="mini" type="primary" @click="edit(row, $index)">\r\n 详情\r\n </el-button>\r\n <el-button v-if="row.trtSetlId" size="mini" type="success" @click="revoke(row, $index)">\r\n 费用申请撤销\r\n </el-button>\r\n <el-button size="mini" type="success" @click="expExcel(row, $index)">\r\n 导出\r\n </el-button>\r\n <el-button style="margin-top: 8px" size="mini" type="success" @click="expExcel2(row, $index)">\r\n 打印\r\n </el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <pagination v-show="total > 0" :total="total" :page.sync="listQuery.pageNo" :limit.sync="listQuery.size"\r\n @pagination="getList" />\r\n <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :title="textMap[dialogStatus]"\r\n :visible.sync="dialogFormVisible" width="40%">\r\n <el-form ref="dataForm" :rules="rules" :model="temp" label-position="right" label-width="170px">\r\n <el-row :gutter="20">\r\n <el-col :span="12">\r\n <el-form-item style="margin-bottom: 0px" label="客户姓名">\r\n <span>{{ temp.familyName }}</span>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item style="margin-bottom: 0px" label="客户失能等级">\r\n <el-tag v-if="temp.familyLv == \'06\'" type="success">重度失能ⅠⅠⅠ级</el-tag>\r\n <el-tag v-if="temp.familyLv == \'05\'" type="success">重度失能ⅠⅠ级</el-tag>\r\n <el-tag v-if="temp.familyLv == \'04\'" type="success">重度失能Ⅰ级</el-tag>\r\n <el-tag v-if="temp.familyLv == \'03\'" type="success">中度失能</el-tag>\r\n <el-tag v-if="temp.familyLv == \'02\'" type="success">轻度失能</el-tag>\r\n <el-tag v-if="temp.familyLv == \'01\'" type="success">基本正常</el-tag>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item style="margin-bottom: 0px" label="计划流水号">\r\n <span>{{ temp.orderNo }}</span>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item style="margin-bottom: 0px" label="护理机构">\r\n <span>{{ temp.unitName }}</span>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item style="margin-bottom: 0px" label="机构类型">\r\n \x3c!-- <span>{{\r\n temp.unitType == "1"\r\n ? "养老机构"\r\n : temp.unitType == "2"\r\n ? "护理机构"\r\n : "-"\r\n }}</span> --\x3e\r\n <el-tag size="medium">{{\r\n temp.unitType == "01"\r\n ? "上门护理机构"\r\n : temp.unitType == "02"\r\n ? "养老机构"\r\n : temp.unitType == "03"\r\n ? "医疗机构"\r\n : temp.unitType == "04"\r\n ? "辅助器具机构"\r\n : "-"\r\n }}</el-tag>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item style="margin-bottom: 0px" label="实际总金额">\r\n <span>{{ temp.accountTotal }}元</span>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item style="margin-bottom: 0px" label="客户所需支付金额">\r\n <span>{{ temp.userAccount }}元</span>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item style="margin-bottom: 0px" label="基金所需支付金额">\r\n <span>{{ temp.unitAccount }}元</span>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item style="margin-bottom: 0px" label="更新时间">\r\n <span>{{ temp.createTime }}</span>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <div slot="footer" class="dialog-footer">\r\n <el-button type="primary" size="mini" @click="dialogFormVisible = false">\r\n 关 闭\r\n </el-button>\r\n \x3c!-- <el-button size="mini" type="primary" @click="dialogStatus === \'create\' ? createData() : updateData()">\r\n 确 认\r\n </el-button> --\x3e\r\n </div>\r\n </el-dialog>\r\n\r\n <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" title="导出" :visible.sync="dialogVisibleExp"\r\n width="600px" :before-close="handleClose">\r\n <el-form :inline="true" class="demo-form-inline">\r\n <el-form-item label="提示:">\r\n <el-link :underline="false" type="primary">选择的开始日期和结束日期请将数据的入录时间包含起来,结束日期选后一天</el-link>\r\n </el-form-item>\r\n <el-form-item label="时间">\r\n <el-date-picker v-model="startDate" type="month" value-format="yyyy-MM" placeholder="选择月" />\r\n </el-form-item>\r\n </el-form>\r\n <span slot="footer" class="dialog-footer">\r\n <el-button size="small" :loading="loadExp" @click="handleClose">取 消</el-button>\r\n <el-button size="small" type="primary" :loading="loadExp" @click="expExcelForm">\r\n 导 出\r\n </el-button>\r\n </span>\r\n </el-dialog>\r\n <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" title="新结算单导出"\r\n :visible.sync="dialogVisibleExp_two" width="600px" :before-close="handleClose">\r\n <el-form :inline="true" class="demo-form-inline">\r\n <el-form-item label="提示:">\r\n <el-link :underline="false" type="primary">选择的开始日期和结束日期请将数据的入录时间包含起来,结束日期选后一天</el-link>\r\n </el-form-item>\r\n <el-form-item label="时间">\r\n <el-date-picker v-model="startDate" type="month" value-format="yyyy-MM" placeholder="选择月" />\r\n </el-form-item>\r\n </el-form>\r\n <span slot="footer" class="dialog-footer">\r\n <el-button size="small" :loading="loadExp" @click="handleClose">取 消</el-button>\r\n <el-button size="small" type="primary" :loading="loadExp" @click="expExcelForm_two">\r\n 导 出\r\n </el-button>\r\n </span>\r\n </el-dialog>\r\n <el-dialog v-if="unitType == \'机构护理\'" :close-on-click-modal="false" :close-on-press-escape="false" title="打印"\r\n :visible.sync="expObjVisible" width="100%" :before-close="handleClose" top="3vh">\r\n <div id="printDom1" ref="printDom1" class="exptable" border="1">\r\n <div class="thead">\r\n {{ expObj.orderYearMonth }}\r\n </div>\r\n <div class="tbody">\r\n <div class="tr eight">\r\n <div class="title eight_label">参保人姓名</div>\r\n <div class="eight_label">{{ expObj.personName }}</div>\r\n <div class="title eight_label">身份证</div>\r\n <div class="eight_label">{{ expObj.personIdCode }}</div>\r\n <div class="title eight_label">年龄</div>\r\n <div>\r\n {{ expObj.personAge }}\r\n </div>\r\n <div class="title eight_label">参保类型</div>\r\n <div class="eight_label">{{ expObj.medicalType }}</div>\r\n\r\n <div class="title eight_label">制表人</div>\r\n <div class="eight_label">{{ expObj.unitName }}</div>\r\n </div>\r\n <div class="tr eight">\r\n <div class="title eight_label">所属参保区划</div>\r\n <div class="eight_label">{{ expObj.medicalCounty }}</div>\r\n <div class="title eight_label">失能等级</div>\r\n <div class="eight_label">{{ expObj.lv }}</div>\r\n <div class="title eight_label">家属姓名</div>\r\n <div class="eight_label">{{ expObj.familyName }}</div>\r\n \x3c!-- <div class="title eight_label" style="width: 750px;"></div> --\x3e\r\n \x3c!-- <div class="eight_label">{{ expObj.totalPrice }}</div> --\x3e\r\n </div>\r\n <div class="leftXuhao loop">\r\n <div class="num">序号</div>\r\n <div class="name">服务项目</div>\r\n <div class="day headday">\r\n <span>护理服务执行日期及次数</span>\r\n <div class="forday">\r\n <span v-for="i in 31" :key="i">{{ i }}日</span>\r\n </div>\r\n </div>\r\n <div class="total">床日合计</div>\r\n </div>\r\n <div v-for="(item, index) in expObj.list" :key="index" class="tr loop">\r\n <div class="num">{{ index + 1 }}</div>\r\n <div class="name">{{ item.title }}</div>\r\n <div class="day bodyday">\r\n <div class="forday">\r\n <template v-for="i in 31">\r\n <span v-if="Array.isArray(item[`day${i}`])" :key="i">\r\n <p v-for="(items, index) in item[`day${i}`]" :key="index" style="margin: 0;">\r\n {{ items }}\r\n </p>\r\n </span>\r\n <span v-else :key="i">{{ item[`day${i}`] }}</span>\r\n </template>\r\n </div>\r\n </div>\r\n <div class="total">{{ item.num }}</div>\r\n </div>\r\n </div>\r\n <div class="handwriting">\r\n <div class="name">协议服务机构负责人签字:</div>\r\n <div class="day bodyday">家属确认签字按手印:</div>\r\n </div>\r\n <div class="handwriting">\r\n <div class="name">盖章:</div>\r\n <div class="day bodyday">日期:</div>\r\n </div>\r\n <div class="handwriting">\r\n <div class="name">日期:</div>\r\n </div>\r\n </div>\r\n <span slot="footer" class="dialog-footer">\r\n <el-button size="small" :loading="loadExp" @click="handleClose">取 消</el-button>\r\n <el-button v-print="print" size="small" type="primary" :loading="loadExp" @click="onPrint">\r\n 打 印\r\n </el-button>\r\n </span>\r\n </el-dialog>\r\n <el-dialog v-if="unitType == \'居家护理\'" :close-on-click-modal="false" :close-on-press-escape="false" title="打印"\r\n :visible.sync="expObjVisible" width="100%" :before-close="handleClose" top="3vh">\r\n <div id="printDom1" ref="printDom1" class="exptable" border="1">\r\n <div class="thead">\r\n {{ expObj.orderYearMonth }}\r\n </div>\r\n <div class="tbody">\r\n <div class="tr eight">\r\n <div class="title eight_label">参保人姓名</div>\r\n <div class="eight_label">{{ expObj.personName }}</div>\r\n <div class="title eight_label">身份证</div>\r\n <div class="eight_label">{{ expObj.personIdCode }}</div>\r\n <div class="title eight_label">年龄</div>\r\n <div>\r\n {{ expObj.personAge }}\r\n </div>\r\n <div class="title eight_label">参保类型</div>\r\n <div class="eight_label">{{ expObj.medicalType }}</div>\r\n\r\n <div class="title eight_label">制表人</div>\r\n <div class="eight_label">{{ expObj.unitName }}</div>\r\n </div>\r\n <div class="tr eight">\r\n <div class="title eight_label">所属参保区划</div>\r\n <div class="eight_label">{{ expObj.medicalCounty }}</div>\r\n <div class="title eight_label">失能等级</div>\r\n <div class="eight_label">{{ expObj.lv }}</div>\r\n <div class="title eight_label">家属姓名</div>\r\n <div class="eight_label">{{ expObj.familyName }}</div>\r\n \x3c!-- <div class="title eight_label" style="width: 750px;"></div> --\x3e\r\n \x3c!-- <div class="eight_label">{{ expObj.totalPrice }}</div> --\x3e\r\n </div>\r\n <div class="leftXuhao loop">\r\n <div class="num">序号</div>\r\n <div class="name">服务项目</div>\r\n <div class="day headday">\r\n <span>护理服务执行日期及时长(分钟)</span>\r\n <div class="forday">\r\n <span v-for="i in 31" :key="i">{{ i }}日</span>\r\n </div>\r\n </div>\r\n \x3c!-- <div class="total">床日合计</div> --\x3e\r\n </div>\r\n <div v-for="(item, index) in expObj.list" :key="index" class="tr loop">\r\n <div class="num">{{ index + 1 }}</div>\r\n <div class="name">{{ item.title }}</div>\r\n \x3c!-- 当月服务时长单元格合并显示 --\x3e\r\n <div v-if="item.title == \'当月服务时长(小时)\'" class="day bodyday merged-cell">\r\n {{ item.num }}(小时)\r\n </div>\r\n \x3c!-- 普通日期单元格 --\x3e\r\n <div v-else class="day bodyday">\r\n <div class="forday">\r\n <template v-for="i in 31">\r\n <span v-if="Array.isArray(item[`day${i}`])" :key="i">\r\n <p v-for="(items, index) in item[`day${i}`]" :key="index" style="margin: 0;">\r\n {{ items }}\r\n </p>\r\n </span>\r\n <span v-else :key="i">{{ item[`day${i}`] }}</span>\r\n </template>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class="handwriting">\r\n <div class="name">协议服务机构负责人签字:</div>\r\n <div class="day bodyday">家属确认签字按手印:</div>\r\n </div>\r\n <div class="handwriting">\r\n <div class="name">盖章:</div>\r\n <div class="day bodyday">日期:</div>\r\n </div>\r\n <div class="handwriting">\r\n <div class="name">日期:</div>\r\n </div>\r\n </div>\r\n <span slot="footer" class="dialog-footer">\r\n <el-button size="small" :loading="loadExp" @click="handleClose">取 消</el-button>\r\n <el-button v-print="print" size="small" type="primary" :loading="loadExp" @click="onPrint">\r\n 打 印\r\n </el-button>\r\n </span>\r\n </el-dialog>\r\n\r\n \x3c!-- 导出周期表格 2024-06-07 --\x3e\r\n <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" title="打印"\r\n :visible.sync="dialogVisibleExpPrint" width="1200px" :before-close="handleClose">\r\n <el-form :inline="true" class="demo-form-inline">\r\n <el-form-item label="时间">\r\n <el-date-picker v-model="startDate" type="month" value-format="yyyy-MM" placeholder="选择月" size="small"\r\n @change="getExpPrint" />\r\n </el-form-item>\r\n </el-form>\r\n <div v-if="startDate" id="printDom1" ref="printDom1" class="exptable exptableprint" border="1">\r\n <div class="thead" style="font-size: 14px">\r\n {{ expObjPrint.title }}\r\n </div>\r\n <div style="text-align: left; padding: 10px 0">\r\n 结算周期{{ expObjPrint.jszqTime }}\r\n </div>\r\n <div class="tbody">\r\n <div class="tr loop">\r\n <div class="num" style="width: 55px !important">个人编号</div>\r\n <div class="" style="width: 45px">姓名</div>\r\n <div class="" style="flex: 1">身份证</div>\r\n <div class="" style="flex: 1">参保类型</div>\r\n <div class="" style="flex: 1">护理类别</div>\r\n <div class="" style="flex: 1">结算起始日期</div>\r\n <div class="" style="flex: 1">结算中止日期</div>\r\n <div class="" style="width: 55px">服务次数</div>\r\n <div class="" style="width: 62px">实际总金额</div>\r\n \x3c!-- <div class="" style="width: 45px">总费用</div> --\x3e\r\n <div class="" style="width: 55px">基金支付</div>\r\n <div class="day headday" style="width: 100px">\r\n <span>个人负担</span>\r\n <div class="forday">\r\n <span style="width: 50px">个人自费</span>\r\n <span style="width: 50px">个人自付</span>\r\n </div>\r\n </div>\r\n <div class="" style="flex: 1">不合理费用扣减</div>\r\n </div>\r\n <div v-for="(item, index) in expObjPrint.list" :key="index" class="tr loop">\r\n <div class="num" style="width: 55px !important">\r\n {{ index + 1 }}\r\n </div>\r\n <div class="" style="width: 45px">{{ item.name }}</div>\r\n <div class="" style="flex: 1">{{ item.idCode }}</div>\r\n <div class="" style="flex: 1">{{ item.medicalType }}</div>\r\n <div class="" style="flex: 1">{{ item.hlType }}</div>\r\n <div class="" style="flex: 1">{{ item.startTime }}</div>\r\n <div class="" style="flex: 1">{{ item.endTime }}</div>\r\n <div class="" style="width: 55px">{{ item.clockNum }}</div>\r\n <div class="" style="width: 62px">{{ item.accountTotal }}</div>\r\n \x3c!-- <div class="" style="width: 45px">{{ item.totalPrice }}</div> --\x3e\r\n <div class="" style="width: 55px">{{ item.fundPrice }}</div>\r\n <div class="day bodyday" style="width: 100px">\r\n <div class="forday">\r\n <span style="width: 50px">{{ item.fei }}</span>\r\n <span style="width: 50px">{{ item.fu }}</span>\r\n </div>\r\n </div>\r\n <div class="" style="flex: 1">{{ item.bhl }}</div>\r\n </div>\r\n\r\n <div class="tr loop">\r\n <div class="num" style="width: 55px !important">合计</div>\r\n <div class="" style="width: 45px" />\r\n <div class="" style="flex: 1" />\r\n <div class="" style="flex: 1" />\r\n <div class="" style="flex: 1" />\r\n <div class="" style="flex: 1" />\r\n <div class="" style="flex: 1" />\r\n <div class="" style="width: 55px" />\r\n <div class="" style="width: 62px">{{ totalAmount }}</div>\r\n <div class="" style="width: 55px">{{ fundAmount }}</div>\r\n <div class="day bodyday" style="width: 100px">\r\n <div class="forday">\r\n <span style="width: 100px">{{ burdenAmount }}</span>\r\n </div>\r\n </div>\r\n <div class="" style="flex: 1" />\r\n </div>\r\n </div>\r\n <div class="handwriting" style="padding: 2px 0">\r\n <div class="" style="width: 200px; text-align: left">\r\n 护理服务机构负责人签字\r\n </div>\r\n <div class="" style="width: 200px; text-align: left">\r\n 承办单位审核人签字\r\n </div>\r\n <div class="" style="width: 200px; text-align: left">\r\n 经办单位复核人签字\r\n </div>\r\n </div>\r\n <div class="handwriting">\r\n <div class="" style="width: 200px; text-align: left">盖章</div>\r\n <div class="" style="width: 200px; text-align: left">盖章</div>\r\n <div class="" style="width: 200px; text-align: left">盖章</div>\r\n </div>\r\n </div>\r\n <span slot="footer" class="dialog-footer">\r\n <el-button size="small" :loading="loadExp" @click="handleClose">取 消</el-button>\r\n <el-button size="small" type="primary" :loading="loadExp" @click="onPrint">\r\n 打 印\r\n </el-button>\r\n </span>\r\n </el-dialog>\r\n <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" title="新结算单打印"\r\n :visible.sync="dialogVisibleExpPrint_two" width="100%" :before-close="handleClose">\r\n <el-form :inline="true" class="demo-form-inline">\r\n <el-form-item label="时间">\r\n <el-date-picker v-model="startDate" type="month" value-format="yyyy-MM" placeholder="选择月" size="small"\r\n @change="getExpPrint_new" />\r\n </el-form-item>\r\n </el-form>\r\n <div v-if="startDate" id="printDom1" ref="printDom1" style="padding: 20px">\r\n <div style="font-size: 18px; font-weight: bold; text-align: center; margin-bottom: 10px">\r\n {{ expObjPrintNew.title }}\r\n </div>\r\n <div style="text-align: left; margin-bottom: 10px; font-size: 12px">\r\n 结算周期: {{ expObjPrintNew.jszqTime }}\r\n </div>\r\n <table border="1" cellspacing="0" cellpadding="5"\r\n style="width:100%; border-collapse: collapse; font-size: 10px">\r\n <thead>\r\n <tr style="background-color: #f0f0f0">\r\n <th>编号</th>\r\n <th>姓名</th>\r\n <th>身份证</th>\r\n <th>重度等级</th>\r\n <th>参保类型</th>\r\n <th>护理类别</th>\r\n <th>结算起始日期</th>\r\n <th>结算中止日期</th>\r\n <th>死亡时间</th>\r\n <th>转出机构时间</th>\r\n <th>基金支付</th>\r\n <th>单价</th>\r\n <th>重度服务时长</th>\r\n <th>实际服务时长</th>\r\n <th>统筹支付金额</th>\r\n <th>参保地</th>\r\n <th>护理员姓名</th>\r\n <th>住院起始日期</th>\r\n <th>是否当月新增</th>\r\n <th>新增时间</th>\r\n <th>参保人居住区域</th>\r\n <th>参保人居住地址</th>\r\n <th>备注</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr v-for="(item, index) in expObjPrintNew.list" :key="index">\r\n <td style="width: 50px;">{{ item.familyNo }}</td>\r\n <td style="width: 50px;">{{ item.familyName }}</td>\r\n <td style="width: 50px;">{{ item.familyIdCode }}</td>\r\n <td style="width: 50px;">{{ item.familyLv }}</td>\r\n <td style="width: 50px;">{{ item.familyMedicalType }}</td>\r\n <td style="width: 50px;">{{ item.unitType }}</td>\r\n <td style="width: 50px;">{{ item.orderStartDate }}</td>\r\n <td style="width: 50px;">{{ item.orderEndDate }}</td>\r\n <td style="width: 50px;">{{ item.familyDieTime }}</td>\r\n <td style="width: 50px;">{{ item.familyOutTime }}</td>\r\n <td style="width: 50px;">{{ item.unitAccount }}</td>\r\n <td style="width: 50px;">{{ item.dj }}</td>\r\n <td style="width: 50px;">{{ item.fwsc }}</td>\r\n <td style="width: 50px;">{{ item.sjfwsc }}</td>\r\n <td style="width: 50px;">{{ item.unitAccount }}</td>\r\n <td style="width: 50px;">{{ item.familyMedicalCounty }}</td>\r\n <td style="width: 50px;">{{ item.personName }}</td>\r\n <td style="width: 50px;">{{ item.familyZYTime }}</td>\r\n <td style="width: 50px;">{{ item.dyxz }}</td>\r\n <td style="width: 50px;">{{ item.familyCreateTime }}</td>\r\n <td style="width: 50px;">{{ item.familyCounty }}</td>\r\n <td style="width: 50px;">{{ item.familyAddress }}</td>\r\n <td style="width: 50px;">{{ item.bz }}</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n\r\n <div style="margin-top: 20px; padding: 10px 0">\r\n <div style="display: flex; margin-bottom: 10px">\r\n <div style="flex: 1">护理服务机构负责人签字:_______________</div>\r\n <div style="flex: 1">承办单位审核人签字:_______________</div>\r\n </div>\r\n <div style="display: flex">\r\n <div style="flex: 1">盖章:</div>\r\n \x3c!-- <div style="flex: 1">盖章:_______________</div> --\x3e\r\n </div>\r\n </div>\r\n </div>\r\n <span slot="footer" class="dialog-footer">\r\n <el-button size="small" :loading="loadExp" @click="handleClose">取 消</el-button>\r\n <el-button size="small" type="primary" :loading="loadExp" @click="onPrint">打 印</el-button>\r\n </span>\r\n </el-dialog>\r\n\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport {\r\n WxSettlementPage,\r\n revokepsnsetlThird,\r\n wxSettlementInfo,\r\n wxSettlementStatisticInfo,\r\n wxSettlementStatisticInfoNew,\r\n ClockInfo,\r\n ClockJsInfo,\r\n JSInfoNew\r\n} from \'@/api/settlement\'\r\nimport { SysUnitAll, WxUserFamilyAll } from \'@/api/institution\'\r\nimport Pagination from \'@/components/Pagination\' // secondary package based on el-pagination\r\nexport default {\r\n name: \'Personnel\',\r\n components: { Pagination },\r\n filters: {},\r\n data() {\r\n return {\r\n\r\n unitType: null,\r\n // 时间\r\n time: null,\r\n institutionList: [],\r\n customerData: [],\r\n startDate: \'\',\r\n loadExp: false,\r\n dialogVisibleExp: false,\r\n dialogVisibleExp_two: false,\r\n dialogStatus: \'\',\r\n textMap: { update: \'详情\', create: \'创建\' },\r\n tableKey: 0,\r\n list: null,\r\n total: 0,\r\n listLoading: true,\r\n listQuery: {\r\n pageNo: 1,\r\n size: 20\r\n },\r\n dialogFormVisible: false,\r\n dialogPvVisible: false,\r\n rules: {\r\n status: [\r\n { required: true, message: \'请选择审批状态\', trigger: \'change\' }\r\n ],\r\n name: [{ required: true, message: \'请输入机构名称\', trigger: \'blur\' }],\r\n city: [{ required: true, message: \'请输入行政区划\', trigger: \'blur\' }],\r\n county: [\r\n { required: true, message: \'请输入所属辖区\', trigger: \'blur\' }\r\n ],\r\n address: [\r\n { required: true, message: \'请输入护理机构地址\', trigger: \'blur\' }\r\n ],\r\n linkMan: [{ required: true, message: \'请输入联系人\', trigger: \'blur\' }],\r\n linkPhoneNumber: [\r\n { required: true, message: \'请输入联系号码\', trigger: \'blur\' }\r\n ]\r\n },\r\n temp: {},\r\n downloadLoading: false,\r\n expObj: {},\r\n expObjPrint: {},\r\n expObjPrintNew: {},\r\n expObjVisible: false,\r\n dialogVisibleExpPrint: false,\r\n dialogVisibleExpPrint_two: false\r\n }\r\n },\r\n computed: {\r\n totalAmount() {\r\n let accountTotal = 0\r\n if (!Object.keys(this.expObjPrint).length == 0) {\r\n for (let i = 0; i < this.expObjPrint.list.length; i++) {\r\n accountTotal += this.expObjPrint.list[i].accountTotal\r\n }\r\n }\r\n return accountTotal.toFixed(1) || 0\r\n },\r\n fundAmount() {\r\n let fundPrice = 0\r\n if (!Object.keys(this.expObjPrint).length == 0) {\r\n for (let i = 0; i < this.expObjPrint.list.length; i++) {\r\n fundPrice += this.expObjPrint.list[i].fundPrice\r\n }\r\n }\r\n return fundPrice.toFixed(1) || 0\r\n },\r\n burdenAmount() {\r\n let amount = 0\r\n if (!Object.keys(this.expObjPrint).length == 0) {\r\n for (let i = 0; i < this.expObjPrint.list.length; i++) {\r\n amount += this.expObjPrint.list[i].fei + this.expObjPrint.list[i].fu\r\n }\r\n }\r\n return amount.toFixed(1) || 0\r\n }\r\n },\r\n created() {\r\n this.getList()\r\n },\r\n methods: {\r\n changeTime(value) {\r\n this.listQuery.orderStartDate = value[0]\r\n this.listQuery.orderEndDate = value[1]\r\n },\r\n /**\r\n * 打印\r\n */\r\n onPrint() {\r\n this.$print(this.$refs.printDom1)\r\n },\r\n getExpPrint(v) {\r\n ClockJsInfo({ yearMonth: v }).then((res) => {\r\n console.log(res)\r\n if (res.status === 1) {\r\n this.expObjPrint = res.result\r\n }\r\n })\r\n },\r\n getExpPrint_new(v) {\r\n JSInfoNew({ yearMonth: v }).then((res) => {\r\n console.log(res)\r\n if (res.status === 1) {\r\n this.expObjPrintNew = res.result\r\n }\r\n })\r\n },\r\n expExcel3(row) {\r\n this.dialogVisibleExpPrint = true\r\n this.startDate = \'\'\r\n },\r\n expExcel4(row) {\r\n this.dialogVisibleExpPrint_two = true\r\n this.startDate = \'\'\r\n },\r\n expExcel2(row) {\r\n ClockInfo({ orderNo: row.orderNo }).then((res) => {\r\n if (res.status === 1) {\r\n this.unitType = res.result.unitType\r\n const result = {}\r\n const lastElement = res.result.list[res.result.list.length - 1]\r\n for (const key in lastElement) {\r\n if (typeof lastElement[key] === \'string\' && lastElement[key].includes(\'-\')) {\r\n result[key] = lastElement[key].split(/-/)\r\n } else {\r\n result[key] = lastElement[key]\r\n }\r\n }\r\n res.result.list[res.result.list.length - 1] = result\r\n this.expObj = res.result\r\n this.expObjVisible = true\r\n }\r\n })\r\n },\r\n expExcel(row) {\r\n wxSettlementInfo({ id: row.id, orderNo: row.orderNo }).then((res) => {\r\n const blob = new Blob([res])\r\n const fileName = \'结算信息导出\'\r\n if (blob.size > 0) {\r\n const elink = document.createElement(\'a\')\r\n elink.style.display = \'none\'\r\n elink.href = URL.createObjectURL(blob)\r\n // 类似a标签下载\r\n // 自定义文件名称和导出类型。最好和后台保持一致\r\n elink.download = `${fileName}/${this.$moment().format(\r\n \'YYYY-MM-DD\'\r\n )}.xlsx`\r\n document.body.appendChild(elink)\r\n elink.click()\r\n // 释放URL 对象\r\n URL.revokeObjectURL(elink.href)\r\n // 删除创建的 a 标签\r\n document.body.removeChild(elink)\r\n }\r\n })\r\n },\r\n expExcelForm_two() {\r\n try {\r\n this.loadExp = true\r\n const form = {\r\n yearMonth: this.startDate\r\n // endDate: this.startDate[1],\r\n }\r\n wxSettlementStatisticInfoNew(form)\r\n .then((res) => {\r\n const blob = new Blob([res])\r\n const fileName = \'新结算统计导出\'\r\n if (blob.size > 0) {\r\n const elink = document.createElement(\'a\')\r\n elink.style.display = \'none\'\r\n elink.href = URL.createObjectURL(blob)\r\n // 类似a标签下载\r\n // 自定义文件名称和导出类型。最好和后台保持一致\r\n elink.download = `${fileName}/${this.$moment().format(\r\n \'YYYY-MM-DD\'\r\n )}.xlsx`\r\n document.body.appendChild(elink)\r\n elink.click()\r\n // 释放URL 对象\r\n URL.revokeObjectURL(elink.href)\r\n // 删除创建的 a 标签\r\n document.body.removeChild(elink)\r\n }\r\n this.handleClose()\r\n this.loadExp = false\r\n })\r\n .catch(() => {\r\n this.loadExp = false\r\n })\r\n } catch (e) {\r\n this.loadExp = false\r\n console.log(e)\r\n }\r\n },\r\n expExcelForm() {\r\n try {\r\n this.loadExp = true\r\n const form = {\r\n yearMonth: this.startDate\r\n // endDate: this.startDate[1],\r\n }\r\n wxSettlementStatisticInfo(form)\r\n .then((res) => {\r\n const blob = new Blob([res])\r\n const fileName = \'结算统计导出\'\r\n if (blob.size > 0) {\r\n const elink = document.createElement(\'a\')\r\n elink.style.display = \'none\'\r\n elink.href = URL.createObjectURL(blob)\r\n // 类似a标签下载\r\n // 自定义文件名称和导出类型。最好和后台保持一致\r\n elink.download = `${fileName}/${this.$moment().format(\r\n \'YYYY-MM-DD\'\r\n )}.xlsx`\r\n document.body.appendChild(elink)\r\n elink.click()\r\n // 释放URL 对象\r\n URL.revokeObjectURL(elink.href)\r\n // 删除创建的 a 标签\r\n document.body.removeChild(elink)\r\n }\r\n this.handleClose()\r\n this.loadExp = false\r\n })\r\n .catch(() => {\r\n this.loadExp = false\r\n })\r\n } catch (e) {\r\n this.loadExp = false\r\n console.log(e)\r\n }\r\n },\r\n handleClose() {\r\n this.dialogVisibleExp = false\r\n this.dialogVisibleExp_two = false\r\n this.expObjVisible = false\r\n this.dialogVisibleExpPrint = false\r\n this.dialogVisibleExpPrint_two = false\r\n this.expObj = {}\r\n this.expObjPrint = {}\r\n this.startDate = \'\'\r\n },\r\n // 撤销\r\n revoke(row) {\r\n revokepsnsetlThird({ trtSetlId: row.trtSetlId }).then((res) => {\r\n if (res.status == 1) {\r\n this.getList()\r\n this.$notify({\r\n title: \'提示\',\r\n message: \'撤销成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n } else {\r\n this.$notify({\r\n title: \'提示\',\r\n message: res.info,\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n }\r\n })\r\n },\r\n getList() {\r\n this.listLoading = true\r\n WxSettlementPage(this.listQuery).then((response) => {\r\n this.list = response.result.data\r\n this.total = response.result.count\r\n setTimeout(() => {\r\n this.listLoading = false\r\n }, 1.5 * 1000)\r\n })\r\n SysUnitAll().then((res) => {\r\n this.institutionList = res.result.map((item) => {\r\n return { label: item.name, value: item.id }\r\n })\r\n })\r\n WxUserFamilyAll().then((res) => {\r\n this.customerData = res.result.map((item) => {\r\n return { label: item.name, value: item.id }\r\n })\r\n })\r\n },\r\n handleModifyStatus(row, status) {\r\n this.$message({\r\n message: \'操作成功\',\r\n type: \'success\'\r\n })\r\n row.status = status\r\n },\r\n resetting(formName) {\r\n this.$nextTick(() => {\r\n this.$refs[formName].resetFields()\r\n this.getList()\r\n })\r\n },\r\n add() {\r\n this.dialogStatus = \'create\'\r\n this.dialogFormVisible = true\r\n this.temp = {}\r\n },\r\n onSubmit() {\r\n this.getList()\r\n },\r\n createData() {\r\n this.$refs[\'dataForm\'].validate((valid) => {\r\n if (valid) {\r\n SysUnitSave(this.temp).then((res) => {\r\n if (res.status == 1) {\r\n this.dialogFormVisible = false\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'新增成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'新增失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n }\r\n })\r\n },\r\n updateData() {\r\n this.$refs[\'dataForm\'].validate((valid) => {\r\n if (valid) {\r\n WxClockApplyApprove(this.temp).then((res) => {\r\n if (res.status == 1) {\r\n this.dialogFormVisible = false\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'更新成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'更新失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n }\r\n })\r\n },\r\n edit(row) {\r\n this.temp = row\r\n this.dialogStatus = \'update\'\r\n this.dialogFormVisible = true\r\n },\r\n handleDelete(row, index) {\r\n WxClockApplyDel({ id: row.id }).then((res) => {\r\n if (res.status == 1) {\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'删除成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'删除失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n // this.list.splice(index, 1)\r\n }\r\n }\r\n}\r\n<\/script>\r\n<style lang="scss" scoped>\r\n.el-col-12 {\r\n padding: 0 20px 0 0;\r\n}\r\n\r\n.exptable {\r\n font-size: 9px;\r\n text-align: center;\r\n width: 100%;\r\n\r\n // line-height: 26px;\r\n .leftXuhao {\r\n display: flex;\r\n border-bottom: 1px solid #333;\r\n\r\n div {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n border-right: 1px solid #333;\r\n }\r\n }\r\n\r\n .thead {\r\n // border: 1px solid #333;\r\n border-bottom: 0;\r\n color: #000;\r\n padding: 8px 0;\r\n }\r\n\r\n .tbody {\r\n border: 1px solid #333;\r\n font-size: 8px;\r\n }\r\n\r\n .tr {\r\n display: flex;\r\n border-bottom: 1px solid #333;\r\n color: #111;\r\n\r\n div {\r\n // flex: 1;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n border-right: 1px solid #333;\r\n // padding: 5px 2px;\r\n }\r\n\r\n .bodyday {\r\n flex: 1;\r\n }\r\n\r\n div:last-child {\r\n border-right: 0;\r\n }\r\n }\r\n\r\n .eight div {\r\n flex: 1;\r\n // width: calc((100% - 120px * 8) / 8);\r\n padding: 5px 0;\r\n }\r\n\r\n .eight .title {\r\n width: 110px;\r\n flex: none;\r\n }\r\n\r\n .tr:last-child {\r\n border-bottom: 0;\r\n }\r\n\r\n .loop {\r\n .num {\r\n width: 22px !important;\r\n }\r\n\r\n .total {\r\n width: 23px;\r\n padding: 5px 0;\r\n }\r\n\r\n // .day {\r\n // width: calc(27px * 27);\r\n // }\r\n .name {\r\n // flex: 1;\r\n padding: 5px 0;\r\n // width: 300px !important;\r\n flex: 0.1;\r\n }\r\n\r\n .headday {\r\n flex-flow: column;\r\n flex: 1;\r\n\r\n .forday {\r\n border-top: 1px solid #333;\r\n }\r\n }\r\n\r\n .day span {\r\n padding: 10px 0;\r\n }\r\n\r\n .forday {\r\n display: table;\r\n width: 100%;\r\n\r\n // height: 100%;\r\n span {\r\n display: table-cell;\r\n vertical-align: middle;\r\n border-right: 1px solid #333;\r\n width: 23px;\r\n height: 100%;\r\n overflow: hidden;\r\n word-wrap: break-word;\r\n word-break: break-all;\r\n }\r\n\r\n span:last-child {\r\n border-right: 0;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.aa {\r\n // height: 88px;\r\n}\r\n\r\n.handwriting {\r\n display: flex;\r\n\r\n div {\r\n text-align: right;\r\n padding: 5px 0;\r\n }\r\n\r\n .name {\r\n margin-left: 60px;\r\n width: 120px;\r\n }\r\n\r\n .bodyday {\r\n width: 60%;\r\n margin-right: 60px;\r\n }\r\n}\r\n\r\n.exptableprint {\r\n font-size: 11px;\r\n\r\n .tbody {\r\n font-size: 10px;\r\n }\r\n}\r\n\r\n/* 打印样式 - 修复el-table打印时列宽问题 */\r\n@media print {\r\n\r\n /* 强制设置表格列宽为auto,让内容正常显示 */\r\n .el-table__header-wrapper,\r\n .el-table__body-wrapper {\r\n overflow: visible !important;\r\n }\r\n\r\n .el-table__header,\r\n .el-table__body {\r\n width: 100% !important;\r\n }\r\n\r\n .el-table th,\r\n .el-table td {\r\n width: auto !important;\r\n min-width: 80px !important;\r\n max-width: none !important;\r\n white-space: normal !important;\r\n word-wrap: break-word !important;\r\n overflow: visible !important;\r\n }\r\n\r\n .el-table__fixed,\r\n .el-table__fixed-right {\r\n display: none !important;\r\n }\r\n\r\n /* 隐藏不需要打印的元素 */\r\n .dialog-footer,\r\n .el-dialog__header {\r\n display: none !important;\r\n }\r\n\r\n /* 确保打印时表格宽度100% */\r\n .el-table {\r\n width: 100% !important;\r\n table-layout: auto !important;\r\n }\r\n\r\n .el-table__body {\r\n table-layout: auto !important;\r\n }\r\n}\r\n</style>\r\n']},media:void 0})},__vue_scope_id__$d="data-v-77c35fa5",__vue_module_identifier__$d=void 0,__vue_is_functional_template__$d=!1,__vue_component__$d=normalizeComponent({render:__vue_render__$d,staticRenderFns:__vue_staticRenderFns__$d},__vue_inject_styles__$d,__vue_script__$d,__vue_scope_id__$d,__vue_is_functional_template__$d,__vue_module_identifier__$d,!1,createInjector,void 0,void 0);var script$c={name:"Personnel",components:{Pagination:Pagination},filters:{},data:()=>({customerData:[],institutionList:[],tableData:[],direction:"rtl",drawer:!1,drawerTitle:"",orderNo:null,time:null,dateRange:null,familyLvData:[{label:"基本正常",value:"01"},{label:"轻度失能",value:"02"},{label:"中度失能",value:"03"},{label:"重度失能Ⅰ级",value:"04"},{label:"重度失能ⅠⅠ级",value:"05"},{label:"重度失能ⅠⅠⅠ级",value:"06"}],NursingLoading:!0,NursingData:[],dialogStatus:"",textMap:{update:"详情",create:"创建"},tableKey:0,list:null,total:0,listLoading:!0,listQuery:{pageNo:1,size:20},dialogFormVisible:!1,dialogPvVisible:!1,rules:{status:[{required:!0,message:"请选择审批状态",trigger:"change"}],name:[{required:!0,message:"请输入机构名称",trigger:"blur"}],city:[{required:!0,message:"请输入行政区划",trigger:"blur"}],county:[{required:!0,message:"请输入所属辖区",trigger:"blur"}],address:[{required:!0,message:"请输入护理机构地址",trigger:"blur"}],linkMan:[{required:!0,message:"请输入联系人",trigger:"blur"}],linkPhoneNumber:[{required:!0,message:"请输入联系号码",trigger:"blur"}]},temp:{},downloadLoading:!1,idList:[]}),computed:{Summary:()=>function(e,t){return(e*t).toFixed(2)},expect:()=>function(e,t){return(e*t).toFixed(2)}},created(){this.getList()},methods:{changeTime(e){if(!e||!Array.isArray(e)||0===e.length)return this.listQuery.orderStartDate="",void(this.listQuery.orderEndDate="");this.listQuery.orderStartDate=e[0],this.listQuery.orderEndDate=e[1]},handleClose(){this.drawer=!1},handleSelectionChange(e){this.idList=e.map(e=>e.id)},buttonUpload(){if(0==this.idList.length)return this.$notify({title:"提示",message:"请选择需要上传的打卡记录",type:"warning",duration:2e3});"明细上传"==this.drawerTitle?WxSettlementSubmitOneClock({idList:this.idList}).then(e=>{1==e.status?(this.$notify({title:"提示",message:e.info,type:"success",duration:2e3}),this.getList(),WxClockPage({orderNo:this.orderNo,pageNo:1,size:31}).then(e=>{this.tableData=e.result})):this.$notify({title:"提示",message:e.info,type:"error",duration:2e3})}):WxSettlementCzOne({idList:this.idList}).then(e=>{1==e.status?(this.$notify({title:"提示",message:e.info,type:"success",duration:2e3}),this.getList(),WxClockNeedCZ({orderNo:this.orderNo,pageNo:1,size:31}).then(e=>{this.tableData=e.result})):this.$notify({title:"提示",message:e.info,type:"error",duration:2e3})})},upload(e){this.drawerTitle="明细上传",this.drawer=!0,this.idList=[],this.orderNo=e.orderNo,WxClockPage({orderNo:this.orderNo,pageNo:1,size:31}).then(e=>{this.tableData=e.result})},rectification(e){this.drawerTitle="明细冲正",this.drawer=!0,this.idList=[],this.orderNo=e.orderNo,WxClockNeedCZ({orderNo:this.orderNo,pageNo:1,size:31}).then(e=>{this.tableData=e.result})},async declare(e){this.$confirm(`已上传${e.uploadNum}条,未上传${e.notUploadedNum}条 请确认后提交`,"提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{predeclareThird(e).then(e=>{1==e.status?(this.getList(),this.$notify({title:"提示",message:"申报成功",type:"success",duration:2e3})):this.$notify({title:"提示",message:e.info,type:"error",duration:2e3})})}).catch(()=>{this.$message({type:"info",message:"已取消"})})},chexiao(e){revokepsnsetlThird({trtSetlId:e.trtSetlId}).then(e=>{1==e.status?(this.getList(),this.$notify({title:"提示",message:"撤销成功",type:"success",duration:2e3})):this.$notify({title:"提示",message:e.info,type:"error",duration:2e3})})},settlement(e){this.$confirm("此操作将结算该条记录, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{WxSettlementSave(e).then(e=>{if(1==e.status)return this.getList(),void this.$notify({title:e.info,message:"结算成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"结算失败",type:"error",duration:2e3})})}).catch(()=>{this.$message({type:"info",message:"已取消结算"})})},getList(){this.listLoading=!0,WxSettlementAdvancePage(this.listQuery).then(e=>{this.list=e.result.data,this.total=e.result.count,setTimeout(()=>{this.listLoading=!1},1500)}).catch(e=>{setTimeout(()=>{this.listLoading=!1},1500)}),WxUserFamilyAll().then(e=>{this.customerData=e.result.map(e=>({label:e.name,value:e.name}))}),SysUnitAll().then(e=>{this.institutionList=e.result.map(e=>({label:e.name,value:e.id}))})},handleModifyStatus(e,t){this.$message({message:"操作成功",type:"success"}),e.status=t},resetting(e){this.$nextTick(()=>{this.$refs[e].resetFields(),this.getList()})},add(){this.dialogStatus="create",this.dialogFormVisible=!0,this.temp={}},onSubmit(){this.getList()},createData(){this.$refs.dataForm.validate(e=>{e&&SysUnitSave(this.temp).then(e=>{if(1==e.status)return this.dialogFormVisible=!1,this.getList(),void this.$notify({title:e.info,message:"新增成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"新增失败",type:"error",duration:2e3})})})},updateData(){this.$refs.dataForm.validate(e=>{e&&WxClockApplyApprove(this.temp).then(e=>{if(1==e.status)return this.dialogFormVisible=!1,this.getList(),void this.$notify({title:e.info,message:"更新成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"更新失败",type:"error",duration:2e3})})})},edit(e){this.temp=e,this.dialogStatus="update",this.dialogFormVisible=!0,this.NursingLoading=!0,console.log(this.temp),this.temp.projectRealityList&&this.temp.projectRealityList.length>0?this.NursingData=this.temp.projectRealityList:this.NursingData=[],setTimeout(()=>{this.NursingLoading=!1},1500)},handleDelete(e,t){WxClockApplyDel({id:e.id}).then(e=>{if(1==e.status)return this.getList(),void this.$notify({title:e.info,message:"删除成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"删除失败",type:"error",duration:2e3})})}}};const __vue_script__$c=script$c;var __vue_render__$c=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"app-container"},[n("div",{staticClass:"filter-container"},[n("el-form",{ref:"listQuery",staticClass:"demo-form-inline",attrs:{inline:!0,model:e.listQuery}},[n("el-form-item",{attrs:{label:"机构名称",prop:"name"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择机构名称"},model:{value:e.listQuery.unitName,callback:function(t){e.$set(e.listQuery,"unitName",t)},expression:"listQuery.unitName"}},e._l(e.institutionList,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.label}})}),1)],1),e._v(" "),n("el-form-item",{attrs:{label:"计划流水号",prop:"orderNo"}},[n("el-input",{attrs:{size:"small",clearable:"",placeholder:"请输入计划流水号"},model:{value:e.listQuery.orderNo,callback:function(t){e.$set(e.listQuery,"orderNo",t)},expression:"listQuery.orderNo"}})],1),e._v(" "),n("el-form-item",{attrs:{label:"客户姓名",prop:"familyName"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择客户"},model:{value:e.listQuery.familyName,callback:function(t){e.$set(e.listQuery,"familyName",t)},expression:"listQuery.familyName"}},e._l(e.customerData,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.label}})}),1)],1),e._v(" "),n("el-form-item",{attrs:{label:"身份证",prop:"familyIdCode"}},[n("el-input",{attrs:{size:"small",clearable:"",placeholder:"请输入客户身份证号"},model:{value:e.listQuery.familyIdCode,callback:function(t){e.$set(e.listQuery,"familyIdCode",t)},expression:"listQuery.familyIdCode"}})],1),e._v(" "),n("el-form-item",{attrs:{label:"失能等级"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择失能等级"},model:{value:e.listQuery.familyLv,callback:function(t){e.$set(e.listQuery,"familyLv",t)},expression:"listQuery.familyLv"}},e._l(e.familyLvData,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1),e._v(" "),n("el-form-item",{attrs:{label:"日期"}},[n("el-date-picker",{attrs:{clearable:"",size:"small","value-format":"yyyy-MM-dd",type:"daterange","range-separator":"至","start-placeholder":"开始时间","end-placeholder":"结束时间"},on:{change:e.changeTime},model:{value:e.dateRange,callback:function(t){e.dateRange=t},expression:"dateRange"}})],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"primary"},on:{click:e.onSubmit}},[e._v("查询")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"warning"},on:{click:function(t){return e.resetting("listQuery")}}},[e._v("重置")])],1)],1)],1),e._v(" "),n("el-table",{staticStyle:{width:"100%"},attrs:{border:"",height:"65vh",data:e.list}},[n("el-table-column",{attrs:{label:"客户姓名",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.familyName))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"客户失能等级",align:"center",width:"150"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return["06"==r.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("重度失能ⅠⅠⅠ级")]):e._e(),e._v(" "),"05"==r.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("重度失能ⅠⅠ级")]):e._e(),e._v(" "),"04"==r.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("重度失能Ⅰ级")]):e._e(),e._v(" "),"03"==r.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("中度失能")]):e._e(),e._v(" "),"02"==r.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("轻度失能")]):e._e(),e._v(" "),"01"==r.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("基本正常")]):e._e()]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"计划流水号",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.orderNo))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"计划开始时间",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.orderStartDate))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"护理机构",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.unitName?r.unitName:"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"机构类型",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("el-tag",{attrs:{size:"medium"}},[e._v(e._s("01"==r.type?"上门护理机构":"02"==r.type?"养老机构":"03"==r.type?"医疗机构":"04"==r.type?"辅助器具机构":"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"服务次数",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.realityNum)+"次")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"服务时长",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.clockHour))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"服务合计费用",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.accountTotal)+"元")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"长期护理保险总费用",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.sumAccount)+"元")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"客户所需支付金额",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.userAccount)+"元")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"基金所需支付金额",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.unitAccount)+"元")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"操作",align:"center",width:"300","class-name":"small-padding fixed-width"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row,l=t.$index;return[n("div",{staticClass:"buttonList"},["1"==r.processStatus&&0!=r.notUploadedNum?n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(t){return e.upload(r,l)}}},[e._v("\n 明细上传\n ")]):e._e(),e._v(" "),"1"==r.processStatus&&0!=r.uploadNum?n("el-button",{attrs:{size:"mini",type:"danger"},on:{click:function(t){return e.rectification(r,l)}}},[e._v("\n 冲正\n ")]):e._e(),e._v(" "),"1"==r.processStatus?n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(t){return e.declare(r,l)}}},[e._v("\n 个人费用预申报\n ")]):e._e(),e._v(" "),n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(t){return e.edit(r,l)}}},[e._v("\n 详情\n ")])],1)]}}])})],1),e._v(" "),n("pagination",{directives:[{name:"show",rawName:"v-show",value:e.total>0,expression:"total > 0"}],attrs:{total:e.total,page:e.listQuery.pageNo,limit:e.listQuery.size},on:{"update:page":function(t){return e.$set(e.listQuery,"pageNo",t)},"update:limit":function(t){return e.$set(e.listQuery,"size",t)},pagination:e.getList}}),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:e.textMap[e.dialogStatus],visible:e.dialogFormVisible,width:"40%"},on:{"update:visible":function(t){e.dialogFormVisible=t}}},[n("el-form",{ref:"dataForm",attrs:{rules:e.rules,model:e.temp,"label-position":"right","label-width":"170px"}},[n("el-row",{attrs:{gutter:20}},[n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"客户姓名"}},[n("span",[e._v(e._s(e.temp.familyName))])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"客户失能等级"}},["06"==e.temp.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("重度失能ⅠⅠⅠ级")]):e._e(),e._v(" "),"05"==e.temp.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("重度失能ⅠⅠ级")]):e._e(),e._v(" "),"04"==e.temp.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("重度失能Ⅰ级")]):e._e(),e._v(" "),"03"==e.temp.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("中度失能")]):e._e(),e._v(" "),"02"==e.temp.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("轻度失能")]):e._e(),e._v(" "),"01"==e.temp.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("基本正常")]):e._e()],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"计划流水号"}},[n("span",[e._v(e._s(e.temp.orderNo))])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"护理机构"}},[n("span",[e._v(e._s(e.temp.unitName))])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"机构类型"}},[n("el-tag",{attrs:{size:"medium"}},[e._v(e._s("01"==e.temp.type?"上门护理机构":"02"==e.temp.type?"养老机构":"03"==e.temp.type?"医疗机构":"04"==e.temp.type?"辅助器具机构":"-"))])],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"开始时间"}},[n("span",[e._v(e._s(e.temp.orderStartDate))])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"结束时间"}},[n("span",[e._v(e._s(e.temp.orderEndDate))])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"长户险基金支付比例"}},[n("span",[e._v(e._s(e.temp.rate))])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"每月最高限额"}},[n("span",[e._v(e._s(e.temp.maxAmount)+"元")])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"每月长户险基金最高限额"}},[n("span",[e._v(e._s(e.temp.unitMaxAmount)+"元")])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"每月最低服务次数"}},[n("span",[e._v(e._s(e.temp.minNum)+"次")])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"结算类型"}},[n("el-tag",{attrs:{size:"medium"}},[e._v(e._s("01"==e.temp.unitType?"上门护理机构":"02"==e.temp.unitType?"养老机构":"03"==e.temp.unitType?"医疗机构":"04"==e.temp.unitType?"辅助器具机构":"-"))])],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"服务次数"}},[n("span",[e._v(e._s(e.temp.realityNum)+"次")])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"服务合计费用"}},[n("span",[e._v(e._s(e.temp.accountTotal)+"元")])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"长期护理保险总费用"}},[n("span",[e._v(e._s(e.temp.sumAccount)+"元")])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"客户所需支付金额"}},[n("span",[e._v(e._s(e.temp.userAccount)+"元")])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"基金所需支付金额"}},[n("span",[e._v(e._s(e.temp.unitAccount)+"元")])])],1),e._v(" "),n("el-col",{attrs:{span:24}},[n("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.NursingLoading,expression:"NursingLoading"}],staticStyle:{width:"100%"},attrs:{border:"",height:"20vh",data:e.NursingData}},[n("el-table-column",{attrs:{label:"护理项",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.projectTitle))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"类别",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("el-tag",{attrs:{size:"medium"}},[e._v(e._s("01"==r.projectType?"生活照料":"02"==r.projectType?"精神慰藉":"03"==r.projectType?"安全巡视":"04"==r.projectType?"医疗护理":"05"==r.projectType?"康复护理":"06"==r.projectType?"辅助器具":"07"==r.projectType?"居家护理":"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"预订次数",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return t.$index,[n("span",[e._v(e._s(r.num?r.num:"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"实际次数",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return t.$index,[n("span",[e._v(e._s(r.serviceNum?r.serviceNum:"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"机构上门护理价",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.projectPrice1))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"预计汇总价格",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(e.expect(r.num,r.projectPrice1)))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"实际汇总价格",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(e.Summary(r.serviceNum,r.projectPrice1)))])]}}])})],1)],1)],1)],1),e._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{type:"primary",size:"mini"},on:{click:function(t){e.dialogFormVisible=!1}}},[e._v("\n 关 闭\n ")])],1)],1),e._v(" "),n("el-drawer",{attrs:{title:e.drawerTitle,visible:e.drawer,direction:e.direction,"before-close":e.handleClose,"close-on-press-escape":!1,"wrapper-closable":!1,size:"50%"},on:{"update:visible":function(t){e.drawer=t}}},[n("div",{staticStyle:{display:"flex",margin:"10px","justify-content":"end"}},[n("el-button",{attrs:{type:"success",size:"small"},on:{click:e.buttonUpload}},[e._v("点击上传")])],1),e._v(" "),n("el-table",{staticStyle:{width:"100%"},attrs:{border:"",data:e.tableData,height:"500"},on:{"selection-change":e.handleSelectionChange}},[n("el-table-column",{attrs:{type:"selection",width:"55",align:"center"}}),e._v(" "),n("el-table-column",{attrs:{label:"计划流水号",align:"center","show-overflow-tooltip":""},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.orderNo))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"护理员姓名",align:"center","show-overflow-tooltip":""},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.personName))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"打卡地点",align:"center","show-overflow-tooltip":""},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.address?r.address:"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"打卡日期",align:"center","show-overflow-tooltip":""},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.clockDate?r.clockDate:"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"上班时间",align:"center","show-overflow-tooltip":""},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.upCreateTime?r.upCreateTime:"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"下班时间",align:"center","show-overflow-tooltip":""},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.dnCreateTime?r.dnCreateTime:"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"上班经纬度",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.lng)+","+e._s(r.lat))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"下班经纬度",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.dnLng)+","+e._s(r.dnLat))])]}}])})],1)],1)],1)},__vue_staticRenderFns__$c=[];__vue_render__$c._withStripped=!0;const __vue_inject_styles__$c=function(e){e&&e("data-v-21ea6ac4_0",{source:".el-col-12[data-v-21ea6ac4] {\n padding: 0 20px 0 0;\n}\n.buttonList[data-v-21ea6ac4] {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n}\n.buttonList button[data-v-21ea6ac4] {\n margin: 5px;\n}\n\n/*# sourceMappingURL=index.vue.map */",map:{version:3,sources:["E:\\公司项目\\changhuxianlocal\\changhuxian-vue-components\\src\\pages\\SettlementManagement\\PreSettlement\\index.vue","index.vue"],names:[],mappings:"AAs2BA;EACA,mBAAA;ACr2BA;ADw2BA;EACA,aAAA;EACA,eAAA;EACA,uBAAA;ACr2BA;ADu2BA;EACA,WAAA;ACr2BA;;AAEA,oCAAoC",file:"index.vue",sourcesContent:['<template>\r\n <div class="app-container">\r\n <div class="filter-container">\r\n <el-form ref="listQuery" :inline="true" :model="listQuery" class="demo-form-inline">\r\n \x3c!-- <el-form-item label="机构名称" prop="unitName">\r\n <el-input size="small" clearable v-model="listQuery.unitName" placeholder="请输入机构名称"></el-input>\r\n </el-form-item> --\x3e\r\n <el-form-item label="机构名称" prop="name">\r\n <el-select v-model="listQuery.unitName" style="width: 100%" clearable filterable size="small"\r\n class="filter-item" placeholder="请选择机构名称">\r\n <el-option v-for="(item, index) in institutionList" :key="index" :label="item.label" :value="item.label" />\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item label="计划流水号" prop="orderNo">\r\n <el-input v-model="listQuery.orderNo" size="small" clearable placeholder="请输入计划流水号" />\r\n </el-form-item>\r\n \x3c!-- <el-form-item label="客户姓名" prop="familyName">\r\n <el-input size="small" clearable v-model="listQuery.familyName" placeholder="请输入客户姓名"></el-input>\r\n </el-form-item> --\x3e\r\n <el-form-item label="客户姓名" prop="familyName">\r\n <el-select v-model="listQuery.familyName" style="width: 100%" clearable filterable size="small"\r\n class="filter-item" placeholder="请选择客户">\r\n <el-option v-for="(item, index) in customerData" :key="index" :label="item.label" :value="item.label" />\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item label="身份证" prop="familyIdCode">\r\n <el-input v-model="listQuery.familyIdCode" size="small" clearable placeholder="请输入客户身份证号" />\r\n </el-form-item>\r\n <el-form-item label="失能等级">\r\n <el-select v-model="listQuery.familyLv" style="width: 100%" clearable filterable size="small"\r\n class="filter-item" placeholder="请选择失能等级">\r\n <el-option v-for="(item, index) in familyLvData" :key="index" :label="item.label" :value="item.value" />\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item label="日期">\r\n <el-date-picker v-model="dateRange" clearable size="small" value-format="yyyy-MM-dd" type="daterange"\r\n range-separator="至" start-placeholder="开始时间" end-placeholder="结束时间" @change="changeTime" />\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size="small" type="primary" @click="onSubmit">查询</el-button>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size="small" type="warning" @click="resetting(\'listQuery\')">重置</el-button>\r\n </el-form-item>\r\n \x3c!-- <el-form-item>\r\n <el-button size="small" type="success" @click="add">新增</el-button>\r\n </el-form-item> --\x3e\r\n </el-form>\r\n </div>\r\n <el-table border height="65vh" :data="list" style="width: 100%">\r\n <el-table-column :label="\'客户姓名\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.familyName }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'客户失能等级\'" align="center" width="150">\r\n <template slot-scope="{ row }">\r\n <el-tag v-if="row.familyLv == \'06\'" type="success">重度失能ⅠⅠⅠ级</el-tag>\r\n <el-tag v-if="row.familyLv == \'05\'" type="success">重度失能ⅠⅠ级</el-tag>\r\n <el-tag v-if="row.familyLv == \'04\'" type="success">重度失能Ⅰ级</el-tag>\r\n <el-tag v-if="row.familyLv == \'03\'" type="success">中度失能</el-tag>\r\n <el-tag v-if="row.familyLv == \'02\'" type="success">轻度失能</el-tag>\r\n <el-tag v-if="row.familyLv == \'01\'" type="success">基本正常</el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'计划流水号\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.orderNo }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'计划开始时间\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.orderStartDate }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'护理机构\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.unitName ? row.unitName : "-" }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'机构类型\'" align="center">\r\n <template slot-scope="{ row }">\r\n \x3c!-- <el-tag size="medium">{{ row.type == \'01\' ? \'入住机构护理\' : row.type == \'02\' ? \'机构上门护理\' : row.type ==\r\n \'03\' ? \'居家自主护理\' : \'-\' }}</el-tag> --\x3e\r\n <el-tag size="medium">{{\r\n row.type == "01"\r\n ? "上门护理机构"\r\n : row.type == "02"\r\n ? "养老机构"\r\n : row.type == "03"\r\n ? "医疗机构"\r\n : row.type == "04"\r\n ? "辅助器具机构"\r\n : "-"\r\n }}</el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'服务次数\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.realityNum }}次</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'服务时长\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.clockHour }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'服务合计费用\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.accountTotal }}元</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'长期护理保险总费用\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.sumAccount }}元</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'客户所需支付金额\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.userAccount }}元</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'基金所需支付金额\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.unitAccount }}元</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'操作\'" align="center" width="300" class-name="small-padding fixed-width">\r\n <template slot-scope="{ row, $index }">\r\n <div class="buttonList">\r\n \x3c!-- <el-button v-if="row.processStatus == \'3\'" size="mini" type="success" @click="settlement(row, $index)">\r\n 结算\r\n </el-button> --\x3e\r\n <el-button v-if="row.processStatus == \'1\' && row.notUploadedNum != 0" size="mini" type="primary"\r\n @click="upload(row, $index)">\r\n 明细上传\r\n </el-button>\r\n <el-button v-if="row.processStatus == \'1\' && row.uploadNum != 0" size="mini" type="danger"\r\n @click="rectification(row, $index)">\r\n 冲正\r\n </el-button>\r\n <el-button v-if="row.processStatus == \'1\'" size="mini" type="primary" @click="declare(row, $index)">\r\n 个人费用预申报\r\n </el-button>\r\n \x3c!-- <el-button v-if="row.processStatus == \'3\'" size="mini" type="primary"\r\n @click="chexiao(row, $index)">\r\n 个人申报撤销\r\n </el-button> --\x3e\r\n <el-button size="mini" type="primary" @click="edit(row, $index)">\r\n 详情\r\n </el-button>\r\n </div>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n\r\n <pagination v-show="total > 0" :total="total" :page.sync="listQuery.pageNo" :limit.sync="listQuery.size"\r\n @pagination="getList" />\r\n <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :title="textMap[dialogStatus]"\r\n :visible.sync="dialogFormVisible" width="40%">\r\n <el-form ref="dataForm" :rules="rules" :model="temp" label-position="right" label-width="170px">\r\n <el-row :gutter="20">\r\n <el-col :span="12">\r\n <el-form-item style="margin-bottom: 0px" label="客户姓名">\r\n <span>{{ temp.familyName }}</span>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item style="margin-bottom: 0px" label="客户失能等级">\r\n <el-tag v-if="temp.familyLv == \'06\'" type="success">重度失能ⅠⅠⅠ级</el-tag>\r\n <el-tag v-if="temp.familyLv == \'05\'" type="success">重度失能ⅠⅠ级</el-tag>\r\n <el-tag v-if="temp.familyLv == \'04\'" type="success">重度失能Ⅰ级</el-tag>\r\n <el-tag v-if="temp.familyLv == \'03\'" type="success">中度失能</el-tag>\r\n <el-tag v-if="temp.familyLv == \'02\'" type="success">轻度失能</el-tag>\r\n <el-tag v-if="temp.familyLv == \'01\'" type="success">基本正常</el-tag>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item style="margin-bottom: 0px" label="计划流水号">\r\n <span>{{ temp.orderNo }}</span>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item style="margin-bottom: 0px" label="护理机构">\r\n <span>{{ temp.unitName }}</span>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item style="margin-bottom: 0px" label="机构类型">\r\n \x3c!-- <span>{{ temp.type == \'01\' ? \'入住机构护理\' : temp.type == \'02\' ? \'机构上门护理\' : temp.type == \'03\' ?\r\n \'居家自主护理\'\r\n : \'-\' }}</span> --\x3e\r\n <el-tag size="medium">{{\r\n temp.type == "01"\r\n ? "上门护理机构"\r\n : temp.type == "02"\r\n ? "养老机构"\r\n : temp.type == "03"\r\n ? "医疗机构"\r\n : temp.type == "04"\r\n ? "辅助器具机构"\r\n : "-"\r\n }}</el-tag>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item style="margin-bottom: 0px" label="开始时间">\r\n <span>{{ temp.orderStartDate }}</span>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item style="margin-bottom: 0px" label="结束时间">\r\n <span>{{ temp.orderEndDate }}</span>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item style="margin-bottom: 0px" label="长户险基金支付比例">\r\n <span>{{ temp.rate }}</span>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item style="margin-bottom: 0px" label="每月最高限额">\r\n <span>{{ temp.maxAmount }}元</span>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item style="margin-bottom: 0px" label="每月长户险基金最高限额">\r\n <span>{{ temp.unitMaxAmount }}元</span>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item style="margin-bottom: 0px" label="每月最低服务次数">\r\n <span>{{ temp.minNum }}次</span>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item style="margin-bottom: 0px" label="结算类型">\r\n \x3c!-- <span>{{ temp.unitType == \'1\' ? \'养老机构\' : temp.unitType == \'2\' ? \'护理机构\' : \'-\' }}</span> --\x3e\r\n <el-tag size="medium">{{\r\n temp.unitType == "01"\r\n ? "上门护理机构"\r\n : temp.unitType == "02"\r\n ? "养老机构"\r\n : temp.unitType == "03"\r\n ? "医疗机构"\r\n : temp.unitType == "04"\r\n ? "辅助器具机构"\r\n : "-"\r\n }}</el-tag>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item style="margin-bottom: 0px" label="服务次数">\r\n <span>{{ temp.realityNum }}次</span>\r\n </el-form-item>\r\n </el-col>\r\n\r\n <el-col :span="12">\r\n <el-form-item style="margin-bottom: 0px" label="服务合计费用">\r\n <span>{{ temp.accountTotal }}元</span>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item style="margin-bottom: 0px" label="长期护理保险总费用">\r\n <span>{{ temp.sumAccount }}元</span>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item style="margin-bottom: 0px" label="客户所需支付金额">\r\n <span>{{ temp.userAccount }}元</span>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item style="margin-bottom: 0px" label="基金所需支付金额">\r\n <span>{{ temp.unitAccount }}元</span>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="24">\r\n <el-table v-loading="NursingLoading" border height="20vh" :data="NursingData" style="width: 100%">\r\n <el-table-column :label="\'护理项\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.projectTitle }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'类别\'" align="center">\r\n <template slot-scope="{ row }">\r\n <el-tag size="medium">{{\r\n row.projectType == "01"\r\n ? "生活照料"\r\n : row.projectType == "02"\r\n ? "精神慰藉"\r\n : row.projectType == "03"\r\n ? "安全巡视"\r\n : row.projectType == "04"\r\n ? "医疗护理"\r\n : row.projectType == "05"\r\n ? "康复护理"\r\n : row.projectType == "06"\r\n ? "辅助器具"\r\n : row.projectType == "07"\r\n ? "居家护理"\r\n : "-"\r\n }}</el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'预订次数\'" align="center">\r\n <template slot-scope="{ row, $index }">\r\n <span>{{ row.num ? row.num : "-" }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'实际次数\'" align="center">\r\n <template slot-scope="{ row, $index }">\r\n <span>{{ row.serviceNum ? row.serviceNum : "-" }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'机构上门护理价\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.projectPrice1 }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'预计汇总价格\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ expect(row.num, row.projectPrice1) }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'实际汇总价格\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ Summary(row.serviceNum, row.projectPrice1) }}</span>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <div slot="footer" class="dialog-footer">\r\n <el-button type="primary" size="mini" @click="dialogFormVisible = false">\r\n 关 闭\r\n </el-button>\r\n \x3c!-- <el-button size="mini" type="primary" @click="dialogStatus === \'create\' ? createData() : updateData()">\r\n 确 认\r\n </el-button> --\x3e\r\n </div>\r\n </el-dialog>\r\n <el-drawer :title="drawerTitle" :visible.sync="drawer" :direction="direction" :before-close="handleClose"\r\n :close-on-press-escape="false" :wrapper-closable="false" size="50%">\r\n <div style="display: flex; margin: 10px; justify-content: end">\r\n <el-button type="success" size="small" @click="buttonUpload">点击上传</el-button>\r\n </div>\r\n <el-table border :data="tableData" style="width: 100%" height="500" @selection-change="handleSelectionChange">\r\n <el-table-column type="selection" width="55" align="center" />\r\n <el-table-column :label="\'计划流水号\'" align="center" show-overflow-tooltip>\r\n <template slot-scope="{ row }">\r\n <span>{{ row.orderNo }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'护理员姓名\'" align="center" show-overflow-tooltip>\r\n <template slot-scope="{ row }">\r\n <span>{{ row.personName }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'打卡地点\'" align="center" show-overflow-tooltip>\r\n <template slot-scope="{ row }">\r\n <span>{{ row.address ? row.address : "-" }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'打卡日期\'" align="center" show-overflow-tooltip>\r\n <template slot-scope="{ row }">\r\n <span>{{ row.clockDate ? row.clockDate : "-" }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'上班时间\'" align="center" show-overflow-tooltip>\r\n <template slot-scope="{ row }">\r\n <span>{{ row.upCreateTime ? row.upCreateTime : "-" }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'下班时间\'" align="center" show-overflow-tooltip>\r\n <template slot-scope="{ row }">\r\n <span>{{ row.dnCreateTime ? row.dnCreateTime : "-" }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'上班经纬度\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.lng }},{{ row.lat }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'下班经纬度\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.dnLng }},{{ row.dnLat }}</span>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n </el-drawer>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport {\r\n WxSettlementAdvancePage,\r\n WxSettlementSave,\r\n WxClockPage,\r\n WxClockNeedCZ,\r\n WxSettlementSubmitOneClock,\r\n WxSettlementCzOne,\r\n WxSettlementGetProjectRealityNum,\r\n submitnurscaretaskinfoThird,\r\n revokepsnsetlThird,\r\n predeclareThird,\r\n clockList,\r\n correctTransactionThird\r\n} from \'@/api/settlement\'\r\nimport { SysUnitAll, WxUserFamilyAll } from \'@/api/institution\'\r\nimport Pagination from \'@/components/Pagination\' // secondary package based on el-pagination\r\nexport default {\r\n name: \'Personnel\',\r\n components: { Pagination },\r\n filters: {},\r\n data() {\r\n return {\r\n customerData: [],\r\n institutionList: [],\r\n // 抽屉打卡数据\r\n tableData: [],\r\n // 抽屉方向\r\n direction: \'rtl\',\r\n // 抽屉开关\r\n drawer: false,\r\n // 抽屉标题\r\n drawerTitle: \'\',\r\n // 订单号\r\n orderNo: null,\r\n // 时间\r\n time: null,\r\n // 时间\r\n dateRange: null,\r\n // 失能等级\r\n familyLvData: [\r\n { label: \'基本正常\', value: \'01\' },\r\n { label: \'轻度失能\', value: \'02\' },\r\n { label: \'中度失能\', value: \'03\' },\r\n { label: \'重度失能Ⅰ级\', value: \'04\' },\r\n { label: \'重度失能ⅠⅠ级\', value: \'05\' },\r\n { label: \'重度失能ⅠⅠⅠ级\', value: \'06\' }\r\n ],\r\n NursingLoading: true,\r\n NursingData: [],\r\n dialogStatus: \'\',\r\n textMap: { update: \'详情\', create: \'创建\' },\r\n tableKey: 0,\r\n list: null,\r\n total: 0,\r\n listLoading: true,\r\n listQuery: {\r\n pageNo: 1,\r\n size: 20\r\n },\r\n dialogFormVisible: false,\r\n dialogPvVisible: false,\r\n rules: {\r\n status: [\r\n { required: true, message: \'请选择审批状态\', trigger: \'change\' }\r\n ],\r\n name: [{ required: true, message: \'请输入机构名称\', trigger: \'blur\' }],\r\n city: [{ required: true, message: \'请输入行政区划\', trigger: \'blur\' }],\r\n county: [\r\n { required: true, message: \'请输入所属辖区\', trigger: \'blur\' }\r\n ],\r\n address: [\r\n { required: true, message: \'请输入护理机构地址\', trigger: \'blur\' }\r\n ],\r\n linkMan: [{ required: true, message: \'请输入联系人\', trigger: \'blur\' }],\r\n linkPhoneNumber: [\r\n { required: true, message: \'请输入联系号码\', trigger: \'blur\' }\r\n ]\r\n },\r\n temp: {},\r\n downloadLoading: false,\r\n idList: []\r\n }\r\n },\r\n computed: {\r\n Summary() {\r\n return function (num, projectPrice1) {\r\n return (num * projectPrice1).toFixed(2)\r\n }\r\n },\r\n expect() {\r\n return function (num, projectPrice1) {\r\n return (num * projectPrice1).toFixed(2)\r\n }\r\n }\r\n },\r\n created() {\r\n this.getList()\r\n },\r\n methods: {\r\n changeTime(value) {\r\n if (!value || !Array.isArray(value) || value.length === 0) {\r\n this.listQuery.orderStartDate = \'\'\r\n this.listQuery.orderEndDate = \'\'\r\n return\r\n }\r\n this.listQuery.orderStartDate = value[0]\r\n this.listQuery.orderEndDate = value[1]\r\n // [this.listQuery.orderStartDate, this.listQuery.orderEndDate] = value;\r\n },\r\n handleClose() {\r\n this.drawer = false\r\n },\r\n handleSelectionChange(val) {\r\n this.idList = val.map((item) => {\r\n return item.id\r\n })\r\n },\r\n buttonUpload() {\r\n if (this.idList.length == 0) {\r\n return this.$notify({\r\n title: \'提示\',\r\n message: \'请选择需要上传的打卡记录\',\r\n type: \'warning\',\r\n duration: 2000\r\n })\r\n }\r\n if (this.drawerTitle == \'明细上传\') {\r\n WxSettlementSubmitOneClock({ idList: this.idList }).then((res) => {\r\n if (res.status == 1) {\r\n this.$notify({\r\n title: \'提示\',\r\n message: res.info,\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n this.getList()\r\n WxClockPage({ orderNo: this.orderNo, pageNo: 1, size: 31 }).then(\r\n (res) => {\r\n this.tableData = res.result\r\n }\r\n )\r\n } else {\r\n this.$notify({\r\n title: \'提示\',\r\n message: res.info,\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n }\r\n })\r\n } else {\r\n WxSettlementCzOne({ idList: this.idList }).then((res) => {\r\n if (res.status == 1) {\r\n this.$notify({\r\n title: \'提示\',\r\n message: res.info,\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n this.getList()\r\n WxClockNeedCZ({ orderNo: this.orderNo, pageNo: 1, size: 31 }).then(\r\n (res) => {\r\n this.tableData = res.result\r\n }\r\n )\r\n } else {\r\n this.$notify({\r\n title: \'提示\',\r\n message: res.info,\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n }\r\n })\r\n }\r\n },\r\n // 明细上传\r\n upload(row) {\r\n this.drawerTitle = \'明细上传\'\r\n this.drawer = true\r\n this.idList = []\r\n this.orderNo = row.orderNo\r\n WxClockPage({ orderNo: this.orderNo, pageNo: 1, size: 31 }).then(\r\n (res) => {\r\n this.tableData = res.result\r\n }\r\n )\r\n // submitnurscaretaskinfoThird({ orderNo: row.orderNo }).then((res) => {\r\n // if (res.status == 1) {\r\n // this.getList()\r\n // clockList({ orderNo: row.orderNo }).then((res) => {\r\n // if (res.result) {\r\n // this.$notify({\r\n // title: \'提示\',\r\n // message: \'该客户暂无护理明细,是否进行零结算,请谨慎操作!\',\r\n // type: \'success\',\r\n // duration: 5000\r\n // })\r\n // }\r\n // })\r\n // } else {\r\n // this.$notify({\r\n // title: \'提示\',\r\n // message: res.info,\r\n // type: \'error\',\r\n // duration: 2000\r\n // })\r\n // }\r\n // })\r\n },\r\n // 明细冲正\r\n rectification(row) {\r\n this.drawerTitle = \'明细冲正\'\r\n this.drawer = true\r\n this.idList = []\r\n this.orderNo = row.orderNo\r\n WxClockNeedCZ({ orderNo: this.orderNo, pageNo: 1, size: 31 }).then(\r\n (res) => {\r\n this.tableData = res.result\r\n }\r\n )\r\n // correctTransactionThird({ orderNo: row.orderNo }).then((res) => {\r\n // if (res.status == 1) {\r\n // this.getList();\r\n // this.$notify({\r\n // title: "提示",\r\n // message: "冲正成功",\r\n // type: "success",\r\n // duration: 2000,\r\n // });\r\n // } else {\r\n // this.$notify({\r\n // title: "提示",\r\n // message: res.info,\r\n // type: "error",\r\n // duration: 2000,\r\n // });\r\n // }\r\n // });\r\n },\r\n // 申报\r\n async declare(row) {\r\n // let uploadNum = await WxClockPage({ orderNo: row.orderNo, pageNo: 1, size: 31 });\r\n // let notUploadedNum = await WxClockNeedCZ({ orderNo: row.orderNo, pageNo: 1, size: 31 });\r\n this.$confirm(\r\n `已上传${row.uploadNum}条,未上传${row.notUploadedNum}条 请确认后提交`,\r\n \'提示\',\r\n {\r\n confirmButtonText: \'确定\',\r\n cancelButtonText: \'取消\',\r\n type: \'warning\'\r\n }\r\n )\r\n .then(() => {\r\n predeclareThird(row).then((res) => {\r\n if (res.status == 1) {\r\n this.getList()\r\n this.$notify({\r\n title: \'提示\',\r\n message: \'申报成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n } else {\r\n this.$notify({\r\n title: \'提示\',\r\n message: res.info,\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n }\r\n })\r\n })\r\n .catch(() => {\r\n this.$message({\r\n type: \'info\',\r\n message: \'已取消\'\r\n })\r\n })\r\n },\r\n // 撤销\r\n chexiao(row) {\r\n revokepsnsetlThird({ trtSetlId: row.trtSetlId }).then((res) => {\r\n if (res.status == 1) {\r\n this.getList()\r\n this.$notify({\r\n title: \'提示\',\r\n message: \'撤销成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n } else {\r\n this.$notify({\r\n title: \'提示\',\r\n message: res.info,\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n }\r\n })\r\n },\r\n settlement(row) {\r\n this.$confirm(\'此操作将结算该条记录, 是否继续?\', \'提示\', {\r\n confirmButtonText: \'确定\',\r\n cancelButtonText: \'取消\',\r\n type: \'warning\'\r\n })\r\n .then(() => {\r\n WxSettlementSave(row).then((res) => {\r\n if (res.status == 1) {\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'结算成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'结算失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n })\r\n .catch(() => {\r\n this.$message({\r\n type: \'info\',\r\n message: \'已取消结算\'\r\n })\r\n })\r\n },\r\n getList() {\r\n this.listLoading = true\r\n WxSettlementAdvancePage(this.listQuery)\r\n .then((response) => {\r\n this.list = response.result.data\r\n this.total = response.result.count\r\n setTimeout(() => {\r\n this.listLoading = false\r\n }, 1.5 * 1000)\r\n })\r\n .catch((res) => {\r\n setTimeout(() => {\r\n this.listLoading = false\r\n }, 1.5 * 1000)\r\n })\r\n WxUserFamilyAll().then((res) => {\r\n this.customerData = res.result.map((item) => {\r\n return { label: item.name, value: item.name }\r\n })\r\n })\r\n SysUnitAll().then((res) => {\r\n this.institutionList = res.result.map((item) => {\r\n return { label: item.name, value: item.id }\r\n })\r\n })\r\n },\r\n handleModifyStatus(row, status) {\r\n this.$message({\r\n message: \'操作成功\',\r\n type: \'success\'\r\n })\r\n row.status = status\r\n },\r\n resetting(formName) {\r\n this.$nextTick(() => {\r\n this.$refs[formName].resetFields()\r\n this.getList()\r\n })\r\n },\r\n add() {\r\n this.dialogStatus = \'create\'\r\n this.dialogFormVisible = true\r\n this.temp = {}\r\n },\r\n onSubmit() {\r\n this.getList()\r\n },\r\n createData() {\r\n this.$refs[\'dataForm\'].validate((valid) => {\r\n if (valid) {\r\n SysUnitSave(this.temp).then((res) => {\r\n if (res.status == 1) {\r\n this.dialogFormVisible = false\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'新增成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'新增失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n }\r\n })\r\n },\r\n updateData() {\r\n this.$refs[\'dataForm\'].validate((valid) => {\r\n if (valid) {\r\n WxClockApplyApprove(this.temp).then((res) => {\r\n if (res.status == 1) {\r\n this.dialogFormVisible = false\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'更新成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'更新失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n }\r\n })\r\n },\r\n edit(row) {\r\n this.temp = row\r\n this.dialogStatus = \'update\'\r\n this.dialogFormVisible = true\r\n this.NursingLoading = true\r\n console.log(this.temp)\r\n if (\r\n this.temp.projectRealityList &&\r\n this.temp.projectRealityList.length > 0\r\n ) {\r\n this.NursingData = this.temp.projectRealityList\r\n } else {\r\n this.NursingData = []\r\n }\r\n setTimeout(() => {\r\n this.NursingLoading = false\r\n }, 1.5 * 1000)\r\n },\r\n handleDelete(row, index) {\r\n WxClockApplyDel({ id: row.id }).then((res) => {\r\n if (res.status == 1) {\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'删除成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'删除失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n // this.list.splice(index, 1)\r\n }\r\n }\r\n}\r\n<\/script>\r\n<style lang="scss" scoped>\r\n.el-col-12 {\r\n padding: 0 20px 0 0;\r\n}\r\n\r\n.buttonList {\r\n display: flex;\r\n flex-wrap: wrap;\r\n justify-content: center;\r\n\r\n button {\r\n margin: 5px;\r\n }\r\n}\r\n</style>\r\n',".el-col-12 {\n padding: 0 20px 0 0;\n}\n\n.buttonList {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n}\n.buttonList button {\n margin: 5px;\n}\n\n/*# sourceMappingURL=index.vue.map */"]},media:void 0})},__vue_scope_id__$c="data-v-21ea6ac4",__vue_module_identifier__$c=void 0,__vue_is_functional_template__$c=!1,__vue_component__$c=normalizeComponent({render:__vue_render__$c,staticRenderFns:__vue_staticRenderFns__$c},__vue_inject_styles__$c,__vue_script__$c,__vue_scope_id__$c,__vue_is_functional_template__$c,__vue_module_identifier__$c,!1,createInjector,void 0,void 0);var script$b={name:"Personnel",components:{Pagination:Pagination},filters:{},data:()=>({balanceData:[],startDate:[],loadExp:!1,dialogVisibleExp:!1,dialogStatus:"",textMap:{update:"结算信息",create:"对账及申报"},tableKey:0,list:null,total:0,listLoading:!0,listQuery:{pageNo:1,size:20},dialogFormVisible:!1,dialogPvVisible:!1,deltailShow:!1,rules:{status:[{required:!0,message:"请选择审批状态",trigger:"change"}],name:[{required:!0,message:"请输入机构名称",trigger:"blur"}],city:[{required:!0,message:"请输入行政区划",trigger:"blur"}],county:[{required:!0,message:"请输入所属辖区",trigger:"blur"}],address:[{required:!0,message:"请输入护理机构地址",trigger:"blur"}],linkMan:[{required:!0,message:"请输入联系人",trigger:"blur"}],linkPhoneNumber:[{required:!0,message:"请输入联系号码",trigger:"blur"}]},temp:{},downloadLoading:!1,descriptionData:[]}),created(){this.getList()},methods:{details(e){StatisticsSetlDeltais({senderTrnsSn:e.senderTrnsSn}).then(e=>{this.descriptionData=e.result.map((e,t)=>(e.sort=t+1,e)),this.deltailShow=!0})},detailsclos(){this.deltailShow=!1,this.descriptionData=[]},guanbi(){this.dialogFormVisible=!1,this.descriptionData=[]},pickerChange(e){billCheck({setlMon:e}).then(e=>{this.descriptionData=e.result.map((e,t)=>(e.sort=t+1,e))})},ReconciliationExcel(){sysTrtSetlInfo({setlMon:this.temp.unitSetlMon}).then(e=>{const t=new Blob([e]);if(t.size>0){const e=document.createElement("a");e.style.display="none",e.href=URL.createObjectURL(t),e.download=`对账信息导出/${this.$moment().format("YYYY-MM-DD")}.xlsx`,document.body.appendChild(e),e.click(),URL.revokeObjectURL(e.href),document.body.removeChild(e)}})},tableExcel(e){sysTrtSetlInfo({senderTrnsSn:e.senderTrnsSn}).then(e=>{const t=new Blob([e]);if(t.size>0){const e=document.createElement("a");e.style.display="none",e.href=URL.createObjectURL(t),e.download=`对账信息导出/${this.$moment().format("YYYY-MM-DD")}.xlsx`,document.body.appendChild(e),e.click(),URL.revokeObjectURL(e.href),document.body.removeChild(e)}})},expExcel(e){wxSettlementInfo({id:e.id,orderNo:e.orderNo}).then(e=>{const t=new Blob([e]);if(t.size>0){const e=document.createElement("a");e.style.display="none",e.href=URL.createObjectURL(t),e.download=`结算信息导出/${this.$moment().format("YYYY-MM-DD")}.xlsx`,document.body.appendChild(e),e.click(),URL.revokeObjectURL(e.href),document.body.removeChild(e)}})},expExcelForm(){try{this.loadExp=!0;const e={yearMonth:this.startDate};wxSettlementStatisticInfo(e).then(e=>{const t=new Blob([e]);if(t.size>0){const e=document.createElement("a");e.style.display="none",e.href=URL.createObjectURL(t),e.download=`结算统计导出/${this.$moment().format("YYYY-MM-DD")}.xlsx`,document.body.appendChild(e),e.click(),URL.revokeObjectURL(e.href),document.body.removeChild(e)}this.handleClose(),this.loadExp=!1}).catch(()=>{this.loadExp=!1})}catch(e){this.loadExp=!1,console.log(e)}},handleClose(){this.dialogVisibleExp=!1,this.startDate=[]},revoke(e){revokepsnsetlThird({trtSetlId:e.trtSetlId}).then(e=>{1==e.status?(this.getList(),this.$notify({title:"提示",message:"撤销成功",type:"success",duration:2e3})):this.$notify({title:"提示",message:e.info,type:"error",duration:2e3})})},getList(){this.listLoading=!0,StatisticsSetl(this.listQuery).then(e=>{this.list=e.result.data,this.total=e.result.count,setTimeout(()=>{this.listLoading=!1},1500)})},handleModifyStatus(e,t){this.$message({message:"操作成功",type:"success"}),e.status=t},resetting(e){this.$nextTick(()=>{this.$refs[e].resetFields(),this.getList()})},add(){this.dialogStatus="create",this.dialogFormVisible=!0,this.descriptionData=[],this.temp={}},onSubmit(){this.getList()},createData(){this.$refs.dataForm.validate(e=>{e&&this.$confirm("此操作将提交对账,对账之后无法进行撤回,是否提交?","提示",{confirmButtonText:"提交",cancelButtonText:"取消",type:"warning"}).then(()=>{savepsnsetlThird(this.temp).then(e=>{if(1==e.status)return this.dialogFormVisible=!1,this.getList(),void this.$notify({title:"提示",message:e.info,type:"success",duration:2e3});this.$notify({title:"提示",message:e.info,type:"error",duration:2e3})})}).catch(()=>{this.$message({type:"info",message:"已取消对账提交"})})})},updateData(){this.$refs.dataForm.validate(e=>{e&&WxClockApplyApprove(this.temp).then(e=>{if(1==e.status)return this.dialogFormVisible=!1,this.getList(),void this.$notify({title:e.info,message:"更新成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"更新失败",type:"error",duration:2e3})})})},edit(e){queryOrgSetlEvtListThird({statisticsSetlId:e.id}).then(e=>{this.balanceData=e.result,this.dialogStatus="update",this.dialogFormVisible=!0})},handleDelete(e,t){WxClockApplyDel({id:e.id}).then(e=>{if(1==e.status)return this.getList(),void this.$notify({title:e.info,message:"删除成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"删除失败",type:"error",duration:2e3})})}}};const __vue_script__$b=script$b;var __vue_render__$b=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"app-container"},[n("div",{staticClass:"filter-container"},[n("el-form",{ref:"listQuery",staticClass:"demo-form-inline",attrs:{inline:!0,model:e.listQuery}},[n("el-form-item",{attrs:{label:"月份",prop:"senderTrnsSn"}},[n("el-date-picker",{attrs:{size:"small","value-format":"yyyy-MM",type:"month",placeholder:"选择月"},model:{value:e.listQuery.unitSetlMon,callback:function(t){e.$set(e.listQuery,"unitSetlMon",t)},expression:"listQuery.unitSetlMon"}})],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"primary"},on:{click:e.onSubmit}},[e._v("查询")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"warning"},on:{click:function(t){return e.resetting("listQuery")}}},[e._v("重置")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"success"},on:{click:e.add}},[e._v("对账及申报")])],1)],1)],1),e._v(" "),n("el-table",{staticStyle:{width:"100%"},attrs:{border:"",height:"65vh",data:e.list}},[n("el-table-column",{attrs:{label:"发送方交易流水号",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.senderTrnsSn))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"对账时间",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.setlMon))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"机构结算月份",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.unitSetlMon?r.unitSetlMon:"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"长期护理保险基金支出比例",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.ltciFundPayProp?r.ltciFundPayProp:"-")+"%")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"长期护理保险基金支出",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.ltciFundPay?r.ltciFundPay:"-")+"元")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"人次合计",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.psntimeSum?r.psntimeSum:"-")+"次")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"长期护理保险总费用",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.ltciSumfee?r.ltciSumfee:"-")+"元")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"自付金额",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.selfpayAmt?r.selfpayAmt:"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"创建时间",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.createTime?r.createTime:"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"操作",align:"center",width:"250","class-name":"small-padding fixed-width"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row,l=t.$index;return[n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(t){return e.edit(r,l)}}},[e._v("\n 最新事件记录\n ")]),e._v(" "),n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(t){return e.details(r,l)}}},[e._v("\n 详情\n ")]),e._v(" "),n("el-button",{attrs:{size:"mini",type:"success"},on:{click:function(t){return e.tableExcel(r)}}},[e._v("\n 导出\n ")])]}}])})],1),e._v(" "),n("pagination",{directives:[{name:"show",rawName:"v-show",value:e.total>0,expression:"total > 0"}],attrs:{total:e.total,page:e.listQuery.pageNo,limit:e.listQuery.size},on:{"update:page":function(t){return e.$set(e.listQuery,"pageNo",t)},"update:limit":function(t){return e.$set(e.listQuery,"size",t)},pagination:e.getList}}),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:e.textMap[e.dialogStatus],visible:e.dialogFormVisible,width:"60%"},on:{"update:visible":function(t){e.dialogFormVisible=t}}},[n("el-form",{ref:"dataForm",attrs:{rules:e.rules,model:e.temp,"label-position":"right","label-width":"50px"}},[n("el-row",{attrs:{gutter:20}},["create"===e.dialogStatus?n("el-col",{attrs:{span:6}},["create"===e.dialogStatus?n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"月份"}},[n("el-date-picker",{staticStyle:{width:"100%"},attrs:{size:"mini",type:"month","value-format":"yyyy-MM",placeholder:"选择月"},on:{change:e.pickerChange},model:{value:e.temp.unitSetlMon,callback:function(t){e.$set(e.temp,"unitSetlMon",t)},expression:"temp.unitSetlMon"}})],1):e._e()],1):e._e(),e._v(" "),"create"===e.dialogStatus&&e.temp.unitSetlMon?n("el-col",{attrs:{span:6}},[n("el-button",{attrs:{size:"mini",type:"success"},on:{click:e.ReconciliationExcel}},[e._v("\n 导出\n ")])],1):e._e(),e._v(" "),"create"===e.dialogStatus?n("el-col",{attrs:{span:24}},[n("el-table",{staticStyle:{width:"100%"},attrs:{border:"",data:e.descriptionData,height:"400"}},[n("el-table-column",{attrs:{label:"序号",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.sort))])]}}],null,!1,3981901502)}),e._v(" "),n("el-table-column",{attrs:{label:"客户姓名",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.familyName))])]}}],null,!1,491221173)}),e._v(" "),n("el-table-column",{attrs:{label:"客户失能等级",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.familyLv))])]}}],null,!1,4149936520)}),e._v(" "),n("el-table-column",{attrs:{label:"计划开始时间",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.startDate?r.startDate:"-"))])]}}],null,!1,1300654504)}),e._v(" "),n("el-table-column",{attrs:{label:"自付金额",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.selfpayAmt?r.selfpayAmt:"0")+"元")])]}}],null,!1,3519129661)}),e._v(" "),n("el-table-column",{attrs:{label:"长期护理保险基金支出",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.ltciFundPay?r.ltciFundPay:"0")+"元")])]}}],null,!1,3463254429)}),e._v(" "),n("el-table-column",{attrs:{label:"基金支付总额",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.fundPaySumamt?r.fundPaySumamt:"0")+"元")])]}}],null,!1,1315519069)}),e._v(" "),n("el-table-column",{attrs:{label:"长期护理保险总费用",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.ltciSumfee?r.ltciSumfee:"0")+"元")])]}}],null,!1,1148910749)}),e._v(" "),n("el-table-column",{attrs:{label:"比例",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.ltciFundPayProp?r.ltciFundPayProp:"-"))])]}}],null,!1,472077096)})],1)],1):e._e(),e._v(" "),"create"!=e.dialogStatus?n("el-col",{attrs:{span:24}},[n("el-table",{staticStyle:{width:"100%"},attrs:{border:"",data:e.balanceData}},[n("el-table-column",{attrs:{label:"发送方交易流水号",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.sender_trns_sn))])]}}],null,!1,535787241)}),e._v(" "),n("el-table-column",{attrs:{label:"结算批次号",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.setl_bchno))])]}}],null,!1,3349074397)}),e._v(" "),n("el-table-column",{attrs:{label:"清算人次",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.clr_psntime?r.clr_psntime:"-"))])]}}],null,!1,2691115240)}),e._v(" "),n("el-table-column",{attrs:{label:"基金申报总额",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.fund_appy_sum?r.fund_appy_sum:"-")+"元")])]}}],null,!1,2564335488)}),e._v(" "),n("el-table-column",{attrs:{label:"医疗费总额",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.medfee_sumamt?r.medfee_sumamt:"-")+"次")])]}}],null,!1,3899027298)}),e._v(" "),n("el-table-column",{attrs:{label:"医保认可费用总额",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.hi_agre_sumfee?r.hi_agre_sumfee:"-")+"元")])]}}],null,!1,2689516416)}),e._v(" "),n("el-table-column",{attrs:{label:"创建时间",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.crte_time?r.crte_time:"-"))])]}}],null,!1,154628584)})],1)],1):e._e()],1)],1),e._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{type:"primary",size:"mini"},on:{click:e.guanbi}},[e._v("\n 关 闭\n ")]),e._v(" "),"create"===e.dialogStatus?n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(t){"create"===e.dialogStatus?e.createData():e.updateData()}}},[e._v("\n "+e._s("create"===e.dialogStatus?"确认对账数据":"确 认")+"\n ")]):e._e()],1)],1),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"详情",visible:e.deltailShow,width:"60%"},on:{"update:visible":function(t){e.deltailShow=t}}},[n("el-form",{attrs:{model:e.temp,"label-position":"right","label-width":"50px"}},[n("el-row",{attrs:{gutter:20}},[n("el-col",{attrs:{span:24}},[n("el-table",{staticStyle:{width:"100%"},attrs:{border:"",data:e.descriptionData,height:"400"}},[n("el-table-column",{attrs:{label:"序号",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.sort))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"客户姓名",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.familyName))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"客户失能等级",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.familyLv))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"计划开始时间",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.startDate?r.startDate:"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"自付金额",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.selfpayAmt?r.selfpayAmt:"0")+"元")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"长期护理保险基金支出",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.ltciFundPay?r.ltciFundPay:"0")+"元")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"基金支付总额",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.fundPaySumamt?r.fundPaySumamt:"0")+"元")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"长期护理保险总费用",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.ltciSumfee?r.ltciSumfee:"0")+"元")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"比例",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.ltciFundPayProp?r.ltciFundPayProp:"-"))])]}}])})],1)],1)],1)],1),e._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{type:"primary",size:"mini"},on:{click:e.detailsclos}},[e._v("\n 关 闭\n ")])],1)],1)],1)},__vue_staticRenderFns__$b=[];__vue_render__$b._withStripped=!0;const __vue_inject_styles__$b=function(e){e&&e("data-v-21366290_0",{source:".el-col-12[data-v-21366290] {\n padding: 0 20px 0 0;\n}\n\n/*# sourceMappingURL=index.vue.map */",map:{version:3,sources:["E:\\公司项目\\changhuxianlocal\\changhuxian-vue-components\\src\\pages\\SettlementManagement\\reconciliation\\index.vue","index.vue"],names:[],mappings:"AA8qBA;EACA,mBAAA;AC7qBA;;AAEA,oCAAoC",file:"index.vue",sourcesContent:['<template>\r\n <div class="app-container">\r\n <div class="filter-container">\r\n <el-form\r\n ref="listQuery"\r\n :inline="true"\r\n :model="listQuery"\r\n class="demo-form-inline"\r\n >\r\n <el-form-item label="月份" prop="senderTrnsSn">\r\n <el-date-picker\r\n v-model="listQuery.unitSetlMon"\r\n size="small"\r\n value-format="yyyy-MM"\r\n type="month"\r\n placeholder="选择月"\r\n />\r\n \x3c!-- <el-input size="small" v-model="listQuery.senderTrnsSn" placeholder="请输入交易流水号"></el-input> --\x3e\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button\r\n size="small"\r\n type="primary"\r\n @click="onSubmit"\r\n >查询</el-button>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button\r\n size="small"\r\n type="warning"\r\n @click="resetting(\'listQuery\')"\r\n >重置</el-button>\r\n </el-form-item>\r\n \x3c!-- <el-form-item>\r\n <el-button size="small" type="primary" @click="dialogVisibleExp = true">导出</el-button>\r\n </el-form-item> --\x3e\r\n <el-form-item>\r\n <el-button\r\n size="small"\r\n type="success"\r\n @click="add"\r\n >对账及申报</el-button>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n <el-table border height="65vh" :data="list" style="width: 100%">\r\n <el-table-column :label="\'发送方交易流水号\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.senderTrnsSn }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'对账时间\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.setlMon }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'机构结算月份\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.unitSetlMon ? row.unitSetlMon : "-" }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'长期护理保险基金支出比例\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.ltciFundPayProp ? row.ltciFundPayProp : "-" }}%</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'长期护理保险基金支出\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.ltciFundPay ? row.ltciFundPay : "-" }}元</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'人次合计\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.psntimeSum ? row.psntimeSum : "-" }}次</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'长期护理保险总费用\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.ltciSumfee ? row.ltciSumfee : "-" }}元</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'自付金额\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.selfpayAmt ? row.selfpayAmt : "-" }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'创建时间\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.createTime ? row.createTime : "-" }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column\r\n :label="\'操作\'"\r\n align="center"\r\n width="250"\r\n class-name="small-padding fixed-width"\r\n >\r\n <template slot-scope="{ row, $index }">\r\n <el-button size="mini" type="primary" @click="edit(row, $index)">\r\n 最新事件记录\r\n </el-button>\r\n <el-button size="mini" type="primary" @click="details(row, $index)">\r\n 详情\r\n </el-button>\r\n <el-button size="mini" type="success" @click="tableExcel(row)">\r\n 导出\r\n </el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <pagination\r\n v-show="total > 0"\r\n :total="total"\r\n :page.sync="listQuery.pageNo"\r\n :limit.sync="listQuery.size"\r\n @pagination="getList"\r\n />\r\n <el-dialog\r\n :close-on-click-modal="false"\r\n :close-on-press-escape="false"\r\n :title="textMap[dialogStatus]"\r\n :visible.sync="dialogFormVisible"\r\n width="60%"\r\n >\r\n <el-form\r\n ref="dataForm"\r\n :rules="rules"\r\n :model="temp"\r\n label-position="right"\r\n label-width="50px"\r\n >\r\n <el-row :gutter="20">\r\n <el-col v-if="dialogStatus === \'create\'" :span="6">\r\n <el-form-item\r\n v-if="dialogStatus === \'create\'"\r\n style="margin-bottom: 0px"\r\n label="月份"\r\n >\r\n <el-date-picker\r\n v-model="temp.unitSetlMon"\r\n size="mini"\r\n style="width: 100%"\r\n type="month"\r\n value-format="yyyy-MM"\r\n placeholder="选择月"\r\n @change="pickerChange"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col v-if="dialogStatus === \'create\' && temp.unitSetlMon" :span="6">\r\n <el-button size="mini" type="success" @click="ReconciliationExcel">\r\n 导出\r\n </el-button>\r\n </el-col>\r\n <el-col v-if="dialogStatus === \'create\'" :span="24">\r\n <el-table\r\n border\r\n :data="descriptionData"\r\n style="width: 100%"\r\n height="400"\r\n >\r\n <el-table-column :label="\'序号\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.sort }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'客户姓名\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.familyName }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'客户失能等级\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.familyLv }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'计划开始时间\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.startDate ? row.startDate : "-" }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'自付金额\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.selfpayAmt ? row.selfpayAmt : "0" }}元</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'长期护理保险基金支出\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.ltciFundPay ? row.ltciFundPay : "0" }}元</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'基金支付总额\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.fundPaySumamt ? row.fundPaySumamt : "0" }}元</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'长期护理保险总费用\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.ltciSumfee ? row.ltciSumfee : "0" }}元</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'比例\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{\r\n row.ltciFundPayProp ? row.ltciFundPayProp : "-"\r\n }}</span>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n </el-col>\r\n <el-col v-if="dialogStatus != \'create\'" :span="24">\r\n <el-table border :data="balanceData" style="width: 100%">\r\n <el-table-column :label="\'发送方交易流水号\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.sender_trns_sn }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'结算批次号\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.setl_bchno }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'清算人次\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.clr_psntime ? row.clr_psntime : "-" }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'基金申报总额\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.fund_appy_sum ? row.fund_appy_sum : "-" }}元</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'医疗费总额\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.medfee_sumamt ? row.medfee_sumamt : "-" }}次</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'医保认可费用总额\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.hi_agre_sumfee ? row.hi_agre_sumfee : "-" }}元</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'创建时间\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.crte_time ? row.crte_time : "-" }}</span>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <div slot="footer" class="dialog-footer">\r\n <el-button type="primary" size="mini" @click="guanbi">\r\n 关 闭\r\n </el-button>\r\n <el-button\r\n v-if="dialogStatus === \'create\'"\r\n size="mini"\r\n type="primary"\r\n @click="dialogStatus === \'create\' ? createData() : updateData()"\r\n >\r\n {{ dialogStatus === "create" ? "确认对账数据" : "确 认" }}\r\n </el-button>\r\n </div>\r\n </el-dialog>\r\n\r\n <el-dialog\r\n :close-on-click-modal="false"\r\n :close-on-press-escape="false"\r\n :title="\'详情\'"\r\n :visible.sync="deltailShow"\r\n width="60%"\r\n >\r\n <el-form :model="temp" label-position="right" label-width="50px">\r\n <el-row :gutter="20">\r\n <el-col :span="24">\r\n <el-table\r\n border\r\n :data="descriptionData"\r\n style="width: 100%"\r\n height="400"\r\n >\r\n <el-table-column :label="\'序号\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.sort }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'客户姓名\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.familyName }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'客户失能等级\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.familyLv }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'计划开始时间\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.startDate ? row.startDate : "-" }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'自付金额\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.selfpayAmt ? row.selfpayAmt : "0" }}元</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'长期护理保险基金支出\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.ltciFundPay ? row.ltciFundPay : "0" }}元</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'基金支付总额\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.fundPaySumamt ? row.fundPaySumamt : "0" }}元</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'长期护理保险总费用\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.ltciSumfee ? row.ltciSumfee : "0" }}元</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'比例\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{\r\n row.ltciFundPayProp ? row.ltciFundPayProp : "-"\r\n }}</span>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <div slot="footer" class="dialog-footer">\r\n <el-button type="primary" size="mini" @click="detailsclos">\r\n 关 闭\r\n </el-button>\r\n </div>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport {\r\n revokepsnsetlThird,\r\n billCheck,\r\n wxSettlementInfo,\r\n wxSettlementStatisticInfo,\r\n StatisticsSetl,\r\n savepsnsetlThird,\r\n queryOrgSetlEvtListThird,\r\n StatisticsSetlDeltais,\r\n sysTrtSetlInfo\r\n} from \'@/api/settlement\'\r\nimport Pagination from \'@/components/Pagination\' // secondary package based on el-pagination\r\nexport default {\r\n name: \'Personnel\',\r\n components: { Pagination },\r\n filters: {},\r\n data() {\r\n return {\r\n balanceData: [],\r\n startDate: [],\r\n loadExp: false,\r\n dialogVisibleExp: false,\r\n dialogStatus: \'\',\r\n textMap: { update: \'结算信息\', create: \'对账及申报\' },\r\n tableKey: 0,\r\n list: null,\r\n total: 0,\r\n listLoading: true,\r\n listQuery: {\r\n pageNo: 1,\r\n size: 20\r\n },\r\n dialogFormVisible: false,\r\n dialogPvVisible: false,\r\n deltailShow: false,\r\n rules: {\r\n status: [\r\n { required: true, message: \'请选择审批状态\', trigger: \'change\' }\r\n ],\r\n name: [{ required: true, message: \'请输入机构名称\', trigger: \'blur\' }],\r\n city: [{ required: true, message: \'请输入行政区划\', trigger: \'blur\' }],\r\n county: [\r\n { required: true, message: \'请输入所属辖区\', trigger: \'blur\' }\r\n ],\r\n address: [\r\n { required: true, message: \'请输入护理机构地址\', trigger: \'blur\' }\r\n ],\r\n linkMan: [{ required: true, message: \'请输入联系人\', trigger: \'blur\' }],\r\n linkPhoneNumber: [\r\n { required: true, message: \'请输入联系号码\', trigger: \'blur\' }\r\n ]\r\n },\r\n temp: {},\r\n downloadLoading: false,\r\n descriptionData: []\r\n }\r\n },\r\n created() {\r\n this.getList()\r\n },\r\n methods: {\r\n details(row) {\r\n StatisticsSetlDeltais({ senderTrnsSn: row.senderTrnsSn }).then((res) => {\r\n this.descriptionData = res.result.map((item, index) => {\r\n item.sort = index + 1\r\n return item\r\n })\r\n this.deltailShow = true\r\n })\r\n },\r\n detailsclos() {\r\n this.deltailShow = false\r\n this.descriptionData = []\r\n },\r\n guanbi() {\r\n this.dialogFormVisible = false\r\n this.descriptionData = []\r\n },\r\n pickerChange(value) {\r\n billCheck({ setlMon: value }).then((res) => {\r\n // this.descriptionData = res.result\r\n this.descriptionData = res.result.map((item, index) => {\r\n item.sort = index + 1\r\n return item\r\n })\r\n })\r\n },\r\n ReconciliationExcel() {\r\n sysTrtSetlInfo({ setlMon: this.temp.unitSetlMon }).then((res) => {\r\n const blob = new Blob([res])\r\n const fileName = \'对账信息导出\'\r\n if (blob.size > 0) {\r\n const elink = document.createElement(\'a\')\r\n elink.style.display = \'none\'\r\n elink.href = URL.createObjectURL(blob)\r\n // 类似a标签下载\r\n // 自定义文件名称和导出类型。最好和后台保持一致\r\n elink.download = `${fileName}/${this.$moment().format(\'YYYY-MM-DD\')}.xlsx`\r\n document.body.appendChild(elink)\r\n elink.click()\r\n // 释放URL 对象\r\n URL.revokeObjectURL(elink.href)\r\n // 删除创建的 a 标签\r\n document.body.removeChild(elink)\r\n }\r\n })\r\n },\r\n tableExcel(row) {\r\n sysTrtSetlInfo({ senderTrnsSn: row.senderTrnsSn }).then((res) => {\r\n const blob = new Blob([res])\r\n const fileName = \'对账信息导出\'\r\n if (blob.size > 0) {\r\n const elink = document.createElement(\'a\')\r\n elink.style.display = \'none\'\r\n elink.href = URL.createObjectURL(blob)\r\n // 类似a标签下载\r\n // 自定义文件名称和导出类型。最好和后台保持一致\r\n elink.download = `${fileName}/${this.$moment().format(\'YYYY-MM-DD\')}.xlsx`\r\n document.body.appendChild(elink)\r\n elink.click()\r\n // 释放URL 对象\r\n URL.revokeObjectURL(elink.href)\r\n // 删除创建的 a 标签\r\n document.body.removeChild(elink)\r\n }\r\n })\r\n },\r\n expExcel(row) {\r\n wxSettlementInfo({ id: row.id, orderNo: row.orderNo }).then((res) => {\r\n const blob = new Blob([res])\r\n const fileName = \'结算信息导出\'\r\n if (blob.size > 0) {\r\n const elink = document.createElement(\'a\')\r\n elink.style.display = \'none\'\r\n elink.href = URL.createObjectURL(blob)\r\n // 类似a标签下载\r\n // 自定义文件名称和导出类型。最好和后台保持一致\r\n elink.download = `${fileName}/${this.$moment().format(\r\n \'YYYY-MM-DD\'\r\n )}.xlsx`\r\n document.body.appendChild(elink)\r\n elink.click()\r\n // 释放URL 对象\r\n URL.revokeObjectURL(elink.href)\r\n // 删除创建的 a 标签\r\n document.body.removeChild(elink)\r\n }\r\n })\r\n },\r\n expExcelForm() {\r\n try {\r\n this.loadExp = true\r\n const form = {\r\n yearMonth: this.startDate\r\n // endDate: this.startDate[1],\r\n }\r\n wxSettlementStatisticInfo(form)\r\n .then((res) => {\r\n const blob = new Blob([res])\r\n const fileName = \'结算统计导出\'\r\n if (blob.size > 0) {\r\n const elink = document.createElement(\'a\')\r\n elink.style.display = \'none\'\r\n elink.href = URL.createObjectURL(blob)\r\n // 类似a标签下载\r\n // 自定义文件名称和导出类型。最好和后台保持一致\r\n elink.download = `${fileName}/${this.$moment().format(\r\n \'YYYY-MM-DD\'\r\n )}.xlsx`\r\n document.body.appendChild(elink)\r\n elink.click()\r\n // 释放URL 对象\r\n URL.revokeObjectURL(elink.href)\r\n // 删除创建的 a 标签\r\n document.body.removeChild(elink)\r\n }\r\n this.handleClose()\r\n this.loadExp = false\r\n })\r\n .catch(() => {\r\n this.loadExp = false\r\n })\r\n } catch (e) {\r\n this.loadExp = false\r\n console.log(e)\r\n }\r\n },\r\n handleClose() {\r\n this.dialogVisibleExp = false\r\n this.startDate = []\r\n },\r\n // 撤销\r\n revoke(row) {\r\n revokepsnsetlThird({ trtSetlId: row.trtSetlId }).then((res) => {\r\n if (res.status == 1) {\r\n this.getList()\r\n this.$notify({\r\n title: \'提示\',\r\n message: \'撤销成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n } else {\r\n this.$notify({\r\n title: \'提示\',\r\n message: res.info,\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n }\r\n })\r\n },\r\n getList() {\r\n this.listLoading = true\r\n StatisticsSetl(this.listQuery).then((response) => {\r\n this.list = response.result.data\r\n this.total = response.result.count\r\n setTimeout(() => {\r\n this.listLoading = false\r\n }, 1.5 * 1000)\r\n })\r\n },\r\n handleModifyStatus(row, status) {\r\n this.$message({\r\n message: \'操作成功\',\r\n type: \'success\'\r\n })\r\n row.status = status\r\n },\r\n resetting(formName) {\r\n this.$nextTick(() => {\r\n this.$refs[formName].resetFields()\r\n this.getList()\r\n })\r\n },\r\n add() {\r\n this.dialogStatus = \'create\'\r\n this.dialogFormVisible = true\r\n this.descriptionData = []\r\n this.temp = {}\r\n },\r\n onSubmit() {\r\n this.getList()\r\n },\r\n createData() {\r\n this.$refs[\'dataForm\'].validate((valid) => {\r\n if (valid) {\r\n this.$confirm(\r\n \'此操作将提交对账,对账之后无法进行撤回,是否提交?\',\r\n \'提示\',\r\n {\r\n confirmButtonText: \'提交\',\r\n cancelButtonText: \'取消\',\r\n type: \'warning\'\r\n }\r\n )\r\n .then(() => {\r\n savepsnsetlThird(this.temp).then((res) => {\r\n if (res.status == 1) {\r\n this.dialogFormVisible = false\r\n this.getList()\r\n this.$notify({\r\n title: \'提示\',\r\n message: res.info,\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: \'提示\',\r\n message: res.info,\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n })\r\n .catch(() => {\r\n this.$message({\r\n type: \'info\',\r\n message: \'已取消对账提交\'\r\n })\r\n })\r\n }\r\n })\r\n },\r\n updateData() {\r\n this.$refs[\'dataForm\'].validate((valid) => {\r\n if (valid) {\r\n WxClockApplyApprove(this.temp).then((res) => {\r\n if (res.status == 1) {\r\n this.dialogFormVisible = false\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'更新成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'更新失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n }\r\n })\r\n },\r\n edit(row) {\r\n queryOrgSetlEvtListThird({ statisticsSetlId: row.id }).then((res) => {\r\n this.balanceData = res.result\r\n this.dialogStatus = \'update\'\r\n this.dialogFormVisible = true\r\n })\r\n },\r\n handleDelete(row, index) {\r\n WxClockApplyDel({ id: row.id }).then((res) => {\r\n if (res.status == 1) {\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'删除成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'删除失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n // this.list.splice(index, 1)\r\n }\r\n }\r\n}\r\n<\/script>\r\n<style lang="scss" scoped>\r\n.el-col-12 {\r\n padding: 0 20px 0 0;\r\n}\r\n</style>\r\n',".el-col-12 {\n padding: 0 20px 0 0;\n}\n\n/*# sourceMappingURL=index.vue.map */"]},media:void 0})},__vue_scope_id__$b="data-v-21366290",__vue_module_identifier__$b=void 0,__vue_is_functional_template__$b=!1,__vue_component__$b=normalizeComponent({render:__vue_render__$b,staticRenderFns:__vue_staticRenderFns__$b},__vue_inject_styles__$b,__vue_script__$b,__vue_scope_id__$b,__vue_is_functional_template__$b,__vue_module_identifier__$b,!1,createInjector,void 0,void 0);var commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function getDefaultExportFromCjs(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var dist={exports:{}};dist.exports=function(){function e(e){var r=[];return e.AMapUI&&r.push(t(e.AMapUI)),e.Loca&&r.push(n(e.Loca)),Promise.all(r)}function t(e){return new Promise(function(t,n){var l=[];if(e.plugins)for(var o=0;o<e.plugins.length;o+=1)-1==i.AMapUI.plugins.indexOf(e.plugins[o])&&l.push(e.plugins[o]);if(a.AMapUI===r.failed)n("前次请求 AMapUI 失败");else if(a.AMapUI===r.notload){a.AMapUI=r.loading,i.AMapUI.version=e.version||i.AMapUI.version,o=i.AMapUI.version;var c=document.body||document.head,d=document.createElement("script");d.type="text/javascript",d.src="https://webapi.amap.com/ui/"+o+"/main.js",d.onerror=function(e){a.AMapUI=r.failed,n("请求 AMapUI 失败")},d.onload=function(){if(a.AMapUI=r.loaded,l.length)window.AMapUI.loadUI(l,function(){for(var e=0,n=l.length;e<n;e++){var r=l[e].split("/").slice(-1)[0];window.AMapUI[r]=arguments[e]}for(t();s.AMapUI.length;)s.AMapUI.splice(0,1)[0]()});else for(t();s.AMapUI.length;)s.AMapUI.splice(0,1)[0]()},c.appendChild(d)}else a.AMapUI===r.loaded?e.version&&e.version!==i.AMapUI.version?n("不允许多个版本 AMapUI 混用"):l.length?window.AMapUI.loadUI(l,function(){for(var e=0,n=l.length;e<n;e++){var r=l[e].split("/").slice(-1)[0];window.AMapUI[r]=arguments[e]}t()}):t():e.version&&e.version!==i.AMapUI.version?n("不允许多个版本 AMapUI 混用"):s.AMapUI.push(function(e){e?n(e):l.length?window.AMapUI.loadUI(l,function(){for(var e=0,n=l.length;e<n;e++){var r=l[e].split("/").slice(-1)[0];window.AMapUI[r]=arguments[e]}t()}):t()})})}function n(e){return new Promise(function(t,n){if(a.Loca===r.failed)n("前次请求 Loca 失败");else if(a.Loca===r.notload){a.Loca=r.loading,i.Loca.version=e.version||i.Loca.version;var l=i.Loca.version,o=i.AMap.version.startsWith("2"),c=l.startsWith("2");if(o&&!c||!o&&c)n("JSAPI 与 Loca 版本不对应!!");else{o=i.key,c=document.body||document.head;var d=document.createElement("script");d.type="text/javascript",d.src="https://webapi.amap.com/loca?v="+l+"&key="+o,d.onerror=function(e){a.Loca=r.failed,n("请求 AMapUI 失败")},d.onload=function(){for(a.Loca=r.loaded,t();s.Loca.length;)s.Loca.splice(0,1)[0]()},c.appendChild(d)}}else a.Loca===r.loaded?e.version&&e.version!==i.Loca.version?n("不允许多个版本 Loca 混用"):t():e.version&&e.version!==i.Loca.version?n("不允许多个版本 Loca 混用"):s.Loca.push(function(e){e?n(e):n()})})}if(!window)throw Error("AMap JSAPI can only be used in Browser.");var r,l;(l=r||(r={})).notload="notload",l.loading="loading",l.loaded="loaded",l.failed="failed";var i={key:"",AMap:{version:"1.4.15",plugins:[]},AMapUI:{version:"1.1",plugins:[]},Loca:{version:"1.3.2"}},a={AMap:r.notload,AMapUI:r.notload,Loca:r.notload},s={AMap:[],AMapUI:[],Loca:[]},o=[],c=function(e){"function"==typeof e&&(a.AMap===r.loaded?e(window.AMap):o.push(e))};return{load:function(t){return new Promise(function(n,l){if(a.AMap==r.failed)l("");else if(a.AMap==r.notload){var s=t.key,d=t.version,p=t.plugins;s?(window.AMap&&"lbs.amap.com"!==location.host&&l("禁止多种API加载方式混用"),i.key=s,i.AMap.version=d||i.AMap.version,i.AMap.plugins=p||i.AMap.plugins,a.AMap=r.loading,d=document.body||document.head,window.___onAPILoaded=function(i){if(delete window.___onAPILoaded,i)a.AMap=r.failed,l(i);else for(a.AMap=r.loaded,e(t).then(function(){n(window.AMap)}).catch(l);o.length;)o.splice(0,1)[0]()},(p=document.createElement("script")).type="text/javascript",p.src="https://webapi.amap.com/maps?callback=___onAPILoaded&v="+i.AMap.version+"&key="+s+"&plugin="+i.AMap.plugins.join(","),p.onerror=function(e){a.AMap=r.failed,l(e)},d.appendChild(p)):l("请填写key")}else if(a.AMap==r.loaded)if(t.key&&t.key!==i.key)l("多个不一致的 key");else if(t.version&&t.version!==i.AMap.version)l("不允许多个版本 JSAPI 混用");else{if(s=[],t.plugins)for(d=0;d<t.plugins.length;d+=1)-1==i.AMap.plugins.indexOf(t.plugins[d])&&s.push(t.plugins[d]);s.length?window.AMap.plugin(s,function(){e(t).then(function(){n(window.AMap)}).catch(l)}):e(t).then(function(){n(window.AMap)}).catch(l)}else if(t.key&&t.key!==i.key)l("多个不一致的 key");else if(t.version&&t.version!==i.AMap.version)l("不允许多个版本 JSAPI 混用");else{var m=[];if(t.plugins)for(d=0;d<t.plugins.length;d+=1)-1==i.AMap.plugins.indexOf(t.plugins[d])&&m.push(t.plugins[d]);c(function(){m.length?window.AMap.plugin(m,function(){e(t).then(function(){n(window.AMap)}).catch(l)}):e(t).then(function(){n(window.AMap)}).catch(l)})}})},reset:function(){delete window.AMap,delete window.AMapUI,delete window.Loca,i={key:"",AMap:{version:"1.4.15",plugins:[]},AMapUI:{version:"1.1",plugins:[]},Loca:{version:"1.3.2"}},a={AMap:r.notload,AMapUI:r.notload,Loca:r.notload},s={AMap:[],AMapUI:[],Loca:[]}}}}();var distExports=dist.exports,AMapLoader=getDefaultExportFromCjs(distExports);function init(key,callbackName){window.qq=window.qq||{},qq.maps=qq.maps||{},qq.maps.__load=function(e){delete qq.maps.__load,e([["2.4.71",key,0],["open.map.qq.com/","apifiles/2/4/71/mods/","open.map.qq.com/apifiles/2/4/71/theme/",!0],[1,18,34.519469,104.461761,4],[1503391264452,"pr.map.qq.com/pingd","pr.map.qq.com/pingd"],["apis.map.qq.com/jsapi","apikey.map.qq.com/mkey/index.php/mkey/check","sv.map.qq.com/xf","sv.map.qq.com/boundinfo","sv.map.qq.com/rarp","apis.map.qq.com/api/proxy/search","apis.map.qq.com/api/proxy/routes/","confinfo.map.qq.com/confinfo"],[[null,["rt0.map.gtimg.com/tile","rt1.map.gtimg.com/tile","rt2.map.gtimg.com/tile","rt3.map.gtimg.com/tile"],"png",[256,256],3,19,"114",!0,!1],[null,["m0.map.gtimg.com/hwap","m1.map.gtimg.com/hwap","m2.map.gtimg.com/hwap","m3.map.gtimg.com/hwap"],"png",[128,128],3,18,"110",!1,!1],[null,["p0.map.gtimg.com/sateTiles","p1.map.gtimg.com/sateTiles","p2.map.gtimg.com/sateTiles","p3.map.gtimg.com/sateTiles"],"jpg",[256,256],1,19,"101",!1,!1],[null,["rt0.map.gtimg.com/tile","rt1.map.gtimg.com/tile","rt2.map.gtimg.com/tile","rt3.map.gtimg.com/tile"],"png",[256,256],1,19,"",!1,!1],[null,["sv0.map.qq.com/hlrender/","sv1.map.qq.com/hlrender/","sv2.map.qq.com/hlrender/","sv3.map.qq.com/hlrender/"],"png",[256,256],1,19,"",!1,!1],[null,["rtt2.map.qq.com/rtt/","rtt2a.map.qq.com/rtt/","rtt2b.map.qq.com/rtt/","rtt2c.map.qq.com/rtt/"],"png",[256,256],1,19,"",!1,!1],null,[["rt0.map.gtimg.com/vector/","rt1.map.gtimg.com/vector/","rt2.map.gtimg.com/vector/","rt3.map.gtimg.com/vector/"],[256,256],3,18,"114",["rt0.map.gtimg.com/icons/","rt1.map.gtimg.com/icons/","rt2.map.gtimg.com/icons/","rt3.map.gtimg.com/icons/"]],null],["s.map.qq.com/TPano/v1.1.2/TPano.js","map.qq.com/",callbackName]],loadScriptTime)};var loadScriptTime=(new Date).getTime();!function(){function Bh(e,t){var n;return kf?n=Yf(e).__events_:(e.__events_||(e.__events_={}),n=e.__events_),n[t]||(n[t]={}),n[t]}function Yf(e){var t;return e&&e.__oid_&&(t=Q.eventObjects[e.__oid_]),!t&&e&&(e.__oid_=++sj,t={__events_:{}},Q.eventObjects[e.__oid_]=t),t}function ke(e,t){var n,r={};if(kf?(n=Yf(e))&&(r=n.__events_):r=e.__events_||{},t)n=r[t]||{};else for(t in n={},r)tj(n,r[t]);return n}function uj(e){return t=e.handler,e.bindHandler=function(n){if((n=n||window.event)&&!n.target)try{n.target=n.srcElement}catch(e){}var r=t.apply(e.instance,[n]);return(!n||"click"!=n.type||!(n=n.srcElement)||"A"!=n.tagName||"javascript:void(0)"!=n.href)&&r};var t}function vj(e){e.returnValue=!0}function Zf(e,t,n){return function(){for(var r=[t,e],l=arguments.length,i=0;i<l;++i)r.push(arguments[i]);Q.trigger.apply(this,r),n&&vj.apply(null,arguments)}}function wj(e,t){return function(){var n=Array.prototype.slice.call(arguments,0);n.push(this),t.apply(e,n)}}function Jc(e,t,n,r){this.instance=e,this.eventName=t,this.handler=n,this.bindHandler=null,this.browser=r,this.id=++xj,Bh(e,t)[this.id]=this,kf&&"tagName"in e&&(Q.listeners[this.id]=this)}function $f(e){this.grids=e}function yj(e,t){for(var n="https:"==window.location.protocol?"https://":"http://",r=1;r<e.length;r++){var l=e[r];if(l)switch(r){case 1:l[0]&&!Vc(l[0])&&(e[r][0]=n+l[0]),l[2]&&!Vc(l[2])&&(e[r][2]=n+l[2]);break;case 3:l[1]&&!Vc(l[1])&&(e[r][1]=n+l[1]),l[2]&&!Vc(l[2])&&(e[r][2]=n+l[2]);break;case 4:e[r]=hc(l,n);break;case 5:for(var i=0;i<l.length;i++){var a=l[i];a&&(7===i?(e[r][i][0]=hc(a[0],n),e[r][i][5]=hc(a[5],n)):e[r][i][1]=hc(a[1],n))}break;case 6:l[0]&&!Vc(l[0])&&(e[r][0]=n+l[0]),l[1]&&!Vc(l[1])&&(e[r][1]=n+l[1])}}Ch[0]=e,Dh[1]=t}function Vc(e){return e&&(0===e.indexOf("http://")||0===e.indexOf("https://"))}function hc(e,t){for(var n=0;n<e.length;n++)e[n]&&!Vc(e[n])&&(e[n]=t+e[n]);return e}function zj(){}function Eh(e){for(var t=Aj,n=0;Xa[n]&&0<=(t-=Xa[n][2]);)n++;0==n?Xa.length&&Xa.shift():(0<(t=Xa.splice(0,n)).length&&Bj(t,e),0<Xa.length&&Eh(e))}function Bj(e,t){var n=[Fh];n.push("logid="+(t?2:1)),Cj(e,function(e){n.push(e[0]+"="+e[1])});var r=n.join("&");Dj(r)}function Ej(e,t){if(Fj(e)){for(var n in e)if(e.hasOwnProperty(n)){var r=e[n]+"";Xa.push([n,r,n.length+r+2])}}else Gj(t)||(t+=""),Xa.push([e,t,e.length+t.length+2])}function mf(e){Gh.trigger(ag,"submit",Ej,e),Eh(e)}function Hh(e,t){-180==e&&180!=t&&(e=180),-180==t&&180!=e&&(t=180),this.minX=e,this.maxX=t}function Ih(e,t){this.minY=e,this.maxY=t}function Jh(){"complete"==lb.readyState&&(lb.detachEvent("onreadystatechange",Jh),na.fireReady())}function Kh(){lb.removeEventListener("DOMContentLoaded",Kh,!1),na.fireReady()}function Hj(e,t){var n=document.getElementsByTagName("head")[0],r='<script src="'+e+'" '+Md+'="this.ownerDocument.z = 1"><\/script>',l=le.createElement("iframe");l.style.display="none",n.appendChild(l);var i=l.contentDocument;l.onload=function(){1!=i.z&&t&&t(),l.onload=null,n.removeChild(this)};try{i.write(r),i.close()}catch(e){}n=null}function Ij(e,t,n,r,l){var i=le.createElement("script");me.push({name:e,sender:i}),i.setAttribute("type","text/javascript"),i.setAttribute("charset",l||"GBK"),i.async=!0;var a=null,s=!1;i[Md]=function(){Jj.test(this.readyState)&&(hd(e),a?n&&n(a):s||r&&r())},id[e]=function(e){a=e},i.onerror=function(){s=!0,r&&r(),hd(e)},l=["output=jsonp","pf=jsapi","ref=jsapi","cb="+Kj+"."+e],Lh&&l.unshift("key="+Lh),l=t+(-1===t.indexOf("?")?"?":"&")+l.join("&"),i.src=l,Lj&&Hj(t,function(){i.onerror()}),(t=document.getElementsByTagName("head")[0]).insertBefore(i,t.firstChild),t=null}function hd(e){if(e){for(var t=0,n=me.length,r=null;t<n;t++)if(me[t].name===e){r=me.splice(t,1)[0];break}r&&((t=r.sender).clearAttributes&&t.clearAttributes(),t[Md]=t.onerror=null,t.parentNode&&t.parentNode.removeChild(t)),id[e]&&delete id[e]}}function ic(e,t,n,r,l,i){this.latLng=e,this.pixel=t,this.cursorPixel=i||t,this.type=n,this.target=r,this.__event__=l}function Ta(e){return e.__o_accessors_||(e.__o_accessors_={})}function Ub(e,t){e[n=Kc(t)]?e[n]():e.changed(t);var n=Kc(t.toLowerCase()),r=new Mj(void 0,void 0,n,e,void 0);ne.trigger(e,n,r)}function Nj(e,t,n,r,l){Ta(e)[t]={target:n,targetKey:r},l||Ub(e,t)}function He(e){return e.__o_bindings_||(e.__o_bindings_={}),e.__o_bindings_}function Kc(e){return Mh[e]||(Mh[e]=e+"_changed")}function k(){}function Nh(e,t){for(var n={},r=0,l=e.length;r<l;r+=2){var i=e[r+1];Oj(i)&&t?n[e[r]]=Nh(i,t):n[e[r]]=i}return n}function Pj(e){return"object"==typeof e&&e?(e.__sm_id||(e.__sm_id=++Qj),""+e.__sm_id):""+e}function oe(e){this.hash=e||Pj,this.items={},this.length=0}function Rj(e){return function(){return this.get(e)}}function Sj(e,t){return t?function(n){t(n)||Tj(e,n),this.set(e,n)}:function(t){this.set(e,t)}}function Nd(){}function pe(){}function R(e,t){this.x=e,this.y=t}function A(e,t,n){e=Number(e),t=Number(t),n||(e=Uj(e,-Oh,Oh),t=Vj(t,-180,180)),this.lat=e,this.lng=t}function ac(e){this.elems=e||[],this.set("length",this.elems.length)}function qb(e,t){if(e&&!t&&(t=e),e){var n=Ph(e.getLat(),-90,90),r=Ph(t.getLat(),-90,90);this.lat=new Ie(n,r),n=e.getLng(),360<=(r=t.getLng())-n?this.lng=new Od(-180,180):(n=bg(n,-180,180),r=bg(r,-180,180),this.lng=new Od(n,r))}else this.lat=new Ie(1,-1),this.lng=new Od(180,-180)}function mb(e,t){Lc(e)&&(e=document.getElementById(e));var n=this;Wj((t=t||{}).mapTypeId)&&(t.mapTypeId="roadmap"),t.noClear&&Xj(e),n.container=e,n.mapTypes=new Yj,n.mapStyles=new Zj,n.overlays=new ak,n.overlayMapTypes=new cg,n.V=new bk,n.tileVersion=!1,n.createImpl=!1,n.constructImpl=!1;var r=n.controls=[];ck(dk,function(e){r[e]=new cg}),ek(this,t,Pd),n.options=t;var l=this.center.getLat(),i=this.center.getLng();fk.set(l+","+i+","+this.zoom),gk(1,0),hk(function(){n.createImpl&&!n.tileVersion&&!n.constructImpl&&(n.mapControl(n).construct(t),n.constructImpl=!0),n.createImpl&&!n.tileVersion&&n.constructImpl&&n.mapControl(n).updateDataVersion(),n.tileVersion=!0}),P.$require("map",function(e){n.tileVersion&&!n.constructImpl&&(e(n).construct(t),n.constructImpl=!0),n.mapControl=e,n.createImpl=!0},0)}function rb(e){return function(){var t=[].slice.call(arguments);t.splice(0,0,this.V,e);var n=this;P.$require("map",function(e){n.constructImpl||(n.constructImpl=!0,e(n).construct(n.options)),Qh.trigger.apply(Qh,t)},0)}}function Mc(e){e&&this.setValues(e)}function Jb(e,t,n,r){this.red=e,this.green=t,this.blue=n,this.alpha=0<=parseInt(r)?r:1}function ik(e){var t=null;return jk(e)?t=e:kk(e)&&(t=new Nc,lk(e,function(e){t.push(e)})),t}function vc(e){e=mk(e,["fillColor",new jd(38,145,234,.2),"strokeColor",new jd(38,145,234,1),"strokeWeight",2,"strokeDashStyle","solid","zIndex",0,"cursor","pointer","clickable",!0,"simplify",!0,"visible",!0]),this.set("path",new Nc),this.setValues(e),P.$require("poly",nk(this),1)}function dg(e){e.filled=!1,Rh.call(this,e)}function Sh(e){e.filled=!0,Th.call(this,e)}function Je(e){e=ok(e,["map",null,"center",null,"radius",0,"bounds",null,"fillColor",new Qd(38,145,234,.2),"strokeColor",new Qd(38,145,234,1),"strokeWeight",4,"strokeDashStyle","solid","zIndex",0,"cursor","pointer","clickable",!0,"simplify",!0,"visible",!0]),this.setValues(e),P.$require("poly",pk(this),2)}function eg(e){(e=e||{}).delay=e.delay||0,e.duration=e.duration||0,this.setValues(e),this.status=-1}function Ke(e){var t=this;qk&&P.$require("eb",function(n){new n(t,e)}),rk&&(document.body.addEventListener?P.$require("ea",function(n){new n(t,e)}):P.$require("ec",function(n){new n(t,e)})),this.start()}function Wc(e){e=sk(e||{},{complete:null,error:null,map:null,panel:null}),this.setOptions(e)}function fg(e){e=tk(e,["markers",new uk,"map",null,"zoomOnClick",!0,"gridSize",60,"averageCenter",!1,"maxZoom",18,"minimumClusterSize",2],!0),this.setValues(e),vk(this)(wk)}function kb(e){e=xk(e,["icon",null,"shadow",null,"shape",null,"decoration",null,"cursor","pointer","title","","animation",null,"clickable",!0,"draggable",!1,"visible",!0,"flat",!1,"zIndex",0,"useDefaults",!0,"height",0,"position",null,"autoRotation",!1,"rotation",0]),this.setValues(e),P.$require("marker",yk(this))}function wc(e){return function(){var t=[].slice.call(arguments);t.splice(0,0,this,e),P.$require("marker",function(){Uh.trigger.apply(Uh,t)})}}function xc(e,t){gg(e)&&(e=document.getElementById(e));var n=this;t=t||{},n.container=e;var r=this.controls=[];zk(Ak,function(e){r[e]=new Bk}),Ck(this,t,Dk),n._labels=new Ek,n.V=new Fk,Gk(0,1),P.$require("pano",function(e){e(n)},0)}function hg(e){return function(){var t=[].slice.call(arguments);t.splice(0,0,this.V,e),P.$require("pano",function(){Vh.trigger.apply(Vh,t)},0)}}function yc(e){e&&this.setValues(e)}function Oc(){P.$require("layers",Hk,1)}function Wh(e,t,n){Vb.send(e,t,n)}function nf(){}function jc(e){e=Ik(e,{complete:null,error:null,location:"全国",policy:Jk.REAL_TRAFFIC}),this.setOptions(e),P.$require("sv",Kk(this),6)}function kd(e){e=Lk(e,{complete:null,error:null,location:"全国",policy:Mk.LEAST_TIME}),this.setOptions(e),P.$require("sv",Nk(this),5)}function kc(e){e=Ok(e,{complete:null,error:null}),this.setOptions(e),P.$require("sv",Pk(this),4)}function Rd(e){e=Qk(e,{complete:null,error:null}),this.setOptions(e),P.$require("sv",Rk(this),3)}function of(e){var t=this;Sk.addListenerOnce(this,"dosend_changed",function(){P.$require("sv",Tk(t),2)}),ig.call(t,e)}function pf(e){var t=this;Uk.addListenerOnce(this,"dosend_changed",function(){P.$require("sv",Vk(t),1)}),jg.call(t,e)}function ld(e){e=Wk(e||{},{location:null,pageIndex:0,pageCapacity:10});var t=this;Xk.addListenerOnce(this,"dosend_changed",function(){P.$require("sv",Yk(t),0)}),Xh.call(this,e)}function md(){P.$require("layers",Zk,0)}function ma(e,t,n,r){this.width=e,this.height=t}function kg(e){this.opts=e=$k(e,["style",al.DEFAULT,"index",0]),e.map&&(this.map=e.map,this.setOptions(e))}function lg(e){this.opts=e=bl(e,["style",Le.DEFAULT,"index",0,"margin",new cl(1,2),"zoomTips",{17:"街",11:"市",8:"省",4:"国"}]),e.map&&(this.map=e.map,this.setOptions(e))}function mg(e){var t=e.map;if(t){var n={};dl(el,function(t){n[t]=e[t]}),t.setOptions({mapTypeControl:!0,mapTypeControlOptions:n})}}function lc(){this.views=[],this.count=0,this.renderNum=15,this.anim=new fl({duration:500}),this.isRun=!1}function Wa(e,t){this._model=e,this._renderTimer=t||0,e&&(this._fdrawListener=Da.addListener(this,"forceredraw",this.forcedraw,this),this.forwardEvents(["forceredraw"]))}function ng(e,t,n,r){var l=new Yh,i=!1,a={};Db(t,function(t){l[t]=e.get(t),a[t]=1});var s=function(e,t){return r?r(e,t):function(){var t=!0;return Db(e,function(e){if(!e)return t=!1}),t}()};l.changed=function(e){if(!(i||e&&!a[e])){var r=[];Db(t,function(e){r.push(l.get(e))}),s(r,t)&&(i=!0,delete l.changed,l.unbindAll(t),n())}},l.bindsTo(t,e)}function nd(e){this.a={},this.setOptions(e)}function og(e){if(e)for(var t=e.childNodes,n=0,r=t.length;n<r;n++)e.removeChild(t[n])}function Me(e){e=gl(e,["map",null,"imageUrl",null,"bounds",null,"visible",!0,"clickable",!0,"zIndex",0,"opacity",1,"cursor","pointer"]),this.setValues(e),P.$require("poly",hl(this),0)}function qf(e){e=il(e,["map",null,"position",null,"content",null,"visible",!0,"title",null,"zIndex",null,"offset",null,"style",null,"clickable",!0]),this.setValues(e),P.$require("label",jl(this))}function Ne(e){e=kl(e,["visible",!1,"content","","maxWidth",760,"maxHeight",840,"minWidth",80,"minHeight",30,"zIndex",0,"noScroll",!1,"disableAutoPan",!1,"position",null]),this.setValues(e),Zh.call(this,e),P.$require("infowin",ll(this))}function $h(e){pg.call(this,e||{})}function ai(e){bi.call(this,e||{})}function od(e){ci.call(this,e||{})}function rf(e){qg.apply(this,arguments)}function qe(e){rg.call(this,e)}function sf(e){e=ml({alt:"",name:"",maxZoom:null,minZoom:null,radius:0,tileSize:null,opacity:1,errorUrl:null,alpha:!1,poiLayer:!1},e||{},!0),this.tileSize=e.tileSize,this.name=e.name,this.alt=e.alt,this.minZoom=e.minZoom,this.maxZoom=e.maxZoom,this.copyrights=e.copyrights;var t=new nl,n=new ol(t);this.getTile=zc(n.getTile,n),this.releaseTile=zc(n.releaseTile,n),this.stop=zc(n.stop,n),this.poiLayer=e.poiLayer;var r=zc(e.getTileUrl,e);this.set("opacity",e.opacity);var l=this;P.$require("map",function(n){new n(t,[{func:r,type:1,alpha:!!e.alpha}],null,e).bindTo("opacity",l)},1)}function pd(e){this.markerCluster=e,this.map=e.get("map"),this.icon=new pl,this.markers=[];var t=this;t.clickListener=sg.addListener(this.icon,"click",function(){t.markerCluster&&t.markerCluster.doClusterClick(t)})}function tf(e){this.markers=e.get("markers"),this.clusters=[],tg.call(this,e),this.bindTo("map",e),e.clusterView=this}function ql(e){for(var t=[],n=0,r=e.length;n<r;n++)t.push(rl+e[n]+".js");if(sl){for(e=[],n=Math.ceil(t.length/di);n--;)e.push(tl+t.splice(0,di).join(","));return e}for(n=0,r=t.length;n<r;n++)t[n]=ul+t[n];return t}function vl(e,t){if(e)return function(){--e||t()};t()}function wl(){try{Ab.forIn(function(e,t){var n=t.match(RegExp(ug+"([0-9a-z]*)_"));n&&(n=n[1])&&n!=xl&&Ab.set(t,null)})}catch(e){}}function ei(e){if(!Oe[e]){Oe[e]=!0;for(var t=Pc[e],n=t.length;n--;)ei(t[n]);uf.push(e),Pe||(Pe=setTimeout(yl,0))}}function zl(e){var t=document.createElement("script");t.setAttribute("type","text/javascript"),t.setAttribute("src",e),t.setAttribute("charset","utf-8"),document.getElementsByTagName("head")[0].appendChild(t)}function Al(e){var t=[];if(Ab.support())for(var n=0;n<e.length;n++){var r=e[n],l=ug+Qe.split(/\./).join("")+"_"+r;(l=Ab.get(l))?fi(r,l):t.push(r)}else t=e;return t}function yl(){Pe=0;var e=uf;uf=[],e.sort(function(e,t){return e<=t});for(var t=(e=ql(e=Al(e))).length;t--;)zl(e[t])}var Bl=function(e){(e=e||window.event).cancelBubble=!0,e.stopPropagation&&e.stopPropagation()},qd=function(e){(e=e||window.event).returnValue=!1,e.preventDefault&&e.preventDefault()},vf=function(e){return qd(e),Bl(e),!1},Cl=Object.prototype.hasOwnProperty,vg=function(e,t){return Cl.call(e,t)},wg=function(e){for(var t in e)if(vg(e,t))return!1;return!0},gi=function(e,t,n){var r=[],l=e.length;for(n=n||l,t=t||0;t<n;t++)r.push(e[t]);return r},Y=function(e,t){for(var n in e)if(vg(e,n)&&!1===t(e[n],n))return!1},xg={},wf=function(e){return xg[e]||(xg[e]=e.substr(0,1).toUpperCase()+e.substr(1))},U=function(e){return"[object Function]"==Object.prototype.toString.call(e)},re=function(e,t){return e="on"+e,(t=t||document.createElement("div")).setAttribute(e,"return;"),U(t[e])||e in document.documentElement},Eb=navigator.userAgent,va=/msie (\d+\.\d+)/i.test(Eb)?document.documentMode||+RegExp.$1:0,yg=function(e){return!(!e||!e.nodeName||1!=e.nodeType)},Re=function(e){return yg(e)||e==window||e==document},db=function(e,t,n){for(var r in t)!t.hasOwnProperty(r)||!n&&e.hasOwnProperty(r)||(e[r]=t[r]);return e},L=function(e,t){if(2<arguments.length){var n=gi(arguments,2);return function(){return e.apply(t||this,0<arguments.length?n.concat(gi(arguments)):n)}}return function(){return e.apply(t||this,arguments)}},tj=db,kf=va,Q={listeners:{},eventObjects:{}},sj=0;Q.addListener=function(e,t,n,r){return Re(e)?Q.addDomListener(e,t,n,r):new Jc(e,t,n,0)},Q.exist=function(e,t){var n=ke(e,t);return n&&!wg(n)},Q.removeListener=function(e){e.remove()},Q.clearListeners=function(e,t){Y(ke(e,t),function(e,t){e&&e.remove()})},Q.clearInstanceListeners=function(e){Y(ke(e),function(e,t){e&&e.remove()})},Q.trigger=function(e,t){if(Q.exist(e,t)){var n=gi(arguments,2),r=ke(e,t);Y(r,function(e){e&&e.handler.apply(e.instance,n)})}else if(Re(e)&&re(t,e))if(e.fireEvent)try{e.fireEvent("on"+t)}catch(e){}else e.dispatchEvent&&((r=document.createEvent("Events")).initEvent(t,!0,!0),e.dispatchEvent(r))},Q.addDomListener=function(e,t,n,r){var l=0;return e.addEventListener?(l=r?4:1,e.addEventListener(t,n,r),n=new Jc(e,t,n,l)):e.attachEvent?(n=new Jc(e,t,n,r?3:2),e.attachEvent("on"+t,uj(n)),r&&e.setCapture&&e.setCapture()):(e["on"+t]=n,n=new Jc(e,t,n,5)),n},Q.addDomListenerOnce=function(e,t,n,r){var l=Q.addDomListener(e,t,function(){return l.remove(),n.apply(this,arguments)},r);return l},Q.bindDom=function(e,t,n,r){return n=wj(r,n),Q.addDomListener(e,t,n)},Q.bind=function(e,t,n,r,l){return l?Q.addListenerOnce(e,t,L(n,r)):Q.addListener(e,t,L(n,r))},Q.addListenerOnce=function(e,t,n){var r=Q.addListener(e,t,function(){return r.remove(),n.apply(this,arguments)});return r},Q.forward=function(e,t,n){return Q.addListener(e,t,Zf(t,n))},Q.forwardDom=function(e,t,n,r){return Q.addDomListener(e,t,Zf(t,n,!r))},Q.unload=function(){var e=Q.listeners;Y(e,function(e){e&&e.remove()}),Q.listeners={},(e=window.CollectGarbage)&&e()};var xj=0;Jc.prototype.remove=function(){var e=this.instance,t=this.eventName;if(e){switch(this.browser){case 1:e.removeEventListener(t,this.handler,!1);break;case 4:e.removeEventListener(t,this.handler,!0);break;case 2:e.detachEvent("on"+t,this.bindHandler);break;case 3:e.detachEvent("on"+t,this.bindHandler),e.releaseCapture&&e.releaseCapture();break;case 5:e["on"+t]=null}delete Bh(e,t)[this.id],e.__events_&&(wg(e.__events_[t])&&delete e.__events_[t],wg(e.__events_)&&delete e.__events_),this.bindHandler=this.handler=this.instance=null,delete Q.listeners[this.id]}};var d=Q;$f.prototype.getTile=function(e,t,n,r,l){return e={element:n=n.createElement("div"),coord:e,zoom:t,instance:l},r&&(r=r.parentNode.createElement("div"),e.poiElement=r),n.data=e,this.grids.insert(e),n},$f.prototype.releaseTile=function(e){var t=e.data;this.grids.remove(t),Y(t,function(e,n){delete t[n]}),e.data=null},$f.prototype.stop=function(e){d.trigger(e.data,"stop",e.data)};var Dh=[6378136.49,-1],Ch=[null,Dh],hi=window.qq&&qq.maps&&qq.maps.__load;hi&&hi(yj);var zg=Ch,ii=zg[1],Fb=ii[0],W=function(e){return e*(Math.PI/180)},Dl=function(e,t){for(var n=[e];n.length;){var r=n.shift();for(t(r),r=r.firstChild;r;r=r.nextSibling)1==r.nodeType&&n.push(r)}},Ag=function(e){Dl(e,function(e){d.clearInstanceListeners(e)})},fa=function(){return new Date},Ua=zg[0],Ca=function(e){return"[object Object]"===Object.prototype.toString.apply(e)},G=function(e){return"[object String]"==Object.prototype.toString.call(e)},El=function(e){var t=new Image;t.onload=t.onerror=t.onabort=zj,t.src=e+"&random="+(+fa()).toString(36)},h=function(e,t){for(var n=0,r=e.length;n<r;++n)if(!1===t(e[n],n))return!1},Se=Ua[0][0],Gh=d,Gj=G,Fj=Ca,Cj=h,Dj=El,Fh=Ua[3][2]+"?appid=jsapi&v="+Se,Aj=1024-Fh.length-16,ag={},Xa=[];ag.submit=mf,Gh.addDomListener(window,"beforeunload",function(){mf(!0)}),setInterval(mf,5e3);var Bg=ag,sd=new Function,td=[],Fl=d.addListener(Bg,"submit",function(e){0<td.length&&(e("m",td.join("|")),td.length=0,d.removeListener(Fl),ji.set=sd)}),ji={set:function(e){td.push(e)}},fk=ji,ud=[0,0],Gl=d.addListener(Bg,"submit",function(e){0==ud[0]&&0==ud[1]||(e("mp",ud.join(",")),ud[0]=0,ud[1]=0,d.removeListener(Gl),Cg.set=sd)}),Cg={set:function(e,t){0!=e&&ud[0]++,0!=t&&ud[1]++}},Hl=Cg,Il=function(e,t){var n=W(e.getLat())-W(t.getLat()),r=W(e.getLng())-W(t.getLng());n=Math.sin(n/2)*Math.sin(n/2)+Math.cos(W(t.getLat()))*Math.cos(W(e.getLat()))*Math.sin(r/2)*Math.sin(r/2),n=2*Math.atan2(Math.sqrt(n),Math.sqrt(1-n));return Fb*n},xf=function(e,t,n){return e>=t&&e<=n?e:((e-t)%(n-t)+(n-t))%(n-t)+t},sb=Hh.prototype;sb.isEmpty=function(){return 360==this.minX-this.maxX},sb.intersects=function(e){var t=this.minX,n=this.maxX;return!this.isEmpty()&&!e.isEmpty()&&(t>n?e.minX>e.maxX||e.minX<=n||e.maxX>=t:e.minX>e.maxX?e.minX<=n||e.maxX>=t:e.minX<=n&&e.maxX>=t)},sb.contains=function(e){-180==e&&(e=180);var t=this.minX,n=this.maxX;return this.minX>this.maxX?(e>=t||e<=n)&&!this.isEmpty():e>=t&&e<=n},sb.extend=function(e){this.contains(e)||(this.isEmpty()?this.minX=this.maxX=e:this.distance(e,this.minX)<this.distance(this.maxX,e)?this.minX=e:this.maxX=e)},sb.equals=function(e){return this.isEmpty()?e.isEmpty():1e-9>=Math.abs(e.minX-this.minX)%360+Math.abs(e.maxX-this.maxX)%360},sb.center=function(){var e=(this.minX+this.maxX)/2;return this.minX>this.maxX&&(e=xf(e,-180,180)),e},sb.distance=function(e,t){var n=t-e;return 0<=n?n:t+180-(e-180)};var Gb=Ih.prototype;Gb.isEmpty=function(){return this.minY>this.maxY},Gb.intersects=function(e){var t=this.minY,n=this.maxY;return t<=e.minY?e.minY<=n&&e.minY<=e.maxY:t<=e.maxY&&t<=n},Gb.contains=function(e){return e>=this.minY&&e<=this.maxY},Gb.extend=function(e){this.isEmpty()?this.maxY=this.minY=e:e<this.minY?this.minY=e:e>this.maxY&&(this.maxY=e)},Gb.equals=function(e){return this.isEmpty()?e.isEmpty():1e-9>=Math.abs(e.minY-this.minY)+Math.abs(this.maxY-e.maxY)},Gb.center=function(){return(this.maxY+this.minY)/2};var Qc=function(e,t,n){return e<t?t:e>n?n:e},yf=Ua[0][1],F=Ua[5],Jl=Ua[4][7],gb=navigator.userAgent.toLowerCase(),Dg="opera msie chrome applewebkit firefox mozilla".split(" "),Eg="x11 macintosh windows android iphone ipad".split(" "),Kb=0,vd,cc,dc,Ac=0,Bc,Fg;for(vd=Dg.length;Kb<vd;Kb++)if(cc=Dg[Kb],-1!=gb.indexOf(cc)&&(Ac=Kb+1,dc=RegExp(cc+"[ /]?([0-9]+(.[0-9]+)?)").exec(gb))){Bc=parseFloat(dc[1]);break}for(6==Ac&&((dc=/^mozilla\/.*gecko\/.*(minefield|shiretoko)[ /]?([0-9]+(.[0-9]+)?)/.exec(gb))&&(Ac=5,Bc=parseFloat(dc[2])),(dc=/trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(gb))&&(Ac=2,Bc=parseFloat(dc[1]))),1==Ac&&(dc=/^opera\/9.[89].*version\/?([0-9]+(.[0-9]+)?)/.exec(gb))&&(Bc=parseFloat(dc[1])),Kb=0,vd=Eg.length;Kb<vd;Kb++)if(cc=Eg[Kb],-1!=gb.indexOf(cc)){Fg=Kb+1;break}var zf=[Ac,Bc,Fg],Z=zf[2],ki=/opera(\/| )(\d+(\.\d+)?)(.+?(version\/(\d+(\.\d+)?)))?/i.test(Eb)?+(RegExp.$6||RegExp.$2):0,y=function(e){return null===e},na=[],lb=document;na.isReady=!1,na._used=!1,na.ready=function(e){na.initReady(),na.isReady?e():na.push(e)},na.initReady=function(){if(!na._used){if(na._used=!0,"complete"===lb.readyState||"interactive"===lb.readyState)return na.fireReady();if(0<va&&9>va){lb.attachEvent("onreadystatechange",Jh);var e=function(){if(!na.isReady){var t=new Image;try{t.doScroll()}catch(t){return void setTimeout(e,64)}na.fireReady()}};e()}else lb.addEventListener("DOMContentLoaded",Kh,!1)}},na.fireReady=function(){if(!na.isReady){if(!lb.body)return setTimeout(na.fireReady,16);if(na.isReady=!0,na.length)for(var e,t=0;e=na[t];t++)e()}};var Gg=na.ready,li=window.qq||(window.qq={}),Af=li.maps||(li.maps={}),Te=function(e,t){if(null!==t)return Af[e]=t,["qq","maps",e];null===Af[e]||delete Af[e]},Lh=yf,le=window.document,Jj=/loaded|complete|undefined/i,Md=le.dispatchEvent?"onload":"onreadystatechange",Lj=0<ki,id={},Kj=Te("_svcb"+Z,id).join("."),me=[],Kl=0,Vb={send:function(e,t,n,r){return e||(e="cb"+(new Date).getTime().toString(36)+(Kl++).toString(36)),Gg(function(){hd(e),Ij(e,t,n,r)}),e},cancel:hd};ic.prototype.stop=function(){this.__event__&&vf(this.__event__)};var la=function(e){return"[object Array]"==Object.prototype.toString.call(e)},f=function(e,t){function n(){}n.prototype=t.prototype,e.prototype=new n},ne=d,Mj=ic,Ll=function(e){if(Object.keys)return Object.keys(e);var t=[];return Y(e,function(e,n){t.push(n)}),t},Hg={},ec={},Mh={},tb=k.prototype;tb.get=function(e){if(t=Ta(this)[e]){e=t.targetKey;var t=t.target,n=Hg[e]||(Hg[e]="get"+wf(e));return t[n]?t[n]():t.get(e)}return this[e]},tb.set=function(e,t){if((n=Ta(this)).hasOwnProperty(e)){var n=(r=n[e]).targetKey,r=r.target,l=ec[n]||(ec[n]="set"+wf(n));r[l]?r[l](t):r.set(n,t)}else this[e]=t,Ub(this,e)},tb.notify=function(e){var t=Ta(this);t.hasOwnProperty(e)?(e=t[e]).target.notify(e.targetKey):Ub(this,e)},tb.setValues=function(e){for(var t in e){var n=e[t],r=ec[t]||(ec[t]="set"+wf(t));this[r]?this[r](n):this.set(t,n)}},tb.setOptions=tb.setValues,tb.changed=function(e){return function(){}},tb.bindTo=function(e,t,n,r){n=n||e;var l=this;l.unbind(e,!0),He(l)[e]=ne.addListener(t,Kc(n.toLowerCase()),function(){Ub(l,e)}),Nj(l,e,t,n,r)},tb.bindsTo=function(e,t,n,r){n=n||[];for(var l=0,i=(e=la(e)?e:Ll(e)).length;l<i;l++)this.bindTo(e[l],t,n[l]||null,r)},tb.unbind=function(e,t){var n=He(this)[e];n&&(delete He(this)[e],ne.removeListener(n),n=t&&this.get(e),delete Ta(this)[e],t?this[e]=n:Ub(this,e))},tb.unbindAll=function(e){e||(e=[],Y(He(this),function(t,n){e.push(n)}));var t=this;h(e,function(e){t.unbind(e)})};var bk=k,Sd=function(e,t){for(var n;n=e.firstChild;)!t&&3!==n.nodeType&&Ag(n),e.removeChild(n)},Ml=Vb,Nl=Ua[2][4],Td=[Ua[2][2],Ua[2][3]],Ol=Ua[2][0],Pl=Ua[2][1],Oj=la,kn=Nh,Wb=function(e){return void 0===e},Ya=function(e,t){throw Error("Invalid value or type for property <"+e+"> :"+t)},Ig=function(e,t){Hl.set(e,t)},mi=function(e,t,n){var r={};n&&Y(n,function(e,t){r[t]=e}),t&&Y(t,function(e,t){r[t]=e}),e.setValues(r)},Qj=0,Ue=oe.prototype;Ue.insert=function(e){var t=this.items,n=this.hash(e);t[n]||(++this.length,t[n]=e,d.trigger(this,"insert",e))},Ue.remove=function(e){var t=this.items,n=this.hash(e);t[n]&&(--this.length,delete t[n],d.trigger(this,"remove",e))},Ue.contains=function(e){return!!this.items[this.hash(e)]},Ue.forEach=function(e){var t,n=this.items;for(t in n)n.hasOwnProperty(t)&&e.call(this,n[t])};var q=function(){var e=arguments,t=e.length;return function(){for(var n=0;n<t;++n)if(e[n].apply(this,arguments))return!0;return!1}},u=function(e){return"[object Number]"==Object.prototype.toString.call(e)&&isFinite(e)},ba=function(e){return"boolean"==typeof e},N=function(e){return function(t){return t instanceof e}},nb=function(e,t,n){return t=kn(t,!n),db(t,e,!0)},Xb=function(e){return function(t){new t(e)}},Tj=Ya,ra=function(e,t){for(var n=0,r=t&&t.length;n<r;n+=2){var l=t[n],i=t[n+1];e["get"+wf(l)]=Rj(l),i&&(e["set"+wf(l)]=Sj(l,i))}},wd={TOP_LEFT:1,TOP_CENTER:2,TOP:2,TOP_RIGHT:3,LEFT_CENTER:4,LEFT_TOP:5,LEFT:5,LEFT_BOTTOM:6,RIGHT_TOP:7,RIGHT:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM:11,BOTTOM_RIGHT:12,CENTER:13};f(Nd,k),Nd.prototype.set=function(e,t){return null!=t&&(!t||!t.regionStyles||!Ca(t.regionStyles)||!t.labelStyles||!Ca(t.labelStyles)||!t.lineStyles||!Ca(t.lineStyles)||!t.pointStyles||!Ca(t.pointStyles)||!t.arrowStyles||!Ca(t.arrowStyles)||!t.bgColor||!G(t.bgColor)||!t.stylesId||!G(t.stylesId))&&console.warn("实现qq.maps.mapStyles所需的值不符合要求,请重新传入参数尝试"),k.prototype.set.apply(this,arguments)};var wa={DEFAULT:"DEFAULT",TILE_BLACK:"TILE_BLACK",DARK:"DARK",TNIT:"TNIT",LIGHT:"LIGHT"};f(pe,k),pe.prototype.set=function(e,t){if(!(null==t||t&&t.tileSize&&u(t.maxZoom)&&t.tileSize.width&&t.tileSize.height))throw Error("实现 qq.maps.MapType 所需的值");return k.prototype.set.apply(this,arguments)};var Bf={DEFAULT:"default",CENTER:"center"},xd={ROADMAP:"roadmap",HYBRID:"hybrid",SATELLITE:"satellite",INDOORMAP:"indoormap"},ub=R.prototype;ub.getX=function(){return this.x},ub.getY=function(){return this.y},ub.toString=function(){return this.x+", "+this.y},ub.equals=function(e){return!!e&&e.x==this.x&&e.y==this.y},ub.distanceTo=function(e){return Math.sqrt(Math.pow(this.x-e.x,2)+Math.pow(this.y-e.y,2))},ub.minus=function(e){return new R(this.x-e.x,this.y-e.y)},ub.plus=function(e){return new R(this.x+e.x,this.y+e.y)},ub.divide=function(e){return new R(this.x/e,this.y/e)},ub.multiply=function(e){return new R(this.x*e,this.y*e)},ub.clone=function(){return new R(this.x,this.y)};var Vj=xf,Uj=Qc,ni=function(e,t){var n=Math.pow(10,t);return Math.round(e*n)/n},Oh=85.051128,Bb=A.prototype;Bb.toString=function(){return this.lat+", "+this.lng},Bb.equals=function(e){return!!e&&1e-10>=Math.abs(this.lat-e.lat)&&1e-10>=Math.abs(this.lng-e.lng)},Bb.getLat=function(){return this.lat},Bb.getLng=function(){return this.lng},Bb.toUrlValue=function(e){return e=e||6,ni(this.lng,e)+","+ni(this.lat,e)},Bb.clone=function(){return new A(this.lat,this.lng,!0)},Bb.distanceTo=function(e){return Il(this,e)},Bb.subtract=function(e){return new A(this.lat-e.lat,this.lng-e.lng)};var oi=Math.PI/180,pi=180/Math.PI;Bb.toMercator=function(){var e=[6378137*this.lng*oi,6378137*Math.log(Math.tan(.25*Math.PI+.5*this.lat*oi))];return 20037508.342789244<e[0]&&(e[0]=20037508.342789244),-20037508.342789244>e[0]&&(e[0]=-20037508.342789244),20037508.342789244<e[1]&&(e[1]=20037508.342789244),-20037508.342789244>e[1]&&(e[1]=-20037508.342789244),new R(e[0],e[1])},A.fromMercator=function(e){return new A((.5*Math.PI-2*Math.atan(Math.exp(-e.y/6378137)))*pi,e.x*pi/6378137)},f(ac,k);var vb=ac.prototype;vb.getAt=function(e){return this.elems[e]},vb.forEach=function(e){for(var t=0,n=this.get("length");t<n&&!1!==e(this.elems[t],t);++t);},vb.setAt=function(e,t){var n=this.elems[e],r=this.elems.length;if(e<r)this.elems[e]=t,d.trigger(this,"set_at",e,n);else{for(n=r;n<e;++n)this.insertAt(n,void 0);this.insertAt(e,t)}},vb.insertAt=function(e,t){this.elems.splice(e,0,t),this.set("length",this.elems.length),d.trigger(this,"insert_at",t,e)},vb.removeAt=function(e){var t=this.get("length");if(t>e){var n=this.elems[e];return this.elems.splice(e,1),this.set("length",t-1),d.trigger(this,"remove_at",n,e),n}},vb.push=function(e){return this.insertAt(this.elems.length,e),this.elems.length},vb.pop=function(){return this.removeAt(this.elems.length-1)},vb.exists=function(e){if(e)for(var t=0;t<this.elems.length;t++)if(e==this.elems[t])return!0;return!1},vb.remove=function(e){for(var t=0;t<this.elems.length;t++)if(e==this.elems[t])return this.removeAt(t)},vb.clear=function(){for(var e=this.elems.length;e--;)this.removeAt(0)},vb.getArray=function(){return this.elems},ra(vb,["length",0]);var bg=xf,Ph=Qc,Ie=Ih,Od=Hh,Cb=qb.prototype;Cb.isEmpty=function(){return this.lat.isEmpty()||this.lng.isEmpty()},Cb.getSouthWest=function(){return new A(this.lat.minY,this.lng.minX,!0)},Cb.getNorthEast=function(){return new A(this.lat.maxY,this.lng.maxX,!0)},Cb.getCenter=function(){return new A(this.lat.center(),this.lng.center())},Cb.intersects=function(e){return this.lat.intersects(e.lat)&&this.lng.intersects(e.lng)},Cb.contains=function(e){var t,n=this.getSouthWest,r=this.getNorthEast;return e instanceof qb?(t=e.getSouthWest(),e=e.getNorthEast(),t.lat>=n.lat&&e.lat<=r.lat&&t.lng>=n.lng&&e.lng<=r.lng):this.lat.contains(e.getLat())&&this.lng.contains(e.getLng())},Cb.extend=function(e){if(this.isEmpty()){var t=e.getLat();e=e.getLng(),this.lat=new Ie(t,t),this.lng=new Od(e,e)}else this.lat.extend(e.getLat()),this.lng.extend(e.getLng());return this},Cb.union=function(e){if(!e.isEmpty())return this.extend(e.getNorthEast()),this.extend(e.getSouthWest()),this},Cb.equals=function(e){return!!e&&this.lat.equals(e.lat)&&this.lng.equals(e.lng)},Cb.clone=function(){return new qb(this.getSouthWest(),this.getNorthEast())},Cb.toString=function(){return this.getSouthWest()+", "+this.getNorthEast()},Cb.toUrlValue=function(){return this.getSouthWest().toUrlValue()+","+this.getNorthEast().toUrlValue()};var cg=ac,Cf=A,ak=oe,hk=function(e){var t=window.setTimeout(e,1e3);Ml.send(null,Jl,function(n){n&&n.info&&0===n.error&&(n=n.info,F[0]&&n["1d"]&&(F[0][6]=n["1d"],F[3][6]=n["1d"]),F[1]&&n["2d"]&&(F[1][6]=n["2d"]),F[7]&&n.vt&&(F[7][4]=n.vt),F[2]&&n.sat&&(F[2][6]=n.sat)),e(),clearTimeout(t)},e)},dk=wd,Yj=pe,Zj=Nd,ck=Y,Xj=Sd,Wj=Wb,Lc=G,Cf=A,Qh=d,ek=mi,gk=Ig,Pd={mapTypeId:xd.ROADMAP,mapStyleId:wa.DEFAULT,maxZoom:Pl,minZoom:Ol,disableDefaultUI:!1,boundary:null,autoResize:!0,resizeKeepCenter:!0,mapZoomType:Bf.DEFAULT,mapZoomOffset:new R(0,0)};Td[0]&&Td[1]&&(Pd.center=new Cf(Td[0],Td[1]),Pd.zoom=Nl),f(mb,k);var mc=mb.prototype;ra(mb.prototype,["projection",null,"bounds",null,"boundary",q(N(qb),y),"center",N(Cf),"zoom",u,"mapTypeId",Lc,"mapStyleId",Lc]),mc._=function(){return this.V},mc.getContainer=function(){return this.container},mc.panBy=rb("panby"),mc.panTo=rb("panto"),mc.flyTo=rb("fly_to"),mc.zoomBy=function(e){var t=this.getZoom();u(t)&&this.setZoom(t+e)},mc.zoomTo=function(e){this.setZoom(e)},mc.fitBounds=rb("fitbounds"),mc.panToBounds=rb("pantolatlngbounds"),f(Mc,k),Mc.prototype.map_changed=function(){var e=this;P.$require("oy",function(t){t(e)})},ra(Mc.prototype,["map",q(N(mb),y),"panes",null,"projection",null]),Jb.fromHex=function(e,t){"#"===e.substring(0,1)&&(e=e.substr(1));var n=3===e.length?1:2,r=e.substr(0,n),l=e.substr(n,n),i=e.substr(2*n,n);return 1===n&&(r+=r,l+=l,i+=i),new Jb(r=parseInt(r,16),l=parseInt(l,16),i=parseInt(i,16),t||1)};var nc=Jb.prototype;nc.toRGB=function(){return"rgb("+[this.red,this.green,this.blue].join()+")"},nc.toRGBA=function(){return"rgba("+[this.red,this.green,this.blue,this.alpha].join()+")"},nc.toHex=function(){return"#"+(16777216+(this.red<<16)+(this.green<<8)+this.blue).toString(16).slice(1).toUpperCase()},nc.toInt=function(){return this.red<<16|this.green<<8|this.blue},nc.toString=function(){return this.toRGBA()},nc.clone=function(){return new Jb(this.red,this.green,this.blue,this.alpha)};var nk=Xb,Nc=ac,mk=nb,lk=h,kk=la,jk=N(Nc),jd=Jb;f(vc,Mc),vc.prototype.getPath=function(){return this.get("path")},vc.prototype.setPath=function(e){this.set("path",ik(e)||new Nc)},vc.prototype.getBounds=function(){if(i=null,(l=this.getPath())&&l.getLength()){var e=[],t=[];l.forEach(function(n){e.push(n.getLng()),t.push(n.getLat())});var n=Math.min.apply(Math,e),r=Math.min.apply(Math,t),l=Math.max.apply(Math,e),i=Math.max.apply(Math,t);i=new qb(n=new A(r,n),l=new A(i,l))}return i},ra(vc.prototype,["map",q(N(mb),y),"visible",ba,"simplify",ba,"clickable",ba,"editable",ba,"cursor",G,"zIndex",u,"geodesic",ba,"strokeDashStyle",q(G,y),"strokeColor",q(N(jd),G,y),"strokeWeight",q(u),"fillColor",q(N(jd),G,y)]);var Rh=vc;f(dg,Rh);var Th=vc;f(Sh,Th);var ok=nb,Qd=Jb,pk=Xb;f(Je,Mc),ra(Je.prototype,["map",q(N(mb),y),"visible",ba,"center",q(N(A),y),"radius",q(u,y),"cursor",q(G,y),"zIndex",q(u,y),"fillColor",q(N(Qd),G,y),"strokeColor",q(N(Qd),G,y),"strokeWeight",u,"strokeDashStyle",q(G,y)]);var Ql=/-./g,Rl=function(e){return e.charAt(1).toUpperCase()},qi={};qi.float=va?"styleFloat":"cssFloat";var Sl=(e=qi,e=e||{},function(t){return vg(e,t)?e[t]:e[t]=function(e){return e.replace(Ql,Rl)}(t)}),E=function(e,t,n){e.style[Sl(t)]=n},Ud=5==Z||6==Z,yd=zf[1],ab=zf[0],Lb=function(){var e=re,t=yd,n=Ud,r=(n=4==(i=ab)&&n,t=4==i&&4==Z&&534<=t,3==i&&4==Z),l=2==i&&0<navigator.msMaxTouchPoints,i=2==i&&0<navigator.maxTouchPoints;e=1!=Z&&2!=Z&&e("touchstart")&&e("touchmove")&&e("touchend");return!!(n||t||r||l||i||e)}(),Jg=1==Z||2==Z||3==Z||!!window.navigator.msPointerEnabled||!Lb,Tl=/android\s(\d+\.\d)/i.test(Eb)?+RegExp.$1:0,ln=/iPhone\sOS\s(\d[_\d]*)/i.test(Eb)?+parseFloat(RegExp.$1.replace(/_/g,".")):0,mn=/iPad.*OS\s(\d[_\d]*)/i.test(Eb)?+parseFloat(RegExp.$1.replace(/_/g,".")):0,Ul="ontouchstart"in window||mn||ln||Tl,Vl=/(\d+\.\d)?(?:\.\d)?\s+safari\/?(\d+\.\d+)?/i.test(Eb)&&!/chrome/i.test(Eb)?+(RegExp.$1||RegExp.$2):0,Ve=function(e,t,n){var r=e.length;for(0>(n=n||0)&&(n+=r);n<r;n++)if(e[n]===t)return n;return-1},Df={anims:[],timer:null,add:function(e){e._startTime=+fa(),-1===Ve(this.anims,e)&&this.anims.push(e),null===this.timer&&(this.timer=setInterval(this.nextFrame,16))},remove:function(e){var t=this.anims;h(this.anims,function(n,r){if(e===n)return delete e._startTime,t.splice(r,1),!1}),0===t.length&&(clearInterval(this.timer),this.timer=null)},nextFrame:function(){var e=+fa(),t=[],n=null;h(Df.anims.concat(),function(r){if(r._startTime){t.push(r),n=+fa();var l=e-r._startTime,i=!1;l>=r.duration&&(l=r.duration,i=!0),r.set("current",l),r.onEnterFrame(l),i?r.stop():r.status||(r.status=1),r._frameDuration=+fa()-n}});var r=+fa()-e;h(t,function(e){e._startTime&&(e.onExitFrame(e._frameDuration,r),delete e._frameDuration)})}},e;f(eg,k);var oc=eg.prototype;oc.start=function(){function e(){t.onStart(),t.status=0,Df.add(t),delete t._delayTimer}this.stop(!0);var t=this;this.delay?t._delayTimer=window.setTimeout(e,t.delay):e()},oc.stop=function(e){this._delayTimer&&(window.clearTimeout(this._delayTimer),delete this._delayTimer),Df.remove(this),this.status=-1,e||this.onEnd()},oc.getStatus=function(){return this.status},oc.onStart=function(){},oc.onEnterFrame=function(){},oc.onExitFrame=function(){},oc.onEnd=function(){};var Kg=function(e){if(e=e||window.event,va)e=[e.clientX+(document.documentElement.scrollLeft||document.body.scrollLeft),e.clientY+(document.documentElement.scrollTop||document.body.scrollTop)];else if(e.touches){var t=null;0<e.targetTouches.length?t=e.targetTouches[0]:0<e.changedTouches.length&&(t=e.changedTouches[0]),e=[t.pageX,t.pageY]}else e=[e.pageX,e.pageY];return e},se=function(e){if(null===e.parentNode||"none"==e.style.display)return[0,0,0,0];var t=null,n=0,r=0,l=e.offsetWidth,i=e.offsetHeight;if(e.getBoundingClientRect&&!Ul)t=e.getBoundingClientRect(),e=Math.max(document.documentElement.scrollTop,document.body.scrollTop),n=Math.max(document.documentElement.scrollLeft,document.body.scrollLeft),n=t.left+n,r=t.top+e;else{if(document.getBoxObjectFor)t=document.getBoxObjectFor(e),n=e.style.borderLeftWidth?parseInt(e.style.borderLeftWidth):0,r=e.style.borderTopWidth?parseInt(e.style.borderTopWidth):0,n=t.x-n,r=t.y-r;else{if(n=e.offsetLeft,r=e.offsetTop,(t=e.offsetParent)!=e)for(;t;)n+=t.offsetLeft,r+=t.offsetTop,t=t.offsetParent;(ki||Vl&&"absolute"==e.style.position)&&(n-=document.body.offsetLeft,r-=document.body.offsetTop)}for(t=e.parentNode?e.parentNode:null;t&&"BODY"!=t.tagName&&"HTML"!=t.tagName;)n-=t.scrollLeft,r-=t.scrollTop,t=t.parentNode?t.parentNode:null}return[n,r,l,i]},rk=Jg,qk=Lb;f(Ke,k);var Hb=Ke.prototype;Hb.start=function(){this.set("tracking",!0)},Hb.stop=function(){this.set("tracking",!1)},Hb.addListener=function(e,t){return d.addListener(this,e,t)},Hb.removeListener=function(e){return d.removeListener(e)},Hb.clearAllListener=function(){d.clearInstanceListeners(this)};var T=function(e,t,n,r,l){return e=document.createElement(e||"div"),r&&(e.style.cssText=r),null!=n&&E(e,"z-index",n),t&&!l&&t.appendChild(e),e},ob={Copyright:{prefix:"©"+new Date(Ua[3][0]).getFullYear()+" Tencent",sno:"GS(2016)930号",dataPrefix:"Data©",imagePrefix:"Imagery©",home:"到腾讯地图查看此区域"},Key:{invalid:"开发者密钥验证失败"},PhoneTime:"拍摄日期",MapType:{ROADMAP:{name:"地图",alt:"显示街道地图"},SATELLITE:{name:"卫星",alt:"显示卫星地图"},HYBRID:{name:"混合",alt:"显示带有街道名称的卫星地图"},TRAFFIC:{name:"路况",alt:"显示实时路况"}},Navigation:{zoomIn:"放大",zoomOut:"缩小",left:"向左平移",right:"向右平移",up:"向上平移",down:"向下平移",ruler:"单击缩放",slide:"拖动缩放",zoomTips:{17:"街",11:"市",8:"省",4:"国"}},Scale:{m:"米",km:"公里",mile:"英里",feet:"英尺"},Time:{msec:"毫秒",sec:"秒",min:"分钟",hour:"小时"},Transfer:["乘坐","经过","站","到达","终点"],Direction:"东 东北 北 西北 西 西南 南 东南".split(" ")},t;t=navigator.systemLanguage||navigator.language,t=t.toLowerCase().split("-")[0];var Mb={POI:"poi",SYN:"syn",POI_SYN:"poi_syn",RN:"rn",BUSLS:"busls",BUS:"bus",DT:"dt",DTS:"dts",GEOC:"geoc",RGEOC:"rgeoc",GC:"gc",CC:"cc",NAV:"snsnav",WALK:"walk",POS:"pos",SG:"sg",TAXFEE:"taxfee"},sk=db;f(Wc,k);var Ef=Wc.prototype;Ef.send=function(){this.set("doSend",!0)},Ef.cancel=function(){this.set("doSend",!1)},Ef.clear=function(){this.set("doClear",!0)},ra(Wc.prototype,["complete",q(U,y),"error",q(U,y),"map",q(N(mb),y),"panel",q(yg,G,y)]);var Ad=function(e){var t=[];return Y(e,function(e,n){t.push(n+"="+encodeURIComponent(e))}),t.join("&")},Lg=function(e,t,n,r,l,i){return{id:e,latlng:t||null,heading:n||0,pitch:r||0,zoom:l||1,description:i||""}},ri=function(e){return 114.59155902616465*Math.atan(Math.exp(e/111319.49077777778*.017453292519943295))-90},Xl=Ua[4][3],To=Ua[4][2],Fk=k;Ua[4][0];var vk=Xb,tk=nb,uk=ac;f(fg,k),ra(fg.prototype,["gridSize",u,"minimumClusterSize",u,"maxZoom",u,"zoomOnClick",ba,"averageCenter",ba,"styles",la,"map",q(N(mb),y)]);var Yl=function(e,t){this.coords=e,this.type=t},te=function(e,t){this.content=e,this.offset=t||new R(0,0)},ue=function(e,t,n,r,l,i){this.url=e,this.size=t||l,this.origin=n||new R(0,0),this.anchor=r,this.scaledSize=l,this.shadowAngle=i||0},yk=Xb,xk=nb,Uh=d;f(kb,Mc),kb.prototype.changed=function(e){this.viewModel&&"constructed"!==e&&("icon"==e||"shadow"==e||"shape"==e||"cross"==e||"useDefaults"==e?this.viewModel.styleChange(e):"animation"==e?this.viewModel.animationChange(e):"height"==e?(this.viewModel.set(e,this.get(e)),this.viewModel.animationChange(e)):this.viewModel.set(e,this.get(e)))},kb.prototype.moveTo=wc("moveTo"),kb.prototype.moveAlong=wc("moveAlong"),kb.prototype.stopMove=wc("stopMove"),kb.prototype.pauseMove=wc("pauseMove"),kb.prototype.resumeMove=wc("resumeMove"),ra(kb.prototype,["position",q(N(A),y),"title",q(u,G,y),"icon",q(N(ue),G,y),"shadow",q(N(ue),y),"shape",q(N(Yl),y),"decoration",q(N(te),y),"cursor",q(G,y),"clickable",ba,"animation",q(u,G,y),"draggable",ba,"visible",ba,"flat",ba,"zIndex",u,"height",u,"map",q(N(mb),y),"rotation",u,"autoRotation",ba]);var Bk=ac,Ek=oe,Ak=wd,Vh=d,Ck=mi,gg=G,zk=Y,Gk=Ig,Dk={pano:null,position:null,zoom:1,scrollwheel:!0,visible:!0,disableDefaultUI:!1,autoResize:!0};f(xc,k);var We=xc.prototype;We._=function(){return this.V},ra(xc.prototype,["position",null,"planeInfo",null,"pano",q(gg,y),"pov",Ca,"zoom",function(e){return!(!u(e)||1>e||4<e)},"visible",ba]),We.startAutoPlay=hg("startAutoPlay"),We.stopAutoPlay=hg("stopAutoPlay"),f(yc,k),yc.prototype.panorama_changed=function(){var e=this;P.$require("pano",function(t){t(e)},1)},ra(yc.prototype,["position",q(N(A),y),"panorama",q(N(xc),y),"content",G,"altitude",u,"visible",ba]);var Hk=sd;f(Oc,k),Oc.prototype.map_changed=function(){var e=this;P.$require("layers",function(t){t(e)},1)},ra(Oc.prototype,["map",q(N(mb),y)]),nf.prototype.checkBounds=function(e,t){var n={has_sv:1,bound:e.toUrlValue()};Wh(null,n=Xl+"?"+Ad(n),function(e){t(e.detail.has_sv||0)})},nf.prototype.getPano=function(e,t,n){Wh("",To+"?lat="+e.lat+"&lng="+e.lng+"&r="+(t||500),function(e){if(e.detail.svid){var t=e.detail.road_name||"";"NA"===t&&(t=""),(e=new Lg(e.detail.svid,new A(ri(e.detail.y),e.detail.x/111319.49077777778),null,null,null,t)).svid=e.id,n(e)}else n(null)})};var Zl={NORMAL:0,BUS_STATION:1,SUBWAY_STATION:2,BUS_LINE:3,DISTRICT:4},si={BUS:"BUS",SUBWAY:"SUBWAY",WALK:"WALK"},$l={LEAST_TIME:0,LEAST_TRANSFER:1,LEAST_WALKING:2,MOST_ONE:3,NO_SUBWAY:4},am={LEAST_TIME:0,AVOID_HIGHWAYS:1,LEAST_DISTANCE:2,REAL_TRAFFIC:3,PREDICT_TRAFFIC:4},Ik=db,Kk=Xb,Jk=am;f(jc,Wc);var ti=jc.prototype;ti.search=function(e,t){var n=q(G,N(A),Ca);n(e)&&n(t)?(this.set("start",e),this.set("end",t),this.send()):n(e)?Ya("end",t):Ya("start",e)},ra(jc.prototype,["complete",q(U,y),"error",q(U,y),"location",G,"policy",u]),ti.setPolicy=function(e,t){this.set("policy",e),this.set("time",t)};var Lk=db,Nk=Xb,Mk=$l;f(kd,Wc),kd.prototype.search=function(e,t){var n=q(G,N(A),Ca);n(e)&&n(t)?(this.set("start",e),this.set("end",t),this.send()):n(e)?Ya("end",t):Ya("start",e)},ra(kd.prototype,["complete",q(U,y),"error",q(U,y),"location",G,"policy",u]);var Ok=db,Pk=Xb;f(kc,Wc),kc.prototype.searchById=function(e){this.set("info",e),this.send()},ra(kc.prototype,["complete",q(U,y),"error",q(U,y)]);var Qk=db,Rk=Xb;f(Rd,Wc),Rd.prototype.searchById=function(e){this.set("info",e),this.send()},ra(Rd.prototype,["complete",q(U,y),"error",q(U,y)]);var Tk=Xb,ig=Wc,Sk=d;f(of,ig);var Bd=of.prototype;Bd.searchLocalCity=function(){this.set("mode",0),this.set("info",null),this.send()},Bd.searchCityByName=function(e){this.set("mode",1),this.set("info",e),this.send()},Bd.searchCityByLatLng=function(e){this.set("mode",2),this.set("info",e),this.send()},Bd.searchCityByIP=function(e){this.set("mode",3),this.set("info",e),this.send()},Bd.searchCityByAreaCode=function(e){this.set("mode",4),this.set("info",e),this.send()};var Vk=Xb,jg=Wc,Uk=d;f(pf,jg);var ui=pf.prototype;ui.getAddress=function(e){this.set("qt",Mb.RGEOC),this.set("info",e),this.send()},ui.getLocation=function(e){this.set("qt",Mb.GEOC),this.set("info",e),this.send()};var Xh=Wc,Xk=d,Yk=Xb,Wk=db;f(ld,Xh);var Mg=ld.prototype;Mg.search=function(e){this.set("keyword",e),e=Mb.POI,2===this.get("mode")&&(e=Mb.BUSLS),this.set("qt",e),this.send()},Mg.searchInBounds=function(e,t){this.set("qt",Mb.POI_SYN),this.set("keyword",e),this.set("region",t),this.send()},Mg.searchNearBy=function(e,t,n,r){this.set("qt",Mb.RN),this.set("keyword",e),this.set("region",[t,n]),this.set("sortType",r||0),this.send()},ra(ld.prototype,["complete",q(U,y),"error",q(U,y),"pageIndex",u,"pageCapacity",u,"location",q(G,y)]);var ga={ERROR:"ERROR",NO_RESULTS:"NO_RESULTS",INVALID_REQUEST:"INVALID_REQUEST",UNKNOWN_ERROR:"UNKNOWN_ERROR"},Nb={POI_LIST:"POI_LIST",CITY_LIST:"CITY_LIST",AREA_INFO:"AREA_INFO",GEO_INFO:"GEO_INFO",STATION_INFO:"STATION_INFO",LINE_INFO:"LINE_INFO",TRANSFER_INFO:"TRANSFER_INFO",DRIVING_INFO:"DRIVING_INFO",MULTI_DESTINATION:"MULTI_DESTINATION",AUTOCOMPLETE_PREDICTION:"AUTOCOMPLETE_PREDICTION"},Zk=sd;f(md,k),md.prototype.map_changed=function(){var e=this;P.$require("layers",function(t){t(e)},0)},ra(md.prototype,["map",q(N(mb),y)]);var bm={DEFAULT:0},Cd=ma.prototype;Cd.getWidth=function(){return this.width},Cd.getHeight=function(){return this.height},Cd.toString=function(){return this.width+", "+this.height},Cd.equals=function(e){return!!e&&e.width==this.width&&e.height==this.height},Cd.clone=function(){return new ma(this.width,this.height)};var $k=nb,al=bm,Ng=kg.prototype;Ng.setMap=function(e){this.map&&(this.map.setOptions({scaleControl:!1}),this.map=void 0),e&&(this.map=e,this.setOptions(e.get("scaleControlOptions")))},Ng.setOptions=function(e){e=e||{},this.map.setOptions({scaleControl:!0,scaleControlOptions:{position:e.align||e.position}})};var ve={DEFAULT:0,LARGE:1,SMALL:2},Og={DEFAULT:0,SMALL:1,ZOOM_PAN:2},cl=ma,bl=nb,Le=Og,vi=lg.prototype;vi.setMap=function(e){this.map&&(this.map.setOptions({zoomControl:!1,panControl:!1}),this.map=void 0),e&&(this.map=e,this.setOptions(this.opts))},vi.setOptions=function(e){switch((e=e||{}).style){case Le.SMALL:this.map.setOptions({zoomControl:!0,zoomControlOptions:{position:e.position||e.align,style:ve.SMALL,zoomTips:e.zoomTips},panControl:!1});break;case Le.ZOOM_PAN:this.map.setOptions({zoomControl:!0,zoomControlOptions:{style:ve.SMALL,position:e.position||e.align,zoomTips:e.zoomTips},panControl:!0,panControlOptions:{position:e.position||e.align}});break;default:this.map.setOptions({zoomControl:!0,zoomControlOptions:{style:ve.DEFAULT,position:e.position||e.align,zoomTips:e.zoomTips},panControl:!0,panControlOptions:{position:e.position||e.align}})}};var dl=h,el=["position","style","mapTypeIds","align"];f(mg,k);var Yh=k,Da=d,Db=h,fl=eg;lc.prototype.add=function(e){e.mvcRN||(e.mvcRN=++this.count,this.views.push(e),!this.isRun&&0<this.count&&this.start())},lc.prototype.renderOne=function(e){delete e.mvcRN,e.draw()},lc.prototype.renderViews=function(){for(var e=null,t=this.views;e=t.shift();)e.mvcRN&&this.renderOne(e);this.count=0},lc.prototype.start=function(){this.isRun=!0;var e=this,t=this.anim,n=this.views;t.onEnterFrame=function(){n[0]?e.renderViews():e.stop()},t.onEnd=function(){e.isRun&&t.start()},t.delay=10,t.start()},lc.prototype.stop=function(){this.isRun=!1;var e=this.anim;delete e.onEnd,e.stop()};var Pg=new lc;f(Wa,Yh);var ya=Wa.prototype;ya.redraw=function(e){e?this.forcedraw():Pg.add(this)},ya.forcedraw=function(){Pg.renderOne(this)},ya.draw=function(){},ya.dispose=function(){Da.removeListener(this._fdrawListener)},ya.triggerEvents=function(e,t,n){var r=this._model;if(r){if(Re(t))for(var l=new Ke(t),i=this,a=0,s=e.length;a<s;a++)l.addListener(e[a],function(e,t){return function(n){var r=i.getMouseContainerPixel(n);n=new ic(i.getMouseEventLatLng(n,r),r,t,e,n),Da.trigger(e,t,n)}}(r,e[a]));if(null==t||t==r){for(t=new ic,l=0,a=n.length;l<a;l+=2)t[n[l]]=n[l+1];t.target=r,t.type=e,Da.trigger(r,e,t)}}},ya.triggerMapsEvent=function(e,t){var n=null,r=null,l=this._model;l&&(t&&(n=this.getMouseContainerPixel(t),r=this.getMouseEventLatLng(t,n)),n=new ic(r,n,e,l,t),Da.trigger(l,e,n))},ya.triggerCustomEvent=function(e,t,n){n=n||{};var r=null,l=this._model;if(l){if(t){var i=l.get("map")||l;i&&(i=i.get("mapCanvasProjection"))&&(r=i.fromLatLngToContainerPixel(t))}var a=new ic(t,r,e,l,null,n.cursorPixel);n&&Y(n,function(e,t){a[t]=e}),Da.trigger(l,e,a)}},ya.forwardEvents=function(e){var t=this._model;if(t){t._eventTaget||(t._eventTaget={});for(var n=0,r=e.length;n<r;n++)Da.forward(t._eventTaget,e[n],this)}},ya.getMouseEventLatLng=function(e,t){var n=this._model;if(n&&(n=n.get("map")||n))return t=t||this.getMouseContainerPixel(e),(n=n.get("mapCanvasProjection"))&&n.fromContainerPixelToLatLng(t,!0)},ya.getMouseEventPoint=function(e){var t=this._model;if(t&&(t=t.get("map")||t))return e=this.getMouseContainerPixel(e),t.get("mapCanvasProjection").fromContainerPixelToPoint(e)},ya.getMouseContainerPixel=function(e){var t=this._model;if(t)return t=(t=t.get("map")||t).get("mapContainer")||t.getContainer(),t=se(t),new R((e=Kg(e))[0]-t[0],e[1]-t[1])},ya.getModel=function(){return this._model},ya.keysReady=function(e,t,n){ng(this,e,t,function(e,t){var r=!0;return Db(e,function(e,l){if(n&&ba(n(e,t[l]))||(null===e||Wb(e)))return r=!1}),r})},ya.keysUnReady=function(e,t,n){ng(this,e,t,function(e,t){var r=!1;return Db(e,function(e,l){var i;if(n&&ba(i=n(e,t[l]))?i:null===e||Wb(e))return r=!0,!1}),r})},f(nd,Wa);var wi=nd.prototype;wi.changed=function(e){this.a[e]=!0,this.redraw()},wi.draw=function(){var e=this.get("map"),t=this.get("content"),n=this.get("visible"),r=this.a,l=this.l;if(this.a={},e&&t&&!1!==n){var i=this.get("align")||wd.TOP_CENTER;if((n=this.e)||(n=this.e=T("div")),r.map||r.align){var a=this.e;l&&a&&l.remove(a),(l=this.l=e.controls[i]).push(n)}r.content&&(og(n),G(t)?n.innerHTML=t:n.appendChild(t)),r.margin&&(e=this.get("margin")||new ma(0,0),n.style.margin=[e.getWidth()+"px",e.getHeight()+"px",e.getWidth()+"px",e.getHeight()+"px"].join(" ")),n&&d.trigger(n,"resize")}else e=this.e,l&&e&&l.remove(e),og(this.e)},ra(nd.prototype,["map",q(N(mb),y),"content",q(G,yg),"align",u,"margin",N(ma),"zIndex",u,"visible",ba]);var gl=nb,hl=Xb;f(Me,Mc),ra(Me.prototype,["map",q(N(mb),y),"imageUrl",q(G,y),"bounds",q(N(qb),y),"visible",ba,"clickable",ba,"cursor",G,"zIndex",q(u,y),"opacity",q(u,y)]);var il=nb,jl=Xb;f(qf,Mc),ra(qf.prototype,["map",q(N(mb),y),"position",q(N(A),y),"content",q(G,y),"title",q(G,y),"visible",ba,"zIndex",q(u,y),"offset",q(N(ma),y),"style",q(Ca,G,y),"clickable",ba]);var kl=nb,ll=Xb,Zh=Mc;f(Ne,Zh),ra(Ne.prototype,["map",q(y,N(mb)),"position",q(y,N(A),N(k)),"content",q(G,yg,y),"zIndex",u]),Ne.prototype.open=function(){this.set("visible",!0),this.get("disableAutoPan")||this.notify("autoPan")},Ne.prototype.close=function(){this.set("visible",!1)},Ne.prototype.notifyResize=function(){this.notify("resize")};var pg=Je;f($h,pg),$h.prototype.getBounds=function(){var e=this.get("center"),t=this.get("radius"),n=null;if(e)if(0>=t)n=new qb(e.clone(),e.clone());else{var r=t/6378137,l=(t=(l=e.getLat())+(i=180*r/Math.PI),n=l-i,Math.cos(l*Math.PI/180)),i=360*Math.asin(r/2/l)/Math.PI;l=e.getLng()+i,n=new qb(new A(n,e=e.getLng()-i),new A(t,l))}return n};var bi=Sh;f(ai,bi);var ci=dg;f(od,ci);var qg=fg;f(rf,qg);var pc=rf.prototype;pc.addMarker=function(e){this.clusterView.addMarker(e)},pc.removeMarker=function(e){var t=this.get("markers");t&&(t.remove(e),this.clusterView.removeMarker(e))},pc.addMarkers=function(e){var t=this.get("markers");h(e,function(e){t.push(e)}),this.clusterView.redraw()},pc.removeMarkers=function(e){var t=this.get("markers");h(e,function(e){t.remove(e)}),this.clusterView.removeMarkers(e)},pc.clearMarkers=function(){var e=this.get("markers");this.clusterView.removeMarkers(e.elems.slice()),e.clear()},pc.getMarkers=function(){return this.get("markers")},pc.getClustersCount=function(){return this.clusterView.getClusterCount()},pc.updateView=function(){return this.clusterView.reloadView()};var cm={BOUNCE:1,DROP:2,UP:3,DOWN:4},rg=kb;f(qe,rg);var nl=oe,ol=$f,ml=db,zc=L;f(sf,k),ra(sf.prototype,["opacity",q(u,y)]);var dm=function(e){var t;return function(){return e&&(t=e(),e=null),t}},nn=Ua[3][1],Xe=function(){return window.devicePixelRatio||screen.deviceXDPI&&screen.deviceXDPI/96||1},xi=dm(function(){var e=document.createElement("canvas");return e.width=16,e.height=16,!(!e||!e.getContext)}),Ff=nn,Ff=Ff+"?appid=jsapi&logid=0&v=",yi=ii[1],Qg=Ua[6][2],pl=qe,sg=d;f(pd,k);var Za=pd.prototype;Za.remove=function(){this.icon.set("map",null),this.markers.length=0,sg.removeListener(this.clickListener),delete this.markers,delete this.icon,delete this.markerCluster,delete this.clickListener},Za.addMarker=function(e){this.isMarkerAlreadyAdded(e)||(this.markers.push(e),this.updateCenter(e.get("position")),this.redraw())},Za.redraw=function(){var e=this,t=this.markerCluster.get("minimumClusterSize")||1,n=this.markers,r=this.map,l=n.length>=t;h(n,function(t){t.isClustered=l,e.markerCluster.setMarkerDisplay(t,!l)}),this.updateIcon(),this.icon.set("map",l?r:null),this.icon.set("position",l?this.center:null)},Za.updateCenter=function(e){var t=this.get("center");if(t){if(this.markerCluster.get("averageCenter")){var n=this.markers.length;this.set("center",new A((t.lat*(n-1)+e.lat)/n,(t.lng*(n-1)+e.lng)/n))}}else this.set("center",e)},Za.updateIcon=function(){var e=(r=this.markerCluster.getStyles()).length,t=this.markerCluster.getCalculator(this.markers,e),n=Math.max(0,t.index-1),r=(e=r[n=Math.min(e-1,n)]).icon;t=(e=e.text).content.replace(/\{(\w+)\}/g,t.text),t=new te(t,e.offset);this.icon.set("decoration",t),this.icon.set("icon",r)},Za.isMarkerAlreadyAdded=function(e){return-1!==Ve(this.markers,e)},Za.getMarkers=function(){return this.markers},Za.getBounds=function(){var e=this.get("center");if(!e)return null;var t={},n=new qb(e,e);return h(this.markers,function(e){n.extend(e.get("position"))}),t.info=n.lat.maxY==n.lat.minY&&n.lng.maxY==n.lng.minY?-1:0,t.bounds=n,t};var B={};B.event=d,B.MVCObject=k,B.MVCArray=ac,B.LatLng=A,B.LatLngBounds=qb,B.Size=ma,B.Point=R,B.Color=Jb,B.Map=mb,B.MapTypeId=xd,B.MapZoomType=Bf,B.MapTypeRegistry=pe,B.MapStyleId=wa,B.MapStyleRegistry=Nd,B.ImageMapType=sf,B.Overlay=Mc,B.Marker=qe,B.MarkerImage=ue,B.MarkerShape=Yl,B.MarkerAnimation=cm,B.MarkerDecoration=te,B.Cluster=pd,B.MarkerCluster=rf,B.Polyline=od,B.Polygon=ai,B.Circle=$h,B.InfoWindow=Ne,B.Label=qf,B.GroundOverlay=Me,B.ControlPosition=wd,B.Control=nd,B.ALIGN={TOP_LEFT:5,TOP:2,TOP_RIGHT:3,LEFT:4,CENTER:13,RIGHT:8,BOTTOM_LEFT:10,BOTTOM:11,BOTTOM_RIGHT:12,isTop:function(e){return 3>e},isMiddle:function(e){return 2<e&&6>e},isBottom:function(e){return 5<e},isLeft:function(e){return 0==e%3},isCenter:function(e){return 1==e%3},isRight:function(e){return 2==e%3}},B.MapTypeControl=mg,B.NavigationControl=lg,B.NavigationControlStyle=Og,B.ZoomControlStyle=ve,B.ScaleControl=kg,B.ScaleControlStyle=bm,B.TrafficLayer=md,B.ServiceResultType=Nb,B.ServiceErrorType=ga,B.SearchService=ld,B.Geocoder=pf,B.CityService=of,B.StationService=Rd,B.LineService=kc,B.TransferService=kd,B.DrivingService=jc,B.DrivingPolicy=am,B.TransferPolicy=$l,B.TransferActionType=si,B.PoiType=Zl,B.Panorama=xc,B.PanoramaService=nf,B.PanoramaLayer=Oc,B.PanoramaLabel=yc;var Uo=function(e){e=Ff+Se+"&c="+(xi?1:0)+"&d="+Xe()+"&sl="+e,window.Object&&Object.defineProperty&&(e+="&es5=1"),El(e)};Y(B,function(e,t){Te(t,e)});var Vo=new Date;Gg(function(){if(yi&&Uo(Vo-yi),Qg){var a="window."+Qg;setTimeout(function(){eval('"use strict";'+a+"()")},0)}"undefined"!=typeof navigator&&-1!=navigator.userAgent.toLowerCase().indexOf("msie")&&d.addDomListener(window,"unload",d.unload)});var Yb=Ua[1][2],tg=Wa,zi=R,Wo=ma,Xo=ue,Yo=te,Zo=Yb,$o=d,ap=L,qc=h;f(tf,tg);var ja=tf.prototype;ja.map_changed=function(){this.ready&&this.destroy(),this.get("map")&&this.construct()};var Rg="gridSize minimumClusterSize maxZoom zoomOnClick averageCenter styles".split(" ");ja.construct=function(){this.ready=!0;var e=this.getModel();this.bindsTo(Rg,e),this.addEvents()},ja.destroy=function(){this.ready=!1,this.unbinds(Rg),this.removeEvents()},ja.changed=function(e){("gridSize"===e||"maxZoom"===e||"minimumClusterSize"===e)&&this.reloadView()},ja.averageCenter_changed=function(){this.reloadView()},ja.calculator_changed=function(){qc(this.clusters,function(e){e.updateIcon()})},ja.styles_changed=function(){qc(this.clusters,function(e){e.updateIcon()})},ja.reloadView=function(){if(this.ready){var e=this.clusters.slice();this.clusters.length=0,this.resetViewport(),e[0]&&window.setTimeout(function(){qc(e,function(e){e.remove()})},50),this.redraw()}},ja.addEvents=function(){function e(e,n,l){r.push($o.addListener(e,n,ap(l,t)))}var t=this,n=t.get("map"),r=t._evts=[],l=null;e(n,"zoom_changed",function(){var e=n.get("zoom");l!==e&&(l=e,this.resetViewport())}),e(n,"idle",t.redraw)},ja.removeEvents=function(){var e=this._evts;e&&(qc(e,function(e){e.remove()}),delete this._evts)},ja.addMarker=function(e){this.markers.push(e),this.redraw()},ja.removeMarker=function(e){this.setMarkerDisplay(e,!0),this.markers.remove(e),e.setMap(null),e.isAdded&&delete e.isAdded,this.reloadView()},ja.removeMarkers=function(e){var t=this;qc(e,function(e){e.isAdded&&delete e.isAdded,t.markers.remove(e),e.setMap(null)}),this.reloadView()},ja.setMarkerDisplay=function(e,t){if(t){var n=this.get("map");n&&e.set("map",n)}else e.set("map",null)},ja.doClusterClick=function(e){this.triggerCustomEvent("clusterclick",e.center,{markers:e.markers});var t=this.get("map");t&&this.get("zoomOnClick")&&(e=e.getBounds())&&(-1!=e.info||t.getZoom()!=t.maxZoom)&&t.fitBounds(e.bounds)},ja.isMarkerInMapDisplay=function(e){return e.get("map")===this.get("map")&&e.get("visible")&&e.get("position")},ja.getClusterCount=function(){var e=this.get("minimumClusterSize"),t=0;return qc(this.clusters,function(n){n.getMarkers().length>=e&&t++}),t},ja.draw=function(){if(this.ready){var e=this,t=e.get("map"),n=t.get("zoom"),r=e.get("maxZoom");if(r&&n>r)e.markers.forEach(function(t){e.setMarkerDisplay(t,!0)});else if(t=t.getBounds()){var l=e.getExtendedBounds(t);e.markers.forEach(function(t){!t.isAdded&&e.isMarkerInBounds(t,l)&&(e.addToClosestCluster(t),t.isAdded=!0)})}}},ja.resetViewport=function(){qc(this.clusters,function(e){e.remove()}),this.markers.forEach(function(e){e.isAdded=!1,e.isClustered=!1}),this.clusters.length=0},ja.addToClosestCluster=function(e){var t=4e4,n=null,r=this,l=e.get("position"),i=r.clusters;return qc(i,function(e){var i=e.get("center");i&&(i=r.distanceBetweenPoints(i,l))<t&&(t=i,n=e)}),n&&this.isMarkerInClusterBounds(n,e)?n.addMarker(e):((n=new pd(this)).addMarker(e),i.push(n)),n},ja.isMarkerInClusterBounds=function(e,t){var n=e.get("center");return this.getExtendedBounds(new qb(n,n)).contains(t.get("position"))},ja.isMarkerInBounds=function(e,t){return t.contains(e.get("position"))},ja.getExtendedBounds=function(e){var t=this.get("map").get("mapCanvasProjection"),n=parseInt(this.get("gridSize"))||60,r=e.getNorthEast(),l=e.getSouthWest();return(r=t.fromLatLngToDivPixel(r)).x+=n,r.y-=n,(l=t.fromLatLngToDivPixel(l)).x-=n,l.y+=n,n=t.fromDivPixelToLatLng(r),t=t.fromDivPixelToLatLng(l),e.extend(n),e.extend(t),e},ja.distanceBetweenPoints=function(e,t){if(!e||!t)return 0;var n=Math.PI,r=(t.getLat()-e.getLat())*n/180,l=(t.getLng()-e.getLng())*n/180;n=Math.sin(r/2)*Math.sin(r/2)+Math.cos(e.getLat()*n/180)*Math.cos(t.getLat()*n/180)*Math.sin(l/2)*Math.sin(l/2);return 12742*Math.atan2(Math.sqrt(n),Math.sqrt(1-n))},ja.getCalculator=function(e,t){if(n=this.get("calculator"))return n(e,t);for(var n=0,r=e.length,l=r;0!==l;)l=parseInt(l/10,10),n++;return{text:r,index:n=Math.min(n,t)}},ja.getStyles=function(){return this.get("styles")||this.getModel().set("styles",bp()),this.get("styles")};var bp=function(){var e=null;return function(){return e||(e=function(){var e=Zo+"default/imgs/markercluster/m",t=[];return qc([53,56,66,78,90],function(n,r){t.push({icon:new Xo(e+(r+1)+".png",new Wo(n,n),new zi(0,0),new zi(n/2,n/2)),text:new Yo("{num}")})}),t}())}}(),wk=tf,bb=window.localStorage,cp=bb&&bb.setItem&&bb.getItem,rl=Ua[1][1],Ai=Ua[1][0],Qe=Se,sl=Ua[1][3],Ab={set:function(e,t){try{null!=t?bb.setItem(e,t):bb.removeItem(e)}catch(e){return null}},get:function(e){try{return bb.getItem(e)}catch(e){return null}},forIn:function(e){try{for(var t in bb)e(bb[t],t)}catch(e){}},support:function(){return cp}},Pc={main:[],common:["main"],ea:["common"],ec:["common"],map:["common"],c0:["map"],c1:["c0"],c3:["c0","common"],pc:["c0"],c2:["map"],c4:["map"],oy:["map","common"],layers:["map"],marker:["map"],infowin:["map"],label:["map","common"],poly:["map"],pe:["poly"],sv:["map"],autocomplete:["sv"],drawingimpl:["map"],dmimpl:["map"],pano:["common"],c5:["common"],eb:["main"],place:["main"],geometry:["main"],drawing:["main"],convertor:["main"]},tl=Ai+"c/=/",ul=Ai,di=5,Sg={},Ib={},Gf={},Cc;for(Cc in Pc)if(Pc.hasOwnProperty(Cc)){var we=Pc[Cc];we[0]&&(Sg[we[0]]=!0),Gf[Cc]=[],Ib[Cc]=Ib[Cc]||[];for(var Tg=we.length;Tg--;){var Ug=we[Tg];Ib[Ug]?Ib[Ug].push(Cc):Ib[Ug]=[Cc]}}var rc={},xe={},Bi,ug="QMAPI_",xl=Qe.split(/\./).join(""),Vg={},fi=function(e,t){if(!rc.hasOwnProperty(e)){var n=Pc[e],r=Ib[e],l=vl(n.length,function(){var n=t;Bi=e,Sg[e]&&(n+=";(0,function(){return eval(arguments[0])})"),n=xe[Pc[e][0]](n),xe[e]||(xe[e]=n),rc.hasOwnProperty(e)||(rc[e]=void 0);for(var l=0,i=(n=Gf[e]).length;l<i;l++)n[l](rc[e]);for(n=r.length;n--;)l=r[n],Vg[l]&&Vg[l]()});Vg[e]=l;for(var i=n.length;i--;)rc.hasOwnProperty(n[i])&&l();Ab.support()&&(n=ug+Qe.split(/\./).join("")+"_"+e,!Ab.get(n)&&t&&Ab.set(n,t))}};window.__cjsload=fi;var Oe={},uf=[],Pe;Ab.support()&&wl();var P={$require:function(e,t,n){rc.hasOwnProperty(e)?(e=rc[e],t(void 0===n?e:e[n])):(ei(e),Gf[e].push(void 0===n?t:function(e){t(e[n])}))},$initMain:function(e,t){xe[e]=t,Oe[e]=!0,rc[e]=void 0},$setExports:function(e){rc[Bi]=e}};P.$initMain("main",function(){return eval(arguments[0])}),P.$setExports(Vb)}(),__cjsload("geometry","'use strict';var a=function(a,b){var c=W(a.getLat()),d=W(b.getLat());return 2*Math.asin(Math.sqrt(Math.pow(Math.sin((c-d)/2),2)+Math.cos(c)*Math.cos(d)*Math.pow(Math.sin((W(a.getLng())-W(b.getLng()))/2),2)))},b=N(ac),c=function(c,d){var e=d||Fb;b(c)&&(c=c.getArray());for(var f=c[0],h=0,k=1,q=c.length-1;k<q;++k){for(var u=f,y=c[k],A=c[k+1],B=[u,y,A,u],u=[],A=y=0;3>A;++A)u[A]=a(B[A],B[A+1]),y+=u[A];y/=2;B=Math.tan(y/2);for(A=0;3>A;++A)B*=Math.tan((y-u[A])/2);u=4*Math.atan(Math.sqrt(Math.abs(B)));y=f;A=c[k];B=c[k+1];y=[y,A,B];A=[];for(B=0;3>B;++B){var F=y[B],G=W(F.getLat()),F=W(F.getLng()),E=A[B]=[];E[0]=Math.cos(G)*Math.cos(F);E[1]=Math.cos(G)*Math.sin(F);E[2]=Math.sin(G)}h+=u*(0<A[0][0]*A[1][1]*A[2][2]+A[1][0]*A[2][1]*A[0][2]+A[2][0]*A[0][1]*A[1][2]-A[0][0]*A[2][1]*A[1][2]-A[1][0]*A[0][1]*A[2][2]-A[2][0]*A[1][1]*A[0][2]?1:-1)}return h*e*e},d=function(b,c,d){return a(b,c)*(d||Fb)},f=N(ac),h={};h.spherical={computeArea:function(a,b){return Math.abs(c(a,b))},computeDistanceBetween:d,computeHeading:function(a,b){var c=W(a.getLat()),d=W(b.getLat()),e=W(b.getLng())-W(a.getLng());return xf(Wd(Math.atan2(Math.sin(e)*Math.cos(d),Math.cos(c)*Math.sin(d)-Math.sin(c)*Math.cos(d)*Math.cos(e))),-180,180)},computeLength:function(a,b){var c=b||Fb,h=0;f(a)&&(a=a.getArray());for(var k=0,q=a.length-1;k<q;++k)h+=d(a[k],a[k+1],c);return h},computeOffset:function(a,b,c,d){b/=d||Fb;c=W(c);var e=W(a.getLat());d=Math.cos(b);b=Math.sin(b);var f=Math.sin(e),e=Math.cos(e),h=d*f+b*e*Math.cos(c);return new A(Wd(Math.asin(h)),Wd(W(a.getLng())+Math.atan2(b*e*Math.sin(c),d-f*h)))},computeOffsetOrigin:function(a,b,c,d){c=W(c);b/=d||Fb;d=Math.cos(b);var e=Math.sin(b)*Math.cos(c);b=Math.sin(b)*Math.sin(c);c=Math.sin(W(a.getLat()));var f=e*e*d*d+d*d*d*d-d*d*c*c;if(0>f)return null;var h=e*c+Math.sqrt(f),h=h/(d*d+e*e),k=(c-e*h)/d,h=Math.atan2(k,h);if(h<-Math.PI/2||h>Math.PI/2)h=e*c-Math.sqrt(f),h=Math.atan2(k,h/(d*d+e*e));return h<-Math.PI/2||h>Math.PI/2?null:new A(Wd(h),Wd(W(a.getLng())-Math.atan2(b,d*Math.cos(h)-e*Math.sin(h))))},computeSignedArea:c,interpolate:function(b,c,d){var e=W(b.getLat()),f=W(b.getLng()),h=W(c.getLat()),k=W(c.getLng()),q=Math.cos(e),u=Math.cos(h);c=a(b,c);var y=Math.sin(c);if(1e-6>y)return new A(b.getLat(),b.getLng());b=Math.sin((1-d)*c)/y;d=Math.sin(d*c)/y;c=b*q*Math.cos(f)+d*u*Math.cos(k);f=b*q*Math.sin(f)+d*u*Math.sin(k);return new A(Wd(Math.atan2(b*Math.sin(e)+d*Math.sin(h),Math.sqrt(c*c+f*f))),Wd(Math.atan2(f,c)))}};Te(\"geometry\",h)")}var maps={init:function(e,t){var n="__callback"+Date.now();window[n]=function(){delete window[n];var e=qq.maps;for(var r in e)e.hasOwnProperty(r)&&(maps[r]=e[r]);"function"==typeof t&&t()},init(e,n)}},script$a={name:"Personnel",components:{Pagination:Pagination},filters:{},data:()=>({lastItem:[],tableData:[],customerData:[],trtExitObj:{},allState:{},ModifyClockVisible:!1,dialogVisibleExp:!1,dialogVisible:!1,loadExp:!1,startDate:[],dialogStatus:"",textMap:{update:"编辑",create:"创建"},tableKey:0,list:null,total:0,listLoading:!0,listQuery:{pageNo:1,size:20},loading:!1,options:[],AutoComplete:null,marker:"",marker:"",geoCoder:null,keywords:"",customData:[],contacts:[],dialogFormVisible:!1,dialogPvVisible:!1,rules:{wxUserId:[{required:!0,message:"请选择联系人姓名",trigger:"change"}],medicalNo:[{required:!0,message:"请输入社保卡号",trigger:"blur"}],trtExitRea:[{required:!0,message:"请输入终止原因",trigger:"blur"}],name:[{required:!0,message:"请输入客户姓名",trigger:"blur"}],phoneNumber:[{required:!0,message:"请输入手机号码",trigger:"blur"}],address:[{required:!0,message:"请输入现居住地址",trigger:"blur"}],birthday:[{required:!0,message:"请选择出生日期",trigger:"blur"}],startTime:[{required:!0,message:"请选择合同服务开始时间",trigger:"blur"}],endTime:[{required:!0,message:"请选择合同服务结束时间",trigger:"blur"}]},temp:{},userInfo:{},downloadLoading:!1,map:null}),computed:{totalNumber:()=>function(e){console.log(e);let t=0;if("签到信息"==e.title)return"";for(var n in e)"projectId"!=n&&"needNum"!=n&&"price"!=n&&"title"!=n&&"hejizongjia"!=n&&"titleNew"!=n&&"num"!=n&&(t+=Number(e[n]));return t}},created(){this.userInfo=JSON.parse(getUserInfoRole()),this.getList(),this.getCustom()},mounted(){},methods:{ModifyClockConfig(){this.$confirm("此操作将为客户创建打卡预制项 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{WxClockItemFormulateSave({list:this.tableData,familyId:this.temp.id}).then(e=>{if(1==e.status)return this.$notify({title:"提示",message:e.info,type:"success",duration:4e3}),this.ModifyClockVisible=!1,void this.getList();this.$notify({title:"提示",message:e.info,type:"error",duration:4e3})})}).catch(()=>{this.$message({type:"info",message:"已取消"})})},cellEdit(e,t,n){"签到信息"!=e.title&&(e[n]=t,e.isEdit=!0)},onBlur(e,t,n){""==e[n]&&(e[n]="0"),e.isEdit=!1},modifyClock(e){this.ModifyClockVisible=!0,this.temp=e,this.lastItem=[],this.tableData=[],getFormulate({familyId:e.id}).then(e=>{this.tableData=e.result.map(e=>(e.isEdit=!1,e));const t=e.result[e.result.length-1];for(var n in this.objectOrder(t))"title"!=n&&"num"!=n&&"price"!=n&&"needNum"!=n&&"projectId"!=n&&this.lastItem.push({label:t[n]?n:"",value:t[n]});console.log(this.lastItem)})},objectOrder(e){const t=Object.keys(e).sort().filter(e=>e.startsWith("day")).sort((e,t)=>parseInt(e.slice(3))-parseInt(t.slice(3)));t.push("needNum","num","projectId","title");for(var n={},r=0;r<t.length;r++)n[t[r]]=e[t[r]];return n},searchSelect(e){console.log(e)},huoqu(){WxUserFamilySysUser({certno:this.temp.certno}).then(e=>{if(console.log("三方信息"),console.log(e.result),1==e.status){if(this.$notify({title:"同步成功",message:e.info,type:"success",duration:2e3}),18===this.temp.certno.length){const t=this.temp.certno.substr(6,8);e.result.birthday=t.replace(/(.{4})(.{2})/,"$1-$2-")}return this.temp=e.result,("01"==this.userInfo.unitType&&"07"!=this.temp.nurscareWay||"02"==this.userInfo.unitType&&"01"!=this.temp.nurscareWay)&&this.$message({message:"客户护理方式与机构类型不匹配",type:"warning"}),void("01"==this.userInfo.unitType&&this.userInfo.unitCountyCode!=this.temp.medicalCounty&&this.$message({message:"客户与机构的辖区不一致",type:"warning"}))}this.$notify({title:"同步失败",message:e.info,type:"error",duration:2e3})})},handleClose(){this.dialogVisibleExp=!1,this.dialogVisible=!1,this.startDate=[]},expExcel(){try{this.loadExp=!0;const e={startDate:this.startDate[0],endDate:this.startDate[1]};ExportExcelInfoWX(e).then(e=>{const t=new Blob([e]);if(t.size>0){const e=document.createElement("a");e.style.display="none",e.href=URL.createObjectURL(t),e.download=`客户信息/${this.$moment().format("YYYY-MM-DD")}.xlsx`,document.body.appendChild(e),e.click(),URL.revokeObjectURL(e.href),document.body.removeChild(e)}this.handleClose(),this.loadExp=!1}).catch(()=>{this.loadExp=!1})}catch(e){this.loadExp=!1,console.log(e)}},initAMap(){AMapLoader.load({key:"3bd68974947ab074c863ad28dfe2fc5c",version:"2.0",plugins:["AMap.Scale","AMap.ToolBar","AMap.ControlBar","AMap.Geocoder","AMap.Marker","AMap.CitySearch","AMap.Geocoder","AMap.Geolocation","AMap.AutoComplete","AMap.InfoWindow"]}).then(e=>{this.map=new e.Map("amapcontainer",{resizeEnable:!0,zoom:this.zoom,zoomEnable:!0,dragEnable:!0,doubleClickZoom:!0,zoom:13,center:[120.699366,27.994267]}),e.plugin(["AMap.ToolBar"],()=>{this.map.addControl(new e.ToolBar)}),this.geoCoder=new e.Geocoder({radius:1e3,extensions:"all"}),this.AutoComplete=new e.AutoComplete({city:"全国"}),this.map.on("click",e=>{this.keywords="",this.temp.lng=e.lnglat.lng,this.temp.lat=e.lnglat.lat,this.removeMarker(),this.setMapMarker(),this.toGeoCoder()})}).catch(e=>{console.log(e)})},remoteMethod(e){""!==e?(this.loading=!0,this.options=[],console.log(this.options),setTimeout(()=>{this.loading=!1,this.AutoComplete.search(e,(e,t)=>{this.options=t.tips})},200)):this.options=[]},currentSelect(e){console.log(e),e&&(e.location&&(this.temp.lng=e.location.lng,this.temp.lat=e.location.lat),this.toGeoCoder(),this.removeMarker(),this.setMapMarker())},toGeoCoder(){const e=[this.temp.lng,this.temp.lat];this.geoCoder.getAddress(e,(e,t)=>{"complete"===e&&t.regeocode&&(console.log(t.regeocode),this.$set(this.temp,"city",t.regeocode.addressComponent.city),this.$set(this.temp,"county",t.regeocode.addressComponent.district),this.$set(this.temp,"address",t.regeocode.formattedAddress))})},setMapMarker(){this.map.setFitView(),this.marker=new AMap.Marker({map:this.map,position:[this.temp.lng,this.temp.lat]}),this.map.setFitView(),this.map.add(this.marker)},removeMarker(){this.marker&&this.map.remove(this.marker)},getCustom(){WxUserCustomAll().then(e=>{this.customData=e.result.map(e=>({label:e.nickName,value:e.id,phoneNumber:e.phoneNumber}))}),customAll().then(e=>{this.contacts=e.result.map(e=>({label:e.nickName,value:e.id,phoneNumber:e.phoneNumber}))})},changeUser(e){for(var t=0;t<this.customData.length;t++)this.customData[t].value==e&&(this.temp.wxUserPhoneNumber=this.customData[t].phoneNumber)},getList(){this.listLoading=!0,WxUserFamilyPage(this.listQuery).then(e=>{this.list=e.result.data,this.total=e.result.count,setTimeout(()=>{this.listLoading=!1},1500)}),WxUserFamilyAll().then(e=>{this.customerData=e.result.map(e=>({label:e.name,value:e.name}))})},handleModifyStatus(e,t){this.$message({message:"操作成功",type:"success"}),e.status=t},resetting(e){this.$nextTick(()=>{this.$refs[e].resetFields(),this.getList()})},add(){this.dialogStatus="create",this.dialogFormVisible=!0,this.temp={},this.initAMap()},onSubmit(){this.getList()},createData(){this.$refs.temp.validate(e=>{e&&WxUserFamilySave(this.temp).then(e=>{if(1==e.status)return this.dialogFormVisible=!1,this.getList(),void this.$notify({title:e.info,message:"新增成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"新增失败",type:"error",duration:2e3})})})},updateData(){this.$refs.temp.validate(e=>{e&&WxUserFamilySave(this.temp).then(e=>{if(1==e.status)return this.dialogFormVisible=!1,this.getList(),void this.$notify({title:e.info,message:"更新成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"更新失败",type:"error",duration:2e3})})})},edit(e){this.temp=e,this.temp.wxUser=e.wxUserId,this.dialogStatus="update",this.dialogFormVisible=!0,this.initAMap()},handleDelete(e,t){this.dialogVisible=!0,this.allState.id=e.id},handleStatus(e){this.$confirm("此操作将更改状态, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{updateIsDel(e).then(e=>{if(1==e.status)return this.getList(),void this.$notify({title:"修改成功",message:e.info,type:"success",duration:2e3});this.$notify({title:"修改失败",message:e.info,type:"error",duration:2e3})})}).catch(()=>{this.$message({type:"info",message:"已取消"})})},termination(){this.trtExitObj.id=this.allState.id,WxUserFamilyDel(this.trtExitObj).then(e=>{if(1==e.status)return this.getList(),this.$notify({title:"删除成功",message:e.info,type:"success",duration:2e3}),void(this.dialogVisible=!1);this.$notify({title:"删除失败",message:e.info,type:"error",duration:2e3})})}}};const __vue_script__$a=script$a;var __vue_render__$a=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"app-container"},[n("div",{staticClass:"filter-container"},[n("el-form",{ref:"listQuery",staticClass:"demo-form-inline",attrs:{inline:!0,model:e.listQuery}},[n("el-form-item",{attrs:{label:"客户姓名",prop:"name"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择客户"},model:{value:e.listQuery.name,callback:function(t){e.$set(e.listQuery,"name",t)},expression:"listQuery.name"}},e._l(e.customerData,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.label}})}),1)],1),e._v(" "),n("el-form-item",{attrs:{label:"手机号码",prop:"phoneNumber"}},[n("el-input",{attrs:{size:"small",clearable:"",placeholder:"请输入手机号码"},model:{value:e.listQuery.phoneNumber,callback:function(t){e.$set(e.listQuery,"phoneNumber",t)},expression:"listQuery.phoneNumber"}})],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"primary"},on:{click:e.onSubmit}},[e._v("查询")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"warning"},on:{click:function(t){return e.resetting("listQuery")}}},[e._v("重置")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"success"},on:{click:e.add}},[e._v("新增")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"primary"},on:{click:function(t){e.dialogVisibleExp=!0}}},[e._v("导出")])],1)],1)],1),e._v(" "),n("el-table",{staticStyle:{width:"100%"},attrs:{border:"",height:"65vh",data:e.list}},[n("el-table-column",{attrs:{label:"护理机构",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.unitName))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"客户姓名",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.name))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"客户手机号码",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.phoneNumber))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"身份证号",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.idCode?r.idCode:"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"行政区划",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.city))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"辖区",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.county))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"现居住地址",align:"center",width:"300"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.address))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"评估等级",align:"center",width:"150"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return["06"==r.lv?n("el-tag",{attrs:{type:"success"}},[e._v("重度失能ⅠⅠⅠ级")]):e._e(),e._v(" "),"05"==r.lv?n("el-tag",{attrs:{type:"success"}},[e._v("重度失能ⅠⅠ级")]):e._e(),e._v(" "),"04"==r.lv?n("el-tag",{attrs:{type:"success"}},[e._v("重度失能Ⅰ级")]):e._e(),e._v(" "),"03"==r.lv?n("el-tag",{attrs:{type:"success"}},[e._v("中度失能")]):e._e(),e._v(" "),"02"==r.lv?n("el-tag",{attrs:{type:"success"}},[e._v("轻度失能")]):e._e(),e._v(" "),"01"==r.lv?n("el-tag",{attrs:{type:"success"}},[e._v("基本正常")]):e._e()]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"状态",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return["0"==r.isDelete?n("el-tag",{attrs:{type:"success"}},[e._v("正常")]):e._e(),e._v(" "),"1"==r.isDelete?n("el-tag",{attrs:{type:"success"}},[e._v("已注销")]):e._e(),e._v(" "),"2"==r.isDelete?n("el-tag",{attrs:{type:"warning"}},[e._v("住院")]):e._e()]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"是否有定制",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return["0"==r.formulateType?n("el-tag",{attrs:{type:"success"}},[e._v("没有")]):e._e(),e._v(" "),"1"==r.formulateType?n("el-tag",{attrs:{type:"success"}},[e._v("有")]):e._e()]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"创建时间",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.createTime))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"操作",align:"center",width:"300","class-name":"small-padding fixed-width"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row,l=t.$index;return[n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(t){return e.edit(r,l)}}},[e._v("\n 详情\n ")]),e._v(" "),n("el-button",{attrs:{size:"mini",type:"danger"},on:{click:function(t){return e.handleDelete(r,l)}}},[e._v("\n 终止\n ")]),e._v(" "),n("el-button",{attrs:{size:"mini",type:"success"},on:{click:function(t){return e.modifyClock(r,l)}}},[e._v("\n 打卡项制定\n ")])]}}])})],1),e._v(" "),n("pagination",{directives:[{name:"show",rawName:"v-show",value:e.total>0,expression:"total > 0"}],attrs:{total:e.total,page:e.listQuery.pageNo,limit:e.listQuery.size},on:{"update:page":function(t){return e.$set(e.listQuery,"pageNo",t)},"update:limit":function(t){return e.$set(e.listQuery,"size",t)},pagination:e.getList}}),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:e.textMap[e.dialogStatus],visible:e.dialogFormVisible,width:"45%"},on:{"update:visible":function(t){e.dialogFormVisible=t}}},[n("el-form",{ref:"temp",attrs:{rules:e.rules,model:e.temp,"label-position":"right","label-width":"140px"}},[n("el-row",{attrs:{gutter:20}},[n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"身份证"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入身份证",size:"small"},model:{value:e.temp.certno,callback:function(t){e.$set(e.temp,"certno",t)},expression:"temp.certno"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-button",{attrs:{size:"mini",type:"success"},on:{click:e.huoqu}},[e._v("\n 同步第三方用户校验信息\n ")])],1)],1),e._v(" "),n("el-divider"),e._v(" "),n("el-row",{attrs:{gutter:20}},[n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"最早可登记时间"}},[n("el-input",{attrs:{disabled:"",clearable:"",placeholder:"最早可登记时间",size:"small"},model:{value:e.temp.floorBegntime,callback:function(t){e.$set(e.temp,"floorBegntime",t)},expression:"temp.floorBegntime"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"登记时间"}},[n("el-date-picker",{staticStyle:{width:"100%"},attrs:{size:"small","value-format":"yyyy-MM-dd HH:mm:ss",type:"datetime",placeholder:"登记时间不选将使用当前系统时间"},model:{value:e.temp.thirdBegntime,callback:function(t){e.$set(e.temp,"thirdBegntime",t)},expression:"temp.thirdBegntime"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"联系人"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入联系人",size:"small"},model:{value:e.temp.wxUserId,callback:function(t){e.$set(e.temp,"wxUserId",t)},expression:"temp.wxUserId"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"家人关系",prop:"relation"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择家人关系"},model:{value:e.temp.relation,callback:function(t){e.$set(e.temp,"relation",t)},expression:"temp.relation"}},e._l([{label:"父亲",value:"父亲"},{label:"母亲",value:"母亲"},{label:"爷爷",value:"爷爷"},{label:"奶奶",value:"奶奶"},{label:"妻子",value:"妻子"},{label:"丈夫",value:"丈夫"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"客户姓名"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入客户姓名",size:"small"},model:{value:e.temp.name,callback:function(t){e.$set(e.temp,"name",t)},expression:"temp.name"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"客户手机号码"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入客户手机号码",size:"small"},model:{value:e.temp.phoneNumber,callback:function(t){e.$set(e.temp,"phoneNumber",t)},expression:"temp.phoneNumber"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"护理方式",prop:"nurscareWay"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{disabled:"",clearable:"",filterable:"",size:"small",placeholder:"请选择护理方式"},model:{value:e.temp.nurscareWay,callback:function(t){e.$set(e.temp,"nurscareWay",t)},expression:"temp.nurscareWay"}},e._l([{label:"入住机构护理",value:"01"},{label:"居家上门护理",value:"07"},{label:"居家自主护理",value:"03"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"身份证",prop:"idCode"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入身份证号",size:"small"},model:{value:e.temp.idCode,callback:function(t){e.$set(e.temp,"idCode",t)},expression:"temp.idCode"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"行政区划",prop:"city"}},[n("el-input",{attrs:{disabled:"",clearable:"",placeholder:"请输入行政区划",size:"small"},model:{value:e.temp.city,callback:function(t){e.$set(e.temp,"city",t)},expression:"temp.city"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"辖区",prop:"county"}},[n("el-input",{attrs:{clearable:"",disabled:"",placeholder:"请输入辖区",size:"small"},model:{value:e.temp.county,callback:function(t){e.$set(e.temp,"county",t)},expression:"temp.county"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"现居住地址"}},[n("el-input",{attrs:{clearable:"",disabled:"",placeholder:"请输入现居住地址",size:"small"},model:{value:e.temp.address,callback:function(t){e.$set(e.temp,"address",t)},expression:"temp.address"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"经度",prop:"lat"}},[n("el-input",{attrs:{clearable:"",disabled:"",placeholder:"请输入经度",size:"small"},model:{value:e.temp.lat,callback:function(t){e.$set(e.temp,"lat",t)},expression:"temp.lat"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"纬度",prop:"lng"}},[n("el-input",{attrs:{clearable:"",disabled:"",placeholder:"请输入纬度",size:"small"},model:{value:e.temp.lng,callback:function(t){e.$set(e.temp,"lng",t)},expression:"temp.lng"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"出生日期"}},[n("el-date-picker",{staticStyle:{width:"100%"},attrs:{size:"small",format:"yyyy 年 MM 月 dd 日","value-format":"yyyy-MM-dd",type:"date",placeholder:"请选择出生日期"},model:{value:e.temp.birthday,callback:function(t){e.$set(e.temp,"birthday",t)},expression:"temp.birthday"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"医保类型",prop:"medicalType"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",disabled:"",size:"small",placeholder:"请选择"},model:{value:e.temp.medicalType,callback:function(t){e.$set(e.temp,"medicalType",t)},expression:"temp.medicalType"}},e._l([{label:"城镇职工基本医疗保险",value:"1"},{label:"长期护理保险",value:"410"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"参保行政区划",prop:"medicalCity"}},[n("el-input",{attrs:{clearable:"",disabled:"",placeholder:"请输入参保行政区划",size:"small"},model:{value:e.temp.medicalCity,callback:function(t){e.$set(e.temp,"medicalCity",t)},expression:"temp.medicalCity"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"参保所属辖区",prop:"medicalCounty"}},[n("el-input",{attrs:{clearable:"",disabled:"",placeholder:"请输入参保所属辖区",size:"small"},model:{value:e.temp.medicalCounty,callback:function(t){e.$set(e.temp,"medicalCounty",t)},expression:"temp.medicalCounty"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"社保卡号"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入社保卡号",size:"small"},model:{value:e.temp.medicalNo,callback:function(t){e.$set(e.temp,"medicalNo",t)},expression:"temp.medicalNo"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"社保状态",prop:"medicalStatus"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择社保状态"},model:{value:e.temp.medicalStatus,callback:function(t){e.$set(e.temp,"medicalStatus",t)},expression:"temp.medicalStatus"}},e._l([{label:"正常",value:"1"},{label:"中断",value:"2"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"待遇状态",prop:"status"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择待遇状态"},model:{value:e.temp.status,callback:function(t){e.$set(e.temp,"status",t)},expression:"temp.status"}},e._l([{label:"正常",value:"1"},{label:"终止",value:"2"},{label:"未有待遇",value:"0"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"是否残疾人",prop:"isHandicapped"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择是否残疾人"},model:{value:e.temp.isHandicapped,callback:function(t){e.$set(e.temp,"isHandicapped",t)},expression:"temp.isHandicapped"}},e._l([{label:"是",value:"1"},{label:"否",value:"0"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"评估等级",prop:"lv"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择评估等级"},model:{value:e.temp.lv,callback:function(t){e.$set(e.temp,"lv",t)},expression:"temp.lv"}},e._l([{label:"重度失能ⅠⅠⅠ级",value:"06"},{label:"重度失能ⅠⅠ级",value:"05"},{label:"重度失能Ⅰ级",value:"04"},{label:"中度失能",value:"03"},{label:"轻度失能",value:"02"},{label:"基本正常",value:"01"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"合同服务开始时间"}},[n("el-date-picker",{staticStyle:{width:"100%"},attrs:{size:"small",format:"yyyy 年 MM 月 dd 日","value-format":"yyyy-MM-dd",type:"date",placeholder:"请选择合同服务开始时间"},model:{value:e.temp.startTime,callback:function(t){e.$set(e.temp,"startTime",t)},expression:"temp.startTime"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"合同服务结束时间"}},[n("el-date-picker",{staticStyle:{width:"100%"},attrs:{size:"small",format:"yyyy 年 MM 月 dd 日","value-format":"yyyy-MM-dd",type:"date",placeholder:"请选择合同服务结束时间"},model:{value:e.temp.endTime,callback:function(t){e.$set(e.temp,"endTime",t)},expression:"temp.endTime"}})],1)],1)],1)],1),e._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"mini"},on:{click:function(t){e.dialogFormVisible=!1}}},[e._v("\n 取 消\n ")]),e._v(" "),n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(t){"create"===e.dialogStatus?e.createData():e.updateData()}}},[e._v("\n 确 认\n ")])],1)],1),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"导出",visible:e.dialogVisibleExp,width:"600px","before-close":e.handleClose},on:{"update:visible":function(t){e.dialogVisibleExp=t}}},[n("el-form",{staticClass:"demo-form-inline",attrs:{inline:!0}},[n("el-form-item",{attrs:{label:"提示:"}},[n("el-link",{attrs:{underline:!1,type:"primary"}},[e._v("选择的开始日期和结束日期请将数据的入录时间包含起来,结束日期选后一天")])],1),e._v(" "),n("el-form-item",{attrs:{label:"时间"}},[n("el-date-picker",{attrs:{type:"daterange","value-format":"yyyy-MM-dd","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期"},model:{value:e.startDate,callback:function(t){e.startDate=t},expression:"startDate"}})],1)],1),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small",loading:e.loadExp},on:{click:e.handleClose}},[e._v("取 消")]),e._v(" "),n("el-button",{attrs:{size:"small",type:"primary",loading:e.loadExp},on:{click:e.expExcel}},[e._v("\n 导 出\n ")])],1)],1),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"终止原因",visible:e.dialogVisible,width:"30%","before-close":e.handleClose},on:{"update:visible":function(t){e.dialogVisible=t}}},[n("el-form",{ref:"allState",attrs:{rules:e.rules,model:e.allState,"label-position":"right","label-width":"80px"}},[n("el-row",{attrs:{gutter:20}},[n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"终止原因",prop:"trtExitRea"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{"value-key":"trtExitRea",clearable:"",filterable:"",size:"small",placeholder:"请选择终止原因"},on:{change:e.searchSelect},model:{value:e.trtExitObj,callback:function(t){e.trtExitObj=t},expression:"trtExitObj"}},e._l([{trtExitRea:"01",trtExitDscr:"就医"},{trtExitRea:"02",trtExitDscr:"搬至其他机构"},{trtExitRea:"03",trtExitDscr:"更换护理方式"},{trtExitRea:"04",trtExitDscr:"离世"},{trtExitRea:"05",trtExitDscr:"其他"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.trtExitDscr,value:e}})}),1)],1)],1)],1)],1),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"mini"},on:{click:function(t){e.dialogVisible=!1}}},[e._v("取 消")]),e._v(" "),n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:e.termination}},[e._v("确 定")])],1)],1),e._v(" "),n("el-dialog",{attrs:{title:"打卡项制定","close-on-click-modal":!1,"close-on-press-escape":!1,visible:e.ModifyClockVisible,width:"87%"},on:{"update:visible":function(t){e.ModifyClockVisible=t}}},[n("div",{staticClass:"table"},[n("el-table",{staticStyle:{width:"100%"},attrs:{data:e.tableData}},[n("el-table-column",{attrs:{align:"center",prop:"title",label:"服务项目",width:"200"}}),e._v(" "),n("el-table-column",{attrs:{align:"center",label:"护理时间及次数"}},e._l(31,function(t,r){return n("el-table-column",{key:r,attrs:{align:"center",label:r+1+"日",width:"50"},scopedSlots:e._u([{key:"default",fn:function(t){return[t.row.isEdit&&e.lastItem[r].label=="day"+(r+1)?n("el-input",{on:{blur:function(n){return e.onBlur(t.row,""+t.row["day"+(r+1)],"day"+(r+1))}},model:{value:t.row["day"+(r+1)],callback:function(n){e.$set(t.row,"day"+(r+1),n)},expression:"scope.row[`day${index + 1}`]"}}):n("span",{staticClass:"active",on:{click:function(n){return e.cellEdit(t.row,""+t.row["day"+(r+1)],"day"+(r+1))}}},[e._v(e._s(""+t.row["day"+(r+1)]))])]}}],null,!0)})}),1),e._v(" "),n("el-table-column",{attrs:{align:"center",prop:"num",label:"合计次数"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v("\n "+e._s(e.totalNumber(t.row))+"\n ")]}}])}),e._v(" "),n("el-table-column",{attrs:{align:"center",prop:"needNum",label:"需要次数"}})],1)],1),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small"},on:{click:function(t){e.ModifyClockVisible=!1}}},[e._v("取 消")]),e._v(" "),n("el-button",{attrs:{size:"small",type:"primary"},on:{click:function(t){return e.ModifyClockConfig()}}},[e._v("确 定")])],1)])],1)},__vue_staticRenderFns__$a=[];__vue_render__$a._withStripped=!0;const __vue_inject_styles__$a=function(e){e&&e("data-v-66d92f8f_0",{source:".el-col-12[data-v-66d92f8f] {\n padding: 0 20px 0 0;\n}\n.el-divider--horizontal[data-v-66d92f8f] {\n margin: 0 0 20px 0;\n}\n[data-v-66d92f8f] .el-calendar__button-group {\n display: none;\n}\n.table[data-v-66d92f8f] .el-table .cell {\n padding: 0;\n}\n.table[data-v-66d92f8f] .el-table td {\n padding: 5px 0;\n}\n.active[data-v-66d92f8f] {\n color: #409eff;\n cursor: pointer;\n display: inline-block;\n width: 42px;\n}\n.inactive[data-v-66d92f8f] {\n color: #999;\n}\n.exptable[data-v-66d92f8f] {\n font-size: 9px;\n text-align: center;\n width: 100%;\n}\n.exptable .leftXuhao[data-v-66d92f8f] {\n display: flex;\n border-bottom: 1px solid #333;\n}\n.exptable .leftXuhao div[data-v-66d92f8f] {\n display: flex;\n align-items: center;\n justify-content: center;\n border-right: 1px solid #333;\n}\n.exptable .thead[data-v-66d92f8f] {\n border-bottom: 0;\n color: #000;\n padding: 8px 0;\n}\n.exptable .tbody[data-v-66d92f8f] {\n border: 1px solid #333;\n font-size: 8px;\n}\n.exptable .tr[data-v-66d92f8f] {\n display: flex;\n border-bottom: 1px solid #333;\n color: #111;\n}\n.exptable .tr div[data-v-66d92f8f] {\n display: flex;\n align-items: center;\n justify-content: center;\n border-right: 1px solid #333;\n}\n.exptable .tr .bodyday[data-v-66d92f8f] {\n flex: 1;\n}\n.exptable .tr div[data-v-66d92f8f]:last-child {\n border-right: 0;\n}\n.exptable .eight div[data-v-66d92f8f] {\n flex: 1;\n padding: 5px 0;\n}\n.exptable .eight .title[data-v-66d92f8f] {\n width: 110px;\n flex: none;\n}\n.exptable .tr[data-v-66d92f8f]:last-child {\n border-bottom: 0;\n}\n.exptable .loop .num[data-v-66d92f8f] {\n width: 22px !important;\n}\n.exptable .loop .total[data-v-66d92f8f] {\n width: 23px;\n padding: 5px 0;\n}\n.exptable .loop .name[data-v-66d92f8f] {\n padding: 5px 0;\n flex: 0.1;\n}\n.exptable .loop .headday[data-v-66d92f8f] {\n flex-flow: column;\n flex: 1;\n}\n.exptable .loop .headday .forday[data-v-66d92f8f] {\n border-top: 1px solid #333;\n}\n.exptable .loop .day span[data-v-66d92f8f] {\n padding: 5px 0;\n}\n.exptable .loop .forday[data-v-66d92f8f] {\n display: table;\n width: 100%;\n height: 100%;\n}\n.exptable .loop .forday span[data-v-66d92f8f] {\n display: table-cell;\n vertical-align: middle;\n border-right: 1px solid #333;\n width: 23px;\n height: 100%;\n overflow: hidden;\n word-wrap: break-word;\n word-break: break-all;\n}\n.exptable .loop .forday span[data-v-66d92f8f]:last-child {\n border-right: 0;\n}\n\n/*# sourceMappingURL=index.vue.map */",map:{version:3,sources:["E:\\公司项目\\changhuxianlocal\\changhuxian-vue-components\\src\\pages\\customerManagement\\customer\\index.vue","index.vue"],names:[],mappings:"AAo7CA;EACA,mBAAA;ACn7CA;ADs7CA;EACA,kBAAA;ACn7CA;ADq7CA;EACA,aAAA;ACl7CA;ADq7CA;EACA,UAAA;ACl7CA;ADq7CA;EACA,cAAA;ACl7CA;ADq7CA;EACA,cAAA;EACA,eAAA;EACA,qBAAA;EACA,WAAA;ACl7CA;ADq7CA;EACA,WAAA;ACl7CA;ADo7CA;EACA,cAAA;EACA,kBAAA;EACA,WAAA;ACj7CA;ADm7CA;EACA,aAAA;EACA,6BAAA;ACj7CA;ADk7CA;EACA,aAAA;EACA,mBAAA;EACA,uBAAA;EACA,4BAAA;ACh7CA;ADm7CA;EAEA,gBAAA;EACA,WAAA;EACA,cAAA;ACl7CA;ADo7CA;EACA,sBAAA;EACA,cAAA;ACl7CA;ADo7CA;EACA,aAAA;EACA,6BAAA;EACA,WAAA;ACl7CA;ADm7CA;EAEA,aAAA;EACA,mBAAA;EACA,uBAAA;EACA,4BAAA;ACl7CA;ADq7CA;EACA,OAAA;ACn7CA;ADq7CA;EACA,eAAA;ACn7CA;ADs7CA;EACA,OAAA;EAEA,cAAA;ACr7CA;ADu7CA;EACA,YAAA;EACA,UAAA;ACr7CA;ADw7CA;EACA,gBAAA;ACt7CA;ADy7CA;EACA,sBAAA;ACv7CA;ADy7CA;EACA,WAAA;EACA,cAAA;ACv7CA;AD47CA;EAEA,cAAA;EAEA,SAAA;AC57CA;AD87CA;EACA,iBAAA;EACA,OAAA;AC57CA;AD67CA;EACA,0BAAA;AC37CA;AD87CA;EACA,cAAA;AC57CA;AD87CA;EACA,cAAA;EACA,WAAA;EACA,YAAA;AC57CA;AD67CA;EACA,mBAAA;EACA,sBAAA;EACA,4BAAA;EACA,WAAA;EACA,YAAA;EACA,gBAAA;EACA,qBAAA;EACA,qBAAA;AC37CA;AD67CA;EACA,eAAA;AC37CA;;AAEA,oCAAoC",file:"index.vue",sourcesContent:['<template>\r\n <div class="app-container">\r\n <div class="filter-container">\r\n <el-form\r\n ref="listQuery"\r\n :inline="true"\r\n :model="listQuery"\r\n class="demo-form-inline"\r\n >\r\n <el-form-item label="客户姓名" prop="name">\r\n <el-select\r\n v-model="listQuery.name"\r\n style="width: 100%"\r\n clearable\r\n filterable\r\n size="small"\r\n class="filter-item"\r\n placeholder="请选择客户"\r\n >\r\n <el-option\r\n v-for="(item, index) in customerData"\r\n :key="index"\r\n :label="item.label"\r\n :value="item.label"\r\n />\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item label="手机号码" prop="phoneNumber">\r\n <el-input\r\n v-model="listQuery.phoneNumber"\r\n size="small"\r\n clearable\r\n placeholder="请输入手机号码"\r\n />\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button\r\n size="small"\r\n type="primary"\r\n @click="onSubmit"\r\n >查询</el-button>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button\r\n size="small"\r\n type="warning"\r\n @click="resetting(\'listQuery\')"\r\n >重置</el-button>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size="small" type="success" @click="add">新增</el-button>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button\r\n size="small"\r\n type="primary"\r\n @click="dialogVisibleExp = true"\r\n >导出</el-button>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n <el-table border height="65vh" :data="list" style="width: 100%">\r\n <el-table-column :label="\'护理机构\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.unitName }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'客户姓名\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.name }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'客户手机号码\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.phoneNumber }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'身份证号\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.idCode ? row.idCode : "-" }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'行政区划\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.city }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'辖区\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.county }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'现居住地址\'" align="center" width="300">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.address }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'评估等级\'" align="center" width="150">\r\n <template slot-scope="{ row }">\r\n <el-tag v-if="row.lv == \'06\'" type="success">重度失能ⅠⅠⅠ级</el-tag>\r\n <el-tag v-if="row.lv == \'05\'" type="success">重度失能ⅠⅠ级</el-tag>\r\n <el-tag v-if="row.lv == \'04\'" type="success">重度失能Ⅰ级</el-tag>\r\n <el-tag v-if="row.lv == \'03\'" type="success">中度失能</el-tag>\r\n <el-tag v-if="row.lv == \'02\'" type="success">轻度失能</el-tag>\r\n <el-tag v-if="row.lv == \'01\'" type="success">基本正常</el-tag>\r\n </template>\r\n </el-table-column>\r\n \x3c!-- <el-table-column :label="\'服务合同开始时间\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.startTime }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'服务合同结束时间\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.endTime }}</span>\r\n </template>\r\n </el-table-column> --\x3e\r\n <el-table-column :label="\'状态\'" align="center">\r\n <template slot-scope="{ row }">\r\n <el-tag v-if="row.isDelete == \'0\'" type="success">正常</el-tag>\r\n <el-tag v-if="row.isDelete == \'1\'" type="success">已注销</el-tag>\r\n <el-tag v-if="row.isDelete == \'2\'" type="warning">住院</el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'是否有定制\'" align="center">\r\n <template slot-scope="{ row }">\r\n <el-tag v-if="row.formulateType == \'0\'" type="success">没有</el-tag>\r\n <el-tag v-if="row.formulateType == \'1\'" type="success">有</el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'创建时间\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.createTime }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column\r\n :label="\'操作\'"\r\n align="center"\r\n width="300"\r\n class-name="small-padding fixed-width"\r\n >\r\n <template slot-scope="{ row, $index }">\r\n <el-button size="mini" type="primary" @click="edit(row, $index)">\r\n 详情\r\n </el-button>\r\n <el-button\r\n size="mini"\r\n type="danger"\r\n @click="handleDelete(row, $index)"\r\n >\r\n 终止\r\n </el-button>\r\n \x3c!-- <el-button\r\n size="mini"\r\n type="success"\r\n @click="handleStatus(row, $index)"\r\n >\r\n 修改状态\r\n </el-button> --\x3e\r\n <el-button\r\n size="mini"\r\n type="success"\r\n @click="modifyClock(row, $index)"\r\n >\r\n 打卡项制定\r\n </el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n\r\n <pagination\r\n v-show="total > 0"\r\n :total="total"\r\n :page.sync="listQuery.pageNo"\r\n :limit.sync="listQuery.size"\r\n @pagination="getList"\r\n />\r\n\r\n <el-dialog\r\n :close-on-click-modal="false"\r\n :close-on-press-escape="false"\r\n :title="textMap[dialogStatus]"\r\n :visible.sync="dialogFormVisible"\r\n width="45%"\r\n >\r\n <el-form\r\n ref="temp"\r\n :rules="rules"\r\n :model="temp"\r\n label-position="right"\r\n label-width="140px"\r\n >\r\n <el-row :gutter="20">\r\n <el-col :span="12">\r\n <el-form-item label="身份证">\r\n <el-input\r\n v-model="temp.certno"\r\n clearable\r\n placeholder="请输入身份证"\r\n size="small"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-button size="mini" type="success" @click="huoqu">\r\n 同步第三方用户校验信息\r\n </el-button>\r\n </el-col>\r\n </el-row>\r\n <el-divider />\r\n <el-row :gutter="20">\r\n <el-col :span="12">\r\n <el-form-item label="最早可登记时间">\r\n <el-input\r\n v-model="temp.floorBegntime"\r\n disabled\r\n clearable\r\n placeholder="最早可登记时间"\r\n size="small"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="登记时间">\r\n <el-date-picker\r\n v-model="temp.thirdBegntime"\r\n size="small"\r\n value-format="yyyy-MM-dd HH:mm:ss"\r\n style="width: 100%"\r\n type="datetime"\r\n placeholder="登记时间不选将使用当前系统时间"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="联系人">\r\n <el-input\r\n v-model="temp.wxUserId"\r\n clearable\r\n placeholder="请输入联系人"\r\n size="small"\r\n />\r\n \x3c!-- <el-select style="width: 100%" clearable filterable size="small" v-model="temp.wxUserId"\r\n class="filter-item" placeholder="请选择联系人">\r\n <el-option v-for="(item, index) in contacts" :key="index" :label="item.label" :value="item.value">\r\n <span style="float: left">{{ item.label }}</span>\r\n <span style="float: right; color: #8492a6; font-size: 13px">{{\r\n item.phoneNumber\r\n }}</span>\r\n </el-option>\r\n </el-select> --\x3e\r\n </el-form-item>\r\n </el-col>\r\n\r\n <el-col :span="12">\r\n <el-form-item label="家人关系" prop="relation">\r\n <el-select\r\n v-model="temp.relation"\r\n style="width: 100%"\r\n clearable\r\n filterable\r\n size="small"\r\n class="filter-item"\r\n placeholder="请选择家人关系"\r\n >\r\n <el-option\r\n v-for="(item, index) in [\r\n { label: \'父亲\', value: \'父亲\' },\r\n { label: \'母亲\', value: \'母亲\' },\r\n { label: \'爷爷\', value: \'爷爷\' },\r\n { label: \'奶奶\', value: \'奶奶\' },\r\n { label: \'妻子\', value: \'妻子\' },\r\n { label: \'丈夫\', value: \'丈夫\' },\r\n ]"\r\n :key="index"\r\n :label="item.label"\r\n :value="item.value"\r\n />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="客户姓名">\r\n <el-input\r\n v-model="temp.name"\r\n clearable\r\n placeholder="请输入客户姓名"\r\n size="small"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="客户手机号码">\r\n <el-input\r\n v-model="temp.phoneNumber"\r\n clearable\r\n placeholder="请输入客户手机号码"\r\n size="small"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="护理方式" prop="nurscareWay">\r\n <el-select\r\n v-model="temp.nurscareWay"\r\n disabled\r\n style="width: 100%"\r\n clearable\r\n filterable\r\n size="small"\r\n class="filter-item"\r\n placeholder="请选择护理方式"\r\n >\r\n <el-option\r\n v-for="(item, index) in [\r\n { label: \'入住机构护理\', value: \'01\' },\r\n { label: \'居家上门护理\', value: \'07\' },\r\n { label: \'居家自主护理\', value: \'03\' },\r\n ]"\r\n :key="index"\r\n :label="item.label"\r\n :value="item.value"\r\n />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="身份证" prop="idCode">\r\n <el-input\r\n v-model="temp.idCode"\r\n clearable\r\n placeholder="请输入身份证号"\r\n size="small"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="行政区划" prop="city">\r\n <el-input\r\n v-model="temp.city"\r\n disabled\r\n clearable\r\n placeholder="请输入行政区划"\r\n size="small"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="辖区" prop="county">\r\n <el-input\r\n v-model="temp.county"\r\n clearable\r\n disabled\r\n placeholder="请输入辖区"\r\n size="small"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n \x3c!-- <el-col :span="24">\r\n <el-form-item label="搜索" prop="address">\r\n <el-select\r\n v-model="keywords"\r\n filterable\r\n remote\r\n reserve-keyword\r\n placeholder="搜索位置"\r\n :remote-method="remoteMethod"\r\n :loading="loading"\r\n :clearable="true"\r\n size="mini"\r\n @change="currentSelect"\r\n style="width: 100%"\r\n value-key="id"\r\n >\r\n <el-option\r\n v-for="item in options"\r\n :key="item.id"\r\n :label="item.name"\r\n :value="item"\r\n class="one-text"\r\n >\r\n <span style="float: left">{{ item.name }}</span>\r\n <span style="float: right; color: #8492a6; font-size: 13px">{{\r\n item.district\r\n }}</span>\r\n </el-option>\r\n </el-select>\r\n </el-form-item>\r\n <div id="amapcontainer" style="width: 100%; height: 400px"></div>\r\n </el-col> --\x3e\r\n <el-col :span="12">\r\n <el-form-item label="现居住地址">\r\n <el-input\r\n v-model="temp.address"\r\n clearable\r\n disabled\r\n placeholder="请输入现居住地址"\r\n size="small"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="经度" prop="lat">\r\n <el-input\r\n v-model="temp.lat"\r\n clearable\r\n disabled\r\n placeholder="请输入经度"\r\n size="small"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="纬度" prop="lng">\r\n <el-input\r\n v-model="temp.lng"\r\n clearable\r\n disabled\r\n placeholder="请输入纬度"\r\n size="small"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="出生日期">\r\n <el-date-picker\r\n v-model="temp.birthday"\r\n size="small"\r\n format="yyyy 年 MM 月 dd 日"\r\n value-format="yyyy-MM-dd"\r\n style="width: 100%"\r\n type="date"\r\n placeholder="请选择出生日期"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="医保类型" prop="medicalType">\r\n <el-select\r\n v-model="temp.medicalType"\r\n style="width: 100%"\r\n clearable\r\n filterable\r\n disabled\r\n size="small"\r\n class="filter-item"\r\n placeholder="请选择"\r\n >\r\n <el-option\r\n v-for="(item, index) in [\r\n { label: \'城镇职工基本医疗保险\', value: \'1\' },\r\n { label: \'长期护理保险\', value: \'410\' },\r\n ]"\r\n :key="index"\r\n :label="item.label"\r\n :value="item.value"\r\n />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="参保行政区划" prop="medicalCity">\r\n <el-input\r\n v-model="temp.medicalCity"\r\n clearable\r\n disabled\r\n placeholder="请输入参保行政区划"\r\n size="small"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="参保所属辖区" prop="medicalCounty">\r\n <el-input\r\n v-model="temp.medicalCounty"\r\n clearable\r\n disabled\r\n placeholder="请输入参保所属辖区"\r\n size="small"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="社保卡号">\r\n <el-input\r\n v-model="temp.medicalNo"\r\n clearable\r\n placeholder="请输入社保卡号"\r\n size="small"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="社保状态" prop="medicalStatus">\r\n <el-select\r\n v-model="temp.medicalStatus"\r\n style="width: 100%"\r\n clearable\r\n filterable\r\n size="small"\r\n class="filter-item"\r\n placeholder="请选择社保状态"\r\n >\r\n <el-option\r\n v-for="(item, index) in [\r\n { label: \'正常\', value: \'1\' },\r\n { label: \'中断\', value: \'2\' },\r\n ]"\r\n :key="index"\r\n :label="item.label"\r\n :value="item.value"\r\n />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n\r\n <el-col :span="12">\r\n <el-form-item label="待遇状态" prop="status">\r\n <el-select\r\n v-model="temp.status"\r\n style="width: 100%"\r\n clearable\r\n filterable\r\n size="small"\r\n class="filter-item"\r\n placeholder="请选择待遇状态"\r\n >\r\n <el-option\r\n v-for="(item, index) in [\r\n { label: \'正常\', value: \'1\' },\r\n { label: \'终止\', value: \'2\' },\r\n { label: \'未有待遇\', value: \'0\' },\r\n ]"\r\n :key="index"\r\n :label="item.label"\r\n :value="item.value"\r\n />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="是否残疾人" prop="isHandicapped">\r\n <el-select\r\n v-model="temp.isHandicapped"\r\n style="width: 100%"\r\n clearable\r\n filterable\r\n size="small"\r\n class="filter-item"\r\n placeholder="请选择是否残疾人"\r\n >\r\n <el-option\r\n v-for="(item, index) in [\r\n { label: \'是\', value: \'1\' },\r\n { label: \'否\', value: \'0\' },\r\n ]"\r\n :key="index"\r\n :label="item.label"\r\n :value="item.value"\r\n />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="评估等级" prop="lv">\r\n <el-select\r\n v-model="temp.lv"\r\n style="width: 100%"\r\n clearable\r\n filterable\r\n size="small"\r\n class="filter-item"\r\n placeholder="请选择评估等级"\r\n >\r\n <el-option\r\n v-for="(item, index) in [\r\n { label: \'重度失能ⅠⅠⅠ级\', value: \'06\' },\r\n { label: \'重度失能ⅠⅠ级\', value: \'05\' },\r\n { label: \'重度失能Ⅰ级\', value: \'04\' },\r\n { label: \'中度失能\', value: \'03\' },\r\n { label: \'轻度失能\', value: \'02\' },\r\n { label: \'基本正常\', value: \'01\' },\r\n ]"\r\n :key="index"\r\n :label="item.label"\r\n :value="item.value"\r\n />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="合同服务开始时间">\r\n <el-date-picker\r\n v-model="temp.startTime"\r\n size="small"\r\n format="yyyy 年 MM 月 dd 日"\r\n value-format="yyyy-MM-dd"\r\n style="width: 100%"\r\n type="date"\r\n placeholder="请选择合同服务开始时间"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="合同服务结束时间">\r\n <el-date-picker\r\n v-model="temp.endTime"\r\n size="small"\r\n format="yyyy 年 MM 月 dd 日"\r\n value-format="yyyy-MM-dd"\r\n style="width: 100%"\r\n type="date"\r\n placeholder="请选择合同服务结束时间"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <div slot="footer" class="dialog-footer">\r\n <el-button size="mini" @click="dialogFormVisible = false">\r\n 取 消\r\n </el-button>\r\n <el-button\r\n size="mini"\r\n type="primary"\r\n @click="dialogStatus === \'create\' ? createData() : updateData()"\r\n >\r\n 确 认\r\n </el-button>\r\n </div>\r\n </el-dialog>\r\n\r\n <el-dialog\r\n :close-on-click-modal="false"\r\n :close-on-press-escape="false"\r\n title="导出"\r\n :visible.sync="dialogVisibleExp"\r\n width="600px"\r\n :before-close="handleClose"\r\n >\r\n <el-form :inline="true" class="demo-form-inline">\r\n <el-form-item label="提示:">\r\n <el-link\r\n :underline="false"\r\n type="primary"\r\n >选择的开始日期和结束日期请将数据的入录时间包含起来,结束日期选后一天</el-link>\r\n </el-form-item>\r\n <el-form-item label="时间">\r\n <el-date-picker\r\n v-model="startDate"\r\n type="daterange"\r\n value-format="yyyy-MM-dd"\r\n range-separator="至"\r\n start-placeholder="开始日期"\r\n end-placeholder="结束日期"\r\n />\r\n </el-form-item>\r\n </el-form>\r\n <span slot="footer" class="dialog-footer">\r\n <el-button\r\n size="small"\r\n :loading="loadExp"\r\n @click="handleClose"\r\n >取 消</el-button>\r\n <el-button\r\n size="small"\r\n type="primary"\r\n :loading="loadExp"\r\n @click="expExcel"\r\n >\r\n 导 出\r\n </el-button>\r\n </span>\r\n </el-dialog>\r\n\r\n <el-dialog\r\n :close-on-click-modal="false"\r\n :close-on-press-escape="false"\r\n title="终止原因"\r\n :visible.sync="dialogVisible"\r\n width="30%"\r\n :before-close="handleClose"\r\n >\r\n <el-form\r\n ref="allState"\r\n :rules="rules"\r\n :model="allState"\r\n label-position="right"\r\n label-width="80px"\r\n >\r\n <el-row :gutter="20">\r\n <el-col :span="24">\r\n <el-form-item label="终止原因" prop="trtExitRea">\r\n <el-select\r\n v-model="trtExitObj"\r\n value-key="trtExitRea"\r\n style="width: 100%"\r\n clearable\r\n filterable\r\n size="small"\r\n class="filter-item"\r\n placeholder="请选择终止原因"\r\n @change="searchSelect"\r\n >\r\n <el-option\r\n v-for="(item, index) in [\r\n { trtExitRea: \'01\', trtExitDscr: \'就医\' },\r\n { trtExitRea: \'02\', trtExitDscr: \'搬至其他机构\' },\r\n { trtExitRea: \'03\', trtExitDscr: \'更换护理方式\' },\r\n { trtExitRea: \'04\', trtExitDscr: \'离世\' },\r\n { trtExitRea: \'05\', trtExitDscr: \'其他\' },\r\n ]"\r\n :key="index"\r\n :label="item.trtExitDscr"\r\n :value="item"\r\n />\r\n </el-select>\r\n \x3c!-- <el-input clearable placeholder="请输入终止原因" size="small" v-model="allState.trtExitRea" /> --\x3e\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <span slot="footer" class="dialog-footer">\r\n <el-button size="mini" @click="dialogVisible = false">取 消</el-button>\r\n <el-button\r\n size="mini"\r\n type="primary"\r\n @click="termination"\r\n >确 定</el-button>\r\n </span>\r\n </el-dialog>\r\n\r\n <el-dialog\r\n title="打卡项制定"\r\n :close-on-click-modal="false"\r\n :close-on-press-escape="false"\r\n :visible.sync="ModifyClockVisible"\r\n width="87%"\r\n >\r\n <div class="table">\r\n <el-table\r\n :data="tableData"\r\n style="width: 100%"\r\n >\r\n <el-table-column\r\n align="center"\r\n prop="title"\r\n label="服务项目"\r\n width="200"\r\n />\r\n <el-table-column align="center" label="护理时间及次数">\r\n <el-table-column\r\n v-for="(item, index) in 31"\r\n :key="index"\r\n align="center"\r\n :label="`${index + 1}日`"\r\n width="50"\r\n >\r\n <template slot-scope="scope">\r\n <el-input\r\n v-if="\r\n scope.row.isEdit &&\r\n lastItem[index].label == `${`day${index + 1}`}`\r\n "\r\n v-model="scope.row[`day${index + 1}`]"\r\n @blur="\r\n onBlur(\r\n scope.row,\r\n `${scope.row[`day${index + 1}`]}`,\r\n `${`day${index + 1}`}`\r\n )\r\n "\r\n />\r\n <span\r\n v-else\r\n class="active"\r\n @click=" cellEdit(\r\n scope.row,\r\n `${scope.row[`day${index + 1}`]}`,\r\n `${`day${index + 1}`}`\r\n )\r\n\r\n "\r\n >{{ `${scope.row[`day${index + 1}`]}` }}</span>\r\n </template>\r\n </el-table-column>\r\n </el-table-column>\r\n <el-table-column align="center" prop="num" label="合计次数">\r\n <template slot-scope="scope">\r\n {{ totalNumber(scope.row) }}\r\n </template>\r\n </el-table-column>\r\n <el-table-column align="center" prop="needNum" label="需要次数" />\r\n\r\n </el-table>\r\n </div>\r\n\r\n <span slot="footer" class="dialog-footer">\r\n <el-button\r\n size="small"\r\n @click="ModifyClockVisible = false"\r\n >取 消</el-button>\r\n <el-button\r\n size="small"\r\n type="primary"\r\n @click="ModifyClockConfig()"\r\n >确 定</el-button>\r\n </span>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport {\r\n WxUserFamilyPage,\r\n WxUserFamilySave,\r\n WxUserFamilyDel,\r\n WxUserCustomAll,\r\n customAll,\r\n ExportExcelInfoWX,\r\n WxUserFamilySysUser,\r\n updateIsDel,\r\n WxUserFamilyAll,\r\n getFormulate,\r\n WxClockItemFormulateSave\r\n} from \'@/api/institution\'\r\nimport { getUserInfoRole } from \'@/utils/auth\'\r\nimport Pagination from \'@/components/Pagination\'\r\nimport AMapLoader from \'@amap/amap-jsapi-loader\'\r\nimport QQMap from \'qqmap\'\r\nexport default {\r\n name: \'Personnel\',\r\n components: { Pagination },\r\n filters: {},\r\n data() {\r\n return {\r\n lastItem: [],\r\n tableData: [],\r\n customerData: [],\r\n trtExitObj: {},\r\n allState: {},\r\n ModifyClockVisible: false,\r\n dialogVisibleExp: false,\r\n dialogVisible: false,\r\n loadExp: false,\r\n startDate: [],\r\n dialogStatus: \'\',\r\n textMap: { update: \'编辑\', create: \'创建\' },\r\n tableKey: 0,\r\n list: null,\r\n total: 0,\r\n listLoading: true,\r\n listQuery: {\r\n pageNo: 1,\r\n size: 20\r\n },\r\n // 搜索节流阀\r\n loading: false,\r\n // 搜索提示信息\r\n options: [],\r\n // 搜索提示\r\n AutoComplete: null,\r\n // 标记点\r\n marker: \'\',\r\n // 标记点\r\n marker: \'\',\r\n // 地址逆解析\r\n geoCoder: null,\r\n // 搜索关键字\r\n keywords: \'\',\r\n customData: [],\r\n contacts: [],\r\n dialogFormVisible: false,\r\n dialogPvVisible: false,\r\n rules: {\r\n wxUserId: [\r\n { required: true, message: \'请选择联系人姓名\', trigger: \'change\' }\r\n ],\r\n\r\n medicalNo: [\r\n { required: true, message: \'请输入社保卡号\', trigger: \'blur\' }\r\n ],\r\n trtExitRea: [\r\n { required: true, message: \'请输入终止原因\', trigger: \'blur\' }\r\n ],\r\n name: [{ required: true, message: \'请输入客户姓名\', trigger: \'blur\' }],\r\n phoneNumber: [\r\n { required: true, message: \'请输入手机号码\', trigger: \'blur\' }\r\n ],\r\n address: [\r\n { required: true, message: \'请输入现居住地址\', trigger: \'blur\' }\r\n ],\r\n birthday: [\r\n { required: true, message: \'请选择出生日期\', trigger: \'blur\' }\r\n ],\r\n startTime: [\r\n {\r\n required: true,\r\n message: \'请选择合同服务开始时间\',\r\n trigger: \'blur\'\r\n }\r\n ],\r\n endTime: [\r\n {\r\n required: true,\r\n message: \'请选择合同服务结束时间\',\r\n trigger: \'blur\'\r\n }\r\n ]\r\n },\r\n temp: {},\r\n userInfo: {},\r\n downloadLoading: false,\r\n map: null\r\n }\r\n },\r\n computed: {\r\n totalNumber() {\r\n return function(item) {\r\n console.log(item)\r\n let data = 0\r\n if (item.title != \'签到信息\') {\r\n for (var i in item) {\r\n if (\r\n i != \'projectId\' &&\r\n i != \'needNum\' &&\r\n i != \'price\' &&\r\n i != \'title\' &&\r\n i != \'hejizongjia\' &&\r\n i != \'titleNew\' &&\r\n i != \'num\'\r\n ) {\r\n data += Number(item[i])\r\n }\r\n }\r\n } else {\r\n return \'\'\r\n }\r\n return data\r\n }\r\n }\r\n },\r\n created() {\r\n this.userInfo = JSON.parse(getUserInfoRole())\r\n this.getList()\r\n this.getCustom()\r\n },\r\n mounted() {},\r\n methods: {\r\n ModifyClockConfig() {\r\n this.$confirm(\'此操作将为客户创建打卡预制项 是否继续?\', \'提示\', {\r\n confirmButtonText: \'确定\',\r\n cancelButtonText: \'取消\',\r\n type: \'warning\'\r\n })\r\n .then(() => {\r\n WxClockItemFormulateSave({ list: this.tableData, familyId: this.temp.id }).then(\r\n (res) => {\r\n if (res.status == 1) {\r\n this.$notify({\r\n title: \'提示\',\r\n message: res.info,\r\n type: \'success\',\r\n duration: 4000\r\n })\r\n this.ModifyClockVisible = false\r\n this.getList()\r\n return\r\n }\r\n this.$notify({\r\n title: \'提示\',\r\n message: res.info,\r\n type: \'error\',\r\n duration: 4000\r\n })\r\n }\r\n )\r\n })\r\n .catch(() => {\r\n this.$message({\r\n type: \'info\',\r\n message: \'已取消\'\r\n })\r\n })\r\n },\r\n // 单元格双击事件--重点\r\n cellEdit(row, value, name) {\r\n if (row.title != \'签到信息\') {\r\n row[name] = value\r\n row.isEdit = true\r\n }\r\n },\r\n onBlur(row, value, name) {\r\n if (row[name] == \'\') {\r\n row[name] = \'0\'\r\n }\r\n row.isEdit = false\r\n },\r\n // 修改打卡项\r\n modifyClock(row) {\r\n this.ModifyClockVisible = true\r\n this.temp = row\r\n this.lastItem = []\r\n this.tableData = []\r\n getFormulate({ familyId: row.id }).then((res) => {\r\n this.tableData = res.result.map((item) => {\r\n item.isEdit = false\r\n return item\r\n })\r\n const lastItem = res.result[res.result.length - 1]\r\n for (var i in this.objectOrder(lastItem)) {\r\n if (\r\n i != \'title\' &&\r\n i != \'num\' &&\r\n i != \'price\' &&\r\n i != \'needNum\' &&\r\n i != \'projectId\'\r\n ) {\r\n this.lastItem.push({\r\n label: lastItem[i] ? i : \'\',\r\n value: lastItem[i]\r\n })\r\n }\r\n }\r\n console.log(this.lastItem)\r\n })\r\n },\r\n // 排序的函数\r\n objectOrder(obj) {\r\n var newkey = Object.keys(obj).sort()\r\n const dayNames = newkey.filter((item) => item.startsWith(\'day\'))\r\n const sortedDayNames = dayNames.sort((a, b) => {\r\n const dayNumberA = parseInt(a.slice(3))\r\n const dayNumberB = parseInt(b.slice(3))\r\n return dayNumberA - dayNumberB\r\n })\r\n sortedDayNames.push(\'needNum\', \'num\', \'projectId\', \'title\')\r\n var newObj = {}\r\n for (var i = 0; i < sortedDayNames.length; i++) {\r\n newObj[sortedDayNames[i]] = obj[sortedDayNames[i]]\r\n }\r\n return newObj // 返回排好序的新对象\r\n },\r\n searchSelect(val) {\r\n console.log(val)\r\n },\r\n huoqu() {\r\n WxUserFamilySysUser({ certno: this.temp.certno }).then((res) => {\r\n console.log(\'三方信息\')\r\n console.log(res.result)\r\n if (res.status == 1) {\r\n this.$notify({\r\n title: \'同步成功\',\r\n message: res.info,\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n if (this.temp.certno.length === 18) {\r\n const birthday = this.temp.certno.substr(6, 8)\r\n res.result.birthday = birthday.replace(/(.{4})(.{2})/, \'$1-$2-\')\r\n }\r\n this.temp = res.result\r\n if (\r\n (this.userInfo.unitType == \'01\' && this.temp.nurscareWay != \'07\') ||\r\n (this.userInfo.unitType == \'02\' && this.temp.nurscareWay != \'01\')\r\n ) {\r\n this.$message({\r\n message: \'客户护理方式与机构类型不匹配\',\r\n type: \'warning\'\r\n })\r\n }\r\n\r\n // 01 上门机构 02养老\r\n // 判断 用户登录如果是上门机构 并且 机构的辖区code 和三方同步信息返回的辖区code不对应的话 弹出提示\r\n if (\r\n this.userInfo.unitType == \'01\' &&\r\n this.userInfo.unitCountyCode != this.temp.medicalCounty\r\n ) {\r\n this.$message({\r\n message: \'客户与机构的辖区不一致\',\r\n type: \'warning\'\r\n })\r\n }\r\n return\r\n }\r\n this.$notify({\r\n title: \'同步失败\',\r\n message: res.info,\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n },\r\n handleClose() {\r\n this.dialogVisibleExp = false\r\n this.dialogVisible = false\r\n this.startDate = []\r\n },\r\n expExcel() {\r\n try {\r\n this.loadExp = true\r\n const form = {\r\n startDate: this.startDate[0],\r\n endDate: this.startDate[1]\r\n }\r\n ExportExcelInfoWX(form)\r\n .then((res) => {\r\n const blob = new Blob([res])\r\n const fileName = \'客户信息\'\r\n if (blob.size > 0) {\r\n const elink = document.createElement(\'a\')\r\n elink.style.display = \'none\'\r\n elink.href = URL.createObjectURL(blob)\r\n // 类似a标签下载\r\n // 自定义文件名称和导出类型。最好和后台保持一致\r\n elink.download = `${fileName}/${this.$moment().format(\r\n \'YYYY-MM-DD\'\r\n )}.xlsx`\r\n document.body.appendChild(elink)\r\n elink.click()\r\n // 释放URL 对象\r\n URL.revokeObjectURL(elink.href)\r\n // 删除创建的 a 标签\r\n document.body.removeChild(elink)\r\n }\r\n this.handleClose()\r\n this.loadExp = false\r\n })\r\n .catch(() => {\r\n this.loadExp = false\r\n })\r\n } catch (e) {\r\n this.loadExp = false\r\n console.log(e)\r\n }\r\n },\r\n initAMap() {\r\n AMapLoader.load({\r\n key: \'3bd68974947ab074c863ad28dfe2fc5c\', // 申请好的Web端开发者Key,首次调用 load 时必填\r\n version: \'2.0\', // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15\r\n plugins: [\r\n \'AMap.Scale\',\r\n \'AMap.ToolBar\',\r\n \'AMap.ControlBar\',\r\n \'AMap.Geocoder\',\r\n \'AMap.Marker\',\r\n \'AMap.CitySearch\',\r\n \'AMap.Geocoder\',\r\n \'AMap.Geolocation\',\r\n \'AMap.AutoComplete\',\r\n \'AMap.InfoWindow\'\r\n ]\r\n })\r\n .then((AMap) => {\r\n // 获取到作为地图容器的DOM元素,创建地图实例\r\n this.map = new AMap.Map(\'amapcontainer\', {\r\n // 设置地图容器id\r\n resizeEnable: true,\r\n zoom: this.zoom, // 地图显示的缩放级别\r\n zoomEnable: true, // 地图是否可缩放,默认值为true\r\n dragEnable: true, // 地图是否可通过鼠标拖拽平移,默认为true\r\n doubleClickZoom: true, // 地图是否可通过双击鼠标放大地图,默认为true\r\n zoom: 13, // 初始化地图级别\r\n center: [120.699366, 27.994267] // 初始化中心点坐标 广州\r\n })\r\n\r\n // 添加控件\r\n AMap.plugin([\'AMap.ToolBar\'], () => {\r\n this.map.addControl(new AMap.ToolBar())\r\n })\r\n // 地址逆解析插件\r\n this.geoCoder = new AMap.Geocoder({\r\n radius: 1000, // 范围,默认:500\r\n extensions: \'all\'\r\n })\r\n // 搜索提示插件\r\n this.AutoComplete = new AMap.AutoComplete({ city: \'全国\' })\r\n // 点击获取经纬度;\r\n this.map.on(\'click\', (e) => {\r\n this.keywords = \'\'\r\n // this.temp.city = e.\r\n // this.temp.county = val.address\r\n // 获取经纬度\r\n this.temp.lng = e.lnglat.lng\r\n this.temp.lat = e.lnglat.lat\r\n // 清除点\r\n this.removeMarker()\r\n // 标记点\r\n this.setMapMarker()\r\n // 解析地址\r\n this.toGeoCoder()\r\n })\r\n })\r\n .catch((e) => {\r\n console.log(e)\r\n })\r\n },\r\n // 搜索\r\n remoteMethod(query) {\r\n if (query !== \'\') {\r\n this.loading = true\r\n this.options = []\r\n console.log(this.options)\r\n setTimeout(() => {\r\n this.loading = false\r\n this.AutoComplete.search(query, (status, result) => {\r\n this.options = result.tips\r\n })\r\n }, 200)\r\n } else {\r\n this.options = []\r\n }\r\n },\r\n // 选中提示\r\n currentSelect(val) {\r\n console.log(val)\r\n // 清空时不执行后面代码\r\n if (!val) {\r\n return\r\n }\r\n if (val.location) {\r\n this.temp.lng = val.location.lng\r\n this.temp.lat = val.location.lat\r\n }\r\n // 解析地址\r\n this.toGeoCoder()\r\n // this.temp.address = val.district + val.address\r\n // this.temp.adcode = val.adcode\r\n // this.temp.city = val.district;\r\n // this.temp.county = val.address;\r\n // 清除点\r\n this.removeMarker()\r\n // 标记点\r\n this.setMapMarker()\r\n },\r\n\r\n // 解析地址\r\n toGeoCoder() {\r\n const lnglat = [this.temp.lng, this.temp.lat]\r\n this.geoCoder.getAddress(lnglat, (status, result) => {\r\n if (status === \'complete\' && result.regeocode) {\r\n console.log(result.regeocode)\r\n this.$set(this.temp, \'city\', result.regeocode.addressComponent.city)\r\n this.$set(\r\n this.temp,\r\n \'county\',\r\n result.regeocode.addressComponent.district\r\n )\r\n this.$set(this.temp, \'address\', result.regeocode.formattedAddress)\r\n }\r\n })\r\n },\r\n // 标记点\r\n setMapMarker() {\r\n // 自动适应显示想显示的范围区域\r\n this.map.setFitView()\r\n this.marker = new AMap.Marker({\r\n map: this.map,\r\n position: [this.temp.lng, this.temp.lat]\r\n })\r\n this.map.setFitView()\r\n this.map.add(this.marker)\r\n },\r\n // 清除点\r\n removeMarker() {\r\n if (this.marker) {\r\n this.map.remove(this.marker)\r\n }\r\n },\r\n // 获取客户信息\r\n getCustom() {\r\n WxUserCustomAll().then((res) => {\r\n this.customData = res.result.map((item) => {\r\n return {\r\n label: item.nickName,\r\n value: item.id,\r\n phoneNumber: item.phoneNumber\r\n }\r\n })\r\n })\r\n customAll().then((res) => {\r\n this.contacts = res.result.map((item) => {\r\n return {\r\n label: item.nickName,\r\n value: item.id,\r\n phoneNumber: item.phoneNumber\r\n }\r\n })\r\n })\r\n },\r\n changeUser(val) {\r\n for (var i = 0; i < this.customData.length; i++) {\r\n if (this.customData[i].value == val) {\r\n this.temp.wxUserPhoneNumber = this.customData[i].phoneNumber\r\n }\r\n }\r\n },\r\n getList() {\r\n this.listLoading = true\r\n WxUserFamilyPage(this.listQuery).then((response) => {\r\n this.list = response.result.data\r\n this.total = response.result.count\r\n setTimeout(() => {\r\n this.listLoading = false\r\n }, 1.5 * 1000)\r\n })\r\n WxUserFamilyAll().then((res) => {\r\n this.customerData = res.result.map((item) => {\r\n return { label: item.name, value: item.name }\r\n })\r\n })\r\n },\r\n handleModifyStatus(row, status) {\r\n this.$message({\r\n message: \'操作成功\',\r\n type: \'success\'\r\n })\r\n row.status = status\r\n },\r\n resetting(formName) {\r\n this.$nextTick(() => {\r\n this.$refs[formName].resetFields()\r\n this.getList()\r\n })\r\n },\r\n add() {\r\n this.dialogStatus = \'create\'\r\n this.dialogFormVisible = true\r\n this.temp = {}\r\n this.initAMap()\r\n },\r\n onSubmit() {\r\n this.getList()\r\n },\r\n createData() {\r\n this.$refs[\'temp\'].validate((valid) => {\r\n if (valid) {\r\n WxUserFamilySave(this.temp).then((res) => {\r\n // this.list.unshift(this.temp)\r\n if (res.status == 1) {\r\n this.dialogFormVisible = false\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'新增成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'新增失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n }\r\n })\r\n },\r\n updateData() {\r\n this.$refs[\'temp\'].validate((valid) => {\r\n if (valid) {\r\n WxUserFamilySave(this.temp).then((res) => {\r\n if (res.status == 1) {\r\n this.dialogFormVisible = false\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'更新成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'更新失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n }\r\n })\r\n },\r\n edit(row) {\r\n this.temp = row\r\n this.temp.wxUser = row.wxUserId\r\n this.dialogStatus = \'update\'\r\n this.dialogFormVisible = true\r\n // for(var i = 0; i < this.customData.length; i ++) {\r\n // if(this.customData[i].value == this.temp.wxUserId) {\r\n // this.temp.wxUserPhoneNumber = this.customData[i].phoneNumber\r\n // }\r\n // }\r\n this.initAMap()\r\n },\r\n handleDelete(row, index) {\r\n this.dialogVisible = true\r\n this.allState.id = row.id\r\n },\r\n handleStatus(row) {\r\n this.$confirm(\'此操作将更改状态, 是否继续?\', \'提示\', {\r\n confirmButtonText: \'确定\',\r\n cancelButtonText: \'取消\',\r\n type: \'warning\'\r\n })\r\n .then(() => {\r\n updateIsDel(row).then((res) => {\r\n if (res.status == 1) {\r\n this.getList()\r\n this.$notify({\r\n title: \'修改成功\',\r\n message: res.info,\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: \'修改失败\',\r\n message: res.info,\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n })\r\n .catch(() => {\r\n this.$message({\r\n type: \'info\',\r\n message: \'已取消\'\r\n })\r\n })\r\n },\r\n termination() {\r\n this.trtExitObj.id = this.allState.id\r\n WxUserFamilyDel(this.trtExitObj).then((res) => {\r\n if (res.status == 1) {\r\n this.getList()\r\n this.$notify({\r\n title: \'删除成功\',\r\n message: res.info,\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n this.dialogVisible = false\r\n return\r\n }\r\n this.$notify({\r\n title: \'删除失败\',\r\n message: res.info,\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n }\r\n }\r\n}\r\n<\/script>\r\n<style lang="scss" scoped>\r\n.el-col-12 {\r\n padding: 0 20px 0 0;\r\n}\r\n\r\n.el-divider--horizontal {\r\n margin: 0 0 20px 0;\r\n}\r\n::v-deep .el-calendar__button-group {\r\n display: none;\r\n}\r\n\r\n.table ::v-deep .el-table .cell {\r\n padding: 0;\r\n}\r\n\r\n.table ::v-deep .el-table td {\r\n padding: 5px 0;\r\n}\r\n\r\n.active {\r\n color: #409eff;\r\n cursor: pointer;\r\n display: inline-block;\r\n width: 42px;\r\n}\r\n\r\n.inactive {\r\n color: #999;\r\n}\r\n.exptable {\r\n font-size: 9px;\r\n text-align: center;\r\n width: 100%;\r\n // line-height: 26px;\r\n .leftXuhao {\r\n display: flex;\r\n border-bottom: 1px solid #333;\r\n div {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n border-right: 1px solid #333;\r\n }\r\n }\r\n .thead {\r\n // border: 1px solid #333;\r\n border-bottom: 0;\r\n color: #000;\r\n padding: 8px 0;\r\n }\r\n .tbody {\r\n border: 1px solid #333;\r\n font-size: 8px;\r\n }\r\n .tr {\r\n display: flex;\r\n border-bottom: 1px solid #333;\r\n color: #111;\r\n div {\r\n // flex: 1;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n border-right: 1px solid #333;\r\n // padding: 5px 2px;\r\n }\r\n .bodyday {\r\n flex: 1;\r\n }\r\n div:last-child {\r\n border-right: 0;\r\n }\r\n }\r\n .eight div {\r\n flex: 1;\r\n // width: calc((100% - 120px * 8) / 8);\r\n padding: 5px 0;\r\n }\r\n .eight .title {\r\n width: 110px;\r\n flex: none;\r\n }\r\n\r\n .tr:last-child {\r\n border-bottom: 0;\r\n }\r\n .loop {\r\n .num {\r\n width: 22px !important;\r\n }\r\n .total {\r\n width: 23px;\r\n padding: 5px 0;\r\n }\r\n // .day {\r\n // width: calc(27px * 27);\r\n // }\r\n .name {\r\n // flex: 1;\r\n padding: 5px 0;\r\n // width: 300px !important;\r\n flex: 0.1;\r\n }\r\n .headday {\r\n flex-flow: column;\r\n flex: 1;\r\n .forday {\r\n border-top: 1px solid #333;\r\n }\r\n }\r\n .day span {\r\n padding: 5px 0;\r\n }\r\n .forday {\r\n display: table;\r\n width: 100%;\r\n height: 100%;\r\n span {\r\n display: table-cell;\r\n vertical-align: middle;\r\n border-right: 1px solid #333;\r\n width: 23px;\r\n height: 100%;\r\n overflow: hidden;\r\n word-wrap: break-word;\r\n word-break: break-all;\r\n }\r\n span:last-child {\r\n border-right: 0;\r\n }\r\n }\r\n }\r\n}\r\n</style>\r\n',".el-col-12 {\n padding: 0 20px 0 0;\n}\n\n.el-divider--horizontal {\n margin: 0 0 20px 0;\n}\n\n::v-deep .el-calendar__button-group {\n display: none;\n}\n\n.table ::v-deep .el-table .cell {\n padding: 0;\n}\n\n.table ::v-deep .el-table td {\n padding: 5px 0;\n}\n\n.active {\n color: #409eff;\n cursor: pointer;\n display: inline-block;\n width: 42px;\n}\n\n.inactive {\n color: #999;\n}\n\n.exptable {\n font-size: 9px;\n text-align: center;\n width: 100%;\n}\n.exptable .leftXuhao {\n display: flex;\n border-bottom: 1px solid #333;\n}\n.exptable .leftXuhao div {\n display: flex;\n align-items: center;\n justify-content: center;\n border-right: 1px solid #333;\n}\n.exptable .thead {\n border-bottom: 0;\n color: #000;\n padding: 8px 0;\n}\n.exptable .tbody {\n border: 1px solid #333;\n font-size: 8px;\n}\n.exptable .tr {\n display: flex;\n border-bottom: 1px solid #333;\n color: #111;\n}\n.exptable .tr div {\n display: flex;\n align-items: center;\n justify-content: center;\n border-right: 1px solid #333;\n}\n.exptable .tr .bodyday {\n flex: 1;\n}\n.exptable .tr div:last-child {\n border-right: 0;\n}\n.exptable .eight div {\n flex: 1;\n padding: 5px 0;\n}\n.exptable .eight .title {\n width: 110px;\n flex: none;\n}\n.exptable .tr:last-child {\n border-bottom: 0;\n}\n.exptable .loop .num {\n width: 22px !important;\n}\n.exptable .loop .total {\n width: 23px;\n padding: 5px 0;\n}\n.exptable .loop .name {\n padding: 5px 0;\n flex: 0.1;\n}\n.exptable .loop .headday {\n flex-flow: column;\n flex: 1;\n}\n.exptable .loop .headday .forday {\n border-top: 1px solid #333;\n}\n.exptable .loop .day span {\n padding: 5px 0;\n}\n.exptable .loop .forday {\n display: table;\n width: 100%;\n height: 100%;\n}\n.exptable .loop .forday span {\n display: table-cell;\n vertical-align: middle;\n border-right: 1px solid #333;\n width: 23px;\n height: 100%;\n overflow: hidden;\n word-wrap: break-word;\n word-break: break-all;\n}\n.exptable .loop .forday span:last-child {\n border-right: 0;\n}\n\n/*# sourceMappingURL=index.vue.map */"]},media:void 0})},__vue_scope_id__$a="data-v-66d92f8f",__vue_module_identifier__$a=void 0,__vue_is_functional_template__$a=!1,__vue_component__$a=normalizeComponent({render:__vue_render__$a,staticRenderFns:__vue_staticRenderFns__$a},__vue_inject_styles__$a,__vue_script__$a,__vue_scope_id__$a,__vue_is_functional_template__$a,__vue_module_identifier__$a,!1,createInjector,void 0,void 0);
|
|
1
|
+
import{ClockJsInfo,JSInfoNew,ClockInfo,wxSettlementInfo,wxSettlementStatisticInfoNew,wxSettlementStatisticInfo,revokepsnsetlThird,WxSettlementPage,WxSettlementSubmitOneClock,WxClockPage,WxSettlementCzOne,WxClockNeedCZ,predeclareThird,WxSettlementSave,WxSettlementAdvancePage,StatisticsSetlDeltais,billCheck,sysTrtSetlInfo,StatisticsSetl,savepsnsetlThird,queryOrgSetlEvtListThird}from"@/api/settlement";import{SysUnitAll,WxUserFamilyAll,WxClockItemFormulateSave,getFormulate,WxUserFamilySysUser,ExportExcelInfoWX,WxUserCustomAll,customAll,WxUserFamilyPage,WxUserFamilySave,updateIsDel,WxUserFamilyDel,repeatedGeneration,WxOrderFinish,SProjectPlanPage,SPersonAll,SProjectAll,SysUnitPage,SProjectPlanDetail,ExportExcel as ExportExcel$1,SProjectPage,SProjectTake,SProjectSave,SProjectDel,ExportExcelPlan,ExportExcelInfo,SProjectPlanSave,SProjectPlanDel,SysUnitBank,exportsysUnitInfo,cloudSave,SysUnitbankSave,SysUnitSave as SysUnitSave$1,SysUnitDel}from"@/api/institution";import Pagination from"@/components/Pagination";import{getUserInfoRole}from"@/utils/auth";import{ExportExcel,WxOrderDetail,WxOrderItemgetOrderNoDetails,WxOrderSchedulingDel,WxOrderSchedulingSave,WxOrderSchedulingGetByOrderNo,WxOrderItemUserSave,WxOrderPage,WxOrderSave,WxOrderDel}from"@/api/plan";import{uploadPDF,uploadTP,uploadThird}from"@/api/upload";import{fileUrl}from"@/utils/fileUrl.js";import PreviewFile from"@/components/previewFile";import Vue from"vue";import{SPersonSync,ExportExcel as ExportExcel$2,updateStatus,SPersonPage,SPersonSave,SPersonDel,SPersonMedicalStatus,SPersonMedicalPage}from"@/api/article";import pcaCode from"@/utils/pca.json";import{SysUserDel,SysUserResetPass,SysUserSave,SysUserPage,SysRoleAll,SysUnitAll as SysUnitAll$1,SysRoleAccess,SysRoleDel,SysRoleSave,SysRolePage,SysNodeTree}from"@/api/sys.js";var script$d={name:"Personnel",components:{Pagination:Pagination},filters:{},data:()=>({unitType:null,time:null,institutionList:[],customerData:[],startDate:"",loadExp:!1,dialogVisibleExp:!1,dialogVisibleExp_two:!1,dialogStatus:"",textMap:{update:"详情",create:"创建"},tableKey:0,list:null,total:0,listLoading:!0,listQuery:{pageNo:1,size:20},dialogFormVisible:!1,dialogPvVisible:!1,rules:{status:[{required:!0,message:"请选择审批状态",trigger:"change"}],name:[{required:!0,message:"请输入机构名称",trigger:"blur"}],city:[{required:!0,message:"请输入行政区划",trigger:"blur"}],county:[{required:!0,message:"请输入所属辖区",trigger:"blur"}],address:[{required:!0,message:"请输入护理机构地址",trigger:"blur"}],linkMan:[{required:!0,message:"请输入联系人",trigger:"blur"}],linkPhoneNumber:[{required:!0,message:"请输入联系号码",trigger:"blur"}]},temp:{},downloadLoading:!1,expObj:{},expObjPrint:{},expObjPrintNew:{},expObjVisible:!1,dialogVisibleExpPrint:!1,dialogVisibleExpPrint_two:!1}),computed:{totalAmount(){let e=0;if(0==!Object.keys(this.expObjPrint).length)for(let t=0;t<this.expObjPrint.list.length;t++)e+=this.expObjPrint.list[t].accountTotal;return e.toFixed(1)||0},fundAmount(){let e=0;if(0==!Object.keys(this.expObjPrint).length)for(let t=0;t<this.expObjPrint.list.length;t++)e+=this.expObjPrint.list[t].fundPrice;return e.toFixed(1)||0},burdenAmount(){let e=0;if(0==!Object.keys(this.expObjPrint).length)for(let t=0;t<this.expObjPrint.list.length;t++)e+=this.expObjPrint.list[t].fei+this.expObjPrint.list[t].fu;return e.toFixed(1)||0}},created(){this.getList()},methods:{changeTime(e){this.listQuery.orderStartDate=e[0],this.listQuery.orderEndDate=e[1]},onPrint(){this.$print(this.$refs.printDom1)},getExpPrint(e){ClockJsInfo({yearMonth:e}).then(e=>{console.log(e),1===e.status&&(this.expObjPrint=e.result)})},getExpPrint_new(e){JSInfoNew({yearMonth:e}).then(e=>{console.log(e),1===e.status&&(this.expObjPrintNew=e.result)})},expExcel3(e){this.dialogVisibleExpPrint=!0,this.startDate=""},expExcel4(e){this.dialogVisibleExpPrint_two=!0,this.startDate=""},expExcel2(e){ClockInfo({orderNo:e.orderNo}).then(e=>{if(1===e.status){this.unitType=e.result.unitType;const t={},n=e.result.list[e.result.list.length-1];for(const e in n)"string"==typeof n[e]&&n[e].includes("-")?t[e]=n[e].split(/-/):t[e]=n[e];e.result.list[e.result.list.length-1]=t,this.expObj=e.result,this.expObjVisible=!0}})},expExcel(e){wxSettlementInfo({id:e.id,orderNo:e.orderNo}).then(e=>{const t=new Blob([e]);if(t.size>0){const e=document.createElement("a");e.style.display="none",e.href=URL.createObjectURL(t),e.download=`结算信息导出/${this.$moment().format("YYYY-MM-DD")}.xlsx`,document.body.appendChild(e),e.click(),URL.revokeObjectURL(e.href),document.body.removeChild(e)}})},expExcelForm_two(){try{this.loadExp=!0;const e={yearMonth:this.startDate};wxSettlementStatisticInfoNew(e).then(e=>{const t=new Blob([e]);if(t.size>0){const e=document.createElement("a");e.style.display="none",e.href=URL.createObjectURL(t),e.download=`新结算统计导出/${this.$moment().format("YYYY-MM-DD")}.xlsx`,document.body.appendChild(e),e.click(),URL.revokeObjectURL(e.href),document.body.removeChild(e)}this.handleClose(),this.loadExp=!1}).catch(()=>{this.loadExp=!1})}catch(e){this.loadExp=!1,console.log(e)}},expExcelForm(){try{this.loadExp=!0;const e={yearMonth:this.startDate};wxSettlementStatisticInfo(e).then(e=>{const t=new Blob([e]);if(t.size>0){const e=document.createElement("a");e.style.display="none",e.href=URL.createObjectURL(t),e.download=`结算统计导出/${this.$moment().format("YYYY-MM-DD")}.xlsx`,document.body.appendChild(e),e.click(),URL.revokeObjectURL(e.href),document.body.removeChild(e)}this.handleClose(),this.loadExp=!1}).catch(()=>{this.loadExp=!1})}catch(e){this.loadExp=!1,console.log(e)}},handleClose(){this.dialogVisibleExp=!1,this.dialogVisibleExp_two=!1,this.expObjVisible=!1,this.dialogVisibleExpPrint=!1,this.dialogVisibleExpPrint_two=!1,this.expObj={},this.expObjPrint={},this.startDate=""},revoke(e){revokepsnsetlThird({trtSetlId:e.trtSetlId}).then(e=>{1==e.status?(this.getList(),this.$notify({title:"提示",message:"撤销成功",type:"success",duration:2e3})):this.$notify({title:"提示",message:e.info,type:"error",duration:2e3})})},getList(){this.listLoading=!0,WxSettlementPage(this.listQuery).then(e=>{this.list=e.result.data,this.total=e.result.count,setTimeout(()=>{this.listLoading=!1},1500)}),SysUnitAll().then(e=>{this.institutionList=e.result.map(e=>({label:e.name,value:e.id}))}),WxUserFamilyAll().then(e=>{this.customerData=e.result.map(e=>({label:e.name,value:e.id}))})},handleModifyStatus(e,t){this.$message({message:"操作成功",type:"success"}),e.status=t},resetting(e){this.$nextTick(()=>{this.$refs[e].resetFields(),this.getList()})},add(){this.dialogStatus="create",this.dialogFormVisible=!0,this.temp={}},onSubmit(){this.getList()},createData(){this.$refs.dataForm.validate(e=>{e&&SysUnitSave(this.temp).then(e=>{if(1==e.status)return this.dialogFormVisible=!1,this.getList(),void this.$notify({title:e.info,message:"新增成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"新增失败",type:"error",duration:2e3})})})},updateData(){this.$refs.dataForm.validate(e=>{e&&WxClockApplyApprove(this.temp).then(e=>{if(1==e.status)return this.dialogFormVisible=!1,this.getList(),void this.$notify({title:e.info,message:"更新成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"更新失败",type:"error",duration:2e3})})})},edit(e){this.temp=e,this.dialogStatus="update",this.dialogFormVisible=!0},handleDelete(e,t){WxClockApplyDel({id:e.id}).then(e=>{if(1==e.status)return this.getList(),void this.$notify({title:e.info,message:"删除成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"删除失败",type:"error",duration:2e3})})}}};function normalizeComponent(e,t,n,r,l,i,a,s,o,c){"boolean"!=typeof a&&(o=s,s=a,a=!1);const d="function"==typeof n?n.options:n;let p;if(e&&e.render&&(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,l&&(d.functional=!0)),r&&(d._scopeId=r),i?(p=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),t&&t.call(this,o(e)),e&&e._registeredComponents&&e._registeredComponents.add(i)},d._ssrRegister=p):t&&(p=a?function(e){t.call(this,c(e,this.$root.$options.shadowRoot))}:function(e){t.call(this,s(e))}),p)if(d.functional){const e=d.render;d.render=function(t,n){return p.call(n),e(t,n)}}else{const e=d.beforeCreate;d.beforeCreate=e?[].concat(e,p):[p]}return n}const isOldIE="undefined"!=typeof navigator&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());function createInjector(e){return(e,t)=>addStyle(e,t)}let HEAD;const styles={};function addStyle(e,t){const n=isOldIE?t.media||"default":e,r=styles[n]||(styles[n]={ids:new Set,styles:[]});if(!r.ids.has(e)){r.ids.add(e);let n=t.source;if(t.map&&(n+="\n/*# sourceURL="+t.map.sources[0]+" */",n+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(t.map))))+" */"),r.element||(r.element=document.createElement("style"),r.element.type="text/css",t.media&&r.element.setAttribute("media",t.media),void 0===HEAD&&(HEAD=document.head||document.getElementsByTagName("head")[0]),HEAD.appendChild(r.element)),"styleSheet"in r.element)r.styles.push(n),r.element.styleSheet.cssText=r.styles.filter(Boolean).join("\n");else{const e=r.ids.size-1,t=document.createTextNode(n),l=r.element.childNodes;l[e]&&r.element.removeChild(l[e]),l.length?r.element.insertBefore(t,l[e]):r.element.appendChild(t)}}}const __vue_script__$d=script$d;var __vue_render__$d=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"app-container"},[n("div",{staticClass:"filter-container"},[n("el-form",{ref:"listQuery",staticClass:"demo-form-inline",attrs:{inline:!0,model:e.listQuery}},[n("el-form-item",{attrs:{label:"客户姓名",prop:"name"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择客户"},model:{value:e.listQuery.familyId,callback:function(t){e.$set(e.listQuery,"familyId",t)},expression:"listQuery.familyId"}},e._l(e.customerData,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1),e._v(" "),n("el-form-item",{attrs:{label:"机构名称",prop:"name"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择机构名称"},model:{value:e.listQuery.unitName,callback:function(t){e.$set(e.listQuery,"unitName",t)},expression:"listQuery.unitName"}},e._l(e.institutionList,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.label}})}),1)],1),e._v(" "),n("el-form-item",{attrs:{label:"计划流水号",prop:"orderNo"}},[n("el-input",{attrs:{clearable:"",size:"small",placeholder:"请输入计划流水号"},model:{value:e.listQuery.orderNo,callback:function(t){e.$set(e.listQuery,"orderNo",t)},expression:"listQuery.orderNo"}})],1),e._v(" "),n("el-form-item",{attrs:{label:"月份"}},[n("el-date-picker",{attrs:{size:"small","value-format":"yyyy-MM",type:"month",placeholder:"选择月"},model:{value:e.listQuery.orderYearMonth,callback:function(t){e.$set(e.listQuery,"orderYearMonth",t)},expression:"listQuery.orderYearMonth"}})],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"primary"},on:{click:e.onSubmit}},[e._v("查询")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"warning"},on:{click:function(t){return e.resetting("listQuery")}}},[e._v("重置")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"primary"},on:{click:function(t){e.dialogVisibleExp=!0}}},[e._v("结算周期导出")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"primary"},on:{click:function(t){e.dialogVisibleExp_two=!0}}},[e._v("新结算周期导出")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"success"},on:{click:e.expExcel3}},[e._v("\n 结算周期打印\n ")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"success"},on:{click:e.expExcel4}},[e._v("\n 新结算周期打印\n ")])],1)],1)],1),e._v(" "),n("el-table",{staticStyle:{width:"100%"},attrs:{border:"",height:"65vh",data:e.list}},[n("el-table-column",{attrs:{label:"客户姓名",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.familyName))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"客户失能等级",align:"center",width:"150"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return["06"==r.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("重度失能ⅠⅠⅠ级")]):e._e(),e._v(" "),"05"==r.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("重度失能ⅠⅠ级")]):e._e(),e._v(" "),"04"==r.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("重度失能Ⅰ级")]):e._e(),e._v(" "),"03"==r.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("中度失能")]):e._e(),e._v(" "),"02"==r.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("轻度失能")]):e._e(),e._v(" "),"01"==r.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("基本正常")]):e._e()]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"计划流水号",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.orderNo))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"护理机构",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.unitName?r.unitName:"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"机构类型",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("el-tag",{attrs:{size:"medium"}},[e._v(e._s("01"==r.unitType?"上门护理机构":"02"==r.unitType?"养老机构":"03"==r.unitType?"医疗机构":"04"==r.unitType?"辅助器具机构":"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"长期护理保险总费用",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.sumAccount?r.sumAccount:"0")+"元")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"客户所需支付金额",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.userAccount?r.userAccount:"0")+"元")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"基金所需支付金额",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.unitAccount?r.unitAccount:"0")+"元")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"实际总金额",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.accountTotal?r.accountTotal:"0")+"元")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"更新时间",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.createTime))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"操作",align:"center",width:"250","class-name":"small-padding fixed-width"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row,l=t.$index;return[n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(t){return e.edit(r,l)}}},[e._v("\n 详情\n ")]),e._v(" "),r.trtSetlId?n("el-button",{attrs:{size:"mini",type:"success"},on:{click:function(t){return e.revoke(r,l)}}},[e._v("\n 费用申请撤销\n ")]):e._e(),e._v(" "),n("el-button",{attrs:{size:"mini",type:"success"},on:{click:function(t){return e.expExcel(r,l)}}},[e._v("\n 导出\n ")]),e._v(" "),n("el-button",{staticStyle:{"margin-top":"8px"},attrs:{size:"mini",type:"success"},on:{click:function(t){return e.expExcel2(r,l)}}},[e._v("\n 打印\n ")])]}}])})],1),e._v(" "),n("pagination",{directives:[{name:"show",rawName:"v-show",value:e.total>0,expression:"total > 0"}],attrs:{total:e.total,page:e.listQuery.pageNo,limit:e.listQuery.size},on:{"update:page":function(t){return e.$set(e.listQuery,"pageNo",t)},"update:limit":function(t){return e.$set(e.listQuery,"size",t)},pagination:e.getList}}),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:e.textMap[e.dialogStatus],visible:e.dialogFormVisible,width:"40%"},on:{"update:visible":function(t){e.dialogFormVisible=t}}},[n("el-form",{ref:"dataForm",attrs:{rules:e.rules,model:e.temp,"label-position":"right","label-width":"170px"}},[n("el-row",{attrs:{gutter:20}},[n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"客户姓名"}},[n("span",[e._v(e._s(e.temp.familyName))])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"客户失能等级"}},["06"==e.temp.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("重度失能ⅠⅠⅠ级")]):e._e(),e._v(" "),"05"==e.temp.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("重度失能ⅠⅠ级")]):e._e(),e._v(" "),"04"==e.temp.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("重度失能Ⅰ级")]):e._e(),e._v(" "),"03"==e.temp.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("中度失能")]):e._e(),e._v(" "),"02"==e.temp.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("轻度失能")]):e._e(),e._v(" "),"01"==e.temp.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("基本正常")]):e._e()],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"计划流水号"}},[n("span",[e._v(e._s(e.temp.orderNo))])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"护理机构"}},[n("span",[e._v(e._s(e.temp.unitName))])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"机构类型"}},[n("el-tag",{attrs:{size:"medium"}},[e._v(e._s("01"==e.temp.unitType?"上门护理机构":"02"==e.temp.unitType?"养老机构":"03"==e.temp.unitType?"医疗机构":"04"==e.temp.unitType?"辅助器具机构":"-"))])],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"实际总金额"}},[n("span",[e._v(e._s(e.temp.accountTotal)+"元")])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"客户所需支付金额"}},[n("span",[e._v(e._s(e.temp.userAccount)+"元")])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"基金所需支付金额"}},[n("span",[e._v(e._s(e.temp.unitAccount)+"元")])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"更新时间"}},[n("span",[e._v(e._s(e.temp.createTime))])])],1)],1)],1),e._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{type:"primary",size:"mini"},on:{click:function(t){e.dialogFormVisible=!1}}},[e._v("\n 关 闭\n ")])],1)],1),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"导出",visible:e.dialogVisibleExp,width:"600px","before-close":e.handleClose},on:{"update:visible":function(t){e.dialogVisibleExp=t}}},[n("el-form",{staticClass:"demo-form-inline",attrs:{inline:!0}},[n("el-form-item",{attrs:{label:"提示:"}},[n("el-link",{attrs:{underline:!1,type:"primary"}},[e._v("选择的开始日期和结束日期请将数据的入录时间包含起来,结束日期选后一天")])],1),e._v(" "),n("el-form-item",{attrs:{label:"时间"}},[n("el-date-picker",{attrs:{type:"month","value-format":"yyyy-MM",placeholder:"选择月"},model:{value:e.startDate,callback:function(t){e.startDate=t},expression:"startDate"}})],1)],1),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small",loading:e.loadExp},on:{click:e.handleClose}},[e._v("取 消")]),e._v(" "),n("el-button",{attrs:{size:"small",type:"primary",loading:e.loadExp},on:{click:e.expExcelForm}},[e._v("\n 导 出\n ")])],1)],1),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"新结算单导出",visible:e.dialogVisibleExp_two,width:"600px","before-close":e.handleClose},on:{"update:visible":function(t){e.dialogVisibleExp_two=t}}},[n("el-form",{staticClass:"demo-form-inline",attrs:{inline:!0}},[n("el-form-item",{attrs:{label:"提示:"}},[n("el-link",{attrs:{underline:!1,type:"primary"}},[e._v("选择的开始日期和结束日期请将数据的入录时间包含起来,结束日期选后一天")])],1),e._v(" "),n("el-form-item",{attrs:{label:"时间"}},[n("el-date-picker",{attrs:{type:"month","value-format":"yyyy-MM",placeholder:"选择月"},model:{value:e.startDate,callback:function(t){e.startDate=t},expression:"startDate"}})],1)],1),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small",loading:e.loadExp},on:{click:e.handleClose}},[e._v("取 消")]),e._v(" "),n("el-button",{attrs:{size:"small",type:"primary",loading:e.loadExp},on:{click:e.expExcelForm_two}},[e._v("\n 导 出\n ")])],1)],1),e._v(" "),"机构护理"==e.unitType?n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"打印",visible:e.expObjVisible,width:"100%","before-close":e.handleClose,top:"3vh"},on:{"update:visible":function(t){e.expObjVisible=t}}},[n("div",{ref:"printDom1",staticClass:"exptable",attrs:{id:"printDom1",border:"1"}},[n("div",{staticClass:"thead"},[e._v("\n "+e._s(e.expObj.orderYearMonth)+"\n ")]),e._v(" "),n("div",{staticClass:"tbody"},[n("div",{staticClass:"tr eight"},[n("div",{staticClass:"title eight_label"},[e._v("参保人姓名")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.personName))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("身份证")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.personIdCode))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("年龄")]),e._v(" "),n("div",[e._v("\n "+e._s(e.expObj.personAge)+"\n ")]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("参保类型")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.medicalType))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("制表人")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.unitName))])]),e._v(" "),n("div",{staticClass:"tr eight"},[n("div",{staticClass:"title eight_label"},[e._v("所属参保区划")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.medicalCounty))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("失能等级")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.lv))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("家属姓名")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.familyName))])]),e._v(" "),n("div",{staticClass:"leftXuhao loop"},[n("div",{staticClass:"num"},[e._v("序号")]),e._v(" "),n("div",{staticClass:"name"},[e._v("服务项目")]),e._v(" "),n("div",{staticClass:"day headday"},[n("span",[e._v("护理服务执行日期及次数")]),e._v(" "),n("div",{staticClass:"forday"},e._l(31,function(t){return n("span",{key:t},[e._v(e._s(t)+"日")])}),0)]),e._v(" "),n("div",{staticClass:"total"},[e._v("床日合计")])]),e._v(" "),e._l(e.expObj.list,function(t,r){return n("div",{key:r,staticClass:"tr loop"},[n("div",{staticClass:"num"},[e._v(e._s(r+1))]),e._v(" "),n("div",{staticClass:"name"},[e._v(e._s(t.title))]),e._v(" "),n("div",{staticClass:"day bodyday"},[n("div",{staticClass:"forday"},[e._l(31,function(r){return[Array.isArray(t["day"+r])?n("span",{key:r},e._l(t["day"+r],function(t,r){return n("p",{key:r,staticStyle:{margin:"0"}},[e._v("\n "+e._s(t)+"\n ")])}),0):n("span",{key:r},[e._v(e._s(t["day"+r]))])]})],2)]),e._v(" "),n("div",{staticClass:"total"},[e._v(e._s(t.num))])])})],2),e._v(" "),n("div",{staticClass:"handwriting"},[n("div",{staticClass:"name"},[e._v("协议服务机构负责人签字:")]),e._v(" "),n("div",{staticClass:"day bodyday"},[e._v("家属确认签字按手印:")])]),e._v(" "),n("div",{staticClass:"handwriting"},[n("div",{staticClass:"name"},[e._v("盖章:")]),e._v(" "),n("div",{staticClass:"day bodyday"},[e._v("日期:")])]),e._v(" "),n("div",{staticClass:"handwriting"},[n("div",{staticClass:"name"},[e._v("日期:")])])]),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small",loading:e.loadExp},on:{click:e.handleClose}},[e._v("取 消")]),e._v(" "),n("el-button",{directives:[{name:"print",rawName:"v-print",value:e.print,expression:"print"}],attrs:{size:"small",type:"primary",loading:e.loadExp},on:{click:e.onPrint}},[e._v("\n 打 印\n ")])],1)]):e._e(),e._v(" "),"居家护理"==e.unitType?n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"打印",visible:e.expObjVisible,width:"100%","before-close":e.handleClose,top:"3vh"},on:{"update:visible":function(t){e.expObjVisible=t}}},[n("div",{ref:"printDom1",staticClass:"exptable",attrs:{id:"printDom1",border:"1"}},[n("div",{staticClass:"thead"},[e._v("\n "+e._s(e.expObj.orderYearMonth)+"\n ")]),e._v(" "),n("div",{staticClass:"tbody"},[n("div",{staticClass:"tr eight"},[n("div",{staticClass:"title eight_label"},[e._v("参保人姓名")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.personName))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("身份证")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.personIdCode))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("年龄")]),e._v(" "),n("div",[e._v("\n "+e._s(e.expObj.personAge)+"\n ")]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("参保类型")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.medicalType))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("制表人")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.unitName))])]),e._v(" "),n("div",{staticClass:"tr eight"},[n("div",{staticClass:"title eight_label"},[e._v("所属参保区划")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.medicalCounty))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("失能等级")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.lv))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("家属姓名")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.familyName))])]),e._v(" "),n("div",{staticClass:"leftXuhao loop"},[n("div",{staticClass:"num"},[e._v("序号")]),e._v(" "),n("div",{staticClass:"name"},[e._v("服务项目")]),e._v(" "),n("div",{staticClass:"day headday"},[n("span",[e._v("护理服务执行日期及时长(分钟)")]),e._v(" "),n("div",{staticClass:"forday"},e._l(31,function(t){return n("span",{key:t},[e._v(e._s(t)+"日")])}),0)])]),e._v(" "),e._l(e.expObj.list,function(t,r){return n("div",{key:r,staticClass:"tr loop"},[n("div",{staticClass:"num"},[e._v(e._s(r+1))]),e._v(" "),n("div",{staticClass:"name"},[e._v(e._s(t.title))]),e._v(" "),"当月服务时长(小时)"==t.title?n("div",{staticClass:"day bodyday merged-cell"},[e._v("\n "+e._s(t.num)+"(小时)\n ")]):n("div",{staticClass:"day bodyday"},[n("div",{staticClass:"forday"},[e._l(31,function(r){return[Array.isArray(t["day"+r])?n("span",{key:r},e._l(t["day"+r],function(t,r){return n("p",{key:r,staticStyle:{margin:"0"}},[e._v("\n "+e._s(t)+"\n ")])}),0):n("span",{key:r},[e._v(e._s(t["day"+r]))])]})],2)])])})],2),e._v(" "),n("div",{staticClass:"handwriting"},[n("div",{staticClass:"name"},[e._v("协议服务机构负责人签字:")]),e._v(" "),n("div",{staticClass:"day bodyday"},[e._v("家属确认签字按手印:")])]),e._v(" "),n("div",{staticClass:"handwriting"},[n("div",{staticClass:"name"},[e._v("盖章:")]),e._v(" "),n("div",{staticClass:"day bodyday"},[e._v("日期:")])]),e._v(" "),n("div",{staticClass:"handwriting"},[n("div",{staticClass:"name"},[e._v("日期:")])])]),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small",loading:e.loadExp},on:{click:e.handleClose}},[e._v("取 消")]),e._v(" "),n("el-button",{directives:[{name:"print",rawName:"v-print",value:e.print,expression:"print"}],attrs:{size:"small",type:"primary",loading:e.loadExp},on:{click:e.onPrint}},[e._v("\n 打 印\n ")])],1)]):e._e(),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"打印",visible:e.dialogVisibleExpPrint,width:"1200px","before-close":e.handleClose},on:{"update:visible":function(t){e.dialogVisibleExpPrint=t}}},[n("el-form",{staticClass:"demo-form-inline",attrs:{inline:!0}},[n("el-form-item",{attrs:{label:"时间"}},[n("el-date-picker",{attrs:{type:"month","value-format":"yyyy-MM",placeholder:"选择月",size:"small"},on:{change:e.getExpPrint},model:{value:e.startDate,callback:function(t){e.startDate=t},expression:"startDate"}})],1)],1),e._v(" "),e.startDate?n("div",{ref:"printDom1",staticClass:"exptable exptableprint",attrs:{id:"printDom1",border:"1"}},[n("div",{staticClass:"thead",staticStyle:{"font-size":"14px"}},[e._v("\n "+e._s(e.expObjPrint.title)+"\n ")]),e._v(" "),n("div",{staticStyle:{"text-align":"left",padding:"10px 0"}},[e._v("\n 结算周期"+e._s(e.expObjPrint.jszqTime)+"\n ")]),e._v(" "),n("div",{staticClass:"tbody"},[n("div",{staticClass:"tr loop"},[n("div",{staticClass:"num",staticStyle:{width:"55px !important"}},[e._v("个人编号")]),e._v(" "),n("div",{staticStyle:{width:"45px"}},[e._v("姓名")]),e._v(" "),n("div",{staticStyle:{flex:"1"}},[e._v("身份证")]),e._v(" "),n("div",{staticStyle:{flex:"1"}},[e._v("参保类型")]),e._v(" "),n("div",{staticStyle:{flex:"1"}},[e._v("护理类别")]),e._v(" "),n("div",{staticStyle:{flex:"1"}},[e._v("结算起始日期")]),e._v(" "),n("div",{staticStyle:{flex:"1"}},[e._v("结算中止日期")]),e._v(" "),n("div",{staticStyle:{width:"55px"}},[e._v("服务次数")]),e._v(" "),n("div",{staticStyle:{width:"62px"}},[e._v("实际总金额")]),e._v(" "),n("div",{staticStyle:{width:"55px"}},[e._v("基金支付")]),e._v(" "),n("div",{staticClass:"day headday",staticStyle:{width:"100px"}},[n("span",[e._v("个人负担")]),e._v(" "),n("div",{staticClass:"forday"},[n("span",{staticStyle:{width:"50px"}},[e._v("个人自费")]),e._v(" "),n("span",{staticStyle:{width:"50px"}},[e._v("个人自付")])])]),e._v(" "),n("div",{staticStyle:{flex:"1"}},[e._v("不合理费用扣减")])]),e._v(" "),e._l(e.expObjPrint.list,function(t,r){return n("div",{key:r,staticClass:"tr loop"},[n("div",{staticClass:"num",staticStyle:{width:"55px !important"}},[e._v("\n "+e._s(r+1)+"\n ")]),e._v(" "),n("div",{staticStyle:{width:"45px"}},[e._v(e._s(t.name))]),e._v(" "),n("div",{staticStyle:{flex:"1"}},[e._v(e._s(t.idCode))]),e._v(" "),n("div",{staticStyle:{flex:"1"}},[e._v(e._s(t.medicalType))]),e._v(" "),n("div",{staticStyle:{flex:"1"}},[e._v(e._s(t.hlType))]),e._v(" "),n("div",{staticStyle:{flex:"1"}},[e._v(e._s(t.startTime))]),e._v(" "),n("div",{staticStyle:{flex:"1"}},[e._v(e._s(t.endTime))]),e._v(" "),n("div",{staticStyle:{width:"55px"}},[e._v(e._s(t.clockNum))]),e._v(" "),n("div",{staticStyle:{width:"62px"}},[e._v(e._s(t.accountTotal))]),e._v(" "),n("div",{staticStyle:{width:"55px"}},[e._v(e._s(t.fundPrice))]),e._v(" "),n("div",{staticClass:"day bodyday",staticStyle:{width:"100px"}},[n("div",{staticClass:"forday"},[n("span",{staticStyle:{width:"50px"}},[e._v(e._s(t.fei))]),e._v(" "),n("span",{staticStyle:{width:"50px"}},[e._v(e._s(t.fu))])])]),e._v(" "),n("div",{staticStyle:{flex:"1"}},[e._v(e._s(t.bhl))])])}),e._v(" "),n("div",{staticClass:"tr loop"},[n("div",{staticClass:"num",staticStyle:{width:"55px !important"}},[e._v("合计")]),e._v(" "),n("div",{staticStyle:{width:"45px"}}),e._v(" "),n("div",{staticStyle:{flex:"1"}}),e._v(" "),n("div",{staticStyle:{flex:"1"}}),e._v(" "),n("div",{staticStyle:{flex:"1"}}),e._v(" "),n("div",{staticStyle:{flex:"1"}}),e._v(" "),n("div",{staticStyle:{flex:"1"}}),e._v(" "),n("div",{staticStyle:{width:"55px"}}),e._v(" "),n("div",{staticStyle:{width:"62px"}},[e._v(e._s(e.totalAmount))]),e._v(" "),n("div",{staticStyle:{width:"55px"}},[e._v(e._s(e.fundAmount))]),e._v(" "),n("div",{staticClass:"day bodyday",staticStyle:{width:"100px"}},[n("div",{staticClass:"forday"},[n("span",{staticStyle:{width:"100px"}},[e._v(e._s(e.burdenAmount))])])]),e._v(" "),n("div",{staticStyle:{flex:"1"}})])],2),e._v(" "),n("div",{staticClass:"handwriting",staticStyle:{padding:"2px 0"}},[n("div",{staticStyle:{width:"200px","text-align":"left"}},[e._v("\n 护理服务机构负责人签字\n ")]),e._v(" "),n("div",{staticStyle:{width:"200px","text-align":"left"}},[e._v("\n 承办单位审核人签字\n ")]),e._v(" "),n("div",{staticStyle:{width:"200px","text-align":"left"}},[e._v("\n 经办单位复核人签字\n ")])]),e._v(" "),n("div",{staticClass:"handwriting"},[n("div",{staticStyle:{width:"200px","text-align":"left"}},[e._v("盖章")]),e._v(" "),n("div",{staticStyle:{width:"200px","text-align":"left"}},[e._v("盖章")]),e._v(" "),n("div",{staticStyle:{width:"200px","text-align":"left"}},[e._v("盖章")])])]):e._e(),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small",loading:e.loadExp},on:{click:e.handleClose}},[e._v("取 消")]),e._v(" "),n("el-button",{attrs:{size:"small",type:"primary",loading:e.loadExp},on:{click:e.onPrint}},[e._v("\n 打 印\n ")])],1)],1),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"新结算单打印",visible:e.dialogVisibleExpPrint_two,width:"100%","before-close":e.handleClose},on:{"update:visible":function(t){e.dialogVisibleExpPrint_two=t}}},[n("el-form",{staticClass:"demo-form-inline",attrs:{inline:!0}},[n("el-form-item",{attrs:{label:"时间"}},[n("el-date-picker",{attrs:{type:"month","value-format":"yyyy-MM",placeholder:"选择月",size:"small"},on:{change:e.getExpPrint_new},model:{value:e.startDate,callback:function(t){e.startDate=t},expression:"startDate"}})],1)],1),e._v(" "),e.startDate?n("div",{ref:"printDom1",staticStyle:{padding:"20px"},attrs:{id:"printDom1"}},[n("div",{staticStyle:{"font-size":"18px","font-weight":"bold","text-align":"center","margin-bottom":"10px"}},[e._v("\n "+e._s(e.expObjPrintNew.title)+"\n ")]),e._v(" "),n("div",{staticStyle:{"text-align":"left","margin-bottom":"10px","font-size":"12px"}},[e._v("\n 结算周期: "+e._s(e.expObjPrintNew.jszqTime)+"\n ")]),e._v(" "),n("table",{staticStyle:{width:"100%","border-collapse":"collapse","font-size":"10px"},attrs:{border:"1",cellspacing:"0",cellpadding:"5"}},[n("thead",[n("tr",{staticStyle:{"background-color":"#f0f0f0"}},[n("th",[e._v("编号")]),e._v(" "),n("th",[e._v("姓名")]),e._v(" "),n("th",[e._v("身份证")]),e._v(" "),n("th",[e._v("重度等级")]),e._v(" "),n("th",[e._v("参保类型")]),e._v(" "),n("th",[e._v("护理类别")]),e._v(" "),n("th",[e._v("结算起始日期")]),e._v(" "),n("th",[e._v("结算中止日期")]),e._v(" "),n("th",[e._v("死亡时间")]),e._v(" "),n("th",[e._v("转出机构时间")]),e._v(" "),n("th",[e._v("基金支付")]),e._v(" "),n("th",[e._v("单价")]),e._v(" "),n("th",[e._v("重度服务时长")]),e._v(" "),n("th",[e._v("实际服务时长")]),e._v(" "),n("th",[e._v("统筹支付金额")]),e._v(" "),n("th",[e._v("参保地")]),e._v(" "),n("th",[e._v("护理员姓名")]),e._v(" "),n("th",[e._v("住院起始日期")]),e._v(" "),n("th",[e._v("是否当月新增")]),e._v(" "),n("th",[e._v("新增时间")]),e._v(" "),n("th",[e._v("参保人居住区域")]),e._v(" "),n("th",[e._v("参保人居住地址")]),e._v(" "),n("th",[e._v("备注")])])]),e._v(" "),n("tbody",e._l(e.expObjPrintNew.list,function(t,r){return n("tr",{key:r},[n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.familyNo))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.familyName))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.familyIdCode))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.familyLv))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.familyMedicalType))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.unitType))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.orderStartDate))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.orderEndDate))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.familyDieTime))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.familyOutTime))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.unitAccount))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.dj))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.fwsc))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.sjfwsc))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.unitAccount))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.familyMedicalCounty))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.personName))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.familyZYTime))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.dyxz))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.familyCreateTime))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.familyCounty))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.familyAddress))]),e._v(" "),n("td",{staticStyle:{width:"50px"}},[e._v(e._s(t.bz))])])}),0)]),e._v(" "),n("div",{staticStyle:{"margin-top":"20px",padding:"10px 0"}},[n("div",{staticStyle:{display:"flex","margin-bottom":"10px"}},[n("div",{staticStyle:{flex:"1"}},[e._v("护理服务机构负责人签字:_______________")]),e._v(" "),n("div",{staticStyle:{flex:"1"}},[e._v("承办单位审核人签字:_______________")])]),e._v(" "),n("div",{staticStyle:{display:"flex"}},[n("div",{staticStyle:{flex:"1"}},[e._v("盖章:")])])])]):e._e(),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small",loading:e.loadExp},on:{click:e.handleClose}},[e._v("取 消")]),e._v(" "),n("el-button",{attrs:{size:"small",type:"primary",loading:e.loadExp},on:{click:e.onPrint}},[e._v("打 印")])],1)],1)],1)},__vue_staticRenderFns__$d=[];__vue_render__$d._withStripped=!0;const __vue_inject_styles__$d=function(e){e&&e("data-v-77c35fa5_0",{source:'@charset "UTF-8";\n.el-col-12[data-v-77c35fa5] {\n padding: 0 20px 0 0;\n}\n.exptable[data-v-77c35fa5] {\n font-size: 9px;\n text-align: center;\n width: 100%;\n}\n.exptable .leftXuhao[data-v-77c35fa5] {\n display: flex;\n border-bottom: 1px solid #333;\n}\n.exptable .leftXuhao div[data-v-77c35fa5] {\n display: flex;\n align-items: center;\n justify-content: center;\n border-right: 1px solid #333;\n}\n.exptable .thead[data-v-77c35fa5] {\n border-bottom: 0;\n color: #000;\n padding: 8px 0;\n}\n.exptable .tbody[data-v-77c35fa5] {\n border: 1px solid #333;\n font-size: 8px;\n}\n.exptable .tr[data-v-77c35fa5] {\n display: flex;\n border-bottom: 1px solid #333;\n color: #111;\n}\n.exptable .tr div[data-v-77c35fa5] {\n display: flex;\n align-items: center;\n justify-content: center;\n border-right: 1px solid #333;\n}\n.exptable .tr .bodyday[data-v-77c35fa5] {\n flex: 1;\n}\n.exptable .tr div[data-v-77c35fa5]:last-child {\n border-right: 0;\n}\n.exptable .eight div[data-v-77c35fa5] {\n flex: 1;\n padding: 5px 0;\n}\n.exptable .eight .title[data-v-77c35fa5] {\n width: 110px;\n flex: none;\n}\n.exptable .tr[data-v-77c35fa5]:last-child {\n border-bottom: 0;\n}\n.exptable .loop .num[data-v-77c35fa5] {\n width: 22px !important;\n}\n.exptable .loop .total[data-v-77c35fa5] {\n width: 23px;\n padding: 5px 0;\n}\n.exptable .loop .name[data-v-77c35fa5] {\n padding: 5px 0;\n flex: 0.1;\n}\n.exptable .loop .headday[data-v-77c35fa5] {\n flex-flow: column;\n flex: 1;\n}\n.exptable .loop .headday .forday[data-v-77c35fa5] {\n border-top: 1px solid #333;\n}\n.exptable .loop .day span[data-v-77c35fa5] {\n padding: 10px 0;\n}\n.exptable .loop .forday[data-v-77c35fa5] {\n display: table;\n width: 100%;\n}\n.exptable .loop .forday span[data-v-77c35fa5] {\n display: table-cell;\n vertical-align: middle;\n border-right: 1px solid #333;\n width: 23px;\n height: 100%;\n overflow: hidden;\n word-wrap: break-word;\n word-break: break-all;\n}\n.exptable .loop .forday span[data-v-77c35fa5]:last-child {\n border-right: 0;\n}\n.handwriting[data-v-77c35fa5] {\n display: flex;\n}\n.handwriting div[data-v-77c35fa5] {\n text-align: right;\n padding: 5px 0;\n}\n.handwriting .name[data-v-77c35fa5] {\n margin-left: 60px;\n width: 120px;\n}\n.handwriting .bodyday[data-v-77c35fa5] {\n width: 60%;\n margin-right: 60px;\n}\n.exptableprint[data-v-77c35fa5] {\n font-size: 11px;\n}\n.exptableprint .tbody[data-v-77c35fa5] {\n font-size: 10px;\n}\n\n/* 打印样式 - 修复el-table打印时列宽问题 */\n@media print {\n /* 强制设置表格列宽为auto,让内容正常显示 */\n.el-table__header-wrapper[data-v-77c35fa5],\n .el-table__body-wrapper[data-v-77c35fa5] {\n overflow: visible !important;\n}\n.el-table__header[data-v-77c35fa5],\n .el-table__body[data-v-77c35fa5] {\n width: 100% !important;\n}\n.el-table th[data-v-77c35fa5],\n .el-table td[data-v-77c35fa5] {\n width: auto !important;\n min-width: 80px !important;\n max-width: none !important;\n white-space: normal !important;\n word-wrap: break-word !important;\n overflow: visible !important;\n}\n.el-table__fixed[data-v-77c35fa5],\n .el-table__fixed-right[data-v-77c35fa5] {\n display: none !important;\n}\n /* 隐藏不需要打印的元素 */\n.dialog-footer[data-v-77c35fa5],\n .el-dialog__header[data-v-77c35fa5] {\n display: none !important;\n}\n /* 确保打印时表格宽度100% */\n.el-table[data-v-77c35fa5] {\n width: 100% !important;\n table-layout: auto !important;\n}\n.el-table__body[data-v-77c35fa5] {\n table-layout: auto !important;\n}\n}\n\n/*# sourceMappingURL=index.vue.map */',map:{version:3,sources:["index.vue","E:\\公司项目\\changhuxianlocal\\changhuxian-vue-components\\src\\pages\\SettlementManagement\\settlement\\index.vue"],names:[],mappings:"AAAA,gBAAgB;AC2gChB;EACA,mBAAA;ADzgCA;AC4gCA;EACA,cAAA;EACA,kBAAA;EACA,WAAA;ADzgCA;AC4gCA;EACA,aAAA;EACA,6BAAA;AD1gCA;AC4gCA;EACA,aAAA;EACA,mBAAA;EACA,uBAAA;EACA,4BAAA;AD1gCA;AC8gCA;EAEA,gBAAA;EACA,WAAA;EACA,cAAA;AD7gCA;ACghCA;EACA,sBAAA;EACA,cAAA;AD9gCA;ACihCA;EACA,aAAA;EACA,6BAAA;EACA,WAAA;AD/gCA;ACihCA;EAEA,aAAA;EACA,mBAAA;EACA,uBAAA;EACA,4BAAA;ADhhCA;ACohCA;EACA,OAAA;ADlhCA;ACqhCA;EACA,eAAA;ADnhCA;ACuhCA;EACA,OAAA;EAEA,cAAA;ADthCA;ACyhCA;EACA,YAAA;EACA,UAAA;ADvhCA;AC0hCA;EACA,gBAAA;ADxhCA;AC4hCA;EACA,sBAAA;AD1hCA;AC6hCA;EACA,WAAA;EACA,cAAA;AD3hCA;ACiiCA;EAEA,cAAA;EAEA,SAAA;ADjiCA;ACoiCA;EACA,iBAAA;EACA,OAAA;ADliCA;ACoiCA;EACA,0BAAA;ADliCA;ACsiCA;EACA,eAAA;ADpiCA;ACuiCA;EACA,cAAA;EACA,WAAA;ADriCA;ACwiCA;EACA,mBAAA;EACA,sBAAA;EACA,4BAAA;EACA,WAAA;EACA,YAAA;EACA,gBAAA;EACA,qBAAA;EACA,qBAAA;ADtiCA;ACyiCA;EACA,eAAA;ADviCA;ACijCA;EACA,aAAA;AD9iCA;ACgjCA;EACA,iBAAA;EACA,cAAA;AD9iCA;ACijCA;EACA,iBAAA;EACA,YAAA;AD/iCA;ACkjCA;EACA,UAAA;EACA,kBAAA;ADhjCA;ACojCA;EACA,eAAA;ADjjCA;ACmjCA;EACA,eAAA;ADjjCA;;ACqjCA,6BAAA;AACA;EAEA,0BAAA;AACA;;IAEA,4BAAA;ADnjCE;ACsjCF;;IAEA,sBAAA;ADpjCE;ACujCF;;IAEA,sBAAA;IACA,0BAAA;IACA,0BAAA;IACA,8BAAA;IACA,gCAAA;IACA,4BAAA;ADrjCE;ACwjCF;;IAEA,wBAAA;ADtjCE;ECyjCF,eAAA;AACA;;IAEA,wBAAA;ADvjCE;EC0jCF,kBAAA;AACA;IACA,sBAAA;IACA,6BAAA;ADxjCE;AC2jCF;IACA,6BAAA;ADzjCE;AACF;;AAEA,oCAAoC",file:"index.vue",sourcesContent:['@charset "UTF-8";\n.el-col-12 {\n padding: 0 20px 0 0;\n}\n\n.exptable {\n font-size: 9px;\n text-align: center;\n width: 100%;\n}\n.exptable .leftXuhao {\n display: flex;\n border-bottom: 1px solid #333;\n}\n.exptable .leftXuhao div {\n display: flex;\n align-items: center;\n justify-content: center;\n border-right: 1px solid #333;\n}\n.exptable .thead {\n border-bottom: 0;\n color: #000;\n padding: 8px 0;\n}\n.exptable .tbody {\n border: 1px solid #333;\n font-size: 8px;\n}\n.exptable .tr {\n display: flex;\n border-bottom: 1px solid #333;\n color: #111;\n}\n.exptable .tr div {\n display: flex;\n align-items: center;\n justify-content: center;\n border-right: 1px solid #333;\n}\n.exptable .tr .bodyday {\n flex: 1;\n}\n.exptable .tr div:last-child {\n border-right: 0;\n}\n.exptable .eight div {\n flex: 1;\n padding: 5px 0;\n}\n.exptable .eight .title {\n width: 110px;\n flex: none;\n}\n.exptable .tr:last-child {\n border-bottom: 0;\n}\n.exptable .loop .num {\n width: 22px !important;\n}\n.exptable .loop .total {\n width: 23px;\n padding: 5px 0;\n}\n.exptable .loop .name {\n padding: 5px 0;\n flex: 0.1;\n}\n.exptable .loop .headday {\n flex-flow: column;\n flex: 1;\n}\n.exptable .loop .headday .forday {\n border-top: 1px solid #333;\n}\n.exptable .loop .day span {\n padding: 10px 0;\n}\n.exptable .loop .forday {\n display: table;\n width: 100%;\n}\n.exptable .loop .forday span {\n display: table-cell;\n vertical-align: middle;\n border-right: 1px solid #333;\n width: 23px;\n height: 100%;\n overflow: hidden;\n word-wrap: break-word;\n word-break: break-all;\n}\n.exptable .loop .forday span:last-child {\n border-right: 0;\n}\n\n.handwriting {\n display: flex;\n}\n.handwriting div {\n text-align: right;\n padding: 5px 0;\n}\n.handwriting .name {\n margin-left: 60px;\n width: 120px;\n}\n.handwriting .bodyday {\n width: 60%;\n margin-right: 60px;\n}\n\n.exptableprint {\n font-size: 11px;\n}\n.exptableprint .tbody {\n font-size: 10px;\n}\n\n/* 打印样式 - 修复el-table打印时列宽问题 */\n@media print {\n /* 强制设置表格列宽为auto,让内容正常显示 */\n .el-table__header-wrapper,\n .el-table__body-wrapper {\n overflow: visible !important;\n }\n .el-table__header,\n .el-table__body {\n width: 100% !important;\n }\n .el-table th,\n .el-table td {\n width: auto !important;\n min-width: 80px !important;\n max-width: none !important;\n white-space: normal !important;\n word-wrap: break-word !important;\n overflow: visible !important;\n }\n .el-table__fixed,\n .el-table__fixed-right {\n display: none !important;\n }\n /* 隐藏不需要打印的元素 */\n .dialog-footer,\n .el-dialog__header {\n display: none !important;\n }\n /* 确保打印时表格宽度100% */\n .el-table {\n width: 100% !important;\n table-layout: auto !important;\n }\n .el-table__body {\n table-layout: auto !important;\n }\n}\n\n/*# sourceMappingURL=index.vue.map */','<template>\r\n <div class="app-container">\r\n <div class="filter-container">\r\n <el-form ref="listQuery" :inline="true" :model="listQuery" class="demo-form-inline">\r\n \x3c!-- <el-form-item label="机构名称" prop="unitName">\r\n <el-input\r\n size="small"\r\n v-model="listQuery.unitName"\r\n placeholder="请输入机构名称"\r\n ></el-input>\r\n </el-form-item> --\x3e\r\n <el-form-item label="客户姓名" prop="name">\r\n <el-select v-model="listQuery.familyId" style="width: 100%" clearable filterable size="small"\r\n class="filter-item" placeholder="请选择客户">\r\n <el-option v-for="(item, index) in customerData" :key="index" :label="item.label" :value="item.value" />\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item label="机构名称" prop="name">\r\n <el-select v-model="listQuery.unitName" style="width: 100%" clearable filterable size="small"\r\n class="filter-item" placeholder="请选择机构名称">\r\n <el-option v-for="(item, index) in institutionList" :key="index" :label="item.label" :value="item.label" />\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item label="计划流水号" prop="orderNo">\r\n <el-input v-model="listQuery.orderNo" clearable size="small" placeholder="请输入计划流水号" />\r\n </el-form-item>\r\n <el-form-item label="月份">\r\n <el-date-picker v-model="listQuery.orderYearMonth" size="small" value-format="yyyy-MM" type="month"\r\n placeholder="选择月" />\r\n \x3c!-- <el-date-picker\r\n @change="changeTime"\r\n v-model="time"\r\n clearable\r\n size="small"\r\n value-format="yyyy-MM-dd"\r\n type="daterange"\r\n range-separator="至"\r\n start-placeholder="开始时间"\r\n end-placeholder="结束时间"\r\n >\r\n </el-date-picker> --\x3e\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size="small" type="primary" @click="onSubmit">查询</el-button>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size="small" type="warning" @click="resetting(\'listQuery\')">重置</el-button>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size="small" type="primary" @click="dialogVisibleExp = true">结算周期导出</el-button>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size="small" type="primary" @click="dialogVisibleExp_two = true">新结算周期导出</el-button>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size="small" type="success" @click="expExcel3">\r\n 结算周期打印\r\n </el-button>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size="small" type="success" @click="expExcel4">\r\n 新结算周期打印\r\n </el-button>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n <el-table border height="65vh" :data="list" style="width: 100%">\r\n <el-table-column :label="\'客户姓名\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.familyName }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'客户失能等级\'" align="center" width="150">\r\n <template slot-scope="{ row }">\r\n <el-tag v-if="row.familyLv == \'06\'" type="success">重度失能ⅠⅠⅠ级</el-tag>\r\n <el-tag v-if="row.familyLv == \'05\'" type="success">重度失能ⅠⅠ级</el-tag>\r\n <el-tag v-if="row.familyLv == \'04\'" type="success">重度失能Ⅰ级</el-tag>\r\n <el-tag v-if="row.familyLv == \'03\'" type="success">中度失能</el-tag>\r\n <el-tag v-if="row.familyLv == \'02\'" type="success">轻度失能</el-tag>\r\n <el-tag v-if="row.familyLv == \'01\'" type="success">基本正常</el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'计划流水号\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.orderNo }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'护理机构\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.unitName ? row.unitName : "-" }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'机构类型\'" align="center">\r\n <template slot-scope="{ row }">\r\n <el-tag size="medium">{{\r\n row.unitType == "01"\r\n ? "上门护理机构"\r\n : row.unitType == "02"\r\n ? "养老机构"\r\n : row.unitType == "03"\r\n ? "医疗机构"\r\n : row.unitType == "04"\r\n ? "辅助器具机构"\r\n : "-"\r\n }}</el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'长期护理保险总费用\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.sumAccount ? row.sumAccount : "0" }}元</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'客户所需支付金额\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.userAccount ? row.userAccount : "0" }}元</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'基金所需支付金额\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.unitAccount ? row.unitAccount : "0" }}元</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'实际总金额\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.accountTotal ? row.accountTotal : "0" }}元</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'更新时间\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.createTime }}</span>\r\n </template>\r\n </el-table-column>\r\n\r\n <el-table-column :label="\'操作\'" align="center" width="250" class-name="small-padding fixed-width">\r\n <template slot-scope="{ row, $index }">\r\n <el-button size="mini" type="primary" @click="edit(row, $index)">\r\n 详情\r\n </el-button>\r\n <el-button v-if="row.trtSetlId" size="mini" type="success" @click="revoke(row, $index)">\r\n 费用申请撤销\r\n </el-button>\r\n <el-button size="mini" type="success" @click="expExcel(row, $index)">\r\n 导出\r\n </el-button>\r\n <el-button style="margin-top: 8px" size="mini" type="success" @click="expExcel2(row, $index)">\r\n 打印\r\n </el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <pagination v-show="total > 0" :total="total" :page.sync="listQuery.pageNo" :limit.sync="listQuery.size"\r\n @pagination="getList" />\r\n <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :title="textMap[dialogStatus]"\r\n :visible.sync="dialogFormVisible" width="40%">\r\n <el-form ref="dataForm" :rules="rules" :model="temp" label-position="right" label-width="170px">\r\n <el-row :gutter="20">\r\n <el-col :span="12">\r\n <el-form-item style="margin-bottom: 0px" label="客户姓名">\r\n <span>{{ temp.familyName }}</span>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item style="margin-bottom: 0px" label="客户失能等级">\r\n <el-tag v-if="temp.familyLv == \'06\'" type="success">重度失能ⅠⅠⅠ级</el-tag>\r\n <el-tag v-if="temp.familyLv == \'05\'" type="success">重度失能ⅠⅠ级</el-tag>\r\n <el-tag v-if="temp.familyLv == \'04\'" type="success">重度失能Ⅰ级</el-tag>\r\n <el-tag v-if="temp.familyLv == \'03\'" type="success">中度失能</el-tag>\r\n <el-tag v-if="temp.familyLv == \'02\'" type="success">轻度失能</el-tag>\r\n <el-tag v-if="temp.familyLv == \'01\'" type="success">基本正常</el-tag>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item style="margin-bottom: 0px" label="计划流水号">\r\n <span>{{ temp.orderNo }}</span>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item style="margin-bottom: 0px" label="护理机构">\r\n <span>{{ temp.unitName }}</span>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item style="margin-bottom: 0px" label="机构类型">\r\n \x3c!-- <span>{{\r\n temp.unitType == "1"\r\n ? "养老机构"\r\n : temp.unitType == "2"\r\n ? "护理机构"\r\n : "-"\r\n }}</span> --\x3e\r\n <el-tag size="medium">{{\r\n temp.unitType == "01"\r\n ? "上门护理机构"\r\n : temp.unitType == "02"\r\n ? "养老机构"\r\n : temp.unitType == "03"\r\n ? "医疗机构"\r\n : temp.unitType == "04"\r\n ? "辅助器具机构"\r\n : "-"\r\n }}</el-tag>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item style="margin-bottom: 0px" label="实际总金额">\r\n <span>{{ temp.accountTotal }}元</span>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item style="margin-bottom: 0px" label="客户所需支付金额">\r\n <span>{{ temp.userAccount }}元</span>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item style="margin-bottom: 0px" label="基金所需支付金额">\r\n <span>{{ temp.unitAccount }}元</span>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item style="margin-bottom: 0px" label="更新时间">\r\n <span>{{ temp.createTime }}</span>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <div slot="footer" class="dialog-footer">\r\n <el-button type="primary" size="mini" @click="dialogFormVisible = false">\r\n 关 闭\r\n </el-button>\r\n \x3c!-- <el-button size="mini" type="primary" @click="dialogStatus === \'create\' ? createData() : updateData()">\r\n 确 认\r\n </el-button> --\x3e\r\n </div>\r\n </el-dialog>\r\n\r\n <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" title="导出" :visible.sync="dialogVisibleExp"\r\n width="600px" :before-close="handleClose">\r\n <el-form :inline="true" class="demo-form-inline">\r\n <el-form-item label="提示:">\r\n <el-link :underline="false" type="primary">选择的开始日期和结束日期请将数据的入录时间包含起来,结束日期选后一天</el-link>\r\n </el-form-item>\r\n <el-form-item label="时间">\r\n <el-date-picker v-model="startDate" type="month" value-format="yyyy-MM" placeholder="选择月" />\r\n </el-form-item>\r\n </el-form>\r\n <span slot="footer" class="dialog-footer">\r\n <el-button size="small" :loading="loadExp" @click="handleClose">取 消</el-button>\r\n <el-button size="small" type="primary" :loading="loadExp" @click="expExcelForm">\r\n 导 出\r\n </el-button>\r\n </span>\r\n </el-dialog>\r\n <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" title="新结算单导出"\r\n :visible.sync="dialogVisibleExp_two" width="600px" :before-close="handleClose">\r\n <el-form :inline="true" class="demo-form-inline">\r\n <el-form-item label="提示:">\r\n <el-link :underline="false" type="primary">选择的开始日期和结束日期请将数据的入录时间包含起来,结束日期选后一天</el-link>\r\n </el-form-item>\r\n <el-form-item label="时间">\r\n <el-date-picker v-model="startDate" type="month" value-format="yyyy-MM" placeholder="选择月" />\r\n </el-form-item>\r\n </el-form>\r\n <span slot="footer" class="dialog-footer">\r\n <el-button size="small" :loading="loadExp" @click="handleClose">取 消</el-button>\r\n <el-button size="small" type="primary" :loading="loadExp" @click="expExcelForm_two">\r\n 导 出\r\n </el-button>\r\n </span>\r\n </el-dialog>\r\n <el-dialog v-if="unitType == \'机构护理\'" :close-on-click-modal="false" :close-on-press-escape="false" title="打印"\r\n :visible.sync="expObjVisible" width="100%" :before-close="handleClose" top="3vh">\r\n <div id="printDom1" ref="printDom1" class="exptable" border="1">\r\n <div class="thead">\r\n {{ expObj.orderYearMonth }}\r\n </div>\r\n <div class="tbody">\r\n <div class="tr eight">\r\n <div class="title eight_label">参保人姓名</div>\r\n <div class="eight_label">{{ expObj.personName }}</div>\r\n <div class="title eight_label">身份证</div>\r\n <div class="eight_label">{{ expObj.personIdCode }}</div>\r\n <div class="title eight_label">年龄</div>\r\n <div>\r\n {{ expObj.personAge }}\r\n </div>\r\n <div class="title eight_label">参保类型</div>\r\n <div class="eight_label">{{ expObj.medicalType }}</div>\r\n\r\n <div class="title eight_label">制表人</div>\r\n <div class="eight_label">{{ expObj.unitName }}</div>\r\n </div>\r\n <div class="tr eight">\r\n <div class="title eight_label">所属参保区划</div>\r\n <div class="eight_label">{{ expObj.medicalCounty }}</div>\r\n <div class="title eight_label">失能等级</div>\r\n <div class="eight_label">{{ expObj.lv }}</div>\r\n <div class="title eight_label">家属姓名</div>\r\n <div class="eight_label">{{ expObj.familyName }}</div>\r\n \x3c!-- <div class="title eight_label" style="width: 750px;"></div> --\x3e\r\n \x3c!-- <div class="eight_label">{{ expObj.totalPrice }}</div> --\x3e\r\n </div>\r\n <div class="leftXuhao loop">\r\n <div class="num">序号</div>\r\n <div class="name">服务项目</div>\r\n <div class="day headday">\r\n <span>护理服务执行日期及次数</span>\r\n <div class="forday">\r\n <span v-for="i in 31" :key="i">{{ i }}日</span>\r\n </div>\r\n </div>\r\n <div class="total">床日合计</div>\r\n </div>\r\n <div v-for="(item, index) in expObj.list" :key="index" class="tr loop">\r\n <div class="num">{{ index + 1 }}</div>\r\n <div class="name">{{ item.title }}</div>\r\n <div class="day bodyday">\r\n <div class="forday">\r\n <template v-for="i in 31">\r\n <span v-if="Array.isArray(item[`day${i}`])" :key="i">\r\n <p v-for="(items, index) in item[`day${i}`]" :key="index" style="margin: 0;">\r\n {{ items }}\r\n </p>\r\n </span>\r\n <span v-else :key="i">{{ item[`day${i}`] }}</span>\r\n </template>\r\n </div>\r\n </div>\r\n <div class="total">{{ item.num }}</div>\r\n </div>\r\n </div>\r\n <div class="handwriting">\r\n <div class="name">协议服务机构负责人签字:</div>\r\n <div class="day bodyday">家属确认签字按手印:</div>\r\n </div>\r\n <div class="handwriting">\r\n <div class="name">盖章:</div>\r\n <div class="day bodyday">日期:</div>\r\n </div>\r\n <div class="handwriting">\r\n <div class="name">日期:</div>\r\n </div>\r\n </div>\r\n <span slot="footer" class="dialog-footer">\r\n <el-button size="small" :loading="loadExp" @click="handleClose">取 消</el-button>\r\n <el-button v-print="print" size="small" type="primary" :loading="loadExp" @click="onPrint">\r\n 打 印\r\n </el-button>\r\n </span>\r\n </el-dialog>\r\n <el-dialog v-if="unitType == \'居家护理\'" :close-on-click-modal="false" :close-on-press-escape="false" title="打印"\r\n :visible.sync="expObjVisible" width="100%" :before-close="handleClose" top="3vh">\r\n <div id="printDom1" ref="printDom1" class="exptable" border="1">\r\n <div class="thead">\r\n {{ expObj.orderYearMonth }}\r\n </div>\r\n <div class="tbody">\r\n <div class="tr eight">\r\n <div class="title eight_label">参保人姓名</div>\r\n <div class="eight_label">{{ expObj.personName }}</div>\r\n <div class="title eight_label">身份证</div>\r\n <div class="eight_label">{{ expObj.personIdCode }}</div>\r\n <div class="title eight_label">年龄</div>\r\n <div>\r\n {{ expObj.personAge }}\r\n </div>\r\n <div class="title eight_label">参保类型</div>\r\n <div class="eight_label">{{ expObj.medicalType }}</div>\r\n\r\n <div class="title eight_label">制表人</div>\r\n <div class="eight_label">{{ expObj.unitName }}</div>\r\n </div>\r\n <div class="tr eight">\r\n <div class="title eight_label">所属参保区划</div>\r\n <div class="eight_label">{{ expObj.medicalCounty }}</div>\r\n <div class="title eight_label">失能等级</div>\r\n <div class="eight_label">{{ expObj.lv }}</div>\r\n <div class="title eight_label">家属姓名</div>\r\n <div class="eight_label">{{ expObj.familyName }}</div>\r\n \x3c!-- <div class="title eight_label" style="width: 750px;"></div> --\x3e\r\n \x3c!-- <div class="eight_label">{{ expObj.totalPrice }}</div> --\x3e\r\n </div>\r\n <div class="leftXuhao loop">\r\n <div class="num">序号</div>\r\n <div class="name">服务项目</div>\r\n <div class="day headday">\r\n <span>护理服务执行日期及时长(分钟)</span>\r\n <div class="forday">\r\n <span v-for="i in 31" :key="i">{{ i }}日</span>\r\n </div>\r\n </div>\r\n \x3c!-- <div class="total">床日合计</div> --\x3e\r\n </div>\r\n <div v-for="(item, index) in expObj.list" :key="index" class="tr loop">\r\n <div class="num">{{ index + 1 }}</div>\r\n <div class="name">{{ item.title }}</div>\r\n \x3c!-- 当月服务时长单元格合并显示 --\x3e\r\n <div v-if="item.title == \'当月服务时长(小时)\'" class="day bodyday merged-cell">\r\n {{ item.num }}(小时)\r\n </div>\r\n \x3c!-- 普通日期单元格 --\x3e\r\n <div v-else class="day bodyday">\r\n <div class="forday">\r\n <template v-for="i in 31">\r\n <span v-if="Array.isArray(item[`day${i}`])" :key="i">\r\n <p v-for="(items, index) in item[`day${i}`]" :key="index" style="margin: 0;">\r\n {{ items }}\r\n </p>\r\n </span>\r\n <span v-else :key="i">{{ item[`day${i}`] }}</span>\r\n </template>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class="handwriting">\r\n <div class="name">协议服务机构负责人签字:</div>\r\n <div class="day bodyday">家属确认签字按手印:</div>\r\n </div>\r\n <div class="handwriting">\r\n <div class="name">盖章:</div>\r\n <div class="day bodyday">日期:</div>\r\n </div>\r\n <div class="handwriting">\r\n <div class="name">日期:</div>\r\n </div>\r\n </div>\r\n <span slot="footer" class="dialog-footer">\r\n <el-button size="small" :loading="loadExp" @click="handleClose">取 消</el-button>\r\n <el-button v-print="print" size="small" type="primary" :loading="loadExp" @click="onPrint">\r\n 打 印\r\n </el-button>\r\n </span>\r\n </el-dialog>\r\n\r\n \x3c!-- 导出周期表格 2024-06-07 --\x3e\r\n <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" title="打印"\r\n :visible.sync="dialogVisibleExpPrint" width="1200px" :before-close="handleClose">\r\n <el-form :inline="true" class="demo-form-inline">\r\n <el-form-item label="时间">\r\n <el-date-picker v-model="startDate" type="month" value-format="yyyy-MM" placeholder="选择月" size="small"\r\n @change="getExpPrint" />\r\n </el-form-item>\r\n </el-form>\r\n <div v-if="startDate" id="printDom1" ref="printDom1" class="exptable exptableprint" border="1">\r\n <div class="thead" style="font-size: 14px">\r\n {{ expObjPrint.title }}\r\n </div>\r\n <div style="text-align: left; padding: 10px 0">\r\n 结算周期{{ expObjPrint.jszqTime }}\r\n </div>\r\n <div class="tbody">\r\n <div class="tr loop">\r\n <div class="num" style="width: 55px !important">个人编号</div>\r\n <div class="" style="width: 45px">姓名</div>\r\n <div class="" style="flex: 1">身份证</div>\r\n <div class="" style="flex: 1">参保类型</div>\r\n <div class="" style="flex: 1">护理类别</div>\r\n <div class="" style="flex: 1">结算起始日期</div>\r\n <div class="" style="flex: 1">结算中止日期</div>\r\n <div class="" style="width: 55px">服务次数</div>\r\n <div class="" style="width: 62px">实际总金额</div>\r\n \x3c!-- <div class="" style="width: 45px">总费用</div> --\x3e\r\n <div class="" style="width: 55px">基金支付</div>\r\n <div class="day headday" style="width: 100px">\r\n <span>个人负担</span>\r\n <div class="forday">\r\n <span style="width: 50px">个人自费</span>\r\n <span style="width: 50px">个人自付</span>\r\n </div>\r\n </div>\r\n <div class="" style="flex: 1">不合理费用扣减</div>\r\n </div>\r\n <div v-for="(item, index) in expObjPrint.list" :key="index" class="tr loop">\r\n <div class="num" style="width: 55px !important">\r\n {{ index + 1 }}\r\n </div>\r\n <div class="" style="width: 45px">{{ item.name }}</div>\r\n <div class="" style="flex: 1">{{ item.idCode }}</div>\r\n <div class="" style="flex: 1">{{ item.medicalType }}</div>\r\n <div class="" style="flex: 1">{{ item.hlType }}</div>\r\n <div class="" style="flex: 1">{{ item.startTime }}</div>\r\n <div class="" style="flex: 1">{{ item.endTime }}</div>\r\n <div class="" style="width: 55px">{{ item.clockNum }}</div>\r\n <div class="" style="width: 62px">{{ item.accountTotal }}</div>\r\n \x3c!-- <div class="" style="width: 45px">{{ item.totalPrice }}</div> --\x3e\r\n <div class="" style="width: 55px">{{ item.fundPrice }}</div>\r\n <div class="day bodyday" style="width: 100px">\r\n <div class="forday">\r\n <span style="width: 50px">{{ item.fei }}</span>\r\n <span style="width: 50px">{{ item.fu }}</span>\r\n </div>\r\n </div>\r\n <div class="" style="flex: 1">{{ item.bhl }}</div>\r\n </div>\r\n\r\n <div class="tr loop">\r\n <div class="num" style="width: 55px !important">合计</div>\r\n <div class="" style="width: 45px" />\r\n <div class="" style="flex: 1" />\r\n <div class="" style="flex: 1" />\r\n <div class="" style="flex: 1" />\r\n <div class="" style="flex: 1" />\r\n <div class="" style="flex: 1" />\r\n <div class="" style="width: 55px" />\r\n <div class="" style="width: 62px">{{ totalAmount }}</div>\r\n <div class="" style="width: 55px">{{ fundAmount }}</div>\r\n <div class="day bodyday" style="width: 100px">\r\n <div class="forday">\r\n <span style="width: 100px">{{ burdenAmount }}</span>\r\n </div>\r\n </div>\r\n <div class="" style="flex: 1" />\r\n </div>\r\n </div>\r\n <div class="handwriting" style="padding: 2px 0">\r\n <div class="" style="width: 200px; text-align: left">\r\n 护理服务机构负责人签字\r\n </div>\r\n <div class="" style="width: 200px; text-align: left">\r\n 承办单位审核人签字\r\n </div>\r\n <div class="" style="width: 200px; text-align: left">\r\n 经办单位复核人签字\r\n </div>\r\n </div>\r\n <div class="handwriting">\r\n <div class="" style="width: 200px; text-align: left">盖章</div>\r\n <div class="" style="width: 200px; text-align: left">盖章</div>\r\n <div class="" style="width: 200px; text-align: left">盖章</div>\r\n </div>\r\n </div>\r\n <span slot="footer" class="dialog-footer">\r\n <el-button size="small" :loading="loadExp" @click="handleClose">取 消</el-button>\r\n <el-button size="small" type="primary" :loading="loadExp" @click="onPrint">\r\n 打 印\r\n </el-button>\r\n </span>\r\n </el-dialog>\r\n <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" title="新结算单打印"\r\n :visible.sync="dialogVisibleExpPrint_two" width="100%" :before-close="handleClose">\r\n <el-form :inline="true" class="demo-form-inline">\r\n <el-form-item label="时间">\r\n <el-date-picker v-model="startDate" type="month" value-format="yyyy-MM" placeholder="选择月" size="small"\r\n @change="getExpPrint_new" />\r\n </el-form-item>\r\n </el-form>\r\n <div v-if="startDate" id="printDom1" ref="printDom1" style="padding: 20px">\r\n <div style="font-size: 18px; font-weight: bold; text-align: center; margin-bottom: 10px">\r\n {{ expObjPrintNew.title }}\r\n </div>\r\n <div style="text-align: left; margin-bottom: 10px; font-size: 12px">\r\n 结算周期: {{ expObjPrintNew.jszqTime }}\r\n </div>\r\n <table border="1" cellspacing="0" cellpadding="5"\r\n style="width:100%; border-collapse: collapse; font-size: 10px">\r\n <thead>\r\n <tr style="background-color: #f0f0f0">\r\n <th>编号</th>\r\n <th>姓名</th>\r\n <th>身份证</th>\r\n <th>重度等级</th>\r\n <th>参保类型</th>\r\n <th>护理类别</th>\r\n <th>结算起始日期</th>\r\n <th>结算中止日期</th>\r\n <th>死亡时间</th>\r\n <th>转出机构时间</th>\r\n <th>基金支付</th>\r\n <th>单价</th>\r\n <th>重度服务时长</th>\r\n <th>实际服务时长</th>\r\n <th>统筹支付金额</th>\r\n <th>参保地</th>\r\n <th>护理员姓名</th>\r\n <th>住院起始日期</th>\r\n <th>是否当月新增</th>\r\n <th>新增时间</th>\r\n <th>参保人居住区域</th>\r\n <th>参保人居住地址</th>\r\n <th>备注</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr v-for="(item, index) in expObjPrintNew.list" :key="index">\r\n <td style="width: 50px;">{{ item.familyNo }}</td>\r\n <td style="width: 50px;">{{ item.familyName }}</td>\r\n <td style="width: 50px;">{{ item.familyIdCode }}</td>\r\n <td style="width: 50px;">{{ item.familyLv }}</td>\r\n <td style="width: 50px;">{{ item.familyMedicalType }}</td>\r\n <td style="width: 50px;">{{ item.unitType }}</td>\r\n <td style="width: 50px;">{{ item.orderStartDate }}</td>\r\n <td style="width: 50px;">{{ item.orderEndDate }}</td>\r\n <td style="width: 50px;">{{ item.familyDieTime }}</td>\r\n <td style="width: 50px;">{{ item.familyOutTime }}</td>\r\n <td style="width: 50px;">{{ item.unitAccount }}</td>\r\n <td style="width: 50px;">{{ item.dj }}</td>\r\n <td style="width: 50px;">{{ item.fwsc }}</td>\r\n <td style="width: 50px;">{{ item.sjfwsc }}</td>\r\n <td style="width: 50px;">{{ item.unitAccount }}</td>\r\n <td style="width: 50px;">{{ item.familyMedicalCounty }}</td>\r\n <td style="width: 50px;">{{ item.personName }}</td>\r\n <td style="width: 50px;">{{ item.familyZYTime }}</td>\r\n <td style="width: 50px;">{{ item.dyxz }}</td>\r\n <td style="width: 50px;">{{ item.familyCreateTime }}</td>\r\n <td style="width: 50px;">{{ item.familyCounty }}</td>\r\n <td style="width: 50px;">{{ item.familyAddress }}</td>\r\n <td style="width: 50px;">{{ item.bz }}</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n\r\n <div style="margin-top: 20px; padding: 10px 0">\r\n <div style="display: flex; margin-bottom: 10px">\r\n <div style="flex: 1">护理服务机构负责人签字:_______________</div>\r\n <div style="flex: 1">承办单位审核人签字:_______________</div>\r\n </div>\r\n <div style="display: flex">\r\n <div style="flex: 1">盖章:</div>\r\n \x3c!-- <div style="flex: 1">盖章:_______________</div> --\x3e\r\n </div>\r\n </div>\r\n </div>\r\n <span slot="footer" class="dialog-footer">\r\n <el-button size="small" :loading="loadExp" @click="handleClose">取 消</el-button>\r\n <el-button size="small" type="primary" :loading="loadExp" @click="onPrint">打 印</el-button>\r\n </span>\r\n </el-dialog>\r\n\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport {\r\n WxSettlementPage,\r\n revokepsnsetlThird,\r\n wxSettlementInfo,\r\n wxSettlementStatisticInfo,\r\n wxSettlementStatisticInfoNew,\r\n ClockInfo,\r\n ClockJsInfo,\r\n JSInfoNew\r\n} from \'@/api/settlement\'\r\nimport { SysUnitAll, WxUserFamilyAll } from \'@/api/institution\'\r\nimport Pagination from \'@/components/Pagination\' // secondary package based on el-pagination\r\nexport default {\r\n name: \'Personnel\',\r\n components: { Pagination },\r\n filters: {},\r\n data() {\r\n return {\r\n\r\n unitType: null,\r\n // 时间\r\n time: null,\r\n institutionList: [],\r\n customerData: [],\r\n startDate: \'\',\r\n loadExp: false,\r\n dialogVisibleExp: false,\r\n dialogVisibleExp_two: false,\r\n dialogStatus: \'\',\r\n textMap: { update: \'详情\', create: \'创建\' },\r\n tableKey: 0,\r\n list: null,\r\n total: 0,\r\n listLoading: true,\r\n listQuery: {\r\n pageNo: 1,\r\n size: 20\r\n },\r\n dialogFormVisible: false,\r\n dialogPvVisible: false,\r\n rules: {\r\n status: [\r\n { required: true, message: \'请选择审批状态\', trigger: \'change\' }\r\n ],\r\n name: [{ required: true, message: \'请输入机构名称\', trigger: \'blur\' }],\r\n city: [{ required: true, message: \'请输入行政区划\', trigger: \'blur\' }],\r\n county: [\r\n { required: true, message: \'请输入所属辖区\', trigger: \'blur\' }\r\n ],\r\n address: [\r\n { required: true, message: \'请输入护理机构地址\', trigger: \'blur\' }\r\n ],\r\n linkMan: [{ required: true, message: \'请输入联系人\', trigger: \'blur\' }],\r\n linkPhoneNumber: [\r\n { required: true, message: \'请输入联系号码\', trigger: \'blur\' }\r\n ]\r\n },\r\n temp: {},\r\n downloadLoading: false,\r\n expObj: {},\r\n expObjPrint: {},\r\n expObjPrintNew: {},\r\n expObjVisible: false,\r\n dialogVisibleExpPrint: false,\r\n dialogVisibleExpPrint_two: false\r\n }\r\n },\r\n computed: {\r\n totalAmount() {\r\n let accountTotal = 0\r\n if (!Object.keys(this.expObjPrint).length == 0) {\r\n for (let i = 0; i < this.expObjPrint.list.length; i++) {\r\n accountTotal += this.expObjPrint.list[i].accountTotal\r\n }\r\n }\r\n return accountTotal.toFixed(1) || 0\r\n },\r\n fundAmount() {\r\n let fundPrice = 0\r\n if (!Object.keys(this.expObjPrint).length == 0) {\r\n for (let i = 0; i < this.expObjPrint.list.length; i++) {\r\n fundPrice += this.expObjPrint.list[i].fundPrice\r\n }\r\n }\r\n return fundPrice.toFixed(1) || 0\r\n },\r\n burdenAmount() {\r\n let amount = 0\r\n if (!Object.keys(this.expObjPrint).length == 0) {\r\n for (let i = 0; i < this.expObjPrint.list.length; i++) {\r\n amount += this.expObjPrint.list[i].fei + this.expObjPrint.list[i].fu\r\n }\r\n }\r\n return amount.toFixed(1) || 0\r\n }\r\n },\r\n created() {\r\n this.getList()\r\n },\r\n methods: {\r\n changeTime(value) {\r\n this.listQuery.orderStartDate = value[0]\r\n this.listQuery.orderEndDate = value[1]\r\n },\r\n /**\r\n * 打印\r\n */\r\n onPrint() {\r\n this.$print(this.$refs.printDom1)\r\n },\r\n getExpPrint(v) {\r\n ClockJsInfo({ yearMonth: v }).then((res) => {\r\n console.log(res)\r\n if (res.status === 1) {\r\n this.expObjPrint = res.result\r\n }\r\n })\r\n },\r\n getExpPrint_new(v) {\r\n JSInfoNew({ yearMonth: v }).then((res) => {\r\n console.log(res)\r\n if (res.status === 1) {\r\n this.expObjPrintNew = res.result\r\n }\r\n })\r\n },\r\n expExcel3(row) {\r\n this.dialogVisibleExpPrint = true\r\n this.startDate = \'\'\r\n },\r\n expExcel4(row) {\r\n this.dialogVisibleExpPrint_two = true\r\n this.startDate = \'\'\r\n },\r\n expExcel2(row) {\r\n ClockInfo({ orderNo: row.orderNo }).then((res) => {\r\n if (res.status === 1) {\r\n this.unitType = res.result.unitType\r\n const result = {}\r\n const lastElement = res.result.list[res.result.list.length - 1]\r\n for (const key in lastElement) {\r\n if (typeof lastElement[key] === \'string\' && lastElement[key].includes(\'-\')) {\r\n result[key] = lastElement[key].split(/-/)\r\n } else {\r\n result[key] = lastElement[key]\r\n }\r\n }\r\n res.result.list[res.result.list.length - 1] = result\r\n this.expObj = res.result\r\n this.expObjVisible = true\r\n }\r\n })\r\n },\r\n expExcel(row) {\r\n wxSettlementInfo({ id: row.id, orderNo: row.orderNo }).then((res) => {\r\n const blob = new Blob([res])\r\n const fileName = \'结算信息导出\'\r\n if (blob.size > 0) {\r\n const elink = document.createElement(\'a\')\r\n elink.style.display = \'none\'\r\n elink.href = URL.createObjectURL(blob)\r\n // 类似a标签下载\r\n // 自定义文件名称和导出类型。最好和后台保持一致\r\n elink.download = `${fileName}/${this.$moment().format(\r\n \'YYYY-MM-DD\'\r\n )}.xlsx`\r\n document.body.appendChild(elink)\r\n elink.click()\r\n // 释放URL 对象\r\n URL.revokeObjectURL(elink.href)\r\n // 删除创建的 a 标签\r\n document.body.removeChild(elink)\r\n }\r\n })\r\n },\r\n expExcelForm_two() {\r\n try {\r\n this.loadExp = true\r\n const form = {\r\n yearMonth: this.startDate\r\n // endDate: this.startDate[1],\r\n }\r\n wxSettlementStatisticInfoNew(form)\r\n .then((res) => {\r\n const blob = new Blob([res])\r\n const fileName = \'新结算统计导出\'\r\n if (blob.size > 0) {\r\n const elink = document.createElement(\'a\')\r\n elink.style.display = \'none\'\r\n elink.href = URL.createObjectURL(blob)\r\n // 类似a标签下载\r\n // 自定义文件名称和导出类型。最好和后台保持一致\r\n elink.download = `${fileName}/${this.$moment().format(\r\n \'YYYY-MM-DD\'\r\n )}.xlsx`\r\n document.body.appendChild(elink)\r\n elink.click()\r\n // 释放URL 对象\r\n URL.revokeObjectURL(elink.href)\r\n // 删除创建的 a 标签\r\n document.body.removeChild(elink)\r\n }\r\n this.handleClose()\r\n this.loadExp = false\r\n })\r\n .catch(() => {\r\n this.loadExp = false\r\n })\r\n } catch (e) {\r\n this.loadExp = false\r\n console.log(e)\r\n }\r\n },\r\n expExcelForm() {\r\n try {\r\n this.loadExp = true\r\n const form = {\r\n yearMonth: this.startDate\r\n // endDate: this.startDate[1],\r\n }\r\n wxSettlementStatisticInfo(form)\r\n .then((res) => {\r\n const blob = new Blob([res])\r\n const fileName = \'结算统计导出\'\r\n if (blob.size > 0) {\r\n const elink = document.createElement(\'a\')\r\n elink.style.display = \'none\'\r\n elink.href = URL.createObjectURL(blob)\r\n // 类似a标签下载\r\n // 自定义文件名称和导出类型。最好和后台保持一致\r\n elink.download = `${fileName}/${this.$moment().format(\r\n \'YYYY-MM-DD\'\r\n )}.xlsx`\r\n document.body.appendChild(elink)\r\n elink.click()\r\n // 释放URL 对象\r\n URL.revokeObjectURL(elink.href)\r\n // 删除创建的 a 标签\r\n document.body.removeChild(elink)\r\n }\r\n this.handleClose()\r\n this.loadExp = false\r\n })\r\n .catch(() => {\r\n this.loadExp = false\r\n })\r\n } catch (e) {\r\n this.loadExp = false\r\n console.log(e)\r\n }\r\n },\r\n handleClose() {\r\n this.dialogVisibleExp = false\r\n this.dialogVisibleExp_two = false\r\n this.expObjVisible = false\r\n this.dialogVisibleExpPrint = false\r\n this.dialogVisibleExpPrint_two = false\r\n this.expObj = {}\r\n this.expObjPrint = {}\r\n this.startDate = \'\'\r\n },\r\n // 撤销\r\n revoke(row) {\r\n revokepsnsetlThird({ trtSetlId: row.trtSetlId }).then((res) => {\r\n if (res.status == 1) {\r\n this.getList()\r\n this.$notify({\r\n title: \'提示\',\r\n message: \'撤销成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n } else {\r\n this.$notify({\r\n title: \'提示\',\r\n message: res.info,\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n }\r\n })\r\n },\r\n getList() {\r\n this.listLoading = true\r\n WxSettlementPage(this.listQuery).then((response) => {\r\n this.list = response.result.data\r\n this.total = response.result.count\r\n setTimeout(() => {\r\n this.listLoading = false\r\n }, 1.5 * 1000)\r\n })\r\n SysUnitAll().then((res) => {\r\n this.institutionList = res.result.map((item) => {\r\n return { label: item.name, value: item.id }\r\n })\r\n })\r\n WxUserFamilyAll().then((res) => {\r\n this.customerData = res.result.map((item) => {\r\n return { label: item.name, value: item.id }\r\n })\r\n })\r\n },\r\n handleModifyStatus(row, status) {\r\n this.$message({\r\n message: \'操作成功\',\r\n type: \'success\'\r\n })\r\n row.status = status\r\n },\r\n resetting(formName) {\r\n this.$nextTick(() => {\r\n this.$refs[formName].resetFields()\r\n this.getList()\r\n })\r\n },\r\n add() {\r\n this.dialogStatus = \'create\'\r\n this.dialogFormVisible = true\r\n this.temp = {}\r\n },\r\n onSubmit() {\r\n this.getList()\r\n },\r\n createData() {\r\n this.$refs[\'dataForm\'].validate((valid) => {\r\n if (valid) {\r\n SysUnitSave(this.temp).then((res) => {\r\n if (res.status == 1) {\r\n this.dialogFormVisible = false\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'新增成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'新增失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n }\r\n })\r\n },\r\n updateData() {\r\n this.$refs[\'dataForm\'].validate((valid) => {\r\n if (valid) {\r\n WxClockApplyApprove(this.temp).then((res) => {\r\n if (res.status == 1) {\r\n this.dialogFormVisible = false\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'更新成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'更新失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n }\r\n })\r\n },\r\n edit(row) {\r\n this.temp = row\r\n this.dialogStatus = \'update\'\r\n this.dialogFormVisible = true\r\n },\r\n handleDelete(row, index) {\r\n WxClockApplyDel({ id: row.id }).then((res) => {\r\n if (res.status == 1) {\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'删除成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'删除失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n // this.list.splice(index, 1)\r\n }\r\n }\r\n}\r\n<\/script>\r\n<style lang="scss" scoped>\r\n.el-col-12 {\r\n padding: 0 20px 0 0;\r\n}\r\n\r\n.exptable {\r\n font-size: 9px;\r\n text-align: center;\r\n width: 100%;\r\n\r\n // line-height: 26px;\r\n .leftXuhao {\r\n display: flex;\r\n border-bottom: 1px solid #333;\r\n\r\n div {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n border-right: 1px solid #333;\r\n }\r\n }\r\n\r\n .thead {\r\n // border: 1px solid #333;\r\n border-bottom: 0;\r\n color: #000;\r\n padding: 8px 0;\r\n }\r\n\r\n .tbody {\r\n border: 1px solid #333;\r\n font-size: 8px;\r\n }\r\n\r\n .tr {\r\n display: flex;\r\n border-bottom: 1px solid #333;\r\n color: #111;\r\n\r\n div {\r\n // flex: 1;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n border-right: 1px solid #333;\r\n // padding: 5px 2px;\r\n }\r\n\r\n .bodyday {\r\n flex: 1;\r\n }\r\n\r\n div:last-child {\r\n border-right: 0;\r\n }\r\n }\r\n\r\n .eight div {\r\n flex: 1;\r\n // width: calc((100% - 120px * 8) / 8);\r\n padding: 5px 0;\r\n }\r\n\r\n .eight .title {\r\n width: 110px;\r\n flex: none;\r\n }\r\n\r\n .tr:last-child {\r\n border-bottom: 0;\r\n }\r\n\r\n .loop {\r\n .num {\r\n width: 22px !important;\r\n }\r\n\r\n .total {\r\n width: 23px;\r\n padding: 5px 0;\r\n }\r\n\r\n // .day {\r\n // width: calc(27px * 27);\r\n // }\r\n .name {\r\n // flex: 1;\r\n padding: 5px 0;\r\n // width: 300px !important;\r\n flex: 0.1;\r\n }\r\n\r\n .headday {\r\n flex-flow: column;\r\n flex: 1;\r\n\r\n .forday {\r\n border-top: 1px solid #333;\r\n }\r\n }\r\n\r\n .day span {\r\n padding: 10px 0;\r\n }\r\n\r\n .forday {\r\n display: table;\r\n width: 100%;\r\n\r\n // height: 100%;\r\n span {\r\n display: table-cell;\r\n vertical-align: middle;\r\n border-right: 1px solid #333;\r\n width: 23px;\r\n height: 100%;\r\n overflow: hidden;\r\n word-wrap: break-word;\r\n word-break: break-all;\r\n }\r\n\r\n span:last-child {\r\n border-right: 0;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.aa {\r\n // height: 88px;\r\n}\r\n\r\n.handwriting {\r\n display: flex;\r\n\r\n div {\r\n text-align: right;\r\n padding: 5px 0;\r\n }\r\n\r\n .name {\r\n margin-left: 60px;\r\n width: 120px;\r\n }\r\n\r\n .bodyday {\r\n width: 60%;\r\n margin-right: 60px;\r\n }\r\n}\r\n\r\n.exptableprint {\r\n font-size: 11px;\r\n\r\n .tbody {\r\n font-size: 10px;\r\n }\r\n}\r\n\r\n/* 打印样式 - 修复el-table打印时列宽问题 */\r\n@media print {\r\n\r\n /* 强制设置表格列宽为auto,让内容正常显示 */\r\n .el-table__header-wrapper,\r\n .el-table__body-wrapper {\r\n overflow: visible !important;\r\n }\r\n\r\n .el-table__header,\r\n .el-table__body {\r\n width: 100% !important;\r\n }\r\n\r\n .el-table th,\r\n .el-table td {\r\n width: auto !important;\r\n min-width: 80px !important;\r\n max-width: none !important;\r\n white-space: normal !important;\r\n word-wrap: break-word !important;\r\n overflow: visible !important;\r\n }\r\n\r\n .el-table__fixed,\r\n .el-table__fixed-right {\r\n display: none !important;\r\n }\r\n\r\n /* 隐藏不需要打印的元素 */\r\n .dialog-footer,\r\n .el-dialog__header {\r\n display: none !important;\r\n }\r\n\r\n /* 确保打印时表格宽度100% */\r\n .el-table {\r\n width: 100% !important;\r\n table-layout: auto !important;\r\n }\r\n\r\n .el-table__body {\r\n table-layout: auto !important;\r\n }\r\n}\r\n</style>\r\n']},media:void 0})},__vue_scope_id__$d="data-v-77c35fa5",__vue_module_identifier__$d=void 0,__vue_is_functional_template__$d=!1,__vue_component__$d=normalizeComponent({render:__vue_render__$d,staticRenderFns:__vue_staticRenderFns__$d},__vue_inject_styles__$d,__vue_script__$d,__vue_scope_id__$d,__vue_is_functional_template__$d,__vue_module_identifier__$d,!1,createInjector,void 0,void 0);var script$c={name:"Personnel",components:{Pagination:Pagination},filters:{},data:()=>({customerData:[],institutionList:[],tableData:[],direction:"rtl",drawer:!1,drawerTitle:"",orderNo:null,time:null,dateRange:null,familyLvData:[{label:"基本正常",value:"01"},{label:"轻度失能",value:"02"},{label:"中度失能",value:"03"},{label:"重度失能Ⅰ级",value:"04"},{label:"重度失能ⅠⅠ级",value:"05"},{label:"重度失能ⅠⅠⅠ级",value:"06"}],NursingLoading:!0,NursingData:[],dialogStatus:"",textMap:{update:"详情",create:"创建"},tableKey:0,list:null,total:0,listLoading:!0,listQuery:{pageNo:1,size:20},dialogFormVisible:!1,dialogPvVisible:!1,rules:{status:[{required:!0,message:"请选择审批状态",trigger:"change"}],name:[{required:!0,message:"请输入机构名称",trigger:"blur"}],city:[{required:!0,message:"请输入行政区划",trigger:"blur"}],county:[{required:!0,message:"请输入所属辖区",trigger:"blur"}],address:[{required:!0,message:"请输入护理机构地址",trigger:"blur"}],linkMan:[{required:!0,message:"请输入联系人",trigger:"blur"}],linkPhoneNumber:[{required:!0,message:"请输入联系号码",trigger:"blur"}]},temp:{},downloadLoading:!1,idList:[]}),computed:{Summary:()=>function(e,t){return(e*t).toFixed(2)},expect:()=>function(e,t){return(e*t).toFixed(2)}},created(){this.getList()},methods:{changeTime(e){if(!e||!Array.isArray(e)||0===e.length)return this.listQuery.orderStartDate="",void(this.listQuery.orderEndDate="");this.listQuery.orderStartDate=e[0],this.listQuery.orderEndDate=e[1]},handleClose(){this.drawer=!1},handleSelectionChange(e){this.idList=e.map(e=>e.id)},buttonUpload(){if(0==this.idList.length)return this.$notify({title:"提示",message:"请选择需要上传的打卡记录",type:"warning",duration:2e3});"明细上传"==this.drawerTitle?WxSettlementSubmitOneClock({idList:this.idList}).then(e=>{1==e.status?(this.$notify({title:"提示",message:e.info,type:"success",duration:2e3}),this.getList(),WxClockPage({orderNo:this.orderNo,pageNo:1,size:31}).then(e=>{this.tableData=e.result})):this.$notify({title:"提示",message:e.info,type:"error",duration:2e3})}):WxSettlementCzOne({idList:this.idList}).then(e=>{1==e.status?(this.$notify({title:"提示",message:e.info,type:"success",duration:2e3}),this.getList(),WxClockNeedCZ({orderNo:this.orderNo,pageNo:1,size:31}).then(e=>{this.tableData=e.result})):this.$notify({title:"提示",message:e.info,type:"error",duration:2e3})})},upload(e){this.drawerTitle="明细上传",this.drawer=!0,this.idList=[],this.orderNo=e.orderNo,WxClockPage({orderNo:this.orderNo,pageNo:1,size:31}).then(e=>{this.tableData=e.result})},rectification(e){this.drawerTitle="明细冲正",this.drawer=!0,this.idList=[],this.orderNo=e.orderNo,WxClockNeedCZ({orderNo:this.orderNo,pageNo:1,size:31}).then(e=>{this.tableData=e.result})},async declare(e){this.$confirm(`已上传${e.uploadNum}条,未上传${e.notUploadedNum}条 请确认后提交`,"提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{predeclareThird(e).then(e=>{1==e.status?(this.getList(),this.$notify({title:"提示",message:"申报成功",type:"success",duration:2e3})):this.$notify({title:"提示",message:e.info,type:"error",duration:2e3})})}).catch(()=>{this.$message({type:"info",message:"已取消"})})},chexiao(e){revokepsnsetlThird({trtSetlId:e.trtSetlId}).then(e=>{1==e.status?(this.getList(),this.$notify({title:"提示",message:"撤销成功",type:"success",duration:2e3})):this.$notify({title:"提示",message:e.info,type:"error",duration:2e3})})},settlement(e){this.$confirm("此操作将结算该条记录, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{WxSettlementSave(e).then(e=>{if(1==e.status)return this.getList(),void this.$notify({title:e.info,message:"结算成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"结算失败",type:"error",duration:2e3})})}).catch(()=>{this.$message({type:"info",message:"已取消结算"})})},getList(){this.listLoading=!0,WxSettlementAdvancePage(this.listQuery).then(e=>{this.list=e.result.data,this.total=e.result.count,setTimeout(()=>{this.listLoading=!1},1500)}).catch(e=>{setTimeout(()=>{this.listLoading=!1},1500)}),WxUserFamilyAll().then(e=>{this.customerData=e.result.map(e=>({label:e.name,value:e.name}))}),SysUnitAll().then(e=>{this.institutionList=e.result.map(e=>({label:e.name,value:e.id}))})},handleModifyStatus(e,t){this.$message({message:"操作成功",type:"success"}),e.status=t},resetting(e){this.$nextTick(()=>{this.$refs[e].resetFields(),this.getList()})},add(){this.dialogStatus="create",this.dialogFormVisible=!0,this.temp={}},onSubmit(){this.getList()},createData(){this.$refs.dataForm.validate(e=>{e&&SysUnitSave(this.temp).then(e=>{if(1==e.status)return this.dialogFormVisible=!1,this.getList(),void this.$notify({title:e.info,message:"新增成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"新增失败",type:"error",duration:2e3})})})},updateData(){this.$refs.dataForm.validate(e=>{e&&WxClockApplyApprove(this.temp).then(e=>{if(1==e.status)return this.dialogFormVisible=!1,this.getList(),void this.$notify({title:e.info,message:"更新成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"更新失败",type:"error",duration:2e3})})})},edit(e){this.temp=e,this.dialogStatus="update",this.dialogFormVisible=!0,this.NursingLoading=!0,console.log(this.temp),this.temp.projectRealityList&&this.temp.projectRealityList.length>0?this.NursingData=this.temp.projectRealityList:this.NursingData=[],setTimeout(()=>{this.NursingLoading=!1},1500)},handleDelete(e,t){WxClockApplyDel({id:e.id}).then(e=>{if(1==e.status)return this.getList(),void this.$notify({title:e.info,message:"删除成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"删除失败",type:"error",duration:2e3})})}}};const __vue_script__$c=script$c;var __vue_render__$c=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"app-container"},[n("div",{staticClass:"filter-container"},[n("el-form",{ref:"listQuery",staticClass:"demo-form-inline",attrs:{inline:!0,model:e.listQuery}},[n("el-form-item",{attrs:{label:"机构名称",prop:"name"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择机构名称"},model:{value:e.listQuery.unitName,callback:function(t){e.$set(e.listQuery,"unitName",t)},expression:"listQuery.unitName"}},e._l(e.institutionList,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.label}})}),1)],1),e._v(" "),n("el-form-item",{attrs:{label:"计划流水号",prop:"orderNo"}},[n("el-input",{attrs:{size:"small",clearable:"",placeholder:"请输入计划流水号"},model:{value:e.listQuery.orderNo,callback:function(t){e.$set(e.listQuery,"orderNo",t)},expression:"listQuery.orderNo"}})],1),e._v(" "),n("el-form-item",{attrs:{label:"客户姓名",prop:"familyName"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择客户"},model:{value:e.listQuery.familyName,callback:function(t){e.$set(e.listQuery,"familyName",t)},expression:"listQuery.familyName"}},e._l(e.customerData,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.label}})}),1)],1),e._v(" "),n("el-form-item",{attrs:{label:"身份证",prop:"familyIdCode"}},[n("el-input",{attrs:{size:"small",clearable:"",placeholder:"请输入客户身份证号"},model:{value:e.listQuery.familyIdCode,callback:function(t){e.$set(e.listQuery,"familyIdCode",t)},expression:"listQuery.familyIdCode"}})],1),e._v(" "),n("el-form-item",{attrs:{label:"失能等级"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择失能等级"},model:{value:e.listQuery.familyLv,callback:function(t){e.$set(e.listQuery,"familyLv",t)},expression:"listQuery.familyLv"}},e._l(e.familyLvData,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1),e._v(" "),n("el-form-item",{attrs:{label:"日期"}},[n("el-date-picker",{attrs:{clearable:"",size:"small","value-format":"yyyy-MM-dd",type:"daterange","range-separator":"至","start-placeholder":"开始时间","end-placeholder":"结束时间"},on:{change:e.changeTime},model:{value:e.dateRange,callback:function(t){e.dateRange=t},expression:"dateRange"}})],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"primary"},on:{click:e.onSubmit}},[e._v("查询")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"warning"},on:{click:function(t){return e.resetting("listQuery")}}},[e._v("重置")])],1)],1)],1),e._v(" "),n("el-table",{staticStyle:{width:"100%"},attrs:{border:"",height:"65vh",data:e.list}},[n("el-table-column",{attrs:{label:"客户姓名",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.familyName))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"客户失能等级",align:"center",width:"150"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return["06"==r.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("重度失能ⅠⅠⅠ级")]):e._e(),e._v(" "),"05"==r.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("重度失能ⅠⅠ级")]):e._e(),e._v(" "),"04"==r.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("重度失能Ⅰ级")]):e._e(),e._v(" "),"03"==r.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("中度失能")]):e._e(),e._v(" "),"02"==r.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("轻度失能")]):e._e(),e._v(" "),"01"==r.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("基本正常")]):e._e()]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"计划流水号",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.orderNo))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"计划开始时间",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.orderStartDate))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"护理机构",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.unitName?r.unitName:"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"机构类型",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("el-tag",{attrs:{size:"medium"}},[e._v(e._s("01"==r.type?"上门护理机构":"02"==r.type?"养老机构":"03"==r.type?"医疗机构":"04"==r.type?"辅助器具机构":"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"服务次数",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.realityNum)+"次")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"服务时长",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.clockHour))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"服务合计费用",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.accountTotal)+"元")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"长期护理保险总费用",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.sumAccount)+"元")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"客户所需支付金额",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.userAccount)+"元")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"基金所需支付金额",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.unitAccount)+"元")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"操作",align:"center",width:"300","class-name":"small-padding fixed-width"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row,l=t.$index;return[n("div",{staticClass:"buttonList"},["1"==r.processStatus&&0!=r.notUploadedNum?n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(t){return e.upload(r,l)}}},[e._v("\n 明细上传\n ")]):e._e(),e._v(" "),"1"==r.processStatus&&0!=r.uploadNum?n("el-button",{attrs:{size:"mini",type:"danger"},on:{click:function(t){return e.rectification(r,l)}}},[e._v("\n 明细冲正\n ")]):e._e(),e._v(" "),"1"==r.processStatus?n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(t){return e.declare(r,l)}}},[e._v("\n 个人费用预申报\n ")]):e._e(),e._v(" "),n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(t){return e.edit(r,l)}}},[e._v("\n 详情\n ")])],1)]}}])})],1),e._v(" "),n("pagination",{directives:[{name:"show",rawName:"v-show",value:e.total>0,expression:"total > 0"}],attrs:{total:e.total,page:e.listQuery.pageNo,limit:e.listQuery.size},on:{"update:page":function(t){return e.$set(e.listQuery,"pageNo",t)},"update:limit":function(t){return e.$set(e.listQuery,"size",t)},pagination:e.getList}}),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:e.textMap[e.dialogStatus],visible:e.dialogFormVisible,width:"40%"},on:{"update:visible":function(t){e.dialogFormVisible=t}}},[n("el-form",{ref:"dataForm",attrs:{rules:e.rules,model:e.temp,"label-position":"right","label-width":"170px"}},[n("el-row",{attrs:{gutter:20}},[n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"客户姓名"}},[n("span",[e._v(e._s(e.temp.familyName))])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"客户失能等级"}},["06"==e.temp.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("重度失能ⅠⅠⅠ级")]):e._e(),e._v(" "),"05"==e.temp.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("重度失能ⅠⅠ级")]):e._e(),e._v(" "),"04"==e.temp.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("重度失能Ⅰ级")]):e._e(),e._v(" "),"03"==e.temp.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("中度失能")]):e._e(),e._v(" "),"02"==e.temp.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("轻度失能")]):e._e(),e._v(" "),"01"==e.temp.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("基本正常")]):e._e()],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"计划流水号"}},[n("span",[e._v(e._s(e.temp.orderNo))])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"护理机构"}},[n("span",[e._v(e._s(e.temp.unitName))])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"机构类型"}},[n("el-tag",{attrs:{size:"medium"}},[e._v(e._s("01"==e.temp.type?"上门护理机构":"02"==e.temp.type?"养老机构":"03"==e.temp.type?"医疗机构":"04"==e.temp.type?"辅助器具机构":"-"))])],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"开始时间"}},[n("span",[e._v(e._s(e.temp.orderStartDate))])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"结束时间"}},[n("span",[e._v(e._s(e.temp.orderEndDate))])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"长户险基金支付比例"}},[n("span",[e._v(e._s(e.temp.rate))])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"每月最高限额"}},[n("span",[e._v(e._s(e.temp.maxAmount)+"元")])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"每月长户险基金最高限额"}},[n("span",[e._v(e._s(e.temp.unitMaxAmount)+"元")])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"每月最低服务次数"}},[n("span",[e._v(e._s(e.temp.minNum)+"次")])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"结算类型"}},[n("el-tag",{attrs:{size:"medium"}},[e._v(e._s("01"==e.temp.unitType?"上门护理机构":"02"==e.temp.unitType?"养老机构":"03"==e.temp.unitType?"医疗机构":"04"==e.temp.unitType?"辅助器具机构":"-"))])],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"服务次数"}},[n("span",[e._v(e._s(e.temp.realityNum)+"次")])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"服务合计费用"}},[n("span",[e._v(e._s(e.temp.accountTotal)+"元")])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"长期护理保险总费用"}},[n("span",[e._v(e._s(e.temp.sumAccount)+"元")])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"客户所需支付金额"}},[n("span",[e._v(e._s(e.temp.userAccount)+"元")])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"基金所需支付金额"}},[n("span",[e._v(e._s(e.temp.unitAccount)+"元")])])],1),e._v(" "),n("el-col",{attrs:{span:24}},[n("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.NursingLoading,expression:"NursingLoading"}],staticStyle:{width:"100%"},attrs:{border:"",height:"20vh",data:e.NursingData}},[n("el-table-column",{attrs:{label:"护理项",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.projectTitle))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"类别",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("el-tag",{attrs:{size:"medium"}},[e._v(e._s("01"==r.projectType?"生活照料":"02"==r.projectType?"精神慰藉":"03"==r.projectType?"安全巡视":"04"==r.projectType?"医疗护理":"05"==r.projectType?"康复护理":"06"==r.projectType?"辅助器具":"07"==r.projectType?"居家护理":"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"预订次数",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return t.$index,[n("span",[e._v(e._s(r.num?r.num:"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"实际次数",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return t.$index,[n("span",[e._v(e._s(r.serviceNum?r.serviceNum:"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"机构上门护理价",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.projectPrice1))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"预计汇总价格",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(e.expect(r.num,r.projectPrice1)))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"实际汇总价格",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(e.Summary(r.serviceNum,r.projectPrice1)))])]}}])})],1)],1)],1)],1),e._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{type:"primary",size:"mini"},on:{click:function(t){e.dialogFormVisible=!1}}},[e._v("\n 关 闭\n ")])],1)],1),e._v(" "),n("el-drawer",{attrs:{title:e.drawerTitle,visible:e.drawer,direction:e.direction,"before-close":e.handleClose,"close-on-press-escape":!1,"wrapper-closable":!1,size:"50%"},on:{"update:visible":function(t){e.drawer=t}}},[n("div",{staticStyle:{display:"flex",margin:"10px","justify-content":"end"}},[n("el-button",{attrs:{type:"success",size:"small"},on:{click:e.buttonUpload}},[e._v(e._s("明细上传"==e.drawerTitle?"点击上传":"点击冲正"))])],1),e._v(" "),n("el-table",{staticStyle:{width:"100%"},attrs:{border:"",data:e.tableData,height:"500"},on:{"selection-change":e.handleSelectionChange}},[n("el-table-column",{attrs:{type:"selection",width:"55",align:"center"}}),e._v(" "),n("el-table-column",{attrs:{label:"计划流水号",align:"center","show-overflow-tooltip":""},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.orderNo))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"护理员姓名",align:"center","show-overflow-tooltip":""},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.personName))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"打卡地点",align:"center","show-overflow-tooltip":""},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.address?r.address:"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"打卡日期",align:"center","show-overflow-tooltip":""},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.clockDate?r.clockDate:"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"上班时间",align:"center","show-overflow-tooltip":""},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.upCreateTime?r.upCreateTime:"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"下班时间",align:"center","show-overflow-tooltip":""},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.dnCreateTime?r.dnCreateTime:"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"上班经纬度",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.lng)+","+e._s(r.lat))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"下班经纬度",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.dnLng)+","+e._s(r.dnLat))])]}}])})],1)],1)],1)},__vue_staticRenderFns__$c=[];__vue_render__$c._withStripped=!0;const __vue_inject_styles__$c=function(e){e&&e("data-v-6e8320de_0",{source:".el-col-12[data-v-6e8320de] {\n padding: 0 20px 0 0;\n}\n.buttonList[data-v-6e8320de] {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n}\n.buttonList button[data-v-6e8320de] {\n margin: 5px;\n}\n\n/*# sourceMappingURL=index.vue.map */",map:{version:3,sources:["E:\\公司项目\\changhuxianlocal\\changhuxian-vue-components\\src\\pages\\SettlementManagement\\PreSettlement\\index.vue","index.vue"],names:[],mappings:"AAs2BA;EACA,mBAAA;ACr2BA;ADw2BA;EACA,aAAA;EACA,eAAA;EACA,uBAAA;ACr2BA;ADu2BA;EACA,WAAA;ACr2BA;;AAEA,oCAAoC",file:"index.vue",sourcesContent:['<template>\n <div class="app-container">\n <div class="filter-container">\n <el-form ref="listQuery" :inline="true" :model="listQuery" class="demo-form-inline">\n \x3c!-- <el-form-item label="机构名称" prop="unitName">\n <el-input size="small" clearable v-model="listQuery.unitName" placeholder="请输入机构名称"></el-input>\n </el-form-item> --\x3e\n <el-form-item label="机构名称" prop="name">\n <el-select v-model="listQuery.unitName" style="width: 100%" clearable filterable size="small"\n class="filter-item" placeholder="请选择机构名称">\n <el-option v-for="(item, index) in institutionList" :key="index" :label="item.label" :value="item.label" />\n </el-select>\n </el-form-item>\n <el-form-item label="计划流水号" prop="orderNo">\n <el-input v-model="listQuery.orderNo" size="small" clearable placeholder="请输入计划流水号" />\n </el-form-item>\n \x3c!-- <el-form-item label="客户姓名" prop="familyName">\n <el-input size="small" clearable v-model="listQuery.familyName" placeholder="请输入客户姓名"></el-input>\n </el-form-item> --\x3e\n <el-form-item label="客户姓名" prop="familyName">\n <el-select v-model="listQuery.familyName" style="width: 100%" clearable filterable size="small"\n class="filter-item" placeholder="请选择客户">\n <el-option v-for="(item, index) in customerData" :key="index" :label="item.label" :value="item.label" />\n </el-select>\n </el-form-item>\n <el-form-item label="身份证" prop="familyIdCode">\n <el-input v-model="listQuery.familyIdCode" size="small" clearable placeholder="请输入客户身份证号" />\n </el-form-item>\n <el-form-item label="失能等级">\n <el-select v-model="listQuery.familyLv" style="width: 100%" clearable filterable size="small"\n class="filter-item" placeholder="请选择失能等级">\n <el-option v-for="(item, index) in familyLvData" :key="index" :label="item.label" :value="item.value" />\n </el-select>\n </el-form-item>\n <el-form-item label="日期">\n <el-date-picker v-model="dateRange" clearable size="small" value-format="yyyy-MM-dd" type="daterange"\n range-separator="至" start-placeholder="开始时间" end-placeholder="结束时间" @change="changeTime" />\n </el-form-item>\n <el-form-item>\n <el-button size="small" type="primary" @click="onSubmit">查询</el-button>\n </el-form-item>\n <el-form-item>\n <el-button size="small" type="warning" @click="resetting(\'listQuery\')">重置</el-button>\n </el-form-item>\n \x3c!-- <el-form-item>\n <el-button size="small" type="success" @click="add">新增</el-button>\n </el-form-item> --\x3e\n </el-form>\n </div>\n <el-table border height="65vh" :data="list" style="width: 100%">\n <el-table-column :label="\'客户姓名\'" align="center">\n <template slot-scope="{ row }">\n <span>{{ row.familyName }}</span>\n </template>\n </el-table-column>\n <el-table-column :label="\'客户失能等级\'" align="center" width="150">\n <template slot-scope="{ row }">\n <el-tag v-if="row.familyLv == \'06\'" type="success">重度失能ⅠⅠⅠ级</el-tag>\n <el-tag v-if="row.familyLv == \'05\'" type="success">重度失能ⅠⅠ级</el-tag>\n <el-tag v-if="row.familyLv == \'04\'" type="success">重度失能Ⅰ级</el-tag>\n <el-tag v-if="row.familyLv == \'03\'" type="success">中度失能</el-tag>\n <el-tag v-if="row.familyLv == \'02\'" type="success">轻度失能</el-tag>\n <el-tag v-if="row.familyLv == \'01\'" type="success">基本正常</el-tag>\n </template>\n </el-table-column>\n <el-table-column :label="\'计划流水号\'" align="center">\n <template slot-scope="{ row }">\n <span>{{ row.orderNo }}</span>\n </template>\n </el-table-column>\n <el-table-column :label="\'计划开始时间\'" align="center">\n <template slot-scope="{ row }">\n <span>{{ row.orderStartDate }}</span>\n </template>\n </el-table-column>\n <el-table-column :label="\'护理机构\'" align="center">\n <template slot-scope="{ row }">\n <span>{{ row.unitName ? row.unitName : "-" }}</span>\n </template>\n </el-table-column>\n <el-table-column :label="\'机构类型\'" align="center">\n <template slot-scope="{ row }">\n \x3c!-- <el-tag size="medium">{{ row.type == \'01\' ? \'入住机构护理\' : row.type == \'02\' ? \'机构上门护理\' : row.type ==\n \'03\' ? \'居家自主护理\' : \'-\' }}</el-tag> --\x3e\n <el-tag size="medium">{{\n row.type == "01"\n ? "上门护理机构"\n : row.type == "02"\n ? "养老机构"\n : row.type == "03"\n ? "医疗机构"\n : row.type == "04"\n ? "辅助器具机构"\n : "-"\n }}</el-tag>\n </template>\n </el-table-column>\n <el-table-column :label="\'服务次数\'" align="center">\n <template slot-scope="{ row }">\n <span>{{ row.realityNum }}次</span>\n </template>\n </el-table-column>\n <el-table-column :label="\'服务时长\'" align="center">\n <template slot-scope="{ row }">\n <span>{{ row.clockHour }}</span>\n </template>\n </el-table-column>\n <el-table-column :label="\'服务合计费用\'" align="center">\n <template slot-scope="{ row }">\n <span>{{ row.accountTotal }}元</span>\n </template>\n </el-table-column>\n <el-table-column :label="\'长期护理保险总费用\'" align="center">\n <template slot-scope="{ row }">\n <span>{{ row.sumAccount }}元</span>\n </template>\n </el-table-column>\n <el-table-column :label="\'客户所需支付金额\'" align="center">\n <template slot-scope="{ row }">\n <span>{{ row.userAccount }}元</span>\n </template>\n </el-table-column>\n <el-table-column :label="\'基金所需支付金额\'" align="center">\n <template slot-scope="{ row }">\n <span>{{ row.unitAccount }}元</span>\n </template>\n </el-table-column>\n <el-table-column :label="\'操作\'" align="center" width="300" class-name="small-padding fixed-width">\n <template slot-scope="{ row, $index }">\n <div class="buttonList">\n \x3c!-- <el-button v-if="row.processStatus == \'3\'" size="mini" type="success" @click="settlement(row, $index)">\n 结算\n </el-button> --\x3e\n <el-button v-if="row.processStatus == \'1\' && row.notUploadedNum != 0" size="mini" type="primary"\n @click="upload(row, $index)">\n 明细上传\n </el-button>\n <el-button v-if="row.processStatus == \'1\' && row.uploadNum != 0" size="mini" type="danger"\n @click="rectification(row, $index)">\n 明细冲正\n </el-button>\n <el-button v-if="row.processStatus == \'1\'" size="mini" type="primary" @click="declare(row, $index)">\n 个人费用预申报\n </el-button>\n \x3c!-- <el-button v-if="row.processStatus == \'3\'" size="mini" type="primary"\n @click="chexiao(row, $index)">\n 个人申报撤销\n </el-button> --\x3e\n <el-button size="mini" type="primary" @click="edit(row, $index)">\n 详情\n </el-button>\n </div>\n </template>\n </el-table-column>\n </el-table>\n\n <pagination v-show="total > 0" :total="total" :page.sync="listQuery.pageNo" :limit.sync="listQuery.size"\n @pagination="getList" />\n <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :title="textMap[dialogStatus]"\n :visible.sync="dialogFormVisible" width="40%">\n <el-form ref="dataForm" :rules="rules" :model="temp" label-position="right" label-width="170px">\n <el-row :gutter="20">\n <el-col :span="12">\n <el-form-item style="margin-bottom: 0px" label="客户姓名">\n <span>{{ temp.familyName }}</span>\n </el-form-item>\n </el-col>\n <el-col :span="12">\n <el-form-item style="margin-bottom: 0px" label="客户失能等级">\n <el-tag v-if="temp.familyLv == \'06\'" type="success">重度失能ⅠⅠⅠ级</el-tag>\n <el-tag v-if="temp.familyLv == \'05\'" type="success">重度失能ⅠⅠ级</el-tag>\n <el-tag v-if="temp.familyLv == \'04\'" type="success">重度失能Ⅰ级</el-tag>\n <el-tag v-if="temp.familyLv == \'03\'" type="success">中度失能</el-tag>\n <el-tag v-if="temp.familyLv == \'02\'" type="success">轻度失能</el-tag>\n <el-tag v-if="temp.familyLv == \'01\'" type="success">基本正常</el-tag>\n </el-form-item>\n </el-col>\n <el-col :span="12">\n <el-form-item style="margin-bottom: 0px" label="计划流水号">\n <span>{{ temp.orderNo }}</span>\n </el-form-item>\n </el-col>\n <el-col :span="12">\n <el-form-item style="margin-bottom: 0px" label="护理机构">\n <span>{{ temp.unitName }}</span>\n </el-form-item>\n </el-col>\n <el-col :span="12">\n <el-form-item style="margin-bottom: 0px" label="机构类型">\n \x3c!-- <span>{{ temp.type == \'01\' ? \'入住机构护理\' : temp.type == \'02\' ? \'机构上门护理\' : temp.type == \'03\' ?\n \'居家自主护理\'\n : \'-\' }}</span> --\x3e\n <el-tag size="medium">{{\n temp.type == "01"\n ? "上门护理机构"\n : temp.type == "02"\n ? "养老机构"\n : temp.type == "03"\n ? "医疗机构"\n : temp.type == "04"\n ? "辅助器具机构"\n : "-"\n }}</el-tag>\n </el-form-item>\n </el-col>\n <el-col :span="12">\n <el-form-item style="margin-bottom: 0px" label="开始时间">\n <span>{{ temp.orderStartDate }}</span>\n </el-form-item>\n </el-col>\n <el-col :span="12">\n <el-form-item style="margin-bottom: 0px" label="结束时间">\n <span>{{ temp.orderEndDate }}</span>\n </el-form-item>\n </el-col>\n <el-col :span="12">\n <el-form-item style="margin-bottom: 0px" label="长户险基金支付比例">\n <span>{{ temp.rate }}</span>\n </el-form-item>\n </el-col>\n <el-col :span="12">\n <el-form-item style="margin-bottom: 0px" label="每月最高限额">\n <span>{{ temp.maxAmount }}元</span>\n </el-form-item>\n </el-col>\n <el-col :span="12">\n <el-form-item style="margin-bottom: 0px" label="每月长户险基金最高限额">\n <span>{{ temp.unitMaxAmount }}元</span>\n </el-form-item>\n </el-col>\n <el-col :span="12">\n <el-form-item style="margin-bottom: 0px" label="每月最低服务次数">\n <span>{{ temp.minNum }}次</span>\n </el-form-item>\n </el-col>\n <el-col :span="12">\n <el-form-item style="margin-bottom: 0px" label="结算类型">\n \x3c!-- <span>{{ temp.unitType == \'1\' ? \'养老机构\' : temp.unitType == \'2\' ? \'护理机构\' : \'-\' }}</span> --\x3e\n <el-tag size="medium">{{\n temp.unitType == "01"\n ? "上门护理机构"\n : temp.unitType == "02"\n ? "养老机构"\n : temp.unitType == "03"\n ? "医疗机构"\n : temp.unitType == "04"\n ? "辅助器具机构"\n : "-"\n }}</el-tag>\n </el-form-item>\n </el-col>\n <el-col :span="12">\n <el-form-item style="margin-bottom: 0px" label="服务次数">\n <span>{{ temp.realityNum }}次</span>\n </el-form-item>\n </el-col>\n\n <el-col :span="12">\n <el-form-item style="margin-bottom: 0px" label="服务合计费用">\n <span>{{ temp.accountTotal }}元</span>\n </el-form-item>\n </el-col>\n <el-col :span="12">\n <el-form-item style="margin-bottom: 0px" label="长期护理保险总费用">\n <span>{{ temp.sumAccount }}元</span>\n </el-form-item>\n </el-col>\n <el-col :span="12">\n <el-form-item style="margin-bottom: 0px" label="客户所需支付金额">\n <span>{{ temp.userAccount }}元</span>\n </el-form-item>\n </el-col>\n <el-col :span="12">\n <el-form-item style="margin-bottom: 0px" label="基金所需支付金额">\n <span>{{ temp.unitAccount }}元</span>\n </el-form-item>\n </el-col>\n <el-col :span="24">\n <el-table v-loading="NursingLoading" border height="20vh" :data="NursingData" style="width: 100%">\n <el-table-column :label="\'护理项\'" align="center">\n <template slot-scope="{ row }">\n <span>{{ row.projectTitle }}</span>\n </template>\n </el-table-column>\n <el-table-column :label="\'类别\'" align="center">\n <template slot-scope="{ row }">\n <el-tag size="medium">{{\n row.projectType == "01"\n ? "生活照料"\n : row.projectType == "02"\n ? "精神慰藉"\n : row.projectType == "03"\n ? "安全巡视"\n : row.projectType == "04"\n ? "医疗护理"\n : row.projectType == "05"\n ? "康复护理"\n : row.projectType == "06"\n ? "辅助器具"\n : row.projectType == "07"\n ? "居家护理"\n : "-"\n }}</el-tag>\n </template>\n </el-table-column>\n <el-table-column :label="\'预订次数\'" align="center">\n <template slot-scope="{ row, $index }">\n <span>{{ row.num ? row.num : "-" }}</span>\n </template>\n </el-table-column>\n <el-table-column :label="\'实际次数\'" align="center">\n <template slot-scope="{ row, $index }">\n <span>{{ row.serviceNum ? row.serviceNum : "-" }}</span>\n </template>\n </el-table-column>\n <el-table-column :label="\'机构上门护理价\'" align="center">\n <template slot-scope="{ row }">\n <span>{{ row.projectPrice1 }}</span>\n </template>\n </el-table-column>\n <el-table-column :label="\'预计汇总价格\'" align="center">\n <template slot-scope="{ row }">\n <span>{{ expect(row.num, row.projectPrice1) }}</span>\n </template>\n </el-table-column>\n <el-table-column :label="\'实际汇总价格\'" align="center">\n <template slot-scope="{ row }">\n <span>{{ Summary(row.serviceNum, row.projectPrice1) }}</span>\n </template>\n </el-table-column>\n </el-table>\n </el-col>\n </el-row>\n </el-form>\n <div slot="footer" class="dialog-footer">\n <el-button type="primary" size="mini" @click="dialogFormVisible = false">\n 关 闭\n </el-button>\n \x3c!-- <el-button size="mini" type="primary" @click="dialogStatus === \'create\' ? createData() : updateData()">\n 确 认\n </el-button> --\x3e\n </div>\n </el-dialog>\n <el-drawer :title="drawerTitle" :visible.sync="drawer" :direction="direction" :before-close="handleClose"\n :close-on-press-escape="false" :wrapper-closable="false" size="50%">\n <div style="display: flex; margin: 10px; justify-content: end">\n <el-button type="success" size="small" @click="buttonUpload">{{drawerTitle == \'明细上传\' ? \'点击上传\' : \'点击冲正\'}}</el-button>\n </div>\n <el-table border :data="tableData" style="width: 100%" height="500" @selection-change="handleSelectionChange">\n <el-table-column type="selection" width="55" align="center" />\n <el-table-column :label="\'计划流水号\'" align="center" show-overflow-tooltip>\n <template slot-scope="{ row }">\n <span>{{ row.orderNo }}</span>\n </template>\n </el-table-column>\n <el-table-column :label="\'护理员姓名\'" align="center" show-overflow-tooltip>\n <template slot-scope="{ row }">\n <span>{{ row.personName }}</span>\n </template>\n </el-table-column>\n <el-table-column :label="\'打卡地点\'" align="center" show-overflow-tooltip>\n <template slot-scope="{ row }">\n <span>{{ row.address ? row.address : "-" }}</span>\n </template>\n </el-table-column>\n <el-table-column :label="\'打卡日期\'" align="center" show-overflow-tooltip>\n <template slot-scope="{ row }">\n <span>{{ row.clockDate ? row.clockDate : "-" }}</span>\n </template>\n </el-table-column>\n <el-table-column :label="\'上班时间\'" align="center" show-overflow-tooltip>\n <template slot-scope="{ row }">\n <span>{{ row.upCreateTime ? row.upCreateTime : "-" }}</span>\n </template>\n </el-table-column>\n <el-table-column :label="\'下班时间\'" align="center" show-overflow-tooltip>\n <template slot-scope="{ row }">\n <span>{{ row.dnCreateTime ? row.dnCreateTime : "-" }}</span>\n </template>\n </el-table-column>\n <el-table-column :label="\'上班经纬度\'" align="center">\n <template slot-scope="{ row }">\n <span>{{ row.lng }},{{ row.lat }}</span>\n </template>\n </el-table-column>\n <el-table-column :label="\'下班经纬度\'" align="center">\n <template slot-scope="{ row }">\n <span>{{ row.dnLng }},{{ row.dnLat }}</span>\n </template>\n </el-table-column>\n </el-table>\n </el-drawer>\n </div>\n</template>\n\n<script>\nimport {\n WxSettlementAdvancePage,\n WxSettlementSave,\n WxClockPage,\n WxClockNeedCZ,\n WxSettlementSubmitOneClock,\n WxSettlementCzOne,\n WxSettlementGetProjectRealityNum,\n submitnurscaretaskinfoThird,\n revokepsnsetlThird,\n predeclareThird,\n clockList,\n correctTransactionThird\n} from \'@/api/settlement\'\nimport { SysUnitAll, WxUserFamilyAll } from \'@/api/institution\'\nimport Pagination from \'@/components/Pagination\' // secondary package based on el-pagination\nexport default {\n name: \'Personnel\',\n components: { Pagination },\n filters: {},\n data() {\n return {\n customerData: [],\n institutionList: [],\n // 抽屉打卡数据\n tableData: [],\n // 抽屉方向\n direction: \'rtl\',\n // 抽屉开关\n drawer: false,\n // 抽屉标题\n drawerTitle: \'\',\n // 订单号\n orderNo: null,\n // 时间\n time: null,\n // 时间\n dateRange: null,\n // 失能等级\n familyLvData: [\n { label: \'基本正常\', value: \'01\' },\n { label: \'轻度失能\', value: \'02\' },\n { label: \'中度失能\', value: \'03\' },\n { label: \'重度失能Ⅰ级\', value: \'04\' },\n { label: \'重度失能ⅠⅠ级\', value: \'05\' },\n { label: \'重度失能ⅠⅠⅠ级\', value: \'06\' }\n ],\n NursingLoading: true,\n NursingData: [],\n dialogStatus: \'\',\n textMap: { update: \'详情\', create: \'创建\' },\n tableKey: 0,\n list: null,\n total: 0,\n listLoading: true,\n listQuery: {\n pageNo: 1,\n size: 20\n },\n dialogFormVisible: false,\n dialogPvVisible: false,\n rules: {\n status: [\n { required: true, message: \'请选择审批状态\', trigger: \'change\' }\n ],\n name: [{ required: true, message: \'请输入机构名称\', trigger: \'blur\' }],\n city: [{ required: true, message: \'请输入行政区划\', trigger: \'blur\' }],\n county: [\n { required: true, message: \'请输入所属辖区\', trigger: \'blur\' }\n ],\n address: [\n { required: true, message: \'请输入护理机构地址\', trigger: \'blur\' }\n ],\n linkMan: [{ required: true, message: \'请输入联系人\', trigger: \'blur\' }],\n linkPhoneNumber: [\n { required: true, message: \'请输入联系号码\', trigger: \'blur\' }\n ]\n },\n temp: {},\n downloadLoading: false,\n idList: []\n }\n },\n computed: {\n Summary() {\n return function (num, projectPrice1) {\n return (num * projectPrice1).toFixed(2)\n }\n },\n expect() {\n return function (num, projectPrice1) {\n return (num * projectPrice1).toFixed(2)\n }\n }\n },\n created() {\n this.getList()\n },\n methods: {\n changeTime(value) {\n if (!value || !Array.isArray(value) || value.length === 0) {\n this.listQuery.orderStartDate = \'\'\n this.listQuery.orderEndDate = \'\'\n return\n }\n this.listQuery.orderStartDate = value[0]\n this.listQuery.orderEndDate = value[1]\n // [this.listQuery.orderStartDate, this.listQuery.orderEndDate] = value;\n },\n handleClose() {\n this.drawer = false\n },\n handleSelectionChange(val) {\n this.idList = val.map((item) => {\n return item.id\n })\n },\n buttonUpload() {\n if (this.idList.length == 0) {\n return this.$notify({\n title: \'提示\',\n message: \'请选择需要上传的打卡记录\',\n type: \'warning\',\n duration: 2000\n })\n }\n if (this.drawerTitle == \'明细上传\') {\n WxSettlementSubmitOneClock({ idList: this.idList }).then((res) => {\n if (res.status == 1) {\n this.$notify({\n title: \'提示\',\n message: res.info,\n type: \'success\',\n duration: 2000\n })\n this.getList()\n WxClockPage({ orderNo: this.orderNo, pageNo: 1, size: 31 }).then(\n (res) => {\n this.tableData = res.result\n }\n )\n } else {\n this.$notify({\n title: \'提示\',\n message: res.info,\n type: \'error\',\n duration: 2000\n })\n }\n })\n } else {\n WxSettlementCzOne({ idList: this.idList }).then((res) => {\n if (res.status == 1) {\n this.$notify({\n title: \'提示\',\n message: res.info,\n type: \'success\',\n duration: 2000\n })\n this.getList()\n WxClockNeedCZ({ orderNo: this.orderNo, pageNo: 1, size: 31 }).then(\n (res) => {\n this.tableData = res.result\n }\n )\n } else {\n this.$notify({\n title: \'提示\',\n message: res.info,\n type: \'error\',\n duration: 2000\n })\n }\n })\n }\n },\n // 明细上传\n upload(row) {\n this.drawerTitle = \'明细上传\'\n this.drawer = true\n this.idList = []\n this.orderNo = row.orderNo\n WxClockPage({ orderNo: this.orderNo, pageNo: 1, size: 31 }).then(\n (res) => {\n this.tableData = res.result\n }\n )\n // submitnurscaretaskinfoThird({ orderNo: row.orderNo }).then((res) => {\n // if (res.status == 1) {\n // this.getList()\n // clockList({ orderNo: row.orderNo }).then((res) => {\n // if (res.result) {\n // this.$notify({\n // title: \'提示\',\n // message: \'该客户暂无护理明细,是否进行零结算,请谨慎操作!\',\n // type: \'success\',\n // duration: 5000\n // })\n // }\n // })\n // } else {\n // this.$notify({\n // title: \'提示\',\n // message: res.info,\n // type: \'error\',\n // duration: 2000\n // })\n // }\n // })\n },\n // 明细冲正\n rectification(row) {\n this.drawerTitle = \'明细冲正\'\n this.drawer = true\n this.idList = []\n this.orderNo = row.orderNo\n WxClockNeedCZ({ orderNo: this.orderNo, pageNo: 1, size: 31 }).then(\n (res) => {\n this.tableData = res.result\n }\n )\n // correctTransactionThird({ orderNo: row.orderNo }).then((res) => {\n // if (res.status == 1) {\n // this.getList();\n // this.$notify({\n // title: "提示",\n // message: "冲正成功",\n // type: "success",\n // duration: 2000,\n // });\n // } else {\n // this.$notify({\n // title: "提示",\n // message: res.info,\n // type: "error",\n // duration: 2000,\n // });\n // }\n // });\n },\n // 申报\n async declare(row) {\n // let uploadNum = await WxClockPage({ orderNo: row.orderNo, pageNo: 1, size: 31 });\n // let notUploadedNum = await WxClockNeedCZ({ orderNo: row.orderNo, pageNo: 1, size: 31 });\n this.$confirm(\n `已上传${row.uploadNum}条,未上传${row.notUploadedNum}条 请确认后提交`,\n \'提示\',\n {\n confirmButtonText: \'确定\',\n cancelButtonText: \'取消\',\n type: \'warning\'\n }\n )\n .then(() => {\n predeclareThird(row).then((res) => {\n if (res.status == 1) {\n this.getList()\n this.$notify({\n title: \'提示\',\n message: \'申报成功\',\n type: \'success\',\n duration: 2000\n })\n } else {\n this.$notify({\n title: \'提示\',\n message: res.info,\n type: \'error\',\n duration: 2000\n })\n }\n })\n })\n .catch(() => {\n this.$message({\n type: \'info\',\n message: \'已取消\'\n })\n })\n },\n // 撤销\n chexiao(row) {\n revokepsnsetlThird({ trtSetlId: row.trtSetlId }).then((res) => {\n if (res.status == 1) {\n this.getList()\n this.$notify({\n title: \'提示\',\n message: \'撤销成功\',\n type: \'success\',\n duration: 2000\n })\n } else {\n this.$notify({\n title: \'提示\',\n message: res.info,\n type: \'error\',\n duration: 2000\n })\n }\n })\n },\n settlement(row) {\n this.$confirm(\'此操作将结算该条记录, 是否继续?\', \'提示\', {\n confirmButtonText: \'确定\',\n cancelButtonText: \'取消\',\n type: \'warning\'\n })\n .then(() => {\n WxSettlementSave(row).then((res) => {\n if (res.status == 1) {\n this.getList()\n this.$notify({\n title: res.info,\n message: \'结算成功\',\n type: \'success\',\n duration: 2000\n })\n return\n }\n this.$notify({\n title: res.info,\n message: \'结算失败\',\n type: \'error\',\n duration: 2000\n })\n })\n })\n .catch(() => {\n this.$message({\n type: \'info\',\n message: \'已取消结算\'\n })\n })\n },\n getList() {\n this.listLoading = true\n WxSettlementAdvancePage(this.listQuery)\n .then((response) => {\n this.list = response.result.data\n this.total = response.result.count\n setTimeout(() => {\n this.listLoading = false\n }, 1.5 * 1000)\n })\n .catch((res) => {\n setTimeout(() => {\n this.listLoading = false\n }, 1.5 * 1000)\n })\n WxUserFamilyAll().then((res) => {\n this.customerData = res.result.map((item) => {\n return { label: item.name, value: item.name }\n })\n })\n SysUnitAll().then((res) => {\n this.institutionList = res.result.map((item) => {\n return { label: item.name, value: item.id }\n })\n })\n },\n handleModifyStatus(row, status) {\n this.$message({\n message: \'操作成功\',\n type: \'success\'\n })\n row.status = status\n },\n resetting(formName) {\n this.$nextTick(() => {\n this.$refs[formName].resetFields()\n this.getList()\n })\n },\n add() {\n this.dialogStatus = \'create\'\n this.dialogFormVisible = true\n this.temp = {}\n },\n onSubmit() {\n this.getList()\n },\n createData() {\n this.$refs[\'dataForm\'].validate((valid) => {\n if (valid) {\n SysUnitSave(this.temp).then((res) => {\n if (res.status == 1) {\n this.dialogFormVisible = false\n this.getList()\n this.$notify({\n title: res.info,\n message: \'新增成功\',\n type: \'success\',\n duration: 2000\n })\n return\n }\n this.$notify({\n title: res.info,\n message: \'新增失败\',\n type: \'error\',\n duration: 2000\n })\n })\n }\n })\n },\n updateData() {\n this.$refs[\'dataForm\'].validate((valid) => {\n if (valid) {\n WxClockApplyApprove(this.temp).then((res) => {\n if (res.status == 1) {\n this.dialogFormVisible = false\n this.getList()\n this.$notify({\n title: res.info,\n message: \'更新成功\',\n type: \'success\',\n duration: 2000\n })\n return\n }\n this.$notify({\n title: res.info,\n message: \'更新失败\',\n type: \'error\',\n duration: 2000\n })\n })\n }\n })\n },\n edit(row) {\n this.temp = row\n this.dialogStatus = \'update\'\n this.dialogFormVisible = true\n this.NursingLoading = true\n console.log(this.temp)\n if (\n this.temp.projectRealityList &&\n this.temp.projectRealityList.length > 0\n ) {\n this.NursingData = this.temp.projectRealityList\n } else {\n this.NursingData = []\n }\n setTimeout(() => {\n this.NursingLoading = false\n }, 1.5 * 1000)\n },\n handleDelete(row, index) {\n WxClockApplyDel({ id: row.id }).then((res) => {\n if (res.status == 1) {\n this.getList()\n this.$notify({\n title: res.info,\n message: \'删除成功\',\n type: \'success\',\n duration: 2000\n })\n return\n }\n this.$notify({\n title: res.info,\n message: \'删除失败\',\n type: \'error\',\n duration: 2000\n })\n })\n // this.list.splice(index, 1)\n }\n }\n}\n<\/script>\n<style lang="scss" scoped>\n.el-col-12 {\n padding: 0 20px 0 0;\n}\n\n.buttonList {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n\n button {\n margin: 5px;\n }\n}\n</style>\n',".el-col-12 {\n padding: 0 20px 0 0;\n}\n\n.buttonList {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n}\n.buttonList button {\n margin: 5px;\n}\n\n/*# sourceMappingURL=index.vue.map */"]},media:void 0})},__vue_scope_id__$c="data-v-6e8320de",__vue_module_identifier__$c=void 0,__vue_is_functional_template__$c=!1,__vue_component__$c=normalizeComponent({render:__vue_render__$c,staticRenderFns:__vue_staticRenderFns__$c},__vue_inject_styles__$c,__vue_script__$c,__vue_scope_id__$c,__vue_is_functional_template__$c,__vue_module_identifier__$c,!1,createInjector,void 0,void 0);var script$b={name:"Personnel",components:{Pagination:Pagination},filters:{},data:()=>({balanceData:[],startDate:[],loadExp:!1,dialogVisibleExp:!1,dialogStatus:"",textMap:{update:"结算信息",create:"对账及申报"},tableKey:0,list:null,total:0,listLoading:!0,listQuery:{pageNo:1,size:20},dialogFormVisible:!1,dialogPvVisible:!1,deltailShow:!1,rules:{status:[{required:!0,message:"请选择审批状态",trigger:"change"}],name:[{required:!0,message:"请输入机构名称",trigger:"blur"}],city:[{required:!0,message:"请输入行政区划",trigger:"blur"}],county:[{required:!0,message:"请输入所属辖区",trigger:"blur"}],address:[{required:!0,message:"请输入护理机构地址",trigger:"blur"}],linkMan:[{required:!0,message:"请输入联系人",trigger:"blur"}],linkPhoneNumber:[{required:!0,message:"请输入联系号码",trigger:"blur"}]},temp:{},downloadLoading:!1,descriptionData:[]}),created(){this.getList()},methods:{details(e){StatisticsSetlDeltais({senderTrnsSn:e.senderTrnsSn}).then(e=>{this.descriptionData=e.result.map((e,t)=>(e.sort=t+1,e)),this.deltailShow=!0})},detailsclos(){this.deltailShow=!1,this.descriptionData=[]},guanbi(){this.dialogFormVisible=!1,this.descriptionData=[]},pickerChange(e){billCheck({setlMon:e}).then(e=>{this.descriptionData=e.result.map((e,t)=>(e.sort=t+1,e))})},ReconciliationExcel(){sysTrtSetlInfo({setlMon:this.temp.unitSetlMon}).then(e=>{const t=new Blob([e]);if(t.size>0){const e=document.createElement("a");e.style.display="none",e.href=URL.createObjectURL(t),e.download=`对账信息导出/${this.$moment().format("YYYY-MM-DD")}.xlsx`,document.body.appendChild(e),e.click(),URL.revokeObjectURL(e.href),document.body.removeChild(e)}})},tableExcel(e){sysTrtSetlInfo({senderTrnsSn:e.senderTrnsSn}).then(e=>{const t=new Blob([e]);if(t.size>0){const e=document.createElement("a");e.style.display="none",e.href=URL.createObjectURL(t),e.download=`对账信息导出/${this.$moment().format("YYYY-MM-DD")}.xlsx`,document.body.appendChild(e),e.click(),URL.revokeObjectURL(e.href),document.body.removeChild(e)}})},expExcel(e){wxSettlementInfo({id:e.id,orderNo:e.orderNo}).then(e=>{const t=new Blob([e]);if(t.size>0){const e=document.createElement("a");e.style.display="none",e.href=URL.createObjectURL(t),e.download=`结算信息导出/${this.$moment().format("YYYY-MM-DD")}.xlsx`,document.body.appendChild(e),e.click(),URL.revokeObjectURL(e.href),document.body.removeChild(e)}})},expExcelForm(){try{this.loadExp=!0;const e={yearMonth:this.startDate};wxSettlementStatisticInfo(e).then(e=>{const t=new Blob([e]);if(t.size>0){const e=document.createElement("a");e.style.display="none",e.href=URL.createObjectURL(t),e.download=`结算统计导出/${this.$moment().format("YYYY-MM-DD")}.xlsx`,document.body.appendChild(e),e.click(),URL.revokeObjectURL(e.href),document.body.removeChild(e)}this.handleClose(),this.loadExp=!1}).catch(()=>{this.loadExp=!1})}catch(e){this.loadExp=!1,console.log(e)}},handleClose(){this.dialogVisibleExp=!1,this.startDate=[]},revoke(e){revokepsnsetlThird({trtSetlId:e.trtSetlId}).then(e=>{1==e.status?(this.getList(),this.$notify({title:"提示",message:"撤销成功",type:"success",duration:2e3})):this.$notify({title:"提示",message:e.info,type:"error",duration:2e3})})},getList(){this.listLoading=!0,StatisticsSetl(this.listQuery).then(e=>{this.list=e.result.data,this.total=e.result.count,setTimeout(()=>{this.listLoading=!1},1500)})},handleModifyStatus(e,t){this.$message({message:"操作成功",type:"success"}),e.status=t},resetting(e){this.$nextTick(()=>{this.$refs[e].resetFields(),this.getList()})},add(){this.dialogStatus="create",this.dialogFormVisible=!0,this.descriptionData=[],this.temp={}},onSubmit(){this.getList()},createData(){this.$refs.dataForm.validate(e=>{e&&this.$confirm("此操作将提交对账,对账之后无法进行撤回,是否提交?","提示",{confirmButtonText:"提交",cancelButtonText:"取消",type:"warning"}).then(()=>{savepsnsetlThird(this.temp).then(e=>{if(1==e.status)return this.dialogFormVisible=!1,this.getList(),void this.$notify({title:"提示",message:e.info,type:"success",duration:2e3});this.$notify({title:"提示",message:e.info,type:"error",duration:2e3})})}).catch(()=>{this.$message({type:"info",message:"已取消对账提交"})})})},updateData(){this.$refs.dataForm.validate(e=>{e&&WxClockApplyApprove(this.temp).then(e=>{if(1==e.status)return this.dialogFormVisible=!1,this.getList(),void this.$notify({title:e.info,message:"更新成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"更新失败",type:"error",duration:2e3})})})},edit(e){queryOrgSetlEvtListThird({statisticsSetlId:e.id}).then(e=>{this.balanceData=e.result,this.dialogStatus="update",this.dialogFormVisible=!0})},handleDelete(e,t){WxClockApplyDel({id:e.id}).then(e=>{if(1==e.status)return this.getList(),void this.$notify({title:e.info,message:"删除成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"删除失败",type:"error",duration:2e3})})}}};const __vue_script__$b=script$b;var __vue_render__$b=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"app-container"},[n("div",{staticClass:"filter-container"},[n("el-form",{ref:"listQuery",staticClass:"demo-form-inline",attrs:{inline:!0,model:e.listQuery}},[n("el-form-item",{attrs:{label:"月份",prop:"senderTrnsSn"}},[n("el-date-picker",{attrs:{size:"small","value-format":"yyyy-MM",type:"month",placeholder:"选择月"},model:{value:e.listQuery.unitSetlMon,callback:function(t){e.$set(e.listQuery,"unitSetlMon",t)},expression:"listQuery.unitSetlMon"}})],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"primary"},on:{click:e.onSubmit}},[e._v("查询")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"warning"},on:{click:function(t){return e.resetting("listQuery")}}},[e._v("重置")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"success"},on:{click:e.add}},[e._v("对账及申报")])],1)],1)],1),e._v(" "),n("el-table",{staticStyle:{width:"100%"},attrs:{border:"",height:"65vh",data:e.list}},[n("el-table-column",{attrs:{label:"发送方交易流水号",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.senderTrnsSn))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"对账时间",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.setlMon))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"机构结算月份",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.unitSetlMon?r.unitSetlMon:"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"长期护理保险基金支出比例",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.ltciFundPayProp?r.ltciFundPayProp:"-")+"%")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"长期护理保险基金支出",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.ltciFundPay?r.ltciFundPay:"-")+"元")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"人次合计",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.psntimeSum?r.psntimeSum:"-")+"次")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"长期护理保险总费用",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.ltciSumfee?r.ltciSumfee:"-")+"元")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"自付金额",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.selfpayAmt?r.selfpayAmt:"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"创建时间",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.createTime?r.createTime:"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"操作",align:"center",width:"250","class-name":"small-padding fixed-width"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row,l=t.$index;return[n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(t){return e.edit(r,l)}}},[e._v("\n 最新事件记录\n ")]),e._v(" "),n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(t){return e.details(r,l)}}},[e._v("\n 详情\n ")]),e._v(" "),n("el-button",{attrs:{size:"mini",type:"success"},on:{click:function(t){return e.tableExcel(r)}}},[e._v("\n 导出\n ")])]}}])})],1),e._v(" "),n("pagination",{directives:[{name:"show",rawName:"v-show",value:e.total>0,expression:"total > 0"}],attrs:{total:e.total,page:e.listQuery.pageNo,limit:e.listQuery.size},on:{"update:page":function(t){return e.$set(e.listQuery,"pageNo",t)},"update:limit":function(t){return e.$set(e.listQuery,"size",t)},pagination:e.getList}}),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:e.textMap[e.dialogStatus],visible:e.dialogFormVisible,width:"60%"},on:{"update:visible":function(t){e.dialogFormVisible=t}}},[n("el-form",{ref:"dataForm",attrs:{rules:e.rules,model:e.temp,"label-position":"right","label-width":"50px"}},[n("el-row",{attrs:{gutter:20}},["create"===e.dialogStatus?n("el-col",{attrs:{span:6}},["create"===e.dialogStatus?n("el-form-item",{staticStyle:{"margin-bottom":"0px"},attrs:{label:"月份"}},[n("el-date-picker",{staticStyle:{width:"100%"},attrs:{size:"mini",type:"month","value-format":"yyyy-MM",placeholder:"选择月"},on:{change:e.pickerChange},model:{value:e.temp.unitSetlMon,callback:function(t){e.$set(e.temp,"unitSetlMon",t)},expression:"temp.unitSetlMon"}})],1):e._e()],1):e._e(),e._v(" "),"create"===e.dialogStatus&&e.temp.unitSetlMon?n("el-col",{attrs:{span:6}},[n("el-button",{attrs:{size:"mini",type:"success"},on:{click:e.ReconciliationExcel}},[e._v("\n 导出\n ")])],1):e._e(),e._v(" "),"create"===e.dialogStatus?n("el-col",{attrs:{span:24}},[n("el-table",{staticStyle:{width:"100%"},attrs:{border:"",data:e.descriptionData,height:"400"}},[n("el-table-column",{attrs:{label:"序号",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.sort))])]}}],null,!1,3981901502)}),e._v(" "),n("el-table-column",{attrs:{label:"客户姓名",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.familyName))])]}}],null,!1,491221173)}),e._v(" "),n("el-table-column",{attrs:{label:"客户失能等级",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.familyLv))])]}}],null,!1,4149936520)}),e._v(" "),n("el-table-column",{attrs:{label:"计划开始时间",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.startDate?r.startDate:"-"))])]}}],null,!1,1300654504)}),e._v(" "),n("el-table-column",{attrs:{label:"自付金额",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.selfpayAmt?r.selfpayAmt:"0")+"元")])]}}],null,!1,3519129661)}),e._v(" "),n("el-table-column",{attrs:{label:"长期护理保险基金支出",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.ltciFundPay?r.ltciFundPay:"0")+"元")])]}}],null,!1,3463254429)}),e._v(" "),n("el-table-column",{attrs:{label:"基金支付总额",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.fundPaySumamt?r.fundPaySumamt:"0")+"元")])]}}],null,!1,1315519069)}),e._v(" "),n("el-table-column",{attrs:{label:"长期护理保险总费用",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.ltciSumfee?r.ltciSumfee:"0")+"元")])]}}],null,!1,1148910749)}),e._v(" "),n("el-table-column",{attrs:{label:"比例",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.ltciFundPayProp?r.ltciFundPayProp:"-"))])]}}],null,!1,472077096)})],1)],1):e._e(),e._v(" "),"create"!=e.dialogStatus?n("el-col",{attrs:{span:24}},[n("el-table",{staticStyle:{width:"100%"},attrs:{border:"",data:e.balanceData}},[n("el-table-column",{attrs:{label:"发送方交易流水号",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.sender_trns_sn))])]}}],null,!1,535787241)}),e._v(" "),n("el-table-column",{attrs:{label:"结算批次号",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.setl_bchno))])]}}],null,!1,3349074397)}),e._v(" "),n("el-table-column",{attrs:{label:"清算人次",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.clr_psntime?r.clr_psntime:"-"))])]}}],null,!1,2691115240)}),e._v(" "),n("el-table-column",{attrs:{label:"基金申报总额",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.fund_appy_sum?r.fund_appy_sum:"-")+"元")])]}}],null,!1,2564335488)}),e._v(" "),n("el-table-column",{attrs:{label:"医疗费总额",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.medfee_sumamt?r.medfee_sumamt:"-")+"次")])]}}],null,!1,3899027298)}),e._v(" "),n("el-table-column",{attrs:{label:"医保认可费用总额",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.hi_agre_sumfee?r.hi_agre_sumfee:"-")+"元")])]}}],null,!1,2689516416)}),e._v(" "),n("el-table-column",{attrs:{label:"创建时间",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.crte_time?r.crte_time:"-"))])]}}],null,!1,154628584)})],1)],1):e._e()],1)],1),e._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{type:"primary",size:"mini"},on:{click:e.guanbi}},[e._v("\n 关 闭\n ")]),e._v(" "),"create"===e.dialogStatus?n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(t){"create"===e.dialogStatus?e.createData():e.updateData()}}},[e._v("\n "+e._s("create"===e.dialogStatus?"确认对账数据":"确 认")+"\n ")]):e._e()],1)],1),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"详情",visible:e.deltailShow,width:"60%"},on:{"update:visible":function(t){e.deltailShow=t}}},[n("el-form",{attrs:{model:e.temp,"label-position":"right","label-width":"50px"}},[n("el-row",{attrs:{gutter:20}},[n("el-col",{attrs:{span:24}},[n("el-table",{staticStyle:{width:"100%"},attrs:{border:"",data:e.descriptionData,height:"400"}},[n("el-table-column",{attrs:{label:"序号",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.sort))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"客户姓名",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.familyName))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"客户失能等级",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.familyLv))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"计划开始时间",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.startDate?r.startDate:"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"自付金额",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.selfpayAmt?r.selfpayAmt:"0")+"元")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"长期护理保险基金支出",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.ltciFundPay?r.ltciFundPay:"0")+"元")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"基金支付总额",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.fundPaySumamt?r.fundPaySumamt:"0")+"元")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"长期护理保险总费用",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.ltciSumfee?r.ltciSumfee:"0")+"元")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"比例",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.ltciFundPayProp?r.ltciFundPayProp:"-"))])]}}])})],1)],1)],1)],1),e._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{type:"primary",size:"mini"},on:{click:e.detailsclos}},[e._v("\n 关 闭\n ")])],1)],1)],1)},__vue_staticRenderFns__$b=[];__vue_render__$b._withStripped=!0;const __vue_inject_styles__$b=function(e){e&&e("data-v-21366290_0",{source:".el-col-12[data-v-21366290] {\n padding: 0 20px 0 0;\n}\n\n/*# sourceMappingURL=index.vue.map */",map:{version:3,sources:["E:\\公司项目\\changhuxianlocal\\changhuxian-vue-components\\src\\pages\\SettlementManagement\\reconciliation\\index.vue","index.vue"],names:[],mappings:"AA8qBA;EACA,mBAAA;AC7qBA;;AAEA,oCAAoC",file:"index.vue",sourcesContent:['<template>\r\n <div class="app-container">\r\n <div class="filter-container">\r\n <el-form\r\n ref="listQuery"\r\n :inline="true"\r\n :model="listQuery"\r\n class="demo-form-inline"\r\n >\r\n <el-form-item label="月份" prop="senderTrnsSn">\r\n <el-date-picker\r\n v-model="listQuery.unitSetlMon"\r\n size="small"\r\n value-format="yyyy-MM"\r\n type="month"\r\n placeholder="选择月"\r\n />\r\n \x3c!-- <el-input size="small" v-model="listQuery.senderTrnsSn" placeholder="请输入交易流水号"></el-input> --\x3e\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button\r\n size="small"\r\n type="primary"\r\n @click="onSubmit"\r\n >查询</el-button>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button\r\n size="small"\r\n type="warning"\r\n @click="resetting(\'listQuery\')"\r\n >重置</el-button>\r\n </el-form-item>\r\n \x3c!-- <el-form-item>\r\n <el-button size="small" type="primary" @click="dialogVisibleExp = true">导出</el-button>\r\n </el-form-item> --\x3e\r\n <el-form-item>\r\n <el-button\r\n size="small"\r\n type="success"\r\n @click="add"\r\n >对账及申报</el-button>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n <el-table border height="65vh" :data="list" style="width: 100%">\r\n <el-table-column :label="\'发送方交易流水号\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.senderTrnsSn }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'对账时间\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.setlMon }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'机构结算月份\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.unitSetlMon ? row.unitSetlMon : "-" }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'长期护理保险基金支出比例\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.ltciFundPayProp ? row.ltciFundPayProp : "-" }}%</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'长期护理保险基金支出\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.ltciFundPay ? row.ltciFundPay : "-" }}元</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'人次合计\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.psntimeSum ? row.psntimeSum : "-" }}次</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'长期护理保险总费用\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.ltciSumfee ? row.ltciSumfee : "-" }}元</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'自付金额\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.selfpayAmt ? row.selfpayAmt : "-" }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'创建时间\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.createTime ? row.createTime : "-" }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column\r\n :label="\'操作\'"\r\n align="center"\r\n width="250"\r\n class-name="small-padding fixed-width"\r\n >\r\n <template slot-scope="{ row, $index }">\r\n <el-button size="mini" type="primary" @click="edit(row, $index)">\r\n 最新事件记录\r\n </el-button>\r\n <el-button size="mini" type="primary" @click="details(row, $index)">\r\n 详情\r\n </el-button>\r\n <el-button size="mini" type="success" @click="tableExcel(row)">\r\n 导出\r\n </el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <pagination\r\n v-show="total > 0"\r\n :total="total"\r\n :page.sync="listQuery.pageNo"\r\n :limit.sync="listQuery.size"\r\n @pagination="getList"\r\n />\r\n <el-dialog\r\n :close-on-click-modal="false"\r\n :close-on-press-escape="false"\r\n :title="textMap[dialogStatus]"\r\n :visible.sync="dialogFormVisible"\r\n width="60%"\r\n >\r\n <el-form\r\n ref="dataForm"\r\n :rules="rules"\r\n :model="temp"\r\n label-position="right"\r\n label-width="50px"\r\n >\r\n <el-row :gutter="20">\r\n <el-col v-if="dialogStatus === \'create\'" :span="6">\r\n <el-form-item\r\n v-if="dialogStatus === \'create\'"\r\n style="margin-bottom: 0px"\r\n label="月份"\r\n >\r\n <el-date-picker\r\n v-model="temp.unitSetlMon"\r\n size="mini"\r\n style="width: 100%"\r\n type="month"\r\n value-format="yyyy-MM"\r\n placeholder="选择月"\r\n @change="pickerChange"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col v-if="dialogStatus === \'create\' && temp.unitSetlMon" :span="6">\r\n <el-button size="mini" type="success" @click="ReconciliationExcel">\r\n 导出\r\n </el-button>\r\n </el-col>\r\n <el-col v-if="dialogStatus === \'create\'" :span="24">\r\n <el-table\r\n border\r\n :data="descriptionData"\r\n style="width: 100%"\r\n height="400"\r\n >\r\n <el-table-column :label="\'序号\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.sort }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'客户姓名\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.familyName }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'客户失能等级\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.familyLv }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'计划开始时间\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.startDate ? row.startDate : "-" }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'自付金额\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.selfpayAmt ? row.selfpayAmt : "0" }}元</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'长期护理保险基金支出\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.ltciFundPay ? row.ltciFundPay : "0" }}元</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'基金支付总额\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.fundPaySumamt ? row.fundPaySumamt : "0" }}元</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'长期护理保险总费用\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.ltciSumfee ? row.ltciSumfee : "0" }}元</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'比例\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{\r\n row.ltciFundPayProp ? row.ltciFundPayProp : "-"\r\n }}</span>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n </el-col>\r\n <el-col v-if="dialogStatus != \'create\'" :span="24">\r\n <el-table border :data="balanceData" style="width: 100%">\r\n <el-table-column :label="\'发送方交易流水号\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.sender_trns_sn }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'结算批次号\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.setl_bchno }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'清算人次\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.clr_psntime ? row.clr_psntime : "-" }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'基金申报总额\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.fund_appy_sum ? row.fund_appy_sum : "-" }}元</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'医疗费总额\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.medfee_sumamt ? row.medfee_sumamt : "-" }}次</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'医保认可费用总额\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.hi_agre_sumfee ? row.hi_agre_sumfee : "-" }}元</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'创建时间\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.crte_time ? row.crte_time : "-" }}</span>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <div slot="footer" class="dialog-footer">\r\n <el-button type="primary" size="mini" @click="guanbi">\r\n 关 闭\r\n </el-button>\r\n <el-button\r\n v-if="dialogStatus === \'create\'"\r\n size="mini"\r\n type="primary"\r\n @click="dialogStatus === \'create\' ? createData() : updateData()"\r\n >\r\n {{ dialogStatus === "create" ? "确认对账数据" : "确 认" }}\r\n </el-button>\r\n </div>\r\n </el-dialog>\r\n\r\n <el-dialog\r\n :close-on-click-modal="false"\r\n :close-on-press-escape="false"\r\n :title="\'详情\'"\r\n :visible.sync="deltailShow"\r\n width="60%"\r\n >\r\n <el-form :model="temp" label-position="right" label-width="50px">\r\n <el-row :gutter="20">\r\n <el-col :span="24">\r\n <el-table\r\n border\r\n :data="descriptionData"\r\n style="width: 100%"\r\n height="400"\r\n >\r\n <el-table-column :label="\'序号\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.sort }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'客户姓名\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.familyName }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'客户失能等级\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.familyLv }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'计划开始时间\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.startDate ? row.startDate : "-" }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'自付金额\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.selfpayAmt ? row.selfpayAmt : "0" }}元</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'长期护理保险基金支出\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.ltciFundPay ? row.ltciFundPay : "0" }}元</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'基金支付总额\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.fundPaySumamt ? row.fundPaySumamt : "0" }}元</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'长期护理保险总费用\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.ltciSumfee ? row.ltciSumfee : "0" }}元</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'比例\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{\r\n row.ltciFundPayProp ? row.ltciFundPayProp : "-"\r\n }}</span>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <div slot="footer" class="dialog-footer">\r\n <el-button type="primary" size="mini" @click="detailsclos">\r\n 关 闭\r\n </el-button>\r\n </div>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport {\r\n revokepsnsetlThird,\r\n billCheck,\r\n wxSettlementInfo,\r\n wxSettlementStatisticInfo,\r\n StatisticsSetl,\r\n savepsnsetlThird,\r\n queryOrgSetlEvtListThird,\r\n StatisticsSetlDeltais,\r\n sysTrtSetlInfo\r\n} from \'@/api/settlement\'\r\nimport Pagination from \'@/components/Pagination\' // secondary package based on el-pagination\r\nexport default {\r\n name: \'Personnel\',\r\n components: { Pagination },\r\n filters: {},\r\n data() {\r\n return {\r\n balanceData: [],\r\n startDate: [],\r\n loadExp: false,\r\n dialogVisibleExp: false,\r\n dialogStatus: \'\',\r\n textMap: { update: \'结算信息\', create: \'对账及申报\' },\r\n tableKey: 0,\r\n list: null,\r\n total: 0,\r\n listLoading: true,\r\n listQuery: {\r\n pageNo: 1,\r\n size: 20\r\n },\r\n dialogFormVisible: false,\r\n dialogPvVisible: false,\r\n deltailShow: false,\r\n rules: {\r\n status: [\r\n { required: true, message: \'请选择审批状态\', trigger: \'change\' }\r\n ],\r\n name: [{ required: true, message: \'请输入机构名称\', trigger: \'blur\' }],\r\n city: [{ required: true, message: \'请输入行政区划\', trigger: \'blur\' }],\r\n county: [\r\n { required: true, message: \'请输入所属辖区\', trigger: \'blur\' }\r\n ],\r\n address: [\r\n { required: true, message: \'请输入护理机构地址\', trigger: \'blur\' }\r\n ],\r\n linkMan: [{ required: true, message: \'请输入联系人\', trigger: \'blur\' }],\r\n linkPhoneNumber: [\r\n { required: true, message: \'请输入联系号码\', trigger: \'blur\' }\r\n ]\r\n },\r\n temp: {},\r\n downloadLoading: false,\r\n descriptionData: []\r\n }\r\n },\r\n created() {\r\n this.getList()\r\n },\r\n methods: {\r\n details(row) {\r\n StatisticsSetlDeltais({ senderTrnsSn: row.senderTrnsSn }).then((res) => {\r\n this.descriptionData = res.result.map((item, index) => {\r\n item.sort = index + 1\r\n return item\r\n })\r\n this.deltailShow = true\r\n })\r\n },\r\n detailsclos() {\r\n this.deltailShow = false\r\n this.descriptionData = []\r\n },\r\n guanbi() {\r\n this.dialogFormVisible = false\r\n this.descriptionData = []\r\n },\r\n pickerChange(value) {\r\n billCheck({ setlMon: value }).then((res) => {\r\n // this.descriptionData = res.result\r\n this.descriptionData = res.result.map((item, index) => {\r\n item.sort = index + 1\r\n return item\r\n })\r\n })\r\n },\r\n ReconciliationExcel() {\r\n sysTrtSetlInfo({ setlMon: this.temp.unitSetlMon }).then((res) => {\r\n const blob = new Blob([res])\r\n const fileName = \'对账信息导出\'\r\n if (blob.size > 0) {\r\n const elink = document.createElement(\'a\')\r\n elink.style.display = \'none\'\r\n elink.href = URL.createObjectURL(blob)\r\n // 类似a标签下载\r\n // 自定义文件名称和导出类型。最好和后台保持一致\r\n elink.download = `${fileName}/${this.$moment().format(\'YYYY-MM-DD\')}.xlsx`\r\n document.body.appendChild(elink)\r\n elink.click()\r\n // 释放URL 对象\r\n URL.revokeObjectURL(elink.href)\r\n // 删除创建的 a 标签\r\n document.body.removeChild(elink)\r\n }\r\n })\r\n },\r\n tableExcel(row) {\r\n sysTrtSetlInfo({ senderTrnsSn: row.senderTrnsSn }).then((res) => {\r\n const blob = new Blob([res])\r\n const fileName = \'对账信息导出\'\r\n if (blob.size > 0) {\r\n const elink = document.createElement(\'a\')\r\n elink.style.display = \'none\'\r\n elink.href = URL.createObjectURL(blob)\r\n // 类似a标签下载\r\n // 自定义文件名称和导出类型。最好和后台保持一致\r\n elink.download = `${fileName}/${this.$moment().format(\'YYYY-MM-DD\')}.xlsx`\r\n document.body.appendChild(elink)\r\n elink.click()\r\n // 释放URL 对象\r\n URL.revokeObjectURL(elink.href)\r\n // 删除创建的 a 标签\r\n document.body.removeChild(elink)\r\n }\r\n })\r\n },\r\n expExcel(row) {\r\n wxSettlementInfo({ id: row.id, orderNo: row.orderNo }).then((res) => {\r\n const blob = new Blob([res])\r\n const fileName = \'结算信息导出\'\r\n if (blob.size > 0) {\r\n const elink = document.createElement(\'a\')\r\n elink.style.display = \'none\'\r\n elink.href = URL.createObjectURL(blob)\r\n // 类似a标签下载\r\n // 自定义文件名称和导出类型。最好和后台保持一致\r\n elink.download = `${fileName}/${this.$moment().format(\r\n \'YYYY-MM-DD\'\r\n )}.xlsx`\r\n document.body.appendChild(elink)\r\n elink.click()\r\n // 释放URL 对象\r\n URL.revokeObjectURL(elink.href)\r\n // 删除创建的 a 标签\r\n document.body.removeChild(elink)\r\n }\r\n })\r\n },\r\n expExcelForm() {\r\n try {\r\n this.loadExp = true\r\n const form = {\r\n yearMonth: this.startDate\r\n // endDate: this.startDate[1],\r\n }\r\n wxSettlementStatisticInfo(form)\r\n .then((res) => {\r\n const blob = new Blob([res])\r\n const fileName = \'结算统计导出\'\r\n if (blob.size > 0) {\r\n const elink = document.createElement(\'a\')\r\n elink.style.display = \'none\'\r\n elink.href = URL.createObjectURL(blob)\r\n // 类似a标签下载\r\n // 自定义文件名称和导出类型。最好和后台保持一致\r\n elink.download = `${fileName}/${this.$moment().format(\r\n \'YYYY-MM-DD\'\r\n )}.xlsx`\r\n document.body.appendChild(elink)\r\n elink.click()\r\n // 释放URL 对象\r\n URL.revokeObjectURL(elink.href)\r\n // 删除创建的 a 标签\r\n document.body.removeChild(elink)\r\n }\r\n this.handleClose()\r\n this.loadExp = false\r\n })\r\n .catch(() => {\r\n this.loadExp = false\r\n })\r\n } catch (e) {\r\n this.loadExp = false\r\n console.log(e)\r\n }\r\n },\r\n handleClose() {\r\n this.dialogVisibleExp = false\r\n this.startDate = []\r\n },\r\n // 撤销\r\n revoke(row) {\r\n revokepsnsetlThird({ trtSetlId: row.trtSetlId }).then((res) => {\r\n if (res.status == 1) {\r\n this.getList()\r\n this.$notify({\r\n title: \'提示\',\r\n message: \'撤销成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n } else {\r\n this.$notify({\r\n title: \'提示\',\r\n message: res.info,\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n }\r\n })\r\n },\r\n getList() {\r\n this.listLoading = true\r\n StatisticsSetl(this.listQuery).then((response) => {\r\n this.list = response.result.data\r\n this.total = response.result.count\r\n setTimeout(() => {\r\n this.listLoading = false\r\n }, 1.5 * 1000)\r\n })\r\n },\r\n handleModifyStatus(row, status) {\r\n this.$message({\r\n message: \'操作成功\',\r\n type: \'success\'\r\n })\r\n row.status = status\r\n },\r\n resetting(formName) {\r\n this.$nextTick(() => {\r\n this.$refs[formName].resetFields()\r\n this.getList()\r\n })\r\n },\r\n add() {\r\n this.dialogStatus = \'create\'\r\n this.dialogFormVisible = true\r\n this.descriptionData = []\r\n this.temp = {}\r\n },\r\n onSubmit() {\r\n this.getList()\r\n },\r\n createData() {\r\n this.$refs[\'dataForm\'].validate((valid) => {\r\n if (valid) {\r\n this.$confirm(\r\n \'此操作将提交对账,对账之后无法进行撤回,是否提交?\',\r\n \'提示\',\r\n {\r\n confirmButtonText: \'提交\',\r\n cancelButtonText: \'取消\',\r\n type: \'warning\'\r\n }\r\n )\r\n .then(() => {\r\n savepsnsetlThird(this.temp).then((res) => {\r\n if (res.status == 1) {\r\n this.dialogFormVisible = false\r\n this.getList()\r\n this.$notify({\r\n title: \'提示\',\r\n message: res.info,\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: \'提示\',\r\n message: res.info,\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n })\r\n .catch(() => {\r\n this.$message({\r\n type: \'info\',\r\n message: \'已取消对账提交\'\r\n })\r\n })\r\n }\r\n })\r\n },\r\n updateData() {\r\n this.$refs[\'dataForm\'].validate((valid) => {\r\n if (valid) {\r\n WxClockApplyApprove(this.temp).then((res) => {\r\n if (res.status == 1) {\r\n this.dialogFormVisible = false\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'更新成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'更新失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n }\r\n })\r\n },\r\n edit(row) {\r\n queryOrgSetlEvtListThird({ statisticsSetlId: row.id }).then((res) => {\r\n this.balanceData = res.result\r\n this.dialogStatus = \'update\'\r\n this.dialogFormVisible = true\r\n })\r\n },\r\n handleDelete(row, index) {\r\n WxClockApplyDel({ id: row.id }).then((res) => {\r\n if (res.status == 1) {\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'删除成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'删除失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n // this.list.splice(index, 1)\r\n }\r\n }\r\n}\r\n<\/script>\r\n<style lang="scss" scoped>\r\n.el-col-12 {\r\n padding: 0 20px 0 0;\r\n}\r\n</style>\r\n',".el-col-12 {\n padding: 0 20px 0 0;\n}\n\n/*# sourceMappingURL=index.vue.map */"]},media:void 0})},__vue_scope_id__$b="data-v-21366290",__vue_module_identifier__$b=void 0,__vue_is_functional_template__$b=!1,__vue_component__$b=normalizeComponent({render:__vue_render__$b,staticRenderFns:__vue_staticRenderFns__$b},__vue_inject_styles__$b,__vue_script__$b,__vue_scope_id__$b,__vue_is_functional_template__$b,__vue_module_identifier__$b,!1,createInjector,void 0,void 0);var commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function getDefaultExportFromCjs(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var dist={exports:{}};dist.exports=function(){function e(e){var r=[];return e.AMapUI&&r.push(t(e.AMapUI)),e.Loca&&r.push(n(e.Loca)),Promise.all(r)}function t(e){return new Promise(function(t,n){var l=[];if(e.plugins)for(var o=0;o<e.plugins.length;o+=1)-1==i.AMapUI.plugins.indexOf(e.plugins[o])&&l.push(e.plugins[o]);if(a.AMapUI===r.failed)n("前次请求 AMapUI 失败");else if(a.AMapUI===r.notload){a.AMapUI=r.loading,i.AMapUI.version=e.version||i.AMapUI.version,o=i.AMapUI.version;var c=document.body||document.head,d=document.createElement("script");d.type="text/javascript",d.src="https://webapi.amap.com/ui/"+o+"/main.js",d.onerror=function(e){a.AMapUI=r.failed,n("请求 AMapUI 失败")},d.onload=function(){if(a.AMapUI=r.loaded,l.length)window.AMapUI.loadUI(l,function(){for(var e=0,n=l.length;e<n;e++){var r=l[e].split("/").slice(-1)[0];window.AMapUI[r]=arguments[e]}for(t();s.AMapUI.length;)s.AMapUI.splice(0,1)[0]()});else for(t();s.AMapUI.length;)s.AMapUI.splice(0,1)[0]()},c.appendChild(d)}else a.AMapUI===r.loaded?e.version&&e.version!==i.AMapUI.version?n("不允许多个版本 AMapUI 混用"):l.length?window.AMapUI.loadUI(l,function(){for(var e=0,n=l.length;e<n;e++){var r=l[e].split("/").slice(-1)[0];window.AMapUI[r]=arguments[e]}t()}):t():e.version&&e.version!==i.AMapUI.version?n("不允许多个版本 AMapUI 混用"):s.AMapUI.push(function(e){e?n(e):l.length?window.AMapUI.loadUI(l,function(){for(var e=0,n=l.length;e<n;e++){var r=l[e].split("/").slice(-1)[0];window.AMapUI[r]=arguments[e]}t()}):t()})})}function n(e){return new Promise(function(t,n){if(a.Loca===r.failed)n("前次请求 Loca 失败");else if(a.Loca===r.notload){a.Loca=r.loading,i.Loca.version=e.version||i.Loca.version;var l=i.Loca.version,o=i.AMap.version.startsWith("2"),c=l.startsWith("2");if(o&&!c||!o&&c)n("JSAPI 与 Loca 版本不对应!!");else{o=i.key,c=document.body||document.head;var d=document.createElement("script");d.type="text/javascript",d.src="https://webapi.amap.com/loca?v="+l+"&key="+o,d.onerror=function(e){a.Loca=r.failed,n("请求 AMapUI 失败")},d.onload=function(){for(a.Loca=r.loaded,t();s.Loca.length;)s.Loca.splice(0,1)[0]()},c.appendChild(d)}}else a.Loca===r.loaded?e.version&&e.version!==i.Loca.version?n("不允许多个版本 Loca 混用"):t():e.version&&e.version!==i.Loca.version?n("不允许多个版本 Loca 混用"):s.Loca.push(function(e){e?n(e):n()})})}if(!window)throw Error("AMap JSAPI can only be used in Browser.");var r,l;(l=r||(r={})).notload="notload",l.loading="loading",l.loaded="loaded",l.failed="failed";var i={key:"",AMap:{version:"1.4.15",plugins:[]},AMapUI:{version:"1.1",plugins:[]},Loca:{version:"1.3.2"}},a={AMap:r.notload,AMapUI:r.notload,Loca:r.notload},s={AMap:[],AMapUI:[],Loca:[]},o=[],c=function(e){"function"==typeof e&&(a.AMap===r.loaded?e(window.AMap):o.push(e))};return{load:function(t){return new Promise(function(n,l){if(a.AMap==r.failed)l("");else if(a.AMap==r.notload){var s=t.key,d=t.version,p=t.plugins;s?(window.AMap&&"lbs.amap.com"!==location.host&&l("禁止多种API加载方式混用"),i.key=s,i.AMap.version=d||i.AMap.version,i.AMap.plugins=p||i.AMap.plugins,a.AMap=r.loading,d=document.body||document.head,window.___onAPILoaded=function(i){if(delete window.___onAPILoaded,i)a.AMap=r.failed,l(i);else for(a.AMap=r.loaded,e(t).then(function(){n(window.AMap)}).catch(l);o.length;)o.splice(0,1)[0]()},(p=document.createElement("script")).type="text/javascript",p.src="https://webapi.amap.com/maps?callback=___onAPILoaded&v="+i.AMap.version+"&key="+s+"&plugin="+i.AMap.plugins.join(","),p.onerror=function(e){a.AMap=r.failed,l(e)},d.appendChild(p)):l("请填写key")}else if(a.AMap==r.loaded)if(t.key&&t.key!==i.key)l("多个不一致的 key");else if(t.version&&t.version!==i.AMap.version)l("不允许多个版本 JSAPI 混用");else{if(s=[],t.plugins)for(d=0;d<t.plugins.length;d+=1)-1==i.AMap.plugins.indexOf(t.plugins[d])&&s.push(t.plugins[d]);s.length?window.AMap.plugin(s,function(){e(t).then(function(){n(window.AMap)}).catch(l)}):e(t).then(function(){n(window.AMap)}).catch(l)}else if(t.key&&t.key!==i.key)l("多个不一致的 key");else if(t.version&&t.version!==i.AMap.version)l("不允许多个版本 JSAPI 混用");else{var m=[];if(t.plugins)for(d=0;d<t.plugins.length;d+=1)-1==i.AMap.plugins.indexOf(t.plugins[d])&&m.push(t.plugins[d]);c(function(){m.length?window.AMap.plugin(m,function(){e(t).then(function(){n(window.AMap)}).catch(l)}):e(t).then(function(){n(window.AMap)}).catch(l)})}})},reset:function(){delete window.AMap,delete window.AMapUI,delete window.Loca,i={key:"",AMap:{version:"1.4.15",plugins:[]},AMapUI:{version:"1.1",plugins:[]},Loca:{version:"1.3.2"}},a={AMap:r.notload,AMapUI:r.notload,Loca:r.notload},s={AMap:[],AMapUI:[],Loca:[]}}}}();var distExports=dist.exports,AMapLoader=getDefaultExportFromCjs(distExports);function init(key,callbackName){window.qq=window.qq||{},qq.maps=qq.maps||{},qq.maps.__load=function(e){delete qq.maps.__load,e([["2.4.71",key,0],["open.map.qq.com/","apifiles/2/4/71/mods/","open.map.qq.com/apifiles/2/4/71/theme/",!0],[1,18,34.519469,104.461761,4],[1503391264452,"pr.map.qq.com/pingd","pr.map.qq.com/pingd"],["apis.map.qq.com/jsapi","apikey.map.qq.com/mkey/index.php/mkey/check","sv.map.qq.com/xf","sv.map.qq.com/boundinfo","sv.map.qq.com/rarp","apis.map.qq.com/api/proxy/search","apis.map.qq.com/api/proxy/routes/","confinfo.map.qq.com/confinfo"],[[null,["rt0.map.gtimg.com/tile","rt1.map.gtimg.com/tile","rt2.map.gtimg.com/tile","rt3.map.gtimg.com/tile"],"png",[256,256],3,19,"114",!0,!1],[null,["m0.map.gtimg.com/hwap","m1.map.gtimg.com/hwap","m2.map.gtimg.com/hwap","m3.map.gtimg.com/hwap"],"png",[128,128],3,18,"110",!1,!1],[null,["p0.map.gtimg.com/sateTiles","p1.map.gtimg.com/sateTiles","p2.map.gtimg.com/sateTiles","p3.map.gtimg.com/sateTiles"],"jpg",[256,256],1,19,"101",!1,!1],[null,["rt0.map.gtimg.com/tile","rt1.map.gtimg.com/tile","rt2.map.gtimg.com/tile","rt3.map.gtimg.com/tile"],"png",[256,256],1,19,"",!1,!1],[null,["sv0.map.qq.com/hlrender/","sv1.map.qq.com/hlrender/","sv2.map.qq.com/hlrender/","sv3.map.qq.com/hlrender/"],"png",[256,256],1,19,"",!1,!1],[null,["rtt2.map.qq.com/rtt/","rtt2a.map.qq.com/rtt/","rtt2b.map.qq.com/rtt/","rtt2c.map.qq.com/rtt/"],"png",[256,256],1,19,"",!1,!1],null,[["rt0.map.gtimg.com/vector/","rt1.map.gtimg.com/vector/","rt2.map.gtimg.com/vector/","rt3.map.gtimg.com/vector/"],[256,256],3,18,"114",["rt0.map.gtimg.com/icons/","rt1.map.gtimg.com/icons/","rt2.map.gtimg.com/icons/","rt3.map.gtimg.com/icons/"]],null],["s.map.qq.com/TPano/v1.1.2/TPano.js","map.qq.com/",callbackName]],loadScriptTime)};var loadScriptTime=(new Date).getTime();!function(){function Bh(e,t){var n;return kf?n=Yf(e).__events_:(e.__events_||(e.__events_={}),n=e.__events_),n[t]||(n[t]={}),n[t]}function Yf(e){var t;return e&&e.__oid_&&(t=Q.eventObjects[e.__oid_]),!t&&e&&(e.__oid_=++sj,t={__events_:{}},Q.eventObjects[e.__oid_]=t),t}function ke(e,t){var n,r={};if(kf?(n=Yf(e))&&(r=n.__events_):r=e.__events_||{},t)n=r[t]||{};else for(t in n={},r)tj(n,r[t]);return n}function uj(e){return t=e.handler,e.bindHandler=function(n){if((n=n||window.event)&&!n.target)try{n.target=n.srcElement}catch(e){}var r=t.apply(e.instance,[n]);return(!n||"click"!=n.type||!(n=n.srcElement)||"A"!=n.tagName||"javascript:void(0)"!=n.href)&&r};var t}function vj(e){e.returnValue=!0}function Zf(e,t,n){return function(){for(var r=[t,e],l=arguments.length,i=0;i<l;++i)r.push(arguments[i]);Q.trigger.apply(this,r),n&&vj.apply(null,arguments)}}function wj(e,t){return function(){var n=Array.prototype.slice.call(arguments,0);n.push(this),t.apply(e,n)}}function Jc(e,t,n,r){this.instance=e,this.eventName=t,this.handler=n,this.bindHandler=null,this.browser=r,this.id=++xj,Bh(e,t)[this.id]=this,kf&&"tagName"in e&&(Q.listeners[this.id]=this)}function $f(e){this.grids=e}function yj(e,t){for(var n="https:"==window.location.protocol?"https://":"http://",r=1;r<e.length;r++){var l=e[r];if(l)switch(r){case 1:l[0]&&!Vc(l[0])&&(e[r][0]=n+l[0]),l[2]&&!Vc(l[2])&&(e[r][2]=n+l[2]);break;case 3:l[1]&&!Vc(l[1])&&(e[r][1]=n+l[1]),l[2]&&!Vc(l[2])&&(e[r][2]=n+l[2]);break;case 4:e[r]=hc(l,n);break;case 5:for(var i=0;i<l.length;i++){var a=l[i];a&&(7===i?(e[r][i][0]=hc(a[0],n),e[r][i][5]=hc(a[5],n)):e[r][i][1]=hc(a[1],n))}break;case 6:l[0]&&!Vc(l[0])&&(e[r][0]=n+l[0]),l[1]&&!Vc(l[1])&&(e[r][1]=n+l[1])}}Ch[0]=e,Dh[1]=t}function Vc(e){return e&&(0===e.indexOf("http://")||0===e.indexOf("https://"))}function hc(e,t){for(var n=0;n<e.length;n++)e[n]&&!Vc(e[n])&&(e[n]=t+e[n]);return e}function zj(){}function Eh(e){for(var t=Aj,n=0;Xa[n]&&0<=(t-=Xa[n][2]);)n++;0==n?Xa.length&&Xa.shift():(0<(t=Xa.splice(0,n)).length&&Bj(t,e),0<Xa.length&&Eh(e))}function Bj(e,t){var n=[Fh];n.push("logid="+(t?2:1)),Cj(e,function(e){n.push(e[0]+"="+e[1])});var r=n.join("&");Dj(r)}function Ej(e,t){if(Fj(e)){for(var n in e)if(e.hasOwnProperty(n)){var r=e[n]+"";Xa.push([n,r,n.length+r+2])}}else Gj(t)||(t+=""),Xa.push([e,t,e.length+t.length+2])}function mf(e){Gh.trigger(ag,"submit",Ej,e),Eh(e)}function Hh(e,t){-180==e&&180!=t&&(e=180),-180==t&&180!=e&&(t=180),this.minX=e,this.maxX=t}function Ih(e,t){this.minY=e,this.maxY=t}function Jh(){"complete"==lb.readyState&&(lb.detachEvent("onreadystatechange",Jh),na.fireReady())}function Kh(){lb.removeEventListener("DOMContentLoaded",Kh,!1),na.fireReady()}function Hj(e,t){var n=document.getElementsByTagName("head")[0],r='<script src="'+e+'" '+Md+'="this.ownerDocument.z = 1"><\/script>',l=le.createElement("iframe");l.style.display="none",n.appendChild(l);var i=l.contentDocument;l.onload=function(){1!=i.z&&t&&t(),l.onload=null,n.removeChild(this)};try{i.write(r),i.close()}catch(e){}n=null}function Ij(e,t,n,r,l){var i=le.createElement("script");me.push({name:e,sender:i}),i.setAttribute("type","text/javascript"),i.setAttribute("charset",l||"GBK"),i.async=!0;var a=null,s=!1;i[Md]=function(){Jj.test(this.readyState)&&(hd(e),a?n&&n(a):s||r&&r())},id[e]=function(e){a=e},i.onerror=function(){s=!0,r&&r(),hd(e)},l=["output=jsonp","pf=jsapi","ref=jsapi","cb="+Kj+"."+e],Lh&&l.unshift("key="+Lh),l=t+(-1===t.indexOf("?")?"?":"&")+l.join("&"),i.src=l,Lj&&Hj(t,function(){i.onerror()}),(t=document.getElementsByTagName("head")[0]).insertBefore(i,t.firstChild),t=null}function hd(e){if(e){for(var t=0,n=me.length,r=null;t<n;t++)if(me[t].name===e){r=me.splice(t,1)[0];break}r&&((t=r.sender).clearAttributes&&t.clearAttributes(),t[Md]=t.onerror=null,t.parentNode&&t.parentNode.removeChild(t)),id[e]&&delete id[e]}}function ic(e,t,n,r,l,i){this.latLng=e,this.pixel=t,this.cursorPixel=i||t,this.type=n,this.target=r,this.__event__=l}function Ta(e){return e.__o_accessors_||(e.__o_accessors_={})}function Ub(e,t){e[n=Kc(t)]?e[n]():e.changed(t);var n=Kc(t.toLowerCase()),r=new Mj(void 0,void 0,n,e,void 0);ne.trigger(e,n,r)}function Nj(e,t,n,r,l){Ta(e)[t]={target:n,targetKey:r},l||Ub(e,t)}function He(e){return e.__o_bindings_||(e.__o_bindings_={}),e.__o_bindings_}function Kc(e){return Mh[e]||(Mh[e]=e+"_changed")}function k(){}function Nh(e,t){for(var n={},r=0,l=e.length;r<l;r+=2){var i=e[r+1];Oj(i)&&t?n[e[r]]=Nh(i,t):n[e[r]]=i}return n}function Pj(e){return"object"==typeof e&&e?(e.__sm_id||(e.__sm_id=++Qj),""+e.__sm_id):""+e}function oe(e){this.hash=e||Pj,this.items={},this.length=0}function Rj(e){return function(){return this.get(e)}}function Sj(e,t){return t?function(n){t(n)||Tj(e,n),this.set(e,n)}:function(t){this.set(e,t)}}function Nd(){}function pe(){}function R(e,t){this.x=e,this.y=t}function A(e,t,n){e=Number(e),t=Number(t),n||(e=Uj(e,-Oh,Oh),t=Vj(t,-180,180)),this.lat=e,this.lng=t}function ac(e){this.elems=e||[],this.set("length",this.elems.length)}function qb(e,t){if(e&&!t&&(t=e),e){var n=Ph(e.getLat(),-90,90),r=Ph(t.getLat(),-90,90);this.lat=new Ie(n,r),n=e.getLng(),360<=(r=t.getLng())-n?this.lng=new Od(-180,180):(n=bg(n,-180,180),r=bg(r,-180,180),this.lng=new Od(n,r))}else this.lat=new Ie(1,-1),this.lng=new Od(180,-180)}function mb(e,t){Lc(e)&&(e=document.getElementById(e));var n=this;Wj((t=t||{}).mapTypeId)&&(t.mapTypeId="roadmap"),t.noClear&&Xj(e),n.container=e,n.mapTypes=new Yj,n.mapStyles=new Zj,n.overlays=new ak,n.overlayMapTypes=new cg,n.V=new bk,n.tileVersion=!1,n.createImpl=!1,n.constructImpl=!1;var r=n.controls=[];ck(dk,function(e){r[e]=new cg}),ek(this,t,Pd),n.options=t;var l=this.center.getLat(),i=this.center.getLng();fk.set(l+","+i+","+this.zoom),gk(1,0),hk(function(){n.createImpl&&!n.tileVersion&&!n.constructImpl&&(n.mapControl(n).construct(t),n.constructImpl=!0),n.createImpl&&!n.tileVersion&&n.constructImpl&&n.mapControl(n).updateDataVersion(),n.tileVersion=!0}),P.$require("map",function(e){n.tileVersion&&!n.constructImpl&&(e(n).construct(t),n.constructImpl=!0),n.mapControl=e,n.createImpl=!0},0)}function rb(e){return function(){var t=[].slice.call(arguments);t.splice(0,0,this.V,e);var n=this;P.$require("map",function(e){n.constructImpl||(n.constructImpl=!0,e(n).construct(n.options)),Qh.trigger.apply(Qh,t)},0)}}function Mc(e){e&&this.setValues(e)}function Jb(e,t,n,r){this.red=e,this.green=t,this.blue=n,this.alpha=0<=parseInt(r)?r:1}function ik(e){var t=null;return jk(e)?t=e:kk(e)&&(t=new Nc,lk(e,function(e){t.push(e)})),t}function vc(e){e=mk(e,["fillColor",new jd(38,145,234,.2),"strokeColor",new jd(38,145,234,1),"strokeWeight",2,"strokeDashStyle","solid","zIndex",0,"cursor","pointer","clickable",!0,"simplify",!0,"visible",!0]),this.set("path",new Nc),this.setValues(e),P.$require("poly",nk(this),1)}function dg(e){e.filled=!1,Rh.call(this,e)}function Sh(e){e.filled=!0,Th.call(this,e)}function Je(e){e=ok(e,["map",null,"center",null,"radius",0,"bounds",null,"fillColor",new Qd(38,145,234,.2),"strokeColor",new Qd(38,145,234,1),"strokeWeight",4,"strokeDashStyle","solid","zIndex",0,"cursor","pointer","clickable",!0,"simplify",!0,"visible",!0]),this.setValues(e),P.$require("poly",pk(this),2)}function eg(e){(e=e||{}).delay=e.delay||0,e.duration=e.duration||0,this.setValues(e),this.status=-1}function Ke(e){var t=this;qk&&P.$require("eb",function(n){new n(t,e)}),rk&&(document.body.addEventListener?P.$require("ea",function(n){new n(t,e)}):P.$require("ec",function(n){new n(t,e)})),this.start()}function Wc(e){e=sk(e||{},{complete:null,error:null,map:null,panel:null}),this.setOptions(e)}function fg(e){e=tk(e,["markers",new uk,"map",null,"zoomOnClick",!0,"gridSize",60,"averageCenter",!1,"maxZoom",18,"minimumClusterSize",2],!0),this.setValues(e),vk(this)(wk)}function kb(e){e=xk(e,["icon",null,"shadow",null,"shape",null,"decoration",null,"cursor","pointer","title","","animation",null,"clickable",!0,"draggable",!1,"visible",!0,"flat",!1,"zIndex",0,"useDefaults",!0,"height",0,"position",null,"autoRotation",!1,"rotation",0]),this.setValues(e),P.$require("marker",yk(this))}function wc(e){return function(){var t=[].slice.call(arguments);t.splice(0,0,this,e),P.$require("marker",function(){Uh.trigger.apply(Uh,t)})}}function xc(e,t){gg(e)&&(e=document.getElementById(e));var n=this;t=t||{},n.container=e;var r=this.controls=[];zk(Ak,function(e){r[e]=new Bk}),Ck(this,t,Dk),n._labels=new Ek,n.V=new Fk,Gk(0,1),P.$require("pano",function(e){e(n)},0)}function hg(e){return function(){var t=[].slice.call(arguments);t.splice(0,0,this.V,e),P.$require("pano",function(){Vh.trigger.apply(Vh,t)},0)}}function yc(e){e&&this.setValues(e)}function Oc(){P.$require("layers",Hk,1)}function Wh(e,t,n){Vb.send(e,t,n)}function nf(){}function jc(e){e=Ik(e,{complete:null,error:null,location:"全国",policy:Jk.REAL_TRAFFIC}),this.setOptions(e),P.$require("sv",Kk(this),6)}function kd(e){e=Lk(e,{complete:null,error:null,location:"全国",policy:Mk.LEAST_TIME}),this.setOptions(e),P.$require("sv",Nk(this),5)}function kc(e){e=Ok(e,{complete:null,error:null}),this.setOptions(e),P.$require("sv",Pk(this),4)}function Rd(e){e=Qk(e,{complete:null,error:null}),this.setOptions(e),P.$require("sv",Rk(this),3)}function of(e){var t=this;Sk.addListenerOnce(this,"dosend_changed",function(){P.$require("sv",Tk(t),2)}),ig.call(t,e)}function pf(e){var t=this;Uk.addListenerOnce(this,"dosend_changed",function(){P.$require("sv",Vk(t),1)}),jg.call(t,e)}function ld(e){e=Wk(e||{},{location:null,pageIndex:0,pageCapacity:10});var t=this;Xk.addListenerOnce(this,"dosend_changed",function(){P.$require("sv",Yk(t),0)}),Xh.call(this,e)}function md(){P.$require("layers",Zk,0)}function ma(e,t,n,r){this.width=e,this.height=t}function kg(e){this.opts=e=$k(e,["style",al.DEFAULT,"index",0]),e.map&&(this.map=e.map,this.setOptions(e))}function lg(e){this.opts=e=bl(e,["style",Le.DEFAULT,"index",0,"margin",new cl(1,2),"zoomTips",{17:"街",11:"市",8:"省",4:"国"}]),e.map&&(this.map=e.map,this.setOptions(e))}function mg(e){var t=e.map;if(t){var n={};dl(el,function(t){n[t]=e[t]}),t.setOptions({mapTypeControl:!0,mapTypeControlOptions:n})}}function lc(){this.views=[],this.count=0,this.renderNum=15,this.anim=new fl({duration:500}),this.isRun=!1}function Wa(e,t){this._model=e,this._renderTimer=t||0,e&&(this._fdrawListener=Da.addListener(this,"forceredraw",this.forcedraw,this),this.forwardEvents(["forceredraw"]))}function ng(e,t,n,r){var l=new Yh,i=!1,a={};Db(t,function(t){l[t]=e.get(t),a[t]=1});var s=function(e,t){return r?r(e,t):function(){var t=!0;return Db(e,function(e){if(!e)return t=!1}),t}()};l.changed=function(e){if(!(i||e&&!a[e])){var r=[];Db(t,function(e){r.push(l.get(e))}),s(r,t)&&(i=!0,delete l.changed,l.unbindAll(t),n())}},l.bindsTo(t,e)}function nd(e){this.a={},this.setOptions(e)}function og(e){if(e)for(var t=e.childNodes,n=0,r=t.length;n<r;n++)e.removeChild(t[n])}function Me(e){e=gl(e,["map",null,"imageUrl",null,"bounds",null,"visible",!0,"clickable",!0,"zIndex",0,"opacity",1,"cursor","pointer"]),this.setValues(e),P.$require("poly",hl(this),0)}function qf(e){e=il(e,["map",null,"position",null,"content",null,"visible",!0,"title",null,"zIndex",null,"offset",null,"style",null,"clickable",!0]),this.setValues(e),P.$require("label",jl(this))}function Ne(e){e=kl(e,["visible",!1,"content","","maxWidth",760,"maxHeight",840,"minWidth",80,"minHeight",30,"zIndex",0,"noScroll",!1,"disableAutoPan",!1,"position",null]),this.setValues(e),Zh.call(this,e),P.$require("infowin",ll(this))}function $h(e){pg.call(this,e||{})}function ai(e){bi.call(this,e||{})}function od(e){ci.call(this,e||{})}function rf(e){qg.apply(this,arguments)}function qe(e){rg.call(this,e)}function sf(e){e=ml({alt:"",name:"",maxZoom:null,minZoom:null,radius:0,tileSize:null,opacity:1,errorUrl:null,alpha:!1,poiLayer:!1},e||{},!0),this.tileSize=e.tileSize,this.name=e.name,this.alt=e.alt,this.minZoom=e.minZoom,this.maxZoom=e.maxZoom,this.copyrights=e.copyrights;var t=new nl,n=new ol(t);this.getTile=zc(n.getTile,n),this.releaseTile=zc(n.releaseTile,n),this.stop=zc(n.stop,n),this.poiLayer=e.poiLayer;var r=zc(e.getTileUrl,e);this.set("opacity",e.opacity);var l=this;P.$require("map",function(n){new n(t,[{func:r,type:1,alpha:!!e.alpha}],null,e).bindTo("opacity",l)},1)}function pd(e){this.markerCluster=e,this.map=e.get("map"),this.icon=new pl,this.markers=[];var t=this;t.clickListener=sg.addListener(this.icon,"click",function(){t.markerCluster&&t.markerCluster.doClusterClick(t)})}function tf(e){this.markers=e.get("markers"),this.clusters=[],tg.call(this,e),this.bindTo("map",e),e.clusterView=this}function ql(e){for(var t=[],n=0,r=e.length;n<r;n++)t.push(rl+e[n]+".js");if(sl){for(e=[],n=Math.ceil(t.length/di);n--;)e.push(tl+t.splice(0,di).join(","));return e}for(n=0,r=t.length;n<r;n++)t[n]=ul+t[n];return t}function vl(e,t){if(e)return function(){--e||t()};t()}function wl(){try{Ab.forIn(function(e,t){var n=t.match(RegExp(ug+"([0-9a-z]*)_"));n&&(n=n[1])&&n!=xl&&Ab.set(t,null)})}catch(e){}}function ei(e){if(!Oe[e]){Oe[e]=!0;for(var t=Pc[e],n=t.length;n--;)ei(t[n]);uf.push(e),Pe||(Pe=setTimeout(yl,0))}}function zl(e){var t=document.createElement("script");t.setAttribute("type","text/javascript"),t.setAttribute("src",e),t.setAttribute("charset","utf-8"),document.getElementsByTagName("head")[0].appendChild(t)}function Al(e){var t=[];if(Ab.support())for(var n=0;n<e.length;n++){var r=e[n],l=ug+Qe.split(/\./).join("")+"_"+r;(l=Ab.get(l))?fi(r,l):t.push(r)}else t=e;return t}function yl(){Pe=0;var e=uf;uf=[],e.sort(function(e,t){return e<=t});for(var t=(e=ql(e=Al(e))).length;t--;)zl(e[t])}var Bl=function(e){(e=e||window.event).cancelBubble=!0,e.stopPropagation&&e.stopPropagation()},qd=function(e){(e=e||window.event).returnValue=!1,e.preventDefault&&e.preventDefault()},vf=function(e){return qd(e),Bl(e),!1},Cl=Object.prototype.hasOwnProperty,vg=function(e,t){return Cl.call(e,t)},wg=function(e){for(var t in e)if(vg(e,t))return!1;return!0},gi=function(e,t,n){var r=[],l=e.length;for(n=n||l,t=t||0;t<n;t++)r.push(e[t]);return r},Y=function(e,t){for(var n in e)if(vg(e,n)&&!1===t(e[n],n))return!1},xg={},wf=function(e){return xg[e]||(xg[e]=e.substr(0,1).toUpperCase()+e.substr(1))},U=function(e){return"[object Function]"==Object.prototype.toString.call(e)},re=function(e,t){return e="on"+e,(t=t||document.createElement("div")).setAttribute(e,"return;"),U(t[e])||e in document.documentElement},Eb=navigator.userAgent,va=/msie (\d+\.\d+)/i.test(Eb)?document.documentMode||+RegExp.$1:0,yg=function(e){return!(!e||!e.nodeName||1!=e.nodeType)},Re=function(e){return yg(e)||e==window||e==document},db=function(e,t,n){for(var r in t)!t.hasOwnProperty(r)||!n&&e.hasOwnProperty(r)||(e[r]=t[r]);return e},L=function(e,t){if(2<arguments.length){var n=gi(arguments,2);return function(){return e.apply(t||this,0<arguments.length?n.concat(gi(arguments)):n)}}return function(){return e.apply(t||this,arguments)}},tj=db,kf=va,Q={listeners:{},eventObjects:{}},sj=0;Q.addListener=function(e,t,n,r){return Re(e)?Q.addDomListener(e,t,n,r):new Jc(e,t,n,0)},Q.exist=function(e,t){var n=ke(e,t);return n&&!wg(n)},Q.removeListener=function(e){e.remove()},Q.clearListeners=function(e,t){Y(ke(e,t),function(e,t){e&&e.remove()})},Q.clearInstanceListeners=function(e){Y(ke(e),function(e,t){e&&e.remove()})},Q.trigger=function(e,t){if(Q.exist(e,t)){var n=gi(arguments,2),r=ke(e,t);Y(r,function(e){e&&e.handler.apply(e.instance,n)})}else if(Re(e)&&re(t,e))if(e.fireEvent)try{e.fireEvent("on"+t)}catch(e){}else e.dispatchEvent&&((r=document.createEvent("Events")).initEvent(t,!0,!0),e.dispatchEvent(r))},Q.addDomListener=function(e,t,n,r){var l=0;return e.addEventListener?(l=r?4:1,e.addEventListener(t,n,r),n=new Jc(e,t,n,l)):e.attachEvent?(n=new Jc(e,t,n,r?3:2),e.attachEvent("on"+t,uj(n)),r&&e.setCapture&&e.setCapture()):(e["on"+t]=n,n=new Jc(e,t,n,5)),n},Q.addDomListenerOnce=function(e,t,n,r){var l=Q.addDomListener(e,t,function(){return l.remove(),n.apply(this,arguments)},r);return l},Q.bindDom=function(e,t,n,r){return n=wj(r,n),Q.addDomListener(e,t,n)},Q.bind=function(e,t,n,r,l){return l?Q.addListenerOnce(e,t,L(n,r)):Q.addListener(e,t,L(n,r))},Q.addListenerOnce=function(e,t,n){var r=Q.addListener(e,t,function(){return r.remove(),n.apply(this,arguments)});return r},Q.forward=function(e,t,n){return Q.addListener(e,t,Zf(t,n))},Q.forwardDom=function(e,t,n,r){return Q.addDomListener(e,t,Zf(t,n,!r))},Q.unload=function(){var e=Q.listeners;Y(e,function(e){e&&e.remove()}),Q.listeners={},(e=window.CollectGarbage)&&e()};var xj=0;Jc.prototype.remove=function(){var e=this.instance,t=this.eventName;if(e){switch(this.browser){case 1:e.removeEventListener(t,this.handler,!1);break;case 4:e.removeEventListener(t,this.handler,!0);break;case 2:e.detachEvent("on"+t,this.bindHandler);break;case 3:e.detachEvent("on"+t,this.bindHandler),e.releaseCapture&&e.releaseCapture();break;case 5:e["on"+t]=null}delete Bh(e,t)[this.id],e.__events_&&(wg(e.__events_[t])&&delete e.__events_[t],wg(e.__events_)&&delete e.__events_),this.bindHandler=this.handler=this.instance=null,delete Q.listeners[this.id]}};var d=Q;$f.prototype.getTile=function(e,t,n,r,l){return e={element:n=n.createElement("div"),coord:e,zoom:t,instance:l},r&&(r=r.parentNode.createElement("div"),e.poiElement=r),n.data=e,this.grids.insert(e),n},$f.prototype.releaseTile=function(e){var t=e.data;this.grids.remove(t),Y(t,function(e,n){delete t[n]}),e.data=null},$f.prototype.stop=function(e){d.trigger(e.data,"stop",e.data)};var Dh=[6378136.49,-1],Ch=[null,Dh],hi=window.qq&&qq.maps&&qq.maps.__load;hi&&hi(yj);var zg=Ch,ii=zg[1],Fb=ii[0],W=function(e){return e*(Math.PI/180)},Dl=function(e,t){for(var n=[e];n.length;){var r=n.shift();for(t(r),r=r.firstChild;r;r=r.nextSibling)1==r.nodeType&&n.push(r)}},Ag=function(e){Dl(e,function(e){d.clearInstanceListeners(e)})},fa=function(){return new Date},Ua=zg[0],Ca=function(e){return"[object Object]"===Object.prototype.toString.apply(e)},G=function(e){return"[object String]"==Object.prototype.toString.call(e)},El=function(e){var t=new Image;t.onload=t.onerror=t.onabort=zj,t.src=e+"&random="+(+fa()).toString(36)},h=function(e,t){for(var n=0,r=e.length;n<r;++n)if(!1===t(e[n],n))return!1},Se=Ua[0][0],Gh=d,Gj=G,Fj=Ca,Cj=h,Dj=El,Fh=Ua[3][2]+"?appid=jsapi&v="+Se,Aj=1024-Fh.length-16,ag={},Xa=[];ag.submit=mf,Gh.addDomListener(window,"beforeunload",function(){mf(!0)}),setInterval(mf,5e3);var Bg=ag,sd=new Function,td=[],Fl=d.addListener(Bg,"submit",function(e){0<td.length&&(e("m",td.join("|")),td.length=0,d.removeListener(Fl),ji.set=sd)}),ji={set:function(e){td.push(e)}},fk=ji,ud=[0,0],Gl=d.addListener(Bg,"submit",function(e){0==ud[0]&&0==ud[1]||(e("mp",ud.join(",")),ud[0]=0,ud[1]=0,d.removeListener(Gl),Cg.set=sd)}),Cg={set:function(e,t){0!=e&&ud[0]++,0!=t&&ud[1]++}},Hl=Cg,Il=function(e,t){var n=W(e.getLat())-W(t.getLat()),r=W(e.getLng())-W(t.getLng());n=Math.sin(n/2)*Math.sin(n/2)+Math.cos(W(t.getLat()))*Math.cos(W(e.getLat()))*Math.sin(r/2)*Math.sin(r/2),n=2*Math.atan2(Math.sqrt(n),Math.sqrt(1-n));return Fb*n},xf=function(e,t,n){return e>=t&&e<=n?e:((e-t)%(n-t)+(n-t))%(n-t)+t},sb=Hh.prototype;sb.isEmpty=function(){return 360==this.minX-this.maxX},sb.intersects=function(e){var t=this.minX,n=this.maxX;return!this.isEmpty()&&!e.isEmpty()&&(t>n?e.minX>e.maxX||e.minX<=n||e.maxX>=t:e.minX>e.maxX?e.minX<=n||e.maxX>=t:e.minX<=n&&e.maxX>=t)},sb.contains=function(e){-180==e&&(e=180);var t=this.minX,n=this.maxX;return this.minX>this.maxX?(e>=t||e<=n)&&!this.isEmpty():e>=t&&e<=n},sb.extend=function(e){this.contains(e)||(this.isEmpty()?this.minX=this.maxX=e:this.distance(e,this.minX)<this.distance(this.maxX,e)?this.minX=e:this.maxX=e)},sb.equals=function(e){return this.isEmpty()?e.isEmpty():1e-9>=Math.abs(e.minX-this.minX)%360+Math.abs(e.maxX-this.maxX)%360},sb.center=function(){var e=(this.minX+this.maxX)/2;return this.minX>this.maxX&&(e=xf(e,-180,180)),e},sb.distance=function(e,t){var n=t-e;return 0<=n?n:t+180-(e-180)};var Gb=Ih.prototype;Gb.isEmpty=function(){return this.minY>this.maxY},Gb.intersects=function(e){var t=this.minY,n=this.maxY;return t<=e.minY?e.minY<=n&&e.minY<=e.maxY:t<=e.maxY&&t<=n},Gb.contains=function(e){return e>=this.minY&&e<=this.maxY},Gb.extend=function(e){this.isEmpty()?this.maxY=this.minY=e:e<this.minY?this.minY=e:e>this.maxY&&(this.maxY=e)},Gb.equals=function(e){return this.isEmpty()?e.isEmpty():1e-9>=Math.abs(e.minY-this.minY)+Math.abs(this.maxY-e.maxY)},Gb.center=function(){return(this.maxY+this.minY)/2};var Qc=function(e,t,n){return e<t?t:e>n?n:e},yf=Ua[0][1],F=Ua[5],Jl=Ua[4][7],gb=navigator.userAgent.toLowerCase(),Dg="opera msie chrome applewebkit firefox mozilla".split(" "),Eg="x11 macintosh windows android iphone ipad".split(" "),Kb=0,vd,cc,dc,Ac=0,Bc,Fg;for(vd=Dg.length;Kb<vd;Kb++)if(cc=Dg[Kb],-1!=gb.indexOf(cc)&&(Ac=Kb+1,dc=RegExp(cc+"[ /]?([0-9]+(.[0-9]+)?)").exec(gb))){Bc=parseFloat(dc[1]);break}for(6==Ac&&((dc=/^mozilla\/.*gecko\/.*(minefield|shiretoko)[ /]?([0-9]+(.[0-9]+)?)/.exec(gb))&&(Ac=5,Bc=parseFloat(dc[2])),(dc=/trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(gb))&&(Ac=2,Bc=parseFloat(dc[1]))),1==Ac&&(dc=/^opera\/9.[89].*version\/?([0-9]+(.[0-9]+)?)/.exec(gb))&&(Bc=parseFloat(dc[1])),Kb=0,vd=Eg.length;Kb<vd;Kb++)if(cc=Eg[Kb],-1!=gb.indexOf(cc)){Fg=Kb+1;break}var zf=[Ac,Bc,Fg],Z=zf[2],ki=/opera(\/| )(\d+(\.\d+)?)(.+?(version\/(\d+(\.\d+)?)))?/i.test(Eb)?+(RegExp.$6||RegExp.$2):0,y=function(e){return null===e},na=[],lb=document;na.isReady=!1,na._used=!1,na.ready=function(e){na.initReady(),na.isReady?e():na.push(e)},na.initReady=function(){if(!na._used){if(na._used=!0,"complete"===lb.readyState||"interactive"===lb.readyState)return na.fireReady();if(0<va&&9>va){lb.attachEvent("onreadystatechange",Jh);var e=function(){if(!na.isReady){var t=new Image;try{t.doScroll()}catch(t){return void setTimeout(e,64)}na.fireReady()}};e()}else lb.addEventListener("DOMContentLoaded",Kh,!1)}},na.fireReady=function(){if(!na.isReady){if(!lb.body)return setTimeout(na.fireReady,16);if(na.isReady=!0,na.length)for(var e,t=0;e=na[t];t++)e()}};var Gg=na.ready,li=window.qq||(window.qq={}),Af=li.maps||(li.maps={}),Te=function(e,t){if(null!==t)return Af[e]=t,["qq","maps",e];null===Af[e]||delete Af[e]},Lh=yf,le=window.document,Jj=/loaded|complete|undefined/i,Md=le.dispatchEvent?"onload":"onreadystatechange",Lj=0<ki,id={},Kj=Te("_svcb"+Z,id).join("."),me=[],Kl=0,Vb={send:function(e,t,n,r){return e||(e="cb"+(new Date).getTime().toString(36)+(Kl++).toString(36)),Gg(function(){hd(e),Ij(e,t,n,r)}),e},cancel:hd};ic.prototype.stop=function(){this.__event__&&vf(this.__event__)};var la=function(e){return"[object Array]"==Object.prototype.toString.call(e)},f=function(e,t){function n(){}n.prototype=t.prototype,e.prototype=new n},ne=d,Mj=ic,Ll=function(e){if(Object.keys)return Object.keys(e);var t=[];return Y(e,function(e,n){t.push(n)}),t},Hg={},ec={},Mh={},tb=k.prototype;tb.get=function(e){if(t=Ta(this)[e]){e=t.targetKey;var t=t.target,n=Hg[e]||(Hg[e]="get"+wf(e));return t[n]?t[n]():t.get(e)}return this[e]},tb.set=function(e,t){if((n=Ta(this)).hasOwnProperty(e)){var n=(r=n[e]).targetKey,r=r.target,l=ec[n]||(ec[n]="set"+wf(n));r[l]?r[l](t):r.set(n,t)}else this[e]=t,Ub(this,e)},tb.notify=function(e){var t=Ta(this);t.hasOwnProperty(e)?(e=t[e]).target.notify(e.targetKey):Ub(this,e)},tb.setValues=function(e){for(var t in e){var n=e[t],r=ec[t]||(ec[t]="set"+wf(t));this[r]?this[r](n):this.set(t,n)}},tb.setOptions=tb.setValues,tb.changed=function(e){return function(){}},tb.bindTo=function(e,t,n,r){n=n||e;var l=this;l.unbind(e,!0),He(l)[e]=ne.addListener(t,Kc(n.toLowerCase()),function(){Ub(l,e)}),Nj(l,e,t,n,r)},tb.bindsTo=function(e,t,n,r){n=n||[];for(var l=0,i=(e=la(e)?e:Ll(e)).length;l<i;l++)this.bindTo(e[l],t,n[l]||null,r)},tb.unbind=function(e,t){var n=He(this)[e];n&&(delete He(this)[e],ne.removeListener(n),n=t&&this.get(e),delete Ta(this)[e],t?this[e]=n:Ub(this,e))},tb.unbindAll=function(e){e||(e=[],Y(He(this),function(t,n){e.push(n)}));var t=this;h(e,function(e){t.unbind(e)})};var bk=k,Sd=function(e,t){for(var n;n=e.firstChild;)!t&&3!==n.nodeType&&Ag(n),e.removeChild(n)},Ml=Vb,Nl=Ua[2][4],Td=[Ua[2][2],Ua[2][3]],Ol=Ua[2][0],Pl=Ua[2][1],Oj=la,kn=Nh,Wb=function(e){return void 0===e},Ya=function(e,t){throw Error("Invalid value or type for property <"+e+"> :"+t)},Ig=function(e,t){Hl.set(e,t)},mi=function(e,t,n){var r={};n&&Y(n,function(e,t){r[t]=e}),t&&Y(t,function(e,t){r[t]=e}),e.setValues(r)},Qj=0,Ue=oe.prototype;Ue.insert=function(e){var t=this.items,n=this.hash(e);t[n]||(++this.length,t[n]=e,d.trigger(this,"insert",e))},Ue.remove=function(e){var t=this.items,n=this.hash(e);t[n]&&(--this.length,delete t[n],d.trigger(this,"remove",e))},Ue.contains=function(e){return!!this.items[this.hash(e)]},Ue.forEach=function(e){var t,n=this.items;for(t in n)n.hasOwnProperty(t)&&e.call(this,n[t])};var q=function(){var e=arguments,t=e.length;return function(){for(var n=0;n<t;++n)if(e[n].apply(this,arguments))return!0;return!1}},u=function(e){return"[object Number]"==Object.prototype.toString.call(e)&&isFinite(e)},ba=function(e){return"boolean"==typeof e},N=function(e){return function(t){return t instanceof e}},nb=function(e,t,n){return t=kn(t,!n),db(t,e,!0)},Xb=function(e){return function(t){new t(e)}},Tj=Ya,ra=function(e,t){for(var n=0,r=t&&t.length;n<r;n+=2){var l=t[n],i=t[n+1];e["get"+wf(l)]=Rj(l),i&&(e["set"+wf(l)]=Sj(l,i))}},wd={TOP_LEFT:1,TOP_CENTER:2,TOP:2,TOP_RIGHT:3,LEFT_CENTER:4,LEFT_TOP:5,LEFT:5,LEFT_BOTTOM:6,RIGHT_TOP:7,RIGHT:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM:11,BOTTOM_RIGHT:12,CENTER:13};f(Nd,k),Nd.prototype.set=function(e,t){return null!=t&&(!t||!t.regionStyles||!Ca(t.regionStyles)||!t.labelStyles||!Ca(t.labelStyles)||!t.lineStyles||!Ca(t.lineStyles)||!t.pointStyles||!Ca(t.pointStyles)||!t.arrowStyles||!Ca(t.arrowStyles)||!t.bgColor||!G(t.bgColor)||!t.stylesId||!G(t.stylesId))&&console.warn("实现qq.maps.mapStyles所需的值不符合要求,请重新传入参数尝试"),k.prototype.set.apply(this,arguments)};var wa={DEFAULT:"DEFAULT",TILE_BLACK:"TILE_BLACK",DARK:"DARK",TNIT:"TNIT",LIGHT:"LIGHT"};f(pe,k),pe.prototype.set=function(e,t){if(!(null==t||t&&t.tileSize&&u(t.maxZoom)&&t.tileSize.width&&t.tileSize.height))throw Error("实现 qq.maps.MapType 所需的值");return k.prototype.set.apply(this,arguments)};var Bf={DEFAULT:"default",CENTER:"center"},xd={ROADMAP:"roadmap",HYBRID:"hybrid",SATELLITE:"satellite",INDOORMAP:"indoormap"},ub=R.prototype;ub.getX=function(){return this.x},ub.getY=function(){return this.y},ub.toString=function(){return this.x+", "+this.y},ub.equals=function(e){return!!e&&e.x==this.x&&e.y==this.y},ub.distanceTo=function(e){return Math.sqrt(Math.pow(this.x-e.x,2)+Math.pow(this.y-e.y,2))},ub.minus=function(e){return new R(this.x-e.x,this.y-e.y)},ub.plus=function(e){return new R(this.x+e.x,this.y+e.y)},ub.divide=function(e){return new R(this.x/e,this.y/e)},ub.multiply=function(e){return new R(this.x*e,this.y*e)},ub.clone=function(){return new R(this.x,this.y)};var Vj=xf,Uj=Qc,ni=function(e,t){var n=Math.pow(10,t);return Math.round(e*n)/n},Oh=85.051128,Bb=A.prototype;Bb.toString=function(){return this.lat+", "+this.lng},Bb.equals=function(e){return!!e&&1e-10>=Math.abs(this.lat-e.lat)&&1e-10>=Math.abs(this.lng-e.lng)},Bb.getLat=function(){return this.lat},Bb.getLng=function(){return this.lng},Bb.toUrlValue=function(e){return e=e||6,ni(this.lng,e)+","+ni(this.lat,e)},Bb.clone=function(){return new A(this.lat,this.lng,!0)},Bb.distanceTo=function(e){return Il(this,e)},Bb.subtract=function(e){return new A(this.lat-e.lat,this.lng-e.lng)};var oi=Math.PI/180,pi=180/Math.PI;Bb.toMercator=function(){var e=[6378137*this.lng*oi,6378137*Math.log(Math.tan(.25*Math.PI+.5*this.lat*oi))];return 20037508.342789244<e[0]&&(e[0]=20037508.342789244),-20037508.342789244>e[0]&&(e[0]=-20037508.342789244),20037508.342789244<e[1]&&(e[1]=20037508.342789244),-20037508.342789244>e[1]&&(e[1]=-20037508.342789244),new R(e[0],e[1])},A.fromMercator=function(e){return new A((.5*Math.PI-2*Math.atan(Math.exp(-e.y/6378137)))*pi,e.x*pi/6378137)},f(ac,k);var vb=ac.prototype;vb.getAt=function(e){return this.elems[e]},vb.forEach=function(e){for(var t=0,n=this.get("length");t<n&&!1!==e(this.elems[t],t);++t);},vb.setAt=function(e,t){var n=this.elems[e],r=this.elems.length;if(e<r)this.elems[e]=t,d.trigger(this,"set_at",e,n);else{for(n=r;n<e;++n)this.insertAt(n,void 0);this.insertAt(e,t)}},vb.insertAt=function(e,t){this.elems.splice(e,0,t),this.set("length",this.elems.length),d.trigger(this,"insert_at",t,e)},vb.removeAt=function(e){var t=this.get("length");if(t>e){var n=this.elems[e];return this.elems.splice(e,1),this.set("length",t-1),d.trigger(this,"remove_at",n,e),n}},vb.push=function(e){return this.insertAt(this.elems.length,e),this.elems.length},vb.pop=function(){return this.removeAt(this.elems.length-1)},vb.exists=function(e){if(e)for(var t=0;t<this.elems.length;t++)if(e==this.elems[t])return!0;return!1},vb.remove=function(e){for(var t=0;t<this.elems.length;t++)if(e==this.elems[t])return this.removeAt(t)},vb.clear=function(){for(var e=this.elems.length;e--;)this.removeAt(0)},vb.getArray=function(){return this.elems},ra(vb,["length",0]);var bg=xf,Ph=Qc,Ie=Ih,Od=Hh,Cb=qb.prototype;Cb.isEmpty=function(){return this.lat.isEmpty()||this.lng.isEmpty()},Cb.getSouthWest=function(){return new A(this.lat.minY,this.lng.minX,!0)},Cb.getNorthEast=function(){return new A(this.lat.maxY,this.lng.maxX,!0)},Cb.getCenter=function(){return new A(this.lat.center(),this.lng.center())},Cb.intersects=function(e){return this.lat.intersects(e.lat)&&this.lng.intersects(e.lng)},Cb.contains=function(e){var t,n=this.getSouthWest,r=this.getNorthEast;return e instanceof qb?(t=e.getSouthWest(),e=e.getNorthEast(),t.lat>=n.lat&&e.lat<=r.lat&&t.lng>=n.lng&&e.lng<=r.lng):this.lat.contains(e.getLat())&&this.lng.contains(e.getLng())},Cb.extend=function(e){if(this.isEmpty()){var t=e.getLat();e=e.getLng(),this.lat=new Ie(t,t),this.lng=new Od(e,e)}else this.lat.extend(e.getLat()),this.lng.extend(e.getLng());return this},Cb.union=function(e){if(!e.isEmpty())return this.extend(e.getNorthEast()),this.extend(e.getSouthWest()),this},Cb.equals=function(e){return!!e&&this.lat.equals(e.lat)&&this.lng.equals(e.lng)},Cb.clone=function(){return new qb(this.getSouthWest(),this.getNorthEast())},Cb.toString=function(){return this.getSouthWest()+", "+this.getNorthEast()},Cb.toUrlValue=function(){return this.getSouthWest().toUrlValue()+","+this.getNorthEast().toUrlValue()};var cg=ac,Cf=A,ak=oe,hk=function(e){var t=window.setTimeout(e,1e3);Ml.send(null,Jl,function(n){n&&n.info&&0===n.error&&(n=n.info,F[0]&&n["1d"]&&(F[0][6]=n["1d"],F[3][6]=n["1d"]),F[1]&&n["2d"]&&(F[1][6]=n["2d"]),F[7]&&n.vt&&(F[7][4]=n.vt),F[2]&&n.sat&&(F[2][6]=n.sat)),e(),clearTimeout(t)},e)},dk=wd,Yj=pe,Zj=Nd,ck=Y,Xj=Sd,Wj=Wb,Lc=G,Cf=A,Qh=d,ek=mi,gk=Ig,Pd={mapTypeId:xd.ROADMAP,mapStyleId:wa.DEFAULT,maxZoom:Pl,minZoom:Ol,disableDefaultUI:!1,boundary:null,autoResize:!0,resizeKeepCenter:!0,mapZoomType:Bf.DEFAULT,mapZoomOffset:new R(0,0)};Td[0]&&Td[1]&&(Pd.center=new Cf(Td[0],Td[1]),Pd.zoom=Nl),f(mb,k);var mc=mb.prototype;ra(mb.prototype,["projection",null,"bounds",null,"boundary",q(N(qb),y),"center",N(Cf),"zoom",u,"mapTypeId",Lc,"mapStyleId",Lc]),mc._=function(){return this.V},mc.getContainer=function(){return this.container},mc.panBy=rb("panby"),mc.panTo=rb("panto"),mc.flyTo=rb("fly_to"),mc.zoomBy=function(e){var t=this.getZoom();u(t)&&this.setZoom(t+e)},mc.zoomTo=function(e){this.setZoom(e)},mc.fitBounds=rb("fitbounds"),mc.panToBounds=rb("pantolatlngbounds"),f(Mc,k),Mc.prototype.map_changed=function(){var e=this;P.$require("oy",function(t){t(e)})},ra(Mc.prototype,["map",q(N(mb),y),"panes",null,"projection",null]),Jb.fromHex=function(e,t){"#"===e.substring(0,1)&&(e=e.substr(1));var n=3===e.length?1:2,r=e.substr(0,n),l=e.substr(n,n),i=e.substr(2*n,n);return 1===n&&(r+=r,l+=l,i+=i),new Jb(r=parseInt(r,16),l=parseInt(l,16),i=parseInt(i,16),t||1)};var nc=Jb.prototype;nc.toRGB=function(){return"rgb("+[this.red,this.green,this.blue].join()+")"},nc.toRGBA=function(){return"rgba("+[this.red,this.green,this.blue,this.alpha].join()+")"},nc.toHex=function(){return"#"+(16777216+(this.red<<16)+(this.green<<8)+this.blue).toString(16).slice(1).toUpperCase()},nc.toInt=function(){return this.red<<16|this.green<<8|this.blue},nc.toString=function(){return this.toRGBA()},nc.clone=function(){return new Jb(this.red,this.green,this.blue,this.alpha)};var nk=Xb,Nc=ac,mk=nb,lk=h,kk=la,jk=N(Nc),jd=Jb;f(vc,Mc),vc.prototype.getPath=function(){return this.get("path")},vc.prototype.setPath=function(e){this.set("path",ik(e)||new Nc)},vc.prototype.getBounds=function(){if(i=null,(l=this.getPath())&&l.getLength()){var e=[],t=[];l.forEach(function(n){e.push(n.getLng()),t.push(n.getLat())});var n=Math.min.apply(Math,e),r=Math.min.apply(Math,t),l=Math.max.apply(Math,e),i=Math.max.apply(Math,t);i=new qb(n=new A(r,n),l=new A(i,l))}return i},ra(vc.prototype,["map",q(N(mb),y),"visible",ba,"simplify",ba,"clickable",ba,"editable",ba,"cursor",G,"zIndex",u,"geodesic",ba,"strokeDashStyle",q(G,y),"strokeColor",q(N(jd),G,y),"strokeWeight",q(u),"fillColor",q(N(jd),G,y)]);var Rh=vc;f(dg,Rh);var Th=vc;f(Sh,Th);var ok=nb,Qd=Jb,pk=Xb;f(Je,Mc),ra(Je.prototype,["map",q(N(mb),y),"visible",ba,"center",q(N(A),y),"radius",q(u,y),"cursor",q(G,y),"zIndex",q(u,y),"fillColor",q(N(Qd),G,y),"strokeColor",q(N(Qd),G,y),"strokeWeight",u,"strokeDashStyle",q(G,y)]);var Ql=/-./g,Rl=function(e){return e.charAt(1).toUpperCase()},qi={};qi.float=va?"styleFloat":"cssFloat";var Sl=(e=qi,e=e||{},function(t){return vg(e,t)?e[t]:e[t]=function(e){return e.replace(Ql,Rl)}(t)}),E=function(e,t,n){e.style[Sl(t)]=n},Ud=5==Z||6==Z,yd=zf[1],ab=zf[0],Lb=function(){var e=re,t=yd,n=Ud,r=(n=4==(i=ab)&&n,t=4==i&&4==Z&&534<=t,3==i&&4==Z),l=2==i&&0<navigator.msMaxTouchPoints,i=2==i&&0<navigator.maxTouchPoints;e=1!=Z&&2!=Z&&e("touchstart")&&e("touchmove")&&e("touchend");return!!(n||t||r||l||i||e)}(),Jg=1==Z||2==Z||3==Z||!!window.navigator.msPointerEnabled||!Lb,Tl=/android\s(\d+\.\d)/i.test(Eb)?+RegExp.$1:0,ln=/iPhone\sOS\s(\d[_\d]*)/i.test(Eb)?+parseFloat(RegExp.$1.replace(/_/g,".")):0,mn=/iPad.*OS\s(\d[_\d]*)/i.test(Eb)?+parseFloat(RegExp.$1.replace(/_/g,".")):0,Ul="ontouchstart"in window||mn||ln||Tl,Vl=/(\d+\.\d)?(?:\.\d)?\s+safari\/?(\d+\.\d+)?/i.test(Eb)&&!/chrome/i.test(Eb)?+(RegExp.$1||RegExp.$2):0,Ve=function(e,t,n){var r=e.length;for(0>(n=n||0)&&(n+=r);n<r;n++)if(e[n]===t)return n;return-1},Df={anims:[],timer:null,add:function(e){e._startTime=+fa(),-1===Ve(this.anims,e)&&this.anims.push(e),null===this.timer&&(this.timer=setInterval(this.nextFrame,16))},remove:function(e){var t=this.anims;h(this.anims,function(n,r){if(e===n)return delete e._startTime,t.splice(r,1),!1}),0===t.length&&(clearInterval(this.timer),this.timer=null)},nextFrame:function(){var e=+fa(),t=[],n=null;h(Df.anims.concat(),function(r){if(r._startTime){t.push(r),n=+fa();var l=e-r._startTime,i=!1;l>=r.duration&&(l=r.duration,i=!0),r.set("current",l),r.onEnterFrame(l),i?r.stop():r.status||(r.status=1),r._frameDuration=+fa()-n}});var r=+fa()-e;h(t,function(e){e._startTime&&(e.onExitFrame(e._frameDuration,r),delete e._frameDuration)})}},e;f(eg,k);var oc=eg.prototype;oc.start=function(){function e(){t.onStart(),t.status=0,Df.add(t),delete t._delayTimer}this.stop(!0);var t=this;this.delay?t._delayTimer=window.setTimeout(e,t.delay):e()},oc.stop=function(e){this._delayTimer&&(window.clearTimeout(this._delayTimer),delete this._delayTimer),Df.remove(this),this.status=-1,e||this.onEnd()},oc.getStatus=function(){return this.status},oc.onStart=function(){},oc.onEnterFrame=function(){},oc.onExitFrame=function(){},oc.onEnd=function(){};var Kg=function(e){if(e=e||window.event,va)e=[e.clientX+(document.documentElement.scrollLeft||document.body.scrollLeft),e.clientY+(document.documentElement.scrollTop||document.body.scrollTop)];else if(e.touches){var t=null;0<e.targetTouches.length?t=e.targetTouches[0]:0<e.changedTouches.length&&(t=e.changedTouches[0]),e=[t.pageX,t.pageY]}else e=[e.pageX,e.pageY];return e},se=function(e){if(null===e.parentNode||"none"==e.style.display)return[0,0,0,0];var t=null,n=0,r=0,l=e.offsetWidth,i=e.offsetHeight;if(e.getBoundingClientRect&&!Ul)t=e.getBoundingClientRect(),e=Math.max(document.documentElement.scrollTop,document.body.scrollTop),n=Math.max(document.documentElement.scrollLeft,document.body.scrollLeft),n=t.left+n,r=t.top+e;else{if(document.getBoxObjectFor)t=document.getBoxObjectFor(e),n=e.style.borderLeftWidth?parseInt(e.style.borderLeftWidth):0,r=e.style.borderTopWidth?parseInt(e.style.borderTopWidth):0,n=t.x-n,r=t.y-r;else{if(n=e.offsetLeft,r=e.offsetTop,(t=e.offsetParent)!=e)for(;t;)n+=t.offsetLeft,r+=t.offsetTop,t=t.offsetParent;(ki||Vl&&"absolute"==e.style.position)&&(n-=document.body.offsetLeft,r-=document.body.offsetTop)}for(t=e.parentNode?e.parentNode:null;t&&"BODY"!=t.tagName&&"HTML"!=t.tagName;)n-=t.scrollLeft,r-=t.scrollTop,t=t.parentNode?t.parentNode:null}return[n,r,l,i]},rk=Jg,qk=Lb;f(Ke,k);var Hb=Ke.prototype;Hb.start=function(){this.set("tracking",!0)},Hb.stop=function(){this.set("tracking",!1)},Hb.addListener=function(e,t){return d.addListener(this,e,t)},Hb.removeListener=function(e){return d.removeListener(e)},Hb.clearAllListener=function(){d.clearInstanceListeners(this)};var T=function(e,t,n,r,l){return e=document.createElement(e||"div"),r&&(e.style.cssText=r),null!=n&&E(e,"z-index",n),t&&!l&&t.appendChild(e),e},ob={Copyright:{prefix:"©"+new Date(Ua[3][0]).getFullYear()+" Tencent",sno:"GS(2016)930号",dataPrefix:"Data©",imagePrefix:"Imagery©",home:"到腾讯地图查看此区域"},Key:{invalid:"开发者密钥验证失败"},PhoneTime:"拍摄日期",MapType:{ROADMAP:{name:"地图",alt:"显示街道地图"},SATELLITE:{name:"卫星",alt:"显示卫星地图"},HYBRID:{name:"混合",alt:"显示带有街道名称的卫星地图"},TRAFFIC:{name:"路况",alt:"显示实时路况"}},Navigation:{zoomIn:"放大",zoomOut:"缩小",left:"向左平移",right:"向右平移",up:"向上平移",down:"向下平移",ruler:"单击缩放",slide:"拖动缩放",zoomTips:{17:"街",11:"市",8:"省",4:"国"}},Scale:{m:"米",km:"公里",mile:"英里",feet:"英尺"},Time:{msec:"毫秒",sec:"秒",min:"分钟",hour:"小时"},Transfer:["乘坐","经过","站","到达","终点"],Direction:"东 东北 北 西北 西 西南 南 东南".split(" ")},t;t=navigator.systemLanguage||navigator.language,t=t.toLowerCase().split("-")[0];var Mb={POI:"poi",SYN:"syn",POI_SYN:"poi_syn",RN:"rn",BUSLS:"busls",BUS:"bus",DT:"dt",DTS:"dts",GEOC:"geoc",RGEOC:"rgeoc",GC:"gc",CC:"cc",NAV:"snsnav",WALK:"walk",POS:"pos",SG:"sg",TAXFEE:"taxfee"},sk=db;f(Wc,k);var Ef=Wc.prototype;Ef.send=function(){this.set("doSend",!0)},Ef.cancel=function(){this.set("doSend",!1)},Ef.clear=function(){this.set("doClear",!0)},ra(Wc.prototype,["complete",q(U,y),"error",q(U,y),"map",q(N(mb),y),"panel",q(yg,G,y)]);var Ad=function(e){var t=[];return Y(e,function(e,n){t.push(n+"="+encodeURIComponent(e))}),t.join("&")},Lg=function(e,t,n,r,l,i){return{id:e,latlng:t||null,heading:n||0,pitch:r||0,zoom:l||1,description:i||""}},ri=function(e){return 114.59155902616465*Math.atan(Math.exp(e/111319.49077777778*.017453292519943295))-90},Xl=Ua[4][3],To=Ua[4][2],Fk=k;Ua[4][0];var vk=Xb,tk=nb,uk=ac;f(fg,k),ra(fg.prototype,["gridSize",u,"minimumClusterSize",u,"maxZoom",u,"zoomOnClick",ba,"averageCenter",ba,"styles",la,"map",q(N(mb),y)]);var Yl=function(e,t){this.coords=e,this.type=t},te=function(e,t){this.content=e,this.offset=t||new R(0,0)},ue=function(e,t,n,r,l,i){this.url=e,this.size=t||l,this.origin=n||new R(0,0),this.anchor=r,this.scaledSize=l,this.shadowAngle=i||0},yk=Xb,xk=nb,Uh=d;f(kb,Mc),kb.prototype.changed=function(e){this.viewModel&&"constructed"!==e&&("icon"==e||"shadow"==e||"shape"==e||"cross"==e||"useDefaults"==e?this.viewModel.styleChange(e):"animation"==e?this.viewModel.animationChange(e):"height"==e?(this.viewModel.set(e,this.get(e)),this.viewModel.animationChange(e)):this.viewModel.set(e,this.get(e)))},kb.prototype.moveTo=wc("moveTo"),kb.prototype.moveAlong=wc("moveAlong"),kb.prototype.stopMove=wc("stopMove"),kb.prototype.pauseMove=wc("pauseMove"),kb.prototype.resumeMove=wc("resumeMove"),ra(kb.prototype,["position",q(N(A),y),"title",q(u,G,y),"icon",q(N(ue),G,y),"shadow",q(N(ue),y),"shape",q(N(Yl),y),"decoration",q(N(te),y),"cursor",q(G,y),"clickable",ba,"animation",q(u,G,y),"draggable",ba,"visible",ba,"flat",ba,"zIndex",u,"height",u,"map",q(N(mb),y),"rotation",u,"autoRotation",ba]);var Bk=ac,Ek=oe,Ak=wd,Vh=d,Ck=mi,gg=G,zk=Y,Gk=Ig,Dk={pano:null,position:null,zoom:1,scrollwheel:!0,visible:!0,disableDefaultUI:!1,autoResize:!0};f(xc,k);var We=xc.prototype;We._=function(){return this.V},ra(xc.prototype,["position",null,"planeInfo",null,"pano",q(gg,y),"pov",Ca,"zoom",function(e){return!(!u(e)||1>e||4<e)},"visible",ba]),We.startAutoPlay=hg("startAutoPlay"),We.stopAutoPlay=hg("stopAutoPlay"),f(yc,k),yc.prototype.panorama_changed=function(){var e=this;P.$require("pano",function(t){t(e)},1)},ra(yc.prototype,["position",q(N(A),y),"panorama",q(N(xc),y),"content",G,"altitude",u,"visible",ba]);var Hk=sd;f(Oc,k),Oc.prototype.map_changed=function(){var e=this;P.$require("layers",function(t){t(e)},1)},ra(Oc.prototype,["map",q(N(mb),y)]),nf.prototype.checkBounds=function(e,t){var n={has_sv:1,bound:e.toUrlValue()};Wh(null,n=Xl+"?"+Ad(n),function(e){t(e.detail.has_sv||0)})},nf.prototype.getPano=function(e,t,n){Wh("",To+"?lat="+e.lat+"&lng="+e.lng+"&r="+(t||500),function(e){if(e.detail.svid){var t=e.detail.road_name||"";"NA"===t&&(t=""),(e=new Lg(e.detail.svid,new A(ri(e.detail.y),e.detail.x/111319.49077777778),null,null,null,t)).svid=e.id,n(e)}else n(null)})};var Zl={NORMAL:0,BUS_STATION:1,SUBWAY_STATION:2,BUS_LINE:3,DISTRICT:4},si={BUS:"BUS",SUBWAY:"SUBWAY",WALK:"WALK"},$l={LEAST_TIME:0,LEAST_TRANSFER:1,LEAST_WALKING:2,MOST_ONE:3,NO_SUBWAY:4},am={LEAST_TIME:0,AVOID_HIGHWAYS:1,LEAST_DISTANCE:2,REAL_TRAFFIC:3,PREDICT_TRAFFIC:4},Ik=db,Kk=Xb,Jk=am;f(jc,Wc);var ti=jc.prototype;ti.search=function(e,t){var n=q(G,N(A),Ca);n(e)&&n(t)?(this.set("start",e),this.set("end",t),this.send()):n(e)?Ya("end",t):Ya("start",e)},ra(jc.prototype,["complete",q(U,y),"error",q(U,y),"location",G,"policy",u]),ti.setPolicy=function(e,t){this.set("policy",e),this.set("time",t)};var Lk=db,Nk=Xb,Mk=$l;f(kd,Wc),kd.prototype.search=function(e,t){var n=q(G,N(A),Ca);n(e)&&n(t)?(this.set("start",e),this.set("end",t),this.send()):n(e)?Ya("end",t):Ya("start",e)},ra(kd.prototype,["complete",q(U,y),"error",q(U,y),"location",G,"policy",u]);var Ok=db,Pk=Xb;f(kc,Wc),kc.prototype.searchById=function(e){this.set("info",e),this.send()},ra(kc.prototype,["complete",q(U,y),"error",q(U,y)]);var Qk=db,Rk=Xb;f(Rd,Wc),Rd.prototype.searchById=function(e){this.set("info",e),this.send()},ra(Rd.prototype,["complete",q(U,y),"error",q(U,y)]);var Tk=Xb,ig=Wc,Sk=d;f(of,ig);var Bd=of.prototype;Bd.searchLocalCity=function(){this.set("mode",0),this.set("info",null),this.send()},Bd.searchCityByName=function(e){this.set("mode",1),this.set("info",e),this.send()},Bd.searchCityByLatLng=function(e){this.set("mode",2),this.set("info",e),this.send()},Bd.searchCityByIP=function(e){this.set("mode",3),this.set("info",e),this.send()},Bd.searchCityByAreaCode=function(e){this.set("mode",4),this.set("info",e),this.send()};var Vk=Xb,jg=Wc,Uk=d;f(pf,jg);var ui=pf.prototype;ui.getAddress=function(e){this.set("qt",Mb.RGEOC),this.set("info",e),this.send()},ui.getLocation=function(e){this.set("qt",Mb.GEOC),this.set("info",e),this.send()};var Xh=Wc,Xk=d,Yk=Xb,Wk=db;f(ld,Xh);var Mg=ld.prototype;Mg.search=function(e){this.set("keyword",e),e=Mb.POI,2===this.get("mode")&&(e=Mb.BUSLS),this.set("qt",e),this.send()},Mg.searchInBounds=function(e,t){this.set("qt",Mb.POI_SYN),this.set("keyword",e),this.set("region",t),this.send()},Mg.searchNearBy=function(e,t,n,r){this.set("qt",Mb.RN),this.set("keyword",e),this.set("region",[t,n]),this.set("sortType",r||0),this.send()},ra(ld.prototype,["complete",q(U,y),"error",q(U,y),"pageIndex",u,"pageCapacity",u,"location",q(G,y)]);var ga={ERROR:"ERROR",NO_RESULTS:"NO_RESULTS",INVALID_REQUEST:"INVALID_REQUEST",UNKNOWN_ERROR:"UNKNOWN_ERROR"},Nb={POI_LIST:"POI_LIST",CITY_LIST:"CITY_LIST",AREA_INFO:"AREA_INFO",GEO_INFO:"GEO_INFO",STATION_INFO:"STATION_INFO",LINE_INFO:"LINE_INFO",TRANSFER_INFO:"TRANSFER_INFO",DRIVING_INFO:"DRIVING_INFO",MULTI_DESTINATION:"MULTI_DESTINATION",AUTOCOMPLETE_PREDICTION:"AUTOCOMPLETE_PREDICTION"},Zk=sd;f(md,k),md.prototype.map_changed=function(){var e=this;P.$require("layers",function(t){t(e)},0)},ra(md.prototype,["map",q(N(mb),y)]);var bm={DEFAULT:0},Cd=ma.prototype;Cd.getWidth=function(){return this.width},Cd.getHeight=function(){return this.height},Cd.toString=function(){return this.width+", "+this.height},Cd.equals=function(e){return!!e&&e.width==this.width&&e.height==this.height},Cd.clone=function(){return new ma(this.width,this.height)};var $k=nb,al=bm,Ng=kg.prototype;Ng.setMap=function(e){this.map&&(this.map.setOptions({scaleControl:!1}),this.map=void 0),e&&(this.map=e,this.setOptions(e.get("scaleControlOptions")))},Ng.setOptions=function(e){e=e||{},this.map.setOptions({scaleControl:!0,scaleControlOptions:{position:e.align||e.position}})};var ve={DEFAULT:0,LARGE:1,SMALL:2},Og={DEFAULT:0,SMALL:1,ZOOM_PAN:2},cl=ma,bl=nb,Le=Og,vi=lg.prototype;vi.setMap=function(e){this.map&&(this.map.setOptions({zoomControl:!1,panControl:!1}),this.map=void 0),e&&(this.map=e,this.setOptions(this.opts))},vi.setOptions=function(e){switch((e=e||{}).style){case Le.SMALL:this.map.setOptions({zoomControl:!0,zoomControlOptions:{position:e.position||e.align,style:ve.SMALL,zoomTips:e.zoomTips},panControl:!1});break;case Le.ZOOM_PAN:this.map.setOptions({zoomControl:!0,zoomControlOptions:{style:ve.SMALL,position:e.position||e.align,zoomTips:e.zoomTips},panControl:!0,panControlOptions:{position:e.position||e.align}});break;default:this.map.setOptions({zoomControl:!0,zoomControlOptions:{style:ve.DEFAULT,position:e.position||e.align,zoomTips:e.zoomTips},panControl:!0,panControlOptions:{position:e.position||e.align}})}};var dl=h,el=["position","style","mapTypeIds","align"];f(mg,k);var Yh=k,Da=d,Db=h,fl=eg;lc.prototype.add=function(e){e.mvcRN||(e.mvcRN=++this.count,this.views.push(e),!this.isRun&&0<this.count&&this.start())},lc.prototype.renderOne=function(e){delete e.mvcRN,e.draw()},lc.prototype.renderViews=function(){for(var e=null,t=this.views;e=t.shift();)e.mvcRN&&this.renderOne(e);this.count=0},lc.prototype.start=function(){this.isRun=!0;var e=this,t=this.anim,n=this.views;t.onEnterFrame=function(){n[0]?e.renderViews():e.stop()},t.onEnd=function(){e.isRun&&t.start()},t.delay=10,t.start()},lc.prototype.stop=function(){this.isRun=!1;var e=this.anim;delete e.onEnd,e.stop()};var Pg=new lc;f(Wa,Yh);var ya=Wa.prototype;ya.redraw=function(e){e?this.forcedraw():Pg.add(this)},ya.forcedraw=function(){Pg.renderOne(this)},ya.draw=function(){},ya.dispose=function(){Da.removeListener(this._fdrawListener)},ya.triggerEvents=function(e,t,n){var r=this._model;if(r){if(Re(t))for(var l=new Ke(t),i=this,a=0,s=e.length;a<s;a++)l.addListener(e[a],function(e,t){return function(n){var r=i.getMouseContainerPixel(n);n=new ic(i.getMouseEventLatLng(n,r),r,t,e,n),Da.trigger(e,t,n)}}(r,e[a]));if(null==t||t==r){for(t=new ic,l=0,a=n.length;l<a;l+=2)t[n[l]]=n[l+1];t.target=r,t.type=e,Da.trigger(r,e,t)}}},ya.triggerMapsEvent=function(e,t){var n=null,r=null,l=this._model;l&&(t&&(n=this.getMouseContainerPixel(t),r=this.getMouseEventLatLng(t,n)),n=new ic(r,n,e,l,t),Da.trigger(l,e,n))},ya.triggerCustomEvent=function(e,t,n){n=n||{};var r=null,l=this._model;if(l){if(t){var i=l.get("map")||l;i&&(i=i.get("mapCanvasProjection"))&&(r=i.fromLatLngToContainerPixel(t))}var a=new ic(t,r,e,l,null,n.cursorPixel);n&&Y(n,function(e,t){a[t]=e}),Da.trigger(l,e,a)}},ya.forwardEvents=function(e){var t=this._model;if(t){t._eventTaget||(t._eventTaget={});for(var n=0,r=e.length;n<r;n++)Da.forward(t._eventTaget,e[n],this)}},ya.getMouseEventLatLng=function(e,t){var n=this._model;if(n&&(n=n.get("map")||n))return t=t||this.getMouseContainerPixel(e),(n=n.get("mapCanvasProjection"))&&n.fromContainerPixelToLatLng(t,!0)},ya.getMouseEventPoint=function(e){var t=this._model;if(t&&(t=t.get("map")||t))return e=this.getMouseContainerPixel(e),t.get("mapCanvasProjection").fromContainerPixelToPoint(e)},ya.getMouseContainerPixel=function(e){var t=this._model;if(t)return t=(t=t.get("map")||t).get("mapContainer")||t.getContainer(),t=se(t),new R((e=Kg(e))[0]-t[0],e[1]-t[1])},ya.getModel=function(){return this._model},ya.keysReady=function(e,t,n){ng(this,e,t,function(e,t){var r=!0;return Db(e,function(e,l){if(n&&ba(n(e,t[l]))||(null===e||Wb(e)))return r=!1}),r})},ya.keysUnReady=function(e,t,n){ng(this,e,t,function(e,t){var r=!1;return Db(e,function(e,l){var i;if(n&&ba(i=n(e,t[l]))?i:null===e||Wb(e))return r=!0,!1}),r})},f(nd,Wa);var wi=nd.prototype;wi.changed=function(e){this.a[e]=!0,this.redraw()},wi.draw=function(){var e=this.get("map"),t=this.get("content"),n=this.get("visible"),r=this.a,l=this.l;if(this.a={},e&&t&&!1!==n){var i=this.get("align")||wd.TOP_CENTER;if((n=this.e)||(n=this.e=T("div")),r.map||r.align){var a=this.e;l&&a&&l.remove(a),(l=this.l=e.controls[i]).push(n)}r.content&&(og(n),G(t)?n.innerHTML=t:n.appendChild(t)),r.margin&&(e=this.get("margin")||new ma(0,0),n.style.margin=[e.getWidth()+"px",e.getHeight()+"px",e.getWidth()+"px",e.getHeight()+"px"].join(" ")),n&&d.trigger(n,"resize")}else e=this.e,l&&e&&l.remove(e),og(this.e)},ra(nd.prototype,["map",q(N(mb),y),"content",q(G,yg),"align",u,"margin",N(ma),"zIndex",u,"visible",ba]);var gl=nb,hl=Xb;f(Me,Mc),ra(Me.prototype,["map",q(N(mb),y),"imageUrl",q(G,y),"bounds",q(N(qb),y),"visible",ba,"clickable",ba,"cursor",G,"zIndex",q(u,y),"opacity",q(u,y)]);var il=nb,jl=Xb;f(qf,Mc),ra(qf.prototype,["map",q(N(mb),y),"position",q(N(A),y),"content",q(G,y),"title",q(G,y),"visible",ba,"zIndex",q(u,y),"offset",q(N(ma),y),"style",q(Ca,G,y),"clickable",ba]);var kl=nb,ll=Xb,Zh=Mc;f(Ne,Zh),ra(Ne.prototype,["map",q(y,N(mb)),"position",q(y,N(A),N(k)),"content",q(G,yg,y),"zIndex",u]),Ne.prototype.open=function(){this.set("visible",!0),this.get("disableAutoPan")||this.notify("autoPan")},Ne.prototype.close=function(){this.set("visible",!1)},Ne.prototype.notifyResize=function(){this.notify("resize")};var pg=Je;f($h,pg),$h.prototype.getBounds=function(){var e=this.get("center"),t=this.get("radius"),n=null;if(e)if(0>=t)n=new qb(e.clone(),e.clone());else{var r=t/6378137,l=(t=(l=e.getLat())+(i=180*r/Math.PI),n=l-i,Math.cos(l*Math.PI/180)),i=360*Math.asin(r/2/l)/Math.PI;l=e.getLng()+i,n=new qb(new A(n,e=e.getLng()-i),new A(t,l))}return n};var bi=Sh;f(ai,bi);var ci=dg;f(od,ci);var qg=fg;f(rf,qg);var pc=rf.prototype;pc.addMarker=function(e){this.clusterView.addMarker(e)},pc.removeMarker=function(e){var t=this.get("markers");t&&(t.remove(e),this.clusterView.removeMarker(e))},pc.addMarkers=function(e){var t=this.get("markers");h(e,function(e){t.push(e)}),this.clusterView.redraw()},pc.removeMarkers=function(e){var t=this.get("markers");h(e,function(e){t.remove(e)}),this.clusterView.removeMarkers(e)},pc.clearMarkers=function(){var e=this.get("markers");this.clusterView.removeMarkers(e.elems.slice()),e.clear()},pc.getMarkers=function(){return this.get("markers")},pc.getClustersCount=function(){return this.clusterView.getClusterCount()},pc.updateView=function(){return this.clusterView.reloadView()};var cm={BOUNCE:1,DROP:2,UP:3,DOWN:4},rg=kb;f(qe,rg);var nl=oe,ol=$f,ml=db,zc=L;f(sf,k),ra(sf.prototype,["opacity",q(u,y)]);var dm=function(e){var t;return function(){return e&&(t=e(),e=null),t}},nn=Ua[3][1],Xe=function(){return window.devicePixelRatio||screen.deviceXDPI&&screen.deviceXDPI/96||1},xi=dm(function(){var e=document.createElement("canvas");return e.width=16,e.height=16,!(!e||!e.getContext)}),Ff=nn,Ff=Ff+"?appid=jsapi&logid=0&v=",yi=ii[1],Qg=Ua[6][2],pl=qe,sg=d;f(pd,k);var Za=pd.prototype;Za.remove=function(){this.icon.set("map",null),this.markers.length=0,sg.removeListener(this.clickListener),delete this.markers,delete this.icon,delete this.markerCluster,delete this.clickListener},Za.addMarker=function(e){this.isMarkerAlreadyAdded(e)||(this.markers.push(e),this.updateCenter(e.get("position")),this.redraw())},Za.redraw=function(){var e=this,t=this.markerCluster.get("minimumClusterSize")||1,n=this.markers,r=this.map,l=n.length>=t;h(n,function(t){t.isClustered=l,e.markerCluster.setMarkerDisplay(t,!l)}),this.updateIcon(),this.icon.set("map",l?r:null),this.icon.set("position",l?this.center:null)},Za.updateCenter=function(e){var t=this.get("center");if(t){if(this.markerCluster.get("averageCenter")){var n=this.markers.length;this.set("center",new A((t.lat*(n-1)+e.lat)/n,(t.lng*(n-1)+e.lng)/n))}}else this.set("center",e)},Za.updateIcon=function(){var e=(r=this.markerCluster.getStyles()).length,t=this.markerCluster.getCalculator(this.markers,e),n=Math.max(0,t.index-1),r=(e=r[n=Math.min(e-1,n)]).icon;t=(e=e.text).content.replace(/\{(\w+)\}/g,t.text),t=new te(t,e.offset);this.icon.set("decoration",t),this.icon.set("icon",r)},Za.isMarkerAlreadyAdded=function(e){return-1!==Ve(this.markers,e)},Za.getMarkers=function(){return this.markers},Za.getBounds=function(){var e=this.get("center");if(!e)return null;var t={},n=new qb(e,e);return h(this.markers,function(e){n.extend(e.get("position"))}),t.info=n.lat.maxY==n.lat.minY&&n.lng.maxY==n.lng.minY?-1:0,t.bounds=n,t};var B={};B.event=d,B.MVCObject=k,B.MVCArray=ac,B.LatLng=A,B.LatLngBounds=qb,B.Size=ma,B.Point=R,B.Color=Jb,B.Map=mb,B.MapTypeId=xd,B.MapZoomType=Bf,B.MapTypeRegistry=pe,B.MapStyleId=wa,B.MapStyleRegistry=Nd,B.ImageMapType=sf,B.Overlay=Mc,B.Marker=qe,B.MarkerImage=ue,B.MarkerShape=Yl,B.MarkerAnimation=cm,B.MarkerDecoration=te,B.Cluster=pd,B.MarkerCluster=rf,B.Polyline=od,B.Polygon=ai,B.Circle=$h,B.InfoWindow=Ne,B.Label=qf,B.GroundOverlay=Me,B.ControlPosition=wd,B.Control=nd,B.ALIGN={TOP_LEFT:5,TOP:2,TOP_RIGHT:3,LEFT:4,CENTER:13,RIGHT:8,BOTTOM_LEFT:10,BOTTOM:11,BOTTOM_RIGHT:12,isTop:function(e){return 3>e},isMiddle:function(e){return 2<e&&6>e},isBottom:function(e){return 5<e},isLeft:function(e){return 0==e%3},isCenter:function(e){return 1==e%3},isRight:function(e){return 2==e%3}},B.MapTypeControl=mg,B.NavigationControl=lg,B.NavigationControlStyle=Og,B.ZoomControlStyle=ve,B.ScaleControl=kg,B.ScaleControlStyle=bm,B.TrafficLayer=md,B.ServiceResultType=Nb,B.ServiceErrorType=ga,B.SearchService=ld,B.Geocoder=pf,B.CityService=of,B.StationService=Rd,B.LineService=kc,B.TransferService=kd,B.DrivingService=jc,B.DrivingPolicy=am,B.TransferPolicy=$l,B.TransferActionType=si,B.PoiType=Zl,B.Panorama=xc,B.PanoramaService=nf,B.PanoramaLayer=Oc,B.PanoramaLabel=yc;var Uo=function(e){e=Ff+Se+"&c="+(xi?1:0)+"&d="+Xe()+"&sl="+e,window.Object&&Object.defineProperty&&(e+="&es5=1"),El(e)};Y(B,function(e,t){Te(t,e)});var Vo=new Date;Gg(function(){if(yi&&Uo(Vo-yi),Qg){var a="window."+Qg;setTimeout(function(){eval('"use strict";'+a+"()")},0)}"undefined"!=typeof navigator&&-1!=navigator.userAgent.toLowerCase().indexOf("msie")&&d.addDomListener(window,"unload",d.unload)});var Yb=Ua[1][2],tg=Wa,zi=R,Wo=ma,Xo=ue,Yo=te,Zo=Yb,$o=d,ap=L,qc=h;f(tf,tg);var ja=tf.prototype;ja.map_changed=function(){this.ready&&this.destroy(),this.get("map")&&this.construct()};var Rg="gridSize minimumClusterSize maxZoom zoomOnClick averageCenter styles".split(" ");ja.construct=function(){this.ready=!0;var e=this.getModel();this.bindsTo(Rg,e),this.addEvents()},ja.destroy=function(){this.ready=!1,this.unbinds(Rg),this.removeEvents()},ja.changed=function(e){("gridSize"===e||"maxZoom"===e||"minimumClusterSize"===e)&&this.reloadView()},ja.averageCenter_changed=function(){this.reloadView()},ja.calculator_changed=function(){qc(this.clusters,function(e){e.updateIcon()})},ja.styles_changed=function(){qc(this.clusters,function(e){e.updateIcon()})},ja.reloadView=function(){if(this.ready){var e=this.clusters.slice();this.clusters.length=0,this.resetViewport(),e[0]&&window.setTimeout(function(){qc(e,function(e){e.remove()})},50),this.redraw()}},ja.addEvents=function(){function e(e,n,l){r.push($o.addListener(e,n,ap(l,t)))}var t=this,n=t.get("map"),r=t._evts=[],l=null;e(n,"zoom_changed",function(){var e=n.get("zoom");l!==e&&(l=e,this.resetViewport())}),e(n,"idle",t.redraw)},ja.removeEvents=function(){var e=this._evts;e&&(qc(e,function(e){e.remove()}),delete this._evts)},ja.addMarker=function(e){this.markers.push(e),this.redraw()},ja.removeMarker=function(e){this.setMarkerDisplay(e,!0),this.markers.remove(e),e.setMap(null),e.isAdded&&delete e.isAdded,this.reloadView()},ja.removeMarkers=function(e){var t=this;qc(e,function(e){e.isAdded&&delete e.isAdded,t.markers.remove(e),e.setMap(null)}),this.reloadView()},ja.setMarkerDisplay=function(e,t){if(t){var n=this.get("map");n&&e.set("map",n)}else e.set("map",null)},ja.doClusterClick=function(e){this.triggerCustomEvent("clusterclick",e.center,{markers:e.markers});var t=this.get("map");t&&this.get("zoomOnClick")&&(e=e.getBounds())&&(-1!=e.info||t.getZoom()!=t.maxZoom)&&t.fitBounds(e.bounds)},ja.isMarkerInMapDisplay=function(e){return e.get("map")===this.get("map")&&e.get("visible")&&e.get("position")},ja.getClusterCount=function(){var e=this.get("minimumClusterSize"),t=0;return qc(this.clusters,function(n){n.getMarkers().length>=e&&t++}),t},ja.draw=function(){if(this.ready){var e=this,t=e.get("map"),n=t.get("zoom"),r=e.get("maxZoom");if(r&&n>r)e.markers.forEach(function(t){e.setMarkerDisplay(t,!0)});else if(t=t.getBounds()){var l=e.getExtendedBounds(t);e.markers.forEach(function(t){!t.isAdded&&e.isMarkerInBounds(t,l)&&(e.addToClosestCluster(t),t.isAdded=!0)})}}},ja.resetViewport=function(){qc(this.clusters,function(e){e.remove()}),this.markers.forEach(function(e){e.isAdded=!1,e.isClustered=!1}),this.clusters.length=0},ja.addToClosestCluster=function(e){var t=4e4,n=null,r=this,l=e.get("position"),i=r.clusters;return qc(i,function(e){var i=e.get("center");i&&(i=r.distanceBetweenPoints(i,l))<t&&(t=i,n=e)}),n&&this.isMarkerInClusterBounds(n,e)?n.addMarker(e):((n=new pd(this)).addMarker(e),i.push(n)),n},ja.isMarkerInClusterBounds=function(e,t){var n=e.get("center");return this.getExtendedBounds(new qb(n,n)).contains(t.get("position"))},ja.isMarkerInBounds=function(e,t){return t.contains(e.get("position"))},ja.getExtendedBounds=function(e){var t=this.get("map").get("mapCanvasProjection"),n=parseInt(this.get("gridSize"))||60,r=e.getNorthEast(),l=e.getSouthWest();return(r=t.fromLatLngToDivPixel(r)).x+=n,r.y-=n,(l=t.fromLatLngToDivPixel(l)).x-=n,l.y+=n,n=t.fromDivPixelToLatLng(r),t=t.fromDivPixelToLatLng(l),e.extend(n),e.extend(t),e},ja.distanceBetweenPoints=function(e,t){if(!e||!t)return 0;var n=Math.PI,r=(t.getLat()-e.getLat())*n/180,l=(t.getLng()-e.getLng())*n/180;n=Math.sin(r/2)*Math.sin(r/2)+Math.cos(e.getLat()*n/180)*Math.cos(t.getLat()*n/180)*Math.sin(l/2)*Math.sin(l/2);return 12742*Math.atan2(Math.sqrt(n),Math.sqrt(1-n))},ja.getCalculator=function(e,t){if(n=this.get("calculator"))return n(e,t);for(var n=0,r=e.length,l=r;0!==l;)l=parseInt(l/10,10),n++;return{text:r,index:n=Math.min(n,t)}},ja.getStyles=function(){return this.get("styles")||this.getModel().set("styles",bp()),this.get("styles")};var bp=function(){var e=null;return function(){return e||(e=function(){var e=Zo+"default/imgs/markercluster/m",t=[];return qc([53,56,66,78,90],function(n,r){t.push({icon:new Xo(e+(r+1)+".png",new Wo(n,n),new zi(0,0),new zi(n/2,n/2)),text:new Yo("{num}")})}),t}())}}(),wk=tf,bb=window.localStorage,cp=bb&&bb.setItem&&bb.getItem,rl=Ua[1][1],Ai=Ua[1][0],Qe=Se,sl=Ua[1][3],Ab={set:function(e,t){try{null!=t?bb.setItem(e,t):bb.removeItem(e)}catch(e){return null}},get:function(e){try{return bb.getItem(e)}catch(e){return null}},forIn:function(e){try{for(var t in bb)e(bb[t],t)}catch(e){}},support:function(){return cp}},Pc={main:[],common:["main"],ea:["common"],ec:["common"],map:["common"],c0:["map"],c1:["c0"],c3:["c0","common"],pc:["c0"],c2:["map"],c4:["map"],oy:["map","common"],layers:["map"],marker:["map"],infowin:["map"],label:["map","common"],poly:["map"],pe:["poly"],sv:["map"],autocomplete:["sv"],drawingimpl:["map"],dmimpl:["map"],pano:["common"],c5:["common"],eb:["main"],place:["main"],geometry:["main"],drawing:["main"],convertor:["main"]},tl=Ai+"c/=/",ul=Ai,di=5,Sg={},Ib={},Gf={},Cc;for(Cc in Pc)if(Pc.hasOwnProperty(Cc)){var we=Pc[Cc];we[0]&&(Sg[we[0]]=!0),Gf[Cc]=[],Ib[Cc]=Ib[Cc]||[];for(var Tg=we.length;Tg--;){var Ug=we[Tg];Ib[Ug]?Ib[Ug].push(Cc):Ib[Ug]=[Cc]}}var rc={},xe={},Bi,ug="QMAPI_",xl=Qe.split(/\./).join(""),Vg={},fi=function(e,t){if(!rc.hasOwnProperty(e)){var n=Pc[e],r=Ib[e],l=vl(n.length,function(){var n=t;Bi=e,Sg[e]&&(n+=";(0,function(){return eval(arguments[0])})"),n=xe[Pc[e][0]](n),xe[e]||(xe[e]=n),rc.hasOwnProperty(e)||(rc[e]=void 0);for(var l=0,i=(n=Gf[e]).length;l<i;l++)n[l](rc[e]);for(n=r.length;n--;)l=r[n],Vg[l]&&Vg[l]()});Vg[e]=l;for(var i=n.length;i--;)rc.hasOwnProperty(n[i])&&l();Ab.support()&&(n=ug+Qe.split(/\./).join("")+"_"+e,!Ab.get(n)&&t&&Ab.set(n,t))}};window.__cjsload=fi;var Oe={},uf=[],Pe;Ab.support()&&wl();var P={$require:function(e,t,n){rc.hasOwnProperty(e)?(e=rc[e],t(void 0===n?e:e[n])):(ei(e),Gf[e].push(void 0===n?t:function(e){t(e[n])}))},$initMain:function(e,t){xe[e]=t,Oe[e]=!0,rc[e]=void 0},$setExports:function(e){rc[Bi]=e}};P.$initMain("main",function(){return eval(arguments[0])}),P.$setExports(Vb)}(),__cjsload("geometry","'use strict';var a=function(a,b){var c=W(a.getLat()),d=W(b.getLat());return 2*Math.asin(Math.sqrt(Math.pow(Math.sin((c-d)/2),2)+Math.cos(c)*Math.cos(d)*Math.pow(Math.sin((W(a.getLng())-W(b.getLng()))/2),2)))},b=N(ac),c=function(c,d){var e=d||Fb;b(c)&&(c=c.getArray());for(var f=c[0],h=0,k=1,q=c.length-1;k<q;++k){for(var u=f,y=c[k],A=c[k+1],B=[u,y,A,u],u=[],A=y=0;3>A;++A)u[A]=a(B[A],B[A+1]),y+=u[A];y/=2;B=Math.tan(y/2);for(A=0;3>A;++A)B*=Math.tan((y-u[A])/2);u=4*Math.atan(Math.sqrt(Math.abs(B)));y=f;A=c[k];B=c[k+1];y=[y,A,B];A=[];for(B=0;3>B;++B){var F=y[B],G=W(F.getLat()),F=W(F.getLng()),E=A[B]=[];E[0]=Math.cos(G)*Math.cos(F);E[1]=Math.cos(G)*Math.sin(F);E[2]=Math.sin(G)}h+=u*(0<A[0][0]*A[1][1]*A[2][2]+A[1][0]*A[2][1]*A[0][2]+A[2][0]*A[0][1]*A[1][2]-A[0][0]*A[2][1]*A[1][2]-A[1][0]*A[0][1]*A[2][2]-A[2][0]*A[1][1]*A[0][2]?1:-1)}return h*e*e},d=function(b,c,d){return a(b,c)*(d||Fb)},f=N(ac),h={};h.spherical={computeArea:function(a,b){return Math.abs(c(a,b))},computeDistanceBetween:d,computeHeading:function(a,b){var c=W(a.getLat()),d=W(b.getLat()),e=W(b.getLng())-W(a.getLng());return xf(Wd(Math.atan2(Math.sin(e)*Math.cos(d),Math.cos(c)*Math.sin(d)-Math.sin(c)*Math.cos(d)*Math.cos(e))),-180,180)},computeLength:function(a,b){var c=b||Fb,h=0;f(a)&&(a=a.getArray());for(var k=0,q=a.length-1;k<q;++k)h+=d(a[k],a[k+1],c);return h},computeOffset:function(a,b,c,d){b/=d||Fb;c=W(c);var e=W(a.getLat());d=Math.cos(b);b=Math.sin(b);var f=Math.sin(e),e=Math.cos(e),h=d*f+b*e*Math.cos(c);return new A(Wd(Math.asin(h)),Wd(W(a.getLng())+Math.atan2(b*e*Math.sin(c),d-f*h)))},computeOffsetOrigin:function(a,b,c,d){c=W(c);b/=d||Fb;d=Math.cos(b);var e=Math.sin(b)*Math.cos(c);b=Math.sin(b)*Math.sin(c);c=Math.sin(W(a.getLat()));var f=e*e*d*d+d*d*d*d-d*d*c*c;if(0>f)return null;var h=e*c+Math.sqrt(f),h=h/(d*d+e*e),k=(c-e*h)/d,h=Math.atan2(k,h);if(h<-Math.PI/2||h>Math.PI/2)h=e*c-Math.sqrt(f),h=Math.atan2(k,h/(d*d+e*e));return h<-Math.PI/2||h>Math.PI/2?null:new A(Wd(h),Wd(W(a.getLng())-Math.atan2(b,d*Math.cos(h)-e*Math.sin(h))))},computeSignedArea:c,interpolate:function(b,c,d){var e=W(b.getLat()),f=W(b.getLng()),h=W(c.getLat()),k=W(c.getLng()),q=Math.cos(e),u=Math.cos(h);c=a(b,c);var y=Math.sin(c);if(1e-6>y)return new A(b.getLat(),b.getLng());b=Math.sin((1-d)*c)/y;d=Math.sin(d*c)/y;c=b*q*Math.cos(f)+d*u*Math.cos(k);f=b*q*Math.sin(f)+d*u*Math.sin(k);return new A(Wd(Math.atan2(b*Math.sin(e)+d*Math.sin(h),Math.sqrt(c*c+f*f))),Wd(Math.atan2(f,c)))}};Te(\"geometry\",h)")}var maps={init:function(e,t){var n="__callback"+Date.now();window[n]=function(){delete window[n];var e=qq.maps;for(var r in e)e.hasOwnProperty(r)&&(maps[r]=e[r]);"function"==typeof t&&t()},init(e,n)}},script$a={name:"Personnel",components:{Pagination:Pagination},filters:{},data:()=>({lastItem:[],tableData:[],customerData:[],trtExitObj:{},allState:{},ModifyClockVisible:!1,dialogVisibleExp:!1,dialogVisible:!1,loadExp:!1,startDate:[],dialogStatus:"",textMap:{update:"编辑",create:"创建"},tableKey:0,list:null,total:0,listLoading:!0,listQuery:{pageNo:1,size:20},loading:!1,options:[],AutoComplete:null,marker:"",marker:"",geoCoder:null,keywords:"",customData:[],contacts:[],dialogFormVisible:!1,dialogPvVisible:!1,rules:{wxUserId:[{required:!0,message:"请选择联系人姓名",trigger:"change"}],medicalNo:[{required:!0,message:"请输入社保卡号",trigger:"blur"}],trtExitRea:[{required:!0,message:"请输入终止原因",trigger:"blur"}],name:[{required:!0,message:"请输入客户姓名",trigger:"blur"}],phoneNumber:[{required:!0,message:"请输入手机号码",trigger:"blur"}],address:[{required:!0,message:"请输入现居住地址",trigger:"blur"}],birthday:[{required:!0,message:"请选择出生日期",trigger:"blur"}],startTime:[{required:!0,message:"请选择合同服务开始时间",trigger:"blur"}],endTime:[{required:!0,message:"请选择合同服务结束时间",trigger:"blur"}]},temp:{},userInfo:{},downloadLoading:!1,map:null}),computed:{totalNumber:()=>function(e){console.log(e);let t=0;if("签到信息"==e.title)return"";for(var n in e)"projectId"!=n&&"needNum"!=n&&"price"!=n&&"title"!=n&&"hejizongjia"!=n&&"titleNew"!=n&&"num"!=n&&(t+=Number(e[n]));return t}},created(){this.userInfo=JSON.parse(getUserInfoRole()),this.getList(),this.getCustom()},mounted(){},methods:{ModifyClockConfig(){this.$confirm("此操作将为客户创建打卡预制项 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{WxClockItemFormulateSave({list:this.tableData,familyId:this.temp.id}).then(e=>{if(1==e.status)return this.$notify({title:"提示",message:e.info,type:"success",duration:4e3}),this.ModifyClockVisible=!1,void this.getList();this.$notify({title:"提示",message:e.info,type:"error",duration:4e3})})}).catch(()=>{this.$message({type:"info",message:"已取消"})})},cellEdit(e,t,n){"签到信息"!=e.title&&(e[n]=t,e.isEdit=!0)},onBlur(e,t,n){""==e[n]&&(e[n]="0"),e.isEdit=!1},modifyClock(e){this.ModifyClockVisible=!0,this.temp=e,this.lastItem=[],this.tableData=[],getFormulate({familyId:e.id}).then(e=>{this.tableData=e.result.map(e=>(e.isEdit=!1,e));const t=e.result[e.result.length-1];for(var n in this.objectOrder(t))"title"!=n&&"num"!=n&&"price"!=n&&"needNum"!=n&&"projectId"!=n&&this.lastItem.push({label:t[n]?n:"",value:t[n]});console.log(this.lastItem)})},objectOrder(e){const t=Object.keys(e).sort().filter(e=>e.startsWith("day")).sort((e,t)=>parseInt(e.slice(3))-parseInt(t.slice(3)));t.push("needNum","num","projectId","title");for(var n={},r=0;r<t.length;r++)n[t[r]]=e[t[r]];return n},searchSelect(e){console.log(e)},huoqu(){WxUserFamilySysUser({certno:this.temp.certno}).then(e=>{if(console.log("三方信息"),console.log(e.result),1==e.status){if(this.$notify({title:"同步成功",message:e.info,type:"success",duration:2e3}),18===this.temp.certno.length){const t=this.temp.certno.substr(6,8);e.result.birthday=t.replace(/(.{4})(.{2})/,"$1-$2-")}return this.temp=e.result,("01"==this.userInfo.unitType&&"07"!=this.temp.nurscareWay||"02"==this.userInfo.unitType&&"01"!=this.temp.nurscareWay)&&this.$message({message:"客户护理方式与机构类型不匹配",type:"warning"}),void("01"==this.userInfo.unitType&&this.userInfo.unitCountyCode!=this.temp.medicalCounty&&this.$message({message:"客户与机构的辖区不一致",type:"warning"}))}this.$notify({title:"同步失败",message:e.info,type:"error",duration:2e3})})},handleClose(){this.dialogVisibleExp=!1,this.dialogVisible=!1,this.startDate=[]},expExcel(){try{this.loadExp=!0;const e={startDate:this.startDate[0],endDate:this.startDate[1]};ExportExcelInfoWX(e).then(e=>{const t=new Blob([e]);if(t.size>0){const e=document.createElement("a");e.style.display="none",e.href=URL.createObjectURL(t),e.download=`客户信息/${this.$moment().format("YYYY-MM-DD")}.xlsx`,document.body.appendChild(e),e.click(),URL.revokeObjectURL(e.href),document.body.removeChild(e)}this.handleClose(),this.loadExp=!1}).catch(()=>{this.loadExp=!1})}catch(e){this.loadExp=!1,console.log(e)}},initAMap(){AMapLoader.load({key:"3bd68974947ab074c863ad28dfe2fc5c",version:"2.0",plugins:["AMap.Scale","AMap.ToolBar","AMap.ControlBar","AMap.Geocoder","AMap.Marker","AMap.CitySearch","AMap.Geocoder","AMap.Geolocation","AMap.AutoComplete","AMap.InfoWindow"]}).then(e=>{this.map=new e.Map("amapcontainer",{resizeEnable:!0,zoom:this.zoom,zoomEnable:!0,dragEnable:!0,doubleClickZoom:!0,zoom:13,center:[120.699366,27.994267]}),e.plugin(["AMap.ToolBar"],()=>{this.map.addControl(new e.ToolBar)}),this.geoCoder=new e.Geocoder({radius:1e3,extensions:"all"}),this.AutoComplete=new e.AutoComplete({city:"全国"}),this.map.on("click",e=>{this.keywords="",this.temp.lng=e.lnglat.lng,this.temp.lat=e.lnglat.lat,this.removeMarker(),this.setMapMarker(),this.toGeoCoder()})}).catch(e=>{console.log(e)})},remoteMethod(e){""!==e?(this.loading=!0,this.options=[],console.log(this.options),setTimeout(()=>{this.loading=!1,this.AutoComplete.search(e,(e,t)=>{this.options=t.tips})},200)):this.options=[]},currentSelect(e){console.log(e),e&&(e.location&&(this.temp.lng=e.location.lng,this.temp.lat=e.location.lat),this.toGeoCoder(),this.removeMarker(),this.setMapMarker())},toGeoCoder(){const e=[this.temp.lng,this.temp.lat];this.geoCoder.getAddress(e,(e,t)=>{"complete"===e&&t.regeocode&&(console.log(t.regeocode),this.$set(this.temp,"city",t.regeocode.addressComponent.city),this.$set(this.temp,"county",t.regeocode.addressComponent.district),this.$set(this.temp,"address",t.regeocode.formattedAddress))})},setMapMarker(){this.map.setFitView(),this.marker=new AMap.Marker({map:this.map,position:[this.temp.lng,this.temp.lat]}),this.map.setFitView(),this.map.add(this.marker)},removeMarker(){this.marker&&this.map.remove(this.marker)},getCustom(){WxUserCustomAll().then(e=>{this.customData=e.result.map(e=>({label:e.nickName,value:e.id,phoneNumber:e.phoneNumber}))}),customAll().then(e=>{this.contacts=e.result.map(e=>({label:e.nickName,value:e.id,phoneNumber:e.phoneNumber}))})},changeUser(e){for(var t=0;t<this.customData.length;t++)this.customData[t].value==e&&(this.temp.wxUserPhoneNumber=this.customData[t].phoneNumber)},getList(){this.listLoading=!0,WxUserFamilyPage(this.listQuery).then(e=>{this.list=e.result.data,this.total=e.result.count,setTimeout(()=>{this.listLoading=!1},1500)}),WxUserFamilyAll().then(e=>{this.customerData=e.result.map(e=>({label:e.name,value:e.name}))})},handleModifyStatus(e,t){this.$message({message:"操作成功",type:"success"}),e.status=t},resetting(e){this.$nextTick(()=>{this.$refs[e].resetFields(),this.getList()})},add(){this.dialogStatus="create",this.dialogFormVisible=!0,this.temp={},this.initAMap()},onSubmit(){this.getList()},createData(){this.$refs.temp.validate(e=>{e&&WxUserFamilySave(this.temp).then(e=>{if(1==e.status)return this.dialogFormVisible=!1,this.getList(),void this.$notify({title:e.info,message:"新增成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"新增失败",type:"error",duration:2e3})})})},updateData(){this.$refs.temp.validate(e=>{e&&WxUserFamilySave(this.temp).then(e=>{if(1==e.status)return this.dialogFormVisible=!1,this.getList(),void this.$notify({title:e.info,message:"更新成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"更新失败",type:"error",duration:2e3})})})},edit(e){this.temp=e,this.temp.wxUser=e.wxUserId,this.dialogStatus="update",this.dialogFormVisible=!0,this.initAMap()},handleDelete(e,t){this.dialogVisible=!0,this.allState.id=e.id},handleStatus(e){this.$confirm("此操作将更改状态, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{updateIsDel(e).then(e=>{if(1==e.status)return this.getList(),void this.$notify({title:"修改成功",message:e.info,type:"success",duration:2e3});this.$notify({title:"修改失败",message:e.info,type:"error",duration:2e3})})}).catch(()=>{this.$message({type:"info",message:"已取消"})})},termination(){this.trtExitObj.id=this.allState.id,WxUserFamilyDel(this.trtExitObj).then(e=>{if(1==e.status)return this.getList(),this.$notify({title:"删除成功",message:e.info,type:"success",duration:2e3}),void(this.dialogVisible=!1);this.$notify({title:"删除失败",message:e.info,type:"error",duration:2e3})})}}};const __vue_script__$a=script$a;var __vue_render__$a=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"app-container"},[n("div",{staticClass:"filter-container"},[n("el-form",{ref:"listQuery",staticClass:"demo-form-inline",attrs:{inline:!0,model:e.listQuery}},[n("el-form-item",{attrs:{label:"客户姓名",prop:"name"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择客户"},model:{value:e.listQuery.name,callback:function(t){e.$set(e.listQuery,"name",t)},expression:"listQuery.name"}},e._l(e.customerData,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.label}})}),1)],1),e._v(" "),n("el-form-item",{attrs:{label:"手机号码",prop:"phoneNumber"}},[n("el-input",{attrs:{size:"small",clearable:"",placeholder:"请输入手机号码"},model:{value:e.listQuery.phoneNumber,callback:function(t){e.$set(e.listQuery,"phoneNumber",t)},expression:"listQuery.phoneNumber"}})],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"primary"},on:{click:e.onSubmit}},[e._v("查询")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"warning"},on:{click:function(t){return e.resetting("listQuery")}}},[e._v("重置")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"success"},on:{click:e.add}},[e._v("新增")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"primary"},on:{click:function(t){e.dialogVisibleExp=!0}}},[e._v("导出")])],1)],1)],1),e._v(" "),n("el-table",{staticStyle:{width:"100%"},attrs:{border:"",height:"65vh",data:e.list}},[n("el-table-column",{attrs:{label:"护理机构",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.unitName))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"客户姓名",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.name))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"客户手机号码",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.phoneNumber))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"身份证号",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.idCode?r.idCode:"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"行政区划",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.city))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"辖区",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.county))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"现居住地址",align:"center",width:"300"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.address))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"评估等级",align:"center",width:"150"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return["06"==r.lv?n("el-tag",{attrs:{type:"success"}},[e._v("重度失能ⅠⅠⅠ级")]):e._e(),e._v(" "),"05"==r.lv?n("el-tag",{attrs:{type:"success"}},[e._v("重度失能ⅠⅠ级")]):e._e(),e._v(" "),"04"==r.lv?n("el-tag",{attrs:{type:"success"}},[e._v("重度失能Ⅰ级")]):e._e(),e._v(" "),"03"==r.lv?n("el-tag",{attrs:{type:"success"}},[e._v("中度失能")]):e._e(),e._v(" "),"02"==r.lv?n("el-tag",{attrs:{type:"success"}},[e._v("轻度失能")]):e._e(),e._v(" "),"01"==r.lv?n("el-tag",{attrs:{type:"success"}},[e._v("基本正常")]):e._e()]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"状态",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return["0"==r.isDelete?n("el-tag",{attrs:{type:"success"}},[e._v("正常")]):e._e(),e._v(" "),"1"==r.isDelete?n("el-tag",{attrs:{type:"success"}},[e._v("已注销")]):e._e(),e._v(" "),"2"==r.isDelete?n("el-tag",{attrs:{type:"warning"}},[e._v("住院")]):e._e()]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"是否有定制",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return["0"==r.formulateType?n("el-tag",{attrs:{type:"success"}},[e._v("没有")]):e._e(),e._v(" "),"1"==r.formulateType?n("el-tag",{attrs:{type:"success"}},[e._v("有")]):e._e()]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"创建时间",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.createTime))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"操作",align:"center",width:"300","class-name":"small-padding fixed-width"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row,l=t.$index;return[n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(t){return e.edit(r,l)}}},[e._v("\n 详情\n ")]),e._v(" "),n("el-button",{attrs:{size:"mini",type:"danger"},on:{click:function(t){return e.handleDelete(r,l)}}},[e._v("\n 终止\n ")]),e._v(" "),n("el-button",{attrs:{size:"mini",type:"success"},on:{click:function(t){return e.modifyClock(r,l)}}},[e._v("\n 打卡项制定\n ")])]}}])})],1),e._v(" "),n("pagination",{directives:[{name:"show",rawName:"v-show",value:e.total>0,expression:"total > 0"}],attrs:{total:e.total,page:e.listQuery.pageNo,limit:e.listQuery.size},on:{"update:page":function(t){return e.$set(e.listQuery,"pageNo",t)},"update:limit":function(t){return e.$set(e.listQuery,"size",t)},pagination:e.getList}}),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:e.textMap[e.dialogStatus],visible:e.dialogFormVisible,width:"45%"},on:{"update:visible":function(t){e.dialogFormVisible=t}}},[n("el-form",{ref:"temp",attrs:{rules:e.rules,model:e.temp,"label-position":"right","label-width":"140px"}},[n("el-row",{attrs:{gutter:20}},[n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"身份证"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入身份证",size:"small"},model:{value:e.temp.certno,callback:function(t){e.$set(e.temp,"certno",t)},expression:"temp.certno"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-button",{attrs:{size:"mini",type:"success"},on:{click:e.huoqu}},[e._v("\n 同步第三方用户校验信息\n ")])],1)],1),e._v(" "),n("el-divider"),e._v(" "),n("el-row",{attrs:{gutter:20}},[n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"最早可登记时间"}},[n("el-input",{attrs:{disabled:"",clearable:"",placeholder:"最早可登记时间",size:"small"},model:{value:e.temp.floorBegntime,callback:function(t){e.$set(e.temp,"floorBegntime",t)},expression:"temp.floorBegntime"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"登记时间"}},[n("el-date-picker",{staticStyle:{width:"100%"},attrs:{size:"small","value-format":"yyyy-MM-dd HH:mm:ss",type:"datetime",placeholder:"登记时间不选将使用当前系统时间"},model:{value:e.temp.thirdBegntime,callback:function(t){e.$set(e.temp,"thirdBegntime",t)},expression:"temp.thirdBegntime"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"联系人"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入联系人",size:"small"},model:{value:e.temp.wxUserId,callback:function(t){e.$set(e.temp,"wxUserId",t)},expression:"temp.wxUserId"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"家人关系",prop:"relation"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择家人关系"},model:{value:e.temp.relation,callback:function(t){e.$set(e.temp,"relation",t)},expression:"temp.relation"}},e._l([{label:"父亲",value:"父亲"},{label:"母亲",value:"母亲"},{label:"爷爷",value:"爷爷"},{label:"奶奶",value:"奶奶"},{label:"妻子",value:"妻子"},{label:"丈夫",value:"丈夫"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"客户姓名"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入客户姓名",size:"small"},model:{value:e.temp.name,callback:function(t){e.$set(e.temp,"name",t)},expression:"temp.name"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"客户手机号码"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入客户手机号码",size:"small"},model:{value:e.temp.phoneNumber,callback:function(t){e.$set(e.temp,"phoneNumber",t)},expression:"temp.phoneNumber"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"护理方式",prop:"nurscareWay"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{disabled:"",clearable:"",filterable:"",size:"small",placeholder:"请选择护理方式"},model:{value:e.temp.nurscareWay,callback:function(t){e.$set(e.temp,"nurscareWay",t)},expression:"temp.nurscareWay"}},e._l([{label:"入住机构护理",value:"01"},{label:"居家上门护理",value:"07"},{label:"居家自主护理",value:"03"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"身份证",prop:"idCode"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入身份证号",size:"small"},model:{value:e.temp.idCode,callback:function(t){e.$set(e.temp,"idCode",t)},expression:"temp.idCode"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"行政区划",prop:"city"}},[n("el-input",{attrs:{disabled:"",clearable:"",placeholder:"请输入行政区划",size:"small"},model:{value:e.temp.city,callback:function(t){e.$set(e.temp,"city",t)},expression:"temp.city"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"辖区",prop:"county"}},[n("el-input",{attrs:{clearable:"",disabled:"",placeholder:"请输入辖区",size:"small"},model:{value:e.temp.county,callback:function(t){e.$set(e.temp,"county",t)},expression:"temp.county"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"现居住地址"}},[n("el-input",{attrs:{clearable:"",disabled:"",placeholder:"请输入现居住地址",size:"small"},model:{value:e.temp.address,callback:function(t){e.$set(e.temp,"address",t)},expression:"temp.address"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"经度",prop:"lat"}},[n("el-input",{attrs:{clearable:"",disabled:"",placeholder:"请输入经度",size:"small"},model:{value:e.temp.lat,callback:function(t){e.$set(e.temp,"lat",t)},expression:"temp.lat"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"纬度",prop:"lng"}},[n("el-input",{attrs:{clearable:"",disabled:"",placeholder:"请输入纬度",size:"small"},model:{value:e.temp.lng,callback:function(t){e.$set(e.temp,"lng",t)},expression:"temp.lng"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"出生日期"}},[n("el-date-picker",{staticStyle:{width:"100%"},attrs:{size:"small",format:"yyyy 年 MM 月 dd 日","value-format":"yyyy-MM-dd",type:"date",placeholder:"请选择出生日期"},model:{value:e.temp.birthday,callback:function(t){e.$set(e.temp,"birthday",t)},expression:"temp.birthday"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"医保类型",prop:"medicalType"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",disabled:"",size:"small",placeholder:"请选择"},model:{value:e.temp.medicalType,callback:function(t){e.$set(e.temp,"medicalType",t)},expression:"temp.medicalType"}},e._l([{label:"城镇职工基本医疗保险",value:"1"},{label:"长期护理保险",value:"410"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"参保行政区划",prop:"medicalCity"}},[n("el-input",{attrs:{clearable:"",disabled:"",placeholder:"请输入参保行政区划",size:"small"},model:{value:e.temp.medicalCity,callback:function(t){e.$set(e.temp,"medicalCity",t)},expression:"temp.medicalCity"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"参保所属辖区",prop:"medicalCounty"}},[n("el-input",{attrs:{clearable:"",disabled:"",placeholder:"请输入参保所属辖区",size:"small"},model:{value:e.temp.medicalCounty,callback:function(t){e.$set(e.temp,"medicalCounty",t)},expression:"temp.medicalCounty"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"社保卡号"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入社保卡号",size:"small"},model:{value:e.temp.medicalNo,callback:function(t){e.$set(e.temp,"medicalNo",t)},expression:"temp.medicalNo"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"社保状态",prop:"medicalStatus"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择社保状态"},model:{value:e.temp.medicalStatus,callback:function(t){e.$set(e.temp,"medicalStatus",t)},expression:"temp.medicalStatus"}},e._l([{label:"正常",value:"1"},{label:"中断",value:"2"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"待遇状态",prop:"status"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择待遇状态"},model:{value:e.temp.status,callback:function(t){e.$set(e.temp,"status",t)},expression:"temp.status"}},e._l([{label:"正常",value:"1"},{label:"终止",value:"2"},{label:"未有待遇",value:"0"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"是否残疾人",prop:"isHandicapped"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择是否残疾人"},model:{value:e.temp.isHandicapped,callback:function(t){e.$set(e.temp,"isHandicapped",t)},expression:"temp.isHandicapped"}},e._l([{label:"是",value:"1"},{label:"否",value:"0"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"评估等级",prop:"lv"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择评估等级"},model:{value:e.temp.lv,callback:function(t){e.$set(e.temp,"lv",t)},expression:"temp.lv"}},e._l([{label:"重度失能ⅠⅠⅠ级",value:"06"},{label:"重度失能ⅠⅠ级",value:"05"},{label:"重度失能Ⅰ级",value:"04"},{label:"中度失能",value:"03"},{label:"轻度失能",value:"02"},{label:"基本正常",value:"01"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"合同服务开始时间"}},[n("el-date-picker",{staticStyle:{width:"100%"},attrs:{size:"small",format:"yyyy 年 MM 月 dd 日","value-format":"yyyy-MM-dd",type:"date",placeholder:"请选择合同服务开始时间"},model:{value:e.temp.startTime,callback:function(t){e.$set(e.temp,"startTime",t)},expression:"temp.startTime"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"合同服务结束时间"}},[n("el-date-picker",{staticStyle:{width:"100%"},attrs:{size:"small",format:"yyyy 年 MM 月 dd 日","value-format":"yyyy-MM-dd",type:"date",placeholder:"请选择合同服务结束时间"},model:{value:e.temp.endTime,callback:function(t){e.$set(e.temp,"endTime",t)},expression:"temp.endTime"}})],1)],1)],1)],1),e._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"mini"},on:{click:function(t){e.dialogFormVisible=!1}}},[e._v("\n 取 消\n ")]),e._v(" "),n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(t){"create"===e.dialogStatus?e.createData():e.updateData()}}},[e._v("\n 确 认\n ")])],1)],1),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"导出",visible:e.dialogVisibleExp,width:"600px","before-close":e.handleClose},on:{"update:visible":function(t){e.dialogVisibleExp=t}}},[n("el-form",{staticClass:"demo-form-inline",attrs:{inline:!0}},[n("el-form-item",{attrs:{label:"提示:"}},[n("el-link",{attrs:{underline:!1,type:"primary"}},[e._v("选择的开始日期和结束日期请将数据的入录时间包含起来,结束日期选后一天")])],1),e._v(" "),n("el-form-item",{attrs:{label:"时间"}},[n("el-date-picker",{attrs:{type:"daterange","value-format":"yyyy-MM-dd","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期"},model:{value:e.startDate,callback:function(t){e.startDate=t},expression:"startDate"}})],1)],1),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small",loading:e.loadExp},on:{click:e.handleClose}},[e._v("取 消")]),e._v(" "),n("el-button",{attrs:{size:"small",type:"primary",loading:e.loadExp},on:{click:e.expExcel}},[e._v("\n 导 出\n ")])],1)],1),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"终止原因",visible:e.dialogVisible,width:"30%","before-close":e.handleClose},on:{"update:visible":function(t){e.dialogVisible=t}}},[n("el-form",{ref:"allState",attrs:{rules:e.rules,model:e.allState,"label-position":"right","label-width":"80px"}},[n("el-row",{attrs:{gutter:20}},[n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"终止原因",prop:"trtExitRea"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{"value-key":"trtExitRea",clearable:"",filterable:"",size:"small",placeholder:"请选择终止原因"},on:{change:e.searchSelect},model:{value:e.trtExitObj,callback:function(t){e.trtExitObj=t},expression:"trtExitObj"}},e._l([{trtExitRea:"01",trtExitDscr:"就医"},{trtExitRea:"02",trtExitDscr:"搬至其他机构"},{trtExitRea:"03",trtExitDscr:"更换护理方式"},{trtExitRea:"04",trtExitDscr:"离世"},{trtExitRea:"05",trtExitDscr:"其他"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.trtExitDscr,value:e}})}),1)],1)],1)],1)],1),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"mini"},on:{click:function(t){e.dialogVisible=!1}}},[e._v("取 消")]),e._v(" "),n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:e.termination}},[e._v("确 定")])],1)],1),e._v(" "),n("el-dialog",{attrs:{title:"打卡项制定","close-on-click-modal":!1,"close-on-press-escape":!1,visible:e.ModifyClockVisible,width:"87%"},on:{"update:visible":function(t){e.ModifyClockVisible=t}}},[n("div",{staticClass:"table"},[n("el-table",{staticStyle:{width:"100%"},attrs:{data:e.tableData}},[n("el-table-column",{attrs:{align:"center",prop:"title",label:"服务项目",width:"200"}}),e._v(" "),n("el-table-column",{attrs:{align:"center",label:"护理时间及次数"}},e._l(31,function(t,r){return n("el-table-column",{key:r,attrs:{align:"center",label:r+1+"日",width:"50"},scopedSlots:e._u([{key:"default",fn:function(t){return[t.row.isEdit&&e.lastItem[r].label=="day"+(r+1)?n("el-input",{on:{blur:function(n){return e.onBlur(t.row,""+t.row["day"+(r+1)],"day"+(r+1))}},model:{value:t.row["day"+(r+1)],callback:function(n){e.$set(t.row,"day"+(r+1),n)},expression:"scope.row[`day${index + 1}`]"}}):n("span",{staticClass:"active",on:{click:function(n){return e.cellEdit(t.row,""+t.row["day"+(r+1)],"day"+(r+1))}}},[e._v(e._s(""+t.row["day"+(r+1)]))])]}}],null,!0)})}),1),e._v(" "),n("el-table-column",{attrs:{align:"center",prop:"num",label:"合计次数"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v("\n "+e._s(e.totalNumber(t.row))+"\n ")]}}])}),e._v(" "),n("el-table-column",{attrs:{align:"center",prop:"needNum",label:"需要次数"}})],1)],1),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small"},on:{click:function(t){e.ModifyClockVisible=!1}}},[e._v("取 消")]),e._v(" "),n("el-button",{attrs:{size:"small",type:"primary"},on:{click:function(t){return e.ModifyClockConfig()}}},[e._v("确 定")])],1)])],1)},__vue_staticRenderFns__$a=[];__vue_render__$a._withStripped=!0;const __vue_inject_styles__$a=function(e){e&&e("data-v-66d92f8f_0",{source:".el-col-12[data-v-66d92f8f] {\n padding: 0 20px 0 0;\n}\n.el-divider--horizontal[data-v-66d92f8f] {\n margin: 0 0 20px 0;\n}\n[data-v-66d92f8f] .el-calendar__button-group {\n display: none;\n}\n.table[data-v-66d92f8f] .el-table .cell {\n padding: 0;\n}\n.table[data-v-66d92f8f] .el-table td {\n padding: 5px 0;\n}\n.active[data-v-66d92f8f] {\n color: #409eff;\n cursor: pointer;\n display: inline-block;\n width: 42px;\n}\n.inactive[data-v-66d92f8f] {\n color: #999;\n}\n.exptable[data-v-66d92f8f] {\n font-size: 9px;\n text-align: center;\n width: 100%;\n}\n.exptable .leftXuhao[data-v-66d92f8f] {\n display: flex;\n border-bottom: 1px solid #333;\n}\n.exptable .leftXuhao div[data-v-66d92f8f] {\n display: flex;\n align-items: center;\n justify-content: center;\n border-right: 1px solid #333;\n}\n.exptable .thead[data-v-66d92f8f] {\n border-bottom: 0;\n color: #000;\n padding: 8px 0;\n}\n.exptable .tbody[data-v-66d92f8f] {\n border: 1px solid #333;\n font-size: 8px;\n}\n.exptable .tr[data-v-66d92f8f] {\n display: flex;\n border-bottom: 1px solid #333;\n color: #111;\n}\n.exptable .tr div[data-v-66d92f8f] {\n display: flex;\n align-items: center;\n justify-content: center;\n border-right: 1px solid #333;\n}\n.exptable .tr .bodyday[data-v-66d92f8f] {\n flex: 1;\n}\n.exptable .tr div[data-v-66d92f8f]:last-child {\n border-right: 0;\n}\n.exptable .eight div[data-v-66d92f8f] {\n flex: 1;\n padding: 5px 0;\n}\n.exptable .eight .title[data-v-66d92f8f] {\n width: 110px;\n flex: none;\n}\n.exptable .tr[data-v-66d92f8f]:last-child {\n border-bottom: 0;\n}\n.exptable .loop .num[data-v-66d92f8f] {\n width: 22px !important;\n}\n.exptable .loop .total[data-v-66d92f8f] {\n width: 23px;\n padding: 5px 0;\n}\n.exptable .loop .name[data-v-66d92f8f] {\n padding: 5px 0;\n flex: 0.1;\n}\n.exptable .loop .headday[data-v-66d92f8f] {\n flex-flow: column;\n flex: 1;\n}\n.exptable .loop .headday .forday[data-v-66d92f8f] {\n border-top: 1px solid #333;\n}\n.exptable .loop .day span[data-v-66d92f8f] {\n padding: 5px 0;\n}\n.exptable .loop .forday[data-v-66d92f8f] {\n display: table;\n width: 100%;\n height: 100%;\n}\n.exptable .loop .forday span[data-v-66d92f8f] {\n display: table-cell;\n vertical-align: middle;\n border-right: 1px solid #333;\n width: 23px;\n height: 100%;\n overflow: hidden;\n word-wrap: break-word;\n word-break: break-all;\n}\n.exptable .loop .forday span[data-v-66d92f8f]:last-child {\n border-right: 0;\n}\n\n/*# sourceMappingURL=index.vue.map */",map:{version:3,sources:["E:\\公司项目\\changhuxianlocal\\changhuxian-vue-components\\src\\pages\\customerManagement\\customer\\index.vue","index.vue"],names:[],mappings:"AAo7CA;EACA,mBAAA;ACn7CA;ADs7CA;EACA,kBAAA;ACn7CA;ADq7CA;EACA,aAAA;ACl7CA;ADq7CA;EACA,UAAA;ACl7CA;ADq7CA;EACA,cAAA;ACl7CA;ADq7CA;EACA,cAAA;EACA,eAAA;EACA,qBAAA;EACA,WAAA;ACl7CA;ADq7CA;EACA,WAAA;ACl7CA;ADo7CA;EACA,cAAA;EACA,kBAAA;EACA,WAAA;ACj7CA;ADm7CA;EACA,aAAA;EACA,6BAAA;ACj7CA;ADk7CA;EACA,aAAA;EACA,mBAAA;EACA,uBAAA;EACA,4BAAA;ACh7CA;ADm7CA;EAEA,gBAAA;EACA,WAAA;EACA,cAAA;ACl7CA;ADo7CA;EACA,sBAAA;EACA,cAAA;ACl7CA;ADo7CA;EACA,aAAA;EACA,6BAAA;EACA,WAAA;ACl7CA;ADm7CA;EAEA,aAAA;EACA,mBAAA;EACA,uBAAA;EACA,4BAAA;ACl7CA;ADq7CA;EACA,OAAA;ACn7CA;ADq7CA;EACA,eAAA;ACn7CA;ADs7CA;EACA,OAAA;EAEA,cAAA;ACr7CA;ADu7CA;EACA,YAAA;EACA,UAAA;ACr7CA;ADw7CA;EACA,gBAAA;ACt7CA;ADy7CA;EACA,sBAAA;ACv7CA;ADy7CA;EACA,WAAA;EACA,cAAA;ACv7CA;AD47CA;EAEA,cAAA;EAEA,SAAA;AC57CA;AD87CA;EACA,iBAAA;EACA,OAAA;AC57CA;AD67CA;EACA,0BAAA;AC37CA;AD87CA;EACA,cAAA;AC57CA;AD87CA;EACA,cAAA;EACA,WAAA;EACA,YAAA;AC57CA;AD67CA;EACA,mBAAA;EACA,sBAAA;EACA,4BAAA;EACA,WAAA;EACA,YAAA;EACA,gBAAA;EACA,qBAAA;EACA,qBAAA;AC37CA;AD67CA;EACA,eAAA;AC37CA;;AAEA,oCAAoC",file:"index.vue",sourcesContent:['<template>\r\n <div class="app-container">\r\n <div class="filter-container">\r\n <el-form\r\n ref="listQuery"\r\n :inline="true"\r\n :model="listQuery"\r\n class="demo-form-inline"\r\n >\r\n <el-form-item label="客户姓名" prop="name">\r\n <el-select\r\n v-model="listQuery.name"\r\n style="width: 100%"\r\n clearable\r\n filterable\r\n size="small"\r\n class="filter-item"\r\n placeholder="请选择客户"\r\n >\r\n <el-option\r\n v-for="(item, index) in customerData"\r\n :key="index"\r\n :label="item.label"\r\n :value="item.label"\r\n />\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item label="手机号码" prop="phoneNumber">\r\n <el-input\r\n v-model="listQuery.phoneNumber"\r\n size="small"\r\n clearable\r\n placeholder="请输入手机号码"\r\n />\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button\r\n size="small"\r\n type="primary"\r\n @click="onSubmit"\r\n >查询</el-button>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button\r\n size="small"\r\n type="warning"\r\n @click="resetting(\'listQuery\')"\r\n >重置</el-button>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size="small" type="success" @click="add">新增</el-button>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button\r\n size="small"\r\n type="primary"\r\n @click="dialogVisibleExp = true"\r\n >导出</el-button>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n <el-table border height="65vh" :data="list" style="width: 100%">\r\n <el-table-column :label="\'护理机构\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.unitName }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'客户姓名\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.name }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'客户手机号码\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.phoneNumber }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'身份证号\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.idCode ? row.idCode : "-" }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'行政区划\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.city }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'辖区\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.county }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'现居住地址\'" align="center" width="300">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.address }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'评估等级\'" align="center" width="150">\r\n <template slot-scope="{ row }">\r\n <el-tag v-if="row.lv == \'06\'" type="success">重度失能ⅠⅠⅠ级</el-tag>\r\n <el-tag v-if="row.lv == \'05\'" type="success">重度失能ⅠⅠ级</el-tag>\r\n <el-tag v-if="row.lv == \'04\'" type="success">重度失能Ⅰ级</el-tag>\r\n <el-tag v-if="row.lv == \'03\'" type="success">中度失能</el-tag>\r\n <el-tag v-if="row.lv == \'02\'" type="success">轻度失能</el-tag>\r\n <el-tag v-if="row.lv == \'01\'" type="success">基本正常</el-tag>\r\n </template>\r\n </el-table-column>\r\n \x3c!-- <el-table-column :label="\'服务合同开始时间\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.startTime }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'服务合同结束时间\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.endTime }}</span>\r\n </template>\r\n </el-table-column> --\x3e\r\n <el-table-column :label="\'状态\'" align="center">\r\n <template slot-scope="{ row }">\r\n <el-tag v-if="row.isDelete == \'0\'" type="success">正常</el-tag>\r\n <el-tag v-if="row.isDelete == \'1\'" type="success">已注销</el-tag>\r\n <el-tag v-if="row.isDelete == \'2\'" type="warning">住院</el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'是否有定制\'" align="center">\r\n <template slot-scope="{ row }">\r\n <el-tag v-if="row.formulateType == \'0\'" type="success">没有</el-tag>\r\n <el-tag v-if="row.formulateType == \'1\'" type="success">有</el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'创建时间\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.createTime }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column\r\n :label="\'操作\'"\r\n align="center"\r\n width="300"\r\n class-name="small-padding fixed-width"\r\n >\r\n <template slot-scope="{ row, $index }">\r\n <el-button size="mini" type="primary" @click="edit(row, $index)">\r\n 详情\r\n </el-button>\r\n <el-button\r\n size="mini"\r\n type="danger"\r\n @click="handleDelete(row, $index)"\r\n >\r\n 终止\r\n </el-button>\r\n \x3c!-- <el-button\r\n size="mini"\r\n type="success"\r\n @click="handleStatus(row, $index)"\r\n >\r\n 修改状态\r\n </el-button> --\x3e\r\n <el-button\r\n size="mini"\r\n type="success"\r\n @click="modifyClock(row, $index)"\r\n >\r\n 打卡项制定\r\n </el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n\r\n <pagination\r\n v-show="total > 0"\r\n :total="total"\r\n :page.sync="listQuery.pageNo"\r\n :limit.sync="listQuery.size"\r\n @pagination="getList"\r\n />\r\n\r\n <el-dialog\r\n :close-on-click-modal="false"\r\n :close-on-press-escape="false"\r\n :title="textMap[dialogStatus]"\r\n :visible.sync="dialogFormVisible"\r\n width="45%"\r\n >\r\n <el-form\r\n ref="temp"\r\n :rules="rules"\r\n :model="temp"\r\n label-position="right"\r\n label-width="140px"\r\n >\r\n <el-row :gutter="20">\r\n <el-col :span="12">\r\n <el-form-item label="身份证">\r\n <el-input\r\n v-model="temp.certno"\r\n clearable\r\n placeholder="请输入身份证"\r\n size="small"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-button size="mini" type="success" @click="huoqu">\r\n 同步第三方用户校验信息\r\n </el-button>\r\n </el-col>\r\n </el-row>\r\n <el-divider />\r\n <el-row :gutter="20">\r\n <el-col :span="12">\r\n <el-form-item label="最早可登记时间">\r\n <el-input\r\n v-model="temp.floorBegntime"\r\n disabled\r\n clearable\r\n placeholder="最早可登记时间"\r\n size="small"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="登记时间">\r\n <el-date-picker\r\n v-model="temp.thirdBegntime"\r\n size="small"\r\n value-format="yyyy-MM-dd HH:mm:ss"\r\n style="width: 100%"\r\n type="datetime"\r\n placeholder="登记时间不选将使用当前系统时间"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="联系人">\r\n <el-input\r\n v-model="temp.wxUserId"\r\n clearable\r\n placeholder="请输入联系人"\r\n size="small"\r\n />\r\n \x3c!-- <el-select style="width: 100%" clearable filterable size="small" v-model="temp.wxUserId"\r\n class="filter-item" placeholder="请选择联系人">\r\n <el-option v-for="(item, index) in contacts" :key="index" :label="item.label" :value="item.value">\r\n <span style="float: left">{{ item.label }}</span>\r\n <span style="float: right; color: #8492a6; font-size: 13px">{{\r\n item.phoneNumber\r\n }}</span>\r\n </el-option>\r\n </el-select> --\x3e\r\n </el-form-item>\r\n </el-col>\r\n\r\n <el-col :span="12">\r\n <el-form-item label="家人关系" prop="relation">\r\n <el-select\r\n v-model="temp.relation"\r\n style="width: 100%"\r\n clearable\r\n filterable\r\n size="small"\r\n class="filter-item"\r\n placeholder="请选择家人关系"\r\n >\r\n <el-option\r\n v-for="(item, index) in [\r\n { label: \'父亲\', value: \'父亲\' },\r\n { label: \'母亲\', value: \'母亲\' },\r\n { label: \'爷爷\', value: \'爷爷\' },\r\n { label: \'奶奶\', value: \'奶奶\' },\r\n { label: \'妻子\', value: \'妻子\' },\r\n { label: \'丈夫\', value: \'丈夫\' },\r\n ]"\r\n :key="index"\r\n :label="item.label"\r\n :value="item.value"\r\n />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="客户姓名">\r\n <el-input\r\n v-model="temp.name"\r\n clearable\r\n placeholder="请输入客户姓名"\r\n size="small"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="客户手机号码">\r\n <el-input\r\n v-model="temp.phoneNumber"\r\n clearable\r\n placeholder="请输入客户手机号码"\r\n size="small"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="护理方式" prop="nurscareWay">\r\n <el-select\r\n v-model="temp.nurscareWay"\r\n disabled\r\n style="width: 100%"\r\n clearable\r\n filterable\r\n size="small"\r\n class="filter-item"\r\n placeholder="请选择护理方式"\r\n >\r\n <el-option\r\n v-for="(item, index) in [\r\n { label: \'入住机构护理\', value: \'01\' },\r\n { label: \'居家上门护理\', value: \'07\' },\r\n { label: \'居家自主护理\', value: \'03\' },\r\n ]"\r\n :key="index"\r\n :label="item.label"\r\n :value="item.value"\r\n />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="身份证" prop="idCode">\r\n <el-input\r\n v-model="temp.idCode"\r\n clearable\r\n placeholder="请输入身份证号"\r\n size="small"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="行政区划" prop="city">\r\n <el-input\r\n v-model="temp.city"\r\n disabled\r\n clearable\r\n placeholder="请输入行政区划"\r\n size="small"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="辖区" prop="county">\r\n <el-input\r\n v-model="temp.county"\r\n clearable\r\n disabled\r\n placeholder="请输入辖区"\r\n size="small"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n \x3c!-- <el-col :span="24">\r\n <el-form-item label="搜索" prop="address">\r\n <el-select\r\n v-model="keywords"\r\n filterable\r\n remote\r\n reserve-keyword\r\n placeholder="搜索位置"\r\n :remote-method="remoteMethod"\r\n :loading="loading"\r\n :clearable="true"\r\n size="mini"\r\n @change="currentSelect"\r\n style="width: 100%"\r\n value-key="id"\r\n >\r\n <el-option\r\n v-for="item in options"\r\n :key="item.id"\r\n :label="item.name"\r\n :value="item"\r\n class="one-text"\r\n >\r\n <span style="float: left">{{ item.name }}</span>\r\n <span style="float: right; color: #8492a6; font-size: 13px">{{\r\n item.district\r\n }}</span>\r\n </el-option>\r\n </el-select>\r\n </el-form-item>\r\n <div id="amapcontainer" style="width: 100%; height: 400px"></div>\r\n </el-col> --\x3e\r\n <el-col :span="12">\r\n <el-form-item label="现居住地址">\r\n <el-input\r\n v-model="temp.address"\r\n clearable\r\n disabled\r\n placeholder="请输入现居住地址"\r\n size="small"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="经度" prop="lat">\r\n <el-input\r\n v-model="temp.lat"\r\n clearable\r\n disabled\r\n placeholder="请输入经度"\r\n size="small"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="纬度" prop="lng">\r\n <el-input\r\n v-model="temp.lng"\r\n clearable\r\n disabled\r\n placeholder="请输入纬度"\r\n size="small"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="出生日期">\r\n <el-date-picker\r\n v-model="temp.birthday"\r\n size="small"\r\n format="yyyy 年 MM 月 dd 日"\r\n value-format="yyyy-MM-dd"\r\n style="width: 100%"\r\n type="date"\r\n placeholder="请选择出生日期"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="医保类型" prop="medicalType">\r\n <el-select\r\n v-model="temp.medicalType"\r\n style="width: 100%"\r\n clearable\r\n filterable\r\n disabled\r\n size="small"\r\n class="filter-item"\r\n placeholder="请选择"\r\n >\r\n <el-option\r\n v-for="(item, index) in [\r\n { label: \'城镇职工基本医疗保险\', value: \'1\' },\r\n { label: \'长期护理保险\', value: \'410\' },\r\n ]"\r\n :key="index"\r\n :label="item.label"\r\n :value="item.value"\r\n />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="参保行政区划" prop="medicalCity">\r\n <el-input\r\n v-model="temp.medicalCity"\r\n clearable\r\n disabled\r\n placeholder="请输入参保行政区划"\r\n size="small"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="参保所属辖区" prop="medicalCounty">\r\n <el-input\r\n v-model="temp.medicalCounty"\r\n clearable\r\n disabled\r\n placeholder="请输入参保所属辖区"\r\n size="small"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="社保卡号">\r\n <el-input\r\n v-model="temp.medicalNo"\r\n clearable\r\n placeholder="请输入社保卡号"\r\n size="small"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="社保状态" prop="medicalStatus">\r\n <el-select\r\n v-model="temp.medicalStatus"\r\n style="width: 100%"\r\n clearable\r\n filterable\r\n size="small"\r\n class="filter-item"\r\n placeholder="请选择社保状态"\r\n >\r\n <el-option\r\n v-for="(item, index) in [\r\n { label: \'正常\', value: \'1\' },\r\n { label: \'中断\', value: \'2\' },\r\n ]"\r\n :key="index"\r\n :label="item.label"\r\n :value="item.value"\r\n />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n\r\n <el-col :span="12">\r\n <el-form-item label="待遇状态" prop="status">\r\n <el-select\r\n v-model="temp.status"\r\n style="width: 100%"\r\n clearable\r\n filterable\r\n size="small"\r\n class="filter-item"\r\n placeholder="请选择待遇状态"\r\n >\r\n <el-option\r\n v-for="(item, index) in [\r\n { label: \'正常\', value: \'1\' },\r\n { label: \'终止\', value: \'2\' },\r\n { label: \'未有待遇\', value: \'0\' },\r\n ]"\r\n :key="index"\r\n :label="item.label"\r\n :value="item.value"\r\n />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="是否残疾人" prop="isHandicapped">\r\n <el-select\r\n v-model="temp.isHandicapped"\r\n style="width: 100%"\r\n clearable\r\n filterable\r\n size="small"\r\n class="filter-item"\r\n placeholder="请选择是否残疾人"\r\n >\r\n <el-option\r\n v-for="(item, index) in [\r\n { label: \'是\', value: \'1\' },\r\n { label: \'否\', value: \'0\' },\r\n ]"\r\n :key="index"\r\n :label="item.label"\r\n :value="item.value"\r\n />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="评估等级" prop="lv">\r\n <el-select\r\n v-model="temp.lv"\r\n style="width: 100%"\r\n clearable\r\n filterable\r\n size="small"\r\n class="filter-item"\r\n placeholder="请选择评估等级"\r\n >\r\n <el-option\r\n v-for="(item, index) in [\r\n { label: \'重度失能ⅠⅠⅠ级\', value: \'06\' },\r\n { label: \'重度失能ⅠⅠ级\', value: \'05\' },\r\n { label: \'重度失能Ⅰ级\', value: \'04\' },\r\n { label: \'中度失能\', value: \'03\' },\r\n { label: \'轻度失能\', value: \'02\' },\r\n { label: \'基本正常\', value: \'01\' },\r\n ]"\r\n :key="index"\r\n :label="item.label"\r\n :value="item.value"\r\n />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="合同服务开始时间">\r\n <el-date-picker\r\n v-model="temp.startTime"\r\n size="small"\r\n format="yyyy 年 MM 月 dd 日"\r\n value-format="yyyy-MM-dd"\r\n style="width: 100%"\r\n type="date"\r\n placeholder="请选择合同服务开始时间"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="合同服务结束时间">\r\n <el-date-picker\r\n v-model="temp.endTime"\r\n size="small"\r\n format="yyyy 年 MM 月 dd 日"\r\n value-format="yyyy-MM-dd"\r\n style="width: 100%"\r\n type="date"\r\n placeholder="请选择合同服务结束时间"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <div slot="footer" class="dialog-footer">\r\n <el-button size="mini" @click="dialogFormVisible = false">\r\n 取 消\r\n </el-button>\r\n <el-button\r\n size="mini"\r\n type="primary"\r\n @click="dialogStatus === \'create\' ? createData() : updateData()"\r\n >\r\n 确 认\r\n </el-button>\r\n </div>\r\n </el-dialog>\r\n\r\n <el-dialog\r\n :close-on-click-modal="false"\r\n :close-on-press-escape="false"\r\n title="导出"\r\n :visible.sync="dialogVisibleExp"\r\n width="600px"\r\n :before-close="handleClose"\r\n >\r\n <el-form :inline="true" class="demo-form-inline">\r\n <el-form-item label="提示:">\r\n <el-link\r\n :underline="false"\r\n type="primary"\r\n >选择的开始日期和结束日期请将数据的入录时间包含起来,结束日期选后一天</el-link>\r\n </el-form-item>\r\n <el-form-item label="时间">\r\n <el-date-picker\r\n v-model="startDate"\r\n type="daterange"\r\n value-format="yyyy-MM-dd"\r\n range-separator="至"\r\n start-placeholder="开始日期"\r\n end-placeholder="结束日期"\r\n />\r\n </el-form-item>\r\n </el-form>\r\n <span slot="footer" class="dialog-footer">\r\n <el-button\r\n size="small"\r\n :loading="loadExp"\r\n @click="handleClose"\r\n >取 消</el-button>\r\n <el-button\r\n size="small"\r\n type="primary"\r\n :loading="loadExp"\r\n @click="expExcel"\r\n >\r\n 导 出\r\n </el-button>\r\n </span>\r\n </el-dialog>\r\n\r\n <el-dialog\r\n :close-on-click-modal="false"\r\n :close-on-press-escape="false"\r\n title="终止原因"\r\n :visible.sync="dialogVisible"\r\n width="30%"\r\n :before-close="handleClose"\r\n >\r\n <el-form\r\n ref="allState"\r\n :rules="rules"\r\n :model="allState"\r\n label-position="right"\r\n label-width="80px"\r\n >\r\n <el-row :gutter="20">\r\n <el-col :span="24">\r\n <el-form-item label="终止原因" prop="trtExitRea">\r\n <el-select\r\n v-model="trtExitObj"\r\n value-key="trtExitRea"\r\n style="width: 100%"\r\n clearable\r\n filterable\r\n size="small"\r\n class="filter-item"\r\n placeholder="请选择终止原因"\r\n @change="searchSelect"\r\n >\r\n <el-option\r\n v-for="(item, index) in [\r\n { trtExitRea: \'01\', trtExitDscr: \'就医\' },\r\n { trtExitRea: \'02\', trtExitDscr: \'搬至其他机构\' },\r\n { trtExitRea: \'03\', trtExitDscr: \'更换护理方式\' },\r\n { trtExitRea: \'04\', trtExitDscr: \'离世\' },\r\n { trtExitRea: \'05\', trtExitDscr: \'其他\' },\r\n ]"\r\n :key="index"\r\n :label="item.trtExitDscr"\r\n :value="item"\r\n />\r\n </el-select>\r\n \x3c!-- <el-input clearable placeholder="请输入终止原因" size="small" v-model="allState.trtExitRea" /> --\x3e\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <span slot="footer" class="dialog-footer">\r\n <el-button size="mini" @click="dialogVisible = false">取 消</el-button>\r\n <el-button\r\n size="mini"\r\n type="primary"\r\n @click="termination"\r\n >确 定</el-button>\r\n </span>\r\n </el-dialog>\r\n\r\n <el-dialog\r\n title="打卡项制定"\r\n :close-on-click-modal="false"\r\n :close-on-press-escape="false"\r\n :visible.sync="ModifyClockVisible"\r\n width="87%"\r\n >\r\n <div class="table">\r\n <el-table\r\n :data="tableData"\r\n style="width: 100%"\r\n >\r\n <el-table-column\r\n align="center"\r\n prop="title"\r\n label="服务项目"\r\n width="200"\r\n />\r\n <el-table-column align="center" label="护理时间及次数">\r\n <el-table-column\r\n v-for="(item, index) in 31"\r\n :key="index"\r\n align="center"\r\n :label="`${index + 1}日`"\r\n width="50"\r\n >\r\n <template slot-scope="scope">\r\n <el-input\r\n v-if="\r\n scope.row.isEdit &&\r\n lastItem[index].label == `${`day${index + 1}`}`\r\n "\r\n v-model="scope.row[`day${index + 1}`]"\r\n @blur="\r\n onBlur(\r\n scope.row,\r\n `${scope.row[`day${index + 1}`]}`,\r\n `${`day${index + 1}`}`\r\n )\r\n "\r\n />\r\n <span\r\n v-else\r\n class="active"\r\n @click=" cellEdit(\r\n scope.row,\r\n `${scope.row[`day${index + 1}`]}`,\r\n `${`day${index + 1}`}`\r\n )\r\n\r\n "\r\n >{{ `${scope.row[`day${index + 1}`]}` }}</span>\r\n </template>\r\n </el-table-column>\r\n </el-table-column>\r\n <el-table-column align="center" prop="num" label="合计次数">\r\n <template slot-scope="scope">\r\n {{ totalNumber(scope.row) }}\r\n </template>\r\n </el-table-column>\r\n <el-table-column align="center" prop="needNum" label="需要次数" />\r\n\r\n </el-table>\r\n </div>\r\n\r\n <span slot="footer" class="dialog-footer">\r\n <el-button\r\n size="small"\r\n @click="ModifyClockVisible = false"\r\n >取 消</el-button>\r\n <el-button\r\n size="small"\r\n type="primary"\r\n @click="ModifyClockConfig()"\r\n >确 定</el-button>\r\n </span>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport {\r\n WxUserFamilyPage,\r\n WxUserFamilySave,\r\n WxUserFamilyDel,\r\n WxUserCustomAll,\r\n customAll,\r\n ExportExcelInfoWX,\r\n WxUserFamilySysUser,\r\n updateIsDel,\r\n WxUserFamilyAll,\r\n getFormulate,\r\n WxClockItemFormulateSave\r\n} from \'@/api/institution\'\r\nimport { getUserInfoRole } from \'@/utils/auth\'\r\nimport Pagination from \'@/components/Pagination\'\r\nimport AMapLoader from \'@amap/amap-jsapi-loader\'\r\nimport QQMap from \'qqmap\'\r\nexport default {\r\n name: \'Personnel\',\r\n components: { Pagination },\r\n filters: {},\r\n data() {\r\n return {\r\n lastItem: [],\r\n tableData: [],\r\n customerData: [],\r\n trtExitObj: {},\r\n allState: {},\r\n ModifyClockVisible: false,\r\n dialogVisibleExp: false,\r\n dialogVisible: false,\r\n loadExp: false,\r\n startDate: [],\r\n dialogStatus: \'\',\r\n textMap: { update: \'编辑\', create: \'创建\' },\r\n tableKey: 0,\r\n list: null,\r\n total: 0,\r\n listLoading: true,\r\n listQuery: {\r\n pageNo: 1,\r\n size: 20\r\n },\r\n // 搜索节流阀\r\n loading: false,\r\n // 搜索提示信息\r\n options: [],\r\n // 搜索提示\r\n AutoComplete: null,\r\n // 标记点\r\n marker: \'\',\r\n // 标记点\r\n marker: \'\',\r\n // 地址逆解析\r\n geoCoder: null,\r\n // 搜索关键字\r\n keywords: \'\',\r\n customData: [],\r\n contacts: [],\r\n dialogFormVisible: false,\r\n dialogPvVisible: false,\r\n rules: {\r\n wxUserId: [\r\n { required: true, message: \'请选择联系人姓名\', trigger: \'change\' }\r\n ],\r\n\r\n medicalNo: [\r\n { required: true, message: \'请输入社保卡号\', trigger: \'blur\' }\r\n ],\r\n trtExitRea: [\r\n { required: true, message: \'请输入终止原因\', trigger: \'blur\' }\r\n ],\r\n name: [{ required: true, message: \'请输入客户姓名\', trigger: \'blur\' }],\r\n phoneNumber: [\r\n { required: true, message: \'请输入手机号码\', trigger: \'blur\' }\r\n ],\r\n address: [\r\n { required: true, message: \'请输入现居住地址\', trigger: \'blur\' }\r\n ],\r\n birthday: [\r\n { required: true, message: \'请选择出生日期\', trigger: \'blur\' }\r\n ],\r\n startTime: [\r\n {\r\n required: true,\r\n message: \'请选择合同服务开始时间\',\r\n trigger: \'blur\'\r\n }\r\n ],\r\n endTime: [\r\n {\r\n required: true,\r\n message: \'请选择合同服务结束时间\',\r\n trigger: \'blur\'\r\n }\r\n ]\r\n },\r\n temp: {},\r\n userInfo: {},\r\n downloadLoading: false,\r\n map: null\r\n }\r\n },\r\n computed: {\r\n totalNumber() {\r\n return function(item) {\r\n console.log(item)\r\n let data = 0\r\n if (item.title != \'签到信息\') {\r\n for (var i in item) {\r\n if (\r\n i != \'projectId\' &&\r\n i != \'needNum\' &&\r\n i != \'price\' &&\r\n i != \'title\' &&\r\n i != \'hejizongjia\' &&\r\n i != \'titleNew\' &&\r\n i != \'num\'\r\n ) {\r\n data += Number(item[i])\r\n }\r\n }\r\n } else {\r\n return \'\'\r\n }\r\n return data\r\n }\r\n }\r\n },\r\n created() {\r\n this.userInfo = JSON.parse(getUserInfoRole())\r\n this.getList()\r\n this.getCustom()\r\n },\r\n mounted() {},\r\n methods: {\r\n ModifyClockConfig() {\r\n this.$confirm(\'此操作将为客户创建打卡预制项 是否继续?\', \'提示\', {\r\n confirmButtonText: \'确定\',\r\n cancelButtonText: \'取消\',\r\n type: \'warning\'\r\n })\r\n .then(() => {\r\n WxClockItemFormulateSave({ list: this.tableData, familyId: this.temp.id }).then(\r\n (res) => {\r\n if (res.status == 1) {\r\n this.$notify({\r\n title: \'提示\',\r\n message: res.info,\r\n type: \'success\',\r\n duration: 4000\r\n })\r\n this.ModifyClockVisible = false\r\n this.getList()\r\n return\r\n }\r\n this.$notify({\r\n title: \'提示\',\r\n message: res.info,\r\n type: \'error\',\r\n duration: 4000\r\n })\r\n }\r\n )\r\n })\r\n .catch(() => {\r\n this.$message({\r\n type: \'info\',\r\n message: \'已取消\'\r\n })\r\n })\r\n },\r\n // 单元格双击事件--重点\r\n cellEdit(row, value, name) {\r\n if (row.title != \'签到信息\') {\r\n row[name] = value\r\n row.isEdit = true\r\n }\r\n },\r\n onBlur(row, value, name) {\r\n if (row[name] == \'\') {\r\n row[name] = \'0\'\r\n }\r\n row.isEdit = false\r\n },\r\n // 修改打卡项\r\n modifyClock(row) {\r\n this.ModifyClockVisible = true\r\n this.temp = row\r\n this.lastItem = []\r\n this.tableData = []\r\n getFormulate({ familyId: row.id }).then((res) => {\r\n this.tableData = res.result.map((item) => {\r\n item.isEdit = false\r\n return item\r\n })\r\n const lastItem = res.result[res.result.length - 1]\r\n for (var i in this.objectOrder(lastItem)) {\r\n if (\r\n i != \'title\' &&\r\n i != \'num\' &&\r\n i != \'price\' &&\r\n i != \'needNum\' &&\r\n i != \'projectId\'\r\n ) {\r\n this.lastItem.push({\r\n label: lastItem[i] ? i : \'\',\r\n value: lastItem[i]\r\n })\r\n }\r\n }\r\n console.log(this.lastItem)\r\n })\r\n },\r\n // 排序的函数\r\n objectOrder(obj) {\r\n var newkey = Object.keys(obj).sort()\r\n const dayNames = newkey.filter((item) => item.startsWith(\'day\'))\r\n const sortedDayNames = dayNames.sort((a, b) => {\r\n const dayNumberA = parseInt(a.slice(3))\r\n const dayNumberB = parseInt(b.slice(3))\r\n return dayNumberA - dayNumberB\r\n })\r\n sortedDayNames.push(\'needNum\', \'num\', \'projectId\', \'title\')\r\n var newObj = {}\r\n for (var i = 0; i < sortedDayNames.length; i++) {\r\n newObj[sortedDayNames[i]] = obj[sortedDayNames[i]]\r\n }\r\n return newObj // 返回排好序的新对象\r\n },\r\n searchSelect(val) {\r\n console.log(val)\r\n },\r\n huoqu() {\r\n WxUserFamilySysUser({ certno: this.temp.certno }).then((res) => {\r\n console.log(\'三方信息\')\r\n console.log(res.result)\r\n if (res.status == 1) {\r\n this.$notify({\r\n title: \'同步成功\',\r\n message: res.info,\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n if (this.temp.certno.length === 18) {\r\n const birthday = this.temp.certno.substr(6, 8)\r\n res.result.birthday = birthday.replace(/(.{4})(.{2})/, \'$1-$2-\')\r\n }\r\n this.temp = res.result\r\n if (\r\n (this.userInfo.unitType == \'01\' && this.temp.nurscareWay != \'07\') ||\r\n (this.userInfo.unitType == \'02\' && this.temp.nurscareWay != \'01\')\r\n ) {\r\n this.$message({\r\n message: \'客户护理方式与机构类型不匹配\',\r\n type: \'warning\'\r\n })\r\n }\r\n\r\n // 01 上门机构 02养老\r\n // 判断 用户登录如果是上门机构 并且 机构的辖区code 和三方同步信息返回的辖区code不对应的话 弹出提示\r\n if (\r\n this.userInfo.unitType == \'01\' &&\r\n this.userInfo.unitCountyCode != this.temp.medicalCounty\r\n ) {\r\n this.$message({\r\n message: \'客户与机构的辖区不一致\',\r\n type: \'warning\'\r\n })\r\n }\r\n return\r\n }\r\n this.$notify({\r\n title: \'同步失败\',\r\n message: res.info,\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n },\r\n handleClose() {\r\n this.dialogVisibleExp = false\r\n this.dialogVisible = false\r\n this.startDate = []\r\n },\r\n expExcel() {\r\n try {\r\n this.loadExp = true\r\n const form = {\r\n startDate: this.startDate[0],\r\n endDate: this.startDate[1]\r\n }\r\n ExportExcelInfoWX(form)\r\n .then((res) => {\r\n const blob = new Blob([res])\r\n const fileName = \'客户信息\'\r\n if (blob.size > 0) {\r\n const elink = document.createElement(\'a\')\r\n elink.style.display = \'none\'\r\n elink.href = URL.createObjectURL(blob)\r\n // 类似a标签下载\r\n // 自定义文件名称和导出类型。最好和后台保持一致\r\n elink.download = `${fileName}/${this.$moment().format(\r\n \'YYYY-MM-DD\'\r\n )}.xlsx`\r\n document.body.appendChild(elink)\r\n elink.click()\r\n // 释放URL 对象\r\n URL.revokeObjectURL(elink.href)\r\n // 删除创建的 a 标签\r\n document.body.removeChild(elink)\r\n }\r\n this.handleClose()\r\n this.loadExp = false\r\n })\r\n .catch(() => {\r\n this.loadExp = false\r\n })\r\n } catch (e) {\r\n this.loadExp = false\r\n console.log(e)\r\n }\r\n },\r\n initAMap() {\r\n AMapLoader.load({\r\n key: \'3bd68974947ab074c863ad28dfe2fc5c\', // 申请好的Web端开发者Key,首次调用 load 时必填\r\n version: \'2.0\', // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15\r\n plugins: [\r\n \'AMap.Scale\',\r\n \'AMap.ToolBar\',\r\n \'AMap.ControlBar\',\r\n \'AMap.Geocoder\',\r\n \'AMap.Marker\',\r\n \'AMap.CitySearch\',\r\n \'AMap.Geocoder\',\r\n \'AMap.Geolocation\',\r\n \'AMap.AutoComplete\',\r\n \'AMap.InfoWindow\'\r\n ]\r\n })\r\n .then((AMap) => {\r\n // 获取到作为地图容器的DOM元素,创建地图实例\r\n this.map = new AMap.Map(\'amapcontainer\', {\r\n // 设置地图容器id\r\n resizeEnable: true,\r\n zoom: this.zoom, // 地图显示的缩放级别\r\n zoomEnable: true, // 地图是否可缩放,默认值为true\r\n dragEnable: true, // 地图是否可通过鼠标拖拽平移,默认为true\r\n doubleClickZoom: true, // 地图是否可通过双击鼠标放大地图,默认为true\r\n zoom: 13, // 初始化地图级别\r\n center: [120.699366, 27.994267] // 初始化中心点坐标 广州\r\n })\r\n\r\n // 添加控件\r\n AMap.plugin([\'AMap.ToolBar\'], () => {\r\n this.map.addControl(new AMap.ToolBar())\r\n })\r\n // 地址逆解析插件\r\n this.geoCoder = new AMap.Geocoder({\r\n radius: 1000, // 范围,默认:500\r\n extensions: \'all\'\r\n })\r\n // 搜索提示插件\r\n this.AutoComplete = new AMap.AutoComplete({ city: \'全国\' })\r\n // 点击获取经纬度;\r\n this.map.on(\'click\', (e) => {\r\n this.keywords = \'\'\r\n // this.temp.city = e.\r\n // this.temp.county = val.address\r\n // 获取经纬度\r\n this.temp.lng = e.lnglat.lng\r\n this.temp.lat = e.lnglat.lat\r\n // 清除点\r\n this.removeMarker()\r\n // 标记点\r\n this.setMapMarker()\r\n // 解析地址\r\n this.toGeoCoder()\r\n })\r\n })\r\n .catch((e) => {\r\n console.log(e)\r\n })\r\n },\r\n // 搜索\r\n remoteMethod(query) {\r\n if (query !== \'\') {\r\n this.loading = true\r\n this.options = []\r\n console.log(this.options)\r\n setTimeout(() => {\r\n this.loading = false\r\n this.AutoComplete.search(query, (status, result) => {\r\n this.options = result.tips\r\n })\r\n }, 200)\r\n } else {\r\n this.options = []\r\n }\r\n },\r\n // 选中提示\r\n currentSelect(val) {\r\n console.log(val)\r\n // 清空时不执行后面代码\r\n if (!val) {\r\n return\r\n }\r\n if (val.location) {\r\n this.temp.lng = val.location.lng\r\n this.temp.lat = val.location.lat\r\n }\r\n // 解析地址\r\n this.toGeoCoder()\r\n // this.temp.address = val.district + val.address\r\n // this.temp.adcode = val.adcode\r\n // this.temp.city = val.district;\r\n // this.temp.county = val.address;\r\n // 清除点\r\n this.removeMarker()\r\n // 标记点\r\n this.setMapMarker()\r\n },\r\n\r\n // 解析地址\r\n toGeoCoder() {\r\n const lnglat = [this.temp.lng, this.temp.lat]\r\n this.geoCoder.getAddress(lnglat, (status, result) => {\r\n if (status === \'complete\' && result.regeocode) {\r\n console.log(result.regeocode)\r\n this.$set(this.temp, \'city\', result.regeocode.addressComponent.city)\r\n this.$set(\r\n this.temp,\r\n \'county\',\r\n result.regeocode.addressComponent.district\r\n )\r\n this.$set(this.temp, \'address\', result.regeocode.formattedAddress)\r\n }\r\n })\r\n },\r\n // 标记点\r\n setMapMarker() {\r\n // 自动适应显示想显示的范围区域\r\n this.map.setFitView()\r\n this.marker = new AMap.Marker({\r\n map: this.map,\r\n position: [this.temp.lng, this.temp.lat]\r\n })\r\n this.map.setFitView()\r\n this.map.add(this.marker)\r\n },\r\n // 清除点\r\n removeMarker() {\r\n if (this.marker) {\r\n this.map.remove(this.marker)\r\n }\r\n },\r\n // 获取客户信息\r\n getCustom() {\r\n WxUserCustomAll().then((res) => {\r\n this.customData = res.result.map((item) => {\r\n return {\r\n label: item.nickName,\r\n value: item.id,\r\n phoneNumber: item.phoneNumber\r\n }\r\n })\r\n })\r\n customAll().then((res) => {\r\n this.contacts = res.result.map((item) => {\r\n return {\r\n label: item.nickName,\r\n value: item.id,\r\n phoneNumber: item.phoneNumber\r\n }\r\n })\r\n })\r\n },\r\n changeUser(val) {\r\n for (var i = 0; i < this.customData.length; i++) {\r\n if (this.customData[i].value == val) {\r\n this.temp.wxUserPhoneNumber = this.customData[i].phoneNumber\r\n }\r\n }\r\n },\r\n getList() {\r\n this.listLoading = true\r\n WxUserFamilyPage(this.listQuery).then((response) => {\r\n this.list = response.result.data\r\n this.total = response.result.count\r\n setTimeout(() => {\r\n this.listLoading = false\r\n }, 1.5 * 1000)\r\n })\r\n WxUserFamilyAll().then((res) => {\r\n this.customerData = res.result.map((item) => {\r\n return { label: item.name, value: item.name }\r\n })\r\n })\r\n },\r\n handleModifyStatus(row, status) {\r\n this.$message({\r\n message: \'操作成功\',\r\n type: \'success\'\r\n })\r\n row.status = status\r\n },\r\n resetting(formName) {\r\n this.$nextTick(() => {\r\n this.$refs[formName].resetFields()\r\n this.getList()\r\n })\r\n },\r\n add() {\r\n this.dialogStatus = \'create\'\r\n this.dialogFormVisible = true\r\n this.temp = {}\r\n this.initAMap()\r\n },\r\n onSubmit() {\r\n this.getList()\r\n },\r\n createData() {\r\n this.$refs[\'temp\'].validate((valid) => {\r\n if (valid) {\r\n WxUserFamilySave(this.temp).then((res) => {\r\n // this.list.unshift(this.temp)\r\n if (res.status == 1) {\r\n this.dialogFormVisible = false\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'新增成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'新增失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n }\r\n })\r\n },\r\n updateData() {\r\n this.$refs[\'temp\'].validate((valid) => {\r\n if (valid) {\r\n WxUserFamilySave(this.temp).then((res) => {\r\n if (res.status == 1) {\r\n this.dialogFormVisible = false\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'更新成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'更新失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n }\r\n })\r\n },\r\n edit(row) {\r\n this.temp = row\r\n this.temp.wxUser = row.wxUserId\r\n this.dialogStatus = \'update\'\r\n this.dialogFormVisible = true\r\n // for(var i = 0; i < this.customData.length; i ++) {\r\n // if(this.customData[i].value == this.temp.wxUserId) {\r\n // this.temp.wxUserPhoneNumber = this.customData[i].phoneNumber\r\n // }\r\n // }\r\n this.initAMap()\r\n },\r\n handleDelete(row, index) {\r\n this.dialogVisible = true\r\n this.allState.id = row.id\r\n },\r\n handleStatus(row) {\r\n this.$confirm(\'此操作将更改状态, 是否继续?\', \'提示\', {\r\n confirmButtonText: \'确定\',\r\n cancelButtonText: \'取消\',\r\n type: \'warning\'\r\n })\r\n .then(() => {\r\n updateIsDel(row).then((res) => {\r\n if (res.status == 1) {\r\n this.getList()\r\n this.$notify({\r\n title: \'修改成功\',\r\n message: res.info,\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: \'修改失败\',\r\n message: res.info,\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n })\r\n .catch(() => {\r\n this.$message({\r\n type: \'info\',\r\n message: \'已取消\'\r\n })\r\n })\r\n },\r\n termination() {\r\n this.trtExitObj.id = this.allState.id\r\n WxUserFamilyDel(this.trtExitObj).then((res) => {\r\n if (res.status == 1) {\r\n this.getList()\r\n this.$notify({\r\n title: \'删除成功\',\r\n message: res.info,\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n this.dialogVisible = false\r\n return\r\n }\r\n this.$notify({\r\n title: \'删除失败\',\r\n message: res.info,\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n }\r\n }\r\n}\r\n<\/script>\r\n<style lang="scss" scoped>\r\n.el-col-12 {\r\n padding: 0 20px 0 0;\r\n}\r\n\r\n.el-divider--horizontal {\r\n margin: 0 0 20px 0;\r\n}\r\n::v-deep .el-calendar__button-group {\r\n display: none;\r\n}\r\n\r\n.table ::v-deep .el-table .cell {\r\n padding: 0;\r\n}\r\n\r\n.table ::v-deep .el-table td {\r\n padding: 5px 0;\r\n}\r\n\r\n.active {\r\n color: #409eff;\r\n cursor: pointer;\r\n display: inline-block;\r\n width: 42px;\r\n}\r\n\r\n.inactive {\r\n color: #999;\r\n}\r\n.exptable {\r\n font-size: 9px;\r\n text-align: center;\r\n width: 100%;\r\n // line-height: 26px;\r\n .leftXuhao {\r\n display: flex;\r\n border-bottom: 1px solid #333;\r\n div {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n border-right: 1px solid #333;\r\n }\r\n }\r\n .thead {\r\n // border: 1px solid #333;\r\n border-bottom: 0;\r\n color: #000;\r\n padding: 8px 0;\r\n }\r\n .tbody {\r\n border: 1px solid #333;\r\n font-size: 8px;\r\n }\r\n .tr {\r\n display: flex;\r\n border-bottom: 1px solid #333;\r\n color: #111;\r\n div {\r\n // flex: 1;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n border-right: 1px solid #333;\r\n // padding: 5px 2px;\r\n }\r\n .bodyday {\r\n flex: 1;\r\n }\r\n div:last-child {\r\n border-right: 0;\r\n }\r\n }\r\n .eight div {\r\n flex: 1;\r\n // width: calc((100% - 120px * 8) / 8);\r\n padding: 5px 0;\r\n }\r\n .eight .title {\r\n width: 110px;\r\n flex: none;\r\n }\r\n\r\n .tr:last-child {\r\n border-bottom: 0;\r\n }\r\n .loop {\r\n .num {\r\n width: 22px !important;\r\n }\r\n .total {\r\n width: 23px;\r\n padding: 5px 0;\r\n }\r\n // .day {\r\n // width: calc(27px * 27);\r\n // }\r\n .name {\r\n // flex: 1;\r\n padding: 5px 0;\r\n // width: 300px !important;\r\n flex: 0.1;\r\n }\r\n .headday {\r\n flex-flow: column;\r\n flex: 1;\r\n .forday {\r\n border-top: 1px solid #333;\r\n }\r\n }\r\n .day span {\r\n padding: 5px 0;\r\n }\r\n .forday {\r\n display: table;\r\n width: 100%;\r\n height: 100%;\r\n span {\r\n display: table-cell;\r\n vertical-align: middle;\r\n border-right: 1px solid #333;\r\n width: 23px;\r\n height: 100%;\r\n overflow: hidden;\r\n word-wrap: break-word;\r\n word-break: break-all;\r\n }\r\n span:last-child {\r\n border-right: 0;\r\n }\r\n }\r\n }\r\n}\r\n</style>\r\n',".el-col-12 {\n padding: 0 20px 0 0;\n}\n\n.el-divider--horizontal {\n margin: 0 0 20px 0;\n}\n\n::v-deep .el-calendar__button-group {\n display: none;\n}\n\n.table ::v-deep .el-table .cell {\n padding: 0;\n}\n\n.table ::v-deep .el-table td {\n padding: 5px 0;\n}\n\n.active {\n color: #409eff;\n cursor: pointer;\n display: inline-block;\n width: 42px;\n}\n\n.inactive {\n color: #999;\n}\n\n.exptable {\n font-size: 9px;\n text-align: center;\n width: 100%;\n}\n.exptable .leftXuhao {\n display: flex;\n border-bottom: 1px solid #333;\n}\n.exptable .leftXuhao div {\n display: flex;\n align-items: center;\n justify-content: center;\n border-right: 1px solid #333;\n}\n.exptable .thead {\n border-bottom: 0;\n color: #000;\n padding: 8px 0;\n}\n.exptable .tbody {\n border: 1px solid #333;\n font-size: 8px;\n}\n.exptable .tr {\n display: flex;\n border-bottom: 1px solid #333;\n color: #111;\n}\n.exptable .tr div {\n display: flex;\n align-items: center;\n justify-content: center;\n border-right: 1px solid #333;\n}\n.exptable .tr .bodyday {\n flex: 1;\n}\n.exptable .tr div:last-child {\n border-right: 0;\n}\n.exptable .eight div {\n flex: 1;\n padding: 5px 0;\n}\n.exptable .eight .title {\n width: 110px;\n flex: none;\n}\n.exptable .tr:last-child {\n border-bottom: 0;\n}\n.exptable .loop .num {\n width: 22px !important;\n}\n.exptable .loop .total {\n width: 23px;\n padding: 5px 0;\n}\n.exptable .loop .name {\n padding: 5px 0;\n flex: 0.1;\n}\n.exptable .loop .headday {\n flex-flow: column;\n flex: 1;\n}\n.exptable .loop .headday .forday {\n border-top: 1px solid #333;\n}\n.exptable .loop .day span {\n padding: 5px 0;\n}\n.exptable .loop .forday {\n display: table;\n width: 100%;\n height: 100%;\n}\n.exptable .loop .forday span {\n display: table-cell;\n vertical-align: middle;\n border-right: 1px solid #333;\n width: 23px;\n height: 100%;\n overflow: hidden;\n word-wrap: break-word;\n word-break: break-all;\n}\n.exptable .loop .forday span:last-child {\n border-right: 0;\n}\n\n/*# sourceMappingURL=index.vue.map */"]},media:void 0})},__vue_scope_id__$a="data-v-66d92f8f",__vue_module_identifier__$a=void 0,__vue_is_functional_template__$a=!1,__vue_component__$a=normalizeComponent({render:__vue_render__$a,staticRenderFns:__vue_staticRenderFns__$a},__vue_inject_styles__$a,__vue_script__$a,__vue_scope_id__$a,__vue_is_functional_template__$a,__vue_module_identifier__$a,!1,createInjector,void 0,void 0);
|
|
2
2
|
/**!
|
|
3
3
|
* Sortable 1.15.6
|
|
4
4
|
* @author RubaXa <trash@rubaxa.org>
|
|
5
5
|
* @author owenm <owen23355@gmail.com>
|
|
6
6
|
* @license MIT
|
|
7
7
|
*/
|
|
8
|
-
function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function _objectSpread2(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(n),!0).forEach(function(t){_defineProperty(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _extends(){return _extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_extends.apply(this,arguments)}function _objectWithoutPropertiesLoose(e,t){if(null==e)return{};var n,r,l={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(l[n]=e[n]);return l}function _objectWithoutProperties(e,t){if(null==e)return{};var n,r,l=_objectWithoutPropertiesLoose(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}var version="1.15.6";function userAgent(e){if("undefined"!=typeof window&&window.navigator)return!!navigator.userAgent.match(e)}var IE11OrLess=userAgent(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),Edge=userAgent(/Edge/i),FireFox=userAgent(/firefox/i),Safari=userAgent(/safari/i)&&!userAgent(/chrome/i)&&!userAgent(/android/i),IOS=userAgent(/iP(ad|od|hone)/i),ChromeForAndroid=userAgent(/chrome/i)&&userAgent(/android/i),captureMode={capture:!1,passive:!1};function on(e,t,n){e.addEventListener(t,n,!IE11OrLess&&captureMode)}function off(e,t,n){e.removeEventListener(t,n,!IE11OrLess&&captureMode)}function matches(e,t){if(t){if(">"===t[0]&&(t=t.substring(1)),e)try{if(e.matches)return e.matches(t);if(e.msMatchesSelector)return e.msMatchesSelector(t);if(e.webkitMatchesSelector)return e.webkitMatchesSelector(t)}catch(e){return!1}return!1}}function getParentOrHost(e){return e.host&&e!==document&&e.host.nodeType?e.host:e.parentNode}function closest(e,t,n,r){if(e){n=n||document;do{if(null!=t&&(">"===t[0]?e.parentNode===n&&matches(e,t):matches(e,t))||r&&e===n)return e;if(e===n)break}while(e=getParentOrHost(e))}return null}var R_SPACE=/\s+/g,_throttleTimeout;function toggleClass(e,t,n){if(e&&t)if(e.classList)e.classList[n?"add":"remove"](t);else{var r=(" "+e.className+" ").replace(R_SPACE," ").replace(" "+t+" "," ");e.className=(r+(n?" "+t:"")).replace(R_SPACE," ")}}function css(e,t,n){var r=e&&e.style;if(r){if(void 0===n)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(e,""):e.currentStyle&&(n=e.currentStyle),void 0===t?n:n[t];t in r||-1!==t.indexOf("webkit")||(t="-webkit-"+t),r[t]=n+("string"==typeof n?"":"px")}}function matrix(e,t){var n="";if("string"==typeof e)n=e;else do{var r=css(e,"transform");r&&"none"!==r&&(n=r+" "+n)}while(!t&&(e=e.parentNode));var l=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return l&&new l(n)}function find(e,t,n){if(e){var r=e.getElementsByTagName(t),l=0,i=r.length;if(n)for(;l<i;l++)n(r[l],l);return r}return[]}function getWindowScrollingElement(){var e=document.scrollingElement;return e||document.documentElement}function getRect(e,t,n,r,l){if(e.getBoundingClientRect||e===window){var i,a,s,o,c,d,p;if(e!==window&&e.parentNode&&e!==getWindowScrollingElement()?(a=(i=e.getBoundingClientRect()).top,s=i.left,o=i.bottom,c=i.right,d=i.height,p=i.width):(a=0,s=0,o=window.innerHeight,c=window.innerWidth,d=window.innerHeight,p=window.innerWidth),(t||n)&&e!==window&&(l=l||e.parentNode,!IE11OrLess))do{if(l&&l.getBoundingClientRect&&("none"!==css(l,"transform")||n&&"static"!==css(l,"position"))){var m=l.getBoundingClientRect();a-=m.top+parseInt(css(l,"border-top-width")),s-=m.left+parseInt(css(l,"border-left-width")),o=a+i.height,c=s+i.width;break}}while(l=l.parentNode);if(r&&e!==window){var u=matrix(l||e),h=u&&u.a,f=u&&u.d;u&&(o=(a/=f)+(d/=f),c=(s/=h)+(p/=h))}return{top:a,left:s,bottom:o,right:c,width:p,height:d}}}function isScrolledPast(e,t,n){for(var r=getParentAutoScrollElement(e,!0),l=getRect(e)[t];r;){var i=getRect(r)[n];if(!("top"===n||"left"===n?l>=i:l<=i))return r;if(r===getWindowScrollingElement())break;r=getParentAutoScrollElement(r,!1)}return!1}function getChild(e,t,n,r){for(var l=0,i=0,a=e.children;i<a.length;){if("none"!==a[i].style.display&&a[i]!==Sortable.ghost&&(r||a[i]!==Sortable.dragged)&&closest(a[i],n.draggable,e,!1)){if(l===t)return a[i];l++}i++}return null}function lastChild(e,t){for(var n=e.lastElementChild;n&&(n===Sortable.ghost||"none"===css(n,"display")||t&&!matches(n,t));)n=n.previousElementSibling;return n||null}function index$2(e,t){var n=0;if(!e||!e.parentNode)return-1;for(;e=e.previousElementSibling;)"TEMPLATE"===e.nodeName.toUpperCase()||e===Sortable.clone||t&&!matches(e,t)||n++;return n}function getRelativeScrollOffset(e){var t=0,n=0,r=getWindowScrollingElement();if(e)do{var l=matrix(e),i=l.a,a=l.d;t+=e.scrollLeft*i,n+=e.scrollTop*a}while(e!==r&&(e=e.parentNode));return[t,n]}function indexOfObject(e,t){for(var n in e)if(e.hasOwnProperty(n))for(var r in t)if(t.hasOwnProperty(r)&&t[r]===e[n][r])return Number(n);return-1}function getParentAutoScrollElement(e,t){if(!e||!e.getBoundingClientRect)return getWindowScrollingElement();var n=e,r=!1;do{if(n.clientWidth<n.scrollWidth||n.clientHeight<n.scrollHeight){var l=css(n);if(n.clientWidth<n.scrollWidth&&("auto"==l.overflowX||"scroll"==l.overflowX)||n.clientHeight<n.scrollHeight&&("auto"==l.overflowY||"scroll"==l.overflowY)){if(!n.getBoundingClientRect||n===document.body)return getWindowScrollingElement();if(r||t)return n;r=!0}}}while(n=n.parentNode);return getWindowScrollingElement()}function extend(e,t){if(e&&t)for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}function isRectEqual(e,t){return Math.round(e.top)===Math.round(t.top)&&Math.round(e.left)===Math.round(t.left)&&Math.round(e.height)===Math.round(t.height)&&Math.round(e.width)===Math.round(t.width)}function throttle(e,t){return function(){if(!_throttleTimeout){var n=arguments;1===n.length?e.call(this,n[0]):e.apply(this,n),_throttleTimeout=setTimeout(function(){_throttleTimeout=void 0},t)}}}function cancelThrottle(){clearTimeout(_throttleTimeout),_throttleTimeout=void 0}function scrollBy(e,t,n){e.scrollLeft+=t,e.scrollTop+=n}function clone(e){var t=window.Polymer,n=window.jQuery||window.Zepto;return t&&t.dom?t.dom(e).cloneNode(!0):n?n(e).clone(!0)[0]:e.cloneNode(!0)}function getChildContainingRectFromElement(e,t,n){var r={};return Array.from(e.children).forEach(function(l){var i,a,s,o;if(closest(l,t.draggable,e,!1)&&!l.animated&&l!==n){var c=getRect(l);r.left=Math.min(null!==(i=r.left)&&void 0!==i?i:1/0,c.left),r.top=Math.min(null!==(a=r.top)&&void 0!==a?a:1/0,c.top),r.right=Math.max(null!==(s=r.right)&&void 0!==s?s:-1/0,c.right),r.bottom=Math.max(null!==(o=r.bottom)&&void 0!==o?o:-1/0,c.bottom)}}),r.width=r.right-r.left,r.height=r.bottom-r.top,r.x=r.left,r.y=r.top,r}var expando="Sortable"+(new Date).getTime();function AnimationStateManager(){var e,t=[];return{captureAnimationState:function(){(t=[],this.options.animation)&&[].slice.call(this.el.children).forEach(function(e){if("none"!==css(e,"display")&&e!==Sortable.ghost){t.push({target:e,rect:getRect(e)});var n=_objectSpread2({},t[t.length-1].rect);if(e.thisAnimationDuration){var r=matrix(e,!0);r&&(n.top-=r.f,n.left-=r.e)}e.fromRect=n}})},addAnimationState:function(e){t.push(e)},removeAnimationState:function(e){t.splice(indexOfObject(t,{target:e}),1)},animateAll:function(n){var r=this;if(!this.options.animation)return clearTimeout(e),void("function"==typeof n&&n());var l=!1,i=0;t.forEach(function(e){var t=0,n=e.target,a=n.fromRect,s=getRect(n),o=n.prevFromRect,c=n.prevToRect,d=e.rect,p=matrix(n,!0);p&&(s.top-=p.f,s.left-=p.e),n.toRect=s,n.thisAnimationDuration&&isRectEqual(o,s)&&!isRectEqual(a,s)&&(d.top-s.top)/(d.left-s.left)===(a.top-s.top)/(a.left-s.left)&&(t=calculateRealTime(d,o,c,r.options)),isRectEqual(s,a)||(n.prevFromRect=a,n.prevToRect=s,t||(t=r.options.animation),r.animate(n,d,s,t)),t&&(l=!0,i=Math.max(i,t),clearTimeout(n.animationResetTimer),n.animationResetTimer=setTimeout(function(){n.animationTime=0,n.prevFromRect=null,n.fromRect=null,n.prevToRect=null,n.thisAnimationDuration=null},t),n.thisAnimationDuration=t)}),clearTimeout(e),l?e=setTimeout(function(){"function"==typeof n&&n()},i):"function"==typeof n&&n(),t=[]},animate:function(e,t,n,r){if(r){css(e,"transition",""),css(e,"transform","");var l=matrix(this.el),i=l&&l.a,a=l&&l.d,s=(t.left-n.left)/(i||1),o=(t.top-n.top)/(a||1);e.animatingX=!!s,e.animatingY=!!o,css(e,"transform","translate3d("+s+"px,"+o+"px,0)"),this.forRepaintDummy=repaint(e),css(e,"transition","transform "+r+"ms"+(this.options.easing?" "+this.options.easing:"")),css(e,"transform","translate3d(0,0,0)"),"number"==typeof e.animated&&clearTimeout(e.animated),e.animated=setTimeout(function(){css(e,"transition",""),css(e,"transform",""),e.animated=!1,e.animatingX=!1,e.animatingY=!1},r)}}}}function repaint(e){return e.offsetWidth}function calculateRealTime(e,t,n,r){return Math.sqrt(Math.pow(t.top-e.top,2)+Math.pow(t.left-e.left,2))/Math.sqrt(Math.pow(t.top-n.top,2)+Math.pow(t.left-n.left,2))*r.animation}var plugins=[],defaults={initializeByDefault:!0},PluginManager={mount:function(e){for(var t in defaults)defaults.hasOwnProperty(t)&&!(t in e)&&(e[t]=defaults[t]);plugins.forEach(function(t){if(t.pluginName===e.pluginName)throw"Sortable: Cannot mount plugin ".concat(e.pluginName," more than once")}),plugins.push(e)},pluginEvent:function(e,t,n){var r=this;this.eventCanceled=!1,n.cancel=function(){r.eventCanceled=!0};var l=e+"Global";plugins.forEach(function(r){t[r.pluginName]&&(t[r.pluginName][l]&&t[r.pluginName][l](_objectSpread2({sortable:t},n)),t.options[r.pluginName]&&t[r.pluginName][e]&&t[r.pluginName][e](_objectSpread2({sortable:t},n)))})},initializePlugins:function(e,t,n,r){for(var l in plugins.forEach(function(r){var l=r.pluginName;if(e.options[l]||r.initializeByDefault){var i=new r(e,t,e.options);i.sortable=e,i.options=e.options,e[l]=i,_extends(n,i.defaults)}}),e.options)if(e.options.hasOwnProperty(l)){var i=this.modifyOption(e,l,e.options[l]);void 0!==i&&(e.options[l]=i)}},getEventProperties:function(e,t){var n={};return plugins.forEach(function(r){"function"==typeof r.eventProperties&&_extends(n,r.eventProperties.call(t[r.pluginName],e))}),n},modifyOption:function(e,t,n){var r;return plugins.forEach(function(l){e[l.pluginName]&&l.optionListeners&&"function"==typeof l.optionListeners[t]&&(r=l.optionListeners[t].call(e[l.pluginName],n))}),r}};function dispatchEvent(e){var t=e.sortable,n=e.rootEl,r=e.name,l=e.targetEl,i=e.cloneEl,a=e.toEl,s=e.fromEl,o=e.oldIndex,c=e.newIndex,d=e.oldDraggableIndex,p=e.newDraggableIndex,m=e.originalEvent,u=e.putSortable,h=e.extraEventProperties;if(t=t||n&&n[expando]){var f,g=t.options,v="on"+r.charAt(0).toUpperCase()+r.substr(1);!window.CustomEvent||IE11OrLess||Edge?(f=document.createEvent("Event")).initEvent(r,!0,!0):f=new CustomEvent(r,{bubbles:!0,cancelable:!0}),f.to=a||n,f.from=s||n,f.item=l||n,f.clone=i,f.oldIndex=o,f.newIndex=c,f.oldDraggableIndex=d,f.newDraggableIndex=p,f.originalEvent=m,f.pullMode=u?u.lastPutMode:void 0;var b=_objectSpread2(_objectSpread2({},h),PluginManager.getEventProperties(r,t));for(var y in b)f[y]=b[y];n&&n.dispatchEvent(f),g[v]&&g[v].call(t,f)}}var _excluded=["evt"],pluginEvent=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.evt,l=_objectWithoutProperties(n,_excluded);PluginManager.pluginEvent.bind(Sortable)(e,t,_objectSpread2({dragEl:dragEl,parentEl:parentEl,ghostEl:ghostEl,rootEl:rootEl,nextEl:nextEl,lastDownEl:lastDownEl,cloneEl:cloneEl,cloneHidden:cloneHidden,dragStarted:moved,putSortable:putSortable,activeSortable:Sortable.active,originalEvent:r,oldIndex:oldIndex,oldDraggableIndex:oldDraggableIndex,newIndex:newIndex,newDraggableIndex:newDraggableIndex,hideGhostForTarget:_hideGhostForTarget,unhideGhostForTarget:_unhideGhostForTarget,cloneNowHidden:function(){cloneHidden=!0},cloneNowShown:function(){cloneHidden=!1},dispatchSortableEvent:function(e){_dispatchEvent({sortable:t,name:e,originalEvent:r})}},l))};function _dispatchEvent(e){dispatchEvent(_objectSpread2({putSortable:putSortable,cloneEl:cloneEl,targetEl:dragEl,rootEl:rootEl,oldIndex:oldIndex,oldDraggableIndex:oldDraggableIndex,newIndex:newIndex,newDraggableIndex:newDraggableIndex},e))}var dragEl,parentEl,ghostEl,rootEl,nextEl,lastDownEl,cloneEl,cloneHidden,oldIndex,newIndex,oldDraggableIndex,newDraggableIndex,activeGroup,putSortable,awaitingDragStarted=!1,ignoreNextClick=!1,sortables=[],tapEvt,touchEvt,lastDx,lastDy,tapDistanceLeft,tapDistanceTop,moved,lastTarget,lastDirection,pastFirstInvertThresh=!1,isCircumstantialInvert=!1,targetMoveDistance,ghostRelativeParent,ghostRelativeParentInitialScroll=[],_silent=!1,savedInputChecked=[],documentExists="undefined"!=typeof document,PositionGhostAbsolutely=IOS,CSSFloatProperty=Edge||IE11OrLess?"cssFloat":"float",supportDraggable=documentExists&&!ChromeForAndroid&&!IOS&&"draggable"in document.createElement("div"),supportCssPointerEvents=function(){if(documentExists){if(IE11OrLess)return!1;var e=document.createElement("x");return e.style.cssText="pointer-events:auto","auto"===e.style.pointerEvents}}(),_detectDirection=function(e,t){var n=css(e),r=parseInt(n.width)-parseInt(n.paddingLeft)-parseInt(n.paddingRight)-parseInt(n.borderLeftWidth)-parseInt(n.borderRightWidth),l=getChild(e,0,t),i=getChild(e,1,t),a=l&&css(l),s=i&&css(i),o=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+getRect(l).width,c=s&&parseInt(s.marginLeft)+parseInt(s.marginRight)+getRect(i).width;if("flex"===n.display)return"column"===n.flexDirection||"column-reverse"===n.flexDirection?"vertical":"horizontal";if("grid"===n.display)return n.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(l&&a.float&&"none"!==a.float){var d="left"===a.float?"left":"right";return!i||"both"!==s.clear&&s.clear!==d?"horizontal":"vertical"}return l&&("block"===a.display||"flex"===a.display||"table"===a.display||"grid"===a.display||o>=r&&"none"===n[CSSFloatProperty]||i&&"none"===n[CSSFloatProperty]&&o+c>r)?"vertical":"horizontal"},_dragElInRowColumn=function(e,t,n){var r=n?e.left:e.top,l=n?e.right:e.bottom,i=n?e.width:e.height,a=n?t.left:t.top,s=n?t.right:t.bottom,o=n?t.width:t.height;return r===a||l===s||r+i/2===a+o/2},_detectNearestEmptySortable=function(e,t){var n;return sortables.some(function(r){var l=r[expando].options.emptyInsertThreshold;if(l&&!lastChild(r)){var i=getRect(r),a=e>=i.left-l&&e<=i.right+l,s=t>=i.top-l&&t<=i.bottom+l;return a&&s?n=r:void 0}}),n},_prepareGroup=function(e){function t(e,n){return function(r,l,i,a){var s=r.options.group.name&&l.options.group.name&&r.options.group.name===l.options.group.name;if(null==e&&(n||s))return!0;if(null==e||!1===e)return!1;if(n&&"clone"===e)return e;if("function"==typeof e)return t(e(r,l,i,a),n)(r,l,i,a);var o=(n?r:l).options.group.name;return!0===e||"string"==typeof e&&e===o||e.join&&e.indexOf(o)>-1}}var n={},r=e.group;r&&"object"==_typeof(r)||(r={name:r}),n.name=r.name,n.checkPull=t(r.pull,!0),n.checkPut=t(r.put),n.revertClone=r.revertClone,e.group=n},_hideGhostForTarget=function(){!supportCssPointerEvents&&ghostEl&&css(ghostEl,"display","none")},_unhideGhostForTarget=function(){!supportCssPointerEvents&&ghostEl&&css(ghostEl,"display","")};documentExists&&!ChromeForAndroid&&document.addEventListener("click",function(e){if(ignoreNextClick)return e.preventDefault(),e.stopPropagation&&e.stopPropagation(),e.stopImmediatePropagation&&e.stopImmediatePropagation(),ignoreNextClick=!1,!1},!0);var nearestEmptyInsertDetectEvent=function(e){if(dragEl){e=e.touches?e.touches[0]:e;var t=_detectNearestEmptySortable(e.clientX,e.clientY);if(t){var n={};for(var r in e)e.hasOwnProperty(r)&&(n[r]=e[r]);n.target=n.rootEl=t,n.preventDefault=void 0,n.stopPropagation=void 0,t[expando]._onDragOver(n)}}},_checkOutsideTargetEl=function(e){dragEl&&dragEl.parentNode[expando]._isOutsideThisEl(e.target)};function Sortable(e,t){if(!e||!e.nodeType||1!==e.nodeType)throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(e));this.el=e,this.options=t=_extends({},t),e[expando]=this;var n={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(e.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return _detectDirection(e,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(e,t){e.setData("Text",t.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==Sortable.supportPointer&&"PointerEvent"in window&&(!Safari||IOS),emptyInsertThreshold:5};for(var r in PluginManager.initializePlugins(this,e,n),n)!(r in t)&&(t[r]=n[r]);for(var l in _prepareGroup(t),this)"_"===l.charAt(0)&&"function"==typeof this[l]&&(this[l]=this[l].bind(this));this.nativeDraggable=!t.forceFallback&&supportDraggable,this.nativeDraggable&&(this.options.touchStartThreshold=1),t.supportPointer?on(e,"pointerdown",this._onTapStart):(on(e,"mousedown",this._onTapStart),on(e,"touchstart",this._onTapStart)),this.nativeDraggable&&(on(e,"dragover",this),on(e,"dragenter",this)),sortables.push(this.el),t.store&&t.store.get&&this.sort(t.store.get(this)||[]),_extends(this,AnimationStateManager())}function _globalDragOver(e){e.dataTransfer&&(e.dataTransfer.dropEffect="move"),e.cancelable&&e.preventDefault()}function _onMove(e,t,n,r,l,i,a,s){var o,c,d=e[expando],p=d.options.onMove;return!window.CustomEvent||IE11OrLess||Edge?(o=document.createEvent("Event")).initEvent("move",!0,!0):o=new CustomEvent("move",{bubbles:!0,cancelable:!0}),o.to=t,o.from=e,o.dragged=n,o.draggedRect=r,o.related=l||t,o.relatedRect=i||getRect(t),o.willInsertAfter=s,o.originalEvent=a,e.dispatchEvent(o),p&&(c=p.call(d,o,a)),c}function _disableDraggable(e){e.draggable=!1}function _unsilent(){_silent=!1}function _ghostIsFirst(e,t,n){var r=getRect(getChild(n.el,0,n.options,!0)),l=getChildContainingRectFromElement(n.el,n.options,ghostEl);return t?e.clientX<l.left-10||e.clientY<r.top&&e.clientX<r.right:e.clientY<l.top-10||e.clientY<r.bottom&&e.clientX<r.left}function _ghostIsLast(e,t,n){var r=getRect(lastChild(n.el,n.options.draggable)),l=getChildContainingRectFromElement(n.el,n.options,ghostEl);return t?e.clientX>l.right+10||e.clientY>r.bottom&&e.clientX>r.left:e.clientY>l.bottom+10||e.clientX>r.right&&e.clientY>r.top}function _getSwapDirection(e,t,n,r,l,i,a,s){var o=r?e.clientY:e.clientX,c=r?n.height:n.width,d=r?n.top:n.left,p=r?n.bottom:n.right,m=!1;if(!a)if(s&&targetMoveDistance<c*l){if(!pastFirstInvertThresh&&(1===lastDirection?o>d+c*i/2:o<p-c*i/2)&&(pastFirstInvertThresh=!0),pastFirstInvertThresh)m=!0;else if(1===lastDirection?o<d+targetMoveDistance:o>p-targetMoveDistance)return-lastDirection}else if(o>d+c*(1-l)/2&&o<p-c*(1-l)/2)return _getInsertDirection(t);return(m=m||a)&&(o<d+c*i/2||o>p-c*i/2)?o>d+c/2?1:-1:0}function _getInsertDirection(e){return index$2(dragEl)<index$2(e)?1:-1}function _generateId(e){for(var t=e.tagName+e.className+e.src+e.href+e.textContent,n=t.length,r=0;n--;)r+=t.charCodeAt(n);return r.toString(36)}function _saveInputCheckedState(e){savedInputChecked.length=0;for(var t=e.getElementsByTagName("input"),n=t.length;n--;){var r=t[n];r.checked&&savedInputChecked.push(r)}}function _nextTick(e){return setTimeout(e,0)}function _cancelNextTick(e){return clearTimeout(e)}Sortable.prototype={constructor:Sortable,_isOutsideThisEl:function(e){this.el.contains(e)||e===this.el||(lastTarget=null)},_getDirection:function(e,t){return"function"==typeof this.options.direction?this.options.direction.call(this,e,t,dragEl):this.options.direction},_onTapStart:function(e){if(e.cancelable){var t=this,n=this.el,r=this.options,l=r.preventOnFilter,i=e.type,a=e.touches&&e.touches[0]||e.pointerType&&"touch"===e.pointerType&&e,s=(a||e).target,o=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||s,c=r.filter;if(_saveInputCheckedState(n),!dragEl&&!(/mousedown|pointerdown/.test(i)&&0!==e.button||r.disabled)&&!o.isContentEditable&&(this.nativeDraggable||!Safari||!s||"SELECT"!==s.tagName.toUpperCase())&&!((s=closest(s,r.draggable,n,!1))&&s.animated||lastDownEl===s)){if(oldIndex=index$2(s),oldDraggableIndex=index$2(s,r.draggable),"function"==typeof c){if(c.call(this,e,s,this))return _dispatchEvent({sortable:t,rootEl:o,name:"filter",targetEl:s,toEl:n,fromEl:n}),pluginEvent("filter",t,{evt:e}),void(l&&e.preventDefault())}else if(c&&(c=c.split(",").some(function(r){if(r=closest(o,r.trim(),n,!1))return _dispatchEvent({sortable:t,rootEl:r,name:"filter",targetEl:s,fromEl:n,toEl:n}),pluginEvent("filter",t,{evt:e}),!0})))return void(l&&e.preventDefault());r.handle&&!closest(o,r.handle,n,!1)||this._prepareDragStart(e,a,s)}}},_prepareDragStart:function(e,t,n){var r,l=this,i=l.el,a=l.options,s=i.ownerDocument;if(n&&!dragEl&&n.parentNode===i){var o=getRect(n);if(rootEl=i,parentEl=(dragEl=n).parentNode,nextEl=dragEl.nextSibling,lastDownEl=n,activeGroup=a.group,Sortable.dragged=dragEl,tapEvt={target:dragEl,clientX:(t||e).clientX,clientY:(t||e).clientY},tapDistanceLeft=tapEvt.clientX-o.left,tapDistanceTop=tapEvt.clientY-o.top,this._lastX=(t||e).clientX,this._lastY=(t||e).clientY,dragEl.style["will-change"]="all",r=function(){pluginEvent("delayEnded",l,{evt:e}),Sortable.eventCanceled?l._onDrop():(l._disableDelayedDragEvents(),!FireFox&&l.nativeDraggable&&(dragEl.draggable=!0),l._triggerDragStart(e,t),_dispatchEvent({sortable:l,name:"choose",originalEvent:e}),toggleClass(dragEl,a.chosenClass,!0))},a.ignore.split(",").forEach(function(e){find(dragEl,e.trim(),_disableDraggable)}),on(s,"dragover",nearestEmptyInsertDetectEvent),on(s,"mousemove",nearestEmptyInsertDetectEvent),on(s,"touchmove",nearestEmptyInsertDetectEvent),a.supportPointer?(on(s,"pointerup",l._onDrop),!this.nativeDraggable&&on(s,"pointercancel",l._onDrop)):(on(s,"mouseup",l._onDrop),on(s,"touchend",l._onDrop),on(s,"touchcancel",l._onDrop)),FireFox&&this.nativeDraggable&&(this.options.touchStartThreshold=4,dragEl.draggable=!0),pluginEvent("delayStart",this,{evt:e}),!a.delay||a.delayOnTouchOnly&&!t||this.nativeDraggable&&(Edge||IE11OrLess))r();else{if(Sortable.eventCanceled)return void this._onDrop();a.supportPointer?(on(s,"pointerup",l._disableDelayedDrag),on(s,"pointercancel",l._disableDelayedDrag)):(on(s,"mouseup",l._disableDelayedDrag),on(s,"touchend",l._disableDelayedDrag),on(s,"touchcancel",l._disableDelayedDrag)),on(s,"mousemove",l._delayedDragTouchMoveHandler),on(s,"touchmove",l._delayedDragTouchMoveHandler),a.supportPointer&&on(s,"pointermove",l._delayedDragTouchMoveHandler),l._dragStartTimer=setTimeout(r,a.delay)}}},_delayedDragTouchMoveHandler:function(e){var t=e.touches?e.touches[0]:e;Math.max(Math.abs(t.clientX-this._lastX),Math.abs(t.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){dragEl&&_disableDraggable(dragEl),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var e=this.el.ownerDocument;off(e,"mouseup",this._disableDelayedDrag),off(e,"touchend",this._disableDelayedDrag),off(e,"touchcancel",this._disableDelayedDrag),off(e,"pointerup",this._disableDelayedDrag),off(e,"pointercancel",this._disableDelayedDrag),off(e,"mousemove",this._delayedDragTouchMoveHandler),off(e,"touchmove",this._delayedDragTouchMoveHandler),off(e,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(e,t){t=t||"touch"==e.pointerType&&e,!this.nativeDraggable||t?this.options.supportPointer?on(document,"pointermove",this._onTouchMove):on(document,t?"touchmove":"mousemove",this._onTouchMove):(on(dragEl,"dragend",this),on(rootEl,"dragstart",this._onDragStart));try{document.selection?_nextTick(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch(e){}},_dragStarted:function(e,t){if(awaitingDragStarted=!1,rootEl&&dragEl){pluginEvent("dragStarted",this,{evt:t}),this.nativeDraggable&&on(document,"dragover",_checkOutsideTargetEl);var n=this.options;!e&&toggleClass(dragEl,n.dragClass,!1),toggleClass(dragEl,n.ghostClass,!0),Sortable.active=this,e&&this._appendGhost(),_dispatchEvent({sortable:this,name:"start",originalEvent:t})}else this._nulling()},_emulateDragOver:function(){if(touchEvt){this._lastX=touchEvt.clientX,this._lastY=touchEvt.clientY,_hideGhostForTarget();for(var e=document.elementFromPoint(touchEvt.clientX,touchEvt.clientY),t=e;e&&e.shadowRoot&&(e=e.shadowRoot.elementFromPoint(touchEvt.clientX,touchEvt.clientY))!==t;)t=e;if(dragEl.parentNode[expando]._isOutsideThisEl(e),t)do{if(t[expando]){if(t[expando]._onDragOver({clientX:touchEvt.clientX,clientY:touchEvt.clientY,target:e,rootEl:t})&&!this.options.dragoverBubble)break}e=t}while(t=getParentOrHost(t));_unhideGhostForTarget()}},_onTouchMove:function(e){if(tapEvt){var t=this.options,n=t.fallbackTolerance,r=t.fallbackOffset,l=e.touches?e.touches[0]:e,i=ghostEl&&matrix(ghostEl,!0),a=ghostEl&&i&&i.a,s=ghostEl&&i&&i.d,o=PositionGhostAbsolutely&&ghostRelativeParent&&getRelativeScrollOffset(ghostRelativeParent),c=(l.clientX-tapEvt.clientX+r.x)/(a||1)+(o?o[0]-ghostRelativeParentInitialScroll[0]:0)/(a||1),d=(l.clientY-tapEvt.clientY+r.y)/(s||1)+(o?o[1]-ghostRelativeParentInitialScroll[1]:0)/(s||1);if(!Sortable.active&&!awaitingDragStarted){if(n&&Math.max(Math.abs(l.clientX-this._lastX),Math.abs(l.clientY-this._lastY))<n)return;this._onDragStart(e,!0)}if(ghostEl){i?(i.e+=c-(lastDx||0),i.f+=d-(lastDy||0)):i={a:1,b:0,c:0,d:1,e:c,f:d};var p="matrix(".concat(i.a,",").concat(i.b,",").concat(i.c,",").concat(i.d,",").concat(i.e,",").concat(i.f,")");css(ghostEl,"webkitTransform",p),css(ghostEl,"mozTransform",p),css(ghostEl,"msTransform",p),css(ghostEl,"transform",p),lastDx=c,lastDy=d,touchEvt=l}e.cancelable&&e.preventDefault()}},_appendGhost:function(){if(!ghostEl){var e=this.options.fallbackOnBody?document.body:rootEl,t=getRect(dragEl,!0,PositionGhostAbsolutely,!0,e),n=this.options;if(PositionGhostAbsolutely){for(ghostRelativeParent=e;"static"===css(ghostRelativeParent,"position")&&"none"===css(ghostRelativeParent,"transform")&&ghostRelativeParent!==document;)ghostRelativeParent=ghostRelativeParent.parentNode;ghostRelativeParent!==document.body&&ghostRelativeParent!==document.documentElement?(ghostRelativeParent===document&&(ghostRelativeParent=getWindowScrollingElement()),t.top+=ghostRelativeParent.scrollTop,t.left+=ghostRelativeParent.scrollLeft):ghostRelativeParent=getWindowScrollingElement(),ghostRelativeParentInitialScroll=getRelativeScrollOffset(ghostRelativeParent)}toggleClass(ghostEl=dragEl.cloneNode(!0),n.ghostClass,!1),toggleClass(ghostEl,n.fallbackClass,!0),toggleClass(ghostEl,n.dragClass,!0),css(ghostEl,"transition",""),css(ghostEl,"transform",""),css(ghostEl,"box-sizing","border-box"),css(ghostEl,"margin",0),css(ghostEl,"top",t.top),css(ghostEl,"left",t.left),css(ghostEl,"width",t.width),css(ghostEl,"height",t.height),css(ghostEl,"opacity","0.8"),css(ghostEl,"position",PositionGhostAbsolutely?"absolute":"fixed"),css(ghostEl,"zIndex","100000"),css(ghostEl,"pointerEvents","none"),Sortable.ghost=ghostEl,e.appendChild(ghostEl),css(ghostEl,"transform-origin",tapDistanceLeft/parseInt(ghostEl.style.width)*100+"% "+tapDistanceTop/parseInt(ghostEl.style.height)*100+"%")}},_onDragStart:function(e,t){var n=this,r=e.dataTransfer,l=n.options;pluginEvent("dragStart",this,{evt:e}),Sortable.eventCanceled?this._onDrop():(pluginEvent("setupClone",this),Sortable.eventCanceled||((cloneEl=clone(dragEl)).removeAttribute("id"),cloneEl.draggable=!1,cloneEl.style["will-change"]="",this._hideClone(),toggleClass(cloneEl,this.options.chosenClass,!1),Sortable.clone=cloneEl),n.cloneId=_nextTick(function(){pluginEvent("clone",n),Sortable.eventCanceled||(n.options.removeCloneOnHide||rootEl.insertBefore(cloneEl,dragEl),n._hideClone(),_dispatchEvent({sortable:n,name:"clone"}))}),!t&&toggleClass(dragEl,l.dragClass,!0),t?(ignoreNextClick=!0,n._loopId=setInterval(n._emulateDragOver,50)):(off(document,"mouseup",n._onDrop),off(document,"touchend",n._onDrop),off(document,"touchcancel",n._onDrop),r&&(r.effectAllowed="move",l.setData&&l.setData.call(n,r,dragEl)),on(document,"drop",n),css(dragEl,"transform","translateZ(0)")),awaitingDragStarted=!0,n._dragStartId=_nextTick(n._dragStarted.bind(n,t,e)),on(document,"selectstart",n),moved=!0,window.getSelection().removeAllRanges(),Safari&&css(document.body,"user-select","none"))},_onDragOver:function(e){var t,n,r,l,i=this.el,a=e.target,s=this.options,o=s.group,c=Sortable.active,d=activeGroup===o,p=s.sort,m=putSortable||c,u=this,h=!1;if(!_silent){if(void 0!==e.preventDefault&&e.cancelable&&e.preventDefault(),a=closest(a,s.draggable,i,!0),L("dragOver"),Sortable.eventCanceled)return h;if(dragEl.contains(e.target)||a.animated&&a.animatingX&&a.animatingY||u._ignoreWhileAnimating===a)return P(!1);if(ignoreNextClick=!1,c&&!s.disabled&&(d?p||(r=parentEl!==rootEl):putSortable===this||(this.lastPutMode=activeGroup.checkPull(this,c,dragEl,e))&&o.checkPut(this,c,dragEl,e))){if(l="vertical"===this._getDirection(e,a),t=getRect(dragEl),L("dragOverValid"),Sortable.eventCanceled)return h;if(r)return parentEl=rootEl,$(),this._hideClone(),L("revert"),Sortable.eventCanceled||(nextEl?rootEl.insertBefore(dragEl,nextEl):rootEl.appendChild(dragEl)),P(!0);var f=lastChild(i,s.draggable);if(!f||_ghostIsLast(e,l,this)&&!f.animated){if(f===dragEl)return P(!1);if(f&&i===e.target&&(a=f),a&&(n=getRect(a)),!1!==_onMove(rootEl,i,dragEl,t,a,n,e,!!a))return $(),f&&f.nextSibling?i.insertBefore(dragEl,f.nextSibling):i.appendChild(dragEl),parentEl=i,N(),P(!0)}else if(f&&_ghostIsFirst(e,l,this)){var g=getChild(i,0,s,!0);if(g===dragEl)return P(!1);if(n=getRect(a=g),!1!==_onMove(rootEl,i,dragEl,t,a,n,e,!1))return $(),i.insertBefore(dragEl,g),parentEl=i,N(),P(!0)}else if(a.parentNode===i){n=getRect(a);var v,b,y,_=dragEl.parentNode!==i,x=!_dragElInRowColumn(dragEl.animated&&dragEl.toRect||t,a.animated&&a.toRect||n,l),A=l?"top":"left",w=isScrolledPast(a,"top","top")||isScrolledPast(dragEl,"top","top"),k=w?w.scrollTop:void 0;if(lastTarget!==a&&(b=n[A],pastFirstInvertThresh=!1,isCircumstantialInvert=!x&&s.invertSwap||_),0!==(v=_getSwapDirection(e,a,n,l,x?1:s.swapThreshold,null==s.invertedSwapThreshold?s.swapThreshold:s.invertedSwapThreshold,isCircumstantialInvert,lastTarget===a))){var C=index$2(dragEl);do{C-=v,y=parentEl.children[C]}while(y&&("none"===css(y,"display")||y===ghostEl))}if(0===v||y===a)return P(!1);lastTarget=a,lastDirection=v;var S=a.nextElementSibling,E=!1,D=_onMove(rootEl,i,dragEl,t,a,n,e,E=1===v);if(!1!==D)return 1!==D&&-1!==D||(E=1===D),_silent=!0,setTimeout(_unsilent,30),$(),E&&!S?i.appendChild(dragEl):a.parentNode.insertBefore(dragEl,E?S:a),w&&scrollBy(w,0,k-w.scrollTop),parentEl=dragEl.parentNode,void 0===b||isCircumstantialInvert||(targetMoveDistance=Math.abs(b-getRect(a)[A])),N(),P(!0)}if(i.contains(dragEl))return P(!1)}return!1}function L(s,o){pluginEvent(s,u,_objectSpread2({evt:e,isOwner:d,axis:l?"vertical":"horizontal",revert:r,dragRect:t,targetRect:n,canSort:p,fromSortable:m,target:a,completed:P,onMove:function(n,r){return _onMove(rootEl,i,dragEl,t,n,getRect(n),e,r)},changed:N},o))}function $(){L("dragOverAnimationCapture"),u.captureAnimationState(),u!==m&&m.captureAnimationState()}function P(t){return L("dragOverCompleted",{insertion:t}),t&&(d?c._hideClone():c._showClone(u),u!==m&&(toggleClass(dragEl,putSortable?putSortable.options.ghostClass:c.options.ghostClass,!1),toggleClass(dragEl,s.ghostClass,!0)),putSortable!==u&&u!==Sortable.active?putSortable=u:u===Sortable.active&&putSortable&&(putSortable=null),m===u&&(u._ignoreWhileAnimating=a),u.animateAll(function(){L("dragOverAnimationComplete"),u._ignoreWhileAnimating=null}),u!==m&&(m.animateAll(),m._ignoreWhileAnimating=null)),(a===dragEl&&!dragEl.animated||a===i&&!a.animated)&&(lastTarget=null),s.dragoverBubble||e.rootEl||a===document||(dragEl.parentNode[expando]._isOutsideThisEl(e.target),!t&&nearestEmptyInsertDetectEvent(e)),!s.dragoverBubble&&e.stopPropagation&&e.stopPropagation(),h=!0}function N(){newIndex=index$2(dragEl),newDraggableIndex=index$2(dragEl,s.draggable),_dispatchEvent({sortable:u,name:"change",toEl:i,newIndex:newIndex,newDraggableIndex:newDraggableIndex,originalEvent:e})}},_ignoreWhileAnimating:null,_offMoveEvents:function(){off(document,"mousemove",this._onTouchMove),off(document,"touchmove",this._onTouchMove),off(document,"pointermove",this._onTouchMove),off(document,"dragover",nearestEmptyInsertDetectEvent),off(document,"mousemove",nearestEmptyInsertDetectEvent),off(document,"touchmove",nearestEmptyInsertDetectEvent)},_offUpEvents:function(){var e=this.el.ownerDocument;off(e,"mouseup",this._onDrop),off(e,"touchend",this._onDrop),off(e,"pointerup",this._onDrop),off(e,"pointercancel",this._onDrop),off(e,"touchcancel",this._onDrop),off(document,"selectstart",this)},_onDrop:function(e){var t=this.el,n=this.options;newIndex=index$2(dragEl),newDraggableIndex=index$2(dragEl,n.draggable),pluginEvent("drop",this,{evt:e}),parentEl=dragEl&&dragEl.parentNode,newIndex=index$2(dragEl),newDraggableIndex=index$2(dragEl,n.draggable),Sortable.eventCanceled||(awaitingDragStarted=!1,isCircumstantialInvert=!1,pastFirstInvertThresh=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),_cancelNextTick(this.cloneId),_cancelNextTick(this._dragStartId),this.nativeDraggable&&(off(document,"drop",this),off(t,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),Safari&&css(document.body,"user-select",""),css(dragEl,"transform",""),e&&(moved&&(e.cancelable&&e.preventDefault(),!n.dropBubble&&e.stopPropagation()),ghostEl&&ghostEl.parentNode&&ghostEl.parentNode.removeChild(ghostEl),(rootEl===parentEl||putSortable&&"clone"!==putSortable.lastPutMode)&&cloneEl&&cloneEl.parentNode&&cloneEl.parentNode.removeChild(cloneEl),dragEl&&(this.nativeDraggable&&off(dragEl,"dragend",this),_disableDraggable(dragEl),dragEl.style["will-change"]="",moved&&!awaitingDragStarted&&toggleClass(dragEl,putSortable?putSortable.options.ghostClass:this.options.ghostClass,!1),toggleClass(dragEl,this.options.chosenClass,!1),_dispatchEvent({sortable:this,name:"unchoose",toEl:parentEl,newIndex:null,newDraggableIndex:null,originalEvent:e}),rootEl!==parentEl?(newIndex>=0&&(_dispatchEvent({rootEl:parentEl,name:"add",toEl:parentEl,fromEl:rootEl,originalEvent:e}),_dispatchEvent({sortable:this,name:"remove",toEl:parentEl,originalEvent:e}),_dispatchEvent({rootEl:parentEl,name:"sort",toEl:parentEl,fromEl:rootEl,originalEvent:e}),_dispatchEvent({sortable:this,name:"sort",toEl:parentEl,originalEvent:e})),putSortable&&putSortable.save()):newIndex!==oldIndex&&newIndex>=0&&(_dispatchEvent({sortable:this,name:"update",toEl:parentEl,originalEvent:e}),_dispatchEvent({sortable:this,name:"sort",toEl:parentEl,originalEvent:e})),Sortable.active&&(null!=newIndex&&-1!==newIndex||(newIndex=oldIndex,newDraggableIndex=oldDraggableIndex),_dispatchEvent({sortable:this,name:"end",toEl:parentEl,originalEvent:e}),this.save())))),this._nulling()},_nulling:function(){pluginEvent("nulling",this),rootEl=dragEl=parentEl=ghostEl=nextEl=cloneEl=lastDownEl=cloneHidden=tapEvt=touchEvt=moved=newIndex=newDraggableIndex=oldIndex=oldDraggableIndex=lastTarget=lastDirection=putSortable=activeGroup=Sortable.dragged=Sortable.ghost=Sortable.clone=Sortable.active=null,savedInputChecked.forEach(function(e){e.checked=!0}),savedInputChecked.length=lastDx=lastDy=0},handleEvent:function(e){switch(e.type){case"drop":case"dragend":this._onDrop(e);break;case"dragenter":case"dragover":dragEl&&(this._onDragOver(e),_globalDragOver(e));break;case"selectstart":e.preventDefault()}},toArray:function(){for(var e,t=[],n=this.el.children,r=0,l=n.length,i=this.options;r<l;r++)closest(e=n[r],i.draggable,this.el,!1)&&t.push(e.getAttribute(i.dataIdAttr)||_generateId(e));return t},sort:function(e,t){var n={},r=this.el;this.toArray().forEach(function(e,t){var l=r.children[t];closest(l,this.options.draggable,r,!1)&&(n[e]=l)},this),t&&this.captureAnimationState(),e.forEach(function(e){n[e]&&(r.removeChild(n[e]),r.appendChild(n[e]))}),t&&this.animateAll()},save:function(){var e=this.options.store;e&&e.set&&e.set(this)},closest:function(e,t){return closest(e,t||this.options.draggable,this.el,!1)},option:function(e,t){var n=this.options;if(void 0===t)return n[e];var r=PluginManager.modifyOption(this,e,t);n[e]=void 0!==r?r:t,"group"===e&&_prepareGroup(n)},destroy:function(){pluginEvent("destroy",this);var e=this.el;e[expando]=null,off(e,"mousedown",this._onTapStart),off(e,"touchstart",this._onTapStart),off(e,"pointerdown",this._onTapStart),this.nativeDraggable&&(off(e,"dragover",this),off(e,"dragenter",this)),Array.prototype.forEach.call(e.querySelectorAll("[draggable]"),function(e){e.removeAttribute("draggable")}),this._onDrop(),this._disableDelayedDragEvents(),sortables.splice(sortables.indexOf(this.el),1),this.el=e=null},_hideClone:function(){if(!cloneHidden){if(pluginEvent("hideClone",this),Sortable.eventCanceled)return;css(cloneEl,"display","none"),this.options.removeCloneOnHide&&cloneEl.parentNode&&cloneEl.parentNode.removeChild(cloneEl),cloneHidden=!0}},_showClone:function(e){if("clone"===e.lastPutMode){if(cloneHidden){if(pluginEvent("showClone",this),Sortable.eventCanceled)return;dragEl.parentNode!=rootEl||this.options.group.revertClone?nextEl?rootEl.insertBefore(cloneEl,nextEl):rootEl.appendChild(cloneEl):rootEl.insertBefore(cloneEl,dragEl),this.options.group.revertClone&&this.animate(dragEl,cloneEl),css(cloneEl,"display",""),cloneHidden=!1}}else this._hideClone()}},documentExists&&on(document,"touchmove",function(e){(Sortable.active||awaitingDragStarted)&&e.cancelable&&e.preventDefault()}),Sortable.utils={on:on,off:off,css:css,find:find,is:function(e,t){return!!closest(e,t,e,!1)},extend:extend,throttle:throttle,closest:closest,toggleClass:toggleClass,clone:clone,index:index$2,nextTick:_nextTick,cancelNextTick:_cancelNextTick,detectDirection:_detectDirection,getChild:getChild,expando:expando},Sortable.get=function(e){return e[expando]},Sortable.mount=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t[0].constructor===Array&&(t=t[0]),t.forEach(function(e){if(!e.prototype||!e.prototype.constructor)throw"Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(e));e.utils&&(Sortable.utils=_objectSpread2(_objectSpread2({},Sortable.utils),e.utils)),PluginManager.mount(e)})},Sortable.create=function(e,t){return new Sortable(e,t)},Sortable.version=version;var autoScrolls=[],scrollEl,scrollRootEl,scrolling=!1,lastAutoScrollX,lastAutoScrollY,touchEvt$1,pointerElemChangedInterval;function AutoScrollPlugin(){function e(){for(var e in this.defaults={scroll:!0,forceAutoScrollFallback:!1,scrollSensitivity:30,scrollSpeed:10,bubbleScroll:!0},this)"_"===e.charAt(0)&&"function"==typeof this[e]&&(this[e]=this[e].bind(this))}return e.prototype={dragStarted:function(e){var t=e.originalEvent;this.sortable.nativeDraggable?on(document,"dragover",this._handleAutoScroll):this.options.supportPointer?on(document,"pointermove",this._handleFallbackAutoScroll):t.touches?on(document,"touchmove",this._handleFallbackAutoScroll):on(document,"mousemove",this._handleFallbackAutoScroll)},dragOverCompleted:function(e){var t=e.originalEvent;this.options.dragOverBubble||t.rootEl||this._handleAutoScroll(t)},drop:function(){this.sortable.nativeDraggable?off(document,"dragover",this._handleAutoScroll):(off(document,"pointermove",this._handleFallbackAutoScroll),off(document,"touchmove",this._handleFallbackAutoScroll),off(document,"mousemove",this._handleFallbackAutoScroll)),clearPointerElemChangedInterval(),clearAutoScrolls(),cancelThrottle()},nulling:function(){touchEvt$1=scrollRootEl=scrollEl=scrolling=pointerElemChangedInterval=lastAutoScrollX=lastAutoScrollY=null,autoScrolls.length=0},_handleFallbackAutoScroll:function(e){this._handleAutoScroll(e,!0)},_handleAutoScroll:function(e,t){var n=this,r=(e.touches?e.touches[0]:e).clientX,l=(e.touches?e.touches[0]:e).clientY,i=document.elementFromPoint(r,l);if(touchEvt$1=e,t||this.options.forceAutoScrollFallback||Edge||IE11OrLess||Safari){autoScroll(e,this.options,i,t);var a=getParentAutoScrollElement(i,!0);!scrolling||pointerElemChangedInterval&&r===lastAutoScrollX&&l===lastAutoScrollY||(pointerElemChangedInterval&&clearPointerElemChangedInterval(),pointerElemChangedInterval=setInterval(function(){var i=getParentAutoScrollElement(document.elementFromPoint(r,l),!0);i!==a&&(a=i,clearAutoScrolls()),autoScroll(e,n.options,i,t)},10),lastAutoScrollX=r,lastAutoScrollY=l)}else{if(!this.options.bubbleScroll||getParentAutoScrollElement(i,!0)===getWindowScrollingElement())return void clearAutoScrolls();autoScroll(e,this.options,getParentAutoScrollElement(i,!1),!1)}}},_extends(e,{pluginName:"scroll",initializeByDefault:!0})}function clearAutoScrolls(){autoScrolls.forEach(function(e){clearInterval(e.pid)}),autoScrolls=[]}function clearPointerElemChangedInterval(){clearInterval(pointerElemChangedInterval)}var autoScroll=throttle(function(e,t,n,r){if(t.scroll){var l,i=(e.touches?e.touches[0]:e).clientX,a=(e.touches?e.touches[0]:e).clientY,s=t.scrollSensitivity,o=t.scrollSpeed,c=getWindowScrollingElement(),d=!1;scrollRootEl!==n&&(scrollRootEl=n,clearAutoScrolls(),scrollEl=t.scroll,l=t.scrollFn,!0===scrollEl&&(scrollEl=getParentAutoScrollElement(n,!0)));var p=0,m=scrollEl;do{var u=m,h=getRect(u),f=h.top,g=h.bottom,v=h.left,b=h.right,y=h.width,_=h.height,x=void 0,A=void 0,w=u.scrollWidth,k=u.scrollHeight,C=css(u),S=u.scrollLeft,E=u.scrollTop;u===c?(x=y<w&&("auto"===C.overflowX||"scroll"===C.overflowX||"visible"===C.overflowX),A=_<k&&("auto"===C.overflowY||"scroll"===C.overflowY||"visible"===C.overflowY)):(x=y<w&&("auto"===C.overflowX||"scroll"===C.overflowX),A=_<k&&("auto"===C.overflowY||"scroll"===C.overflowY));var D=x&&(Math.abs(b-i)<=s&&S+y<w)-(Math.abs(v-i)<=s&&!!S),L=A&&(Math.abs(g-a)<=s&&E+_<k)-(Math.abs(f-a)<=s&&!!E);if(!autoScrolls[p])for(var $=0;$<=p;$++)autoScrolls[$]||(autoScrolls[$]={});autoScrolls[p].vx==D&&autoScrolls[p].vy==L&&autoScrolls[p].el===u||(autoScrolls[p].el=u,autoScrolls[p].vx=D,autoScrolls[p].vy=L,clearInterval(autoScrolls[p].pid),0==D&&0==L||(d=!0,autoScrolls[p].pid=setInterval(function(){r&&0===this.layer&&Sortable.active._onTouchMove(touchEvt$1);var t=autoScrolls[this.layer].vy?autoScrolls[this.layer].vy*o:0,n=autoScrolls[this.layer].vx?autoScrolls[this.layer].vx*o:0;"function"==typeof l&&"continue"!==l.call(Sortable.dragged.parentNode[expando],n,t,e,touchEvt$1,autoScrolls[this.layer].el)||scrollBy(autoScrolls[this.layer].el,n,t)}.bind({layer:p}),24))),p++}while(t.bubbleScroll&&m!==c&&(m=getParentAutoScrollElement(m,!1)));scrolling=d}},30),drop=function(e){var t=e.originalEvent,n=e.putSortable,r=e.dragEl,l=e.activeSortable,i=e.dispatchSortableEvent,a=e.hideGhostForTarget,s=e.unhideGhostForTarget;if(t){var o=n||l;a();var c=t.changedTouches&&t.changedTouches.length?t.changedTouches[0]:t,d=document.elementFromPoint(c.clientX,c.clientY);s(),o&&!o.el.contains(d)&&(i("spill"),this.onSpill({dragEl:r,putSortable:n}))}};function Revert(){}function Remove(){}Revert.prototype={startIndex:null,dragStart:function(e){var t=e.oldDraggableIndex;this.startIndex=t},onSpill:function(e){var t=e.dragEl,n=e.putSortable;this.sortable.captureAnimationState(),n&&n.captureAnimationState();var r=getChild(this.sortable.el,this.startIndex,this.options);r?this.sortable.el.insertBefore(t,r):this.sortable.el.appendChild(t),this.sortable.animateAll(),n&&n.animateAll()},drop:drop},_extends(Revert,{pluginName:"revertOnSpill"}),Remove.prototype={onSpill:function(e){var t=e.dragEl,n=e.putSortable||this.sortable;n.captureAnimationState(),t.parentNode&&t.parentNode.removeChild(t),n.animateAll()},drop:drop},_extends(Remove,{pluginName:"removeOnSpill"}),Sortable.mount(new AutoScrollPlugin),Sortable.mount(Remove,Revert);var script$9={name:"Personnel",components:{Pagination:Pagination,PreviewFile:PreviewFile},filters:{},data:()=>({renyuanxinxi:[],institutionList:[],customerData:[],checklist:[],searchContent:"",disabilityLv:{"01":"基本正常","02":"轻度失能","03":"中度失能","04":"重度失能Ⅰ级","05":"重度失能ⅠⅠ级","06":"重度失能ⅠⅠⅠ级","":"请选择护理对象"},calendarTime:"",rangeTime:[],exportTime:{startDate:[]},unitType:null,nowdate:new Date,dialogVisibleExp:!1,loadExp:!1,expApi:"",expApiName:"",expBtn:[{key:1,name:"导出护理计划",api:"wxOrderInfo",fileName:"护理计划"},{key:2,name:"导出护理项明细",api:"wxOrderItemInfo",fileName:"护理计划明细"},{key:3,name:"导出分配信息",api:"wxOrderItemUserInfo",fileName:"护理计划分配信息"},{key:4,name:"导出排班信息",api:"wxOrderSchedulingInfo",fileName:"护理计划排班信息"},{key:5,name:"自动生成当月护理计划",api:"repeatedGeneration",fileName:"自动生成当月护理计划信息"}],file:{fileurl:"",dialogVisible:!1,title:"",type:""},workerObj:{},ruleForm:{SchedulingData:[]},value:new Date,title:"排班",SchedulingLoading:!0,SchedulingDialogVisible:!1,detailsDialogVisible:!1,expObjVisible:!1,expObj:{},expObjPrint:{},templateSelection:"",allocationData:[],allocationLoading:!0,allocationDialogVisible:!1,priceType:null,NursingArrData:[],placeOrder:[],nurseObject:[],FormData:{},fileList:[],NursingLoading:!0,dialogVisible:!1,dialogStatus:"",textMap:{update:"编辑",create:"创建"},tableKey:0,list:null,total:0,listLoading:!0,listQuery:{pageNo:1,size:20},NursingData:[],institutionData:[],institutionArrData:[],dialogFormVisible:!1,dialogPvVisible:!1,rules:{status:[{required:!0,message:"请选择审核结果",trigger:"change"}],title:[{required:!0,message:"请输入套餐名称",trigger:"blur"}],no:[{required:!0,message:"请输入套餐编号",trigger:"blur"}],clockDate:[{required:!0,validator:(e,t,n)=>{t?n():n(new Error("请选择排班日期"))},trigger:"blur"}],startDate:[{required:!0,message:"请选择计划开始日期",trigger:"change"}],endDate:[{required:!0,message:"请选择计划结束日期",trigger:"change"}],unitId:[{required:!0,message:"请选择所属机构",trigger:"change"}],projectPlanId:[{required:!0,message:"请选择护理内容",trigger:"change"}],priceType:[{required:!0,message:"请选择护理类型",trigger:"change"}],familyId:[{required:!0,message:"请选择护理对象",trigger:"change"}],familyLv:[{required:!0,message:"请选择失能等级",trigger:"change"}]},data:new Date,time:"",temp:{},setData:[],dates:[],downloadLoading:!1,checkAll:!1,dialogVisible:!1,projectList:[]}),computed:{ScheduleDate:()=>function(e){let t;return t=!(!e.clockDate||!e.id)&&e.clockDate<this.$moment().format("YYYY-MM-DD"),t},Summary:()=>function(e,t){return(e*t).toFixed(2)},getTimeDate:()=>function(e){if(e)return this.$moment(e).format("MM月DD号")},setTimeDate:()=>function(e){if(e)return this.$moment(e).format("HH:mm:ss")},getDate(){return this.$moment().format("YYYY-MM-DD")},compareDate:()=>function(e,t,n){if(e)var r=e.lastIndexOf("-"),l=e.substring(r+1,e.length),i=e.substring(0,r);if(this.$moment(t).format("HH:mm:ss")<i&&this.$moment(n).format("HH:mm:ss")>l)return!0}},created(){this.getList(),this.getinstitution()},updated(){this.$nextTick(()=>{this.$refs.standTable&&this.$refs.standTable.doLayout()})},methods:{initDrag(){new Sortable(document.querySelector(".draggable-table .el-table__body-wrapper tbody"),{handle:".handle",animation:150,onEnd:({newIndex:e,oldIndex:t})=>{const n=this.NursingData[t];this.NursingData.splice(t,1),this.NursingData.splice(e,0,n),this.NursingData.map((e,t)=>{e.sort=t+1}),console.log(this.NursingData)}})},addNurse(){this.dialogVisible=!0,this.projectList=[];const e=[];this.temp.itemList&&(this.temp.itemList.map(t=>{e.push(t.projectId)}),this.projectList=e)},determine(){this.dialogVisible=!1,setTimeout(()=>{this.NursingLoading=!1},1500);for(var e=0;e<this.projectList.length;e++){const t=this.institutionData.find((t,n)=>(t.projectPrice3=t.price3,t.threePrice=t.threePrice,t.value=t.value,t.type=t.type,t.value==this.projectList[e]));this.NursingData.some(e=>e.value===t.value)||(this.NursingData.push(t),this.NursingData.map((e,t)=>{e.sort=t+1}))}this.initDrag()},removeDataArr(e){var t={};return e=e.reduce(function(e,n){return!t[n.projectId]&&(t[n.projectId]=e.push(n)),e},[])},handleCheckAllChange(e){this.dates.map(t=>{t.show=!!e})},onPrint(){this.$print(this.$refs.printDom1)},getExpPrint(e){ClockJsInfo({yearMonth:e}).then(e=>{1===e.status&&(this.expObjPrint=e.result)})},PlanexpExcel(e){wxSettlementInfo({id:e.id,orderNo:e.no}).then(e=>{const t=new Blob([e]);if(t.size>0){const e=document.createElement("a");e.style.display="none",e.href=URL.createObjectURL(t),e.download=`结算信息导出/${this.$moment().format("YYYY-MM-DD")}.xlsx`,document.body.appendChild(e),e.click(),URL.revokeObjectURL(e.href),document.body.removeChild(e)}})},expExcel2(e){ClockInfo({orderNo:e.no}).then(e=>{if(1===e.status){this.unitType=e.result.unitType;const t={},n=e.result.list[e.result.list.length-1];for(const e in n)"string"==typeof n[e]&&n[e].includes("-")?t[e]=n[e].split(/-/):t[e]=n[e];e.result.list[e.result.list.length-1]=t,this.expObj=e.result,this.expObjVisible=!0}})},familyChange(e){if(e){const t=this.nurseObject.find(t=>t.value==e);return void this.$set(this.temp,"familyLv",t.lv)}this.$set(this.temp,"familyLv","")},allcalendar(e,t){e.show=!e.show},getSummaries(e){const{columns:t,data:n}=e,r=[];return t.forEach((e,t)=>{if(0!==t){if("汇总价格"==e.label){const e=n.map(e=>Number(e.num)),l=n.map(e=>Number(e.projectPrice3));e.every(e=>isNaN(e))?r[t]="":r[t]=e.reduce((e,t,n)=>{const r=Number(t);return isNaN(r)?e:e+t*l[n]},0),r[t]&&(r[t]=r[t].toFixed(2))}}else r[t]="总价"}),r},expShow(e){if(5==e.key){const e=this.$createElement;var t=this;return void this.$msgbox({title:"请选择日期",message:e(Vue.component("msgboxDatePicker",{render:e=>e("div",null,[e("el-date-picker",{props:{value:t.value,type:"date",valueFormat:"yyyy-MM-dd",placeholder:"请选择日期"},on:{input:e=>{t.value=e,t.$emit("input",e)},change:e=>{t.data=e,t.$emit("change",e)}}})])})),showCancelButton:!0,closeOnClickModal:!1,confirmButtonText:"确定",cancelButtonText:"取消"}).then(()=>{repeatedGeneration({data:this.data}).then(e=>{1!=e.status?t.$notify({title:"提示",message:e.info,type:"error",duration:2e3}):t.$notify({title:"提示",message:e.info,type:"success",duration:2e3})})}).catch(()=>{this.$notify({title:"提示",message:"已取消",type:"error",duration:2e3})})}this.dialogVisibleExp=!0,this.expApi=e.api,this.expApiName=e.fileName,this.exportTime.startDate=[]},handleClose(){this.dialogVisibleExp=!1,this.expObjVisible=!1,this.exportTime.startDate=[],this.expApi="",this.expApiName=""},expExcel(){try{this.loadExp=!0;const e={startDate:this.exportTime.startDate[0],endDate:this.exportTime.startDate[1],url:this.expApi,familyId:this.exportTime.familyId,orderNo:this.exportTime.orderNo};ExportExcel(e).then(e=>{const t=new Blob([e]),n=this.expApiName;if(t.size>0){const e=document.createElement("a");e.style.display="none",e.href=URL.createObjectURL(t),e.download=`${n}/${this.$moment().format("YYYY-MM-DD")}.xlsx`,document.body.appendChild(e),e.click(),URL.revokeObjectURL(e.href),document.body.removeChild(e)}this.handleClose(),this.loadExp=!1}).catch(()=>{this.loadExp=!1})}catch(e){this.loadExp=!1,console.log(e)}},complete(e){this.$confirm("此操作将更新订单状态, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{WxOrderFinish({id:e.id}).then(e=>{if(1==e.status)return this.$notify({title:"提示",message:e.info,type:"success",duration:2e3}),void this.getList();this.$notify({title:"提示",message:e.info,type:"error",duration:2e3})})}).catch(()=>{this.$message({type:"info",message:"已取消"})})},details(e){WxOrderDetail({no:e.no}).then(t=>{if(this.temp=t.result,t.result.clockList||t.result.orderSchedulingList){this.calendarTime=this.temp.startDate;const e=this.$moment(this.temp.startDate).clone().subtract(1,"months").endOf("month"),n=e.clone().subtract((e.day()+6)%7,"days"),r=this.$moment(this.temp.endDate).clone().add(1,"months").startOf("month"),l=r.clone().add((7-r.day())%7,"days");this.rangeTime=[n.format("YYYY-MM-DD"),l.format("YYYY-MM-DD")];let i=[],a=[];t.result.clockList&&(i=t.result.clockList),t.result.orderSchedulingList&&(a=t.result.orderSchedulingList);const s=[...i,...a],o=[],c=new Map;s.forEach(e=>{const t=e.clockDate;if(c.has(t)){const n=c.get(t);n.upCreateTime=n.upCreateTime||e.upCreateTime,n.dnCreateTime=n.dnCreateTime||e.dnCreateTime,n.timeSlot=n.timeSlot||e.timeSlot}else c.set(t,e)}),o.push(...c.values()),this.setData=o}this.fileList=[],this.NursingData=[],this.NursingArrData=[],SProjectPlanPage({pageNo:1,size:9999}).then(e=>{this.NursingArrData=e.result.data.map(e=>(console.log(e),{label:e.title,value:e.id})),this.NursingArrData.unshift({label:"自定义护理项目",value:"1"})}),WxOrderItemgetOrderNoDetails({orderNo:e.no}).then(e=>{this.NursingData=e.result.map((e,t)=>({sort:t+1,edit:!1,label:e.projectTitle,projectId:e.projectId,num:e.num,type:e.type,threePrice:e.threePrice?e.threePrice:"-",projectPrice1:e.projectPrice1,projectPrice2:e.projectPrice2,projectPrice3:e.projectPrice3,alreadyNum:e.alreadyNum})),setTimeout(()=>{this.NursingLoading=!1},1500)}),e.pdfUrl&&this.fileList.push({name:e.pdfUrl,url:e.pdfUrl}),this.detailsDialogVisible=!0})},addScheduling(){this.ruleForm.SchedulingData.push({clockDate:"",time:[this.$moment().startOf("day").add(6,"hours").format("HH:mm"),this.$moment().startOf("day").add(10,"hours").format("HH:mm")],isUntime:""})},changeInput(e){console.log(e),0==e.isUntime?e.time=[this.$moment().startOf("day").format("HH:mm"),this.$moment().endOf("day").format("HH:mm")]:e.time=[this.$moment().startOf("day").add(6,"hours").format("HH:mm"),this.$moment().startOf("day").add(10,"hours").format("HH:mm")]},removeDomain(e,t){"新增排班"!=this.title&&e.id?WxOrderSchedulingDel({id:e.id}).then(e=>{if(1==e.status)return this.$notify({title:e.info,message:"删除成功",type:"success",duration:2e3}),void this.ruleForm.SchedulingData.splice(t,1);this.$notify({title:e.info,message:"删除失败",type:"error",duration:2e3})}):this.ruleForm.SchedulingData.splice(t,1)},SchedulingConfirmation(){if(!this.time)return void this.$notify({title:"提示",message:"请选择排班时间",type:"error",duration:2e3});if(!this.dates.some(e=>!0===e.show))return void this.$notify({title:"提示",message:"请选择排班日期",type:"error",duration:2e3});const e={},t=[];for(let e=0;e<this.dates.length;e++)this.dates[e].show&&t.push({clockDate:this.dates[e].dataTime,IsUntime:"1",timeSlot:`${this.time[0]}-${this.time[1]}`});e.orderNo=this.temp.no,e.orderSchedulingList=t,WxOrderSchedulingSave(e).then(e=>{if(1==e.status)return this.SchedulingDialogVisible=!1,this.SchedulingLoading=!1,this.checkAll=!1,this.getList(),void this.$notify({title:e.info,message:"排班成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"排班失败",type:"error",duration:2e3})})},Scheduling(e){this.dates=[],this.temp=e;this.getAllDatesOfMonth(this.$moment(this.temp.startDate).format("YYYY"),this.$moment(this.temp.startDate).format("MM")).forEach(e=>{const t=this.$moment(e).format("YYYY-MM-DD");this.dates.push({show:!1,dataTime:t})}),this.ruleForm.SchedulingData=[],this.SchedulingDialogVisible=!0,this.SchedulingLoading=!0,setTimeout(()=>{WxOrderSchedulingGetByOrderNo({orderNo:e.no}).then(e=>{e.result.length>0?(this.title="编辑排班",this.ruleForm.SchedulingData=e.result.map(e=>{for(var t=0;t<this.dates.length;t++)this.dates[t].dataTime==e.clockDate&&(this.dates[t].show=!0);return e.isUntime=Number(e.isUntime),e.time=e.timeSlot.split("-"),e}),this.time=this.ruleForm.SchedulingData[0].time):this.title="新增排班"}),this.SchedulingLoading=!1},100)},getAllDatesOfMonth(e,t){const n=[],r=this.$moment([e,t-1,1]),l=r.clone().endOf("month"),i=r;for(;i.isBefore(l)||i.isSame(l,"day");)n.push(i.clone()),i.add(1,"days");return n},confirm(){this.templateSelection?WxOrderItemUserSave(this.workerObj).then(e=>{if(1==e.status)return this.allocationDialogVisible=!1,this.getList(),this.$notify({title:e.info,message:"分配成功",type:"success",duration:2e3}),void(this.templateSelection="");this.$notify({title:e.info,message:"分配失败",type:"error",duration:2e3})}):this.$message({message:"请选择护工",type:"warning",center:!0})},singleElection(e){this.templateSelection=e.id,this.workerObj.personId=this.templateSelection},selectTable(e){const t=JSON.parse(JSON.stringify(this.allocationData));let n;n=e.trim()?t.filter(t=>Object.keys(t).some(n=>String(t.name).toLowerCase().match(e.trim()))):this.allocationData,this.checklist=n},allocation(e){this.workerObj.orderNo=e.no,this.allocationDialogVisible=!0,SPersonAll().then(e=>{this.allocationData=e.result,this.checklist=e.result}),setTimeout(()=>{this.allocationLoading=!1},1500)},changePrice(e){this.priceType=e},beforeAvatarUploada(e){this.loadingstate=!0;const t=e.name.lastIndexOf("."),n=e.name.substr(t+1);return e.size/1024/1024<10?["PDF","pdf"].indexOf(n)<0?(this.$message({message:"只能pdf文件",type:"error",center:!0}),!1):void 0:(this.$message({message:"封面不可超出10M",type:"warning",center:!0}),!1)},onPreview(e){const t=fileUrl(e.url);let n=`${this.$constant.imgAddr}${e.url}`;if("word"==t||"wps"==t||"pdf"==t||"pptx"==t||"txt"==t)this.file.type=t,n="https://wps-view.zhihuipk.com/?src="+n;else if("image"==t)this.file.type=t;else if("video"==t)this.file.type=t;else{if("radio"!=t)return void this.$message.error("该格式不可在线预览,请下载后查看");this.file.type=t}this.file.fileurl=n,this.file.dialogVisible=!0,this.file.title=e.name},handleFileUpload(e){const t=new FormData;t.append("file",e.file),t.append("realPath",e.file.name),uploadPDF(t).then(e=>{1==e.status&&(this.$message({message:"上传成功",type:"success"}),this.temp.pdfUrl=e.result.url)})},nurseDelete(e,t){"1"!=this.temp.projectPlanId?this.$message({message:"套餐内的护理项不能删除",type:"warning"}):this.NursingData.splice(t,1)},modify(e){e.edit=!0},InputBlur(e){e.edit=!1},getinstitution(){SProjectAll().then(e=>{this.institutionData=e.result.map((e,t)=>({label:e.title,type:e.type,value:e.id,threePrice:e.threePrice,price1:e.price1,price3:e.price3,edit:!1,num:"1",projectId:e.id}))}),SysUnitPage({pageNo:1,size:9999}).then(e=>{this.institutionArrData=e.result.data.map(e=>({label:e.name,value:e.id}))}),WxUserCustomAll().then(e=>{this.placeOrder=e.result.map((e,t)=>({label:e.nickName,value:e.id}))}),WxUserFamilyAll().then(e=>{this.nurseObject=e.result.map((e,t)=>({label:e.name,value:e.id,isDelete:e.isDelete,lv:e.lv?e.lv:""}))})},getList(){const e=JSON.parse(JSON.stringify(this.listQuery));e.playTime&&(e.startDate=e.playTime[0],e.endDate=e.playTime[1],delete e.playTime),WxOrderPage(e).then(e=>{this.list=e.result.data,this.total=e.result.count}),WxUserFamilyAll().then(e=>{this.customerData=e.result.map(e=>({label:e.name,value:e.name}))}),SysUnitAll().then(e=>{this.institutionList=e.result.map(e=>({label:e.name,value:e.id}))}),SPersonAll().then(e=>{this.renyuanxinxi=e.result.map(e=>({label:e.name,value:e.name}))})},handleModifyStatus(e,t){this.$message({message:"操作成功",type:"success"}),e.status=t},resetting(e){this.$nextTick(()=>{this.$refs[e].resetFields(),this.getList()})},add(){this.dialogStatus="create",this.dialogFormVisible=!0,this.temp={},this.fileList=[],this.NursingData=[],this.NursingArrData=[],SProjectPlanPage({pageNo:1,size:9999}).then(e=>{this.NursingArrData=e.result.data.map(e=>({label:e.title,value:e.id})),this.NursingArrData.unshift({label:"自定义护理项目",value:"1"})}),setTimeout(()=>{this.NursingLoading=!1},1500)},edit(e){"2"!=e.status?(this.dialogStatus="update",this.dialogFormVisible=!0,this.temp=e,this.fileList=[],this.NursingData=[],this.NursingArrData=[],SProjectPlanPage({pageNo:1,size:9999}).then(e=>{this.NursingArrData=e.result.data.map(e=>({label:e.title,value:e.id})),this.NursingArrData.unshift({label:"自定义护理项目",value:"1"})}),WxOrderItemgetOrderNoDetails({orderNo:e.no}).then(e=>{this.NursingData=e.result.map((e,t)=>({sort:t+1,edit:!1,label:e.projectTitle,projectId:e.projectId,num:e.num,type:e.type,threePrice:e.threePrice?e.threePrice:"-",projectPrice1:e.projectPrice1,projectPrice2:e.projectPrice2,projectPrice3:e.projectPrice3}))}),e.pdfUrl&&this.fileList.push({name:e.pdfUrl,url:e.pdfUrl}),setTimeout(()=>{this.NursingLoading=!1},1500)):this.$message({message:"已完成不允许编辑",type:"warning"})},NursingChange(e){console.log(e),"1"==e?this.NursingData=[]:SProjectPlanDetail({id:e}).then(e=>{e.result.itemList&&(this.NursingData=e.result.itemList.map((e,t)=>({sort:t+1,edit:!1,label:e.projectTitle,projectId:e.projectId,num:e.num,type:e.projectType,projectPrice1:e.projectPrice1,projectPrice2:e.projectPrice2,projectPrice3:e.projectPrice3})))})},onSubmit(){this.getList()},createData(){this.$refs.dataForm.validate(e=>{e&&(this.temp.orderItemSaveList=this.NursingData,WxOrderSave(this.temp).then(e=>{if(1==e.status)return this.dialogFormVisible=!1,this.getList(),void this.$notify({title:e.info,message:"新增成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"新增失败",type:"error",duration:2e3})}))})},updateData(){this.$refs.dataForm.validate(e=>{e&&(this.temp.orderItemSaveList=this.NursingData,WxOrderSave(this.temp).then(e=>{if(1==e.status)return this.dialogFormVisible=!1,this.getList(),void this.$notify({title:e.info,message:"更新成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"更新失败",type:"error",duration:2e3})}))})},handleDelete(e,t){"1"!=e.status&&"2"!=e.status?WxOrderDel({orderNo:e.no}).then(e=>{if(1==e.status)return this.getList(),void this.$notify({title:e.info,message:"删除成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"删除失败",type:"error",duration:2e3})}):this.$message({message:"进行中或已完成不允许删除",type:"warning"})}}};const __vue_script__$9=script$9;var __vue_render__$9=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"app-container"},[n("div",{staticClass:"filter-container"},[n("el-form",{ref:"listQuery",staticClass:"demo-form-inline",attrs:{inline:!0,model:e.listQuery}},[n("el-form-item",{attrs:{label:"机构名称",prop:"unitName"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择机构名称"},model:{value:e.listQuery.unitName,callback:function(t){e.$set(e.listQuery,"unitName",t)},expression:"listQuery.unitName"}},e._l(e.institutionList,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.label}})}),1)],1),e._v(" "),n("el-form-item",{attrs:{label:"护理对象",prop:"familyName"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择护理对象"},model:{value:e.listQuery.familyName,callback:function(t){e.$set(e.listQuery,"familyName",t)},expression:"listQuery.familyName"}},e._l(e.customerData,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.label}})}),1)],1),e._v(" "),n("el-form-item",{attrs:{label:"护工姓名",prop:"personName"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择姓名"},model:{value:e.listQuery.personName,callback:function(t){e.$set(e.listQuery,"personName",t)},expression:"listQuery.personName"}},e._l(e.renyuanxinxi,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1),e._v(" "),n("el-form-item",{attrs:{label:"计划时间",prop:"playTime"}},[n("el-date-picker",{attrs:{size:"small","value-format":"yyyy-MM-dd",type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期"},model:{value:e.listQuery.playTime,callback:function(t){e.$set(e.listQuery,"playTime",t)},expression:"listQuery.playTime"}})],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"primary"},on:{click:e.onSubmit}},[e._v("查询")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"warning"},on:{click:function(t){return e.resetting("listQuery")}}},[e._v("重置")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"success"},on:{click:e.add}},[e._v("新增")])],1),e._v(" "),e._l(e.expBtn,function(t){return n("el-form-item",{key:t.key},[n("el-button",{attrs:{size:"small",type:"primary"},on:{click:function(n){return e.expShow(t)}}},[e._v("\n "+e._s(t.name)+"\n ")])],1)})],2)],1),e._v(" "),n("el-table",{staticStyle:{width:"100%"},attrs:{border:"",height:"65vh",data:e.list}},[n("el-table-column",{attrs:{label:"所属机构",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.unitName))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"护理对象",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.familyName))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"计划流水号",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.no))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"计划开始日期",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.startDate))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"计划结束日期",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.endDate))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"护理计划状态",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("el-tag",{attrs:{size:"medium",type:"2"==r.status?"success":""}},[e._v(e._s("1"==r.status?"进行中":"2"==r.status?"已完成":"3"==r.status?"已取消":"0"==r.status?"待执行":"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"分配护工",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.personName?r.personName:"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"操作",align:"center",width:"380","class-name":"small-padding fixed-width"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row,l=t.$index;return["2"!=r.status?n("el-button",{attrs:{size:"mini",type:"success"},on:{click:function(t){return e.Scheduling(r,l)}}},[e._v("\n 排班\n ")]):e._e(),e._v(" "),"2"!=r.status?n("el-button",{attrs:{size:"mini",type:"success"},on:{click:function(t){return e.allocation(r,l)}}},[e._v("\n 分配护工\n ")]):e._e(),e._v(" "),"2"!=r.status?n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(t){return e.edit(r,l)}}},[e._v("\n 修改\n ")]):e._e(),e._v(" "),"0"==r.status?n("el-button",{attrs:{size:"mini",type:"danger"},on:{click:function(t){return e.handleDelete(r,l)}}},[e._v("\n 删除\n ")]):e._e(),e._v(" "),n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(t){return e.details(r,l)}}},[e._v("\n 详情\n ")]),e._v(" "),"2"!=r.status?n("el-button",{attrs:{size:"mini",type:"success"},on:{click:function(t){return e.complete(r,l)}}},[e._v("\n 订单完成\n ")]):e._e(),e._v(" "),"2"==r.status?n("el-button",{attrs:{size:"mini",type:"success"},on:{click:function(t){return e.PlanexpExcel(r,l)}}},[e._v("\n 导出\n ")]):e._e(),e._v(" "),n("el-button",{staticStyle:{"margin-top":"8px"},attrs:{size:"mini",type:"success"},on:{click:function(t){return e.expExcel2(r,l)}}},[e._v("\n 打印\n ")])]}}])})],1),e._v(" "),n("pagination",{directives:[{name:"show",rawName:"v-show",value:e.total>0,expression:"total > 0"}],attrs:{total:e.total,page:e.listQuery.pageNo,limit:e.listQuery.size},on:{"update:page":function(t){return e.$set(e.listQuery,"pageNo",t)},"update:limit":function(t){return e.$set(e.listQuery,"size",t)},pagination:e.getList}}),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:e.textMap[e.dialogStatus],visible:e.dialogFormVisible,width:"60%"},on:{"update:visible":function(t){e.dialogFormVisible=t}}},[n("el-form",{ref:"dataForm",attrs:{rules:e.rules,model:e.temp,"label-position":"right","label-width":"120px"}},[n("el-row",{attrs:{gutter:20}},[n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"护理对象",prop:"familyId"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"选择护理对象"},on:{change:e.familyChange},model:{value:e.temp.familyId,callback:function(t){e.$set(e.temp,"familyId",t)},expression:"temp.familyId"}},e._l(e.nurseObject,function(t,r){return n("el-option",{key:r,attrs:{label:t.label,value:t.value}},[n("span",{staticStyle:{float:"left"}},[e._v(e._s(t.label))]),e._v(" "),n("span",{staticStyle:{float:"right",color:"#8492a6","font-size":"13px"}},[e._v("状态:"+e._s("0"==t.isDelete?"正常":"1"==t.isDelete?"注销":"-"))])])}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"所属机构",prop:"unitId"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择所属机构"},model:{value:e.temp.unitId,callback:function(t){e.$set(e.temp,"unitId",t)},expression:"temp.unitId"}},e._l(e.institutionArrData,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"计划开始日期",prop:"startDate"}},[n("el-date-picker",{staticStyle:{width:"100%"},attrs:{size:"small",format:"yyyy 年 MM 月 dd 日","value-format":"yyyy-MM-dd",type:"date",placeholder:"请选择计划开始日期"},model:{value:e.temp.startDate,callback:function(t){e.$set(e.temp,"startDate",t)},expression:"temp.startDate"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"计划结束日期",prop:"endDate"}},[n("el-date-picker",{staticStyle:{width:"100%"},attrs:{size:"small",format:"yyyy 年 MM 月 dd 日","value-format":"yyyy-MM-dd",type:"date",placeholder:"请选择计划结束日期"},model:{value:e.temp.endDate,callback:function(t){e.$set(e.temp,"endDate",t)},expression:"temp.endDate"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"护理内容",prop:"projectPlanId"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"选择护理内容"},on:{change:e.NursingChange},model:{value:e.temp.projectPlanId,callback:function(t){e.$set(e.temp,"projectPlanId",t)},expression:"temp.projectPlanId"}},e._l(e.NursingArrData,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"失能等级",prop:"familyLv"}},[n("el-tag",{attrs:{type:"success"}},[e._v(e._s(e.disabilityLv[e.temp.familyLv]))])],1)],1),e._v(" "),n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"协议文件",prop:"pdfUrl"}},[n("el-upload",{attrs:{action:"#",limit:1,data:e.FormData,"before-upload":e.beforeAvatarUploada,"http-request":e.handleFileUpload,"file-list":e.fileList,"on-preview":e.onPreview}},[n("el-button",{attrs:{slot:"trigger",size:"small",type:"primary"},slot:"trigger"},[e._v("选取文件")])],1)],1)],1),e._v(" "),"1"==e.temp.projectPlanId?n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"护理项组合",prop:"projectPlanId"}},[n("el-button",{attrs:{size:"small",type:"success"},on:{click:e.addNurse}},[e._v("新增护理项")])],1)],1):e._e(),e._v(" "),n("el-col",{attrs:{span:24}},[n("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.NursingLoading,expression:"NursingLoading"}],ref:"standTable",staticClass:"draggable-table",staticStyle:{width:"100%"},attrs:{border:"",height:"35vh",data:e.NursingData,"summary-method":e.getSummaries,"show-summary":"","row-key":"projectId"}},[n("el-table-column",{attrs:{label:"鼠标长按",width:"100",align:"center"}},[n("el-button",{staticClass:"handle",attrs:{link:"",type:"text",size:"small",icon:"el-icon-s-operation"}},[e._v("拖拽")])],1),e._v(" "),n("el-table-column",{attrs:{label:"序号",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.sort))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"护理项",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.label))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"类别",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("el-tag",{attrs:{size:"medium"}},[e._v(e._s("01"==r.type?"生活照料":"02"==r.type?"精神慰藉":"03"==r.type?"安全巡视":"04"==r.type?"医疗护理":"05"==r.type?"康复护理":"06"==r.type?"辅助器具":"07"==r.type?"居家护理":"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"次数",align:"center",prop:"num"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row,l=t.$index;return[r.edit?n("el-input",{attrs:{placeholder:"次数"},on:{blur:function(t){return e.InputBlur(r,l)}},model:{value:r.num,callback:function(t){e.$set(r,"num",t)},expression:"row.num"}}):n("span",[e._v(e._s(r.num))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"机构护理价",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.projectPrice3))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"省厅价格",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.threePrice))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"汇总价格",align:"center",prop:"projectPrice1"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(e.Summary(r.num,r.projectPrice3)))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"操作",align:"center",width:"200","class-name":"small-padding fixed-width"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row,l=t.$index;return[n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(t){return e.modify(r,l)}}},[e._v("\n 修改次数\n ")]),e._v(" "),n("el-button",{attrs:{size:"mini",type:"danger"},on:{click:function(t){return e.nurseDelete(r,l)}}},[e._v("\n 删除\n ")])]}}])})],1)],1)],1)],1),e._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{type:"primary",size:"small"},on:{click:function(t){"create"===e.dialogStatus?e.createData():e.updateData()}}},[e._v("\n 确 认\n ")])],1)],1),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"分配护工",visible:e.allocationDialogVisible,width:"45%"},on:{"update:visible":function(t){e.allocationDialogVisible=t}}},[n("el-row",{attrs:{gutter:20}},[n("el-col",{staticStyle:{"margin-bottom":"20px"},attrs:{span:6}},[n("el-input",{attrs:{size:"mini",placeholder:"输入护工名称搜索"},on:{input:e.selectTable},model:{value:e.searchContent,callback:function(t){e.searchContent=t},expression:"searchContent"}})],1),e._v(" "),n("el-col",{attrs:{span:24}},[n("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.allocationLoading,expression:"allocationLoading"}],staticStyle:{width:"100%"},attrs:{border:"",height:"50vh",data:e.checklist},on:{"row-click":e.singleElection}},[n("el-table-column",{attrs:{align:"center",width:"55",label:"选择"},scopedSlots:e._u([{key:"default",fn:function(t){return[n("el-radio",{staticClass:"radio",attrs:{label:t.row.id},model:{value:e.templateSelection,callback:function(t){e.templateSelection=t},expression:"templateSelection"}},[n("span")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"护工名称",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.name))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"护工联系号码",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return t.$index,[n("span",[e._v(e._s(r.phoneNumber))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"护工性别",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.sex))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"护工地址",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.address))])]}}])})],1)],1)],1),e._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small"},on:{click:function(t){e.allocationDialogVisible=!1}}},[e._v("\n 取 消\n ")]),e._v(" "),n("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.confirm}},[e._v("\n 分 配\n ")])],1)],1),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:e.title,visible:e.SchedulingDialogVisible,width:"40%"},on:{"update:visible":function(t){e.SchedulingDialogVisible=t}}},[n("el-form",{ref:"ruleForm",attrs:{model:e.ruleForm,"label-position":"right","label-width":"100px"}},[n("el-row",{attrs:{gutter:20}},[n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"排班时间"}},[n("el-time-picker",{staticStyle:{width:"80%"},attrs:{size:"small","is-range":"","range-separator":"至","start-placeholder":"开始时间",format:"HH:mm","end-placeholder":"结束时间",placeholder:"请选择服务时间","value-format":"HH:mm"},model:{value:e.time,callback:function(t){e.time=t},expression:"time"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"是否全选"}},[n("el-checkbox",{on:{change:e.handleCheckAllChange},model:{value:e.checkAll,callback:function(t){e.checkAll=t},expression:"checkAll"}},[e._v(e._s(e.checkAll?"是":"否"))])],1)],1),e._v(" "),n("el-col",{attrs:{span:24}},[n("div",{staticClass:"list"},e._l(e.dates,function(t,r){return n("div",{key:r,staticClass:"item",on:{click:function(n){return e.allcalendar(t,r)}}},[e._v("\n "+e._s(t.dataTime)+" "+e._s(t.show?"✔️":""))])}),0)])],1)],1),e._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small"},on:{click:function(t){e.SchedulingDialogVisible=!1}}},[e._v("\n 取 消\n ")]),e._v(" "),n("el-button",{attrs:{type:"primary",size:"small"},on:{click:function(t){return e.SchedulingConfirmation("ruleForm")}}},[e._v("\n 确 认\n ")])],1)],1),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"详情",visible:e.detailsDialogVisible,width:"45%"},on:{"update:visible":function(t){e.detailsDialogVisible=t}}},[n("el-form",{ref:"dataForm",attrs:{rules:e.rules,model:e.temp,"label-position":"right","label-width":"120px"}},[n("el-row",{attrs:{gutter:20}},[n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"护理对象",prop:"familyId"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{disabled:"",clearable:"",filterable:"",size:"small",placeholder:"选择护理对象"},model:{value:e.temp.familyId,callback:function(t){e.$set(e.temp,"familyId",t)},expression:"temp.familyId"}},e._l(e.nurseObject,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"所属机构",prop:"unitId"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{disabled:"",clearable:"",filterable:"",size:"small",placeholder:"请选择所属机构"},model:{value:e.temp.unitId,callback:function(t){e.$set(e.temp,"unitId",t)},expression:"temp.unitId"}},e._l(e.institutionArrData,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"计划开始日期",prop:"startDate"}},[n("el-date-picker",{staticStyle:{width:"100%"},attrs:{size:"small",disabled:"",format:"yyyy 年 MM 月 dd 日","value-format":"yyyy-MM-dd",type:"date",placeholder:"请选择计划开始日期"},model:{value:e.temp.startDate,callback:function(t){e.$set(e.temp,"startDate",t)},expression:"temp.startDate"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"计划结束日期",prop:"endDate"}},[n("el-date-picker",{staticStyle:{width:"100%"},attrs:{size:"small",disabled:"",format:"yyyy 年 MM 月 dd 日","value-format":"yyyy-MM-dd",type:"date",placeholder:"请选择计划结束日期"},model:{value:e.temp.endDate,callback:function(t){e.$set(e.temp,"endDate",t)},expression:"temp.endDate"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"护理内容",prop:"projectPlanId"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{disabled:"",clearable:"",filterable:"",size:"small",placeholder:"选择护理内容"},on:{change:e.NursingChange},model:{value:e.temp.projectPlanId,callback:function(t){e.$set(e.temp,"projectPlanId",t)},expression:"temp.projectPlanId"}},e._l(e.NursingArrData,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"失能等级"}},["06"==e.temp.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("重度失能ⅠⅠⅠ级")]):e._e(),e._v(" "),"05"==e.temp.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("重度失能ⅠⅠ级")]):e._e(),e._v(" "),"04"==e.temp.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("重度失能Ⅰ级")]):e._e(),e._v(" "),"03"==e.temp.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("中度失能")]):e._e(),e._v(" "),"02"==e.temp.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("轻度失能")]):e._e(),e._v(" "),"01"==e.temp.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("基本正常")]):e._e()],1)],1),e._v(" "),n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"协议文件",prop:"pdfUrl"}},[n("el-upload",{attrs:{action:"#",disabled:"",limit:1,data:e.FormData,"before-upload":e.beforeAvatarUploada,"http-request":e.handleFileUpload,"file-list":e.fileList,"on-preview":e.onPreview}},[n("el-button",{attrs:{slot:"trigger",disabled:"",size:"small",type:"primary"},slot:"trigger"},[e._v("选取文件")])],1)],1)],1),e._v(" "),n("el-col",{attrs:{span:24}},[n("div",{staticClass:"calendar-dialog"},[n("el-calendar",{scopedSlots:e._u([{key:"dateCell",fn:function(t){t.date;var r=t.data;return[n("div",{staticClass:"card-group"},[n("div",{class:(r.isSelected,"card-calendar-text")},[n("span",[e._v(e._s(e.getTimeDate(r.day)))]),e._v(" "),r.isSelected?n("el-icon",[n("Select")],1):e._e()],1),e._v(" "),e._l(e.setData,function(t,l){return n("span",{key:t.id,staticClass:"card"},[t.clockDate===r.day?n("div",{staticClass:"card-flag"},[n("div",{class:e.getDate<t.clockDate?"card-text5":e.compareDate(t.timeSlot,t.upCreateTime,t.dnCreateTime)?" card-text1":" card-text2"},[n("span",[e._v(e._s(e.getTimeDate(r.day)))]),e._v(" "),t.timeSlot?n("span",{staticStyle:{"font-weight":"500","font-size":"12px"}},[e._v("排班:"+e._s(t.timeSlot))]):e._e(),e._v(" "),t.upCreateTime?n("span",{staticStyle:{"font-weight":"500","font-size":"12px"}},[e._v("上班:"+e._s(e.setTimeDate(t.upCreateTime)))]):e._e(),e._v(" "),t.dnCreateTime?n("span",{staticStyle:{"font-weight":"500","font-size":"12px"}},[e._v("下班:"+e._s(e.setTimeDate(t.dnCreateTime)))]):e._e()])]):n("div")])})],2)]}}]),model:{value:e.calendarTime,callback:function(t){e.calendarTime=t},expression:"calendarTime"}})],1)]),e._v(" "),n("el-col",{attrs:{span:24}},[n("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.NursingLoading,expression:"NursingLoading"}],staticStyle:{width:"100%"},attrs:{border:"",height:"30vh",data:e.NursingData}},[n("el-table-column",{attrs:{label:"护理项",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.label))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"需要护理次数",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return t.$index,[n("span",[e._v(e._s(r.num))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"实际护理次数",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return t.$index,[n("span",[e._v(e._s(r.alreadyNum?r.alreadyNum:"-"))])]}}])})],1)],1)],1)],1),e._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{type:"primary",size:"small"},on:{click:function(t){e.detailsDialogVisible=!1}}},[e._v("\n 关 闭\n ")])],1)],1),e._v(" "),n("preview-file",{attrs:{file:e.file}}),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"导出",visible:e.dialogVisibleExp,width:"30%","before-close":e.handleClose},on:{"update:visible":function(t){e.dialogVisibleExp=t}}},[n("el-form",{ref:"dataForm",staticClass:"demo-form-inline",attrs:{model:e.exportTime,rules:e.rules,"label-position":"right","label-width":"90px"}},[n("el-row",{attrs:{gutter:20}},[n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"提示:"}},[n("el-link",{attrs:{underline:!1,type:"primary"}},[e._v("请根据护理计划的开始日期和结束日期选择时间")])],1)],1),e._v(" "),n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"时间"}},[n("el-date-picker",{staticStyle:{width:"100%"},attrs:{size:"small",type:"daterange","value-format":"yyyy-MM-dd","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期"},model:{value:e.exportTime.startDate,callback:function(t){e.$set(e.exportTime,"startDate",t)},expression:"exportTime.startDate"}})],1)],1),e._v(" "),"护理计划信息"==this.expApiName?n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"护理对象"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"选择护理对象"},model:{value:e.exportTime.familyId,callback:function(t){e.$set(e.exportTime,"familyId",t)},expression:"exportTime.familyId"}},e._l(e.nurseObject,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1):e._e(),e._v(" "),"护理计划信息"!=this.expApiName?n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"计划流水号"}},[n("el-input",{attrs:{size:"small",clearable:"",placeholder:"请输入计划流水号"},model:{value:e.exportTime.orderNo,callback:function(t){e.$set(e.exportTime,"orderNo",t)},expression:"exportTime.orderNo"}})],1)],1):e._e()],1)],1),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small",loading:e.loadExp},on:{click:e.handleClose}},[e._v("取 消")]),e._v(" "),n("el-button",{attrs:{size:"small",type:"primary",loading:e.loadExp},on:{click:e.expExcel}},[e._v("\n 导 出\n ")])],1)],1),e._v(" "),"机构护理"==e.unitType?n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"打印",visible:e.expObjVisible,width:"100%","before-close":e.handleClose,top:"3vh"},on:{"update:visible":function(t){e.expObjVisible=t}}},[n("div",{ref:"printDom1",staticClass:"exptable",attrs:{id:"printDom1",border:"1"}},[n("div",{staticClass:"thead"},[e._v("\n "+e._s(e.expObj.orderYearMonth)+"\n ")]),e._v(" "),n("div",{staticClass:"tbody"},[n("div",{staticClass:"tr eight"},[n("div",{staticClass:"title eight_label"},[e._v("参保人姓名")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.personName))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("身份证")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.personIdCode))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("年龄")]),e._v(" "),n("div",[e._v("\n "+e._s(e.expObj.personAge)+"\n ")]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("参保类型")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.medicalType))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("制表人")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.unitName))])]),e._v(" "),n("div",{staticClass:"tr eight"},[n("div",{staticClass:"title eight_label"},[e._v("所属参保区划")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.medicalCounty))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("失能等级")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.lv))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("家属姓名")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.familyName))])]),e._v(" "),n("div",{staticClass:"leftXuhao loop"},[n("div",{staticClass:"num"},[e._v("序号")]),e._v(" "),n("div",{staticClass:"name"},[e._v("服务项目")]),e._v(" "),n("div",{staticClass:"day headday"},[n("span",[e._v("护理服务执行日期及次数")]),e._v(" "),n("div",{staticClass:"forday"},e._l(31,function(t){return n("span",{key:t},[e._v(e._s(t)+"日")])}),0)]),e._v(" "),n("div",{staticClass:"total"},[e._v("床日合计")])]),e._v(" "),e._l(e.expObj.list,function(t,r){return n("div",{key:r,staticClass:"tr loop"},[n("div",{staticClass:"num"},[e._v(e._s(r+1))]),e._v(" "),n("div",{staticClass:"name"},[e._v(e._s(t.title))]),e._v(" "),n("div",{staticClass:"day bodyday"},[n("div",{staticClass:"forday"},[e._l(31,function(r){return[Array.isArray(t["day"+r])?n("span",{key:r},e._l(t["day"+r],function(t,r){return n("p",{key:r,staticStyle:{margin:"0"}},[e._v("\n "+e._s(t)+"\n ")])}),0):n("span",{key:r},[e._v(e._s(t["day"+r]))])]})],2)]),e._v(" "),n("div",{staticClass:"total"},[e._v(e._s(t.num))])])})],2),e._v(" "),n("div",{staticClass:"handwriting"},[n("div",{staticClass:"name"},[e._v("协议服务机构负责人签字:")]),e._v(" "),n("div",{staticClass:"day bodyday"},[e._v("家属确认签字按手印:")])]),e._v(" "),n("div",{staticClass:"handwriting"},[n("div",{staticClass:"name"},[e._v("盖章:")]),e._v(" "),n("div",{staticClass:"day bodyday"},[e._v("日期:")])]),e._v(" "),n("div",{staticClass:"handwriting"},[n("div",{staticClass:"name"},[e._v("日期:")])])]),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small",loading:e.loadExp},on:{click:e.handleClose}},[e._v("取 消")]),e._v(" "),n("el-button",{directives:[{name:"print",rawName:"v-print",value:e.print,expression:"print"}],attrs:{size:"small",type:"primary",loading:e.loadExp},on:{click:e.onPrint}},[e._v("\n 打 印\n ")])],1)]):e._e(),e._v(" "),"居家护理"==e.unitType?n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"打印",visible:e.expObjVisible,width:"100%","before-close":e.handleClose,top:"3vh"},on:{"update:visible":function(t){e.expObjVisible=t}}},[n("div",{ref:"printDom1",staticClass:"exptable",attrs:{id:"printDom1",border:"1"}},[n("div",{staticClass:"thead"},[e._v("\n "+e._s(e.expObj.orderYearMonth)+"\n ")]),e._v(" "),n("div",{staticClass:"tbody"},[n("div",{staticClass:"tr eight"},[n("div",{staticClass:"title eight_label"},[e._v("参保人姓名")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.personName))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("身份证")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.personIdCode))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("年龄")]),e._v(" "),n("div",[e._v("\n "+e._s(e.expObj.personAge)+"\n ")]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("参保类型")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.medicalType))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("制表人")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.unitName))])]),e._v(" "),n("div",{staticClass:"tr eight"},[n("div",{staticClass:"title eight_label"},[e._v("所属参保区划")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.medicalCounty))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("失能等级")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.lv))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("家属姓名")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.familyName))])]),e._v(" "),n("div",{staticClass:"leftXuhao loop"},[n("div",{staticClass:"num"},[e._v("序号")]),e._v(" "),n("div",{staticClass:"name"},[e._v("服务项目")]),e._v(" "),n("div",{staticClass:"day headday"},[n("span",[e._v("护理服务执行日期及护理项目次数(分钟)")]),e._v(" "),n("div",{staticClass:"forday"},e._l(31,function(t){return n("span",{key:t},[e._v(e._s(t)+"日")])}),0)])]),e._v(" "),e._l(e.expObj.list,function(t,r){return n("div",{key:r,staticClass:"tr loop"},[n("div",{staticClass:"num"},[e._v(e._s(r+1))]),e._v(" "),n("div",{staticClass:"name"},[e._v(e._s(t.title))]),e._v(" "),"当月服务总时长(小时)"==t.title?n("div",{staticClass:"day bodyday merged-cell"},[e._v("\n "+e._s(t.num)+"(小时)\n ")]):n("div",{staticClass:"day bodyday"},[n("div",{staticClass:"forday"},[e._l(31,function(r){return[Array.isArray(t["day"+r])?n("span",{key:r},e._l(t["day"+r],function(t,r){return n("p",{key:r,staticStyle:{margin:"0"}},[e._v("\n "+e._s(t)+"\n ")])}),0):n("span",{key:r},[e._v(e._s(t["day"+r]))])]})],2)])])})],2),e._v(" "),n("div",{staticClass:"handwriting"},[n("div",{staticClass:"name"},[e._v("协议服务机构负责人签字:")]),e._v(" "),n("div",{staticClass:"day bodyday"},[e._v("家属确认签字按手印:")])]),e._v(" "),n("div",{staticClass:"handwriting"},[n("div",{staticClass:"name"},[e._v("盖章:")]),e._v(" "),n("div",{staticClass:"day bodyday"},[e._v("日期:")])]),e._v(" "),n("div",{staticClass:"handwriting"},[n("div",{staticClass:"name"},[e._v("日期:")])])]),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small",loading:e.loadExp},on:{click:e.handleClose}},[e._v("取 消")]),e._v(" "),n("el-button",{directives:[{name:"print",rawName:"v-print",value:e.print,expression:"print"}],attrs:{size:"small",type:"primary",loading:e.loadExp},on:{click:e.onPrint}},[e._v("\n 打 印\n ")])],1)]):e._e(),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"新增护理项",visible:e.dialogVisible,width:"30%"},on:{"update:visible":function(t){e.dialogVisible=t}}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择护理项组合",multiple:""},model:{value:e.projectList,callback:function(t){e.projectList=t},expression:"projectList"}},e._l(e.institutionData,function(t,r){return n("el-option",{key:r,attrs:{label:t.label,value:t.value}},[n("span",{staticStyle:{float:"left"}},[e._v(e._s(t.label))]),e._v(" "),n("span",{staticStyle:{float:"right",color:"#8492a6","font-size":"13px"}},[e._v("护理类型:"+e._s("01"==t.type?"生活照料":"02"==t.type?"精神慰藉":"03"==t.type?"安全巡视":"04"==t.type?"医疗护理":"05"==t.type?"康复护理":"06"==t.type?"辅助器具":"07"==t.type?"居家护理":"-"))])])}),1),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small"},on:{click:function(t){e.dialogVisible=!1}}},[e._v("取 消")]),e._v(" "),n("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.determine}},[e._v("确 定")])],1)],1)],1)},__vue_staticRenderFns__$9=[];__vue_render__$9._withStripped=!0;const __vue_inject_styles__$9=function(e){e&&e("data-v-36b0c510_0",{source:".el-col-12[data-v-36b0c510] {\n padding: 0 20px 0 0;\n}\n.addButton[data-v-36b0c510] {\n margin: 0 0 10px 0;\n}\n[data-v-36b0c510] .el-dialog__body {\n padding: 0px 20px;\n}\n[data-v-36b0c510] .el-calendar-table .el-calendar-day {\n padding: 0;\n}\n.is-selected[data-v-36b0c510] {\n color: #1989fa;\n background: yellow;\n}\n.is-add-selected[data-v-36b0c510] {\n color: #fff;\n background: #1989fa;\n}\n.calendar-dialog .card-group[data-v-36b0c510] {\n width: 100%;\n height: 100%;\n}\n.calendar-dialog .card-group .card-calendar-text[data-v-36b0c510] {\n height: 100%;\n max-height: 100%;\n min-height: 100%;\n padding: 8px;\n}\n.calendar-dialog .card-group .card[data-v-36b0c510] {\n position: relative;\n top: -100%;\n}\n.calendar-dialog .card-group .card-flag[data-v-36b0c510] {\n height: 100%;\n}\n.calendar-dialog .card-group .card1[data-v-36b0c510] {\n position: relative;\n display: block;\n width: 100%;\n height: 100%;\n font-size: 15px;\n color: #fff;\n background-color: rgba(64, 158, 255, 0.8);\n}\n.calendar-dialog .card-group .card-text1[data-v-36b0c510] {\n display: flex;\n flex-direction: column;\n height: 100%;\n max-height: 100%;\n min-height: 100%;\n font-size: 12px;\n color: #fff;\n background-color: rgba(64, 158, 255, 0.8);\n height: 100%;\n padding: 8px;\n font-size: 14px;\n}\n.calendar-dialog .card-group .card-text2[data-v-36b0c510] {\n display: flex;\n flex-direction: column;\n height: 100%;\n max-height: 100%;\n min-height: 100%;\n font-size: 12px;\n color: #fff;\n background-color: rgba(255, 0, 0, 0.8);\n height: 100%;\n padding: 8px;\n font-size: 14px;\n}\n.calendar-dialog .card-group .card-text3[data-v-36b0c510] {\n display: flex;\n flex-direction: column;\n height: 100%;\n max-height: 100%;\n min-height: 100%;\n font-size: 12px;\n color: #fff;\n background-color: rgba(255, 0, 0, 0.8);\n height: 100%;\n padding: 8px;\n font-size: 14px;\n}\n.calendar-dialog .card-group .card-text4[data-v-36b0c510] {\n display: flex;\n flex-direction: column;\n height: 100%;\n max-height: 100%;\n min-height: 100%;\n font-size: 12px;\n color: #fff;\n background-color: rgba(255, 0, 0, 0.8);\n height: 100%;\n padding: 8px;\n font-size: 14px;\n}\n.calendar-dialog .card-group .card-text5[data-v-36b0c510] {\n display: flex;\n flex-direction: column;\n height: 100%;\n max-height: 100%;\n min-height: 100%;\n font-size: 12px;\n color: #fff;\n background-color: rgba(217, 210, 53, 0.8);\n height: 100%;\n padding: 8px;\n font-size: 14px;\n}\n.calendar-dialog .card-group .card2[data-v-36b0c510] {\n position: relative;\n display: block;\n width: 100%;\n height: 100%;\n font-size: 15px;\n color: #fff;\n background-color: rgba(217, 210, 53, 0.8);\n}\n.calendar-dialog .card-group .card3[data-v-36b0c510] {\n position: relative;\n display: block;\n width: 100%;\n height: 100%;\n font-size: 15px;\n color: #fff;\n background-color: #f00;\n}\n.calendar-dialog .card-group .card-text3[data-v-36b0c510] {\n display: flex;\n flex-direction: column;\n height: 100%;\n max-height: 100%;\n min-height: 100%;\n font-size: 12px;\n color: #fff;\n background-color: #f00;\n}\n.calendar-dialog .card-group .visits-val[data-v-36b0c510] {\n position: absolute;\n right: 0;\n bottom: 0;\n}\n[data-v-36b0c510] .el-calendar__button-group {\n display: none;\n}\n.is-selected[data-v-36b0c510] {\n color: #1989fa;\n}\n.activeItem[data-v-36b0c510] {\n color: red;\n}\n.el-calendar-table td.is-today[data-v-36b0c510] {\n color: #000 !important;\n background: transparent !important;\n}\n.el-col-12[data-v-36b0c510] {\n padding: 0 20px 0 0;\n}\n.exptable[data-v-36b0c510] {\n font-size: 9px;\n text-align: center;\n width: 100%;\n}\n.exptable .leftXuhao[data-v-36b0c510] {\n display: flex;\n border-bottom: 1px solid #333;\n}\n.exptable .leftXuhao div[data-v-36b0c510] {\n display: flex;\n align-items: center;\n justify-content: center;\n border-right: 1px solid #333;\n}\n.exptable .thead[data-v-36b0c510] {\n border-bottom: 0;\n color: #000;\n padding: 8px 0;\n}\n.exptable .tbody[data-v-36b0c510] {\n border: 1px solid #333;\n font-size: 8px;\n}\n.exptable .tr[data-v-36b0c510] {\n display: flex;\n border-bottom: 1px solid #333;\n color: #111;\n}\n.exptable .tr div[data-v-36b0c510] {\n display: flex;\n align-items: center;\n justify-content: center;\n border-right: 1px solid #333;\n}\n.exptable .tr .bodyday[data-v-36b0c510] {\n flex: 1;\n}\n.exptable .tr div[data-v-36b0c510]:last-child {\n border-right: 0;\n}\n.exptable .eight div[data-v-36b0c510] {\n flex: 1;\n padding: 5px 0;\n}\n.exptable .eight .title[data-v-36b0c510] {\n width: 110px;\n flex: none;\n}\n.exptable .tr[data-v-36b0c510]:last-child {\n border-bottom: 0;\n}\n.exptable .loop .num[data-v-36b0c510] {\n width: 22px !important;\n}\n.exptable .loop .total[data-v-36b0c510] {\n width: 23px;\n padding: 5px 0;\n}\n.exptable .loop .name[data-v-36b0c510] {\n padding: 5px 0;\n flex: 0.1;\n}\n.exptable .loop .headday[data-v-36b0c510] {\n flex-flow: column;\n flex: 1;\n}\n.exptable .loop .headday .forday[data-v-36b0c510] {\n border-top: 1px solid #333;\n}\n.exptable .loop .day span[data-v-36b0c510] {\n padding: 10px 0;\n}\n.exptable .loop .forday[data-v-36b0c510] {\n display: table;\n width: 100%;\n}\n.exptable .loop .forday span[data-v-36b0c510] {\n display: table-cell;\n vertical-align: middle;\n border-right: 1px solid #333;\n width: 23px;\n height: 100%;\n overflow: hidden;\n word-wrap: break-word;\n word-break: break-all;\n}\n.exptable .loop .forday span[data-v-36b0c510]:last-child {\n border-right: 0;\n}\n.handwriting[data-v-36b0c510] {\n display: flex;\n}\n.handwriting div[data-v-36b0c510] {\n text-align: right;\n padding: 5px 0;\n}\n.handwriting .name[data-v-36b0c510] {\n margin-left: 60px;\n width: 120px;\n}\n.handwriting .bodyday[data-v-36b0c510] {\n width: 60%;\n margin-right: 60px;\n}\n.exptableprint[data-v-36b0c510] {\n font-size: 11px;\n}\n.exptableprint .tbody[data-v-36b0c510] {\n font-size: 10px;\n}\n.list[data-v-36b0c510] {\n padding: 15px;\n display: flex;\n flex-wrap: wrap;\n}\n.list .item[data-v-36b0c510] {\n border: 1px solid #ede9e9;\n height: 70px;\n padding: 10px;\n cursor: pointer;\n width: calc((100% - 50px) / 7);\n min-width: calc((100% - 30px) / 7);\n max-width: calc((100% - 30px) / 7);\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 12px;\n}\n.list .item[data-v-36b0c510]:nth-child(7n+7) {\n margin-bottom: 0;\n}\n\n/*# sourceMappingURL=index.vue.map */",map:{version:3,sources:["E:\\公司项目\\changhuxianlocal\\changhuxian-vue-components\\src\\pages\\customerManagement\\carePlan\\index.vue","index.vue"],names:[],mappings:"AAokEA;EACA,mBAAA;ACnkEA;ADskEA;EACA,kBAAA;ACnkEA;ADskEA;EACA,iBAAA;ACnkEA;ADskEA;EACA,UAAA;ACnkEA;ADskEA;EACA,cAAA;EACA,kBAAA;ACnkEA;ADskEA;EACA,WAAA;EACA,mBAAA;ACnkEA;ADmmEA;EACA,WAAA;EACA,YAAA;AChmEA;ADkmEA;EACA,YAlCA;EAmCA,gBAnCA;EAoCA,gBApCA;EAqCA,YAAA;AChmEA;ADmmEA;EACA,kBAAA;EACA,UAAA;ACjmEA;ADomEA;EACA,YAAA;AClmEA;ADqmEA;EA1CA,kBAAA;EACA,cAAA;EACA,WAAA;EACA,YAAA;EACA,eAAA;EACA,WAAA;EACA,yCAVA;AC9iEA;ADgmEA;EApCA,aAAA;EACA,sBAAA;EAEA,YApBA;EAqBA,gBArBA;EAsBA,gBAtBA;EAuBA,eAAA;EACA,WAAA;EACA,yCAtBA;EAoDA,YAAA;EACA,YAAA;EACA,eAAA;ACvlEA;AD0lEA;EA3CA,aAAA;EACA,sBAAA;EAEA,YApBA;EAqBA,gBArBA;EAsBA,gBAtBA;EAuBA,eAAA;EACA,WAAA;EACA,sCAxBA;EA6DA,YAAA;EACA,YAAA;EACA,eAAA;ACjlEA;ADolEA;EAlDA,aAAA;EACA,sBAAA;EAEA,YApBA;EAqBA,gBArBA;EAsBA,gBAtBA;EAuBA,eAAA;EACA,WAAA;EACA,sCAxBA;EAoEA,YAAA;EACA,YAAA;EACA,eAAA;AC3kEA;AD8kEA;EAzDA,aAAA;EACA,sBAAA;EAEA,YApBA;EAqBA,gBArBA;EAsBA,gBAtBA;EAuBA,eAAA;EACA,WAAA;EACA,sCAxBA;EA2EA,YAAA;EACA,YAAA;EACA,eAAA;ACrkEA;ADwkEA;EAhEA,aAAA;EACA,sBAAA;EAEA,YApBA;EAqBA,gBArBA;EAsBA,gBAtBA;EAuBA,eAAA;EACA,WAAA;EACA,yCAvBA;EAiFA,YAAA;EACA,YAAA;EACA,eAAA;AC/jEA;ADkkEA;EAjFA,kBAAA;EACA,cAAA;EACA,WAAA;EACA,YAAA;EACA,eAAA;EACA,WAAA;EACA,yCAXA;ACn+DA;ADikEA;EAzFA,kBAAA;EACA,cAAA;EACA,WAAA;EACA,YAAA;EACA,eAAA;EACA,WAAA;EACA,sBATA;AC59DA;AD4jEA;EAnFA,aAAA;EACA,sBAAA;EAEA,YApBA;EAqBA,gBArBA;EAsBA,gBAtBA;EAuBA,eAAA;EACA,WAAA;EACA,sBArBA;ACl9DA;ADsjEA;EACA,kBAAA;EACA,QAAA;EACA,SAAA;ACpjEA;ADyjEA;EACA,aAAA;ACtjEA;ADyjEA;EACA,cAAA;ACtjEA;ADyjEA;EACA,UAAA;ACtjEA;ADyjEA;EACA,sBAAA;EACA,kCAAA;ACtjEA;ADyjEA;EACA,mBAAA;ACtjEA;ADyjEA;EACA,cAAA;EACA,kBAAA;EACA,WAAA;ACtjEA;ADyjEA;EACA,aAAA;EACA,6BAAA;ACvjEA;ADyjEA;EACA,aAAA;EACA,mBAAA;EACA,uBAAA;EACA,4BAAA;ACvjEA;AD2jEA;EAEA,gBAAA;EACA,WAAA;EACA,cAAA;AC1jEA;AD6jEA;EACA,sBAAA;EACA,cAAA;AC3jEA;AD8jEA;EACA,aAAA;EACA,6BAAA;EACA,WAAA;AC5jEA;AD8jEA;EAEA,aAAA;EACA,mBAAA;EACA,uBAAA;EACA,4BAAA;AC7jEA;ADikEA;EACA,OAAA;AC/jEA;ADkkEA;EACA,eAAA;AChkEA;ADokEA;EACA,OAAA;EAEA,cAAA;ACnkEA;ADskEA;EACA,YAAA;EACA,UAAA;ACpkEA;ADukEA;EACA,gBAAA;ACrkEA;ADykEA;EACA,sBAAA;ACvkEA;AD0kEA;EACA,WAAA;EACA,cAAA;ACxkEA;AD8kEA;EAEA,cAAA;EAEA,SAAA;AC9kEA;ADilEA;EACA,iBAAA;EACA,OAAA;AC/kEA;ADilEA;EACA,0BAAA;AC/kEA;ADmlEA;EACA,eAAA;ACjlEA;ADolEA;EACA,cAAA;EACA,WAAA;ACllEA;ADqlEA;EACA,mBAAA;EACA,sBAAA;EACA,4BAAA;EACA,WAAA;EACA,YAAA;EACA,gBAAA;EACA,qBAAA;EACA,qBAAA;ACnlEA;ADslEA;EACA,eAAA;ACplEA;AD0lEA;EACA,aAAA;ACvlEA;ADylEA;EACA,iBAAA;EACA,cAAA;ACvlEA;AD0lEA;EACA,iBAAA;EACA,YAAA;ACxlEA;AD2lEA;EACA,UAAA;EACA,kBAAA;ACzlEA;AD6lEA;EACA,eAAA;AC1lEA;AD4lEA;EACA,eAAA;AC1lEA;AD8lEA;EACA,aAAA;EAGA,aAAA;EAEA,eAAA;AC9lEA;ADgmEA;EAEA,yBAAA;EACA,YAAA;EACA,aAAA;EACA,eAAA;EAIA,8BAAA;EAGA,kCAAA;EACA,kCAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,eAAA;ACpmEA;ADumEA;EACA,gBAAA;ACrmEA;;AAEA,oCAAoC",file:"index.vue",sourcesContent:['<template>\r\n <div class="app-container">\r\n <div class="filter-container">\r\n <el-form ref="listQuery" :inline="true" :model="listQuery" class="demo-form-inline">\r\n <el-form-item label="机构名称" prop="unitName">\r\n <el-select v-model="listQuery.unitName" style="width: 100%" clearable filterable size="small"\r\n class="filter-item" placeholder="请选择机构名称">\r\n <el-option v-for="(item, index) in institutionList" :key="index" :label="item.label" :value="item.label" />\r\n </el-select>\r\n \x3c!-- <el-input size="small" clearable v-model="listQuery.unitName" placeholder="请输入机构名称"></el-input> --\x3e\r\n </el-form-item>\r\n <el-form-item label="护理对象" prop="familyName">\r\n <el-select v-model="listQuery.familyName" style="width: 100%" clearable filterable size="small"\r\n class="filter-item" placeholder="请选择护理对象">\r\n <el-option v-for="(item, index) in customerData" :key="index" :label="item.label" :value="item.label" />\r\n </el-select>\r\n \x3c!-- <el-input size="small" clearable v-model="listQuery.familyName" placeholder="请输入护理对象"></el-input> --\x3e\r\n </el-form-item>\r\n <el-form-item label="护工姓名" prop="personName">\r\n <el-select v-model="listQuery.personName" style="width: 100%" clearable filterable size="small"\r\n class="filter-item" placeholder="请选择姓名">\r\n <el-option v-for="(item, index) in renyuanxinxi" :key="index" :label="item.label" :value="item.value" />\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item label="计划时间" prop="playTime">\r\n <el-date-picker v-model="listQuery.playTime" size="small" value-format="yyyy-MM-dd" type="daterange"\r\n range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" />\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size="small" type="primary" @click="onSubmit">查询</el-button>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size="small" type="warning" @click="resetting(\'listQuery\')">重置</el-button>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size="small" type="success" @click="add">新增</el-button>\r\n </el-form-item>\r\n\r\n <el-form-item v-for="item in expBtn" :key="item.key">\r\n <el-button size="small" type="primary" @click="expShow(item)">\r\n {{ item.name }}\r\n </el-button>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n <el-table border height="65vh" :data="list" style="width: 100%">\r\n <el-table-column :label="\'所属机构\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.unitName }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'护理对象\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.familyName }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'计划流水号\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.no }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'计划开始日期\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.startDate }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'计划结束日期\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.endDate }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'护理计划状态\'" align="center">\r\n <template slot-scope="{ row }">\r\n <el-tag size="medium" :type="row.status == \'2\' ? \'success\' : \'\'">{{\r\n row.status == "1"\r\n ? "进行中"\r\n : row.status == "2"\r\n ? "已完成"\r\n : row.status == "3"\r\n ? "已取消"\r\n : row.status == "0"\r\n ? "待执行"\r\n : "-"\r\n }}</el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'分配护工\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.personName ? row.personName : "-" }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'操作\'" align="center" width="380" class-name="small-padding fixed-width">\r\n <template slot-scope="{ row, $index }">\r\n <el-button v-if="row.status != \'2\'" size="mini" type="success" @click="Scheduling(row, $index)">\r\n 排班\r\n </el-button>\r\n <el-button v-if="row.status != \'2\'" size="mini" type="success" @click="allocation(row, $index)">\r\n 分配护工\r\n </el-button>\r\n <el-button v-if="row.status != \'2\'" size="mini" type="primary" @click="edit(row, $index)">\r\n 修改\r\n </el-button>\r\n <el-button v-if="row.status == \'0\'" size="mini" type="danger" @click="handleDelete(row, $index)">\r\n 删除\r\n </el-button>\r\n <el-button size="mini" type="primary" @click="details(row, $index)">\r\n 详情\r\n </el-button>\r\n <el-button v-if="row.status != \'2\'" size="mini" type="success" @click="complete(row, $index)">\r\n 订单完成\r\n </el-button>\r\n <el-button v-if="row.status == \'2\'" size="mini" type="success" @click="PlanexpExcel(row, $index)">\r\n 导出\r\n </el-button>\r\n \x3c!-- v-if="row.status == \'2\'" --\x3e\r\n <el-button style="margin-top: 8px" size="mini" type="success" @click="expExcel2(row, $index)">\r\n 打印\r\n </el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <pagination v-show="total > 0" :total="total" :page.sync="listQuery.pageNo" :limit.sync="listQuery.size"\r\n @pagination="getList" />\r\n <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :title="textMap[dialogStatus]"\r\n :visible.sync="dialogFormVisible" width="60%">\r\n <el-form ref="dataForm" :rules="rules" :model="temp" label-position="right" label-width="120px">\r\n <el-row :gutter="20">\r\n <el-col :span="12">\r\n <el-form-item label="护理对象" prop="familyId">\r\n <el-select v-model="temp.familyId" style="width: 100%" clearable filterable size="small"\r\n class="filter-item" placeholder="选择护理对象" @change="familyChange">\r\n <el-option v-for="(item, index) in nurseObject" :key="index" :label="item.label" :value="item.value">\r\n <span style="float: left">{{ item.label }}</span>\r\n <span style="float: right; color: #8492a6; font-size: 13px">状态:{{ item.isDelete == "0" ? \'正常\' :\r\n item.isDelete == "1" ? \'注销\' : \'-\' }}</span>\r\n </el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="所属机构" prop="unitId">\r\n <el-select v-model="temp.unitId" style="width: 100%" clearable filterable size="small" class="filter-item"\r\n placeholder="请选择所属机构">\r\n <el-option v-for="(item, index) in institutionArrData" :key="index" :label="item.label"\r\n :value="item.value" />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="计划开始日期" prop="startDate">\r\n <el-date-picker v-model="temp.startDate" size="small" format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd"\r\n style="width: 100%" type="date" placeholder="请选择计划开始日期" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="计划结束日期" prop="endDate">\r\n <el-date-picker v-model="temp.endDate" size="small" format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd"\r\n style="width: 100%" type="date" placeholder="请选择计划结束日期" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="护理内容" prop="projectPlanId">\r\n <el-select v-model="temp.projectPlanId" style="width: 100%" clearable filterable size="small"\r\n class="filter-item" placeholder="选择护理内容" @change="NursingChange">\r\n <el-option v-for="(item, index) in NursingArrData" :key="index" :label="item.label"\r\n :value="item.value" />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="失能等级" prop="familyLv">\r\n <el-tag type="success">{{ disabilityLv[temp.familyLv] }}</el-tag>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="24">\r\n <el-form-item label="协议文件" prop="pdfUrl">\r\n <el-upload action="#" :limit="1" :data="FormData" :before-upload="beforeAvatarUploada"\r\n :http-request="handleFileUpload" :file-list="fileList" :on-preview="onPreview">\r\n <el-button slot="trigger" size="small" type="primary">选取文件</el-button>\r\n </el-upload>\r\n </el-form-item>\r\n </el-col>\r\n <el-col v-if="temp.projectPlanId == \'1\'" :span="12">\r\n <el-form-item label="护理项组合" prop="projectPlanId">\r\n <el-button size="small" type="success" @click="addNurse">新增护理项</el-button>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="24">\r\n <el-table ref="standTable" v-loading="NursingLoading" border height="35vh" :data="NursingData"\r\n style="width: 100%" :summary-method="getSummaries" show-summary row-key="projectId"\r\n class="draggable-table">\r\n <el-table-column label="鼠标长按" width="100" align="center">\r\n <el-button link type="text" size="small" :icon="\'el-icon-s-operation\'" class="handle">拖拽</el-button>\r\n </el-table-column>\r\n <el-table-column :label="\'序号\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.sort }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'护理项\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.label }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'类别\'" align="center">\r\n <template slot-scope="{ row }">\r\n <el-tag size="medium">{{ row.type == "01" ? "生活照料" : row.type == "02" ? "精神慰藉" : row.type == "03" ?\r\n "安全巡视" : row.type == "04" ? "医疗护理" : row.type == "05" ? "康复护理" : row.type == "06" ? "辅助器具" :\r\n row.type == "07" ? "居家护理" : \'-\' }}</el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'次数\'" align="center" prop="num">\r\n <template slot-scope="{ row, $index }">\r\n <el-input v-if="row.edit" v-model="row.num" placeholder="次数" @blur="InputBlur(row, $index)" />\r\n <span v-else>{{ row.num }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'机构护理价\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.projectPrice3 }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'省厅价格\'" align="center">\r\n <template slot-scope="{row}">\r\n <span>{{ row.threePrice }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'汇总价格\'" align="center" prop="projectPrice1">\r\n <template slot-scope="{ row }">\r\n <span>{{ Summary(row.num, row.projectPrice3) }}</span>\r\n </template>\r\n </el-table-column>\r\n \x3c!-- <el-table-column :label="\'机构护理价\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.projectPrice3 }}</span>\r\n </template>\r\n </el-table-column> --\x3e\r\n <el-table-column :label="\'操作\'" align="center" width="200" class-name="small-padding fixed-width">\r\n <template slot-scope="{ row, $index }">\r\n <el-button size="mini" type="primary" @click="modify(row, $index)">\r\n 修改次数\r\n </el-button>\r\n <el-button size="mini" type="danger" @click="nurseDelete(row, $index)">\r\n 删除\r\n </el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <div slot="footer" class="dialog-footer">\r\n \x3c!-- <el-button size="small" @click="dialogFormVisible = false">\r\n 取 消\r\n </el-button> --\x3e\r\n <el-button type="primary" size="small" @click="dialogStatus === \'create\' ? createData() : updateData()">\r\n 确 认\r\n </el-button>\r\n </div>\r\n </el-dialog>\r\n <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :title="\'分配护工\'"\r\n :visible.sync="allocationDialogVisible" width="45%">\r\n <el-row :gutter="20">\r\n <el-col :span="6" style="margin-bottom: 20px;">\r\n <el-input v-model="searchContent" size="mini" placeholder="输入护工名称搜索" @input="selectTable" />\r\n </el-col>\r\n <el-col :span="24">\r\n <el-table v-loading="allocationLoading" border height="50vh" :data="checklist" style="width: 100%"\r\n @row-click="singleElection">\r\n <el-table-column align="center" width="55" label="选择">\r\n <template slot-scope="scope">\r\n \x3c!-- 可以手动的修改label的值,从而控制选择哪一项 --\x3e\r\n <el-radio v-model="templateSelection" class="radio" :label="scope.row.id">\r\n <span />\r\n </el-radio>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'护工名称\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.name }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'护工联系号码\'" align="center">\r\n <template slot-scope="{ row, $index }">\r\n <span>{{ row.phoneNumber }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'护工性别\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.sex }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'护工地址\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.address }}</span>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n </el-col>\r\n </el-row>\r\n <div slot="footer" class="dialog-footer">\r\n <el-button size="small" @click="allocationDialogVisible = false">\r\n 取 消\r\n </el-button>\r\n <el-button type="primary" size="small" @click="confirm">\r\n 分 配\r\n </el-button>\r\n </div>\r\n </el-dialog>\r\n\r\n <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :title="title"\r\n :visible.sync="SchedulingDialogVisible" width="40%">\r\n <el-form ref="ruleForm" :model="ruleForm" label-position="right" label-width="100px">\r\n <el-row :gutter="20">\r\n <el-col :span="24">\r\n <el-form-item label="排班时间">\r\n <el-time-picker v-model="time" style="width: 80%" size="small" is-range range-separator="至"\r\n start-placeholder="开始时间" format="HH:mm" end-placeholder="结束时间" placeholder="请选择服务时间"\r\n value-format="HH:mm" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="24">\r\n <el-form-item label="是否全选">\r\n <el-checkbox v-model="checkAll" @change="handleCheckAllChange">{{ checkAll ? \'是\' : \'否\' }}</el-checkbox>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="24">\r\n <div class="list">\r\n <div v-for="(item, index) in dates" :key="index" class="item" @click="allcalendar(item, index)">\r\n {{ item.dataTime }} {{ item.show ? \'✔️\' : \'\' }}</div>\r\n </div>\r\n\r\n \x3c!-- <el-button type="success" class="addButton" size="small" @click="addScheduling">\r\n 新增排班\r\n </el-button>\r\n <el-table border height="30vh" v-loading="SchedulingLoading" :data="ruleForm.SchedulingData"\r\n style="width: 100%" @row-click="singleElection">\r\n <el-table-column align="center" label="排班日期" width="215">\r\n <template slot-scope="{ row, $index }">\r\n <el-form-item label-width="0px" :prop="\'SchedulingData.\' + $index + \'.clockDate\'"\r\n :rules="rules.clockDate">\r\n <el-date-picker style="width: 100%" size="small" v-model="row.clockDate" type="date"\r\n :disabled="ScheduleDate(row)" placeholder="请选择排班日期" value-format="yyyy-MM-dd"></el-date-picker>\r\n </el-form-item>\r\n </template>\r\n </el-table-column>\r\n <el-table-column align="center" label="服务时间" width="350">\r\n <template slot-scope="{ row, $index }">\r\n <el-form-item label-width="0px">\r\n <el-time-picker :disabled="ScheduleDate(row)" style="width: 100%" size="small" is-range\r\n v-model="row.time" range-separator="至" start-placeholder="开始时间" format="HH:mm"\r\n end-placeholder="结束时间" placeholder="请选择服务时间" value-format="HH:mm">\r\n </el-time-picker>\r\n </el-form-item>\r\n </template>\r\n </el-table-column>\r\n <el-table-column align="center" label="操作" width="90">\r\n <template slot-scope="{ row, $index }">\r\n <el-button size="mini" type="danger" @click="removeDomain(row, $index)">\r\n 删除\r\n </el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table> --\x3e\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <div slot="footer" class="dialog-footer">\r\n <el-button size="small" @click="SchedulingDialogVisible = false">\r\n 取 消\r\n </el-button>\r\n <el-button type="primary" size="small" @click="SchedulingConfirmation(\'ruleForm\')">\r\n 确 认\r\n </el-button>\r\n </div>\r\n </el-dialog>\r\n\r\n <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :title="\'详情\'"\r\n :visible.sync="detailsDialogVisible" width="45%">\r\n <el-form ref="dataForm" :rules="rules" :model="temp" label-position="right" label-width="120px">\r\n <el-row :gutter="20">\r\n <el-col :span="12">\r\n <el-form-item label="护理对象" prop="familyId">\r\n <el-select v-model="temp.familyId" style="width: 100%" disabled clearable filterable size="small"\r\n class="filter-item" placeholder="选择护理对象">\r\n <el-option v-for="(item, index) in nurseObject" :key="index" :label="item.label" :value="item.value" />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="所属机构" prop="unitId">\r\n <el-select v-model="temp.unitId" style="width: 100%" disabled clearable filterable size="small"\r\n class="filter-item" placeholder="请选择所属机构">\r\n <el-option v-for="(item, index) in institutionArrData" :key="index" :label="item.label"\r\n :value="item.value" />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="计划开始日期" prop="startDate">\r\n <el-date-picker v-model="temp.startDate" size="small" disabled format="yyyy 年 MM 月 dd 日"\r\n value-format="yyyy-MM-dd" style="width: 100%" type="date" placeholder="请选择计划开始日期" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="计划结束日期" prop="endDate">\r\n <el-date-picker v-model="temp.endDate" size="small" disabled format="yyyy 年 MM 月 dd 日"\r\n value-format="yyyy-MM-dd" style="width: 100%" type="date" placeholder="请选择计划结束日期" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="护理内容" prop="projectPlanId">\r\n <el-select v-model="temp.projectPlanId" style="width: 100%" disabled clearable filterable size="small"\r\n class="filter-item" placeholder="选择护理内容" @change="NursingChange">\r\n <el-option v-for="(item, index) in NursingArrData" :key="index" :label="item.label"\r\n :value="item.value" />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="失能等级">\r\n <el-tag v-if="temp.familyLv == \'06\'" type="success">重度失能ⅠⅠⅠ级</el-tag>\r\n <el-tag v-if="temp.familyLv == \'05\'" type="success">重度失能ⅠⅠ级</el-tag>\r\n <el-tag v-if="temp.familyLv == \'04\'" type="success">重度失能Ⅰ级</el-tag>\r\n <el-tag v-if="temp.familyLv == \'03\'" type="success">中度失能</el-tag>\r\n <el-tag v-if="temp.familyLv == \'02\'" type="success">轻度失能</el-tag>\r\n <el-tag v-if="temp.familyLv == \'01\'" type="success">基本正常</el-tag>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="24">\r\n <el-form-item label="协议文件" prop="pdfUrl">\r\n <el-upload action="#" disabled :limit="1" :data="FormData" :before-upload="beforeAvatarUploada"\r\n :http-request="handleFileUpload" :file-list="fileList" :on-preview="onPreview">\r\n <el-button slot="trigger" disabled size="small" type="primary">选取文件</el-button>\r\n </el-upload>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="24">\r\n <div class="calendar-dialog">\r\n \x3c!-- {{rangeTime}} --\x3e\r\n <el-calendar v-model="calendarTime">\r\n <template slot="dateCell" slot-scope="{ date, data }">\r\n <div class="card-group">\r\n <div :class="data.isSelected\r\n ? \'card-calendar-text\'\r\n : \'card-calendar-text\'\r\n ">\r\n <span>{{ getTimeDate(data.day) }}</span>\r\n <el-icon v-if="data.isSelected"><Select /></el-icon>\r\n </div>\r\n <span v-for="(item, index) in setData" :key="item.id" class="card">\r\n <div v-if="item.clockDate === data.day" class="card-flag">\r\n <div :class="getDate < item.clockDate\r\n ? \'card-text5\'\r\n : compareDate(\r\n item.timeSlot,\r\n item.upCreateTime,\r\n item.dnCreateTime\r\n )\r\n ? \' card-text1\'\r\n : \' card-text2\'\r\n ">\r\n <span>{{ getTimeDate(data.day) }}</span>\r\n <span v-if="item.timeSlot" style="font-weight: 500; font-size: 12px">排班:{{ item.timeSlot\r\n }}</span>\r\n <span v-if="item.upCreateTime" style="font-weight: 500; font-size: 12px">上班:{{\r\n setTimeDate(item.upCreateTime) }}</span>\r\n <span v-if="item.dnCreateTime" style="font-weight: 500; font-size: 12px">下班:{{\r\n setTimeDate(item.dnCreateTime) }}</span>\r\n </div>\r\n </div>\r\n <div v-else />\r\n </span>\r\n </div>\r\n </template>\r\n </el-calendar>\r\n </div>\r\n </el-col>\r\n <el-col :span="24">\r\n <el-table v-loading="NursingLoading" border height="30vh" :data="NursingData" style="width: 100%">\r\n <el-table-column :label="\'护理项\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.label }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'需要护理次数\'" align="center">\r\n <template slot-scope="{ row, $index }">\r\n <span>{{ row.num }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'实际护理次数\'" align="center">\r\n <template slot-scope="{ row, $index }">\r\n <span>{{ row.alreadyNum ? row.alreadyNum : \'-\' }}</span>\r\n </template>\r\n </el-table-column>\r\n\r\n </el-table>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <div slot="footer" class="dialog-footer">\r\n <el-button type="primary" size="small" @click="detailsDialogVisible = false">\r\n 关 闭\r\n </el-button>\r\n </div>\r\n </el-dialog>\r\n <preview-file :file="file" />\r\n\r\n <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" title="导出" :visible.sync="dialogVisibleExp"\r\n width="30%" :before-close="handleClose">\r\n <el-form ref="dataForm" :model="exportTime" :rules="rules" class="demo-form-inline" label-position="right"\r\n label-width="90px">\r\n <el-row :gutter="20">\r\n <el-col :span="24">\r\n <el-form-item label="提示:">\r\n <el-link :underline="false" type="primary">请根据护理计划的开始日期和结束日期选择时间</el-link>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="24">\r\n <el-form-item label="时间">\r\n <el-date-picker v-model="exportTime.startDate" style="width: 100%" size="small" type="daterange"\r\n value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col v-if="this.expApiName == \'护理计划信息\'" :span="24">\r\n <el-form-item label="护理对象">\r\n <el-select v-model="exportTime.familyId" style="width: 100%" clearable filterable size="small"\r\n class="filter-item" placeholder="选择护理对象">\r\n <el-option v-for="(item, index) in nurseObject" :key="index" :label="item.label" :value="item.value" />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col v-if="this.expApiName != \'护理计划信息\'" :span="24">\r\n <el-form-item label="计划流水号">\r\n <el-input v-model="exportTime.orderNo" size="small" clearable placeholder="请输入计划流水号" />\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <span slot="footer" class="dialog-footer">\r\n <el-button size="small" :loading="loadExp" @click="handleClose">取 消</el-button>\r\n <el-button size="small" type="primary" :loading="loadExp" @click="expExcel">\r\n 导 出\r\n </el-button>\r\n </span>\r\n </el-dialog>\r\n\r\n <el-dialog v-if="unitType == \'机构护理\'" :close-on-click-modal="false" :close-on-press-escape="false" title="打印"\r\n :visible.sync="expObjVisible" width="100%" :before-close="handleClose" top="3vh">\r\n <div id="printDom1" ref="printDom1" class="exptable" border="1">\r\n <div class="thead">\r\n {{ expObj.orderYearMonth }}\r\n </div>\r\n <div class="tbody">\r\n <div class="tr eight">\r\n <div class="title eight_label">参保人姓名</div>\r\n <div class="eight_label">{{ expObj.personName }}</div>\r\n <div class="title eight_label">身份证</div>\r\n <div class="eight_label">{{ expObj.personIdCode }}</div>\r\n <div class="title eight_label">年龄</div>\r\n <div>\r\n {{ expObj.personAge }}\r\n </div>\r\n <div class="title eight_label">参保类型</div>\r\n <div class="eight_label">{{ expObj.medicalType }}</div>\r\n\r\n <div class="title eight_label">制表人</div>\r\n <div class="eight_label">{{ expObj.unitName }}</div>\r\n </div>\r\n <div class="tr eight">\r\n <div class="title eight_label">所属参保区划</div>\r\n <div class="eight_label">{{ expObj.medicalCounty }}</div>\r\n <div class="title eight_label">失能等级</div>\r\n <div class="eight_label">{{ expObj.lv }}</div>\r\n <div class="title eight_label">家属姓名</div>\r\n <div class="eight_label">{{ expObj.familyName }}</div>\r\n \x3c!-- <div class="title eight_label" style="width: 750px;"></div> --\x3e\r\n \x3c!-- <div class="eight_label">{{ expObj.totalPrice }}</div> --\x3e\r\n </div>\r\n <div class="leftXuhao loop">\r\n <div class="num">序号</div>\r\n <div class="name">服务项目</div>\r\n <div class="day headday">\r\n <span>护理服务执行日期及次数</span>\r\n <div class="forday">\r\n <span v-for="i in 31" :key="i">{{ i }}日</span>\r\n </div>\r\n </div>\r\n <div class="total">床日合计</div>\r\n </div>\r\n <div v-for="(item, index) in expObj.list" :key="index" class="tr loop">\r\n <div class="num">{{ index + 1 }}</div>\r\n <div class="name">{{ item.title }}</div>\r\n <div class="day bodyday">\r\n <div class="forday">\r\n <template v-for="i in 31">\r\n <span v-if="Array.isArray(item[`day${i}`])" :key="i">\r\n <p v-for="(items, index) in item[`day${i}`]" :key="index" style="margin: 0;">\r\n {{ items }}\r\n </p>\r\n </span>\r\n <span v-else :key="i">{{ item[`day${i}`] }}</span>\r\n </template>\r\n </div>\r\n </div>\r\n <div class="total">{{ item.num }}</div>\r\n </div>\r\n </div>\r\n <div class="handwriting">\r\n <div class="name">协议服务机构负责人签字:</div>\r\n <div class="day bodyday">家属确认签字按手印:</div>\r\n </div>\r\n <div class="handwriting">\r\n <div class="name">盖章:</div>\r\n <div class="day bodyday">日期:</div>\r\n </div>\r\n <div class="handwriting">\r\n <div class="name">日期:</div>\r\n </div>\r\n </div>\r\n <span slot="footer" class="dialog-footer">\r\n <el-button size="small" :loading="loadExp" @click="handleClose">取 消</el-button>\r\n <el-button v-print="print" size="small" type="primary" :loading="loadExp" @click="onPrint">\r\n 打 印\r\n </el-button>\r\n </span>\r\n </el-dialog>\r\n <el-dialog v-if="unitType == \'居家护理\'" :close-on-click-modal="false" :close-on-press-escape="false" title="打印"\r\n :visible.sync="expObjVisible" width="100%" :before-close="handleClose" top="3vh">\r\n <div id="printDom1" ref="printDom1" class="exptable" border="1">\r\n <div class="thead">\r\n {{ expObj.orderYearMonth }}\r\n </div>\r\n <div class="tbody">\r\n <div class="tr eight">\r\n <div class="title eight_label">参保人姓名</div>\r\n <div class="eight_label">{{ expObj.personName }}</div>\r\n <div class="title eight_label">身份证</div>\r\n <div class="eight_label">{{ expObj.personIdCode }}</div>\r\n <div class="title eight_label">年龄</div>\r\n <div>\r\n {{ expObj.personAge }}\r\n </div>\r\n <div class="title eight_label">参保类型</div>\r\n <div class="eight_label">{{ expObj.medicalType }}</div>\r\n\r\n <div class="title eight_label">制表人</div>\r\n <div class="eight_label">{{ expObj.unitName }}</div>\r\n </div>\r\n <div class="tr eight">\r\n <div class="title eight_label">所属参保区划</div>\r\n <div class="eight_label">{{ expObj.medicalCounty }}</div>\r\n <div class="title eight_label">失能等级</div>\r\n <div class="eight_label">{{ expObj.lv }}</div>\r\n <div class="title eight_label">家属姓名</div>\r\n <div class="eight_label">{{ expObj.familyName }}</div>\r\n \x3c!-- <div class="title eight_label" style="width: 750px;"></div> --\x3e\r\n \x3c!-- <div class="eight_label">{{ expObj.totalPrice }}</div> --\x3e\r\n </div>\r\n <div class="leftXuhao loop">\r\n <div class="num">序号</div>\r\n <div class="name">服务项目</div>\r\n <div class="day headday">\r\n <span>护理服务执行日期及护理项目次数(分钟)</span>\r\n <div class="forday">\r\n <span v-for="i in 31" :key="i">{{ i }}日</span>\r\n </div>\r\n </div>\r\n \x3c!-- <div class="total">床日合计</div> --\x3e\r\n </div>\r\n <div v-for="(item, index) in expObj.list" :key="index" class="tr loop">\r\n <div class="num">{{ index + 1 }}</div>\r\n <div class="name">{{ item.title }}</div>\r\n \x3c!-- 当月服务时长单元格合并显示 --\x3e\r\n <div v-if="item.title == \'当月服务总时长(小时)\'" class="day bodyday merged-cell">\r\n {{ item.num }}(小时)\r\n </div>\r\n \x3c!-- 普通日期单元格 --\x3e\r\n <div v-else class="day bodyday">\r\n <div class="forday">\r\n <template v-for="i in 31">\r\n <span v-if="Array.isArray(item[`day${i}`])" :key="i">\r\n <p v-for="(items, index) in item[`day${i}`]" :key="index" style="margin: 0;">\r\n {{ items }}\r\n </p>\r\n </span>\r\n <span v-else :key="i">{{ item[`day${i}`] }}</span>\r\n </template>\r\n </div>\r\n </div>\r\n \x3c!-- <div class="day bodyday">\r\n <div class="forday">\r\n <template v-for="i in 31">\r\n <span v-if="Array.isArray(item[`day${i}`])" :key="i">\r\n <p v-for="(items, index) in item[`day${i}`]" :key="index" style="margin: 0;">\r\n {{ items }}\r\n </p>\r\n </span>\r\n <span v-else-if="item.title == \'当月服务时长(小时)\'">{{ item.num }}</span>\r\n <span v-else :key="i">{{ item[`day${i}`] }}</span>\r\n </template>\r\n </div>\r\n </div> --\x3e\r\n \x3c!-- <div class="total">{{ item.num }}</div> --\x3e\r\n </div>\r\n </div>\r\n <div class="handwriting">\r\n <div class="name">协议服务机构负责人签字:</div>\r\n <div class="day bodyday">家属确认签字按手印:</div>\r\n </div>\r\n <div class="handwriting">\r\n <div class="name">盖章:</div>\r\n <div class="day bodyday">日期:</div>\r\n </div>\r\n <div class="handwriting">\r\n <div class="name">日期:</div>\r\n </div>\r\n </div>\r\n <span slot="footer" class="dialog-footer">\r\n <el-button size="small" :loading="loadExp" @click="handleClose">取 消</el-button>\r\n <el-button v-print="print" size="small" type="primary" :loading="loadExp" @click="onPrint">\r\n 打 印\r\n </el-button>\r\n </span>\r\n </el-dialog>\r\n\r\n <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" title="新增护理项" :visible.sync="dialogVisible"\r\n width="30%">\r\n <el-select v-model="projectList" style="width: 100%" clearable filterable size="small" class="filter-item"\r\n placeholder="请选择护理项组合" multiple>\r\n <el-option v-for="(item, index) in institutionData" :key="index" :label="item.label" :value="item.value">\r\n <span style="float: left">{{ item.label }}</span>\r\n <span style="float: right; color: #8492a6; font-size: 13px">护理类型:{{ item.type == "01" ? "生活照料" : item.type ==\r\n "02"\r\n ? "精神慰藉" : item.type == "03" ? "安全巡视" : item.type == "04" ? "医疗护理" : item.type == "05" ? "康复护理" : item.type\r\n ==\r\n "06" ? "辅助器具" : item.type == "07" ? "居家护理" : \'-\' }}</span>\r\n </el-option>\r\n </el-select>\r\n <span slot="footer" class="dialog-footer">\r\n <el-button size="small" @click="dialogVisible = false">取 消</el-button>\r\n <el-button type="primary" size="small" @click="determine">确 定</el-button>\r\n </span>\r\n </el-dialog>\r\n\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport {\r\n SProjectAll,\r\n SProjectPlanPage,\r\n SysUnitPage,\r\n SProjectPlanDetail,\r\n WxUserCustomAll,\r\n WxUserFamilyAll,\r\n SPersonAll,\r\n repeatedGeneration,\r\n WxOrderFinish,\r\n getByOrderNo,\r\n SysUnitAll\r\n} from \'@/api/institution\'\r\nimport { wxSettlementInfo, ClockInfo, ClockJsInfo } from \'@/api/settlement\'\r\nimport {\r\n WxOrderPage,\r\n WxOrderSave,\r\n WxOrderDel,\r\n WxOrderSchedulingGetByOrderNo,\r\n WxOrderSchedulingDel,\r\n WxOrderItemgetOrderNoDetails,\r\n WxOrderDetail,\r\n WxOrderItemUserSave,\r\n WxOrderSchedulingSave,\r\n ExportExcel\r\n} from \'@/api/plan\'\r\nimport Pagination from \'@/components/Pagination\'\r\nimport { uploadTP, uploadPDF } from \'@/api/upload\'\r\nimport { fileUrl } from \'@/utils/fileUrl.js\'\r\nimport PreviewFile from \'@/components/previewFile\'\r\nimport Vue from \'vue\'\r\nimport Sortable from \'sortablejs\'\r\nexport default {\r\n name: \'Personnel\',\r\n components: { Pagination, PreviewFile },\r\n filters: {},\r\n data() {\r\n var clockDateRules = (rule, value, callback) => {\r\n if (!value) {\r\n callback(new Error(\'请选择排班日期\'))\r\n } else {\r\n callback()\r\n }\r\n }\r\n return {\r\n\r\n renyuanxinxi: [],\r\n institutionList: [],\r\n customerData: [],\r\n checklist: [], // 筛选值\r\n searchContent: \'\',\r\n // 失能等级枚举\r\n disabilityLv: {\r\n \'01\': \'基本正常\',\r\n \'02\': \'轻度失能\',\r\n \'03\': \'中度失能\',\r\n \'04\': \'重度失能Ⅰ级\',\r\n \'05\': \'重度失能ⅠⅠ级\',\r\n \'06\': \'重度失能ⅠⅠⅠ级\',\r\n \'\': \'请选择护理对象\'\r\n },\r\n // 默认时间\r\n calendarTime: \'\',\r\n // 时间跨度的当前月的星期一和结束月份的星期日\r\n rangeTime: [],\r\n exportTime: {\r\n startDate: []\r\n },\r\n unitType: null,\r\n nowdate: new Date(),\r\n dialogVisibleExp: false,\r\n loadExp: false,\r\n // startDate: [],\r\n expApi: \'\',\r\n expApiName: \'\',\r\n expBtn: [\r\n {\r\n key: 1,\r\n name: \'导出护理计划\',\r\n api: \'wxOrderInfo\',\r\n fileName: \'护理计划\'\r\n },\r\n {\r\n key: 2,\r\n name: \'导出护理项明细\',\r\n api: \'wxOrderItemInfo\',\r\n fileName: \'护理计划明细\'\r\n },\r\n {\r\n key: 3,\r\n name: \'导出分配信息\',\r\n api: \'wxOrderItemUserInfo\',\r\n fileName: \'护理计划分配信息\'\r\n },\r\n {\r\n key: 4,\r\n name: \'导出排班信息\',\r\n api: \'wxOrderSchedulingInfo\',\r\n fileName: \'护理计划排班信息\'\r\n },\r\n {\r\n key: 5,\r\n name: \'自动生成当月护理计划\',\r\n api: \'repeatedGeneration\',\r\n fileName: \'自动生成当月护理计划信息\'\r\n }\r\n ],\r\n file: {\r\n fileurl: \'\',\r\n dialogVisible: false,\r\n title: \'\',\r\n type: \'\'\r\n },\r\n // 单条数据\r\n workerObj: {},\r\n ruleForm: {\r\n SchedulingData: []\r\n },\r\n value: new Date(),\r\n title: \'排班\',\r\n SchedulingLoading: true,\r\n SchedulingDialogVisible: false,\r\n detailsDialogVisible: false,\r\n expObjVisible: false,\r\n expObj: {},\r\n expObjPrint: {},\r\n templateSelection: \'\',\r\n // 分配护工数据\r\n allocationData: [],\r\n // 分配护工loading\r\n allocationLoading: true,\r\n // 分配模态框\r\n allocationDialogVisible: false,\r\n // 护理类型价格\r\n priceType: null,\r\n // 所有套餐\r\n NursingArrData: [],\r\n // 下单人员\r\n placeOrder: [],\r\n // 护理对象\r\n nurseObject: [],\r\n FormData: {},\r\n fileList: [],\r\n NursingLoading: true,\r\n dialogVisible: false,\r\n dialogStatus: \'\',\r\n textMap: { update: \'编辑\', create: \'创建\' },\r\n tableKey: 0,\r\n list: null,\r\n total: 0,\r\n listLoading: true,\r\n listQuery: {\r\n pageNo: 1,\r\n size: 20\r\n },\r\n NursingData: [],\r\n institutionData: [],\r\n institutionArrData: [],\r\n dialogFormVisible: false,\r\n dialogPvVisible: false,\r\n\r\n rules: {\r\n status: [\r\n { required: true, message: \'请选择审核结果\', trigger: \'change\' }\r\n ],\r\n title: [{ required: true, message: \'请输入套餐名称\', trigger: \'blur\' }],\r\n no: [{ required: true, message: \'请输入套餐编号\', trigger: \'blur\' }],\r\n clockDate: [\r\n { required: true, validator: clockDateRules, trigger: \'blur\' }\r\n ],\r\n startDate: [\r\n { required: true, message: \'请选择计划开始日期\', trigger: \'change\' }\r\n ],\r\n endDate: [\r\n { required: true, message: \'请选择计划结束日期\', trigger: \'change\' }\r\n ],\r\n unitId: [\r\n { required: true, message: \'请选择所属机构\', trigger: \'change\' }\r\n ],\r\n projectPlanId: [\r\n { required: true, message: \'请选择护理内容\', trigger: \'change\' }\r\n ],\r\n priceType: [\r\n { required: true, message: \'请选择护理类型\', trigger: \'change\' }\r\n ],\r\n familyId: [\r\n { required: true, message: \'请选择护理对象\', trigger: \'change\' }\r\n ],\r\n familyLv: [\r\n { required: true, message: \'请选择失能等级\', trigger: \'change\' }\r\n ]\r\n },\r\n data: new Date(),\r\n time: \'\',\r\n temp: {},\r\n setData: [],\r\n // 当月的所有日期天数\r\n dates: [],\r\n downloadLoading: false,\r\n checkAll: false,\r\n dialogVisible: false,\r\n projectList: []\r\n }\r\n },\r\n computed: {\r\n ScheduleDate() {\r\n return function (item) {\r\n let data\r\n if (item.clockDate && item.id) {\r\n data = item.clockDate < this.$moment().format(\'YYYY-MM-DD\')\r\n } else {\r\n data = false\r\n }\r\n return data\r\n }\r\n },\r\n Summary() {\r\n return function (num, projectPrice3) {\r\n return (num * projectPrice3).toFixed(2)\r\n }\r\n },\r\n getTimeDate() {\r\n return function (day) {\r\n if (day) {\r\n return this.$moment(day).format(\'MM月DD号\')\r\n }\r\n }\r\n },\r\n setTimeDate() {\r\n return function (day) {\r\n if (day) {\r\n return this.$moment(day).format(\'HH:mm:ss\')\r\n }\r\n }\r\n },\r\n // 获取当日\r\n getDate() {\r\n return this.$moment().format(\'YYYY-MM-DD\')\r\n },\r\n // 根据时间进行比较\r\n compareDate() {\r\n return function (d1, d2, d3) {\r\n if (d1) {\r\n var index = d1.lastIndexOf(\'-\')\r\n var str1 = d1.substring(index + 1, d1.length) // 下班时间\r\n var str2 = d1.substring(0, index) // 上班时间\r\n // var time = str1 + str2\r\n }\r\n // 判断上下班打卡时间\r\n if (\r\n this.$moment(d2).format(\'HH:mm:ss\') < str2 &&\r\n this.$moment(d3).format(\'HH:mm:ss\') > str1\r\n ) {\r\n return true\r\n }\r\n }\r\n }\r\n },\r\n\r\n created() {\r\n this.getList()\r\n // 获取机构信息\r\n this.getinstitution()\r\n },\r\n updated() {\r\n this.$nextTick(() => {\r\n if (this.$refs[\'standTable\']) {\r\n this.$refs[\'standTable\'].doLayout()\r\n }\r\n })\r\n },\r\n methods: {\r\n initDrag() {\r\n const tbody = document.querySelector(\r\n \'.draggable-table .el-table__body-wrapper tbody\'\r\n )\r\n new Sortable(tbody, {\r\n handle: \'.handle\', // handle\'s class\r\n animation: 150,\r\n // 需要在odEnd方法中处理原始eltable数据,使原始数据与显示数据保持顺序一致\r\n onEnd: ({ newIndex, oldIndex }) => {\r\n const targetRow = this.NursingData[oldIndex]\r\n this.NursingData.splice(oldIndex, 1)\r\n this.NursingData.splice(newIndex, 0, targetRow)\r\n this.NursingData.map((item, index) => {\r\n item.sort = index + 1\r\n })\r\n console.log(this.NursingData)\r\n }\r\n })\r\n },\r\n addNurse() {\r\n this.dialogVisible = true\r\n this.projectList = []\r\n const dataArr = []\r\n if (this.temp.itemList) {\r\n this.temp.itemList.map((item) => {\r\n dataArr.push(item.projectId)\r\n })\r\n this.projectList = dataArr\r\n }\r\n },\r\n determine() {\r\n this.dialogVisible = false\r\n setTimeout(() => {\r\n this.NursingLoading = false\r\n }, 1.5 * 1000)\r\n for (var i = 0; i < this.projectList.length; i++) {\r\n const arr1 = this.institutionData.find((item, index) => {\r\n item.projectPrice3 = item.price3\r\n item.threePrice = item.threePrice\r\n item.value = item.value\r\n item.type = item.type\r\n return item.value == this.projectList[i]\r\n })\r\n const data = this.NursingData.some((u) => u.value === arr1.value)\r\n if (!data) {\r\n this.NursingData.push(arr1)\r\n this.NursingData.map((item, index) => {\r\n item.sort = index + 1\r\n })\r\n }\r\n }\r\n this.initDrag()\r\n },\r\n // 数组去重\r\n removeDataArr(arr) {\r\n var obj = {}\r\n arr = arr.reduce(function (item, next) {\r\n obj[next.projectId]\r\n ? \'\'\r\n : (obj[next.projectId] = true && item.push(next))\r\n return item\r\n }, [])\r\n return arr\r\n },\r\n handleCheckAllChange(val) {\r\n this.dates.map((item) => {\r\n item.show = !!val\r\n })\r\n // this.checkedCities = val ? cityOptions : [];\r\n },\r\n /**\r\n * 打印\r\n */\r\n onPrint() {\r\n this.$print(this.$refs.printDom1)\r\n },\r\n getExpPrint(v) {\r\n ClockJsInfo({ yearMonth: v }).then((res) => {\r\n if (res.status === 1) {\r\n this.expObjPrint = res.result\r\n }\r\n })\r\n },\r\n PlanexpExcel(row) {\r\n wxSettlementInfo({ id: row.id, orderNo: row.no }).then((res) => {\r\n const blob = new Blob([res])\r\n const fileName = \'结算信息导出\'\r\n if (blob.size > 0) {\r\n const elink = document.createElement(\'a\')\r\n elink.style.display = \'none\'\r\n elink.href = URL.createObjectURL(blob)\r\n // 类似a标签下载\r\n // 自定义文件名称和导出类型。最好和后台保持一致\r\n elink.download = `${fileName}/${this.$moment().format(\r\n \'YYYY-MM-DD\'\r\n )}.xlsx`\r\n document.body.appendChild(elink)\r\n elink.click()\r\n // 释放URL 对象\r\n URL.revokeObjectURL(elink.href)\r\n // 删除创建的 a 标签\r\n document.body.removeChild(elink)\r\n }\r\n })\r\n },\r\n expExcel2(row) {\r\n ClockInfo({ orderNo: row.no }).then((res) => {\r\n if (res.status === 1) {\r\n this.unitType = res.result.unitType\r\n const result = {}\r\n const lastElement = res.result.list[res.result.list.length - 1]\r\n for (const key in lastElement) {\r\n if (\r\n typeof lastElement[key] === \'string\' &&\r\n lastElement[key].includes(\'-\')\r\n ) {\r\n result[key] = lastElement[key].split(/-/)\r\n } else {\r\n result[key] = lastElement[key]\r\n }\r\n }\r\n res.result.list[res.result.list.length - 1] = result\r\n this.expObj = res.result\r\n this.expObjVisible = true\r\n }\r\n })\r\n },\r\n\r\n // 护理对象选择 取 失能等级\r\n familyChange(value) {\r\n if (value) {\r\n const data = this.nurseObject.find((v) => v.value == value)\r\n this.$set(this.temp, \'familyLv\', data.lv)\r\n return\r\n }\r\n this.$set(this.temp, \'familyLv\', \'\')\r\n },\r\n // 日历点击\r\n allcalendar(date, index) {\r\n date.show = !date.show\r\n // this.ruleForm.SchedulingData.push({\r\n // clockDate: date,\r\n // time: [\r\n // this.$moment().startOf("day").add(6, "hours").format("HH:mm"),\r\n // this.$moment().startOf("day").add(10, "hours").format("HH:mm"),\r\n // ],\r\n // isUntime: "",\r\n // });\r\n },\r\n // 合计\r\n getSummaries(param) {\r\n const { columns, data } = param\r\n const sums = []\r\n columns.forEach((column, index) => {\r\n if (index === 0) {\r\n sums[index] = \'总价\'\r\n return\r\n } else if (column.label == \'汇总价格\') {\r\n // const values = data.map(item => Number(item[column.property]));\r\n // 数量\r\n const values = data.map((item) => Number(item[\'num\']))\r\n // 价格\r\n const price = data.map((item) => Number(item[\'projectPrice3\']))\r\n if (!values.every((value) => isNaN(value))) {\r\n sums[index] = values.reduce((prev, curr, index) => {\r\n const value = Number(curr)\r\n if (!isNaN(value)) {\r\n // curr为数量,price为单价,求得每行的金额,再通过reduce累加求和\r\n return prev + curr * price[index]\r\n } else {\r\n return prev\r\n }\r\n }, 0)\r\n // sums[index] += \' 元\';\r\n } else {\r\n sums[index] = \'\'\r\n }\r\n if (sums[index]) {\r\n sums[index] = sums[index].toFixed(2) // 保留2位小数\r\n }\r\n }\r\n })\r\n\r\n return sums\r\n },\r\n expShow(u) {\r\n if (u.key == 5) {\r\n // this.$prompt(\'请选择日期\', \'提示\', {\r\n // confirmButtonText: \'确定\',\r\n // cancelButtonText: \'取消\',\r\n // }).then(({ value }) => {\r\n // this.$message({\r\n // type: \'success\',\r\n // message: \'你的邮箱是: \' + value\r\n // });\r\n // }).catch(() => {\r\n // this.$message({\r\n // type: \'info\',\r\n // message: \'取消输入\'\r\n // });\r\n // });\r\n const h = this.$createElement\r\n var _this = this\r\n this.$msgbox({\r\n title: \'请选择日期\', // 弹框标题\r\n // 弹框信息\r\n message: h(\r\n Vue.component(\'msgboxDatePicker\', {\r\n render(h) {\r\n return h(\'div\', null, [\r\n h(\'el-date-picker\', {\r\n props: {\r\n value: _this.value,\r\n type: \'date\',\r\n valueFormat: \'yyyy-MM-dd\',\r\n placeholder: \'请选择日期\'\r\n },\r\n on: {\r\n input: (v) => {\r\n _this.value = v\r\n _this.$emit(\'input\', v)\r\n },\r\n change: (v) => {\r\n _this.data = v\r\n _this.$emit(\'change\', v)\r\n }\r\n }\r\n })\r\n ])\r\n }\r\n })\r\n ),\r\n showCancelButton: true,\r\n closeOnClickModal: false,\r\n confirmButtonText: \'确定\',\r\n cancelButtonText: \'取消\'\r\n })\r\n .then(() => {\r\n repeatedGeneration({ data: this.data }).then((res) => {\r\n if (res.status == 1) {\r\n _this.$notify({\r\n title: \'提示\',\r\n message: res.info,\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n _this.$notify({\r\n title: \'提示\',\r\n message: res.info,\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n })\r\n .catch(() => {\r\n this.$notify({\r\n title: \'提示\',\r\n message: \'已取消\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n\r\n return\r\n }\r\n this.dialogVisibleExp = true\r\n this.expApi = u.api\r\n this.expApiName = u.fileName\r\n this.exportTime.startDate = []\r\n },\r\n handleClose() {\r\n this.dialogVisibleExp = false\r\n this.expObjVisible = false\r\n this.exportTime.startDate = []\r\n this.expApi = \'\'\r\n this.expApiName = \'\'\r\n },\r\n expExcel() {\r\n try {\r\n this.loadExp = true\r\n const form = {\r\n startDate: this.exportTime.startDate[0],\r\n endDate: this.exportTime.startDate[1],\r\n url: this.expApi,\r\n familyId: this.exportTime.familyId,\r\n orderNo: this.exportTime.orderNo\r\n }\r\n ExportExcel(form)\r\n .then((res) => {\r\n const blob = new Blob([res])\r\n const fileName = this.expApiName\r\n if (blob.size > 0) {\r\n const elink = document.createElement(\'a\')\r\n elink.style.display = \'none\'\r\n elink.href = URL.createObjectURL(blob)\r\n // 类似a标签下载\r\n // 自定义文件名称和导出类型。最好和后台保持一致\r\n elink.download = `${fileName}/${this.$moment().format(\r\n \'YYYY-MM-DD\'\r\n )}.xlsx`\r\n document.body.appendChild(elink)\r\n elink.click()\r\n // 释放URL 对象\r\n URL.revokeObjectURL(elink.href)\r\n // 删除创建的 a 标签\r\n document.body.removeChild(elink)\r\n }\r\n this.handleClose()\r\n this.loadExp = false\r\n })\r\n .catch(() => {\r\n this.loadExp = false\r\n })\r\n } catch (e) {\r\n this.loadExp = false\r\n console.log(e)\r\n }\r\n },\r\n complete(row) {\r\n this.$confirm(\'此操作将更新订单状态, 是否继续?\', \'提示\', {\r\n confirmButtonText: \'确定\',\r\n cancelButtonText: \'取消\',\r\n type: \'warning\'\r\n })\r\n .then(() => {\r\n WxOrderFinish({ id: row.id }).then((res) => {\r\n if (res.status == 1) {\r\n this.$notify({\r\n title: \'提示\',\r\n message: res.info,\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n this.getList()\r\n return\r\n }\r\n this.$notify({\r\n title: \'提示\',\r\n message: res.info,\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n })\r\n .catch(() => {\r\n this.$message({\r\n type: \'info\',\r\n message: \'已取消\'\r\n })\r\n })\r\n },\r\n details(row) {\r\n // this.rangeTime = [];\r\n WxOrderDetail({ no: row.no }).then((res) => {\r\n this.temp = res.result\r\n if (res.result.clockList || res.result.orderSchedulingList) {\r\n this.calendarTime = this.temp.startDate\r\n // 获取当前日期\r\n // 根据当前日期获取上个月份\r\n const lastMonth = this.$moment(this.temp.startDate)\r\n .clone()\r\n .subtract(1, \'months\')\r\n\r\n // 获取上个月份的最后一天\r\n const lastDayOfLastMonth = lastMonth.endOf(\'month\')\r\n\r\n // 从上个月份的最后一天开始向前查找,直到找到第一个星期一\r\n const lastMondayOfLastMonth = lastDayOfLastMonth\r\n .clone()\r\n .subtract((lastDayOfLastMonth.day() + 6) % 7, \'days\')\r\n\r\n // 获取下个月份\r\n const nextMonth = this.$moment(this.temp.endDate)\r\n .clone()\r\n .add(1, \'months\')\r\n\r\n // 获取下个月的第一天\r\n const firstDayOfNextMonth = nextMonth.startOf(\'month\')\r\n\r\n // 从下个月的第一天开始向后查找,直到找到第一个星期日\r\n const firstSundayOfNextMonth = firstDayOfNextMonth\r\n .clone()\r\n .add((7 - firstDayOfNextMonth.day()) % 7, \'days\')\r\n\r\n // //处理计划开始日期 复制给日历组件\r\n // const firstDayOfMonth = this.$moment(this.temp.startDate).startOf(\'month\'); // 月份的第一天\r\n // const lastDayOfMonth = this.$moment(this.temp.endDate).endOf(\'month\'); // 月份的最后一天\r\n // // 查找第一个星期一\r\n // let currentDay = firstDayOfMonth;\r\n // while (currentDay.isoWeekday() !== 1) {\r\n // currentDay.add(1, \'days\');\r\n // }\r\n // const firstMonday = currentDay.format(\'YYYY-MM-DD\');\r\n // // 查找最后一个星期日\r\n // currentDay = lastDayOfMonth;\r\n // while (currentDay.isoWeekday() !== 7) {\r\n // currentDay.subtract(1, \'days\');\r\n // }\r\n // const sunday = currentDay.format(\'YYYY-MM-DD\');\r\n this.rangeTime = [\r\n lastMondayOfLastMonth.format(\'YYYY-MM-DD\'),\r\n firstSundayOfNextMonth.format(\'YYYY-MM-DD\')\r\n ]\r\n let clockList = []\r\n let orderSchedulingList = []\r\n if (res.result.clockList) {\r\n clockList = res.result.clockList\r\n }\r\n if (res.result.orderSchedulingList) {\r\n orderSchedulingList = res.result.orderSchedulingList\r\n }\r\n const setData = [...clockList, ...orderSchedulingList]\r\n const result = []\r\n const map = new Map()\r\n setData.forEach((item) => {\r\n const key = item.clockDate\r\n if (map.has(key)) {\r\n const existingItem = map.get(key)\r\n existingItem.upCreateTime =\r\n existingItem.upCreateTime || item.upCreateTime\r\n existingItem.dnCreateTime =\r\n existingItem.dnCreateTime || item.dnCreateTime\r\n existingItem.timeSlot = existingItem.timeSlot || item.timeSlot\r\n } else {\r\n map.set(key, item)\r\n }\r\n })\r\n result.push(...map.values())\r\n this.setData = result\r\n }\r\n // const setData = [\r\n // ...res.result.clockList,\r\n // ...res.result.orderSchedulingList,\r\n // ];\r\n // const result = [];\r\n // const map = new Map();\r\n // setData.forEach((item) => {\r\n // const key = item.clockDate;\r\n // if (map.has(key)) {\r\n // const existingItem = map.get(key);\r\n // existingItem.upCreateTime =\r\n // existingItem.upCreateTime || item.upCreateTime;\r\n // existingItem.dnCreateTime =\r\n // existingItem.dnCreateTime || item.dnCreateTime;\r\n // existingItem.timeSlot = existingItem.timeSlot || item.timeSlot;\r\n // } else {\r\n // map.set(key, item);\r\n // }\r\n // });\r\n // result.push(...map.values());\r\n // this.setData = result;\r\n this.fileList = []\r\n this.NursingData = []\r\n this.NursingArrData = []\r\n SProjectPlanPage({ pageNo: 1, size: 9999 }).then((response) => {\r\n this.NursingArrData = response.result.data.map((item) => {\r\n console.log(item)\r\n return { label: item.title, value: item.id }\r\n })\r\n this.NursingArrData.unshift({ label: \'自定义护理项目\', value: \'1\' })\r\n })\r\n WxOrderItemgetOrderNoDetails({ orderNo: row.no }).then((res) => {\r\n this.NursingData = res.result.map((item, index) => {\r\n return {\r\n sort: index + 1,\r\n edit: false,\r\n label: item.projectTitle,\r\n projectId: item.projectId,\r\n num: item.num,\r\n type: item.type,\r\n threePrice: item.threePrice ? item.threePrice : \'-\',\r\n projectPrice1: item.projectPrice1,\r\n projectPrice2: item.projectPrice2,\r\n projectPrice3: item.projectPrice3,\r\n alreadyNum: item.alreadyNum\r\n }\r\n })\r\n setTimeout(() => {\r\n this.NursingLoading = false\r\n }, 1.5 * 1000)\r\n })\r\n if (row.pdfUrl) {\r\n this.fileList.push({\r\n name: row.pdfUrl,\r\n url: row.pdfUrl\r\n })\r\n }\r\n this.detailsDialogVisible = true\r\n })\r\n },\r\n\r\n addScheduling() {\r\n this.ruleForm.SchedulingData.push({\r\n clockDate: \'\',\r\n time: [\r\n this.$moment().startOf(\'day\').add(6, \'hours\').format(\'HH:mm\'),\r\n this.$moment().startOf(\'day\').add(10, \'hours\').format(\'HH:mm\')\r\n ],\r\n isUntime: \'\'\r\n })\r\n },\r\n changeInput(item) {\r\n console.log(item)\r\n if (item.isUntime == 0) {\r\n item.time = [\r\n this.$moment().startOf(\'day\').format(\'HH:mm\'),\r\n this.$moment().endOf(\'day\').format(\'HH:mm\')\r\n ]\r\n } else {\r\n item.time = [\r\n this.$moment().startOf(\'day\').add(6, \'hours\').format(\'HH:mm\'),\r\n this.$moment().startOf(\'day\').add(10, \'hours\').format(\'HH:mm\')\r\n ]\r\n }\r\n },\r\n removeDomain(item, index) {\r\n if (this.title == \'新增排班\') {\r\n this.ruleForm.SchedulingData.splice(index, 1)\r\n return\r\n }\r\n if (item.id) {\r\n WxOrderSchedulingDel({ id: item.id }).then((res) => {\r\n if (res.status == 1) {\r\n this.$notify({\r\n title: res.info,\r\n message: \'删除成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n this.ruleForm.SchedulingData.splice(index, 1)\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'删除失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n return\r\n }\r\n this.ruleForm.SchedulingData.splice(index, 1)\r\n },\r\n SchedulingConfirmation() {\r\n if (!this.time) {\r\n this.$notify({\r\n title: \'提示\',\r\n message: \'请选择排班时间\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n const result = this.dates.some((item) => {\r\n return item.show === true\r\n })\r\n if (!result) {\r\n this.$notify({\r\n title: \'提示\',\r\n message: \'请选择排班日期\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n const temp = {}\r\n const orderSchedulingList = []\r\n for (let i = 0; i < this.dates.length; i++) {\r\n if (this.dates[i].show) {\r\n orderSchedulingList.push({\r\n clockDate: this.dates[i].dataTime,\r\n IsUntime: \'1\',\r\n timeSlot: `${this.time[0]}-${this.time[1]}`\r\n })\r\n }\r\n }\r\n temp.orderNo = this.temp.no\r\n temp.orderSchedulingList = orderSchedulingList\r\n WxOrderSchedulingSave(temp).then((res) => {\r\n if (res.status == 1) {\r\n this.SchedulingDialogVisible = false\r\n this.SchedulingLoading = false\r\n this.checkAll = false\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'排班成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'排班失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n },\r\n // 排班方法\r\n Scheduling(row) {\r\n this.dates = []\r\n // console.log(this.temp.startDate.format(\'MM\'));\r\n this.temp = row\r\n const dates = this.getAllDatesOfMonth(\r\n this.$moment(this.temp.startDate).format(\'YYYY\'),\r\n this.$moment(this.temp.startDate).format(\'MM\')\r\n )\r\n dates.forEach((date) => {\r\n const dataTime = this.$moment(date).format(\'YYYY-MM-DD\')\r\n this.dates.push({\r\n show: false,\r\n dataTime: dataTime\r\n })\r\n })\r\n this.ruleForm.SchedulingData = []\r\n this.SchedulingDialogVisible = true\r\n this.SchedulingLoading = true\r\n setTimeout(() => {\r\n WxOrderSchedulingGetByOrderNo({ orderNo: row.no }).then((res) => {\r\n if (res.result.length > 0) {\r\n this.title = \'编辑排班\'\r\n this.ruleForm.SchedulingData = res.result.map((item) => {\r\n for (var i = 0; i < this.dates.length; i++) {\r\n if (this.dates[i].dataTime == item.clockDate) {\r\n this.dates[i].show = true\r\n }\r\n }\r\n item.isUntime = Number(item.isUntime)\r\n item.time = item.timeSlot.split(\'-\')\r\n return item\r\n })\r\n this.time = this.ruleForm.SchedulingData[0].time\r\n // this.dates = res.result.map((item) => {\r\n // return {\r\n // detaTime:item.clockDate\r\n // }\r\n // })\r\n } else {\r\n this.title = \'新增排班\'\r\n }\r\n })\r\n this.SchedulingLoading = false\r\n }, 100)\r\n },\r\n // 获取当月日期\r\n getAllDatesOfMonth(year, month) {\r\n const dates = []\r\n const startDate = this.$moment([year, month - 1, 1])\r\n const endDate = startDate.clone().endOf(\'month\')\r\n const currentDate = startDate\r\n while (\r\n currentDate.isBefore(endDate) ||\r\n currentDate.isSame(endDate, \'day\')\r\n ) {\r\n dates.push(currentDate.clone())\r\n currentDate.add(1, \'days\')\r\n }\r\n return dates\r\n },\r\n confirm() {\r\n if (!this.templateSelection) {\r\n this.$message({\r\n message: \'请选择护工\',\r\n type: \'warning\',\r\n center: true\r\n })\r\n return\r\n }\r\n WxOrderItemUserSave(this.workerObj).then((res) => {\r\n if (res.status == 1) {\r\n this.allocationDialogVisible = false\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'分配成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n this.templateSelection = \'\'\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'分配失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n },\r\n singleElection(row) {\r\n this.templateSelection = row.id\r\n this.workerObj.personId = this.templateSelection\r\n // let aaaa = this.allocationData.filter((item) => item.id === row.id)\r\n },\r\n selectTable(e) {\r\n const oldArr = JSON.parse(JSON.stringify(this.allocationData))\r\n let arr\r\n if (e.trim()) {\r\n arr = oldArr.filter((item) => {\r\n return Object.keys(item).some((key) => {\r\n return String(item[\'name\']).toLowerCase().match(e.trim())\r\n })\r\n })\r\n } else {\r\n arr = this.allocationData\r\n }\r\n this.checklist = arr\r\n },\r\n // 分配护工\r\n allocation(row) {\r\n // if (row.status == "1" || row.status == "2") {\r\n // this.$message({\r\n // message: "进行中或已完成不允许分配护工",\r\n // type: "warning",\r\n // });\r\n // return;\r\n // }\r\n // if (row.personId) {\r\n // this.$message({\r\n // message: "当前护理计划已分配护工",\r\n // type: "warning",\r\n // });\r\n // return;\r\n // }\r\n this.workerObj.orderNo = row.no\r\n this.allocationDialogVisible = true\r\n SPersonAll().then((res) => {\r\n this.allocationData = res.result\r\n this.checklist = res.result\r\n })\r\n setTimeout(() => {\r\n this.allocationLoading = false\r\n }, 1.5 * 1000)\r\n },\r\n changePrice(value) {\r\n this.priceType = value\r\n },\r\n // 文件格式验证\r\n beforeAvatarUploada(file) {\r\n this.loadingstate = true\r\n const index = file.name.lastIndexOf(\'.\')\r\n const extension = file.name.substr(index + 1)\r\n const extensionList = [\'PDF\', \'pdf\']\r\n const isLt2M = file.size / 1024 / 1024 < 10\r\n if (!isLt2M) {\r\n this.$message({\r\n message: \'封面不可超出10M\',\r\n type: \'warning\',\r\n center: true\r\n })\r\n return false\r\n } else if (extensionList.indexOf(extension) < 0) {\r\n this.$message({\r\n message: \'只能pdf文件\',\r\n type: \'error\',\r\n center: true\r\n })\r\n return false\r\n }\r\n },\r\n onPreview(file) {\r\n const type = fileUrl(file.url)\r\n let url = `${this.$constant.imgAddr}${file.url}`\r\n if (\r\n type == \'word\' ||\r\n type == \'wps\' ||\r\n type == \'pdf\' ||\r\n type == \'pptx\' ||\r\n type == \'txt\'\r\n ) {\r\n this.file.type = type\r\n url = `https://wps-view.zhihuipk.com/?src=` + url\r\n } else if (type == \'image\') {\r\n this.file.type = type\r\n } else if (type == \'video\') {\r\n this.file.type = type\r\n } else if (type == \'radio\') {\r\n this.file.type = type\r\n } else {\r\n this.$message.error(\'该格式不可在线预览,请下载后查看\')\r\n return\r\n }\r\n this.file.fileurl = url // 后端请求回来的文件地址url\r\n this.file.dialogVisible = true // 弹窗\r\n this.file.title = file.name // 文件名称\r\n },\r\n // 处理文件上传操作\r\n handleFileUpload(file) {\r\n const obj = new FormData()\r\n // 上传文件\r\n obj.append(\'file\', file.file)\r\n obj.append(\'realPath\', file.file.name)\r\n // 上传文件接口\r\n uploadPDF(obj).then((res) => {\r\n if (res.status == 1) {\r\n this.$message({\r\n message: \'上传成功\',\r\n type: \'success\'\r\n })\r\n this.temp.pdfUrl = res.result.url\r\n }\r\n })\r\n },\r\n nurseDelete(row, index) {\r\n if (this.temp.projectPlanId == \'1\') {\r\n this.NursingData.splice(index, 1)\r\n return\r\n }\r\n this.$message({\r\n message: \'套餐内的护理项不能删除\',\r\n type: \'warning\'\r\n })\r\n // this.NursingData.splice(index, 1);\r\n },\r\n modify(row) {\r\n row.edit = true\r\n },\r\n InputBlur(row) {\r\n row.edit = false\r\n },\r\n getinstitution() {\r\n SProjectAll().then((response) => {\r\n this.institutionData = response.result.map((item, index) => {\r\n return {\r\n label: item.title,\r\n type: item.type,\r\n value: item.id,\r\n threePrice: item.threePrice,\r\n price1: item.price1,\r\n price3: item.price3,\r\n edit: false,\r\n num: \'1\',\r\n projectId: item.id\r\n }\r\n })\r\n })\r\n SysUnitPage({ pageNo: 1, size: 9999 }).then((response) => {\r\n this.institutionArrData = response.result.data.map((item) => {\r\n return { label: item.name, value: item.id }\r\n })\r\n })\r\n WxUserCustomAll().then((response) => {\r\n this.placeOrder = response.result.map((item, index) => {\r\n return { label: item.nickName, value: item.id }\r\n })\r\n })\r\n WxUserFamilyAll().then((response) => {\r\n this.nurseObject = response.result.map((item, index) => {\r\n return {\r\n label: item.name,\r\n value: item.id,\r\n isDelete: item.isDelete,\r\n lv: item.lv ? item.lv : \'\'\r\n }\r\n })\r\n })\r\n },\r\n getList() {\r\n // this.listLoading = true;\r\n const form = JSON.parse(JSON.stringify(this.listQuery))\r\n if (form.playTime) {\r\n form.startDate = form.playTime[0]\r\n form.endDate = form.playTime[1]\r\n delete form.playTime\r\n }\r\n WxOrderPage(form).then((response) => {\r\n this.list = response.result.data\r\n this.total = response.result.count\r\n // setTimeout(() => {\r\n // this.listLoading = false;\r\n // }, 1.5 * 1000);\r\n })\r\n WxUserFamilyAll().then((res) => {\r\n this.customerData = res.result.map((item) => {\r\n return { label: item.name, value: item.name }\r\n })\r\n })\r\n SysUnitAll().then((res) => {\r\n this.institutionList = res.result.map((item) => {\r\n return { label: item.name, value: item.id }\r\n })\r\n })\r\n SPersonAll().then((res) => {\r\n this.renyuanxinxi = res.result.map((item) => {\r\n return { label: item.name, value: item.name }\r\n })\r\n })\r\n },\r\n handleModifyStatus(row, status) {\r\n this.$message({\r\n message: \'操作成功\',\r\n type: \'success\'\r\n })\r\n row.status = status\r\n },\r\n resetting(formName) {\r\n this.$nextTick(() => {\r\n this.$refs[formName].resetFields()\r\n this.getList()\r\n })\r\n },\r\n // 新增护理项\r\n add() {\r\n this.dialogStatus = \'create\'\r\n this.dialogFormVisible = true\r\n this.temp = {}\r\n this.fileList = []\r\n this.NursingData = []\r\n this.NursingArrData = []\r\n SProjectPlanPage({ pageNo: 1, size: 9999 }).then((response) => {\r\n this.NursingArrData = response.result.data.map((item) => {\r\n return { label: item.title, value: item.id }\r\n })\r\n this.NursingArrData.unshift({ label: \'自定义护理项目\', value: \'1\' })\r\n })\r\n setTimeout(() => {\r\n this.NursingLoading = false\r\n }, 1.5 * 1000)\r\n },\r\n edit(row) {\r\n if (row.status == \'2\') {\r\n this.$message({\r\n message: \'已完成不允许编辑\',\r\n type: \'warning\'\r\n })\r\n return\r\n }\r\n this.dialogStatus = \'update\'\r\n this.dialogFormVisible = true\r\n this.temp = row\r\n this.fileList = []\r\n this.NursingData = []\r\n this.NursingArrData = []\r\n SProjectPlanPage({ pageNo: 1, size: 9999 }).then((response) => {\r\n this.NursingArrData = response.result.data.map((item) => {\r\n return { label: item.title, value: item.id }\r\n })\r\n this.NursingArrData.unshift({ label: \'自定义护理项目\', value: \'1\' })\r\n })\r\n WxOrderItemgetOrderNoDetails({ orderNo: row.no }).then((res) => {\r\n this.NursingData = res.result.map((item, index) => {\r\n return {\r\n sort: index + 1,\r\n edit: false,\r\n label: item.projectTitle,\r\n projectId: item.projectId,\r\n num: item.num,\r\n type: item.type,\r\n threePrice: item.threePrice ? item.threePrice : \'-\',\r\n projectPrice1: item.projectPrice1,\r\n projectPrice2: item.projectPrice2,\r\n projectPrice3: item.projectPrice3\r\n }\r\n })\r\n })\r\n if (row.pdfUrl) {\r\n this.fileList.push({\r\n name: row.pdfUrl,\r\n url: row.pdfUrl\r\n })\r\n }\r\n setTimeout(() => {\r\n this.NursingLoading = false\r\n }, 1.5 * 1000)\r\n },\r\n // 获取套餐里的列表\r\n NursingChange(value) {\r\n console.log(value)\r\n if (value == \'1\') {\r\n // SProjectAll().then((response) => {\r\n // this.NursingData = response.result.map((item, index) => {\r\n // return {\r\n // label: item.title,\r\n // value: item.id,\r\n // projectPrice1: item.price1,\r\n // projectPrice2: item.price2,\r\n // projectPrice3: item.price3,\r\n // type: item.type,\r\n // edit: false,\r\n // num: item.num ? item.num : \'1\',\r\n // projectId: item.id,\r\n // };\r\n // });\r\n // });\r\n this.NursingData = []\r\n } else {\r\n SProjectPlanDetail({ id: value }).then((res) => {\r\n if (res.result.itemList) {\r\n this.NursingData = res.result.itemList.map((item, index) => {\r\n return {\r\n sort: index + 1,\r\n edit: false,\r\n label: item.projectTitle,\r\n projectId: item.projectId,\r\n num: item.num,\r\n type: item.projectType,\r\n projectPrice1: item.projectPrice1,\r\n projectPrice2: item.projectPrice2,\r\n projectPrice3: item.projectPrice3\r\n }\r\n })\r\n }\r\n })\r\n }\r\n },\r\n onSubmit() {\r\n this.getList()\r\n },\r\n createData() {\r\n this.$refs[\'dataForm\'].validate((valid) => {\r\n if (valid) {\r\n this.temp.orderItemSaveList = this.NursingData\r\n WxOrderSave(this.temp).then((res) => {\r\n if (res.status == 1) {\r\n this.dialogFormVisible = false\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'新增成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'新增失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n }\r\n })\r\n },\r\n updateData() {\r\n this.$refs[\'dataForm\'].validate((valid) => {\r\n if (valid) {\r\n this.temp.orderItemSaveList = this.NursingData\r\n WxOrderSave(this.temp).then((res) => {\r\n if (res.status == 1) {\r\n this.dialogFormVisible = false\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'更新成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'更新失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n }\r\n })\r\n },\r\n handleDelete(row, index) {\r\n if (row.status == \'1\' || row.status == \'2\') {\r\n this.$message({\r\n message: \'进行中或已完成不允许删除\',\r\n type: \'warning\'\r\n })\r\n return\r\n }\r\n WxOrderDel({ orderNo: row.no }).then((res) => {\r\n if (res.status == 1) {\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'删除成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'删除失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n }\r\n }\r\n}\r\n<\/script>\r\n<style lang="scss" scoped>\r\n.el-col-12 {\r\n padding: 0 20px 0 0;\r\n}\r\n\r\n.addButton {\r\n margin: 0 0 10px 0;\r\n}\r\n\r\n::v-deep .el-dialog__body {\r\n padding: 0px 20px;\r\n}\r\n\r\n::v-deep .el-calendar-table .el-calendar-day {\r\n padding: 0;\r\n}\r\n\r\n.is-selected {\r\n color: #1989fa;\r\n background: yellow;\r\n}\r\n\r\n.is-add-selected {\r\n color: #fff;\r\n background: #1989fa;\r\n}\r\n\r\n$titleHeight: 100%;\r\n$redColor: rgba(255, 0, 0, 0.8);\r\n$lowColor: rgba(217, 210, 53, 0.8);\r\n$middleColor: rgba(64, 158, 255, 0.8);\r\n$heightColor: #f00;\r\n\r\n@mixin card-o($bgColor) {\r\n position: relative;\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n font-size: 15px;\r\n color: #fff;\r\n background-color: $bgColor;\r\n}\r\n\r\n@mixin card-text-o($bgColor) {\r\n display: flex;\r\n flex-direction: column;\r\n // justify-content: space-between;\r\n height: $titleHeight;\r\n max-height: $titleHeight;\r\n min-height: $titleHeight;\r\n font-size: 12px;\r\n color: #fff;\r\n background-color: $bgColor;\r\n}\r\n\r\n.calendar-dialog {\r\n .card-group {\r\n width: 100%;\r\n height: 100%;\r\n\r\n .card-calendar-text {\r\n height: $titleHeight;\r\n max-height: $titleHeight;\r\n min-height: $titleHeight;\r\n padding: 8px;\r\n }\r\n\r\n .card {\r\n position: relative;\r\n top: -$titleHeight;\r\n }\r\n\r\n .card-flag {\r\n height: 100%;\r\n }\r\n\r\n .card1 {\r\n @include card-o($middleColor);\r\n }\r\n\r\n .card-text1 {\r\n @include card-text-o($middleColor);\r\n height: 100%;\r\n padding: 8px;\r\n font-size: 14px;\r\n }\r\n\r\n .card-text2 {\r\n @include card-text-o($redColor);\r\n height: 100%;\r\n padding: 8px;\r\n font-size: 14px;\r\n }\r\n\r\n .card-text3 {\r\n @include card-text-o($redColor);\r\n height: 100%;\r\n padding: 8px;\r\n font-size: 14px;\r\n }\r\n\r\n .card-text4 {\r\n @include card-text-o($redColor);\r\n height: 100%;\r\n padding: 8px;\r\n font-size: 14px;\r\n }\r\n\r\n .card-text5 {\r\n @include card-text-o($lowColor);\r\n height: 100%;\r\n padding: 8px;\r\n font-size: 14px;\r\n }\r\n\r\n .card2 {\r\n @include card-o($lowColor);\r\n }\r\n\r\n // .card-text2 {\r\n // @include card-text-o($lowColor);\r\n // }\r\n\r\n .card3 {\r\n @include card-o($heightColor);\r\n }\r\n\r\n .card-text3 {\r\n @include card-text-o($heightColor);\r\n }\r\n\r\n .visits-val {\r\n position: absolute;\r\n right: 0;\r\n bottom: 0;\r\n }\r\n }\r\n}\r\n\r\n::v-deep .el-calendar__button-group {\r\n display: none;\r\n}\r\n\r\n.is-selected {\r\n color: #1989fa;\r\n}\r\n\r\n.activeItem {\r\n color: red;\r\n}\r\n\r\n.el-calendar-table td.is-today {\r\n color: #000 !important;\r\n background: transparent !important;\r\n}\r\n\r\n.el-col-12 {\r\n padding: 0 20px 0 0;\r\n}\r\n\r\n.exptable {\r\n font-size: 9px;\r\n text-align: center;\r\n width: 100%;\r\n\r\n // line-height: 26px;\r\n .leftXuhao {\r\n display: flex;\r\n border-bottom: 1px solid #333;\r\n\r\n div {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n border-right: 1px solid #333;\r\n }\r\n }\r\n\r\n .thead {\r\n // border: 1px solid #333;\r\n border-bottom: 0;\r\n color: #000;\r\n padding: 8px 0;\r\n }\r\n\r\n .tbody {\r\n border: 1px solid #333;\r\n font-size: 8px;\r\n }\r\n\r\n .tr {\r\n display: flex;\r\n border-bottom: 1px solid #333;\r\n color: #111;\r\n\r\n div {\r\n // flex: 1;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n border-right: 1px solid #333;\r\n // padding: 5px 2px;\r\n }\r\n\r\n .bodyday {\r\n flex: 1;\r\n }\r\n\r\n div:last-child {\r\n border-right: 0;\r\n }\r\n }\r\n\r\n .eight div {\r\n flex: 1;\r\n // width: calc((100% - 120px * 8) / 8);\r\n padding: 5px 0;\r\n }\r\n\r\n .eight .title {\r\n width: 110px;\r\n flex: none;\r\n }\r\n\r\n .tr:last-child {\r\n border-bottom: 0;\r\n }\r\n\r\n .loop {\r\n .num {\r\n width: 22px !important;\r\n }\r\n\r\n .total {\r\n width: 23px;\r\n padding: 5px 0;\r\n }\r\n\r\n // .day {\r\n // width: calc(27px * 27);\r\n // }\r\n .name {\r\n // flex: 1;\r\n padding: 5px 0;\r\n // width: 300px !important;\r\n flex: 0.1;\r\n }\r\n\r\n .headday {\r\n flex-flow: column;\r\n flex: 1;\r\n\r\n .forday {\r\n border-top: 1px solid #333;\r\n }\r\n }\r\n\r\n .day span {\r\n padding: 10px 0;\r\n }\r\n\r\n .forday {\r\n display: table;\r\n width: 100%;\r\n\r\n // height: 100%;\r\n span {\r\n display: table-cell;\r\n vertical-align: middle;\r\n border-right: 1px solid #333;\r\n width: 23px;\r\n height: 100%;\r\n overflow: hidden;\r\n word-wrap: break-word;\r\n word-break: break-all;\r\n }\r\n\r\n span:last-child {\r\n border-right: 0;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.handwriting {\r\n display: flex;\r\n\r\n div {\r\n text-align: right;\r\n padding: 5px 0;\r\n }\r\n\r\n .name {\r\n margin-left: 60px;\r\n width: 120px;\r\n }\r\n\r\n .bodyday {\r\n width: 60%;\r\n margin-right: 60px;\r\n }\r\n}\r\n\r\n.exptableprint {\r\n font-size: 11px;\r\n\r\n .tbody {\r\n font-size: 10px;\r\n }\r\n}\r\n\r\n.list {\r\n padding: 15px;\r\n // background-color: #baf;\r\n // 设置父元素成为弹性盒\r\n display: flex;\r\n // 让弹性盒元素在必要的时候拆行\r\n flex-wrap: wrap;\r\n\r\n .item {\r\n // background-color: deeppink;\r\n border: 1px solid #ede9e9;\r\n height: 70px;\r\n padding: 10px;\r\n cursor: pointer;\r\n // 每个元素都要设置右边距margin-right(每个元素的左右间隙)\r\n // 同时设置下边距margin-bottom(每个元素的上下间隙)\r\n // margin: 0 1px 1px 0;\r\n width: calc((100% - 50px) / 7);\r\n // 这里一行显示4个,所以是/4,一行显示几个就除以几\r\n // 这里的60rpx = (分布个数4-1)*间隙20rpx, 可以根据实际的分布个数和间隙区调整\r\n min-width: calc((100% - 30px) / 7);\r\n max-width: calc((100% - 30px) / 7);\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n font-size: 12px;\r\n\r\n // 每行最右侧的那个不设置右外边距\r\n &:nth-child(7n + 7) {\r\n margin-bottom: 0;\r\n }\r\n }\r\n}\r\n</style>\r\n',".el-col-12 {\n padding: 0 20px 0 0;\n}\n\n.addButton {\n margin: 0 0 10px 0;\n}\n\n::v-deep .el-dialog__body {\n padding: 0px 20px;\n}\n\n::v-deep .el-calendar-table .el-calendar-day {\n padding: 0;\n}\n\n.is-selected {\n color: #1989fa;\n background: yellow;\n}\n\n.is-add-selected {\n color: #fff;\n background: #1989fa;\n}\n\n.calendar-dialog .card-group {\n width: 100%;\n height: 100%;\n}\n.calendar-dialog .card-group .card-calendar-text {\n height: 100%;\n max-height: 100%;\n min-height: 100%;\n padding: 8px;\n}\n.calendar-dialog .card-group .card {\n position: relative;\n top: -100%;\n}\n.calendar-dialog .card-group .card-flag {\n height: 100%;\n}\n.calendar-dialog .card-group .card1 {\n position: relative;\n display: block;\n width: 100%;\n height: 100%;\n font-size: 15px;\n color: #fff;\n background-color: rgba(64, 158, 255, 0.8);\n}\n.calendar-dialog .card-group .card-text1 {\n display: flex;\n flex-direction: column;\n height: 100%;\n max-height: 100%;\n min-height: 100%;\n font-size: 12px;\n color: #fff;\n background-color: rgba(64, 158, 255, 0.8);\n height: 100%;\n padding: 8px;\n font-size: 14px;\n}\n.calendar-dialog .card-group .card-text2 {\n display: flex;\n flex-direction: column;\n height: 100%;\n max-height: 100%;\n min-height: 100%;\n font-size: 12px;\n color: #fff;\n background-color: rgba(255, 0, 0, 0.8);\n height: 100%;\n padding: 8px;\n font-size: 14px;\n}\n.calendar-dialog .card-group .card-text3 {\n display: flex;\n flex-direction: column;\n height: 100%;\n max-height: 100%;\n min-height: 100%;\n font-size: 12px;\n color: #fff;\n background-color: rgba(255, 0, 0, 0.8);\n height: 100%;\n padding: 8px;\n font-size: 14px;\n}\n.calendar-dialog .card-group .card-text4 {\n display: flex;\n flex-direction: column;\n height: 100%;\n max-height: 100%;\n min-height: 100%;\n font-size: 12px;\n color: #fff;\n background-color: rgba(255, 0, 0, 0.8);\n height: 100%;\n padding: 8px;\n font-size: 14px;\n}\n.calendar-dialog .card-group .card-text5 {\n display: flex;\n flex-direction: column;\n height: 100%;\n max-height: 100%;\n min-height: 100%;\n font-size: 12px;\n color: #fff;\n background-color: rgba(217, 210, 53, 0.8);\n height: 100%;\n padding: 8px;\n font-size: 14px;\n}\n.calendar-dialog .card-group .card2 {\n position: relative;\n display: block;\n width: 100%;\n height: 100%;\n font-size: 15px;\n color: #fff;\n background-color: rgba(217, 210, 53, 0.8);\n}\n.calendar-dialog .card-group .card3 {\n position: relative;\n display: block;\n width: 100%;\n height: 100%;\n font-size: 15px;\n color: #fff;\n background-color: #f00;\n}\n.calendar-dialog .card-group .card-text3 {\n display: flex;\n flex-direction: column;\n height: 100%;\n max-height: 100%;\n min-height: 100%;\n font-size: 12px;\n color: #fff;\n background-color: #f00;\n}\n.calendar-dialog .card-group .visits-val {\n position: absolute;\n right: 0;\n bottom: 0;\n}\n\n::v-deep .el-calendar__button-group {\n display: none;\n}\n\n.is-selected {\n color: #1989fa;\n}\n\n.activeItem {\n color: red;\n}\n\n.el-calendar-table td.is-today {\n color: #000 !important;\n background: transparent !important;\n}\n\n.el-col-12 {\n padding: 0 20px 0 0;\n}\n\n.exptable {\n font-size: 9px;\n text-align: center;\n width: 100%;\n}\n.exptable .leftXuhao {\n display: flex;\n border-bottom: 1px solid #333;\n}\n.exptable .leftXuhao div {\n display: flex;\n align-items: center;\n justify-content: center;\n border-right: 1px solid #333;\n}\n.exptable .thead {\n border-bottom: 0;\n color: #000;\n padding: 8px 0;\n}\n.exptable .tbody {\n border: 1px solid #333;\n font-size: 8px;\n}\n.exptable .tr {\n display: flex;\n border-bottom: 1px solid #333;\n color: #111;\n}\n.exptable .tr div {\n display: flex;\n align-items: center;\n justify-content: center;\n border-right: 1px solid #333;\n}\n.exptable .tr .bodyday {\n flex: 1;\n}\n.exptable .tr div:last-child {\n border-right: 0;\n}\n.exptable .eight div {\n flex: 1;\n padding: 5px 0;\n}\n.exptable .eight .title {\n width: 110px;\n flex: none;\n}\n.exptable .tr:last-child {\n border-bottom: 0;\n}\n.exptable .loop .num {\n width: 22px !important;\n}\n.exptable .loop .total {\n width: 23px;\n padding: 5px 0;\n}\n.exptable .loop .name {\n padding: 5px 0;\n flex: 0.1;\n}\n.exptable .loop .headday {\n flex-flow: column;\n flex: 1;\n}\n.exptable .loop .headday .forday {\n border-top: 1px solid #333;\n}\n.exptable .loop .day span {\n padding: 10px 0;\n}\n.exptable .loop .forday {\n display: table;\n width: 100%;\n}\n.exptable .loop .forday span {\n display: table-cell;\n vertical-align: middle;\n border-right: 1px solid #333;\n width: 23px;\n height: 100%;\n overflow: hidden;\n word-wrap: break-word;\n word-break: break-all;\n}\n.exptable .loop .forday span:last-child {\n border-right: 0;\n}\n\n.handwriting {\n display: flex;\n}\n.handwriting div {\n text-align: right;\n padding: 5px 0;\n}\n.handwriting .name {\n margin-left: 60px;\n width: 120px;\n}\n.handwriting .bodyday {\n width: 60%;\n margin-right: 60px;\n}\n\n.exptableprint {\n font-size: 11px;\n}\n.exptableprint .tbody {\n font-size: 10px;\n}\n\n.list {\n padding: 15px;\n display: flex;\n flex-wrap: wrap;\n}\n.list .item {\n border: 1px solid #ede9e9;\n height: 70px;\n padding: 10px;\n cursor: pointer;\n width: calc((100% - 50px) / 7);\n min-width: calc((100% - 30px) / 7);\n max-width: calc((100% - 30px) / 7);\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 12px;\n}\n.list .item:nth-child(7n+7) {\n margin-bottom: 0;\n}\n\n/*# sourceMappingURL=index.vue.map */"]},media:void 0})},__vue_scope_id__$9="data-v-36b0c510",__vue_module_identifier__$9=void 0,__vue_is_functional_template__$9=!1,__vue_component__$9=normalizeComponent({render:__vue_render__$9,staticRenderFns:__vue_staticRenderFns__$9},__vue_inject_styles__$9,__vue_script__$9,__vue_scope_id__$9,__vue_is_functional_template__$9,__vue_module_identifier__$9,!1,createInjector,void 0,void 0);var script$8={name:"Personnel",components:{Pagination:Pagination,PreviewFile:PreviewFile},filters:{},data:()=>({dialogVisibleExp:!1,loadExp:!1,startDate:[],file:{fileurl:"",dialogVisible:!1,title:"",type:""},FormData:{},fileList:[],dialogStatus:"",textMap:{update:"编辑",create:"创建"},tableKey:0,list:null,total:0,listLoading:!0,listQuery:{pageNo:1,size:20},institutionData:[],dialogFormVisible:!1,dialogPvVisible:!1,rules:{type:[{required:!0,message:"请选择护理类型",trigger:"change"}],title:[{required:!0,message:"请输入护理机构名称",trigger:"blur"}],startTime:[{required:!0,message:"请选择有效开始时间",trigger:"change"}],endTime:[{required:!0,message:"请选择有效结束时间",trigger:"change"}],hourNum:[{required:!0,message:"请输入护理参考时间",trigger:"blur"}],description:[{required:!0,message:"请输入详情",trigger:"blur"}],unitId:[{required:!0,message:"请选择所属机构",trigger:"change"}]},temp:{},downloadLoading:!1}),created(){this.getList(),this.getinstitution()},methods:{handleClose(){this.dialogVisibleExp=!1,this.startDate=[]},expExcel(){try{this.loadExp=!0;const e={startDate:this.startDate[0],endDate:this.startDate[1]};ExportExcel$1(e).then(e=>{const t=new Blob([e]);if(t.size>0){const e=document.createElement("a");e.style.display="none",e.href=URL.createObjectURL(t),e.download=`护理项信息/${this.$moment().format("YYYY-MM-DD")}.xlsx`,document.body.appendChild(e),e.click(),URL.revokeObjectURL(e.href),document.body.removeChild(e)}this.handleClose(),this.loadExp=!1}).catch(()=>{this.loadExp=!1})}catch(e){this.loadExp=!1,console.log(e)}},beforeAvatarUploada(e){this.loadingstate=!0;const t=e.name.lastIndexOf("."),n=e.name.substr(t+1);return e.size/1024/1024<10?["png","PNG","jpg","JPG","jpeg","JPEG"].indexOf(n)<0?(this.$message({message:"只能图片文件",type:"error",center:!0}),!1):void 0:(this.$message({message:"封面不可超出10M",type:"warning",center:!0}),!1)},onPreview(e){const t=fileUrl(e.url);let n=`http://192.168.1.21/img/${e.url}`;if("word"==t||"wps"==t||"pdf"==t||"pptx"==t||"txt"==t)this.file.type=t,n="https://wps-view.zhihuipk.com/?src="+n;else if("image"==t)this.file.type=t;else if("video"==t)this.file.type=t;else{if("radio"!=t)return void this.$message.error("该格式不可在线预览,请下载后查看");this.file.type=t}this.file.fileurl=n,this.file.dialogVisible=!0,this.file.title=e.name},handleFileUpload(e){const t=new FormData;t.append("file",e.file),t.append("realPath",e.file.name),uploadTP(t).then(e=>{1==e.status&&(this.$message({message:"上传成功",type:"success"}),this.temp.picUrl=e.result.url)})},getinstitution(){SysUnitPage({pageNo:1,size:9999}).then(e=>{this.institutionData=e.result.data.map(e=>({label:e.name,value:e.id}))})},getList(){this.listLoading=!0,SProjectPage(this.listQuery).then(e=>{this.list=e.result.data,this.total=e.result.count,setTimeout(()=>{this.listLoading=!1},1500)})},handleModifyStatus(e,t){this.$message({message:"操作成功",type:"success"}),e.status=t},resetting(e){this.$nextTick(()=>{this.$refs[e].resetFields(),this.getList()})},synchronization(){SProjectTake().then(e=>{if(1==e.status)return this.getList(),void this.$notify({title:e.info,message:"同步成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"同步失败",type:"error",duration:2e3})})},add(){this.dialogStatus="create",this.dialogFormVisible=!0,this.temp={},this.fileList=[]},onSubmit(){this.getList()},createData(){this.$refs.dataForm.validate(e=>{e&&SProjectSave(this.temp).then(e=>{if(1==e.status)return this.dialogFormVisible=!1,this.getList(),void this.$notify({title:e.info,message:"新增成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"新增失败",type:"error",duration:2e3})})})},updateData(){this.$refs.dataForm.validate(e=>{e&&SProjectSave(this.temp).then(e=>{if(1==e.status)return this.dialogFormVisible=!1,this.getList(),void this.$notify({title:e.info,message:"更新成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"更新失败",type:"error",duration:2e3})})})},edit(e){this.fileList=[],this.temp=e,this.dialogStatus="update",this.dialogFormVisible=!0,e.picUrl&&this.fileList.push({name:e.picUrl,url:e.picUrl})},handleDelete(e,t){SProjectDel({id:e.id}).then(e=>{if(1==e.status)return this.getList(),void this.$notify({title:e.info,message:"删除成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"删除失败",type:"error",duration:2e3})})}}};const __vue_script__$8=script$8;var __vue_render__$8=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"app-container"},[n("div",{staticClass:"filter-container"},[n("el-form",{ref:"listQuery",staticClass:"demo-form-inline",attrs:{inline:!0,model:e.listQuery}},[n("el-form-item",{attrs:{label:"护理项目名称",prop:"title"}},[n("el-input",{attrs:{size:"small",placeholder:"请输入护理项目名称"},model:{value:e.listQuery.title,callback:function(t){e.$set(e.listQuery,"title",t)},expression:"listQuery.title"}})],1),e._v(" "),n("el-form-item",{attrs:{label:"状态",prop:"status"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择状态"},model:{value:e.listQuery.status,callback:function(t){e.$set(e.listQuery,"status",t)},expression:"listQuery.status"}},e._l([{label:"启用",value:"1"},{label:"下架",value:"2"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"primary"},on:{click:e.onSubmit}},[e._v("查询")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"warning"},on:{click:function(t){return e.resetting("listQuery")}}},[e._v("重置")])],1),e._v(" "),n("el-form-item"),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"primary"},on:{click:function(t){e.dialogVisibleExp=!0}}},[e._v("导出")])],1)],1)],1),e._v(" "),n("el-table",{staticStyle:{width:"100%"},attrs:{border:"",height:"65vh",data:e.list}},[n("el-table-column",{attrs:{label:"护理项目编号",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.no))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"护理项目名称",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.title))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"类别",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("el-tag",{attrs:{size:"medium"}},[e._v(e._s("01"==r.type?"生活照料":"02"==r.type?"精神慰藉":"03"==r.type?"安全巡视":"04"==r.type?"医疗护理":"05"==r.type?"康复护理":"06"==r.type?"辅助器具":"07"==r.type?"居家护理":"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"机构上门护理价格",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.price1))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"省厅价格",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.threePrice))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"参考护理时间(小时)",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.hourNum))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"状态",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("el-tag",{attrs:{size:"medium",type:"1"==r.status?"success":"2"==r.status?"warning":""}},[e._v(e._s("1"==r.status?"启用":"2"==r.status?"下架":"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"海报",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[r.picUrl?n("el-image",{staticStyle:{width:"50px",height:"50px"},attrs:{src:"http://192.168.1.21/img/"+r.picUrl,"preview-src-list":["http://192.168.1.21/img/"+r.picUrl]}}):n("span",[e._v(" - ")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"所属机构名称",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.unitName))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"详情",align:"center",width:"300"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.description))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"操作",align:"center",width:"150","class-name":"small-padding fixed-width"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row,l=t.$index;return[n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(t){return e.edit(r,l)}}},[e._v("\n 修改\n ")]),e._v(" "),n("el-button",{attrs:{size:"mini",type:"danger"},on:{click:function(t){return e.handleDelete(r,l)}}},[e._v("\n 删除\n ")])]}}])})],1),e._v(" "),n("pagination",{directives:[{name:"show",rawName:"v-show",value:e.total>0,expression:"total > 0"}],attrs:{total:e.total,page:e.listQuery.pageNo,limit:e.listQuery.size},on:{"update:page":function(t){return e.$set(e.listQuery,"pageNo",t)},"update:limit":function(t){return e.$set(e.listQuery,"size",t)},pagination:e.getList}}),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:e.textMap[e.dialogStatus],visible:e.dialogFormVisible,width:"50%"},on:{"update:visible":function(t){e.dialogFormVisible=t}}},[n("el-form",{ref:"dataForm",attrs:{rules:e.rules,model:e.temp,"label-position":"right","label-width":"150px"}},[n("el-row",{attrs:{gutter:20}},[n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"护理项目名称",prop:"title"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入护理项目名称",size:"small"},model:{value:e.temp.title,callback:function(t){e.$set(e.temp,"title",t)},expression:"temp.title"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"护理类型",prop:"type"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择护理类型"},model:{value:e.temp.type,callback:function(t){e.$set(e.temp,"type",t)},expression:"temp.type"}},e._l([{label:"生活服务",value:"1"},{label:"医疗护理",value:"2"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"机构上门护理价格",prop:"price1"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入机构上门护理价格",size:"small"},model:{value:e.temp.price1,callback:function(t){e.$set(e.temp,"price1",t)},expression:"temp.price1"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"亲情护理价格",prop:"price2"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入亲情护理价格",size:"small"},model:{value:e.temp.price2,callback:function(t){e.$set(e.temp,"price2",t)},expression:"temp.price2"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"机构护理价格",prop:"price3"}},[n("el-input",{attrs:{placeholder:"请输入机构护理价格",clearable:"",size:"small"},model:{value:e.temp.price3,callback:function(t){e.$set(e.temp,"price3",t)},expression:"temp.price3"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"参考护理时间(小时)",prop:"hourNum"}},[n("el-input",{attrs:{placeholder:"请输入参考护理时间(小时)",clearable:"",size:"small"},model:{value:e.temp.hourNum,callback:function(t){e.$set(e.temp,"hourNum",t)},expression:"temp.hourNum"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"有效开始时间"}},[n("el-date-picker",{staticStyle:{width:"100%"},attrs:{size:"small",format:"yyyy 年 MM 月 dd 日","value-format":"yyyy-MM-dd",type:"date",placeholder:"请选择有效开始时间"},model:{value:e.temp.startTime,callback:function(t){e.$set(e.temp,"startTime",t)},expression:"temp.startTime"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"有效结束时间"}},[n("el-date-picker",{staticStyle:{width:"100%"},attrs:{size:"small",format:"yyyy 年 MM 月 dd 日","value-format":"yyyy-MM-dd",type:"date",placeholder:"请输入有效结束时间"},model:{value:e.temp.endTime,callback:function(t){e.$set(e.temp,"endTime",t)},expression:"temp.endTime"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"状态"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择状态"},model:{value:e.temp.status,callback:function(t){e.$set(e.temp,"status",t)},expression:"temp.status"}},e._l([{label:"启用",value:"1"},{label:"下架",value:"2"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"所属机构",prop:"unitId"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择所属机构"},model:{value:e.temp.unitId,callback:function(t){e.$set(e.temp,"unitId",t)},expression:"temp.unitId"}},e._l(e.institutionData,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"项目海报",prop:"picUrl"}},[n("el-upload",{attrs:{action:"#",limit:1,data:e.FormData,"before-upload":e.beforeAvatarUploada,"http-request":e.handleFileUpload,"file-list":e.fileList,"on-preview":e.onPreview}},[n("el-button",{attrs:{slot:"trigger",size:"small",type:"primary"},slot:"trigger"},[e._v("选取文件")])],1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"详情",prop:"description"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入详情",type:"textarea",size:"small"},model:{value:e.temp.description,callback:function(t){e.$set(e.temp,"description",t)},expression:"temp.description"}})],1)],1)],1)],1),e._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small"},on:{click:function(t){e.dialogFormVisible=!1}}},[e._v("\n 取 消\n ")]),e._v(" "),n("el-button",{attrs:{type:"primary",size:"small"},on:{click:function(t){"create"===e.dialogStatus?e.createData():e.updateData()}}},[e._v("\n 确 认\n ")])],1)],1),e._v(" "),n("preview-file",{attrs:{file:e.file}}),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"导出",visible:e.dialogVisibleExp,width:"600px","before-close":e.handleClose},on:{"update:visible":function(t){e.dialogVisibleExp=t}}},[n("el-form",{staticClass:"demo-form-inline",attrs:{inline:!0}},[n("el-form-item",{attrs:{label:"提示:"}},[n("el-link",{attrs:{underline:!1,type:"primary"}},[e._v("选择的开始日期和结束日期请将数据的入录时间包含起来,结束日期选后一天")])],1),e._v(" "),n("el-form-item",{attrs:{label:"时间"}},[n("el-date-picker",{attrs:{type:"daterange","value-format":"yyyy-MM-dd","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期"},model:{value:e.startDate,callback:function(t){e.startDate=t},expression:"startDate"}})],1)],1),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small",loading:e.loadExp},on:{click:e.handleClose}},[e._v("取 消")]),e._v(" "),n("el-button",{attrs:{size:"small",type:"primary",loading:e.loadExp},on:{click:e.expExcel}},[e._v("\n 导 出\n ")])],1)],1)],1)},__vue_staticRenderFns__$8=[];__vue_render__$8._withStripped=!0;const __vue_inject_styles__$8=function(e){e&&e("data-v-ddd4d53a_0",{source:".el-col-12[data-v-ddd4d53a] {\n padding: 0 20px 0 0;\n}\n\n/*# sourceMappingURL=index.vue.map */",map:{version:3,sources:["E:\\公司项目\\changhuxianlocal\\changhuxian-vue-components\\src\\pages\\nurseProjects\\NursingProjects\\index.vue","index.vue"],names:[],mappings:"AAmjBA;EACA,mBAAA;ACljBA;;AAEA,oCAAoC",file:"index.vue",sourcesContent:['<template>\r\n <div class="app-container">\r\n <div class="filter-container">\r\n <el-form ref="listQuery" :inline="true" :model="listQuery" class="demo-form-inline">\r\n <el-form-item label="护理项目名称" prop="title">\r\n <el-input v-model="listQuery.title" size="small" placeholder="请输入护理项目名称" />\r\n </el-form-item>\r\n <el-form-item label="状态" prop="status">\r\n <el-select v-model="listQuery.status" style="width: 100%" clearable filterable size="small"\r\n class="filter-item" placeholder="请选择状态">\r\n <el-option v-for="(item, index) in [\r\n { label: \'启用\', value: \'1\' },\r\n { label: \'下架\', value: \'2\' },\r\n ]" :key="index" :label="item.label" :value="item.value" />\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size="small" type="primary" @click="onSubmit">查询</el-button>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size="small" type="warning" @click="resetting(\'listQuery\')">重置</el-button>\r\n </el-form-item>\r\n <el-form-item>\r\n \x3c!-- <el-button size="small" type="success" @click="synchronization">同步护理项</el-button> --\x3e\r\n \x3c!-- <el-button size="small" type="success" @click="add">新增</el-button> --\x3e\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size="small" type="primary" @click="dialogVisibleExp = true">导出</el-button>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n <el-table border height="65vh" :data="list" style="width: 100%">\r\n \x3c!-- @sort-change="sortChange" --\x3e\r\n <el-table-column :label="\'护理项目编号\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.no }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'护理项目名称\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.title }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'类别\'" align="center">\r\n <template slot-scope="{ row }">\r\n <el-tag size="medium">{{\r\n row.type == "01" ? "生活照料" : row.type == "02" ? "精神慰藉" : row.type == "03" ? "安全巡视" : row.type == "04" ?\r\n "医疗护理" : row.type == "05" ? "康复护理" : row.type == "06" ? "辅助器具" : row.type == "07" ? "居家护理" : \'-\'\r\n }}</el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'机构上门护理价格\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.price1 }}</span>\r\n </template>\r\n </el-table-column>\r\n \x3c!-- <el-table-column :label="\'亲情护理价格\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.price2 }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'机构护理价格\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.price3 }}</span>\r\n </template>\r\n </el-table-column> --\x3e\r\n <el-table-column :label="\'省厅价格\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.threePrice }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'参考护理时间(小时)\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.hourNum }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'状态\'" align="center">\r\n <template slot-scope="{ row }">\r\n <el-tag size="medium" :type="row.status == \'1\' ? \'success\' : row.status == \'2\' ? \'warning\' : \'\'\r\n ">{{\r\n row.status == "1" ? "启用" : row.status == "2" ? "下架" : "-"\r\n }}</el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'海报\'" align="center">\r\n <template slot-scope="{ row }">\r\n <el-image v-if="row.picUrl" style="width: 50px; height: 50px" :src="`http://192.168.1.21/img/${row.picUrl}`"\r\n :preview-src-list="[`http://192.168.1.21/img/${row.picUrl}`]" />\r\n <span v-else> - </span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'所属机构名称\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.unitName }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'详情\'" align="center" width="300">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.description }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'操作\'" align="center" width="150" class-name="small-padding fixed-width">\r\n <template slot-scope="{ row, $index }">\r\n <el-button size="mini" type="primary" @click="edit(row, $index)">\r\n 修改\r\n </el-button>\r\n <el-button size="mini" type="danger" @click="handleDelete(row, $index)">\r\n 删除\r\n </el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <pagination v-show="total > 0" :total="total" :page.sync="listQuery.pageNo" :limit.sync="listQuery.size"\r\n @pagination="getList" />\r\n <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :title="textMap[dialogStatus]"\r\n :visible.sync="dialogFormVisible" width="50%">\r\n <el-form ref="dataForm" :rules="rules" :model="temp" label-position="right" label-width="150px">\r\n <el-row :gutter="20">\r\n <el-col :span="12">\r\n <el-form-item label="护理项目名称" prop="title">\r\n <el-input v-model="temp.title" clearable placeholder="请输入护理项目名称" size="small" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="护理类型" prop="type">\r\n <el-select v-model="temp.type" style="width: 100%" clearable filterable size="small" class="filter-item"\r\n placeholder="请选择护理类型">\r\n <el-option v-for="(item, index) in [\r\n { label: \'生活服务\', value: \'1\' },\r\n { label: \'医疗护理\', value: \'2\' },\r\n ]" :key="index" :label="item.label" :value="item.value" />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="机构上门护理价格" prop="price1">\r\n <el-input v-model="temp.price1" clearable placeholder="请输入机构上门护理价格" size="small" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="亲情护理价格" prop="price2">\r\n <el-input v-model="temp.price2" clearable placeholder="请输入亲情护理价格" size="small" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="机构护理价格" prop="price3">\r\n <el-input v-model="temp.price3" placeholder="请输入机构护理价格" clearable size="small" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="参考护理时间(小时)" prop="hourNum">\r\n <el-input v-model="temp.hourNum" placeholder="请输入参考护理时间(小时)" clearable size="small" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="有效开始时间">\r\n <el-date-picker v-model="temp.startTime" size="small" format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd"\r\n style="width: 100%" type="date" placeholder="请选择有效开始时间" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="有效结束时间">\r\n <el-date-picker v-model="temp.endTime" size="small" format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd"\r\n style="width: 100%" type="date" placeholder="请输入有效结束时间" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="状态">\r\n <el-select v-model="temp.status" style="width: 100%" clearable filterable size="small" class="filter-item"\r\n placeholder="请选择状态">\r\n <el-option v-for="(item, index) in [\r\n { label: \'启用\', value: \'1\' },\r\n { label: \'下架\', value: \'2\' },\r\n ]" :key="index" :label="item.label" :value="item.value" />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="所属机构" prop="unitId">\r\n <el-select v-model="temp.unitId" style="width: 100%" clearable filterable size="small" class="filter-item"\r\n placeholder="请选择所属机构">\r\n <el-option v-for="(item, index) in institutionData" :key="index" :label="item.label"\r\n :value="item.value" />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="项目海报" prop="picUrl">\r\n <el-upload action="#" :limit="1" :data="FormData" :before-upload="beforeAvatarUploada"\r\n :http-request="handleFileUpload" :file-list="fileList" :on-preview="onPreview">\r\n <el-button slot="trigger" size="small" type="primary">选取文件</el-button>\r\n </el-upload>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="详情" prop="description">\r\n <el-input v-model="temp.description" clearable placeholder="请输入详情" type="textarea" size="small" />\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <div slot="footer" class="dialog-footer">\r\n <el-button size="small" @click="dialogFormVisible = false">\r\n 取 消\r\n </el-button>\r\n <el-button type="primary" size="small" @click="dialogStatus === \'create\' ? createData() : updateData()">\r\n 确 认\r\n </el-button>\r\n </div>\r\n </el-dialog>\r\n <preview-file :file="file" />\r\n <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" title="导出" :visible.sync="dialogVisibleExp"\r\n width="600px" :before-close="handleClose">\r\n <el-form :inline="true" class="demo-form-inline">\r\n <el-form-item label="提示:">\r\n <el-link :underline="false" type="primary">选择的开始日期和结束日期请将数据的入录时间包含起来,结束日期选后一天</el-link>\r\n </el-form-item>\r\n <el-form-item label="时间">\r\n <el-date-picker v-model="startDate" type="daterange" value-format="yyyy-MM-dd" range-separator="至"\r\n start-placeholder="开始日期" end-placeholder="结束日期" />\r\n </el-form-item>\r\n </el-form>\r\n <span slot="footer" class="dialog-footer">\r\n <el-button size="small" :loading="loadExp" @click="handleClose">取 消</el-button>\r\n <el-button size="small" type="primary" :loading="loadExp" @click="expExcel">\r\n 导 出\r\n </el-button>\r\n </span>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport {\r\n SysUnitPage,\r\n SProjectPage,\r\n SProjectDel,\r\n SProjectSave,\r\n ExportExcel,\r\n SProjectTake\r\n} from \'@/api/institution\'\r\nimport Pagination from \'@/components/Pagination\'\r\nimport { uploadTP, uploadPDF } from \'@/api/upload\'\r\nimport { fileUrl } from \'@/utils/fileUrl.js\'\r\nimport PreviewFile from \'@/components/previewFile\'\r\nexport default {\r\n name: \'Personnel\',\r\n components: { Pagination, PreviewFile },\r\n filters: {},\r\n data() {\r\n return {\r\n dialogVisibleExp: false,\r\n loadExp: false,\r\n startDate: [],\r\n file: {\r\n fileurl: \'\',\r\n dialogVisible: false,\r\n title: \'\',\r\n type: \'\'\r\n },\r\n FormData: {},\r\n fileList: [],\r\n dialogStatus: \'\',\r\n textMap: { update: \'编辑\', create: \'创建\' },\r\n tableKey: 0,\r\n list: null,\r\n total: 0,\r\n listLoading: true,\r\n listQuery: {\r\n pageNo: 1,\r\n size: 20\r\n },\r\n institutionData: [],\r\n dialogFormVisible: false,\r\n dialogPvVisible: false,\r\n rules: {\r\n type: [\r\n { required: true, message: \'请选择护理类型\', trigger: \'change\' }\r\n ],\r\n title: [\r\n { required: true, message: \'请输入护理机构名称\', trigger: \'blur\' }\r\n ],\r\n startTime: [\r\n { required: true, message: \'请选择有效开始时间\', trigger: \'change\' }\r\n ],\r\n endTime: [\r\n { required: true, message: \'请选择有效结束时间\', trigger: \'change\' }\r\n ],\r\n hourNum: [\r\n { required: true, message: \'请输入护理参考时间\', trigger: \'blur\' }\r\n ],\r\n description: [\r\n { required: true, message: \'请输入详情\', trigger: \'blur\' }\r\n ],\r\n unitId: [\r\n { required: true, message: \'请选择所属机构\', trigger: \'change\' }\r\n ]\r\n },\r\n temp: {},\r\n downloadLoading: false\r\n }\r\n },\r\n created() {\r\n this.getList()\r\n // 获取机构信息\r\n this.getinstitution()\r\n },\r\n methods: {\r\n handleClose() {\r\n this.dialogVisibleExp = false\r\n this.startDate = []\r\n },\r\n expExcel() {\r\n try {\r\n this.loadExp = true\r\n const form = {\r\n startDate: this.startDate[0],\r\n endDate: this.startDate[1]\r\n }\r\n ExportExcel(form).then((res) => {\r\n const blob = new Blob([res])\r\n const fileName = \'护理项信息\'\r\n if (blob.size > 0) {\r\n const elink = document.createElement(\'a\')\r\n elink.style.display = \'none\'\r\n elink.href = URL.createObjectURL(blob)\r\n // 类似a标签下载\r\n // 自定义文件名称和导出类型。最好和后台保持一致\r\n elink.download = `${fileName}/${this.$moment().format(\'YYYY-MM-DD\')}.xlsx`\r\n document.body.appendChild(elink)\r\n elink.click()\r\n // 释放URL 对象\r\n URL.revokeObjectURL(elink.href)\r\n // 删除创建的 a 标签\r\n document.body.removeChild(elink)\r\n }\r\n this.handleClose()\r\n this.loadExp = false\r\n })\r\n .catch(() => {\r\n this.loadExp = false\r\n })\r\n } catch (e) {\r\n this.loadExp = false\r\n console.log(e)\r\n }\r\n },\r\n // 文件格式验证\r\n beforeAvatarUploada(file) {\r\n this.loadingstate = true\r\n const index = file.name.lastIndexOf(\'.\')\r\n const extension = file.name.substr(index + 1)\r\n const extensionList = [\'png\', \'PNG\', \'jpg\', \'JPG\', \'jpeg\', \'JPEG\']\r\n const isLt2M = file.size / 1024 / 1024 < 10\r\n if (!isLt2M) {\r\n this.$message({\r\n message: \'封面不可超出10M\',\r\n type: \'warning\',\r\n center: true\r\n })\r\n return false\r\n } else if (extensionList.indexOf(extension) < 0) {\r\n this.$message({\r\n message: \'只能图片文件\',\r\n type: \'error\',\r\n center: true\r\n })\r\n return false\r\n }\r\n },\r\n onPreview(file) {\r\n const type = fileUrl(file.url)\r\n let url = `http://192.168.1.21/img/${file.url}`\r\n if (\r\n type == \'word\' ||\r\n type == \'wps\' ||\r\n type == \'pdf\' ||\r\n type == \'pptx\' ||\r\n type == \'txt\'\r\n ) {\r\n this.file.type = type\r\n url = `https://wps-view.zhihuipk.com/?src=` + url\r\n } else if (type == \'image\') {\r\n this.file.type = type\r\n } else if (type == \'video\') {\r\n this.file.type = type\r\n } else if (type == \'radio\') {\r\n this.file.type = type\r\n } else {\r\n this.$message.error(\'该格式不可在线预览,请下载后查看\')\r\n return\r\n }\r\n this.file.fileurl = url // 后端请求回来的文件地址url\r\n this.file.dialogVisible = true // 弹窗\r\n this.file.title = file.name // 文件名称\r\n },\r\n // 处理文件上传操作\r\n handleFileUpload(file) {\r\n const obj = new FormData()\r\n // 上传文件\r\n obj.append(\'file\', file.file)\r\n obj.append(\'realPath\', file.file.name)\r\n // 上传文件接口\r\n uploadTP(obj).then((res) => {\r\n if (res.status == 1) {\r\n this.$message({\r\n message: \'上传成功\',\r\n type: \'success\'\r\n })\r\n this.temp.picUrl = res.result.url\r\n }\r\n })\r\n },\r\n getinstitution() {\r\n SysUnitPage({ pageNo: 1, size: 9999 }).then((response) => {\r\n this.institutionData = response.result.data.map((item) => {\r\n return { label: item.name, value: item.id }\r\n })\r\n })\r\n },\r\n getList() {\r\n this.listLoading = true\r\n SProjectPage(this.listQuery).then((response) => {\r\n this.list = response.result.data\r\n this.total = response.result.count\r\n setTimeout(() => {\r\n this.listLoading = false\r\n }, 1.5 * 1000)\r\n })\r\n },\r\n handleModifyStatus(row, status) {\r\n this.$message({\r\n message: \'操作成功\',\r\n type: \'success\'\r\n })\r\n row.status = status\r\n },\r\n resetting(formName) {\r\n this.$nextTick(() => {\r\n this.$refs[formName].resetFields()\r\n this.getList()\r\n })\r\n },\r\n synchronization() {\r\n SProjectTake().then((res) => {\r\n // this.list.unshift(this.temp)\r\n if (res.status == 1) {\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'同步成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'同步失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n },\r\n add() {\r\n this.dialogStatus = \'create\'\r\n this.dialogFormVisible = true\r\n this.temp = {}\r\n this.fileList = []\r\n },\r\n onSubmit() {\r\n this.getList()\r\n },\r\n createData() {\r\n this.$refs[\'dataForm\'].validate((valid) => {\r\n if (valid) {\r\n // this.temp.id = parseInt(Math.random() * 100) + 1024 // mock a id\r\n // this.temp.author = \'vue-element-admin\'\r\n SProjectSave(this.temp).then((res) => {\r\n // this.list.unshift(this.temp)\r\n if (res.status == 1) {\r\n this.dialogFormVisible = false\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'新增成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'新增失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n }\r\n })\r\n },\r\n updateData() {\r\n this.$refs[\'dataForm\'].validate((valid) => {\r\n if (valid) {\r\n SProjectSave(this.temp).then((res) => {\r\n if (res.status == 1) {\r\n this.dialogFormVisible = false\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'更新成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'更新失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n }\r\n })\r\n },\r\n edit(row) {\r\n this.fileList = []\r\n this.temp = row\r\n this.dialogStatus = \'update\'\r\n this.dialogFormVisible = true\r\n if (row.picUrl) {\r\n this.fileList.push({\r\n name: row.picUrl,\r\n url: row.picUrl\r\n })\r\n }\r\n },\r\n handleDelete(row, index) {\r\n SProjectDel({ id: row.id }).then((res) => {\r\n if (res.status == 1) {\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'删除成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'删除失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n // this.list.splice(index, 1)\r\n }\r\n }\r\n}\r\n<\/script>\r\n<style lang="scss" scoped>\r\n.el-col-12 {\r\n padding: 0 20px 0 0;\r\n}\r\n</style>\r\n',".el-col-12 {\n padding: 0 20px 0 0;\n}\n\n/*# sourceMappingURL=index.vue.map */"]},media:void 0})},__vue_scope_id__$8="data-v-ddd4d53a",__vue_module_identifier__$8=void 0,__vue_is_functional_template__$8=!1,__vue_component__$8=normalizeComponent({render:__vue_render__$8,staticRenderFns:__vue_staticRenderFns__$8},__vue_inject_styles__$8,__vue_script__$8,__vue_scope_id__$8,__vue_is_functional_template__$8,__vue_module_identifier__$8,!1,createInjector,void 0,void 0);var script$7={name:"Personnel",components:{Pagination:Pagination,PreviewFile:PreviewFile},filters:{},data:()=>({height:"20vh",show:!0,tableShow:!0,dialogVisibleExp:!1,loadExp:!1,dialogVisibleExp2:!1,startDate:[],file:{fileurl:"",dialogVisible:!1,title:"",type:""},FormData:{},fileList:[],NursingLoading:!0,dialogVisible:!1,dialogStatus:"",textMap:{update:"编辑",create:"创建"},tableKey:0,list:null,total:0,listLoading:!0,listQuery:{pageNo:1,size:20},NursingData:[],institutionData:[],institutionArrData:[],dialogFormVisible:!1,dialogPvVisible:!1,rules:{type:[{required:!0,message:"请选择护理机构类型",trigger:"change"}],title:[{required:!0,message:"请输入套餐名称",trigger:"blur"}],no:[{required:!0,message:"请输入套餐编号",trigger:"blur"}],startTime:[{required:!0,message:"请选择有效开始时间",trigger:"change"}],endTime:[{required:!0,message:"请选择有效结束时间",trigger:"change"}],description:[{required:!0,message:"请输入详情",trigger:"blur"}],projectList:[{required:!0,message:"请选择护理项组合",trigger:"change"}]},temp:{},projectList:[],downloadLoading:!1}),computed:{Summary:()=>function(e,t){const n=Number(e),r=Number(t);return isNaN(n)||isNaN(r)?"":(n*r).toFixed(2)}},created(){this.getList(),this.getinstitution()},mounted(){},methods:{initDrag(){new Sortable(document.querySelector(".draggable-table .el-table__body-wrapper tbody"),{handle:".handle",animation:150,onEnd:({newIndex:e,oldIndex:t})=>{const n=this.NursingData[t];this.NursingData.splice(t,1),this.NursingData.splice(e,0,n),this.NursingData.map((e,t)=>{e.sort=t+1}),console.log(this.NursingData)}})},getSummaries(e){const{columns:t,data:n}=e,r=[];return t.forEach((e,t)=>{if(0!==t){if("合计"==e.label){const e=n.map(e=>Number(e.num)),l=n.map(e=>Number(e.price3));e.every(e=>isNaN(e))?r[t]="":r[t]=e.reduce((e,t,n)=>{const r=Number(t);return isNaN(r)?e:e+t*l[n]},0),"number"!=typeof r[t]||isNaN(r[t])?r[t]="":r[t]=r[t].toFixed(2)}else if("参考时长(小时)"==e.label){const e=n.reduce((e,t)=>{const n=Number(t.hourNum);return isNaN(n)?e:e+n},0);r[t]=isNaN(e)?"":`${e.toFixed(2)} 小时`}}else r[t]="总计"}),r},handleMouseEnter(){this.height="50vh",this.show=!1,this.tableShow=!0},handleMouseLeave(){this.height="20vh",this.show=!0,this.tableShow=!0},handleClose(){this.dialogVisibleExp=!1,this.dialogVisibleExp2=!1,this.startDate=[]},expExcel(){try{this.loadExp=!0;const e={startDate:this.startDate[0],endDate:this.startDate[1]};ExportExcelPlan(e).then(e=>{const t=new Blob([e]);if(t.size>0){const e=document.createElement("a");e.style.display="none",e.href=URL.createObjectURL(t),e.download=`护理套餐信息/${this.$moment().format("YYYY-MM-DD")}.xlsx`,document.body.appendChild(e),e.click(),URL.revokeObjectURL(e.href),document.body.removeChild(e)}this.handleClose(),this.loadExp=!1}).catch(()=>{this.loadExp=!1})}catch(e){this.loadExp=!1,console.log(e)}},expExcel2(){try{const e={startDate:this.startDate[0],endDate:this.startDate[1]};ExportExcelInfo(e).then(e=>{const t=new Blob([e]);if(t.size>0){const e=document.createElement("a");e.style.display="none",e.href=URL.createObjectURL(t),e.download=`护理套餐明细/${this.$moment().format("YYYY-MM-DD")}.xlsx`,document.body.appendChild(e),e.click(),URL.revokeObjectURL(e.href),document.body.removeChild(e)}this.handleClose()})}catch(e){console.log(e)}},beforeAvatarUploada(e){this.loadingstate=!0;const t=e.name.lastIndexOf("."),n=e.name.substr(t+1);return e.size/1024/1024<10?["png","PNG","jpg","JPG","jpeg","JPEG"].indexOf(n)<0?(this.$message({message:"只能图片文件",type:"error",center:!0}),!1):void 0:(this.$message({message:"封面不可超出10M",type:"warning",center:!0}),!1)},onPreview(e){const t=fileUrl(e.url);let n=`http://192.168.1.21/img/${e.url}`;if("word"==t||"wps"==t||"pdf"==t||"pptx"==t||"txt"==t)this.file.type=t,n="https://wps-view.zhihuipk.com/?src="+n;else if("image"==t)this.file.type=t;else if("video"==t)this.file.type=t;else{if("radio"!=t)return void this.$message.error("该格式不可在线预览,请下载后查看");this.file.type=t}this.file.fileurl=n,this.file.dialogVisible=!0,this.file.title=e.name},handleFileUpload(e){const t=new FormData;t.append("file",e.file),t.append("realPath",e.file.name),uploadTP(t).then(e=>{1==e.status&&(this.$message({message:"上传成功",type:"success"}),this.temp.picUrl=e.result.url)})},nurseDelete(e,t){this.NursingData.splice(t,1),this.projectList=this.projectList.filter(t=>t!=e.value)},modify(e){e.edit=!0},InputBlur(e){e.edit=!1},determine(){this.dialogVisible=!1,setTimeout(()=>{this.NursingLoading=!1},1500);for(var e=0;e<this.projectList.length;e++){const t=this.institutionData.find((t,n)=>(t.price3=t.price3,t.type=t.type,t.value==this.projectList[e]));this.NursingData.some(e=>e.value===t.value)||(this.NursingData.push(t),this.NursingData.map((e,t)=>{e.sort=t+1}))}this.NursingData=this.removeDataArr(this.NursingData);const t=[];for(let e=0;e<this.projectList.length;e++)for(let n=0;n<this.NursingData.length;n++)this.NursingData[n].projectId==this.projectList[e]&&t.push(this.NursingData[n]);this.NursingData=t,this.NursingData.map((e,t)=>{e.sort=t+1}),this.temp.itemList=t,this.initDrag()},removeDataArr(e){var t={};return e=e.reduce(function(e,n){return!t[n.projectId]&&(t[n.projectId]=e.push(n)),e},[])},addNurse(){this.dialogVisible=!0,this.projectList=[];const e=[];this.temp.itemList&&(this.temp.itemList.map(t=>{e.push(t.projectId)}),this.projectList=e)},getinstitution(){SProjectAll().then(e=>{console.log(e.result),this.institutionData=e.result.map((e,t)=>({label:e.title,type:e.type,value:e.id,price1:e.price1,price3:e.price3,edit:!1,num:"1",hourNum:e.hourNum?e.hourNum:"-",projectId:e.id}))}),SysUnitPage({pageNo:1,size:9999}).then(e=>{this.institutionArrData=e.result.data.map(e=>({label:e.name,value:e.id}))})},getList(){this.listLoading=!0,SProjectPlanPage(this.listQuery).then(e=>{this.list=e.result.data,this.total=e.result.count,setTimeout(()=>{this.listLoading=!1},1500)})},handleModifyStatus(e,t){this.$message({message:"操作成功",type:"success"}),e.status=t},resetting(e){this.$nextTick(()=>{this.$refs[e].resetFields(),this.getList()})},add(){this.dialogStatus="create",this.dialogFormVisible=!0,this.temp={},this.NursingData=[],this.fileList=[],setTimeout(()=>{this.NursingLoading=!1},1500)},onSubmit(){this.getList()},createData(){delete this.temp.projectList,this.temp.projectList=this.NursingData,this.$refs.dataForm.validate(e=>{e&&SProjectPlanSave(this.temp).then(e=>{if(1==e.status)return this.dialogFormVisible=!1,this.getList(),void this.$notify({title:e.info,message:"新增成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"新增失败",type:"error",duration:2e3})})})},updateData(){delete this.temp.itemList,this.temp.projectList=this.NursingData,this.$refs.dataForm.validate(e=>{e&&SProjectPlanSave(this.temp).then(e=>{if(1==e.status)return this.dialogFormVisible=!1,this.getList(),void this.$notify({title:e.info,message:"更新成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"更新失败",type:"error",duration:2e3})})})},edit(e){console.log(e),this.dialogFormVisible=!0,this.fileList=[],this.dialogStatus="update",SProjectPlanDetail({id:e.id}).then(e=>{e.result.itemList&&(this.NursingData=e.result.itemList.map(e=>(e.edit=!1,e.price3=e.projectPrice3,e.label=e.projectTitle,e))),this.temp=e.result}),e.picUrl&&this.fileList.push({name:e.picUrl,url:e.picUrl}),setTimeout(()=>{this.NursingLoading=!1},1500)},handleDelete(e,t){SProjectPlanDel({id:e.id}).then(e=>{if(1==e.status)return this.getList(),void this.$notify({title:e.info,message:"删除成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"删除失败",type:"error",duration:2e3})})}}};const __vue_script__$7=script$7;var __vue_render__$7=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"app-container"},[n("div",{staticClass:"filter-container"},[n("el-form",{ref:"listQuery",staticClass:"demo-form-inline",attrs:{inline:!0,model:e.listQuery}},[n("el-form-item",{attrs:{label:"套餐名称",prop:"title"}},[n("el-input",{attrs:{size:"small",placeholder:"请输入套餐名称"},model:{value:e.listQuery.title,callback:function(t){e.$set(e.listQuery,"title",t)},expression:"listQuery.title"}})],1),e._v(" "),n("el-form-item",{attrs:{label:"状态",prop:"status"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择状态"},model:{value:e.listQuery.status,callback:function(t){e.$set(e.listQuery,"status",t)},expression:"listQuery.status"}},e._l([{label:"启用",value:"1"},{label:"下架",value:"2"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"primary"},on:{click:e.onSubmit}},[e._v("查询")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"warning"},on:{click:function(t){return e.resetting("listQuery")}}},[e._v("重置")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"success"},on:{click:e.add}},[e._v("新增")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"primary"},on:{click:function(t){e.dialogVisibleExp=!0}}},[e._v("导出套餐")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"primary"},on:{click:function(t){e.dialogVisibleExp2=!0}}},[e._v("导出明细")])],1)],1)],1),e._v(" "),n("el-table",{staticStyle:{width:"100%"},attrs:{border:"",height:"65vh",data:e.list}},[n("el-table-column",{attrs:{label:"套餐名称",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.title))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"状态",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s("1"==r.status?"启用":"2"==r.status?"下架":"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"宣传图",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[r.picUrl?n("el-image",{staticStyle:{width:"50px",height:"50px"},attrs:{src:"http://192.168.1.21/img/"+r.picUrl,"preview-src-list":["http://192.168.1.21/img/"+r.picUrl]}}):n("span",[e._v(" - ")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"所属机构名称",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.unitName))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"套餐内容",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.description))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"操作",align:"center",width:"150","class-name":"small-padding fixed-width"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row,l=t.$index;return[n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(t){return e.edit(r,l)}}},[e._v("\n 修改\n ")]),e._v(" "),n("el-button",{attrs:{size:"mini",type:"danger"},on:{click:function(t){return e.handleDelete(r,l)}}},[e._v("\n 删除\n ")])]}}])})],1),e._v(" "),n("pagination",{directives:[{name:"show",rawName:"v-show",value:e.total>0,expression:"total > 0"}],attrs:{total:e.total,page:e.listQuery.pageNo,limit:e.listQuery.size},on:{"update:page":function(t){return e.$set(e.listQuery,"pageNo",t)},"update:limit":function(t){return e.$set(e.listQuery,"size",t)},pagination:e.getList}}),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"新增护理项",visible:e.dialogVisible,width:"30%"},on:{"update:visible":function(t){e.dialogVisible=t}}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择护理项组合",multiple:""},model:{value:e.projectList,callback:function(t){e.projectList=t},expression:"projectList"}},e._l(e.institutionData,function(t,r){return n("el-option",{key:r,attrs:{label:t.label,value:t.value}},[n("span",{staticStyle:{float:"left"}},[e._v(e._s(t.label))]),e._v(" "),n("span",{staticStyle:{float:"right",color:"#8492a6","font-size":"13px"}},[e._v("护理类型:"+e._s("01"==t.type?"生活照料":"02"==t.type?"精神慰藉":"03"==t.type?"安全巡视":"04"==t.type?"医疗护理":"05"==t.type?"康复护理":"06"==t.type?"辅助器具":"07"==t.type?"居家护理":"-"))])])}),1),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small"},on:{click:function(t){e.dialogVisible=!1}}},[e._v("取 消")]),e._v(" "),n("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.determine}},[e._v("确 定")])],1)],1),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:e.textMap[e.dialogStatus],visible:e.dialogFormVisible,width:"40%"},on:{"update:visible":function(t){e.dialogFormVisible=t}}},[n("el-form",{ref:"dataForm",attrs:{rules:e.rules,model:e.temp,"label-position":"right","label-width":"100px"}},[n("el-row",{attrs:{gutter:20}},[e.show?n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"套餐名称",prop:"title"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入套餐名称",size:"small"},model:{value:e.temp.title,callback:function(t){e.$set(e.temp,"title",t)},expression:"temp.title"}})],1)],1):e._e(),e._v(" "),e.show?n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"所属机构",prop:"unitId"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择所属机构"},model:{value:e.temp.unitId,callback:function(t){e.$set(e.temp,"unitId",t)},expression:"temp.unitId"}},e._l(e.institutionArrData,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1):e._e(),e._v(" "),e.show?n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"状态"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择状态"},model:{value:e.temp.status,callback:function(t){e.$set(e.temp,"status",t)},expression:"temp.status"}},e._l([{label:"启用",value:"1"},{label:"下架",value:"2"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1):e._e(),e._v(" "),e.show?n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"项目海报",prop:"picUrl"}},[n("el-upload",{attrs:{action:"#",limit:1,data:e.FormData,"before-upload":e.beforeAvatarUploada,"http-request":e.handleFileUpload,"file-list":e.fileList,"on-preview":e.onPreview}},[n("el-button",{attrs:{slot:"trigger",size:"small",type:"primary"},slot:"trigger"},[e._v("选取文件")])],1)],1)],1):e._e(),e._v(" "),e.show?n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"详情",prop:"description"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入详情",type:"textarea",size:"small"},model:{value:e.temp.description,callback:function(t){e.$set(e.temp,"description",t)},expression:"temp.description"}})],1)],1):e._e(),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"护理项组合"}},[n("el-button",{attrs:{size:"small",type:"success"},on:{click:e.addNurse}},[e._v("新增护理项")])],1)],1),e._v(" "),n("el-col",{attrs:{span:24}},[n("Transition",[e.tableShow?n("div",{on:{mouseenter:e.handleMouseEnter,mouseleave:e.handleMouseLeave}},[n("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.NursingLoading,expression:"NursingLoading"}],staticClass:"draggable-table",staticStyle:{width:"100%"},attrs:{border:"",height:e.height,data:e.NursingData,"summary-method":e.getSummaries,"show-summary":"","row-key":"projectId"}},[n("el-table-column",{attrs:{label:"鼠标长按",width:"100",align:"center"}},[n("el-button",{staticClass:"handle",attrs:{link:"",type:"text",size:"small",icon:"el-icon-s-operation"}},[e._v("拖拽")])],1),e._v(" "),n("el-table-column",{attrs:{label:"序号",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.sort))])]}}],null,!1,3981901502)}),e._v(" "),n("el-table-column",{attrs:{label:"护理项",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.label))])]}}],null,!1,3451937186)}),e._v(" "),n("el-table-column",{attrs:{label:"次数",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row,l=t.$index;return[r.edit?n("el-input",{attrs:{placeholder:"次数"},on:{blur:function(t){return e.InputBlur(r,l)}},model:{value:r.num,callback:function(t){e.$set(r,"num",t)},expression:"row.num"}}):n("span",[e._v(e._s(r.num))])]}}],null,!1,2353372964)}),e._v(" "),n("el-table-column",{attrs:{label:"单价",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.price3))])]}}],null,!1,1148645082)}),e._v(" "),n("el-table-column",{attrs:{label:"参考时长(小时)",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.hourNum))])]}}],null,!1,461110482)}),e._v(" "),n("el-table-column",{attrs:{label:"合计",align:"center",prop:"projectPrice1"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(e.Summary(r.num,r.price3)))])]}}],null,!1,892702249)}),e._v(" "),n("el-table-column",{attrs:{label:"操作",align:"center",width:"180","class-name":"small-padding fixed-width"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row,l=t.$index;return[n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(t){return e.modify(r,l)}}},[e._v("\n 修改次数\n ")]),e._v(" "),n("el-button",{attrs:{size:"mini",type:"danger"},on:{click:function(t){return e.nurseDelete(r,l)}}},[e._v("\n 删除\n ")])]}}],null,!1,1851948995)})],1)],1):e._e()])],1)],1)],1),e._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{type:"primary",size:"small"},on:{click:function(t){"create"===e.dialogStatus?e.createData():e.updateData()}}},[e._v("\n 确 认\n ")])],1)],1),e._v(" "),n("preview-file",{attrs:{file:e.file}}),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"导出",visible:e.dialogVisibleExp,width:"600px","before-close":e.handleClose},on:{"update:visible":function(t){e.dialogVisibleExp=t}}},[n("el-form",{staticClass:"demo-form-inline",attrs:{inline:!0}},[n("el-form-item",{attrs:{label:"提示:"}},[n("el-link",{attrs:{underline:!1,type:"primary"}},[e._v("选择的开始日期和结束日期请将数据的入录时间包含起来,结束日期选后一天")])],1),e._v(" "),n("el-form-item",{attrs:{label:"时间"}},[n("el-date-picker",{attrs:{type:"daterange","value-format":"yyyy-MM-dd","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期"},model:{value:e.startDate,callback:function(t){e.startDate=t},expression:"startDate"}})],1)],1),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small",loading:e.loadExp},on:{click:e.handleClose}},[e._v("取 消")]),e._v(" "),n("el-button",{attrs:{size:"small",type:"primary",loading:e.loadExp},on:{click:e.expExcel}},[e._v("\n 导 出\n ")])],1)],1),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"导出",visible:e.dialogVisibleExp2,width:"600px","before-close":e.handleClose},on:{"update:visible":function(t){e.dialogVisibleExp2=t}}},[n("el-form",{staticClass:"demo-form-inline",attrs:{inline:!0}},[n("el-form-item",{attrs:{label:"提示:"}},[n("el-link",{attrs:{underline:!1,type:"primary"}},[e._v("选择的开始日期和结束日期请将数据的入录时间包含起来,结束日期选后一天")])],1),e._v(" "),n("el-form-item",{attrs:{label:"时间"}},[n("el-date-picker",{attrs:{type:"daterange","value-format":"yyyy-MM-dd","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期"},model:{value:e.startDate,callback:function(t){e.startDate=t},expression:"startDate"}})],1)],1),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small"},on:{click:e.handleClose}},[e._v("取 消")]),e._v(" "),n("el-button",{attrs:{size:"small",type:"primary"},on:{click:e.expExcel2}},[e._v("导 出")])],1)],1)],1)},__vue_staticRenderFns__$7=[];__vue_render__$7._withStripped=!0;const __vue_inject_styles__$7=function(e){e&&e("data-v-3e87461c_0",{source:".el-col-12[data-v-3e87461c] {\n padding: 0 20px 0 0;\n}\n.v-enter-active[data-v-3e87461c],\n.v-leave-active[data-v-3e87461c] {\n transition: opacity 1s ease;\n}\n.v-enter-from[data-v-3e87461c],\n.v-leave-to[data-v-3e87461c] {\n opacity: 0;\n}\n\n/*# sourceMappingURL=index.vue.map */",map:{version:3,sources:["E:\\公司项目\\changhuxianlocal\\changhuxian-vue-components\\src\\pages\\nurseProjects\\NursingPackage\\index.vue","index.vue"],names:[],mappings:"AAw/BA;EACA,mBAAA;ACv/BA;AD0/BA;;EAEA,2BAAA;ACv/BA;AD0/BA;;EAEA,UAAA;ACv/BA;;AAEA,oCAAoC",file:"index.vue",sourcesContent:['<template>\r\n <div class="app-container">\r\n <div class="filter-container">\r\n <el-form\r\n ref="listQuery"\r\n :inline="true"\r\n :model="listQuery"\r\n class="demo-form-inline"\r\n >\r\n <el-form-item label="套餐名称" prop="title">\r\n <el-input\r\n v-model="listQuery.title"\r\n size="small"\r\n placeholder="请输入套餐名称"\r\n />\r\n </el-form-item>\r\n <el-form-item label="状态" prop="status">\r\n <el-select\r\n v-model="listQuery.status"\r\n style="width: 100%"\r\n clearable\r\n filterable\r\n size="small"\r\n class="filter-item"\r\n placeholder="请选择状态"\r\n >\r\n <el-option\r\n v-for="(item, index) in [\r\n { label: \'启用\', value: \'1\' },\r\n { label: \'下架\', value: \'2\' },\r\n ]"\r\n :key="index"\r\n :label="item.label"\r\n :value="item.value"\r\n />\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button\r\n size="small"\r\n type="primary"\r\n @click="onSubmit"\r\n >查询</el-button>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button\r\n size="small"\r\n type="warning"\r\n @click="resetting(\'listQuery\')"\r\n >重置</el-button>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size="small" type="success" @click="add">新增</el-button>\r\n </el-form-item>\r\n\r\n <el-form-item>\r\n <el-button\r\n size="small"\r\n type="primary"\r\n @click="dialogVisibleExp = true"\r\n >导出套餐</el-button>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button\r\n size="small"\r\n type="primary"\r\n @click="dialogVisibleExp2 = true"\r\n >导出明细</el-button>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n <el-table border height="65vh" :data="list" style="width: 100%">\r\n <el-table-column :label="\'套餐名称\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.title }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'状态\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{\r\n row.status == "1" ? "启用" : row.status == "2" ? "下架" : "-"\r\n }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'宣传图\'" align="center">\r\n <template slot-scope="{ row }">\r\n <el-image\r\n v-if="row.picUrl"\r\n style="width: 50px; height: 50px"\r\n :src="`http://192.168.1.21/img/${row.picUrl}`"\r\n :preview-src-list="[`http://192.168.1.21/img/${row.picUrl}`]"\r\n />\r\n <span v-else> - </span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'所属机构名称\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.unitName }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'套餐内容\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.description }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column\r\n :label="\'操作\'"\r\n align="center"\r\n width="150"\r\n class-name="small-padding fixed-width"\r\n >\r\n <template slot-scope="{ row, $index }">\r\n <el-button size="mini" type="primary" @click="edit(row, $index)">\r\n 修改\r\n </el-button>\r\n <el-button\r\n size="mini"\r\n type="danger"\r\n @click="handleDelete(row, $index)"\r\n >\r\n 删除\r\n </el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <pagination\r\n v-show="total > 0"\r\n :total="total"\r\n :page.sync="listQuery.pageNo"\r\n :limit.sync="listQuery.size"\r\n @pagination="getList"\r\n />\r\n <el-dialog\r\n :close-on-click-modal="false"\r\n :close-on-press-escape="false"\r\n title="新增护理项"\r\n :visible.sync="dialogVisible"\r\n width="30%"\r\n >\r\n <el-select\r\n v-model="projectList"\r\n style="width: 100%"\r\n clearable\r\n filterable\r\n size="small"\r\n class="filter-item"\r\n placeholder="请选择护理项组合"\r\n multiple\r\n >\r\n <el-option\r\n v-for="(item, index) in institutionData"\r\n :key="index"\r\n :label="item.label"\r\n :value="item.value"\r\n >\r\n <span style="float: left">{{ item.label }}</span>\r\n <span\r\n style="float: right; color: #8492a6; font-size: 13px"\r\n >护理类型:{{ item.type == "01" ? "生活照料" : item.type == "02" ? "精神慰藉" : item.type == "03" ? "安全巡视" : item.type == "04" ? "医疗护理" : item.type == "05" ? "康复护理" : item.type == "06" ? "辅助器具" : item.type == "07" ? "居家护理" : \'-\' }}</span>\r\n </el-option>\r\n </el-select>\r\n <span slot="footer" class="dialog-footer">\r\n <el-button size="small" @click="dialogVisible = false">取 消</el-button>\r\n <el-button\r\n type="primary"\r\n size="small"\r\n @click="determine"\r\n >确 定</el-button>\r\n </span>\r\n </el-dialog>\r\n\r\n <el-dialog\r\n :close-on-click-modal="false"\r\n :close-on-press-escape="false"\r\n :title="textMap[dialogStatus]"\r\n :visible.sync="dialogFormVisible"\r\n width="40%"\r\n >\r\n <el-form\r\n ref="dataForm"\r\n :rules="rules"\r\n :model="temp"\r\n label-position="right"\r\n label-width="100px"\r\n >\r\n <el-row :gutter="20">\r\n <el-col v-if="show" :span="12">\r\n <el-form-item label="套餐名称" prop="title">\r\n <el-input\r\n v-model="temp.title"\r\n clearable\r\n placeholder="请输入套餐名称"\r\n size="small"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col v-if="show" :span="12">\r\n <el-form-item label="所属机构" prop="unitId">\r\n <el-select\r\n v-model="temp.unitId"\r\n style="width: 100%"\r\n clearable\r\n filterable\r\n size="small"\r\n class="filter-item"\r\n placeholder="请选择所属机构"\r\n >\r\n <el-option\r\n v-for="(item, index) in institutionArrData"\r\n :key="index"\r\n :label="item.label"\r\n :value="item.value"\r\n />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col v-if="show" :span="12">\r\n <el-form-item label="状态">\r\n <el-select\r\n v-model="temp.status"\r\n style="width: 100%"\r\n clearable\r\n filterable\r\n size="small"\r\n class="filter-item"\r\n placeholder="请选择状态"\r\n >\r\n <el-option\r\n v-for="(item, index) in [\r\n { label: \'启用\', value: \'1\' },\r\n { label: \'下架\', value: \'2\' },\r\n ]"\r\n :key="index"\r\n :label="item.label"\r\n :value="item.value"\r\n />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col v-if="show" :span="12">\r\n <el-form-item label="项目海报" prop="picUrl">\r\n <el-upload\r\n action="#"\r\n :limit="1"\r\n :data="FormData"\r\n :before-upload="beforeAvatarUploada"\r\n :http-request="handleFileUpload"\r\n :file-list="fileList"\r\n :on-preview="onPreview"\r\n >\r\n <el-button\r\n slot="trigger"\r\n size="small"\r\n type="primary"\r\n >选取文件</el-button>\r\n </el-upload>\r\n </el-form-item>\r\n </el-col>\r\n <el-col v-if="show" :span="24">\r\n <el-form-item label="详情" prop="description">\r\n <el-input\r\n v-model="temp.description"\r\n clearable\r\n placeholder="请输入详情"\r\n type="textarea"\r\n size="small"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="护理项组合">\r\n <el-button\r\n size="small"\r\n type="success"\r\n @click="addNurse"\r\n >新增护理项</el-button>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="24">\r\n <Transition>\r\n <div\r\n v-if="tableShow"\r\n @mouseenter="handleMouseEnter"\r\n @mouseleave="handleMouseLeave"\r\n >\r\n <el-table\r\n v-loading="NursingLoading"\r\n border\r\n :height="height"\r\n :data="NursingData"\r\n :summary-method="getSummaries"\r\n show-summary\r\n style="width: 100%"\r\n row-key="projectId"\r\n class="draggable-table"\r\n >\r\n <el-table-column label="鼠标长按" width="100" align="center">\r\n <el-button\r\n link\r\n type="text"\r\n size="small"\r\n :icon="\'el-icon-s-operation\'"\r\n class="handle"\r\n >拖拽</el-button>\r\n </el-table-column>\r\n <el-table-column :label="\'序号\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.sort }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'护理项\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.label }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'次数\'" align="center">\r\n <template slot-scope="{ row, $index }">\r\n <el-input\r\n v-if="row.edit"\r\n v-model="row.num"\r\n placeholder="次数"\r\n @blur="InputBlur(row, $index)"\r\n />\r\n <span v-else>{{ row.num }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'单价\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.price3 }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'参考时长(小时)\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.hourNum }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column\r\n :label="\'合计\'"\r\n align="center"\r\n prop="projectPrice1"\r\n >\r\n <template slot-scope="{ row }">\r\n <span>{{ Summary(row.num, row.price3) }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column\r\n :label="\'操作\'"\r\n align="center"\r\n width="180"\r\n class-name="small-padding fixed-width"\r\n >\r\n <template slot-scope="{ row, $index }">\r\n <el-button\r\n size="mini"\r\n type="primary"\r\n @click="modify(row, $index)"\r\n >\r\n 修改次数\r\n </el-button>\r\n <el-button\r\n size="mini"\r\n type="danger"\r\n @click="nurseDelete(row, $index)"\r\n >\r\n 删除\r\n </el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n </div>\r\n </Transition>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <div slot="footer" class="dialog-footer">\r\n \x3c!-- <el-button @click="dialogFormVisible = false" size="small">\r\n 取 消\r\n </el-button> --\x3e\r\n <el-button\r\n type="primary"\r\n size="small"\r\n @click="dialogStatus === \'create\' ? createData() : updateData()"\r\n >\r\n 确 认\r\n </el-button>\r\n </div>\r\n </el-dialog>\r\n <preview-file :file="file" />\r\n\r\n <el-dialog\r\n :close-on-click-modal="false"\r\n :close-on-press-escape="false"\r\n title="导出"\r\n :visible.sync="dialogVisibleExp"\r\n width="600px"\r\n :before-close="handleClose"\r\n >\r\n <el-form :inline="true" class="demo-form-inline">\r\n <el-form-item label="提示:">\r\n <el-link\r\n :underline="false"\r\n type="primary"\r\n >选择的开始日期和结束日期请将数据的入录时间包含起来,结束日期选后一天</el-link>\r\n </el-form-item>\r\n <el-form-item label="时间">\r\n <el-date-picker\r\n v-model="startDate"\r\n type="daterange"\r\n value-format="yyyy-MM-dd"\r\n range-separator="至"\r\n start-placeholder="开始日期"\r\n end-placeholder="结束日期"\r\n />\r\n </el-form-item>\r\n </el-form>\r\n <span slot="footer" class="dialog-footer">\r\n <el-button\r\n size="small"\r\n :loading="loadExp"\r\n @click="handleClose"\r\n >取 消</el-button>\r\n <el-button\r\n size="small"\r\n type="primary"\r\n :loading="loadExp"\r\n @click="expExcel"\r\n >\r\n 导 出\r\n </el-button>\r\n </span>\r\n </el-dialog>\r\n\r\n <el-dialog\r\n :close-on-click-modal="false"\r\n :close-on-press-escape="false"\r\n title="导出"\r\n :visible.sync="dialogVisibleExp2"\r\n width="600px"\r\n :before-close="handleClose"\r\n >\r\n <el-form :inline="true" class="demo-form-inline">\r\n <el-form-item label="提示:">\r\n <el-link\r\n :underline="false"\r\n type="primary"\r\n >选择的开始日期和结束日期请将数据的入录时间包含起来,结束日期选后一天</el-link>\r\n </el-form-item>\r\n <el-form-item label="时间">\r\n <el-date-picker\r\n v-model="startDate"\r\n type="daterange"\r\n value-format="yyyy-MM-dd"\r\n range-separator="至"\r\n start-placeholder="开始日期"\r\n end-placeholder="结束日期"\r\n />\r\n </el-form-item>\r\n </el-form>\r\n <span slot="footer" class="dialog-footer">\r\n <el-button size="small" @click="handleClose">取 消</el-button>\r\n <el-button\r\n size="small"\r\n type="primary"\r\n @click="expExcel2"\r\n >导 出</el-button>\r\n </span>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport {\r\n SProjectAll,\r\n SProjectPlanPage,\r\n SProjectPlanDel,\r\n SProjectPlanSave,\r\n SysUnitPage,\r\n SProjectPlanDetail,\r\n ExportExcelPlan,\r\n ExportExcelInfo\r\n} from \'@/api/institution\'\r\nimport Pagination from \'@/components/Pagination\'\r\nimport { uploadTP, uploadPDF } from \'@/api/upload\'\r\nimport { fileUrl } from \'@/utils/fileUrl.js\'\r\nimport PreviewFile from \'@/components/previewFile\'\r\nimport Sortable from \'sortablejs\'\r\nexport default {\r\n name: \'Personnel\',\r\n components: { Pagination, PreviewFile },\r\n filters: {},\r\n data() {\r\n return {\r\n height: \'20vh\',\r\n show: true,\r\n tableShow: true,\r\n dialogVisibleExp: false,\r\n loadExp: false,\r\n dialogVisibleExp2: false,\r\n\r\n startDate: [],\r\n file: {\r\n fileurl: \'\',\r\n dialogVisible: false,\r\n title: \'\',\r\n type: \'\'\r\n },\r\n FormData: {},\r\n fileList: [],\r\n NursingLoading: true,\r\n dialogVisible: false,\r\n dialogStatus: \'\',\r\n textMap: { update: \'编辑\', create: \'创建\' },\r\n tableKey: 0,\r\n list: null,\r\n total: 0,\r\n listLoading: true,\r\n listQuery: {\r\n pageNo: 1,\r\n size: 20\r\n },\r\n NursingData: [],\r\n institutionData: [],\r\n institutionArrData: [],\r\n dialogFormVisible: false,\r\n dialogPvVisible: false,\r\n rules: {\r\n type: [\r\n { required: true, message: \'请选择护理机构类型\', trigger: \'change\' }\r\n ],\r\n title: [{ required: true, message: \'请输入套餐名称\', trigger: \'blur\' }],\r\n no: [{ required: true, message: \'请输入套餐编号\', trigger: \'blur\' }],\r\n startTime: [\r\n { required: true, message: \'请选择有效开始时间\', trigger: \'change\' }\r\n ],\r\n endTime: [\r\n { required: true, message: \'请选择有效结束时间\', trigger: \'change\' }\r\n ],\r\n description: [\r\n { required: true, message: \'请输入详情\', trigger: \'blur\' }\r\n ],\r\n projectList: [\r\n { required: true, message: \'请选择护理项组合\', trigger: \'change\' }\r\n ]\r\n },\r\n temp: {},\r\n projectList: [],\r\n downloadLoading: false\r\n }\r\n },\r\n computed: {\r\n Summary() {\r\n return function(num, price3) {\r\n const n = Number(num)\r\n const p = Number(price3)\r\n if (isNaN(n) || isNaN(p)) return \'\'\r\n return (n * p).toFixed(2)\r\n }\r\n }\r\n },\r\n created() {\r\n this.getList()\r\n // 获取机构信息\r\n this.getinstitution()\r\n },\r\n mounted() {},\r\n methods: {\r\n initDrag() {\r\n const tbody = document.querySelector(\r\n \'.draggable-table .el-table__body-wrapper tbody\'\r\n )\r\n new Sortable(tbody, {\r\n handle: \'.handle\', // handle\'s class\r\n animation: 150,\r\n // 需要在odEnd方法中处理原始eltable数据,使原始数据与显示数据保持顺序一致\r\n onEnd: ({ newIndex, oldIndex }) => {\r\n const targetRow = this.NursingData[oldIndex]\r\n this.NursingData.splice(oldIndex, 1)\r\n this.NursingData.splice(newIndex, 0, targetRow)\r\n this.NursingData.map((item, index) => {\r\n item.sort = index + 1\r\n })\r\n console.log(this.NursingData)\r\n }\r\n })\r\n },\r\n // 合计\r\n getSummaries(param) {\r\n const { columns, data } = param\r\n const sums = []\r\n columns.forEach((column, index) => {\r\n if (index === 0) {\r\n sums[index] = \'总计\'\r\n return\r\n } else if (column.label == \'合计\') {\r\n // 数量\r\n const values = data.map((item) => Number(item[\'num\']))\r\n // 价格\r\n const price = data.map((item) => Number(item[\'price3\']))\r\n if (!values.every((value) => isNaN(value))) {\r\n sums[index] = values.reduce((prev, curr, index) => {\r\n const value = Number(curr)\r\n if (!isNaN(value)) {\r\n // curr为数量,price为单价,求得每行的金额,再通过reduce累加求和\r\n return prev + curr * price[index]\r\n } else {\r\n return prev\r\n }\r\n }, 0)\r\n } else {\r\n sums[index] = \'\'\r\n }\r\n if (typeof sums[index] === \'number\' && !isNaN(sums[index])) {\r\n sums[index] = sums[index].toFixed(2) // 保留2位小数\r\n } else {\r\n sums[index] = \'\'\r\n }\r\n } else if (column.label == \'参考时长(小时)\') {\r\n // 参考时长合计:直接累加 hourNum\r\n const totalHours = data.reduce((prev, item) => {\r\n const h = Number(item.hourNum)\r\n if (isNaN(h)) return prev\r\n return prev + h\r\n }, 0)\r\n sums[index] = !isNaN(totalHours) ? `${totalHours.toFixed(2)} 小时` : \'\'\r\n }\r\n })\r\n\r\n return sums\r\n },\r\n handleMouseEnter() {\r\n this.height = \'50vh\'\r\n this.show = false\r\n this.tableShow = true\r\n // 在这里执行你需要的操作\r\n },\r\n handleMouseLeave() {\r\n this.height = \'20vh\'\r\n this.show = true\r\n this.tableShow = true\r\n },\r\n handleClose() {\r\n this.dialogVisibleExp = false\r\n this.dialogVisibleExp2 = false\r\n this.startDate = []\r\n },\r\n expExcel() {\r\n try {\r\n this.loadExp = true\r\n const form = {\r\n startDate: this.startDate[0],\r\n endDate: this.startDate[1]\r\n }\r\n ExportExcelPlan(form)\r\n .then((res) => {\r\n const blob = new Blob([res])\r\n const fileName = \'护理套餐信息\'\r\n if (blob.size > 0) {\r\n const elink = document.createElement(\'a\')\r\n elink.style.display = \'none\'\r\n elink.href = URL.createObjectURL(blob)\r\n // 类似a标签下载\r\n // 自定义文件名称和导出类型。最好和后台保持一致\r\n elink.download = `${fileName}/${this.$moment().format(\r\n \'YYYY-MM-DD\'\r\n )}.xlsx`\r\n document.body.appendChild(elink)\r\n elink.click()\r\n // 释放URL 对象\r\n URL.revokeObjectURL(elink.href)\r\n // 删除创建的 a 标签\r\n document.body.removeChild(elink)\r\n }\r\n this.handleClose()\r\n this.loadExp = false\r\n })\r\n .catch(() => {\r\n this.loadExp = false\r\n })\r\n } catch (e) {\r\n this.loadExp = false\r\n console.log(e)\r\n }\r\n },\r\n expExcel2() {\r\n try {\r\n const form = {\r\n startDate: this.startDate[0],\r\n endDate: this.startDate[1]\r\n }\r\n ExportExcelInfo(form).then((res) => {\r\n const blob = new Blob([res])\r\n const fileName = \'护理套餐明细\'\r\n if (blob.size > 0) {\r\n const elink = document.createElement(\'a\')\r\n elink.style.display = \'none\'\r\n elink.href = URL.createObjectURL(blob)\r\n // 类似a标签下载\r\n // 自定义文件名称和导出类型。最好和后台保持一致\r\n elink.download = `${fileName}/${this.$moment().format(\r\n \'YYYY-MM-DD\'\r\n )}.xlsx`\r\n document.body.appendChild(elink)\r\n elink.click()\r\n // 释放URL 对象\r\n URL.revokeObjectURL(elink.href)\r\n // 删除创建的 a 标签\r\n document.body.removeChild(elink)\r\n }\r\n this.handleClose()\r\n })\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n },\r\n // 文件格式验证\r\n beforeAvatarUploada(file) {\r\n this.loadingstate = true\r\n const index = file.name.lastIndexOf(\'.\')\r\n const extension = file.name.substr(index + 1)\r\n const extensionList = [\'png\', \'PNG\', \'jpg\', \'JPG\', \'jpeg\', \'JPEG\']\r\n const isLt2M = file.size / 1024 / 1024 < 10\r\n if (!isLt2M) {\r\n this.$message({\r\n message: \'封面不可超出10M\',\r\n type: \'warning\',\r\n center: true\r\n })\r\n return false\r\n } else if (extensionList.indexOf(extension) < 0) {\r\n this.$message({\r\n message: \'只能图片文件\',\r\n type: \'error\',\r\n center: true\r\n })\r\n return false\r\n }\r\n },\r\n onPreview(file) {\r\n const type = fileUrl(file.url)\r\n let url = `http://192.168.1.21/img/${file.url}`\r\n if (\r\n type == \'word\' ||\r\n type == \'wps\' ||\r\n type == \'pdf\' ||\r\n type == \'pptx\' ||\r\n type == \'txt\'\r\n ) {\r\n this.file.type = type\r\n url = `https://wps-view.zhihuipk.com/?src=` + url\r\n } else if (type == \'image\') {\r\n this.file.type = type\r\n } else if (type == \'video\') {\r\n this.file.type = type\r\n } else if (type == \'radio\') {\r\n this.file.type = type\r\n } else {\r\n this.$message.error(\'该格式不可在线预览,请下载后查看\')\r\n return\r\n }\r\n this.file.fileurl = url // 后端请求回来的文件地址url\r\n this.file.dialogVisible = true // 弹窗\r\n this.file.title = file.name // 文件名称\r\n },\r\n // 处理文件上传操作\r\n handleFileUpload(file) {\r\n const obj = new FormData()\r\n // 上传文件\r\n obj.append(\'file\', file.file)\r\n obj.append(\'realPath\', file.file.name)\r\n // 上传文件接口\r\n uploadTP(obj).then((res) => {\r\n if (res.status == 1) {\r\n this.$message({\r\n message: \'上传成功\',\r\n type: \'success\'\r\n })\r\n this.temp.picUrl = res.result.url\r\n }\r\n })\r\n },\r\n nurseDelete(row, index) {\r\n this.NursingData.splice(index, 1)\r\n this.projectList = this.projectList.filter((item) => {\r\n return item != row.value\r\n })\r\n },\r\n modify(row) {\r\n row.edit = true\r\n },\r\n InputBlur(row) {\r\n row.edit = false\r\n },\r\n determine() {\r\n this.dialogVisible = false\r\n setTimeout(() => {\r\n this.NursingLoading = false\r\n }, 1.5 * 1000)\r\n for (var i = 0; i < this.projectList.length; i++) {\r\n const arr1 = this.institutionData.find((item, index) => {\r\n item.price3 = item.price3\r\n item.type = item.type\r\n return item.value == this.projectList[i]\r\n })\r\n const data = this.NursingData.some((u) => u.value === arr1.value)\r\n if (!data) {\r\n this.NursingData.push(arr1)\r\n this.NursingData.map((item, index) => {\r\n item.sort = index + 1\r\n })\r\n }\r\n // this.NursingData.push(arr1);\r\n }\r\n\r\n this.NursingData = this.removeDataArr(this.NursingData)\r\n const dataArr = []\r\n for (let i = 0; i < this.projectList.length; i++) {\r\n for (let y = 0; y < this.NursingData.length; y++) {\r\n if (this.NursingData[y].projectId == this.projectList[i]) {\r\n dataArr.push(this.NursingData[y])\r\n }\r\n }\r\n }\r\n this.NursingData = dataArr\r\n this.NursingData.map((item, index) => {\r\n item.sort = index + 1\r\n })\r\n this.temp.itemList = dataArr\r\n this.initDrag()\r\n },\r\n // 数组去重\r\n removeDataArr(arr) {\r\n var obj = {}\r\n arr = arr.reduce(function(item, next) {\r\n obj[next.projectId]\r\n ? \'\'\r\n : (obj[next.projectId] = true && item.push(next))\r\n return item\r\n }, [])\r\n return arr\r\n },\r\n addNurse() {\r\n this.dialogVisible = true\r\n this.projectList = []\r\n const dataArr = []\r\n if (this.temp.itemList) {\r\n this.temp.itemList.map((item) => {\r\n dataArr.push(item.projectId)\r\n })\r\n this.projectList = dataArr\r\n }\r\n },\r\n getinstitution() {\r\n SProjectAll().then((response) => {\r\n console.log(response.result)\r\n this.institutionData = response.result.map((item, index) => {\r\n return {\r\n label: item.title,\r\n type: item.type,\r\n value: item.id,\r\n price1: item.price1,\r\n price3: item.price3,\r\n edit: false,\r\n num: \'1\',\r\n hourNum: item.hourNum ? item.hourNum : \'-\',\r\n projectId: item.id\r\n }\r\n })\r\n })\r\n SysUnitPage({ pageNo: 1, size: 9999 }).then((response) => {\r\n this.institutionArrData = response.result.data.map((item) => {\r\n return { label: item.name, value: item.id }\r\n })\r\n })\r\n },\r\n getList() {\r\n this.listLoading = true\r\n SProjectPlanPage(this.listQuery).then((response) => {\r\n this.list = response.result.data\r\n this.total = response.result.count\r\n setTimeout(() => {\r\n this.listLoading = false\r\n }, 1.5 * 1000)\r\n })\r\n },\r\n handleModifyStatus(row, status) {\r\n this.$message({\r\n message: \'操作成功\',\r\n type: \'success\'\r\n })\r\n row.status = status\r\n },\r\n resetting(formName) {\r\n this.$nextTick(() => {\r\n this.$refs[formName].resetFields()\r\n this.getList()\r\n })\r\n },\r\n // 新增护理项\r\n add() {\r\n this.dialogStatus = \'create\'\r\n this.dialogFormVisible = true\r\n this.temp = {}\r\n this.NursingData = []\r\n this.fileList = []\r\n setTimeout(() => {\r\n this.NursingLoading = false\r\n }, 1.5 * 1000)\r\n },\r\n onSubmit() {\r\n this.getList()\r\n },\r\n createData() {\r\n delete this.temp.projectList\r\n this.temp.projectList = this.NursingData\r\n this.$refs[\'dataForm\'].validate((valid) => {\r\n if (valid) {\r\n SProjectPlanSave(this.temp).then((res) => {\r\n // this.list.unshift(this.temp)\r\n if (res.status == 1) {\r\n this.dialogFormVisible = false\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'新增成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'新增失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n }\r\n })\r\n },\r\n updateData() {\r\n delete this.temp.itemList\r\n this.temp.projectList = this.NursingData\r\n this.$refs[\'dataForm\'].validate((valid) => {\r\n if (valid) {\r\n SProjectPlanSave(this.temp).then((res) => {\r\n if (res.status == 1) {\r\n this.dialogFormVisible = false\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'更新成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'更新失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n }\r\n })\r\n },\r\n edit(row) {\r\n console.log(row)\r\n this.dialogFormVisible = true\r\n this.fileList = []\r\n this.dialogStatus = \'update\'\r\n SProjectPlanDetail({ id: row.id }).then((res) => {\r\n if (res.result.itemList) {\r\n this.NursingData = res.result.itemList.map((item) => {\r\n item.edit = false\r\n item.price3 = item.projectPrice3\r\n item.label = item.projectTitle\r\n return item\r\n })\r\n }\r\n this.temp = res.result\r\n })\r\n if (row.picUrl) {\r\n this.fileList.push({\r\n name: row.picUrl,\r\n url: row.picUrl\r\n })\r\n }\r\n setTimeout(() => {\r\n this.NursingLoading = false\r\n }, 1.5 * 1000)\r\n },\r\n handleDelete(row, index) {\r\n SProjectPlanDel({ id: row.id }).then((res) => {\r\n if (res.status == 1) {\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'删除成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'删除失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n }\r\n }\r\n}\r\n<\/script>\r\n<style lang="scss" scoped>\r\n.el-col-12 {\r\n padding: 0 20px 0 0;\r\n}\r\n\r\n.v-enter-active,\r\n.v-leave-active {\r\n transition: opacity 1s ease;\r\n}\r\n\r\n.v-enter-from,\r\n.v-leave-to {\r\n opacity: 0;\r\n}\r\n</style>\r\n',".el-col-12 {\n padding: 0 20px 0 0;\n}\n\n.v-enter-active,\n.v-leave-active {\n transition: opacity 1s ease;\n}\n\n.v-enter-from,\n.v-leave-to {\n opacity: 0;\n}\n\n/*# sourceMappingURL=index.vue.map */"]},media:void 0})},__vue_scope_id__$7="data-v-3e87461c",__vue_module_identifier__$7=void 0,__vue_is_functional_template__$7=!1,__vue_component__$7=normalizeComponent({render:__vue_render__$7,staticRenderFns:__vue_staticRenderFns__$7},__vue_inject_styles__$7,__vue_script__$7,__vue_scope_id__$7,__vue_is_functional_template__$7,__vue_module_identifier__$7,!1,createInjector,void 0,void 0);var script$6={name:"Personnel",components:{Pagination:Pagination,PreviewFile:PreviewFile},filters:{},data:()=>({userInfo:{},renyuanxinxi:[],dialogVisibleExp:!1,loadExp:!1,startDate:[],file:{fileurl:"",dialogVisible:!1,title:"",type:""},idCord:"",HugongdialogVisible:!1,FormData:{},institutionArrData:[],dialogStatus:"",textMap:{update:"编辑",create:"创建"},tableKey:0,list:null,total:0,listLoading:!0,listQuery:{pageNo:1,size:20},dialogFormVisible:!1,dialogPvVisible:!1,rules:{name:[{required:!0,message:"请输入姓名",trigger:"blur"}],idCode:[{required:!0,message:"请输入身份证号",trigger:"blur"}],phoneNumber:[{required:!0,message:"请输入手机号码",trigger:"blur"}],sex:[{required:!0,message:"请选择性别",trigger:"change"}],unitId:[{required:!0,message:"请选择所属机构",trigger:"change"}]},temp:{longtermPsnAttDtoList:[]},downloadLoading:!1}),computed:{constant(){return this.$constant.imgAddr},img:()=>function(e){return e.match(/^chx\/tp\//)?e:"chx/tp/"+e}},created(){console.log("VUE_APP_BASE_API:",process.env),this.getList(),this.getinstitution(),this.userInfo=JSON.parse(getUserInfoRole())},methods:{handleError(e,t,n){console.log("上传失败",e,t,n),this.$message.error("图片上传失败,请重试")},synchronization(){this.HugongdialogVisible=!0},synchronous(){SPersonSync({unitId:this.userInfo.unitId,idCord:this.idCord}).then(e=>{if(1==e.status)return this.getList(),this.$notify({title:"提示",message:e.info,type:"success",duration:2e3}),this.dialogFormVisible=!1,void(this.idCord="");this.$notify({title:"提示",message:e.info,type:"error",duration:2e3})})},handleClose(){this.dialogVisibleExp=!1,this.HugongdialogVisible=!1,this.startDate=[]},expExcel(){try{this.loadExp=!0;const e={startDate:this.startDate[0],endDate:this.startDate[1]};ExportExcel$2(e).then(e=>{const t=new Blob([e]);if(t.size>0){const e=document.createElement("a");e.style.display="none",e.href=URL.createObjectURL(t),e.download=`护工信息/${this.$moment().format("YYYY-MM-DD")}.xlsx`,document.body.appendChild(e),e.click(),URL.revokeObjectURL(e.href),document.body.removeChild(e)}this.handleClose(),this.loadExp=!1}).catch(()=>{this.loadExp=!1})}catch(e){this.loadExp=!1}},getinstitution(){SysUnitPage({pageNo:1,size:9999}).then(e=>{this.institutionArrData=e.result.data.map(e=>({label:e.name,value:e.id}))})},beforeAvatarUploada(e){this.loadingstate=!0;const t=e.name.lastIndexOf("."),n=e.name.substr(t+1);return e.size/1024/1024<10?["png","PNG","jpg","JPG","jpeg","JPEG"].indexOf(n)<0?(this.$message({message:"只能图片文件",type:"error",center:!0}),!1):void 0:(this.$message({message:"封面不可超出10M",type:"warning",center:!0}),!1)},onPreview(e){const t=fileUrl(e.url);let n=`${this.$constant.imgAddr}${e.url}`;if(console.log(n),"word"==t||"wps"==t||"pdf"==t||"pptx"==t||"txt"==t)this.file.type=t,n="https://wps-view.zhihuipk.com/?src="+n;else if("image"==t)this.file.type=t;else if("video"==t)this.file.type=t;else{if("radio"!=t)return void this.$message.error("该格式不可在线预览,请下载后查看");this.file.type=t}this.file.fileurl=n,this.file.dialogVisible=!0,this.file.title=e.name},beforeRemove(e,t){return this.$confirm(`确定移除 ${e.name}?`)},handleCertPicUrlRemove(e,t){this.temp.certPicUrlList=this.temp.certPicUrlList.filter(t=>t.name!=e.name),this.temp.longtermPsnAttDtoList=this.temp.longtermPsnAttDtoList.filter(t=>t.att_name!=e.name)},handleSfzUrllRemove(e,t){this.temp.sfzUrlList=this.temp.sfzUrlList.filter(t=>t.name!=e.name),this.temp.longtermPsnAttDtoList=this.temp.longtermPsnAttDtoList.filter(t=>t.att_name!=e.name)},handleXlUrlRemove(e,t){this.temp.xlUrlList=this.temp.xlUrlList.filter(t=>t.name!=e.name),this.temp.longtermPsnAttDtoList=this.temp.longtermPsnAttDtoList.filter(t=>t.att_name!=e.name)},certhandleFileUpload(e){const t=new FormData;t.append("file",e.file),t.append("realPath",e.file.name),t.append("fileName",e.file.name),t.append("att_type",e.data.att_type),this.temp.certPicUrlList=[],uploadTP(t).then(n=>{console.log(n),1==n.status&&this.$message({message:"上传成功",type:"success"}),this.temp.certPicUrlList.push({url:n.result.url,name:n.result.name}),uploadThird(t).then(t=>{if(1==t.status){const n={att_type:e.data.att_type,att_name:t.result.output.att_name,file_id:t.result.output.file_id,file_type:t.result.output.file_type};this.temp.longtermPsnAttDtoList.push(n)}})})},sfzhandleFileUpload(e){const t=new FormData;t.append("file",e.file),t.append("realPath",e.file.name),t.append("fileName",e.file.name),t.append("att_type",e.data.att_type),this.temp.sfzUrlList=[],uploadTP(t).then(n=>{console.log(n),1==n.status&&this.$message({message:"上传成功",type:"success"}),this.temp.sfzUrlList.push({url:n.result.url,name:n.result.name}),uploadThird(t).then(t=>{if(1==t.status){const n={att_type:e.data.att_type,att_name:t.result.output.att_name,file_id:t.result.output.file_id,file_type:t.result.output.file_type};this.temp.longtermPsnAttDtoList.push(n)}})})},xlhandleFileUpload(e){const t=new FormData;t.append("file",e.file),t.append("realPath",e.file.name),t.append("fileName",e.file.name),t.append("att_type",e.data.att_type),this.temp.xlUrlList=[],uploadTP(t).then(n=>{console.log(n),1==n.status&&this.$message({message:"上传成功",type:"success"}),this.temp.xlUrlList.push({url:n.result.url,name:n.result.name}),uploadThird(t).then(t=>{if(1==t.status){const n={att_type:e.data.att_type,att_name:t.result.output.att_name,file_id:t.result.output.file_id,file_type:t.result.output.file_type};this.temp.longtermPsnAttDtoList.push(n)}})})},add(){this.dialogStatus="create",this.dialogFormVisible=!0,this.temp={},this.temp.longtermPsnAttDtoList=[],this.temp.xlUrlList=[],this.temp.certPicUrlList=[],this.temp.sfzUrlList=[]},update(e){updateStatus({id:e.id}).then(e=>{if(1==e.status)return this.getList(),this.$notify({title:e.info,message:"更新成功",type:"success",duration:2e3}),void(this.dialogFormVisible=!1);this.$notify({title:e.info,message:"更新失败",type:"error",duration:2e3})})},edit(e){if(this.temp=JSON.parse(JSON.stringify(e)),this.dialogStatus="update",this.dialogFormVisible=!0,this.temp.longtermPsnAttDtoList=[],this.temp.certPicUrlList=[],this.temp.sfzUrlList=[],this.temp.xlUrlList=[],e.certPicUrlList&&(this.temp.certPicUrlList=e.certPicUrlList.map(e=>({name:e,url:e}))),e.sfzUrlList&&(this.temp.sfzUrlList=e.sfzUrlList.map(e=>({name:e,url:e}))),e.xlUrlList&&(this.temp.xlUrlList=e.xlUrlList.map(e=>({name:e,url:e}))),this.temp.thirdFileList&&this.temp.thirdFileList.length>0)for(var t=0;t<this.temp.thirdFileList.length;t++)"01"!=this.temp.thirdFileList[t].att_type&&"21"!=this.temp.thirdFileList[t].att_type&&"22"!=this.temp.thirdFileList[t].att_type||this.temp.longtermPsnAttDtoList.push(this.temp.thirdFileList[t])},getList(){this.listLoading=!0,SPersonPage(this.listQuery).then(e=>{this.list=e.result.data,this.total=e.result.count,setTimeout(()=>{this.listLoading=!1},1500)}),SPersonPage({size:9999,pageNo:1}).then(e=>{this.renyuanxinxi=e.result.data})},handleModifyStatus(e,t){this.$message({message:"操作成功",type:"success"}),e.status=t},resetting(e){this.$nextTick(()=>{this.$refs[e].resetFields()})},onSubmit(){this.getList()},createData(){this.$refs.dataForm.validate(e=>{if(e){this.temp.rolel="2";const e={certPicUrlList:[],xlUrlList:[],sfzUrlList:[]};this.temp.certPicUrlList.length>0&&(e.certPicUrlList=this.temp.certPicUrlList.map(e=>e.name)),this.temp.xlUrlList.length>0&&(e.xlUrlList=this.temp.xlUrlList.map(e=>e.name)),this.temp.sfzUrlList.length>0&&(e.sfzUrlList=this.temp.sfzUrlList.map(e=>e.name)),SPersonSave({...this.temp,...e}).then(e=>{if(1==e.status)return this.getList(),this.$notify({title:e.info,message:"创建成功,请通知医保审核",type:"success",duration:2e3}),void(this.dialogFormVisible=!1);this.$notify({title:e.info,message:"创建失败",type:"error",duration:2e3})})}})},hasBothValues(e,t,n){const r=e.some(e=>e.att_type===t),l=e.some(e=>e.att_type===n);return r&&l},updateData(){this.$refs.dataForm.validate(e=>{if(e){this.temp.rolel="2";const e={certPicUrlList:[],xlUrlList:[],sfzUrlList:[]};if(this.temp.certPicUrlList.length>0&&this.temp.certPicUrlList[0]&&(e.certPicUrlList=this.temp.certPicUrlList.map(e=>e.name)),this.temp.xlUrlList.length>0&&this.temp.xlUrlList[0]&&(e.xlUrlList=this.temp.xlUrlList.map(e=>e.name)),this.temp.sfzUrlList.length>0&&this.temp.sfzUrlList[0]&&(e.sfzUrlList=this.temp.sfzUrlList.map(e=>e.name)),0==this.temp.longtermPsnAttDtoList.length)return void this.$message({message:"请上传材料",type:"warning",center:!0});const t=this.hasBothValues(this.temp.longtermPsnAttDtoList,"22","01");console.log(t),t||this.$message({message:"请传资质证书或身份证",type:"warning",center:!0}),SPersonSave({...this.temp,...e}).then(e=>{if(1==e.status)return this.getList(),this.$notify({title:e.info,message:"更新成功,请通知医保审核",type:"success",duration:2e3}),void(this.dialogFormVisible=!1);this.$notify({title:e.info,message:"更新失败",type:"error",duration:2e3})})}})},handleDelete(e,t){this.$confirm("护工注销需要确认上传明细,以免冲正重新上传变成自费,是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{SPersonDel({id:e.id,isDelete:"1"}).then(e=>{if(1==e.status)return this.getList(),void this.$notify({title:e.info,message:"删除成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"删除失败",type:"error",duration:2e3})})}).catch(()=>{this.$message({type:"info",message:"已取消删除"})})}}};const __vue_script__$6=script$6;var __vue_render__$6=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"app-container"},[n("div",{staticClass:"filter-container"},[n("el-form",{ref:"listQuery",staticClass:"demo-form-inline",attrs:{inline:!0,model:e.listQuery}},[n("el-form-item",{attrs:{label:"姓名",prop:"name"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择姓名"},model:{value:e.listQuery.name,callback:function(t){e.$set(e.listQuery,"name",t)},expression:"listQuery.name"}},e._l(e.renyuanxinxi,function(e,t){return n("el-option",{key:t,attrs:{label:e.name,value:e.name}})}),1)],1),e._v(" "),n("el-form-item",{attrs:{label:"性别",prop:"sex"}},[n("el-select",{attrs:{size:"small",placeholder:"请选择性别"},model:{value:e.listQuery.sex,callback:function(t){e.$set(e.listQuery,"sex",t)},expression:"listQuery.sex"}},e._l([{label:"男",value:"1"},{label:"女",value:"2"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"primary"},on:{click:e.onSubmit}},[e._v("查询")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"warning"},on:{click:function(t){return e.resetting("listQuery")}}},[e._v("重置")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"success"},on:{click:e.add}},[e._v("新增")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"primary"},on:{click:function(t){e.dialogVisibleExp=!0}}},[e._v("导出")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"primary"},on:{click:e.synchronization}},[e._v("护工同步")])],1)],1)],1),e._v(" "),n("el-table",{staticStyle:{width:"100%"},attrs:{border:"",height:"65vh",data:e.list}},[n("el-table-column",{attrs:{label:"姓名",prop:"id",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.name))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"性别",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.sex))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"手机号码",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.phoneNumber))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"身份证号",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.idCode))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"居住地",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.address))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"状态",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("el-tag",{attrs:{size:"medium",type:"0"==r.status?"danger":"1"==r.status?"success":""}},["0"==r.status?n("span",[e._v("不可用")]):e._e(),e._v(" "),"1"==r.status?n("span",[e._v("正常")]):e._e()])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"资质证书",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return e._l(r.certPicUrlList,function(t,r){return n("el-image",{key:r,staticStyle:{width:"50px",height:"50px"},attrs:{src:""+e.constant+e.img(t),"preview-src-list":[""+e.constant+e.img(t)]}})})}}])}),e._v(" "),n("el-table-column",{attrs:{label:"身份证",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return e._l(r.sfzUrlList,function(t,r){return n("el-image",{key:r,staticStyle:{width:"50px",height:"50px"},attrs:{src:""+e.constant+e.img(t),"preview-src-list":[""+e.constant+e.img(t)]}})})}}])}),e._v(" "),n("el-table-column",{attrs:{label:"健康证",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return e._l(r.xlUrlList,function(t,r){return n("el-image",{key:r,staticStyle:{width:"50px",height:"50px"},attrs:{src:""+e.constant+e.img(t),"preview-src-list":[""+e.constant+e.img(t)]}})})}}])}),e._v(" "),n("el-table-column",{attrs:{label:"操作",align:"center",width:"280","class-name":"small-padding fixed-width"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row,l=t.$index;return[n("el-button",{attrs:{size:"mini",type:"success"},on:{click:function(t){return e.update(r,"draft")}}},[e._v("\n 更新状态\n ")]),e._v(" "),n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(t){return e.edit(r,"draft")}}},[e._v("\n 修改\n ")]),e._v(" "),n("el-button",{attrs:{size:"mini",type:"danger"},on:{click:function(t){return e.handleDelete(r,l)}}},[e._v("\n 注销\n ")])]}}])})],1),e._v(" "),n("pagination",{directives:[{name:"show",rawName:"v-show",value:e.total>0,expression:"total > 0"}],attrs:{total:e.total,page:e.listQuery.pageNo,limit:e.listQuery.size},on:{"update:page":function(t){return e.$set(e.listQuery,"pageNo",t)},"update:limit":function(t){return e.$set(e.listQuery,"size",t)},pagination:e.getList}}),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:e.textMap[e.dialogStatus],visible:e.dialogFormVisible,width:"40%"},on:{"update:visible":function(t){e.dialogFormVisible=t}}},[n("el-form",{ref:"dataForm",attrs:{rules:e.rules,model:e.temp,"label-position":"right","label-width":"100px"}},[n("el-row",{attrs:{gutter:20}},[n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"姓名",prop:"name"}},[n("el-input",{attrs:{size:"small",clearable:"",placeholder:"请输入姓名"},model:{value:e.temp.name,callback:function(t){e.$set(e.temp,"name",t)},expression:"temp.name"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"性别",prop:"sex"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择性别"},model:{value:e.temp.sex,callback:function(t){e.$set(e.temp,"sex",t)},expression:"temp.sex"}},e._l([{label:"男",value:"男"},{label:"女",value:"女"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"手机号码",prop:"phoneNumber"}},[n("el-input",{attrs:{size:"small",clearable:"",placeholder:"请输入手机号码"},model:{value:e.temp.phoneNumber,callback:function(t){e.$set(e.temp,"phoneNumber",t)},expression:"temp.phoneNumber"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"身份证号",prop:"idCode"}},[n("el-input",{attrs:{size:"small",clearable:"",placeholder:"请输入身份证号"},model:{value:e.temp.idCode,callback:function(t){e.$set(e.temp,"idCode",t)},expression:"temp.idCode"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"居住地",prop:"address"}},[n("el-input",{attrs:{size:"small",clearable:"",placeholder:"请输入居住地"},model:{value:e.temp.address,callback:function(t){e.$set(e.temp,"address",t)},expression:"temp.address"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"所属机构",prop:"unitId"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择所属机构"},model:{value:e.temp.unitId,callback:function(t){e.$set(e.temp,"unitId",t)},expression:"temp.unitId"}},e._l(e.institutionArrData,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"持证时间",prop:"liceIssuDate"}},[n("el-date-picker",{attrs:{"value-format":"yyyy-MM-dd",type:"date",placeholder:"持证时间"},model:{value:e.temp.liceIssuDate,callback:function(t){e.$set(e.temp,"liceIssuDate",t)},expression:"temp.liceIssuDate"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"注:",prop:"unitId"}},[n("span",{staticStyle:{color:"red"}},[e._v("上传的文件请使用姓名+类型去命名。防止文件名字重复被覆盖")])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"资质证书",prop:"certPicUrlList"}},[n("el-upload",{attrs:{action:"#",limit:1,"before-upload":e.beforeAvatarUploada,"http-request":e.certhandleFileUpload,data:{att_type:"22"},"on-remove":e.handleCertPicUrlRemove,"before-remove":e.beforeRemove,"on-error":e.handleError,"file-list":e.temp.certPicUrlList,"on-preview":e.onPreview}},[n("el-button",{attrs:{slot:"trigger",size:"small",type:"primary"},slot:"trigger"},[e._v("选取文件")])],1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"身份证",prop:"sfzUrlList"}},[n("el-upload",{attrs:{action:"#",limit:1,data:{att_type:"01"},"before-upload":e.beforeAvatarUploada,"http-request":e.sfzhandleFileUpload,"on-remove":e.handleSfzUrllRemove,"before-remove":e.beforeRemove,"file-list":e.temp.sfzUrlList,"on-preview":e.onPreview}},[n("el-button",{attrs:{slot:"trigger",size:"small",type:"primary"},slot:"trigger"},[e._v("选取文件")])],1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"学位证书",prop:"xlUrlList"}},[n("el-upload",{attrs:{action:"#",limit:1,data:{att_type:"21"},"before-upload":e.beforeAvatarUploada,"http-request":e.xlhandleFileUpload,"on-remove":e.handleXlUrlRemove,"before-remove":e.beforeRemove,"file-list":e.temp.xlUrlList,"on-preview":e.onPreview}},[n("el-button",{attrs:{slot:"trigger",size:"small",type:"primary"},slot:"trigger"},[e._v("选取文件")])],1)],1)],1)],1)],1),e._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small"},on:{click:function(t){e.dialogFormVisible=!1}}},[e._v("\n 取 消\n ")]),e._v(" "),n("el-button",{attrs:{type:"primary",size:"small"},on:{click:function(t){"create"===e.dialogStatus?e.createData():e.updateData()}}},[e._v("\n 确 认\n ")])],1)],1),e._v(" "),n("preview-file",{attrs:{file:e.file}}),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"导出",visible:e.dialogVisibleExp,width:"600px","before-close":e.handleClose},on:{"update:visible":function(t){e.dialogVisibleExp=t}}},[n("el-form",{staticClass:"demo-form-inline",attrs:{inline:!0}},[n("el-form-item",{attrs:{label:"提示:"}},[n("el-link",{attrs:{underline:!1,type:"primary"}},[e._v("选择的开始日期和结束日期请将数据的入录时间包含起来,结束日期选后一天")])],1),e._v(" "),n("el-form-item",{attrs:{label:"时间"}},[n("el-date-picker",{attrs:{type:"daterange","value-format":"yyyy-MM-dd","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期"},model:{value:e.startDate,callback:function(t){e.startDate=t},expression:"startDate"}})],1)],1),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small",loading:e.loadExp},on:{click:e.handleClose}},[e._v("取 消")]),e._v(" "),n("el-button",{attrs:{size:"small",type:"primary",loading:e.loadExp},on:{click:e.expExcel}},[e._v("\n 导 出\n ")])],1)],1),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"护工同步",visible:e.HugongdialogVisible,width:"500px","before-close":e.handleClose},on:{"update:visible":function(t){e.HugongdialogVisible=t}}},[n("el-form",{staticClass:"demo-form-inline",attrs:{inline:!0}},[n("el-form-item",{attrs:{label:"身份证"}},[n("el-input",{staticStyle:{width:"100%"},attrs:{size:"small",clearable:"",placeholder:"请输入身份证号"},model:{value:e.idCord,callback:function(t){e.idCord=t},expression:"idCord"}})],1)],1),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small"},on:{click:function(t){e.HugongdialogVisible=!1}}},[e._v("关 闭")]),e._v(" "),n("el-button",{attrs:{size:"small",type:"primary"},on:{click:e.synchronous}},[e._v("\n 同 步\n ")])],1)],1)],1)},__vue_staticRenderFns__$6=[];__vue_render__$6._withStripped=!0;const __vue_inject_styles__$6=void 0,__vue_scope_id__$6=void 0,__vue_module_identifier__$6=void 0,__vue_is_functional_template__$6=!1,__vue_component__$6=normalizeComponent({render:__vue_render__$6,staticRenderFns:__vue_staticRenderFns__$6},__vue_inject_styles__$6,__vue_script__$6,__vue_scope_id__$6,__vue_is_functional_template__$6,__vue_module_identifier__$6,!1,void 0,void 0,void 0);var script$5={name:"Personnel",components:{Pagination:Pagination,PreviewFile:PreviewFile},filters:{},data:()=>({userInfo:{},renyuanxinxi:[],file:{fileurl:"",dialogVisible:!1,title:"",type:""},FormData:{},institutionArrData:[],admdvsOptions:[{value:"330302",label:"鹿城区"},{value:"330303",label:"龙湾区"},{value:"330304",label:"瓯海区"},{value:"330305",label:"洞头区"},{value:"330381",label:"瑞安市"},{value:"330382",label:"乐清市"},{value:"330383",label:"龙港市"},{value:"330324",label:"永嘉县"},{value:"330326",label:"平阳县"},{value:"330327",label:"苍南县"},{value:"330328",label:"文成县"},{value:"330329",label:"泰顺县"},{value:"330399",label:"市本级"}],dialogStatus:"",textMap:{update:"编辑",create:"创建"},tableKey:0,list:null,total:0,listLoading:!0,listQuery:{pageNo:1,size:20},dialogFormVisible:!1,dialogPvVisible:!1,rules:{name:[{required:!0,message:"请输入姓名",trigger:"blur"}],idCard:[{required:!0,message:"请输入身份证号",trigger:"blur"}],phoneNumber:[{required:!0,message:"请输入手机号码",trigger:"blur"}],sex:[{required:!0,message:"请选择性别",trigger:"change"}],unitId:[{required:!0,message:"请选择所属机构",trigger:"change"}],addrAdmdvs:[{required:!0,message:"请选择归属医保区划",trigger:"change"}],admdvs:[{required:!0,message:"请选择数据权限医保区划",trigger:"change"}],approveStatus:[{required:!0,message:"请选择审核状态",trigger:"change"}]},temp:{longtermPsnAttDtoList:[]},downloadLoading:!1}),computed:{constant(){return this.$constant.imgAddr},img:()=>function(e){return e.match(/^chx\/tp\//)?e:"chx/tp/"+e}},created(){console.log("VUE_APP_BASE_API:",process.env),this.getList(),this.getinstitution(),this.userInfo=JSON.parse(getUserInfoRole())},methods:{handleError(e,t,n){console.log("上传失败",e,t,n),this.$message.error("图片上传失败,请重试")},getinstitution(){SysUnitPage({pageNo:1,size:9999}).then(e=>{this.institutionArrData=e.result.data.map(e=>({label:e.name,value:e.id}))})},beforeAvatarUploada(e){this.loadingstate=!0;const t=e.name.lastIndexOf("."),n=e.name.substr(t+1);return e.size/1024/1024<10?["png","PNG","jpg","JPG","jpeg","JPEG"].indexOf(n)<0?(this.$message({message:"只能图片文件",type:"error",center:!0}),!1):void 0:(this.$message({message:"封面不可超出10M",type:"warning",center:!0}),!1)},onPreview(e){const t=fileUrl(e.url);let n=`${this.$constant.imgAddr}${e.url}`;if(console.log(n),"word"==t||"wps"==t||"pdf"==t||"pptx"==t||"txt"==t)this.file.type=t,n="https://wps-view.zhihuipk.com/?src="+n;else if("image"==t)this.file.type=t;else if("video"==t)this.file.type=t;else{if("radio"!=t)return void this.$message.error("该格式不可在线预览,请下载后查看");this.file.type=t}this.file.fileurl=n,this.file.dialogVisible=!0,this.file.title=e.name},beforeRemove(e,t){return this.$confirm(`确定移除 ${e.name}?`)},handleCertPicUrlRemove(e,t){this.temp.certPicUrlList=this.temp.certPicUrlList.filter(t=>t.name!=e.name),this.temp.longtermPsnAttDtoList=this.temp.longtermPsnAttDtoList.filter(t=>t.att_name!=e.name)},handleSfzUrllRemove(e,t){this.temp.sfzUrlList=this.temp.sfzUrlList.filter(t=>t.name!=e.name),this.temp.longtermPsnAttDtoList=this.temp.longtermPsnAttDtoList.filter(t=>t.att_name!=e.name)},handleXlUrlRemove(e,t){this.temp.xlUrlList=this.temp.xlUrlList.filter(t=>t.name!=e.name),this.temp.longtermPsnAttDtoList=this.temp.longtermPsnAttDtoList.filter(t=>t.att_name!=e.name)},certhandleFileUpload(e){const t=new FormData;t.append("file",e.file),t.append("realPath",e.file.name),t.append("fileName",e.file.name),t.append("att_type",e.data.att_type),this.temp.certPicUrlList=[],uploadTP(t).then(n=>{console.log(n),1==n.status&&this.$message({message:"上传成功",type:"success"}),this.temp.certPicUrlList.push({url:n.result.url,name:n.result.name}),uploadThird(t).then(t=>{if(1==t.status){const n={att_type:e.data.att_type,att_name:t.result.output.att_name,file_id:t.result.output.file_id,file_type:t.result.output.file_type};this.temp.longtermPsnAttDtoList.push(n)}})})},sfzhandleFileUpload(e){const t=new FormData;t.append("file",e.file),t.append("realPath",e.file.name),t.append("fileName",e.file.name),t.append("att_type",e.data.att_type),this.temp.sfzUrlList=[],uploadTP(t).then(n=>{console.log(n),1==n.status&&this.$message({message:"上传成功",type:"success"}),this.temp.sfzUrlList.push({url:n.result.url,name:n.result.name}),uploadThird(t).then(t=>{if(1==t.status){const n={att_type:e.data.att_type,att_name:t.result.output.att_name,file_id:t.result.output.file_id,file_type:t.result.output.file_type};this.temp.longtermPsnAttDtoList.push(n)}})})},xlhandleFileUpload(e){const t=new FormData;t.append("file",e.file),t.append("realPath",e.file.name),t.append("fileName",e.file.name),t.append("att_type",e.data.att_type),this.temp.xlUrlList=[],uploadTP(t).then(n=>{console.log(n),1==n.status&&this.$message({message:"上传成功",type:"success"}),this.temp.xlUrlList.push({url:n.result.url,name:n.result.name}),uploadThird(t).then(t=>{if(1==t.status){const n={att_type:e.data.att_type,att_name:t.result.output.att_name,file_id:t.result.output.file_id,file_type:t.result.output.file_type};this.temp.longtermPsnAttDtoList.push(n)}})})},add(){this.dialogStatus="create",this.dialogFormVisible=!0,this.temp={},this.temp.longtermPsnAttDtoList=[],this.temp.xlUrlList=[],this.temp.certPicUrlList=[],this.temp.sfzUrlList=[]},update(e){updateStatus({id:e.id}).then(e=>{if(1==e.status)return this.getList(),this.$notify({title:e.info,message:"更新成功",type:"success",duration:2e3}),void(this.dialogFormVisible=!1);this.$notify({title:e.info,message:"更新失败",type:"error",duration:2e3})})},edit(e){if(this.temp=JSON.parse(JSON.stringify(e)),this.dialogStatus="update",this.dialogFormVisible=!0,this.temp.longtermPsnAttDtoList=[],this.temp.certPicUrlList=[],this.temp.sfzUrlList=[],this.temp.xlUrlList=[],e.certPicUrlList&&(this.temp.certPicUrlList=e.certPicUrlList.map(e=>({name:e,url:e}))),e.sfzUrlList&&(this.temp.sfzUrlList=e.sfzUrlList.map(e=>({name:e,url:e}))),e.xlUrlList&&(this.temp.xlUrlList=e.xlUrlList.map(e=>({name:e,url:e}))),this.temp.thirdFileList&&this.temp.thirdFileList.length>0)for(var t=0;t<this.temp.thirdFileList.length;t++)"01"!=this.temp.thirdFileList[t].att_type&&"21"!=this.temp.thirdFileList[t].att_type&&"22"!=this.temp.thirdFileList[t].att_type||this.temp.longtermPsnAttDtoList.push(this.temp.thirdFileList[t])},getList(){this.listLoading=!0,SPersonPage(this.listQuery).then(e=>{this.list=e.result.data,this.total=e.result.count,setTimeout(()=>{this.listLoading=!1},1500)}),SPersonPage({size:9999,pageNo:1}).then(e=>{this.renyuanxinxi=e.result.data})},handleModifyStatus(e,t){this.$message({message:"操作成功",type:"success"}),e.status=t},resetting(e){this.$nextTick(()=>{this.$refs[e].resetFields()})},onSubmit(){this.getList()},createData(){this.$refs.dataForm.validate(e=>{if(e){this.temp.rolel="2";const e={certPicUrlList:[],xlUrlList:[],sfzUrlList:[]};this.temp.certPicUrlList.length>0&&(e.certPicUrlList=this.temp.certPicUrlList.map(e=>e.name)),this.temp.xlUrlList.length>0&&(e.xlUrlList=this.temp.xlUrlList.map(e=>e.name)),this.temp.sfzUrlList.length>0&&(e.sfzUrlList=this.temp.sfzUrlList.map(e=>e.name)),SPersonSave({...this.temp,...e}).then(e=>{if(1==e.status)return this.getList(),this.$notify({title:e.info,message:"创建成功,请通知医保审核",type:"success",duration:2e3}),void(this.dialogFormVisible=!1);this.$notify({title:e.info,message:"创建失败",type:"error",duration:2e3})})}})},hasBothValues(e,t,n){const r=e.some(e=>e.att_type===t),l=e.some(e=>e.att_type===n);return r&&l},updateData(){this.$refs.dataForm.validate(e=>{if(e){this.temp.rolel="2";const e={certPicUrlList:[],xlUrlList:[],sfzUrlList:[]};if(this.temp.certPicUrlList.length>0&&this.temp.certPicUrlList[0]&&(e.certPicUrlList=this.temp.certPicUrlList.map(e=>e.name)),this.temp.xlUrlList.length>0&&this.temp.xlUrlList[0]&&(e.xlUrlList=this.temp.xlUrlList.map(e=>e.name)),this.temp.sfzUrlList.length>0&&this.temp.sfzUrlList[0]&&(e.sfzUrlList=this.temp.sfzUrlList.map(e=>e.name)),0==this.temp.longtermPsnAttDtoList.length)return void this.$message({message:"请上传材料",type:"warning",center:!0});const t=this.hasBothValues(this.temp.longtermPsnAttDtoList,"22","01");console.log(t),t||this.$message({message:"请传资质证书或身份证",type:"warning",center:!0}),SPersonSave({...this.temp,...e}).then(e=>{if(1==e.status)return this.getList(),this.$notify({title:e.info,message:"更新成功,请通知医保审核",type:"success",duration:2e3}),void(this.dialogFormVisible=!1);this.$notify({title:e.info,message:"更新失败",type:"error",duration:2e3})})}})},handleDelete(e,t){this.$confirm("护工注销需要确认上传明细,以免冲正重新上传变成自费,是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{SPersonDel({id:e.id,isDelete:"1"}).then(e=>{if(1==e.status)return this.getList(),void this.$notify({title:e.info,message:"删除成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"删除失败",type:"error",duration:2e3})})}).catch(()=>{this.$message({type:"info",message:"已取消删除"})})}}};const __vue_script__$5=script$5;var __vue_render__$5=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"app-container"},[n("div",{staticClass:"filter-container"},[n("el-form",{ref:"listQuery",staticClass:"demo-form-inline",attrs:{inline:!0,model:e.listQuery}},[n("el-form-item",{attrs:{label:"姓名",prop:"name"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择姓名"},model:{value:e.listQuery.name,callback:function(t){e.$set(e.listQuery,"name",t)},expression:"listQuery.name"}},e._l(e.renyuanxinxi,function(e,t){return n("el-option",{key:t,attrs:{label:e.name,value:e.name}})}),1)],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"primary"},on:{click:e.onSubmit}},[e._v("查询")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"warning"},on:{click:function(t){return e.resetting("listQuery")}}},[e._v("重置")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"success"},on:{click:e.add}},[e._v("新增")])],1)],1)],1),e._v(" "),n("el-table",{staticStyle:{width:"100%"},attrs:{border:"",height:"65vh",data:e.list}},[n("el-table-column",{attrs:{label:"姓名",prop:"id",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.name))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"性别",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.sex))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"手机号码",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.phoneNumber))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"身份证号",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.idCard))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"状态",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("el-tag",{attrs:{size:"medium",type:0==r.approveStatus?"danger":1==r.approveStatus?"success":""}},[0==r.approveStatus?n("span",[e._v("不通过")]):e._e(),e._v(" "),1==r.approveStatus?n("span",[e._v("通过")]):e._e()])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"资质证书",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return e._l(r.certPicUrlList,function(t,r){return n("el-image",{key:r,staticStyle:{width:"50px",height:"50px"},attrs:{src:""+e.constant+e.img(t),"preview-src-list":[""+e.constant+e.img(t)]}})})}}])}),e._v(" "),n("el-table-column",{attrs:{label:"身份证",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return e._l(r.sfzUrlList,function(t,r){return n("el-image",{key:r,staticStyle:{width:"50px",height:"50px"},attrs:{src:""+e.constant+e.img(t),"preview-src-list":[""+e.constant+e.img(t)]}})})}}])}),e._v(" "),n("el-table-column",{attrs:{label:"学历证书",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return e._l(r.xlUrlList,function(t,r){return n("el-image",{key:r,staticStyle:{width:"50px",height:"50px"},attrs:{src:""+e.constant+e.img(t),"preview-src-list":[""+e.constant+e.img(t)]}})})}}])}),e._v(" "),n("el-table-column",{attrs:{label:"操作",align:"center",width:"280","class-name":"small-padding fixed-width"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return t.$index,[n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(t){return e.edit(r,"draft")}}},[e._v("\n 修改\n ")])]}}])})],1),e._v(" "),n("pagination",{directives:[{name:"show",rawName:"v-show",value:e.total>0,expression:"total > 0"}],attrs:{total:e.total,page:e.listQuery.pageNo,limit:e.listQuery.size},on:{"update:page":function(t){return e.$set(e.listQuery,"pageNo",t)},"update:limit":function(t){return e.$set(e.listQuery,"size",t)},pagination:e.getList}}),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:e.textMap[e.dialogStatus],visible:e.dialogFormVisible,width:"40%"},on:{"update:visible":function(t){e.dialogFormVisible=t}}},[n("el-form",{ref:"dataForm",attrs:{rules:e.rules,model:e.temp,"label-position":"right","label-width":"150px"}},[n("el-row",{attrs:{gutter:20}},[n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"姓名",prop:"name"}},[n("el-input",{attrs:{size:"small",clearable:"",placeholder:"请输入姓名"},model:{value:e.temp.name,callback:function(t){e.$set(e.temp,"name",t)},expression:"temp.name"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"性别",prop:"sex"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择性别"},model:{value:e.temp.sex,callback:function(t){e.$set(e.temp,"sex",t)},expression:"temp.sex"}},e._l([{label:"男",value:1},{label:"女",value:2}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"手机号码",prop:"phoneNumber"}},[n("el-input",{attrs:{size:"small",clearable:"",placeholder:"请输入手机号码"},model:{value:e.temp.phoneNumber,callback:function(t){e.$set(e.temp,"phoneNumber",t)},expression:"temp.phoneNumber"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"身份证号",prop:"idCard"}},[n("el-input",{attrs:{size:"small",clearable:"",placeholder:"请输入身份证号"},model:{value:e.temp.idCard,callback:function(t){e.$set(e.temp,"idCard",t)},expression:"temp.idCard"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"所属机构",prop:"unitId"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择所属机构"},model:{value:e.temp.unitId,callback:function(t){e.$set(e.temp,"unitId",t)},expression:"temp.unitId"}},e._l(e.institutionArrData,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"归属医保区划",prop:"addrAdmdvs"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择归属医保区划"},model:{value:e.temp.addrAdmdvs,callback:function(t){e.$set(e.temp,"addrAdmdvs",t)},expression:"temp.addrAdmdvs"}},e._l(e.admdvsOptions,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"数据权限医保区划",prop:"admdvs"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择数据权限医保区划"},model:{value:e.temp.admdvs,callback:function(t){e.$set(e.temp,"admdvs",t)},expression:"temp.admdvs"}},e._l(e.admdvsOptions,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"审核状态",prop:"approveStatus"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择审核状态"},model:{value:e.temp.approveStatus,callback:function(t){e.$set(e.temp,"approveStatus",t)},expression:"temp.approveStatus"}},[n("el-option",{attrs:{label:"通过",value:1}}),e._v(" "),n("el-option",{attrs:{label:"不通过",value:0}})],1)],1)],1),e._v(" "),n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"资质证书",prop:"certPicUrlList"}},[n("el-upload",{attrs:{action:"#",limit:1,"before-upload":e.beforeAvatarUploada,"http-request":e.certhandleFileUpload,data:{att_type:"22"},"on-remove":e.handleCertPicUrlRemove,"before-remove":e.beforeRemove,"on-error":e.handleError,"file-list":e.temp.certPicUrlList,"on-preview":e.onPreview}},[n("el-button",{attrs:{slot:"trigger",size:"small",type:"primary"},slot:"trigger"},[e._v("选取文件")])],1)],1)],1),e._v(" "),n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"身份证",prop:"sfzUrlList"}},[n("el-upload",{attrs:{action:"#",limit:1,data:{att_type:"01"},"before-upload":e.beforeAvatarUploada,"http-request":e.sfzhandleFileUpload,"on-remove":e.handleSfzUrllRemove,"before-remove":e.beforeRemove,"file-list":e.temp.sfzUrlList,"on-preview":e.onPreview}},[n("el-button",{attrs:{slot:"trigger",size:"small",type:"primary"},slot:"trigger"},[e._v("选取文件")])],1)],1)],1),e._v(" "),n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"健康证",prop:"xlUrlList"}},[n("el-upload",{attrs:{action:"#",limit:1,data:{att_type:"99"},"before-upload":e.beforeAvatarUploada,"http-request":e.xlhandleFileUpload,"on-remove":e.handleXlUrlRemove,"before-remove":e.beforeRemove,"file-list":e.temp.xlUrlList,"on-preview":e.onPreview}},[n("el-button",{attrs:{slot:"trigger",size:"small",type:"primary"},slot:"trigger"},[e._v("选取文件")])],1)],1)],1)],1)],1),e._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small"},on:{click:function(t){e.dialogFormVisible=!1}}},[e._v("\n 取 消\n ")]),e._v(" "),n("el-button",{attrs:{type:"primary",size:"small"},on:{click:function(t){"create"===e.dialogStatus?e.createData():e.updateData()}}},[e._v("\n 确 认\n ")])],1)],1),e._v(" "),n("preview-file",{attrs:{file:e.file}})],1)},__vue_staticRenderFns__$5=[];__vue_render__$5._withStripped=!0;const __vue_inject_styles__$5=void 0,__vue_scope_id__$5=void 0,__vue_module_identifier__$5=void 0,__vue_is_functional_template__$5=!1,__vue_component__$5=normalizeComponent({render:__vue_render__$5,staticRenderFns:__vue_staticRenderFns__$5},__vue_inject_styles__$5,__vue_script__$5,__vue_scope_id__$5,__vue_is_functional_template__$5,__vue_module_identifier__$5,!1,void 0,void 0,void 0);var script$4={name:"personnel",components:{Pagination:Pagination,PreviewFile:PreviewFile},filters:{},data:()=>({oneFileList:[],twoFileList:[],threeFileList:[],institutionList:[],FormData:{},file:{fileurl:"",dialogVisible:!1,title:"",type:""},loading:!1,dialogBankVisible:!1,dialogStatus:"",textMap:{update:"编辑",create:"创建"},tableKey:0,list:null,total:0,listLoading:!0,listQuery:{pageNo:1,size:20},fileList:[],dialogFormVisible:!1,dialogPvVisible:!1,rules:{uscc:[{required:!0,message:"请输入统一社会信用代码",trigger:"blur"}],type:[{required:!0,message:"请选择护理机构类型",trigger:"change"}],name:[{required:!0,message:"请输入机构名称",trigger:"blur"}],city:[{required:!0,message:"请输入行政区划",trigger:"blur"}],county:[{required:!0,message:"请输入所属辖区",trigger:"blur"}],cntrBegntime:[{required:!0,message:"请选择合同开始时间",trigger:"change"}],cntrEndtime:[{required:!0,message:"请选择合同结束时间",trigger:"change"}],liceIssuDate:[{required:!0,message:"请选择持证时间",trigger:"change"}],address:[{required:!0,message:"请输入护理机构地址",trigger:"blur"}],linkMan:[{required:!0,message:"请输入联系人",trigger:"blur"}],linkPhoneNumber:[{required:!0,message:"请输入联系号码",trigger:"blur"}],provinceCode:[{required:!0,message:"请选择",trigger:"blur"}]},temp:{},downloadLoading:!1,loadExp:!1,cityList:[],areaList:[],provinceList:[],admdvsCodgGrp:[],options:[],file_list:[],fileType:{"01":"01","02":"02","03":"03","04":"04"}}),created(){this.provinceList=pcaCode,this.getList()},methods:{selectChange(e){console.log(e),this.temp.bankMajcls=e.bank_type_code,this.temp.bankName=e.bank_abbr,this.temp.bankId=e.bank_id},remoteMethod(e){return new Promise((t,n)=>{SysUnitBank({bankName:e}).then(e=>{1==e.status&&(this.options=e.result,t(this.options))})})},provinceChange(e,t){e&&(this.cityList=e.children,this.temp.provinceCode=e.code,t||this.crealt())},cityChange(e,t){e&&(this.areaList=e.children,this.temp.cityCode=e.code,t||this.$set(this.temp,"county",""))},changeDistrict(e){this.temp.countyCode=e.code},initProvince(e){e||(this.cityList=[],this.areaList=[],this.crealt())},initCity(e){e||(this.areaList=[],this.$set(this.temp,"cityCode",""))},initCounty(e){e||this.$set(this.temp,"countyCode","")},crealt(){this.$set(this.temp,"city",""),this.$set(this.temp,"county",""),this.$set(this.temp,"cityCode",""),this.$set(this.temp,"countyCode","")},getSysUnitBank(e){SysUnitBank({bankName:e}).then(t=>{console.log(t),"1"===t.status&&(this.temp={...this.temp,bankMajcls:bankMajcls,bankName:e,bankId:bankId,bankacct:bankacct,bankAcctname:bankAcctname})})},expExcel(){try{this.loadExp=!0;exportsysUnitInfo({}).then(e=>{const t=new Blob([e]);if(t.size>0){const e=document.createElement("a");e.style.display="none",e.href=URL.createObjectURL(t),e.download=`机构信息/${this.$moment().format("YYYY-MM-DD")}.xlsx`,document.body.appendChild(e),e.click(),URL.revokeObjectURL(e.href),document.body.removeChild(e)}this.handleClose(),this.loadExp=!1}).catch(()=>{this.loadExp=!1})}catch(e){this.loadExp=!1,console.log(e)}},urlClick(e){this.onPreview({url:e.agreementPdf})},beforeAvatarUploada(e){this.loadingstate=!0;let t=e.name.lastIndexOf("."),n=e.name.substr(t+1);return e.size/1024/1024<10?["PDF","pdf"].indexOf(n)<0?(this.$message({message:"只能pdf文件",type:"error",center:!0}),!1):void 0:(this.$message({message:"封面不可超出10M",type:"warning",center:!0}),!1)},urlClick(e){this.onPreview({url:e.agreementPdf})},onPreview(e){const t=fileUrl(e.url||e.name);let n=`http://127.0.0.1/img/${e.url||e.name}`;if("word"==t||"wps"==t||"pdf"==t||"pptx"==t||"txt"==t)this.file.type=t;else if("image"==t)this.file.type=t;else if("video"==t)this.file.type=t;else{if("radio"!=t)return void this.$message.error("该格式不可在线预览,请下载后查看");this.file.type=t}this.file.fileurl=n,this.file.dialogVisible=!0,this.file.title=e.name},modify(e){cloudSave({id:e.id}).then(e=>{if(1==e.status)return this.getList(),void this.$notify({title:"提示",message:e.info,type:"success",duration:2e3});this.$notify({title:"提示",message:e.info,type:"error",duration:2e3})})},updateBank(){SysUnitbankSave(this.temp).then(e=>{if(1==e.status)return this.dialogBankVisible=!1,this.getList(),void this.$notify({title:e.info,message:"修改成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"修改失败",type:"error",duration:2e3})})},getList(){this.listLoading=!0,SysUnitPage(this.listQuery).then(e=>{this.list=e.result.data,this.total=e.result.count,console.log(this.list),setTimeout(()=>{this.listLoading=!1},1500)}),SysUnitPage({size:9999,pageNo:1}).then(e=>{this.institutionList=e.result.data})},handleModifyStatus(e,t){this.$message({message:"操作成功",type:"success"}),e.status=t},resetting(e){this.$nextTick(()=>{this.$refs[e].resetFields(),this.getList()})},add(){this.dialogStatus="create",this.dialogFormVisible=!0,this.temp={}},onSubmit(){this.getList()},concatenateStrings:(e,t,n,r)=>`${e}${r?",":""}${t}${r?",":""}${n}`,createData(){this.$refs.dataForm.validate(e=>{e&&(this.temp.admdvsCodgGrp=this.concatenateStrings(this.temp.provinceCode,this.temp.cityCode,this.temp.countyCode),this.temp.file_list=this.file_list,SysUnitSave$1(this.temp).then(e=>{if(1==e.status)return this.dialogFormVisible=!1,this.getList(),void this.$notify({title:e.info,message:"新增成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"新增失败",type:"error",duration:2e3})}))})},updateData(){console.log(this.file_list),this.$refs.dataForm.validate(e=>{e&&(this.temp.file_list=this.file_list,SysUnitSave$1(this.temp).then(e=>{if(1==e.status)return this.dialogFormVisible=!1,this.getList(),void this.$notify({title:e.info,message:"更新成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"更新失败",type:"error",duration:2e3})}))})},edit(e){this.fileList=[],this.oneFileList=[],this.twoFileList=[],this.threeFileList=[],this.temp=e,this.dialogStatus="update",this.dialogFormVisible=!0,e.agreementPdf&&this.fileList.push({name:e.agreementPdf,url:e.agreementPdf}),e.oneFile&&this.oneFileList.push({name:e.oneFile,url:e.oneFile}),e.twoFile&&this.twoFileList.push({name:e.twoFile,url:e.twoFile}),e.threeFile&&this.threeFileList.push({name:e.threeFile,url:e.threeFile})},handleDelete(e,t){SysUnitDel({id:e.id}).then(e=>{if(console.log(e),1==e.status)return this.getList(),void this.$notify({title:e.info,message:"删除成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"删除失败",type:"error",duration:2e3})})},handleFileUpload(e){const t=new FormData;t.append("file",e.file),t.append("realPath",e.file.name),t.append("fileName",e.file.name),t.append("att_type",e.data.file_type),console.log(e.data.file_type),uploadPDF(t).then(n=>{1==n.status&&(this.$message({message:"上传成功",type:"success"}),"04"==e.data.file_type&&(this.temp.agreementPdf=n.result.url),"01"==e.data.file_type&&(this.temp.oneFile=n.result.url),"02"==e.data.file_type&&(this.temp.twoFile=n.result.url),"03"==e.data.file_type&&(this.temp.threeFile=n.result.url)),uploadThird(t).then(t=>{if(1==t.status){const n={file_type:e.data.file_type,fs_d_t_o_list:[{file_id:t.result.output.file_id,att_name:t.result.output.att_name}]};this.addFile(n)}})})},beforeRemove(e,t){return this.$confirm(`确定移除 ${e.name}?`)},handleCertPicUrlRemove(e,t){for(var n=0;n<this.file_list.length;n++)this.file_list[n].fs_d_t_o_list=this.file_list[n].fs_d_t_o_list.filter(t=>t.att_name!=e.name);console.log(this.file_list)},addFile(e){const t=this.file_list.find(t=>t.file_type===e.file_type);t&&e.file_type==this.fileType[e.file_type]?t.fs_d_t_o_list.push(e.fs_d_t_o_list[0]):this.file_list.push(e),console.log(this.file_list)}}};const __vue_script__$4=script$4;var __vue_render__$4=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"app-container"},[n("div",{staticClass:"filter-container"},[n("el-form",{ref:"listQuery",staticClass:"demo-form-inline",attrs:{inline:!0,model:e.listQuery}},[n("el-form-item",{attrs:{label:"机构名称",prop:"name"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择机构名称"},model:{value:e.listQuery.name,callback:function(t){e.$set(e.listQuery,"name",t)},expression:"listQuery.name"}},e._l(e.institutionList,function(e,t){return n("el-option",{key:t,attrs:{label:e.name,value:e.name}})}),1)],1),e._v(" "),n("el-form-item",{attrs:{label:"地址",prop:"address"}},[n("el-input",{attrs:{size:"small",placeholder:"请输入地址"},model:{value:e.listQuery.address,callback:function(t){e.$set(e.listQuery,"address",t)},expression:"listQuery.address"}})],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"primary"},on:{click:e.onSubmit}},[e._v("查询")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"warning"},on:{click:function(t){return e.resetting("listQuery")}}},[e._v("重置")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"success"},on:{click:e.add}},[e._v("新增")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"primary",loading:e.loadExp},on:{click:e.expExcel}},[e._v("\n 导 出\n ")])],1)],1)],1),e._v(" "),n("el-table",{staticStyle:{width:"100%"},attrs:{border:"",height:"65vh",data:e.list}},[n("el-table-column",{attrs:{label:"机构名称",align:"center",width:"150","show-overflow-tooltip":""},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.name))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"机构编码",align:"center",width:"150","show-overflow-tooltip":""},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.no))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"行政区划",align:"center","show-overflow-tooltip":""},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.city))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"所属辖区",align:"center","show-overflow-tooltip":""},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.county))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"护理机构地址",align:"center",width:"200","show-overflow-tooltip":""},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.address))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"护理机构类型",align:"center",width:"150","show-overflow-tooltip":""},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("el-tag",{attrs:{size:"medium"}},[e._v(e._s("01"==r.type?"上门护理机构":"02"==r.type?"养老机构":"03"==r.type?"医疗机构":"04"==r.type?"辅助器具机构":"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"联系人",align:"center","show-overflow-tooltip":""},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.linkMan))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"联系号码",align:"center","show-overflow-tooltip":""},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.linkPhoneNumber))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"护工数",align:"center","show-overflow-tooltip":""},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.userNum))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"银行名称",align:"center","show-overflow-tooltip":""},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.bankName))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"银行账号",align:"center","show-overflow-tooltip":""},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.bankacct))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"开户行信息",align:"center","show-overflow-tooltip":""},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.bankAcctname))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"操作",align:"center",width:"300","class-name":"small-padding fixed-width"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row,l=t.$index;return[n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(t){return e.modify(r,l)}}},[e._v("\n 机构信息同步\n ")]),e._v(" "),n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(t){return e.edit(r,l)}}},[e._v("\n 修改\n ")]),e._v(" "),n("el-button",{attrs:{size:"mini",type:"danger"},on:{click:function(t){return e.handleDelete(r,l)}}},[e._v("\n 删除\n ")])]}}])})],1),e._v(" "),n("pagination",{directives:[{name:"show",rawName:"v-show",value:e.total>0,expression:"total > 0"}],attrs:{total:e.total,page:e.listQuery.pageNo,limit:e.listQuery.size},on:{"update:page":function(t){return e.$set(e.listQuery,"pageNo",t)},"update:limit":function(t){return e.$set(e.listQuery,"size",t)},pagination:e.getList}}),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:e.textMap[e.dialogStatus],visible:e.dialogFormVisible,width:"45%"},on:{"update:visible":function(t){e.dialogFormVisible=t}}},[n("el-form",{ref:"dataForm",attrs:{rules:e.rules,model:e.temp,"label-position":"right","label-width":"150px"}},[n("el-row",{attrs:{gutter:20}},[n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"机构名称",prop:"name"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入机构名称",size:"small"},model:{value:e.temp.name,callback:function(t){e.$set(e.temp,"name",t)},expression:"temp.name"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"省/市/区:"}},[n("div",{staticClass:"setCity"},[n("el-select",{attrs:{size:"small",placeholder:"请选择省份",clearable:"",filterable:""},on:{change:e.initProvince},model:{value:e.temp.province,callback:function(t){e.$set(e.temp,"province",t)},expression:"temp.province"}},e._l(e.provinceList,function(t,r){return n("el-option",{key:r,attrs:{label:t.name,value:t.name},nativeOn:{click:function(n){return e.provinceChange(t)}}})}),1),e._v(" "),n("el-select",{attrs:{size:"small",placeholder:"请选择城市",clearable:"",filterable:""},on:{change:e.initCity},model:{value:e.temp.city,callback:function(t){e.$set(e.temp,"city",t)},expression:"temp.city"}},e._l(e.cityList,function(t,r){return n("el-option",{key:r,attrs:{label:t.name,value:t.name},nativeOn:{click:function(n){return e.cityChange(t)}}})}),1),e._v(" "),n("el-select",{attrs:{size:"small",placeholder:"请选择辖区",clearable:"",filterable:""},on:{change:e.initCounty},model:{value:e.temp.county,callback:function(t){e.$set(e.temp,"county",t)},expression:"temp.county"}},e._l(e.areaList,function(t,r){return n("el-option",{key:r,attrs:{label:t.name,value:t.name},nativeOn:{click:function(n){return e.changeDistrict(t)}}})}),1)],1)])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"定点归属医保区划:"}},[n("el-select",{attrs:{size:"small",placeholder:"请选择定点归属医保区划",clearable:"",filterable:""},model:{value:e.temp.admdvsType,callback:function(t){e.$set(e.temp,"admdvsType",t)},expression:"temp.admdvsType"}},e._l([{label:"省",value:"省"},{label:"市",value:"市"},{label:"区",value:"区"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"注册机构类型:"}},[n("el-select",{attrs:{size:"small",placeholder:"请选择注册机构类型",clearable:"",filterable:""},model:{value:e.temp.orgRegType,callback:function(t){e.$set(e.temp,"orgRegType",t)},expression:"temp.orgRegType"}},e._l([{label:"公立",value:"公立"},{label:"非公立",value:"非公立"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"机构经营类型:"}},[n("el-select",{attrs:{size:"small",placeholder:"请选择机构经营类型",clearable:"",filterable:""},model:{value:e.temp.orgOperateType,callback:function(t){e.$set(e.temp,"orgOperateType",t)},expression:"temp.orgOperateType"}},e._l([{label:"盈利",value:"盈利"},{label:"非盈利",value:"非盈利"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"机构单位性质:"}},[n("el-select",{attrs:{size:"small",placeholder:"请选择机构单位性质",clearable:"",filterable:""},model:{value:e.temp.orgNatu,callback:function(t){e.$set(e.temp,"orgNatu",t)},expression:"temp.orgNatu"}},e._l([{label:"事业单位",value:"事业单位"},{label:"民办非企业",value:"民办非企业"},{label:"企业",value:"企业"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"法定代表人:"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入法人代表人",size:"small"},model:{value:e.temp.legrep,callback:function(t){e.$set(e.temp,"legrep",t)},expression:"temp.legrep"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"法人代表证件类型:"}},[n("el-input",{attrs:{clearable:"",disabled:"",placeholder:"居民身份证",size:"small"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"法人代表证件号码:"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入法人代表证件号码:",size:"small"},model:{value:e.temp.legrepCertno,callback:function(t){e.$set(e.temp,"legrepCertno",t)},expression:"temp.legrepCertno"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"合同开始时间",prop:"cntrBegntime"}},[n("el-date-picker",{attrs:{"value-format":"yyyy-MM-dd HH:mm:ss",type:"datetime",placeholder:"合同开始时间","default-time":"12:00:00"},model:{value:e.temp.cntrBegntime,callback:function(t){e.$set(e.temp,"cntrBegntime",t)},expression:"temp.cntrBegntime"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"合同结束时间",prop:"cntrEndtime"}},[n("el-date-picker",{attrs:{"value-format":"yyyy-MM-dd HH:mm:ss",type:"datetime",placeholder:"合同结束时间","default-time":"12:00:00"},model:{value:e.temp.cntrEndtime,callback:function(t){e.$set(e.temp,"cntrEndtime",t)},expression:"temp.cntrEndtime"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"统一社会信用代码",prop:"uscc"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入统一社会信用代码",size:"small"},model:{value:e.temp.uscc,callback:function(t){e.$set(e.temp,"uscc",t)},expression:"temp.uscc"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"护理机构地址",prop:"address"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入护理机构地址",size:"small"},model:{value:e.temp.address,callback:function(t){e.$set(e.temp,"address",t)},expression:"temp.address"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"护理机构类型",prop:"type"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择护理机构类型"},model:{value:e.temp.type,callback:function(t){e.$set(e.temp,"type",t)},expression:"temp.type"}},e._l([{label:"上门护理机构",value:"01"},{label:"养老机构",value:"02"},{label:"医疗机构",value:"03"},{label:"辅助器具机构",value:"04"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"联系人",prop:"linkMan"}},[n("el-input",{attrs:{placeholder:"请输入联系人",clearable:"",size:"small"},model:{value:e.temp.linkMan,callback:function(t){e.$set(e.temp,"linkMan",t)},expression:"temp.linkMan"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"联系号码",prop:"linkPhoneNumber"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入联系号码",size:"small"},model:{value:e.temp.linkPhoneNumber,callback:function(t){e.$set(e.temp,"linkPhoneNumber",t)},expression:"temp.linkPhoneNumber"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"银行户名"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入银行户名",size:"small"},model:{value:e.temp.bankAcctname,callback:function(t){e.$set(e.temp,"bankAcctname",t)},expression:"temp.bankAcctname"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"银行账号"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入银行账号",size:"small"},model:{value:e.temp.bankacct,callback:function(t){e.$set(e.temp,"bankacct",t)},expression:"temp.bankacct"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"银行开户行名称"}},[n("el-select",{staticStyle:{width:"100%"},attrs:{size:"small",filterable:"",remote:"","reserve-keyword":"",placeholder:"请输入银行开户行名称","remote-method":e.remoteMethod,"value-key":"bank_id"},on:{change:e.selectChange},model:{value:e.temp.bankName,callback:function(t){e.$set(e.temp,"bankName",t)},expression:"temp.bankName"}},e._l(e.options,function(e){return n("el-option",{key:e.id,attrs:{label:e.bank_abbr,value:e}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"描述"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入描述内容",size:"small"},model:{value:e.temp.description,callback:function(t){e.$set(e.temp,"description",t)},expression:"temp.description"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"法人证书/登记证书/营业执照"}},[n("el-upload",{attrs:{action:"#",limit:4,data:{file_type:"01"},"before-upload":e.beforeAvatarUploada,"http-request":e.handleFileUpload,"on-preview":e.onPreview,"on-remove":e.handleCertPicUrlRemove,"before-remove":e.beforeRemove,"file-list":e.oneFileList}},[n("el-button",{attrs:{slot:"trigger",size:"small",type:"primary"},slot:"trigger"},[e._v("选取文件")])],1)],1)],1),e._v(" "),n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"养老机构设立许可证/备案回执"}},[n("el-upload",{attrs:{action:"#",limit:4,data:{file_type:"02"},"before-upload":e.beforeAvatarUploada,"http-request":e.handleFileUpload,"on-preview":e.onPreview,"on-remove":e.handleCertPicUrlRemove,"before-remove":e.beforeRemove,"file-list":e.twoFileList}},[n("el-button",{attrs:{slot:"trigger",size:"small",type:"primary"},slot:"trigger"},[e._v("选取文件")])],1)],1)],1),e._v(" "),n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"医疗机构执业许可证"}},[n("el-upload",{attrs:{action:"#",limit:4,data:{file_type:"03"},"before-upload":e.beforeAvatarUploada,"http-request":e.handleFileUpload,"on-preview":e.onPreview,"on-remove":e.handleCertPicUrlRemove,"before-remove":e.beforeRemove,"file-list":e.threeFileList}},[n("el-button",{attrs:{slot:"trigger",size:"small",type:"primary"},slot:"trigger"},[e._v("选取文件")])],1)],1)],1),e._v(" "),n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"协议文件"}},[n("el-upload",{attrs:{action:"#",limit:4,data:{file_type:"04"},"before-upload":e.beforeAvatarUploada,"http-request":e.handleFileUpload,"on-preview":e.onPreview,"on-remove":e.handleCertPicUrlRemove,"before-remove":e.beforeRemove,"file-list":e.fileList}},[n("el-button",{attrs:{slot:"trigger",size:"small",type:"primary"},slot:"trigger"},[e._v("选取文件")])],1)],1)],1)],1)],1),e._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small"},on:{click:function(t){e.dialogFormVisible=!1}}},[e._v("\n 取 消\n ")]),e._v(" "),n("el-button",{attrs:{size:"small",type:"primary"},on:{click:function(t){"create"===e.dialogStatus?e.createData():e.updateData()}}},[e._v("\n 确 认\n ")])],1)],1),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"修改银行信息",visible:e.dialogBankVisible,width:"40%"},on:{"update:visible":function(t){e.dialogBankVisible=t}}},[n("el-form",{ref:"dataForm",attrs:{rules:e.rules,model:e.temp,"label-position":"right","label-width":"120px"}},[n("el-row",{attrs:{gutter:20}},[n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"银行户名"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入银行户名",size:"small"},model:{value:e.temp.bankAcctname,callback:function(t){e.$set(e.temp,"bankAcctname",t)},expression:"temp.bankAcctname"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"银行账号"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入银行账号",size:"small"},model:{value:e.temp.bankacct,callback:function(t){e.$set(e.temp,"bankacct",t)},expression:"temp.bankacct"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"银行开户行名称"}},[n("el-select",{staticStyle:{width:"100%"},attrs:{size:"small",filterable:"",remote:"","reserve-keyword":"",placeholder:"请输入银行开户行名称","remote-method":e.remoteMethod,"value-key":"bank_id"},on:{change:e.selectChange},model:{value:e.temp.bankName,callback:function(t){e.$set(e.temp,"bankName",t)},expression:"temp.bankName"}},e._l(e.options,function(e){return n("el-option",{key:e.id,attrs:{label:e.bank_abbr,value:e}})}),1)],1)],1)],1)],1),e._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small"},on:{click:function(t){e.dialogBankVisible=!1}}},[e._v("\n 取 消\n ")]),e._v(" "),n("el-button",{attrs:{size:"small",type:"primary"},on:{click:function(t){return e.updateBank()}}},[e._v("\n 确 认\n ")])],1)],1),e._v(" "),n("preview-file",{attrs:{file:e.file}})],1)},__vue_staticRenderFns__$4=[];__vue_render__$4._withStripped=!0;const __vue_inject_styles__$4=function(e){e&&e("data-v-4ed0cbb6_0",{source:".el-col-12[data-v-4ed0cbb6] {\n padding: 0 20px 0 0;\n}\n.setCity[data-v-4ed0cbb6] {\n display: flex;\n gap: 10px;\n}\n\n/*# sourceMappingURL=index.vue.map */",map:{version:3,sources:["E:\\公司项目\\changhuxianlocal\\changhuxian-vue-components\\src\\pages\\institution\\Information\\index.vue","index.vue"],names:[],mappings:"AA87BA;EACA,mBAAA;AC77BA;ADg8BA;EACA,aAAA;EACA,SAAA;AC77BA;;AAEA,oCAAoC",file:"index.vue",sourcesContent:['<template>\r\n <div class="app-container">\r\n <div class="filter-container">\r\n <el-form ref="listQuery" :inline="true" :model="listQuery" class="demo-form-inline">\r\n <el-form-item label="机构名称" prop="name">\r\n <el-select style="width: 100%" clearable filterable size="small" v-model="listQuery.name" class="filter-item"\r\n placeholder="请选择机构名称">\r\n <el-option v-for="(item, index) in institutionList" :key="index" :label="item.name" :value="item.name" />\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item label="地址" prop="address">\r\n <el-input size="small" v-model="listQuery.address" placeholder="请输入地址"></el-input>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size="small" type="primary" @click="onSubmit">查询</el-button>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size="small" type="warning" @click="resetting(\'listQuery\')">重置</el-button>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size="small" type="success" @click="add">新增</el-button>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size="small" type="primary" @click="expExcel" :loading="loadExp">\r\n 导 出\r\n </el-button>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n <el-table border height="65vh" :data="list" style="width: 100%">\r\n \x3c!-- @sort-change="sortChange" --\x3e\r\n <el-table-column :label="\'机构名称\'" align="center" width="150" show-overflow-tooltip>\r\n <template slot-scope="{ row }">\r\n <span>{{ row.name }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'机构编码\'" align="center" width="150" show-overflow-tooltip>\r\n <template slot-scope="{ row }">\r\n <span>{{ row.no }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'行政区划\'" align="center" show-overflow-tooltip>\r\n <template slot-scope="{ row }">\r\n <span>{{ row.city }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'所属辖区\'" align="center" show-overflow-tooltip>\r\n <template slot-scope="{ row }">\r\n <span>{{ row.county }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'护理机构地址\'" align="center" width="200" show-overflow-tooltip>\r\n <template slot-scope="{ row }">\r\n <span>{{ row.address }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'护理机构类型\'" align="center" width="150" show-overflow-tooltip>\r\n <template slot-scope="{ row }">\r\n \x3c!-- <el-tag size="medium">{{\r\n row.type == "1" ? "养老机构" : row.type == "2" ? "上门护理机构" : "-"\r\n }}</el-tag> --\x3e\r\n <el-tag size="medium">{{\r\n row.type == "01"\r\n ? "上门护理机构"\r\n : row.type == "02"\r\n ? "养老机构"\r\n : row.type == "03"\r\n ? "医疗机构"\r\n : row.type == "04"\r\n ? "辅助器具机构"\r\n : "-"\r\n }}</el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'联系人\'" align="center" show-overflow-tooltip>\r\n <template slot-scope="{ row }">\r\n <span>{{ row.linkMan }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'联系号码\'" align="center" show-overflow-tooltip>\r\n <template slot-scope="{ row }">\r\n <span>{{ row.linkPhoneNumber }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'护工数\'" align="center" show-overflow-tooltip>\r\n <template slot-scope="{ row }">\r\n <span>{{ row.userNum }}</span>\r\n </template>\r\n </el-table-column>\r\n \x3c!-- <el-table-column :label="\'描述\'" align="center" show-overflow-tooltip>\r\n <template slot-scope="{ row }">\r\n <span>{{ row.description }}</span>\r\n </template>\r\n </el-table-column> --\x3e\r\n <el-table-column :label="\'银行名称\'" align="center" show-overflow-tooltip>\r\n <template slot-scope="{ row }">\r\n <span>{{ row.bankName }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'银行账号\'" align="center" show-overflow-tooltip>\r\n <template slot-scope="{ row }">\r\n <span>{{ row.bankacct }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'开户行信息\'" align="center" show-overflow-tooltip>\r\n <template slot-scope="{ row }">\r\n <span>{{ row.bankAcctname }}</span>\r\n </template>\r\n </el-table-column>\r\n \x3c!-- <el-table-column :label="\'协议文件\'" align="center">\r\n <template slot-scope="{ row }">\r\n <el-link type="primary" @click="urlClick(row)">{{\r\n row.agreementPdf\r\n }}</el-link>\r\n </template>\r\n </el-table-column> --\x3e\r\n <el-table-column :label="\'操作\'" align="center" width="300" class-name="small-padding fixed-width">\r\n <template slot-scope="{ row, $index }">\r\n <el-button size="mini" type="primary" @click="modify(row, $index)">\r\n 机构信息同步\r\n </el-button>\r\n <el-button size="mini" type="primary" @click="edit(row, $index)">\r\n 修改\r\n </el-button>\r\n <el-button size="mini" type="danger" @click="handleDelete(row, $index)">\r\n 删除\r\n </el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n\r\n <pagination v-show="total > 0" :total="total" :page.sync="listQuery.pageNo" :limit.sync="listQuery.size"\r\n @pagination="getList" />\r\n <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :title="textMap[dialogStatus]"\r\n :visible.sync="dialogFormVisible" width="45%">\r\n <el-form ref="dataForm" :rules="rules" :model="temp" label-position="right" label-width="150px">\r\n <el-row :gutter="20">\r\n <el-col :span="12">\r\n <el-form-item label="机构名称" prop="name">\r\n <el-input clearable placeholder="请输入机构名称" size="small" v-model="temp.name" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="24">\r\n <el-form-item label="省/市/区:">\r\n <div class="setCity">\r\n <el-select size="small" placeholder="请选择省份" v-model="temp.province" clearable filterable\r\n @change="initProvince">\r\n <el-option v-for="(item, index) in provinceList" :key="index" :label="item.name"\r\n @click.native="provinceChange(item)" :value="item.name">\r\n </el-option>\r\n </el-select>\r\n <el-select size="small" placeholder="请选择城市" v-model="temp.city" clearable filterable @change="initCity">\r\n <el-option v-for="(item, index) in cityList" :key="index" :label="item.name"\r\n @click.native="cityChange(item)" :value="item.name">\r\n </el-option>\r\n </el-select>\r\n <el-select size="small" placeholder="请选择辖区" v-model="temp.county" clearable filterable\r\n @change="initCounty">\r\n <el-option v-for="(item, index) in areaList" :key="index" :label="item.name"\r\n @click.native="changeDistrict(item)" :value="item.name">\r\n </el-option>\r\n </el-select>\r\n </div>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="定点归属医保区划:">\r\n <el-select size="small" placeholder="请选择定点归属医保区划" v-model="temp.admdvsType" clearable filterable>\r\n <el-option\r\n v-for="(item, index) in [{ label: \'省\', value: \'省\' }, { label: \'市\', value: \'市\' }, { label: \'区\', value: \'区\' }]"\r\n :key="index" :label="item.label" :value="item.value">\r\n </el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="注册机构类型:">\r\n <el-select size="small" placeholder="请选择注册机构类型" v-model="temp.orgRegType" clearable filterable>\r\n <el-option v-for="(item, index) in [{ label: \'公立\', value: \'公立\' }, { label: \'非公立\', value: \'非公立\' }]"\r\n :key="index" :label="item.label" :value="item.value">\r\n </el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="机构经营类型:">\r\n <el-select size="small" placeholder="请选择机构经营类型" v-model="temp.orgOperateType" clearable filterable>\r\n <el-option v-for="(item, index) in [{ label: \'盈利\', value: \'盈利\' }, { label: \'非盈利\', value: \'非盈利\' }]"\r\n :key="index" :label="item.label" :value="item.value">\r\n </el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="机构单位性质:">\r\n <el-select size="small" placeholder="请选择机构单位性质" v-model="temp.orgNatu" clearable filterable>\r\n <el-option\r\n v-for="(item, index) in [{ label: \'事业单位\', value: \'事业单位\' }, { label: \'民办非企业\', value: \'民办非企业\' }, { label: \'企业\', value: \'企业\' }]"\r\n :key="index" :label="item.label" :value="item.value">\r\n </el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="法定代表人:">\r\n <el-input clearable placeholder="请输入法人代表人" size="small" v-model="temp.legrep" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="法人代表证件类型:">\r\n <el-input clearable disabled placeholder="居民身份证" size="small" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="法人代表证件号码:">\r\n <el-input clearable placeholder="请输入法人代表证件号码:" size="small" v-model="temp.legrepCertno" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="合同开始时间" prop="cntrBegntime">\r\n <el-date-picker v-model="temp.cntrBegntime" value-format="yyyy-MM-dd HH:mm:ss" type="datetime"\r\n placeholder="合同开始时间" default-time="12:00:00">\r\n </el-date-picker>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="合同结束时间" prop="cntrEndtime">\r\n <el-date-picker v-model="temp.cntrEndtime" value-format="yyyy-MM-dd HH:mm:ss" type="datetime"\r\n placeholder="合同结束时间" default-time="12:00:00">\r\n </el-date-picker>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="统一社会信用代码" prop="uscc">\r\n <el-input clearable placeholder="请输入统一社会信用代码" size="small" v-model="temp.uscc" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="护理机构地址" prop="address">\r\n <el-input clearable placeholder="请输入护理机构地址" size="small" v-model="temp.address" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="护理机构类型" prop="type">\r\n <el-select style="width: 100%" clearable filterable size="small" v-model="temp.type" class="filter-item"\r\n placeholder="请选择护理机构类型">\r\n <el-option v-for="(item, index) in [\r\n { label: \'上门护理机构\', value: \'01\' },\r\n { label: \'养老机构\', value: \'02\' },\r\n { label: \'医疗机构\', value: \'03\' },\r\n { label: \'辅助器具机构\', value: \'04\' },\r\n ]" :key="index" :label="item.label" :value="item.value" />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="联系人" prop="linkMan">\r\n <el-input placeholder="请输入联系人" clearable size="small" v-model="temp.linkMan" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="联系号码" prop="linkPhoneNumber">\r\n <el-input clearable placeholder="请输入联系号码" size="small" v-model="temp.linkPhoneNumber" />\r\n </el-form-item>\r\n </el-col>\r\n\r\n <el-col :span="12">\r\n <el-form-item label="银行户名">\r\n <el-input clearable placeholder="请输入银行户名" size="small" v-model="temp.bankAcctname" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="银行账号">\r\n <el-input clearable placeholder="请输入银行账号" size="small" v-model="temp.bankacct" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="银行开户行名称">\r\n <el-select style="width: 100%" v-model="temp.bankName" size="small" filterable remote reserve-keyword\r\n placeholder="请输入银行开户行名称" :remote-method="remoteMethod" :value-key="\'bank_id\'" @change="selectChange">\r\n <el-option v-for="item in options" :key="item.id" :label="item.bank_abbr" :value="item">\r\n </el-option>\r\n </el-select>\r\n \x3c!-- <el-input\r\n clearable\r\n placeholder="请输入开户行信息"\r\n size="small"\r\n v-model="temp.bankAcctname"\r\n /> --\x3e\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="描述">\r\n <el-input clearable placeholder="请输入描述内容" size="small" v-model="temp.description" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="24">\r\n <el-form-item label="法人证书/登记证书/营业执照">\r\n <el-upload action="#" :limit="4" :data="{ file_type: \'01\' }" :before-upload="beforeAvatarUploada"\r\n :http-request="handleFileUpload" :on-preview="onPreview" :on-remove="handleCertPicUrlRemove"\r\n :before-remove="beforeRemove" :file-list="oneFileList">\r\n <el-button slot="trigger" size="small" type="primary">选取文件</el-button>\r\n </el-upload>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="24">\r\n <el-form-item label="养老机构设立许可证/备案回执">\r\n <el-upload action="#" :limit="4" :data="{ file_type: \'02\' }" :before-upload="beforeAvatarUploada"\r\n :http-request="handleFileUpload" :on-preview="onPreview" :on-remove="handleCertPicUrlRemove"\r\n :before-remove="beforeRemove" :file-list="twoFileList">\r\n <el-button slot="trigger" size="small" type="primary">选取文件</el-button>\r\n </el-upload>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="24">\r\n <el-form-item label="医疗机构执业许可证">\r\n <el-upload action="#" :limit="4" :data="{ file_type: \'03\' }" :before-upload="beforeAvatarUploada"\r\n :http-request="handleFileUpload" :on-preview="onPreview" :on-remove="handleCertPicUrlRemove"\r\n :before-remove="beforeRemove" :file-list="threeFileList">\r\n <el-button slot="trigger" size="small" type="primary">选取文件</el-button>\r\n </el-upload>\r\n </el-form-item>\r\n </el-col>\r\n\r\n <el-col :span="24">\r\n <el-form-item label="协议文件">\r\n <el-upload action="#" :limit="4" :data="{ file_type: \'04\' }" :before-upload="beforeAvatarUploada"\r\n :http-request="handleFileUpload" :on-preview="onPreview" :on-remove="handleCertPicUrlRemove"\r\n :before-remove="beforeRemove" :file-list="fileList">\r\n <el-button slot="trigger" size="small" type="primary">选取文件</el-button>\r\n </el-upload>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <div slot="footer" class="dialog-footer">\r\n <el-button size="small" @click="dialogFormVisible = false">\r\n 取 消\r\n </el-button>\r\n <el-button size="small" type="primary" @click="dialogStatus === \'create\' ? createData() : updateData()">\r\n 确 认\r\n </el-button>\r\n </div>\r\n </el-dialog>\r\n\r\n <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :title="\'修改银行信息\'"\r\n :visible.sync="dialogBankVisible" width="40%">\r\n <el-form ref="dataForm" :rules="rules" :model="temp" label-position="right" label-width="120px">\r\n <el-row :gutter="20">\r\n <el-col :span="12">\r\n <el-form-item label="银行户名">\r\n <el-input clearable placeholder="请输入银行户名" size="small" v-model="temp.bankAcctname" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="银行账号">\r\n <el-input clearable placeholder="请输入银行账号" size="small" v-model="temp.bankacct" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n \x3c!-- <el-form-item label="开户行信息">\r\n <el-input\r\n clearable\r\n placeholder="请输入开户行信息"\r\n size="small"\r\n v-model="temp.bankAcctname"\r\n />\r\n </el-form-item> --\x3e\r\n <el-form-item label="银行开户行名称">\r\n <el-select style="width: 100%" v-model="temp.bankName" size="small" filterable remote reserve-keyword\r\n placeholder="请输入银行开户行名称" :remote-method="remoteMethod" :value-key="\'bank_id\'" @change="selectChange">\r\n <el-option v-for="item in options" :key="item.id" :label="item.bank_abbr" :value="item">\r\n </el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <div slot="footer" class="dialog-footer">\r\n <el-button size="small" @click="dialogBankVisible = false">\r\n 取 消\r\n </el-button>\r\n <el-button size="small" type="primary" @click="updateBank()">\r\n 确 认\r\n </el-button>\r\n </div>\r\n </el-dialog>\r\n <preview-file :file="file" />\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport {\r\n SysUnitPage,\r\n SysUnitDel,\r\n SysUnitSave,\r\n SysUnitbankSave,\r\n exportsysUnitInfo,\r\n SysUnitBank,\r\n cloudSave\r\n} from "@/api/institution";\r\nimport Pagination from "@/components/Pagination"; // secondary package based on el-pagination\r\nimport PreviewFile from "@/components/previewFile";\r\nimport { uploadTP, uploadPDF, uploadThird } from "@/api/upload";\r\nimport { fileUrl } from "@/utils/fileUrl.js";\r\nimport pcaCode from "@/utils/pca.json";\r\nexport default {\r\n name: "personnel",\r\n components: { Pagination, PreviewFile },\r\n filters: {},\r\n data() {\r\n return {\r\n oneFileList: [],\r\n twoFileList: [],\r\n threeFileList: [],\r\n institutionList: [],\r\n FormData: {},\r\n file: {\r\n fileurl: "",\r\n dialogVisible: false,\r\n title: "",\r\n type: "",\r\n },\r\n loading: false,\r\n dialogBankVisible: false,\r\n dialogStatus: "",\r\n textMap: { update: "编辑", create: "创建" },\r\n tableKey: 0,\r\n list: null,\r\n total: 0,\r\n listLoading: true,\r\n listQuery: {\r\n pageNo: 1,\r\n size: 20,\r\n },\r\n fileList: [],\r\n dialogFormVisible: false,\r\n dialogPvVisible: false,\r\n rules: {\r\n uscc: [\r\n {\r\n required: true,\r\n message: "请输入统一社会信用代码",\r\n trigger: "blur",\r\n },\r\n ],\r\n type: [\r\n { required: true, message: "请选择护理机构类型", trigger: "change" },\r\n ],\r\n name: [{ required: true, message: "请输入机构名称", trigger: "blur" }],\r\n city: [{ required: true, message: "请输入行政区划", trigger: "blur" }],\r\n county: [\r\n { required: true, message: "请输入所属辖区", trigger: "blur" },\r\n ],\r\n cntrBegntime: [\r\n { required: true, message: "请选择合同开始时间", trigger: "change" },\r\n ],\r\n cntrEndtime: [\r\n { required: true, message: "请选择合同结束时间", trigger: "change" },\r\n ],\r\n liceIssuDate: [\r\n { required: true, message: "请选择持证时间", trigger: "change" },\r\n ],\r\n address: [\r\n { required: true, message: "请输入护理机构地址", trigger: "blur" },\r\n ],\r\n linkMan: [{ required: true, message: "请输入联系人", trigger: "blur" }],\r\n linkPhoneNumber: [\r\n { required: true, message: "请输入联系号码", trigger: "blur" },\r\n ],\r\n provinceCode: [{ required: true, message: "请选择", trigger: "blur" }],\r\n },\r\n temp: {\r\n },\r\n downloadLoading: false,\r\n loadExp: false,\r\n cityList: [],\r\n areaList: [],\r\n provinceList: [],\r\n admdvsCodgGrp: [],\r\n options: [],\r\n file_list: [],\r\n fileType: {\r\n "01": "01",\r\n "02": "02",\r\n "03": "03",\r\n "04": "04",\r\n },\r\n };\r\n },\r\n created() {\r\n this.provinceList = pcaCode;\r\n this.getList();\r\n },\r\n methods: {\r\n selectChange(value) {\r\n console.log(value)\r\n //银行大类\r\n this.temp.bankMajcls = value.bank_type_code;\r\n //银行名称\r\n this.temp.bankName = value.bank_abbr;\r\n //开户行id\r\n this.temp.bankId = value.bank_id;\r\n },\r\n remoteMethod(query) {\r\n // 在这里实现远程方法,返回一个 Promise 对象\r\n return new Promise((resolve, reject) => {\r\n SysUnitBank({ bankName: query }).then((res) => {\r\n if (res.status == 1) {\r\n this.options = res.result;\r\n resolve(this.options);\r\n }\r\n });\r\n });\r\n },\r\n provinceChange(item, type) {\r\n if (!item) return;\r\n this.cityList = item.children;\r\n // this.admdvsCodgGrp.push(item.code)\r\n this.temp.provinceCode = item.code;\r\n if (!type) this.crealt();\r\n },\r\n cityChange(item, type) {\r\n if (!item) return;\r\n this.areaList = item.children;\r\n this.temp.cityCode = item.code;\r\n if (!type) {\r\n this.$set(this.temp, "county", "");\r\n }\r\n },\r\n changeDistrict(item) {\r\n // this.admdvsCodgGrp.push(item.code)\r\n this.temp.countyCode = item.code;\r\n },\r\n //省份下拉框方法\r\n initProvince(val) {\r\n if (!val) {\r\n //城市置空\r\n this.cityList = [];\r\n //辖区置空\r\n this.areaList = [];\r\n // this.admdvsCodgGrp = [];\r\n this.crealt();\r\n }\r\n },\r\n //城市下拉框方法\r\n initCity(val) {\r\n if (!val) {\r\n //辖区置空\r\n this.areaList = [];\r\n this.$set(this.temp, "cityCode", "");\r\n }\r\n },\r\n //辖区下拉框方法\r\n initCounty(val) {\r\n if (!val) {\r\n this.$set(this.temp, "countyCode", "");\r\n }\r\n },\r\n crealt() {\r\n this.$set(this.temp, "city", "");\r\n this.$set(this.temp, "county", "");\r\n this.$set(this.temp, "cityCode", "");\r\n this.$set(this.temp, "countyCode", "");\r\n },\r\n getSysUnitBank(bankName) {\r\n SysUnitBank({ bankName }).then((res) => {\r\n console.log(res);\r\n if (res.status === "1") {\r\n // ("银行大类"); ("开户行名称"); ("开户行ID"); ("银行账号"); sw("银行户名"); sw\r\n this.temp = {\r\n ...this.temp,\r\n bankMajcls,\r\n bankName,\r\n bankId,\r\n bankacct,\r\n bankAcctname,\r\n };\r\n }\r\n });\r\n },\r\n expExcel() {\r\n try {\r\n this.loadExp = true;\r\n const form = {\r\n // startDate: this.startDate[0],\r\n // endDate: this.startDate[1],\r\n };\r\n exportsysUnitInfo(form)\r\n .then((res) => {\r\n const blob = new Blob([res]);\r\n const fileName = "机构信息";\r\n if (blob.size > 0) {\r\n const elink = document.createElement("a");\r\n elink.style.display = "none";\r\n elink.href = URL.createObjectURL(blob);\r\n // 类似a标签下载\r\n // 自定义文件名称和导出类型。最好和后台保持一致\r\n elink.download = `${fileName}/${this.$moment().format(\r\n "YYYY-MM-DD"\r\n )}.xlsx`;\r\n document.body.appendChild(elink);\r\n elink.click();\r\n // 释放URL 对象\r\n URL.revokeObjectURL(elink.href);\r\n // 删除创建的 a 标签\r\n document.body.removeChild(elink);\r\n }\r\n this.handleClose();\r\n this.loadExp = false;\r\n })\r\n .catch(() => {\r\n this.loadExp = false;\r\n });\r\n } catch (e) {\r\n this.loadExp = false;\r\n console.log(e);\r\n }\r\n },\r\n urlClick(row) {\r\n this.onPreview({ url: row.agreementPdf });\r\n },\r\n // 文件格式验证\r\n beforeAvatarUploada(file) {\r\n this.loadingstate = true;\r\n let index = file.name.lastIndexOf(".");\r\n let extension = file.name.substr(index + 1);\r\n let extensionList = [\r\n // "png",\r\n // "PNG",\r\n // "jpg",\r\n // "JPG",\r\n // "jpeg",\r\n // "JPEG",\r\n // "bmp",\r\n // "BMP",\r\n "PDF",\r\n "pdf",\r\n ];\r\n const isLt2M = file.size / 1024 / 1024 < 10;\r\n if (!isLt2M) {\r\n this.$message({\r\n message: "封面不可超出10M",\r\n type: "warning",\r\n center: true,\r\n });\r\n return false;\r\n } else if (extensionList.indexOf(extension) < 0) {\r\n this.$message({\r\n message: "只能pdf文件",\r\n type: "error",\r\n center: true,\r\n });\r\n return false;\r\n }\r\n },\r\n urlClick(row) {\r\n this.onPreview({ url: row.agreementPdf });\r\n },\r\n onPreview(file) {\r\n const type = fileUrl(file.url || file.name);\r\n let url = `http://127.0.0.1/img/${file.url || file.name}`;\r\n if (\r\n type == "word" ||\r\n type == "wps" ||\r\n type == "pdf" ||\r\n type == "pptx" ||\r\n type == "txt"\r\n ) {\r\n this.file.type = type;\r\n url = url;\r\n // url = `https://wps-view.zhihuipk.com/?src=` + url;\r\n } else if (type == "image") {\r\n this.file.type = type;\r\n } else if (type == "video") {\r\n this.file.type = type;\r\n } else if (type == "radio") {\r\n this.file.type = type;\r\n } else {\r\n this.$message.error("该格式不可在线预览,请下载后查看");\r\n return;\r\n }\r\n this.file.fileurl = url; // 后端请求回来的文件地址url\r\n this.file.dialogVisible = true; // 弹窗\r\n this.file.title = file.name; // 文件名称\r\n },\r\n modify(row) {\r\n // this.temp = row;\r\n // this.dialogBankVisible = true;\r\n cloudSave({ id: row.id }).then((res) => {\r\n if (res.status == 1) {\r\n this.getList();\r\n this.$notify({\r\n title: "提示",\r\n message: res.info,\r\n type: "success",\r\n duration: 2000,\r\n });\r\n return;\r\n }\r\n this.$notify({\r\n title: "提示",\r\n message: res.info,\r\n type: "error",\r\n duration: 2000,\r\n });\r\n })\r\n },\r\n updateBank() {\r\n SysUnitbankSave(this.temp).then((res) => {\r\n if (res.status == 1) {\r\n this.dialogBankVisible = false;\r\n this.getList();\r\n this.$notify({\r\n title: res.info,\r\n message: "修改成功",\r\n type: "success",\r\n duration: 2000,\r\n });\r\n return;\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: "修改失败",\r\n type: "error",\r\n duration: 2000,\r\n });\r\n });\r\n },\r\n getList() {\r\n this.listLoading = true;\r\n SysUnitPage(this.listQuery).then((response) => {\r\n this.list = response.result.data;\r\n this.total = response.result.count;\r\n console.log(this.list);\r\n setTimeout(() => {\r\n this.listLoading = false;\r\n }, 1.5 * 1000);\r\n });\r\n SysUnitPage({ size: 9999, pageNo: 1 }).then((res) => {\r\n this.institutionList = res.result.data;\r\n });\r\n },\r\n handleModifyStatus(row, status) {\r\n this.$message({\r\n message: "操作成功",\r\n type: "success",\r\n });\r\n row.status = status;\r\n },\r\n resetting(formName) {\r\n this.$nextTick(() => {\r\n this.$refs[formName].resetFields();\r\n this.getList();\r\n });\r\n },\r\n add() {\r\n this.dialogStatus = "create";\r\n this.dialogFormVisible = true;\r\n this.temp = {};\r\n },\r\n onSubmit() {\r\n this.getList();\r\n },\r\n concatenateStrings(str1, str2, str3, withComma) {\r\n let result = `${str1}${withComma ? "," : ""}${str2}${withComma ? "," : ""\r\n }${str3}`;\r\n return result;\r\n },\r\n createData() {\r\n this.$refs["dataForm"].validate((valid) => {\r\n if (valid) {\r\n this.temp.admdvsCodgGrp = this.concatenateStrings(\r\n this.temp.provinceCode,\r\n this.temp.cityCode,\r\n this.temp.countyCode\r\n );\r\n this.temp.file_list = this.file_list;\r\n SysUnitSave(this.temp).then((res) => {\r\n if (res.status == 1) {\r\n this.dialogFormVisible = false;\r\n this.getList();\r\n this.$notify({\r\n title: res.info,\r\n message: "新增成功",\r\n type: "success",\r\n duration: 2000,\r\n });\r\n return;\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: "新增失败",\r\n type: "error",\r\n duration: 2000,\r\n });\r\n });\r\n }\r\n });\r\n },\r\n updateData() {\r\n console.log(this.file_list);\r\n this.$refs["dataForm"].validate((valid) => {\r\n if (valid) {\r\n this.temp.file_list = this.file_list;\r\n SysUnitSave(this.temp).then((res) => {\r\n if (res.status == 1) {\r\n this.dialogFormVisible = false;\r\n this.getList();\r\n this.$notify({\r\n title: res.info,\r\n message: "更新成功",\r\n type: "success",\r\n duration: 2000,\r\n });\r\n return;\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: "更新失败",\r\n type: "error",\r\n duration: 2000,\r\n });\r\n });\r\n }\r\n });\r\n },\r\n edit(row) {\r\n this.fileList = [];\r\n this.oneFileList = [];\r\n this.twoFileList = [];\r\n this.threeFileList = [];\r\n this.temp = row;\r\n this.dialogStatus = "update";\r\n this.dialogFormVisible = true;\r\n if (row.agreementPdf) {\r\n this.fileList.push({\r\n name: row.agreementPdf,\r\n url: row.agreementPdf,\r\n });\r\n }\r\n if (row.oneFile) {\r\n this.oneFileList.push({\r\n name: row.oneFile,\r\n url: row.oneFile,\r\n });\r\n }\r\n if (row.twoFile) {\r\n this.twoFileList.push({\r\n name: row.twoFile,\r\n url: row.twoFile,\r\n });\r\n }\r\n if (row.threeFile) {\r\n this.threeFileList.push({\r\n name: row.threeFile,\r\n url: row.threeFile,\r\n });\r\n }\r\n },\r\n handleDelete(row, index) {\r\n SysUnitDel({ id: row.id }).then((res) => {\r\n console.log(res);\r\n if (res.status == 1) {\r\n this.getList();\r\n this.$notify({\r\n title: res.info,\r\n message: "删除成功",\r\n type: "success",\r\n duration: 2000,\r\n });\r\n return;\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: "删除失败",\r\n type: "error",\r\n duration: 2000,\r\n });\r\n });\r\n // this.list.splice(index, 1)\r\n },\r\n // 处理文件上传操作\r\n handleFileUpload(file) {\r\n const obj = new FormData();\r\n //上传文件\r\n obj.append("file", file.file);\r\n obj.append("realPath", file.file.name);\r\n obj.append("fileName", file.file.name);\r\n obj.append("att_type", file.data.file_type);\r\n console.log(file.data.file_type)\r\n // 上传文件接口\r\n uploadPDF(obj).then((res) => {\r\n if (res.status == 1) {\r\n this.$message({\r\n message: "上传成功",\r\n type: "success",\r\n });\r\n if (file.data.file_type == "04") {\r\n this.temp.agreementPdf = res.result.url;\r\n }\r\n if (file.data.file_type == "01") {\r\n this.temp.oneFile = res.result.url;\r\n }\r\n if (file.data.file_type == "02") {\r\n this.temp.twoFile = res.result.url;\r\n }\r\n if (file.data.file_type == "03") {\r\n this.temp.threeFile = res.result.url;\r\n }\r\n\r\n }\r\n uploadThird(obj).then((res) => {\r\n if (res.status == 1) {\r\n const obj = {\r\n file_type: file.data.file_type,\r\n fs_d_t_o_list: [\r\n {\r\n file_id: res.result.output.file_id,\r\n att_name: res.result.output.att_name,\r\n },\r\n ],\r\n };\r\n this.addFile(obj);\r\n }\r\n });\r\n });\r\n },\r\n beforeRemove(file, fileList) {\r\n return this.$confirm(`确定移除 ${file.name}?`);\r\n },\r\n handleCertPicUrlRemove(file, fileList) {\r\n for (var i = 0; i < this.file_list.length; i++) {\r\n this.file_list[i].fs_d_t_o_list = this.file_list[i].fs_d_t_o_list.filter((item) => {\r\n return item.att_name != file.name;\r\n });\r\n }\r\n console.log(this.file_list);\r\n },\r\n addFile(newFile) {\r\n const existingFileType = this.file_list.find(\r\n (item) => item.file_type === newFile.file_type\r\n );\r\n if (existingFileType) {\r\n if (newFile.file_type == this.fileType[newFile.file_type]) {\r\n existingFileType.fs_d_t_o_list.push(newFile.fs_d_t_o_list[0]);\r\n } else {\r\n this.file_list.push(newFile);\r\n }\r\n } else {\r\n this.file_list.push(newFile);\r\n }\r\n console.log(this.file_list);\r\n },\r\n },\r\n};\r\n<\/script>\r\n<style lang="scss" scoped>\r\n.el-col-12 {\r\n padding: 0 20px 0 0;\r\n}\r\n\r\n.setCity {\r\n display: flex;\r\n gap: 10px;\r\n}\r\n</style>',".el-col-12 {\n padding: 0 20px 0 0;\n}\n\n.setCity {\n display: flex;\n gap: 10px;\n}\n\n/*# sourceMappingURL=index.vue.map */"]},media:void 0})},__vue_scope_id__$4="data-v-4ed0cbb6",__vue_module_identifier__$4=void 0,__vue_is_functional_template__$4=!1,__vue_component__$4=normalizeComponent({render:__vue_render__$4,staticRenderFns:__vue_staticRenderFns__$4},__vue_inject_styles__$4,__vue_script__$4,__vue_scope_id__$4,__vue_is_functional_template__$4,__vue_module_identifier__$4,!1,createInjector,void 0,void 0);var script$3={components:{Pagination:Pagination},name:"user",data:()=>({listLoading:!0,roleList:[],dialogFormVisible:!1,isRouterView:!1,list:[],total:0,queryForm:{pageNo:1,size:10},queryLoad:!1,loading:!1,form:{},saveRules:{name:[{required:!0,message:"请填写账号",trigger:"blur"}],mobile:[{required:!0,message:"请输入手机号码",trigger:"blur"},{validator:(e,t,n)=>{if(!t)return n(new Error("手机号不能为空"));if(!/^1[3456789]\d{9}$/.test(t))return n(new Error("请输入正确的手机号"));n()},trigger:"blur"}]},headPicLoading:!1,headPic:"",formMi:{},dialogFormVisibleMi:!1,dialogTitle:"",unitList:[]}),methods:{add(){this.form={},this.dialogFormVisible=!0,this.dialogTitle="新增用户"},edit(e){this.form={...e.row},this.dialogFormVisible=!0,this.dialogTitle="用户修改"},del(e){let t=e.row;this.$confirm("此操作将永久删除该记录, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{SysUserDel({id:t.id}).then(e=>{1===e.status?(this.$message.success(e.info),this.handleSubmit()):this.$message.error(e.info)})})},resetPassword(e){let t=e.row;this.$confirm("确定是否重置该用户的密码?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{SysUserResetPass({id:t.id}).then(e=>{1===e.status?this.$message.success(e.info):this.$message.error(e.info)})})},save(){this.$refs.form.validate(e=>{if(e){for(let e in this.roleList)this.roleList[e].id===this.form.roleId&&(this.form.roleName=this.roleList[e].name);SysUserSave(this.form).then(e=>{1===e.status?(this.$message.success(e.info),this.dialogFormVisible=!1,this.handleSubmit()):this.$message.error(e.info)})}})},reset(){this.form={},this.delHeadPic()},handleAvatarSuccess(e){1===e.status&&(this.form.headPic=e.result,this.headPic=e.result,this.headPicLoading=!0)},beforeAvatarUpload(e){const t="image/jpeg"===e.type||"image/jpg",n=e.size/1024/1024<2;return t||this.$message.error("上传头像图片只能是 JPG 或 PNG 格式!"),n||this.$message.error("上传头像图片大小不能超过 2MB!"),t&&n},delHeadPic(){this.headPic="",this.headPicLoading=!1},handleSubmit(){this.list=[],this.queryLoad=!0,SysUserPage(this.queryForm).then(e=>{if(1===e.status){setTimeout(()=>{this.listLoading=!1,this.queryLoad=!1},1500),this.total=e.result.count;let n=e.result.data;for(var t=0;t<n.length;t++)n[t].index=t+1,n[t].roleNameTem=n[t].roleName,this.list.push(n[t]);this.total>=1&&(this.loading=!0)}})},handleSizeChange(e){this.queryForm.limit=e,this.handleSubmit()},handleCurrentChange(e){this.queryForm.page=e,this.handleSubmit()}},created(){SysRoleAll().then(e=>{1===e.status&&(this.roleList=e.result)}),SysUnitAll$1().then(e=>{1===e.status&&(this.unitList=e.result)}),this.handleSubmit()}};const __vue_script__$3=script$3;var __vue_render__$3=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"pagebox"},[n("div",{staticClass:"pagebox-search"},[n("el-form",{attrs:{inline:!0,size:"mini"}},[n("el-form-item",{attrs:{label:"账号名称"}},[n("el-input",{staticStyle:{width:"200px"},attrs:{placeholder:"请输入账号",clearable:""},model:{value:e.queryForm.name,callback:function(t){e.$set(e.queryForm,"name",t)},expression:"queryForm.name"}})],1),e._v(" "),n("el-form-item",{attrs:{label:"联系方式 ",clearable:""}},[n("el-input",{staticStyle:{width:"200px"},attrs:{placeholder:"请输入联系方式",clearable:""},model:{value:e.queryForm.mobile,callback:function(t){e.$set(e.queryForm,"mobile",t)},expression:"queryForm.mobile"}})],1),e._v(" "),n("el-form-item",{staticStyle:{"margin-right":"0"}},[n("el-button",{staticStyle:{border:"none"},attrs:{type:"primary",size:"small",icon:"el-icon-search",disabled:e.queryLoad},on:{click:e.handleSubmit}},[e._v("查询")]),e._v(" "),n("el-button",{attrs:{type:"primary"},on:{click:function(t){return e.add()}}},[n("i",{staticClass:"el-icon-plus"}),e._v("\n 新增\n ")])],1)],1)],1),e._v(" "),n("div",{staticClass:"pagebox-content"},[n("el-table",{staticStyle:{width:"100%"},attrs:{height:"65vh",border:"",data:e.list}},[n("el-table-column",{attrs:{prop:"name",align:"center",label:"账号"}}),e._v(" "),n("el-table-column",{attrs:{prop:"mobile",align:"center",label:"联系方式"}}),e._v(" "),n("el-table-column",{attrs:{prop:"roleNameTem",align:"center",label:"角色"}}),e._v(" "),n("el-table-column",{attrs:{prop:"status",align:"center",label:"状态"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s("1"==r.status?"有效":"2"==r.status?"无效":"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"操作",align:"center",width:"280"},scopedSlots:e._u([{key:"default",fn:function(t){return[n("div",{staticClass:"user_btn_items"},[n("el-button",{attrs:{type:"primary",size:"mini"},nativeOn:{click:function(n){return n.preventDefault(),e.edit(t)}}},[e._v("编辑")]),e._v(" "),n("el-button",{attrs:{type:"danger",size:"mini"},nativeOn:{click:function(n){return n.preventDefault(),e.del(t)}}},[e._v("移除")]),e._v(" "),n("el-button",{attrs:{type:"primary",size:"mini"},nativeOn:{click:function(n){return n.preventDefault(),e.resetPassword(t)}}},[e._v("密码重置")])],1)]}}])})],1),e._v(" "),n("pagination",{directives:[{name:"show",rawName:"v-show",value:e.total>0,expression:"total > 0"}],attrs:{total:e.total,page:e.queryForm.page,limit:e.queryForm.limit},on:{"update:page":function(t){return e.$set(e.queryForm,"page",t)},"update:limit":function(t){return e.$set(e.queryForm,"limit",t)},pagination:e.handleSubmit}})],1),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:e.dialogTitle,width:"40%",visible:e.dialogFormVisible,"modal-append-to-body":!1},on:{"update:visible":function(t){e.dialogFormVisible=t}}},[n("el-form",{ref:"form",attrs:{model:e.form,rules:e.saveRules,"label-position":"right","label-width":"120px"}},[n("el-row",{attrs:{gutter:20}},[n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"账号:",prop:"name"}},[n("el-input",{staticStyle:{width:"100%"},attrs:{size:"small",placeholder:"请输入账号",clearable:""},model:{value:e.form.name,callback:function(t){e.$set(e.form,"name",t)},expression:"form.name"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"联系方式:",prop:"mobile"}},[n("el-input",{staticStyle:{width:"100%"},attrs:{size:"small",placeholder:"请输入手机号码",clearable:""},model:{value:e.form.mobile,callback:function(t){e.$set(e.form,"mobile",t)},expression:"form.mobile"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"所属角色:",prop:"roleId"}},[n("el-select",{staticStyle:{width:"100%"},attrs:{size:"small",placeholder:"请选择所属角色"},model:{value:e.form.roleId,callback:function(t){e.$set(e.form,"roleId",t)},expression:"form.roleId"}},e._l(e.roleList,function(e){return n("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})}),1)],1)],1),e._v(" "),"1751170028811567106"!=e.form.roleId&&"1751169876856127489"!=e.form.roleId?n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"所属机构:",prop:"unitId"}},[n("el-select",{staticStyle:{width:"100%"},attrs:{size:"small",placeholder:"请选择所属机构"},model:{value:e.form.unitId,callback:function(t){e.$set(e.form,"unitId",t)},expression:"form.unitId"}},e._l(e.unitList,function(e){return n("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})}),1)],1)],1):e._e(),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"状态:"}},[n("el-select",{staticStyle:{width:"100%"},attrs:{size:"small",placeholder:"请选择状态",clearable:""},model:{value:e.form.status,callback:function(t){e.$set(e.form,"status",t)},expression:"form.status"}},[n("el-option",{attrs:{label:"无效",value:"2"}}),e._v(" "),n("el-option",{attrs:{label:"有效",value:"1"}})],1)],1)],1)],1)],1),e._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.save}},[e._v("保存")]),e._v(" "),n("el-button",{attrs:{size:"small"},on:{click:e.reset}},[e._v("重置")])],1)],1),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"密码修改",visible:e.dialogFormVisibleMi,"modal-append-to-body":!1,width:"700px"},on:{"update:visible":function(t){e.dialogFormVisibleMi=t}}},[n("el-form",{ref:"form",staticStyle:{display:"flex","flex-direction":"column","justify-content":"center","align-items":"center"},attrs:{model:e.formMi,rules:e.saveRules}},[n("div",{staticClass:"user_form_item"},[n("el-form-item",{attrs:{label:"账号:"}},[n("el-input",{staticStyle:{width:"100%"},attrs:{disabled:""},model:{value:e.formMi.name,callback:function(t){e.$set(e.formMi,"name",t)},expression:"formMi.name"}})],1)],1),e._v(" "),n("div",{staticClass:"user_form_item"},[n("el-form-item",{attrs:{label:"密码:"}},[n("el-input",{staticStyle:{width:"100%"},attrs:{type:"password",clearable:""},model:{value:e.formMi.password,callback:function(t){e.$set(e.formMi,"password",t)},expression:"formMi.password"}})],1)],1)]),e._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"})],1)],1)},__vue_staticRenderFns__$3=[];__vue_render__$3._withStripped=!0;const __vue_inject_styles__$3=function(e){e&&e("data-v-ebd64368_0",{source:".pagebox[data-v-ebd64368] {\n padding: 20px;\n}\n.el-form-item__content[data-v-ebd64368] {\n margin-left: 0 !important;\n}\n.el-dialog__title[data-v-ebd64368] {\n font-size: 14px;\n}\n\n/*# sourceMappingURL=index.vue.map */",map:{version:3,sources:["E:\\公司项目\\changhuxianlocal\\changhuxian-vue-components\\src\\pages\\sys\\user\\index.vue","index.vue"],names:[],mappings:"AA+TA;EACA,aAAA;AC9TA;ADkUA;EACA,yBAAA;AC/TA;ADyVA;EACA,eAAA;ACtVA;;AAEA,oCAAoC",file:"index.vue",sourcesContent:['<template>\r\n <div class="pagebox">\r\n <div class="pagebox-search">\r\n <el-form :inline="true" size="mini">\r\n <el-form-item label="账号名称">\r\n <el-input v-model="queryForm.name" placeholder="请输入账号" clearable style="width: 200px" />\r\n </el-form-item>\r\n <el-form-item label="联系方式 " clearable>\r\n <el-input v-model="queryForm.mobile" placeholder="请输入联系方式" clearable style="width: 200px" />\r\n </el-form-item>\r\n <el-form-item style="margin-right: 0">\r\n <el-button type="primary" size="small" icon="el-icon-search" :disabled="queryLoad" @click="handleSubmit"\r\n style="border: none">查询</el-button>\r\n <el-button type="primary" @click="add()">\r\n <i class="el-icon-plus" />\r\n 新增\r\n </el-button>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n <div class="pagebox-content">\r\n <el-table height="65vh" border :data="list" style="width: 100%">\r\n \x3c!-- <el-table-column prop="index" align="center" label="排序" width="100" /> --\x3e\r\n <el-table-column prop="name" align="center" label="账号" />\r\n <el-table-column prop="mobile" align="center" label="联系方式" />\r\n <el-table-column prop="roleNameTem" align="center" label="角色" />\r\n <el-table-column prop="status" align="center" label="状态">\r\n <template slot-scope="{row}">\r\n <span>{{ row.status == \'1\' ? \'有效\' : row.status == \'2\' ? \'无效\' : \'-\' }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label="操作" align="center" width="280" >\r\n <template slot-scope="scope">\r\n <div class="user_btn_items">\r\n <el-button type="primary" @click.native.prevent="edit(scope)" size="mini">编辑</el-button>\r\n <el-button type="danger" @click.native.prevent="del(scope)" size="mini">移除</el-button>\r\n <el-button type="primary" @click.native.prevent="resetPassword(scope)" size="mini">密码重置</el-button>\r\n </div>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <pagination v-show="total > 0" :total="total" :page.sync="queryForm.page" :limit.sync="queryForm.limit"\r\n @pagination="handleSubmit" />\r\n </div>\r\n\r\n <el-dialog\r\n :close-on-click-modal="false" \r\n :close-on-press-escape="false"\r\n :title="dialogTitle" width="40%" :visible.sync="dialogFormVisible" :modal-append-to-body="false">\r\n <el-form :model="form" :rules="saveRules" ref="form" label-position="right" label-width="120px">\r\n <el-row :gutter="20">\r\n <el-col :span="12">\r\n <el-form-item label="账号:" prop="name">\r\n <el-input size="small" v-model="form.name" style="width: 100%" placeholder="请输入账号" clearable></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="联系方式:" prop="mobile">\r\n <el-input size="small" v-model="form.mobile" style="width: 100%" placeholder="请输入手机号码" clearable></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="所属角色:" prop="roleId">\r\n <el-select size="small" v-model="form.roleId" placeholder="请选择所属角色" style="width: 100%">\r\n <el-option v-for="item in roleList" :key="item.id" :label="item.name" :value="item.id"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12" v-if="form.roleId != \'1751170028811567106\' && form.roleId != \'1751169876856127489\'">\r\n <el-form-item label="所属机构:" prop="unitId">\r\n <el-select size="small" v-model="form.unitId" placeholder="请选择所属机构" style="width: 100%">\r\n <el-option v-for="item in unitList" :key="item.id" :label="item.name" :value="item.id"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="状态:">\r\n <el-select size="small" v-model="form.status" placeholder="请选择状态" style="width: 100%" clearable>\r\n <el-option label="无效" :value="\'2\'"></el-option>\r\n <el-option label="有效" :value="\'1\'"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <div slot="footer" class="dialog-footer">\r\n <el-button type="primary" size="small" @click="save">保存</el-button>\r\n <el-button @click="reset" size="small">重置</el-button>\r\n </div>\r\n </el-dialog>\r\n\r\n \x3c!-- 密码修改 --\x3e\r\n <el-dialog\r\n :close-on-click-modal="false" \r\n :close-on-press-escape="false"\r\n title="密码修改" :visible.sync="dialogFormVisibleMi" :modal-append-to-body="false" width="700px">\r\n <el-form :model="formMi" :rules="saveRules" ref="form" style="\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n ">\r\n \x3c!-- --\x3e\r\n <div class="user_form_item">\r\n <el-form-item label="账号:">\r\n <el-input v-model="formMi.name" style="width: 100%" disabled></el-input>\r\n </el-form-item>\r\n </div>\r\n <div class="user_form_item">\r\n <el-form-item label="密码:">\r\n <el-input type="password" v-model="formMi.password" style="width: 100%" clearable></el-input>\r\n </el-form-item>\r\n </div>\r\n </el-form>\r\n \x3c!-- 保存/重置 --\x3e\r\n <div slot="footer" class="dialog-footer">\r\n \x3c!-- <el-button type="primary" @click="savePassWord">保存</el-button>--\x3e\r\n </div>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n<script>\r\nimport Pagination from \'@/components/Pagination\'\r\nimport {\r\n SysUserUPPass,\r\n SysUserResetPass,\r\n SysUserPage,\r\n SysUserDel,\r\n SysUserSave,\r\n SysRoleAll,\r\n SysUnitAll,\r\n} from "@/api/sys.js";\r\n\r\nexport default {\r\n components: { Pagination },\r\n // inject:[\'reload\'],\r\n name: "user",\r\n data() {\r\n var checkPhone = (rule, value, callback) => {\r\n // 手机号验证\r\n if (!value) {\r\n return callback(new Error("手机号不能为空"));\r\n } else {\r\n const reg = /^1[3456789]\\d{9}$/;\r\n if (reg.test(value)) {\r\n callback();\r\n } else {\r\n return callback(new Error("请输入正确的手机号"));\r\n }\r\n }\r\n };\r\n return {\r\n listLoading: true,\r\n roleList: [],\r\n dialogFormVisible: false,\r\n isRouterView: false,\r\n list: [],\r\n total: 0,\r\n queryForm: {\r\n pageNo: 1,\r\n size: 10,\r\n },\r\n queryLoad: false,\r\n loading: false,\r\n form: {},\r\n saveRules: {\r\n name: [{ required: true, message: "请填写账号", trigger: "blur" }],\r\n mobile: [\r\n { required: true, message: "请输入手机号码", trigger: "blur" },\r\n { validator: checkPhone, trigger: "blur" },\r\n ],\r\n },\r\n headPicLoading: false,\r\n headPic: "",\r\n formMi: {},\r\n dialogFormVisibleMi: false,\r\n dialogTitle: "",\r\n unitList: []\r\n };\r\n },\r\n methods: {\r\n add() {\r\n this.form = {};\r\n this.dialogFormVisible = true;\r\n this.dialogTitle = "新增用户";\r\n },\r\n edit(data) {\r\n this.form = { ...data.row };\r\n this.dialogFormVisible = true;\r\n this.dialogTitle = "用户修改";\r\n },\r\n del(data) {\r\n let row = data.row;\r\n this.$confirm("此操作将永久删除该记录, 是否继续?", "提示", {\r\n confirmButtonText: "确定",\r\n cancelButtonText: "取消",\r\n type: "warning",\r\n }).then(() => {\r\n SysUserDel({ id: row.id }).then((res) => {\r\n if (res.status === 1) {\r\n this.$message.success(res.info);\r\n this.handleSubmit();\r\n } else {\r\n this.$message.error(res.info);\r\n }\r\n });\r\n });\r\n },\r\n resetPassword(data) {\r\n let row = data.row;\r\n this.$confirm("确定是否重置该用户的密码?", "提示", {\r\n confirmButtonText: "确定",\r\n cancelButtonText: "取消",\r\n type: "warning",\r\n }).then(() => {\r\n SysUserResetPass({\r\n id: row.id,\r\n }).then((res) => {\r\n if (res.status === 1) {\r\n this.$message.success(res.info);\r\n } else {\r\n this.$message.error(res.info);\r\n }\r\n });\r\n });\r\n },\r\n save() {\r\n this.$refs.form.validate((valid) => {\r\n if (valid) {\r\n for (let v in this.roleList) {\r\n if (this.roleList[v].id === this.form.roleId) {\r\n this.form.roleName = this.roleList[v].name;\r\n }\r\n }\r\n SysUserSave(this.form).then((res) => {\r\n if (res.status === 1) {\r\n this.$message.success(res.info);\r\n this.dialogFormVisible = false;\r\n this.handleSubmit();\r\n } else {\r\n this.$message.error(res.info);\r\n }\r\n });\r\n }\r\n });\r\n },\r\n reset() {\r\n this.form = {};\r\n this.delHeadPic();\r\n },\r\n handleAvatarSuccess(res) {\r\n if (res.status === 1) {\r\n this.form.headPic = res.result;\r\n this.headPic = res.result;\r\n this.headPicLoading = true;\r\n }\r\n },\r\n beforeAvatarUpload(file) {\r\n const fileType = file.type === "image/jpeg" || "image/jpg";\r\n const isLt2M = file.size / 1024 / 1024 < 2;\r\n if (!fileType) {\r\n this.$message.error("上传头像图片只能是 JPG 或 PNG 格式!");\r\n }\r\n if (!isLt2M) {\r\n this.$message.error("上传头像图片大小不能超过 2MB!");\r\n }\r\n return fileType && isLt2M;\r\n },\r\n delHeadPic() {\r\n this.headPic = "";\r\n this.headPicLoading = false;\r\n },\r\n handleSubmit() {\r\n this.list = [];\r\n this.queryLoad = true;\r\n SysUserPage(this.queryForm).then((res) => {\r\n if (res.status === 1) {\r\n setTimeout(() => {\r\n this.listLoading = false\r\n this.queryLoad = false;\r\n }, 1.5 * 1000)\r\n this.total = res.result.count;\r\n let dep = res.result.data;\r\n for (var i = 0; i < dep.length; i++) {\r\n dep[i].index = i + 1;\r\n dep[i].roleNameTem = dep[i].roleName;\r\n this.list.push(dep[i]);\r\n }\r\n if (this.total >= 1) {\r\n this.loading = true;\r\n }\r\n }\r\n });\r\n },\r\n handleSizeChange(val) {\r\n this.queryForm.limit = val;\r\n this.handleSubmit();\r\n },\r\n handleCurrentChange(val) {\r\n this.queryForm.page = val;\r\n this.handleSubmit();\r\n },\r\n },\r\n created() {\r\n SysRoleAll().then((res) => {\r\n if (res.status === 1) {\r\n this.roleList = res.result;\r\n }\r\n });\r\n SysUnitAll().then((res) => {\r\n if (res.status === 1) {\r\n this.unitList = res.result;\r\n }\r\n });\r\n this.handleSubmit();\r\n },\r\n};\r\n<\/script>\r\n<style lang="scss" scoped>\r\n.pagebox {\r\n padding: 20px;\r\n}\r\n\r\n\r\n.el-form-item__content {\r\n margin-left: 0 !important;\r\n}\r\n\r\n.el-dialog__wrapper>>>.el-dialog__header {\r\n background-color: #f8f8f8;\r\n}\r\n\r\n.el-table>>>td {\r\n text-align: center;\r\n}\r\n\r\n.el-table>>>th {\r\n text-align: center;\r\n}\r\n\r\n.role_form_item>>>.el-form-item {\r\n display: flex;\r\n align-items: center;\r\n align-content: space-between;\r\n justify-content: space-evenly;\r\n}\r\n\r\n.role_btn_items>>>.el-button {\r\n padding: 5px 10px;\r\n}\r\n\r\n.el-dialog__title {\r\n font-size: 14px;\r\n}\r\n</style>\r\n',".pagebox {\n padding: 20px;\n}\n\n.el-form-item__content {\n margin-left: 0 !important;\n}\n\n.el-dialog__title {\n font-size: 14px;\n}\n\n/*# sourceMappingURL=index.vue.map */"]},media:void 0})},__vue_scope_id__$3="data-v-ebd64368",__vue_module_identifier__$3=void 0,__vue_is_functional_template__$3=!1,__vue_component__$3=normalizeComponent({render:__vue_render__$3,staticRenderFns:__vue_staticRenderFns__$3},__vue_inject_styles__$3,__vue_script__$3,__vue_scope_id__$3,__vue_is_functional_template__$3,__vue_module_identifier__$3,!1,createInjector,void 0,void 0);var script$2={name:"role",data:()=>({listLoading:!0,dialogFormVisible:!1,isRouterView:!1,list:[],total:0,queryForm:{pageNo:1,size:10},queryLoad:!1,loading:!1,form:{},saveRules:{name:[{required:!0,message:"请填写角色名称",trigger:"blur"}],level:[{required:!0,message:"请选择权限级别",trigger:"blur"}]},nodeTree:[],defaultProps:{children:"children",label:"name"},nodes:[],dialogTitle:""}),components:{Pagination:Pagination},watch:{$route:{handler(e){if("/sys/role/save"==e.path)this.isRouterView=!0;else{"1"==this.$route.query.refresh&&this.handleSubmit(),this.isRouterView=!1}},immediate:!0}},methods:{add(){this.form={},this.dialogFormVisible=!0,this.dialogTitle="新增角色"},edit(e){this.form={...e.row},this.dialogTitle="角色修改",SysRoleAccess({roleId:this.form.id}).then(e=>{if(console.log(e,"resv"),1===e.status){let t=e.result;console.log(t,"list");let n=[];for(let[e,r]of t.entries())n.push(r.nodeId);this.$refs.tree.setCheckedKeys(n),console.log(n,"checkedKeys")}}),this.dialogFormVisible=!0},del(e){let t=e.row;this.$confirm("此操作将永久删除该记录, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{SysRoleDel({id:t.id}).then(e=>{1===e.status?(this.$message.success(e.info),this.handleSubmit()):this.$message.error(e.info)})})},save(){this.$refs.form.validate(e=>{e&&(this.form.nodeIds=this.$refs.tree.getCheckedKeys().join(","),SysRoleSave(this.form).then(e=>{1===e.status?(this.$message.success(e.info),this.dialogFormVisible=!1,this.handleSubmit(),this.reset()):this.$message.error(e.info)}))})},reset(){this.form={}},handleSubmit(){this.list=[],this.listLoading=!0,this.queryLoad=!0,SysRolePage(this.queryForm).then(e=>{if(1===e.status){setTimeout(()=>{this.listLoading=!1,this.queryLoad=!1},1500),this.total=e.result.count;let n=e.result.data;for(var t=0;t<n.length;t++)n[t].index=t+1,this.list.push(n[t]);this.total>=1&&(this.loading=!0),console.log(this.loading)}-1===e.status&&(this.$fn.delCookie("user"),this.$store.dispatch("setUser",""),this.$store.dispatch("setRowData",{}),this.$router.push("/login"))})},handleSizeChange(e){this.queryForm.limit=e,this.handleSubmit()},handleCurrentChange(e){this.queryForm.page=e,this.handleSubmit()}},created(){this.handleSubmit(),SysNodeTree().then(e=>{if(1===e.status){this.nodeTree=[];let t={id:"0",name:"菜单",lv:0,type:"1",children:e.result};this.nodeTree.push(t)}})}};const __vue_script__$2=script$2;var __vue_render__$2=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"pagebox"},[n("div",{staticClass:"pagebox-search"},[n("el-form",{attrs:{inline:!0,size:"mini"}},[n("el-form-item",{attrs:{label:"角色名称"}},[n("el-input",{staticStyle:{width:"200px"},attrs:{placeholder:"请输入角色名称",clearable:""},model:{value:e.queryForm.name,callback:function(t){e.$set(e.queryForm,"name",t)},expression:"queryForm.name"}})],1),e._v(" "),n("el-form-item",{staticStyle:{"margin-right":"0"}},[n("el-button",{attrs:{type:"primary",disabled:e.queryLoad},on:{click:e.handleSubmit}},[n("i",{staticClass:"el-icon-search"}),e._v("\n 查询\n ")])],1),e._v(" "),n("el-form-item",{staticStyle:{"margin-left":"15px"}},[n("el-button",{attrs:{type:"primary"},on:{click:e.add}},[n("i",{staticClass:"el-icon-plus"}),e._v("\n 新增\n ")]),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:e.dialogTitle,visible:e.dialogFormVisible,"modal-append-to-body":!1,width:"600px"},on:{"update:visible":function(t){e.dialogFormVisible=t}}},[n("el-form",{ref:"form",staticStyle:{display:"flex","flex-direction":"column-reverse","justify-content":"center","align-items":"center"},attrs:{model:e.form,rules:e.saveRules}},[n("div",{staticClass:"form-box"},[n("br"),e._v(" "),n("div",{staticClass:"role_form_item"},[n("el-form-item",{attrs:{prop:"name",label:"角色名称:"}},[n("el-input",{staticStyle:{width:"380px"},attrs:{autocomplete:"off",clearable:""},model:{value:e.form.name,callback:function(t){e.$set(e.form,"name",t)},expression:"form.name"}})],1)],1)]),e._v(" "),n("div",{staticClass:"tree-box"},[n("el-tree",{ref:"tree",staticClass:"filter-tree",staticStyle:{width:"380px"},attrs:{data:e.nodeTree,props:e.defaultProps,"expand-on-click-node":!0,"show-checkbox":"","node-key":"id"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.node,l=t.data;return n("span",{staticClass:"custom-tree-node"},[n("span",[n("i",{class:l.children.length>0?"el-icon-folder-opened":"el-icon-folder"}),e._v("\n "+e._s(r.label)+"\n ")])])}}])})],1)]),e._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{type:"primary"},on:{click:e.save}},[e._v("保存")]),e._v(" "),n("el-button",{on:{click:e.reset}},[e._v("重置")])],1)],1)],1)],1)],1),e._v(" "),n("div",{staticClass:"pagebox-content"},[n("el-table",{staticStyle:{width:"100%"},attrs:{data:e.list,border:"",height:"65vh"}},[n("el-table-column",{attrs:{prop:"name",label:"角色名称",align:"center"}}),e._v(" "),n("el-table-column",{attrs:{prop:"createTime",label:"创建时间",align:"center"}}),e._v(" "),n("el-table-column",{attrs:{label:"操作",width:"150",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){return[n("div",{staticClass:"role_btn_items"},[n("el-button",{staticStyle:{color:"#fff","background-color":"#93c96d"},attrs:{round:"",type:"text",size:"mini"},nativeOn:{click:function(n){return n.preventDefault(),e.edit(t)}}},[e._v("编辑")]),e._v(" "),n("el-button",{staticStyle:{color:"#fff","background-color":"#ff7f50"},attrs:{round:"",type:"text",size:"mini"},nativeOn:{click:function(n){return n.preventDefault(),e.del(t)}}},[e._v("移除")])],1)]}}])})],1),e._v(" "),n("pagination",{directives:[{name:"show",rawName:"v-show",value:e.total>0,expression:"total > 0"}],attrs:{total:e.total,page:e.queryForm.page,limit:e.queryForm.limit},on:{"update:page":function(t){return e.$set(e.queryForm,"page",t)},"update:limit":function(t){return e.$set(e.queryForm,"limit",t)},pagination:e.handleSubmit}})],1)])},__vue_staticRenderFns__$2=[];__vue_render__$2._withStripped=!0;const __vue_inject_styles__$2=function(e){e&&e("data-v-a6de6998_0",{source:".pagebox[data-v-a6de6998] {\n padding: 20px;\n}\n.el-form-item[data-v-a6de6998] {\n margin-bottom: 10px !important;\n}\n.el-form-item__content[data-v-a6de6998] {\n margin-left: 0 !important;\n}\n.el-dialog__title[data-v-a6de6998] {\n font-size: 14px;\n}\n\n/*# sourceMappingURL=index.vue.map */",map:{version:3,sources:["E:\\公司项目\\changhuxianlocal\\changhuxian-vue-components\\src\\pages\\sys\\role\\index.vue","index.vue"],names:[],mappings:"AAgRA;EACA,aAAA;AC/QA;ADkRA;EACA,8BAAA;AC/QA;ADkRA;EACA,yBAAA;AC/QA;ADySA;EACA,eAAA;ACtSA;;AAEA,oCAAoC",file:"index.vue",sourcesContent:['<template>\r\n <div class="pagebox">\r\n <div class="pagebox-search">\r\n <el-form :inline="true" size="mini">\r\n \x3c!-- 查询 start --\x3e\r\n <el-form-item label="角色名称">\r\n <el-input v-model="queryForm.name" placeholder="请输入角色名称" clearable style="width: 200px" />\r\n </el-form-item>\r\n <el-form-item style="margin-right: 0">\r\n <el-button type="primary" @click="handleSubmit" :disabled="queryLoad">\r\n <i class="el-icon-search" />\r\n 查询\r\n </el-button>\r\n </el-form-item>\r\n \x3c!-- end --\x3e\r\n \x3c!-- <div style="border:1px solid #ddd"></div> --\x3e\r\n \x3c!-- 新增 start --\x3e\r\n <el-form-item style="margin-left: 15px">\r\n <el-button type="primary" @click="add">\r\n <i class="el-icon-plus" />\r\n 新增\r\n </el-button>\r\n <el-dialog\r\n :close-on-click-modal="false" \r\n :close-on-press-escape="false"\r\n :title="dialogTitle" :visible.sync="dialogFormVisible" :modal-append-to-body="false" width="600px">\r\n <el-form :model="form" :rules="saveRules" ref="form" style="\r\n display: flex;\r\n flex-direction: column-reverse;\r\n justify-content: center;\r\n align-items: center;\r\n ">\r\n <div class="form-box">\r\n <br />\r\n \x3c!-- 角色名称 --\x3e\r\n <div class="role_form_item">\r\n <el-form-item prop="name" label="角色名称:">\r\n <el-input v-model="form.name" autocomplete="off" clearable style="width: 380px" />\r\n </el-form-item>\r\n </div>\r\n </div>\r\n \x3c!-- 权限 --\x3e\r\n <div class="tree-box">\r\n <el-tree class="filter-tree" :data="nodeTree" :props="defaultProps" :expand-on-click-node="true"\r\n show-checkbox node-key="id" ref="tree" style="width: 380px">\r\n <span class="custom-tree-node" slot-scope="{ node, data }">\r\n <span>\r\n <i :class="data.children.length > 0\r\n ? \'el-icon-folder-opened\'\r\n : \'el-icon-folder\'\r\n "></i>\r\n {{ node.label }}\r\n </span>\r\n </span>\r\n </el-tree>\r\n </div>\r\n </el-form>\r\n \x3c!-- 保存/重置 --\x3e\r\n <div slot="footer" class="dialog-footer">\r\n <el-button type="primary" @click="save">保存</el-button>\r\n <el-button @click="reset">重置</el-button>\r\n </div>\r\n </el-dialog>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n \x3c!-- 主体 --\x3e\r\n <div class="pagebox-content">\r\n <el-table :data="list" border height="65vh" style="width: 100%">\r\n \x3c!-- <el-table-column prop="index" label="排序" width="100" align="center"/> --\x3e\r\n <el-table-column prop="name" label="角色名称" align="center"/>\r\n <el-table-column prop="createTime" label="创建时间" align="center"/>\r\n <el-table-column label="操作" width="150" align="center">\r\n <template slot-scope="scope">\r\n <div class="role_btn_items">\r\n <el-button round style="color: #fff; background-color: #93c96d" @click.native.prevent="edit(scope)"\r\n type="text" size="mini">编辑</el-button>\r\n <el-button round style="color: #fff; background-color: #ff7f50" @click.native.prevent="del(scope)"\r\n type="text" size="mini">移除</el-button>\r\n </div>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <pagination v-show="total > 0" :total="total" :page.sync="queryForm.page" :limit.sync="queryForm.limit"\r\n @pagination="handleSubmit" />\r\n </div>\r\n </div>\r\n</template>\r\n<script>\r\nimport {\r\n SysRoleAll,\r\n SysRoleDel,\r\n SysRoleAccess,\r\n SysRolePage,\r\n SysRoleSave,\r\n SysNodeTree,\r\n} from "@/api/sys.js";\r\nimport Pagination from \'@/components/Pagination\'\r\nexport default {\r\n name: "role",\r\n data() {\r\n return {\r\n listLoading: true,\r\n dialogFormVisible: false,\r\n isRouterView: false,\r\n list: [],\r\n total: 0,\r\n queryForm: {\r\n pageNo: 1,\r\n size: 10,\r\n },\r\n queryLoad: false,\r\n loading: false,\r\n form: {},\r\n saveRules: {\r\n name: [{ required: true, message: "请填写角色名称", trigger: "blur" }],\r\n level: [{ required: true, message: "请选择权限级别", trigger: "blur" }],\r\n },\r\n nodeTree: [],\r\n defaultProps: {\r\n children: "children",\r\n label: "name",\r\n },\r\n nodes: [],\r\n dialogTitle: "",\r\n };\r\n },\r\n components: { Pagination },\r\n watch: {\r\n $route: {\r\n handler(route) {\r\n if (route.path == "/sys/role/save") {\r\n this.isRouterView = true;\r\n } else {\r\n let refresh = this.$route.query.refresh;\r\n if (refresh == "1") {\r\n this.handleSubmit();\r\n }\r\n this.isRouterView = false;\r\n }\r\n },\r\n immediate: true,\r\n },\r\n },\r\n methods: {\r\n add() {\r\n this.form = {};\r\n this.dialogFormVisible = true;\r\n this.dialogTitle = "新增角色";\r\n },\r\n edit(data) {\r\n this.form = { ...data.row };\r\n this.dialogTitle = "角色修改";\r\n SysRoleAccess({\r\n roleId: this.form.id,\r\n }).then((resv) => {\r\n console.log(resv,\'resv\');\r\n \r\n if (resv.status === 1) {\r\n let list = resv.result;\r\n console.log(list,\'list\');\r\n let checkedKeys = [];\r\n for (let [i, v] of list.entries()) {\r\n // if (v.hasSon == "0") {\r\n checkedKeys.push(v.nodeId);\r\n // }\r\n }\r\n this.$refs.tree.setCheckedKeys(checkedKeys);\r\n console.log(checkedKeys,\'checkedKeys\');\r\n }\r\n });\r\n this.dialogFormVisible = true;\r\n },\r\n del(data) {\r\n let row = data.row;\r\n this.$confirm("此操作将永久删除该记录, 是否继续?", "提示", {\r\n confirmButtonText: "确定",\r\n cancelButtonText: "取消",\r\n type: "warning",\r\n }).then(() => {\r\n SysRoleDel({ id: row.id }).then((res) => {\r\n if (res.status === 1) {\r\n this.$message.success(res.info);\r\n this.handleSubmit();\r\n } else {\r\n this.$message.error(res.info);\r\n }\r\n });\r\n });\r\n },\r\n // 保存\r\n save() {\r\n this.$refs.form.validate((valid) => {\r\n if (valid) {\r\n this.form.nodeIds = this.$refs.tree.getCheckedKeys().join(",");\r\n SysRoleSave(this.form).then((res) => {\r\n if (res.status === 1) {\r\n this.$message.success(res.info);\r\n this.dialogFormVisible = false;\r\n this.handleSubmit();\r\n this.reset();\r\n } else {\r\n this.$message.error(res.info);\r\n }\r\n });\r\n }\r\n });\r\n },\r\n reset() {\r\n this.form = {};\r\n },\r\n\r\n // 查询\r\n handleSubmit() {\r\n this.list = [];\r\n this.listLoading = true\r\n this.queryLoad = true;\r\n SysRolePage(this.queryForm).then((res) => {\r\n if (res.status === 1) {\r\n setTimeout(() => {\r\n this.listLoading = false\r\n this.queryLoad = false;\r\n }, 1.5 * 1000)\r\n this.total = res.result.count;\r\n let dep = res.result.data;\r\n for (var i = 0; i < dep.length; i++) {\r\n dep[i].index = i + 1;\r\n this.list.push(dep[i]);\r\n }\r\n // console.log(this.list);\r\n if (this.total >= 1) {\r\n this.loading = true;\r\n }\r\n console.log(this.loading);\r\n }\r\n // 判断status为-1的时候,则返回登录页面\r\n if (res.status === -1) {\r\n this.$fn.delCookie("user");\r\n this.$store.dispatch("setUser", "");\r\n this.$store.dispatch("setRowData", {});\r\n this.$router.push("/login");\r\n }\r\n });\r\n },\r\n handleSizeChange(val) {\r\n this.queryForm.limit = val;\r\n this.handleSubmit();\r\n },\r\n handleCurrentChange(val) {\r\n this.queryForm.page = val;\r\n this.handleSubmit();\r\n },\r\n },\r\n created() {\r\n this.handleSubmit();\r\n SysNodeTree().then((res) => {\r\n if (res.status === 1) {\r\n this.nodeTree = [];\r\n let baseNode = {\r\n id: "0",\r\n name: "菜单",\r\n lv: 0,\r\n type: "1",\r\n children: res.result,\r\n };\r\n this.nodeTree.push(baseNode);\r\n }\r\n });\r\n },\r\n};\r\n<\/script>\r\n<style lang="scss" scoped>\r\n.pagebox {\r\n padding: 20px;\r\n}\r\n\r\n.el-form-item {\r\n margin-bottom: 10px !important;\r\n}\r\n\r\n.el-form-item__content {\r\n margin-left: 0 !important;\r\n}\r\n\r\n.el-dialog__wrapper>>>.el-dialog__header {\r\n background-color: #f8f8f8;\r\n}\r\n\r\n.el-table>>>td {\r\n text-align: center;\r\n}\r\n\r\n.el-table>>>th {\r\n text-align: center;\r\n}\r\n\r\n.role_form_item>>>.el-form-item {\r\n display: flex;\r\n align-items: center;\r\n align-content: space-between;\r\n justify-content: space-evenly;\r\n}\r\n\r\n.role_btn_items>>>.el-button {\r\n padding: 5px 10px;\r\n}\r\n\r\n.el-dialog__title {\r\n font-size: 14px;\r\n}\r\n</style>\r\n\r\n',".pagebox {\n padding: 20px;\n}\n\n.el-form-item {\n margin-bottom: 10px !important;\n}\n\n.el-form-item__content {\n margin-left: 0 !important;\n}\n\n.el-dialog__title {\n font-size: 14px;\n}\n\n/*# sourceMappingURL=index.vue.map */"]},media:void 0})},__vue_scope_id__$2="data-v-a6de6998",__vue_module_identifier__$2=void 0,__vue_is_functional_template__$2=!1,__vue_component__$2=normalizeComponent({render:__vue_render__$2,staticRenderFns:__vue_staticRenderFns__$2},__vue_inject_styles__$2,__vue_script__$2,__vue_scope_id__$2,__vue_is_functional_template__$2,__vue_module_identifier__$2,!1,createInjector,void 0,void 0);Math.easeInOutQuad=function(e,t,n,r){return(e/=r/2)<1?n/2*e*e+t:-n/2*(--e*(e-2)-1)+t};var requestAnimFrame=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(e){window.setTimeout(e,1e3/60)};function move(e){document.documentElement.scrollTop=e,document.body.parentNode.scrollTop=e,document.body.scrollTop=e}function position(){return document.documentElement.scrollTop||document.body.parentNode.scrollTop||document.body.scrollTop}function scrollTo(e,t,n){const r=position(),l=e-r;let i=0;t=void 0===t?500:t;var a=function(){i+=20,move(Math.easeInOutQuad(i,r,l,t)),i<t?requestAnimFrame(a):n&&"function"==typeof n&&n()};a()}var script$1={name:"Pagination",props:{total:{required:!0,type:Number},page:{type:Number,default:1},limit:{type:Number,default:20},pageSizes:{type:Array,default:()=>[10,20,30,50]},layout:{type:String,default:"total, sizes, prev, pager, next, jumper"},background:{type:Boolean,default:!0},autoScroll:{type:Boolean,default:!0},hidden:{type:Boolean,default:!1}},computed:{currentPage:{get(){return this.page},set(e){this.$emit("update:page",e)}},pageSize:{get(){return this.limit},set(e){this.$emit("update:limit",e)}}},methods:{handleSizeChange(e){this.$emit("pagination",{pageNo:this.currentPage,size:e}),this.autoScroll&&scrollTo(0,800)},handleCurrentChange(e){this.$emit("pagination",{pageNo:e,size:this.pageSize}),this.autoScroll&&scrollTo(0,800)}}};const __vue_script__$1=script$1;var __vue_render__$1=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"pagination-container",class:{hidden:e.hidden}},[n("el-pagination",e._b({attrs:{background:e.background,"current-page":e.currentPage,"page-size":e.pageSize,layout:e.layout,"page-sizes":e.pageSizes,total:e.total},on:{"update:currentPage":function(t){e.currentPage=t},"update:current-page":function(t){e.currentPage=t},"update:pageSize":function(t){e.pageSize=t},"update:page-size":function(t){e.pageSize=t},"size-change":e.handleSizeChange,"current-change":e.handleCurrentChange}},"el-pagination",e.$attrs,!1))],1)},__vue_staticRenderFns__$1=[];__vue_render__$1._withStripped=!0;const __vue_inject_styles__$1=function(e){e&&e("data-v-253b4db8_0",{source:"\n.pagination-container[data-v-253b4db8] {\r\n background: #fff;\r\n padding: 32px 16px;\n}\n.pagination-container.hidden[data-v-253b4db8] {\r\n display: none;\n}\r\n",map:{version:3,sources:["E:\\公司项目\\changhuxianlocal\\changhuxian-vue-components\\src\\components\\Pagination\\index.vue"],names:[],mappings:";AAqFA;IACA,gBAAA;IACA,kBAAA;AACA;AAEA;IACA,aAAA;AACA",file:"index.vue",sourcesContent:['<template>\r\n <div :class="{ \'hidden\': hidden }" class="pagination-container">\r\n <el-pagination :background="background" :current-page.sync="currentPage" :page-size.sync="pageSize"\r\n :layout="layout" :page-sizes="pageSizes" :total="total" v-bind="$attrs" @size-change="handleSizeChange"\r\n @current-change="handleCurrentChange" />\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { scrollTo } from \'../../utils/scroll-to\'\r\n\r\nexport default {\r\n name: \'Pagination\',\r\n props: {\r\n total: {\r\n required: true,\r\n type: Number\r\n },\r\n page: {\r\n type: Number,\r\n default: 1\r\n },\r\n limit: {\r\n type: Number,\r\n default: 20\r\n },\r\n pageSizes: {\r\n type: Array,\r\n default() {\r\n return [10, 20, 30, 50]\r\n }\r\n },\r\n layout: {\r\n type: String,\r\n default: \'total, sizes, prev, pager, next, jumper\'\r\n },\r\n background: {\r\n type: Boolean,\r\n default: true\r\n },\r\n autoScroll: {\r\n type: Boolean,\r\n default: true\r\n },\r\n hidden: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n computed: {\r\n currentPage: {\r\n get() {\r\n return this.page\r\n },\r\n set(val) {\r\n this.$emit(\'update:page\', val)\r\n }\r\n },\r\n pageSize: {\r\n get() {\r\n return this.limit\r\n },\r\n set(val) {\r\n this.$emit(\'update:limit\', val)\r\n }\r\n }\r\n },\r\n methods: {\r\n handleSizeChange(val) {\r\n this.$emit(\'pagination\', { pageNo: this.currentPage, size: val })\r\n if (this.autoScroll) {\r\n scrollTo(0, 800)\r\n }\r\n },\r\n handleCurrentChange(val) {\r\n this.$emit(\'pagination\', { pageNo: val, size: this.pageSize })\r\n if (this.autoScroll) {\r\n scrollTo(0, 800)\r\n }\r\n }\r\n }\r\n}\r\n<\/script>\r\n\r\n<style scoped>\r\n.pagination-container {\r\n background: #fff;\r\n padding: 32px 16px;\r\n}\r\n\r\n.pagination-container.hidden {\r\n display: none;\r\n}\r\n</style>\r\n']},media:void 0})},__vue_scope_id__$1="data-v-253b4db8",__vue_module_identifier__$1=void 0,__vue_is_functional_template__$1=!1,__vue_component__$1=normalizeComponent({render:__vue_render__$1,staticRenderFns:__vue_staticRenderFns__$1},__vue_inject_styles__$1,__vue_script__$1,__vue_scope_id__$1,__vue_is_functional_template__$1,__vue_module_identifier__$1,!1,createInjector,void 0,void 0);var script={name:"PreviewFile",components:{},props:{file:{type:Object,default:function(){return{fileurl:"",dialogVisible:!1,title:""}}}},data:()=>({height:window.innerHeight-400+"px",loading:!0,dialogVisible:!1,pdf:"https://lczhgy.zjmskj.com/img/政务中台.pdf",options:{xls:!0,minColLength:0,minRowLength:0,widthOffset:10,heightOffset:10,beforeTransformData:e=>e,transformData:e=>e}}),methods:{renderedHandler(){this.loading=!1},errorHandler(){this.$message({message:"渲染失败",type:"warning"}),this.loading=!1},handleClose(){this.file.dialogVisible=!1}}};const __vue_script__=script;var __vue_render__=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"附件预览",visible:e.file.dialogVisible,"before-close":e.handleClose,"append-to-body":""},on:{"update:visible":function(t){return e.$set(e.file,"dialogVisible",t)}}},[n("div",["pdf"==e.file.type||"pptx"==e.file.type||"wps"==e.file.type||"xls"==e.file.type||"excel"==e.file.type||"word"==e.file.type||"doc"==e.file.type||"docx"==e.file.type?n("iframe",{staticClass:"child",style:{height:e.height},attrs:{frameborder:"0",src:e.file.fileurl}}):e._e(),e._v(" "),"image"==e.file.type?n("el-image",{staticStyle:{height:"100%",width:"100%"},attrs:{fit:"contain ",src:e.file.fileurl,"preview-src-list":[e.file.fileurl]}}):e._e(),e._v(" "),"video"==e.file.type?n("video",{staticStyle:{height:"100%",width:"100%"},attrs:{src:e.file.fileurl,autoplay:"",controls:"controls"}}):e._e()],1)])],1)},__vue_staticRenderFns__=[];__vue_render__._withStripped=!0;const __vue_inject_styles__=function(e){e&&e("data-v-853af682_0",{source:"\n.child[data-v-853af682] {\r\n width: 100%;\r\n height: 100%;\r\n border: 0;\n}\n.dialog-box[data-v-853af682] .el-dialog__headerbtn {\r\n font-size: 34px;\n}\n.analysis[data-v-853af682] .el-dialog {\r\n left: 119px;\n}\n.analysis-dialog[data-v-853af682] .el-dialog {\r\n left: 27px;\n}\r\n",map:{version:3,sources:["E:\\公司项目\\changhuxianlocal\\changhuxian-vue-components\\src\\components\\PreviewFile\\index.vue"],names:[],mappings:";AA0HA;EACA,WAAA;EACA,YAAA;EACA,SAAA;AACA;AAEA;EACA,eAAA;AACA;AAEA;EACA,WAAA;AACA;AAEA;EACA,UAAA;AACA",file:"index.vue",sourcesContent:['<template>\r\n <div>\r\n <el-dialog\r\n :close-on-click-modal="false"\r\n :close-on-press-escape="false"\r\n :title="`附件预览`"\r\n :visible.sync="file.dialogVisible"\r\n :before-close="handleClose"\r\n append-to-body\r\n >\r\n <div>\r\n \x3c!-- 简化版预览组件,移除 @vue-office 依赖 --\x3e\r\n <iframe\r\n v-if="file.type == \'pdf\' || file.type == \'pptx\' || file.type == \'wps\' || file.type == \'xls\' || file.type == \'excel\' || file.type == \'word\' || file.type == \'doc\' || file.type == \'docx\'"\r\n class="child"\r\n frameborder="0"\r\n :src="file.fileurl"\r\n :style="{ height: height }"\r\n />\r\n \x3c!-- <iframe\r\n v-if="\r\n file.type == \'word\' ||\r\n file.type == \'wps\' ||\r\n file.type == \'pdf\' ||\r\n file.type == \'pptx\' ||\r\n file.type == \'txt\'\r\n "\r\n class="child"\r\n frameborder="0"\r\n :src="file.fileurl"\r\n :style="{ height: height }"\r\n >\r\n </iframe> --\x3e\r\n <el-image\r\n v-if="file.type == \'image\'"\r\n :fit="\'contain \'"\r\n style="height: 100%; width: 100%"\r\n :src="file.fileurl"\r\n :preview-src-list="[file.fileurl]"\r\n />\r\n <video\r\n v-if="file.type == \'video\'"\r\n style="height: 100%; width: 100%"\r\n :src="file.fileurl"\r\n autoplay\r\n controls="controls"\r\n />\r\n </div>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n// 移除 @vue-office 相关依赖\r\nexport default {\r\n name: \'PreviewFile\',\r\n components: {\r\n // 移除组件注册\r\n },\r\n props: {\r\n file: {\r\n type: Object,\r\n default: function() {\r\n return {\r\n fileurl: \'\',\r\n dialogVisible: false,\r\n title: \'\'\r\n }\r\n }\r\n }\r\n },\r\n data() {\r\n return {\r\n height: window.innerHeight - 400 + \'px\',\r\n loading: true,\r\n dialogVisible: false,\r\n pdf: \'https://lczhgy.zjmskj.com/img/政务中台.pdf\',\r\n options: {\r\n xls: true, // 预览xlsx文件设为false;预览xls文件设为true\r\n minColLength: 0, // excel最少渲染多少列,如果想实现xlsx文件内容有几列,就渲染几列,可以将此值设置为0.\r\n minRowLength: 0, // excel最少渲染多少行,如果想实现根据xlsx实际函数渲染,可以将此值设置为0.\r\n widthOffset: 10, // 如果渲染出来的结果感觉单元格宽度不够,可以在默认渲染的列表宽度上再加 Npx宽\r\n heightOffset: 10, // 在默认渲染的列表高度上再加 Npx高\r\n beforeTransformData: (workbookData) => {\r\n return workbookData\r\n }, // 底层通过exceljs获取excel文件内容,通过该钩子函数,可以对获取的excel文件内容进行修改,比如某个单元格的数据显示不正确,可以在此自行修改每个单元格的value值。\r\n transformData: (workbookData) => {\r\n return workbookData\r\n } // 将获取到的excel数据进行处理之后且渲染到页面之前,可通过transformData对即将渲染的数据及样式进行修改,此时每个单元格的text值就是即将渲染到页面上的内容\r\n }\r\n }\r\n },\r\n // 这里是用来判断左边菜单栏是否打开\r\n // computed: {\r\n // ...mapGetters([\'sidebar\']),\r\n // isCollapse() {\r\n // return !this.sidebar.opened\r\n // }\r\n // },\r\n methods: {\r\n renderedHandler() {\r\n // this.$message({\r\n // message: "渲染成功",\r\n // type: "success",\r\n // });\r\n this.loading = false\r\n },\r\n errorHandler() {\r\n this.$message({\r\n message: \'渲染失败\',\r\n type: \'warning\'\r\n })\r\n this.loading = false\r\n },\r\n handleClose() {\r\n this.file.dialogVisible = false\r\n }\r\n }\r\n}\r\n<\/script>\r\n\r\n <style scoped>\r\n.child {\r\n width: 100%;\r\n height: 100%;\r\n border: 0;\r\n}\r\n\r\n.dialog-box >>> .el-dialog__headerbtn {\r\n font-size: 34px;\r\n}\r\n\r\n.analysis >>> .el-dialog {\r\n left: 119px;\r\n}\r\n\r\n.analysis-dialog >>> .el-dialog {\r\n left: 27px;\r\n}\r\n</style>\r\n']},media:void 0})},__vue_scope_id__="data-v-853af682",__vue_module_identifier__=void 0,__vue_is_functional_template__=!1,__vue_component__=normalizeComponent({render:__vue_render__,staticRenderFns:__vue_staticRenderFns__},__vue_inject_styles__,__vue_script__,__vue_scope_id__,__vue_is_functional_template__,__vue_module_identifier__,!1,createInjector,void 0,void 0);var js_cookie={exports:{}},factory;
|
|
8
|
+
function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function _objectSpread2(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(n),!0).forEach(function(t){_defineProperty(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _extends(){return _extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_extends.apply(this,arguments)}function _objectWithoutPropertiesLoose(e,t){if(null==e)return{};var n,r,l={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(l[n]=e[n]);return l}function _objectWithoutProperties(e,t){if(null==e)return{};var n,r,l=_objectWithoutPropertiesLoose(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}var version="1.15.6";function userAgent(e){if("undefined"!=typeof window&&window.navigator)return!!navigator.userAgent.match(e)}var IE11OrLess=userAgent(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),Edge=userAgent(/Edge/i),FireFox=userAgent(/firefox/i),Safari=userAgent(/safari/i)&&!userAgent(/chrome/i)&&!userAgent(/android/i),IOS=userAgent(/iP(ad|od|hone)/i),ChromeForAndroid=userAgent(/chrome/i)&&userAgent(/android/i),captureMode={capture:!1,passive:!1};function on(e,t,n){e.addEventListener(t,n,!IE11OrLess&&captureMode)}function off(e,t,n){e.removeEventListener(t,n,!IE11OrLess&&captureMode)}function matches(e,t){if(t){if(">"===t[0]&&(t=t.substring(1)),e)try{if(e.matches)return e.matches(t);if(e.msMatchesSelector)return e.msMatchesSelector(t);if(e.webkitMatchesSelector)return e.webkitMatchesSelector(t)}catch(e){return!1}return!1}}function getParentOrHost(e){return e.host&&e!==document&&e.host.nodeType?e.host:e.parentNode}function closest(e,t,n,r){if(e){n=n||document;do{if(null!=t&&(">"===t[0]?e.parentNode===n&&matches(e,t):matches(e,t))||r&&e===n)return e;if(e===n)break}while(e=getParentOrHost(e))}return null}var R_SPACE=/\s+/g,_throttleTimeout;function toggleClass(e,t,n){if(e&&t)if(e.classList)e.classList[n?"add":"remove"](t);else{var r=(" "+e.className+" ").replace(R_SPACE," ").replace(" "+t+" "," ");e.className=(r+(n?" "+t:"")).replace(R_SPACE," ")}}function css(e,t,n){var r=e&&e.style;if(r){if(void 0===n)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(e,""):e.currentStyle&&(n=e.currentStyle),void 0===t?n:n[t];t in r||-1!==t.indexOf("webkit")||(t="-webkit-"+t),r[t]=n+("string"==typeof n?"":"px")}}function matrix(e,t){var n="";if("string"==typeof e)n=e;else do{var r=css(e,"transform");r&&"none"!==r&&(n=r+" "+n)}while(!t&&(e=e.parentNode));var l=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return l&&new l(n)}function find(e,t,n){if(e){var r=e.getElementsByTagName(t),l=0,i=r.length;if(n)for(;l<i;l++)n(r[l],l);return r}return[]}function getWindowScrollingElement(){var e=document.scrollingElement;return e||document.documentElement}function getRect(e,t,n,r,l){if(e.getBoundingClientRect||e===window){var i,a,s,o,c,d,p;if(e!==window&&e.parentNode&&e!==getWindowScrollingElement()?(a=(i=e.getBoundingClientRect()).top,s=i.left,o=i.bottom,c=i.right,d=i.height,p=i.width):(a=0,s=0,o=window.innerHeight,c=window.innerWidth,d=window.innerHeight,p=window.innerWidth),(t||n)&&e!==window&&(l=l||e.parentNode,!IE11OrLess))do{if(l&&l.getBoundingClientRect&&("none"!==css(l,"transform")||n&&"static"!==css(l,"position"))){var m=l.getBoundingClientRect();a-=m.top+parseInt(css(l,"border-top-width")),s-=m.left+parseInt(css(l,"border-left-width")),o=a+i.height,c=s+i.width;break}}while(l=l.parentNode);if(r&&e!==window){var u=matrix(l||e),h=u&&u.a,f=u&&u.d;u&&(o=(a/=f)+(d/=f),c=(s/=h)+(p/=h))}return{top:a,left:s,bottom:o,right:c,width:p,height:d}}}function isScrolledPast(e,t,n){for(var r=getParentAutoScrollElement(e,!0),l=getRect(e)[t];r;){var i=getRect(r)[n];if(!("top"===n||"left"===n?l>=i:l<=i))return r;if(r===getWindowScrollingElement())break;r=getParentAutoScrollElement(r,!1)}return!1}function getChild(e,t,n,r){for(var l=0,i=0,a=e.children;i<a.length;){if("none"!==a[i].style.display&&a[i]!==Sortable.ghost&&(r||a[i]!==Sortable.dragged)&&closest(a[i],n.draggable,e,!1)){if(l===t)return a[i];l++}i++}return null}function lastChild(e,t){for(var n=e.lastElementChild;n&&(n===Sortable.ghost||"none"===css(n,"display")||t&&!matches(n,t));)n=n.previousElementSibling;return n||null}function index$2(e,t){var n=0;if(!e||!e.parentNode)return-1;for(;e=e.previousElementSibling;)"TEMPLATE"===e.nodeName.toUpperCase()||e===Sortable.clone||t&&!matches(e,t)||n++;return n}function getRelativeScrollOffset(e){var t=0,n=0,r=getWindowScrollingElement();if(e)do{var l=matrix(e),i=l.a,a=l.d;t+=e.scrollLeft*i,n+=e.scrollTop*a}while(e!==r&&(e=e.parentNode));return[t,n]}function indexOfObject(e,t){for(var n in e)if(e.hasOwnProperty(n))for(var r in t)if(t.hasOwnProperty(r)&&t[r]===e[n][r])return Number(n);return-1}function getParentAutoScrollElement(e,t){if(!e||!e.getBoundingClientRect)return getWindowScrollingElement();var n=e,r=!1;do{if(n.clientWidth<n.scrollWidth||n.clientHeight<n.scrollHeight){var l=css(n);if(n.clientWidth<n.scrollWidth&&("auto"==l.overflowX||"scroll"==l.overflowX)||n.clientHeight<n.scrollHeight&&("auto"==l.overflowY||"scroll"==l.overflowY)){if(!n.getBoundingClientRect||n===document.body)return getWindowScrollingElement();if(r||t)return n;r=!0}}}while(n=n.parentNode);return getWindowScrollingElement()}function extend(e,t){if(e&&t)for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}function isRectEqual(e,t){return Math.round(e.top)===Math.round(t.top)&&Math.round(e.left)===Math.round(t.left)&&Math.round(e.height)===Math.round(t.height)&&Math.round(e.width)===Math.round(t.width)}function throttle(e,t){return function(){if(!_throttleTimeout){var n=arguments;1===n.length?e.call(this,n[0]):e.apply(this,n),_throttleTimeout=setTimeout(function(){_throttleTimeout=void 0},t)}}}function cancelThrottle(){clearTimeout(_throttleTimeout),_throttleTimeout=void 0}function scrollBy(e,t,n){e.scrollLeft+=t,e.scrollTop+=n}function clone(e){var t=window.Polymer,n=window.jQuery||window.Zepto;return t&&t.dom?t.dom(e).cloneNode(!0):n?n(e).clone(!0)[0]:e.cloneNode(!0)}function getChildContainingRectFromElement(e,t,n){var r={};return Array.from(e.children).forEach(function(l){var i,a,s,o;if(closest(l,t.draggable,e,!1)&&!l.animated&&l!==n){var c=getRect(l);r.left=Math.min(null!==(i=r.left)&&void 0!==i?i:1/0,c.left),r.top=Math.min(null!==(a=r.top)&&void 0!==a?a:1/0,c.top),r.right=Math.max(null!==(s=r.right)&&void 0!==s?s:-1/0,c.right),r.bottom=Math.max(null!==(o=r.bottom)&&void 0!==o?o:-1/0,c.bottom)}}),r.width=r.right-r.left,r.height=r.bottom-r.top,r.x=r.left,r.y=r.top,r}var expando="Sortable"+(new Date).getTime();function AnimationStateManager(){var e,t=[];return{captureAnimationState:function(){(t=[],this.options.animation)&&[].slice.call(this.el.children).forEach(function(e){if("none"!==css(e,"display")&&e!==Sortable.ghost){t.push({target:e,rect:getRect(e)});var n=_objectSpread2({},t[t.length-1].rect);if(e.thisAnimationDuration){var r=matrix(e,!0);r&&(n.top-=r.f,n.left-=r.e)}e.fromRect=n}})},addAnimationState:function(e){t.push(e)},removeAnimationState:function(e){t.splice(indexOfObject(t,{target:e}),1)},animateAll:function(n){var r=this;if(!this.options.animation)return clearTimeout(e),void("function"==typeof n&&n());var l=!1,i=0;t.forEach(function(e){var t=0,n=e.target,a=n.fromRect,s=getRect(n),o=n.prevFromRect,c=n.prevToRect,d=e.rect,p=matrix(n,!0);p&&(s.top-=p.f,s.left-=p.e),n.toRect=s,n.thisAnimationDuration&&isRectEqual(o,s)&&!isRectEqual(a,s)&&(d.top-s.top)/(d.left-s.left)===(a.top-s.top)/(a.left-s.left)&&(t=calculateRealTime(d,o,c,r.options)),isRectEqual(s,a)||(n.prevFromRect=a,n.prevToRect=s,t||(t=r.options.animation),r.animate(n,d,s,t)),t&&(l=!0,i=Math.max(i,t),clearTimeout(n.animationResetTimer),n.animationResetTimer=setTimeout(function(){n.animationTime=0,n.prevFromRect=null,n.fromRect=null,n.prevToRect=null,n.thisAnimationDuration=null},t),n.thisAnimationDuration=t)}),clearTimeout(e),l?e=setTimeout(function(){"function"==typeof n&&n()},i):"function"==typeof n&&n(),t=[]},animate:function(e,t,n,r){if(r){css(e,"transition",""),css(e,"transform","");var l=matrix(this.el),i=l&&l.a,a=l&&l.d,s=(t.left-n.left)/(i||1),o=(t.top-n.top)/(a||1);e.animatingX=!!s,e.animatingY=!!o,css(e,"transform","translate3d("+s+"px,"+o+"px,0)"),this.forRepaintDummy=repaint(e),css(e,"transition","transform "+r+"ms"+(this.options.easing?" "+this.options.easing:"")),css(e,"transform","translate3d(0,0,0)"),"number"==typeof e.animated&&clearTimeout(e.animated),e.animated=setTimeout(function(){css(e,"transition",""),css(e,"transform",""),e.animated=!1,e.animatingX=!1,e.animatingY=!1},r)}}}}function repaint(e){return e.offsetWidth}function calculateRealTime(e,t,n,r){return Math.sqrt(Math.pow(t.top-e.top,2)+Math.pow(t.left-e.left,2))/Math.sqrt(Math.pow(t.top-n.top,2)+Math.pow(t.left-n.left,2))*r.animation}var plugins=[],defaults={initializeByDefault:!0},PluginManager={mount:function(e){for(var t in defaults)defaults.hasOwnProperty(t)&&!(t in e)&&(e[t]=defaults[t]);plugins.forEach(function(t){if(t.pluginName===e.pluginName)throw"Sortable: Cannot mount plugin ".concat(e.pluginName," more than once")}),plugins.push(e)},pluginEvent:function(e,t,n){var r=this;this.eventCanceled=!1,n.cancel=function(){r.eventCanceled=!0};var l=e+"Global";plugins.forEach(function(r){t[r.pluginName]&&(t[r.pluginName][l]&&t[r.pluginName][l](_objectSpread2({sortable:t},n)),t.options[r.pluginName]&&t[r.pluginName][e]&&t[r.pluginName][e](_objectSpread2({sortable:t},n)))})},initializePlugins:function(e,t,n,r){for(var l in plugins.forEach(function(r){var l=r.pluginName;if(e.options[l]||r.initializeByDefault){var i=new r(e,t,e.options);i.sortable=e,i.options=e.options,e[l]=i,_extends(n,i.defaults)}}),e.options)if(e.options.hasOwnProperty(l)){var i=this.modifyOption(e,l,e.options[l]);void 0!==i&&(e.options[l]=i)}},getEventProperties:function(e,t){var n={};return plugins.forEach(function(r){"function"==typeof r.eventProperties&&_extends(n,r.eventProperties.call(t[r.pluginName],e))}),n},modifyOption:function(e,t,n){var r;return plugins.forEach(function(l){e[l.pluginName]&&l.optionListeners&&"function"==typeof l.optionListeners[t]&&(r=l.optionListeners[t].call(e[l.pluginName],n))}),r}};function dispatchEvent(e){var t=e.sortable,n=e.rootEl,r=e.name,l=e.targetEl,i=e.cloneEl,a=e.toEl,s=e.fromEl,o=e.oldIndex,c=e.newIndex,d=e.oldDraggableIndex,p=e.newDraggableIndex,m=e.originalEvent,u=e.putSortable,h=e.extraEventProperties;if(t=t||n&&n[expando]){var f,g=t.options,v="on"+r.charAt(0).toUpperCase()+r.substr(1);!window.CustomEvent||IE11OrLess||Edge?(f=document.createEvent("Event")).initEvent(r,!0,!0):f=new CustomEvent(r,{bubbles:!0,cancelable:!0}),f.to=a||n,f.from=s||n,f.item=l||n,f.clone=i,f.oldIndex=o,f.newIndex=c,f.oldDraggableIndex=d,f.newDraggableIndex=p,f.originalEvent=m,f.pullMode=u?u.lastPutMode:void 0;var b=_objectSpread2(_objectSpread2({},h),PluginManager.getEventProperties(r,t));for(var y in b)f[y]=b[y];n&&n.dispatchEvent(f),g[v]&&g[v].call(t,f)}}var _excluded=["evt"],pluginEvent=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.evt,l=_objectWithoutProperties(n,_excluded);PluginManager.pluginEvent.bind(Sortable)(e,t,_objectSpread2({dragEl:dragEl,parentEl:parentEl,ghostEl:ghostEl,rootEl:rootEl,nextEl:nextEl,lastDownEl:lastDownEl,cloneEl:cloneEl,cloneHidden:cloneHidden,dragStarted:moved,putSortable:putSortable,activeSortable:Sortable.active,originalEvent:r,oldIndex:oldIndex,oldDraggableIndex:oldDraggableIndex,newIndex:newIndex,newDraggableIndex:newDraggableIndex,hideGhostForTarget:_hideGhostForTarget,unhideGhostForTarget:_unhideGhostForTarget,cloneNowHidden:function(){cloneHidden=!0},cloneNowShown:function(){cloneHidden=!1},dispatchSortableEvent:function(e){_dispatchEvent({sortable:t,name:e,originalEvent:r})}},l))};function _dispatchEvent(e){dispatchEvent(_objectSpread2({putSortable:putSortable,cloneEl:cloneEl,targetEl:dragEl,rootEl:rootEl,oldIndex:oldIndex,oldDraggableIndex:oldDraggableIndex,newIndex:newIndex,newDraggableIndex:newDraggableIndex},e))}var dragEl,parentEl,ghostEl,rootEl,nextEl,lastDownEl,cloneEl,cloneHidden,oldIndex,newIndex,oldDraggableIndex,newDraggableIndex,activeGroup,putSortable,awaitingDragStarted=!1,ignoreNextClick=!1,sortables=[],tapEvt,touchEvt,lastDx,lastDy,tapDistanceLeft,tapDistanceTop,moved,lastTarget,lastDirection,pastFirstInvertThresh=!1,isCircumstantialInvert=!1,targetMoveDistance,ghostRelativeParent,ghostRelativeParentInitialScroll=[],_silent=!1,savedInputChecked=[],documentExists="undefined"!=typeof document,PositionGhostAbsolutely=IOS,CSSFloatProperty=Edge||IE11OrLess?"cssFloat":"float",supportDraggable=documentExists&&!ChromeForAndroid&&!IOS&&"draggable"in document.createElement("div"),supportCssPointerEvents=function(){if(documentExists){if(IE11OrLess)return!1;var e=document.createElement("x");return e.style.cssText="pointer-events:auto","auto"===e.style.pointerEvents}}(),_detectDirection=function(e,t){var n=css(e),r=parseInt(n.width)-parseInt(n.paddingLeft)-parseInt(n.paddingRight)-parseInt(n.borderLeftWidth)-parseInt(n.borderRightWidth),l=getChild(e,0,t),i=getChild(e,1,t),a=l&&css(l),s=i&&css(i),o=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+getRect(l).width,c=s&&parseInt(s.marginLeft)+parseInt(s.marginRight)+getRect(i).width;if("flex"===n.display)return"column"===n.flexDirection||"column-reverse"===n.flexDirection?"vertical":"horizontal";if("grid"===n.display)return n.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(l&&a.float&&"none"!==a.float){var d="left"===a.float?"left":"right";return!i||"both"!==s.clear&&s.clear!==d?"horizontal":"vertical"}return l&&("block"===a.display||"flex"===a.display||"table"===a.display||"grid"===a.display||o>=r&&"none"===n[CSSFloatProperty]||i&&"none"===n[CSSFloatProperty]&&o+c>r)?"vertical":"horizontal"},_dragElInRowColumn=function(e,t,n){var r=n?e.left:e.top,l=n?e.right:e.bottom,i=n?e.width:e.height,a=n?t.left:t.top,s=n?t.right:t.bottom,o=n?t.width:t.height;return r===a||l===s||r+i/2===a+o/2},_detectNearestEmptySortable=function(e,t){var n;return sortables.some(function(r){var l=r[expando].options.emptyInsertThreshold;if(l&&!lastChild(r)){var i=getRect(r),a=e>=i.left-l&&e<=i.right+l,s=t>=i.top-l&&t<=i.bottom+l;return a&&s?n=r:void 0}}),n},_prepareGroup=function(e){function t(e,n){return function(r,l,i,a){var s=r.options.group.name&&l.options.group.name&&r.options.group.name===l.options.group.name;if(null==e&&(n||s))return!0;if(null==e||!1===e)return!1;if(n&&"clone"===e)return e;if("function"==typeof e)return t(e(r,l,i,a),n)(r,l,i,a);var o=(n?r:l).options.group.name;return!0===e||"string"==typeof e&&e===o||e.join&&e.indexOf(o)>-1}}var n={},r=e.group;r&&"object"==_typeof(r)||(r={name:r}),n.name=r.name,n.checkPull=t(r.pull,!0),n.checkPut=t(r.put),n.revertClone=r.revertClone,e.group=n},_hideGhostForTarget=function(){!supportCssPointerEvents&&ghostEl&&css(ghostEl,"display","none")},_unhideGhostForTarget=function(){!supportCssPointerEvents&&ghostEl&&css(ghostEl,"display","")};documentExists&&!ChromeForAndroid&&document.addEventListener("click",function(e){if(ignoreNextClick)return e.preventDefault(),e.stopPropagation&&e.stopPropagation(),e.stopImmediatePropagation&&e.stopImmediatePropagation(),ignoreNextClick=!1,!1},!0);var nearestEmptyInsertDetectEvent=function(e){if(dragEl){e=e.touches?e.touches[0]:e;var t=_detectNearestEmptySortable(e.clientX,e.clientY);if(t){var n={};for(var r in e)e.hasOwnProperty(r)&&(n[r]=e[r]);n.target=n.rootEl=t,n.preventDefault=void 0,n.stopPropagation=void 0,t[expando]._onDragOver(n)}}},_checkOutsideTargetEl=function(e){dragEl&&dragEl.parentNode[expando]._isOutsideThisEl(e.target)};function Sortable(e,t){if(!e||!e.nodeType||1!==e.nodeType)throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(e));this.el=e,this.options=t=_extends({},t),e[expando]=this;var n={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(e.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return _detectDirection(e,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(e,t){e.setData("Text",t.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==Sortable.supportPointer&&"PointerEvent"in window&&(!Safari||IOS),emptyInsertThreshold:5};for(var r in PluginManager.initializePlugins(this,e,n),n)!(r in t)&&(t[r]=n[r]);for(var l in _prepareGroup(t),this)"_"===l.charAt(0)&&"function"==typeof this[l]&&(this[l]=this[l].bind(this));this.nativeDraggable=!t.forceFallback&&supportDraggable,this.nativeDraggable&&(this.options.touchStartThreshold=1),t.supportPointer?on(e,"pointerdown",this._onTapStart):(on(e,"mousedown",this._onTapStart),on(e,"touchstart",this._onTapStart)),this.nativeDraggable&&(on(e,"dragover",this),on(e,"dragenter",this)),sortables.push(this.el),t.store&&t.store.get&&this.sort(t.store.get(this)||[]),_extends(this,AnimationStateManager())}function _globalDragOver(e){e.dataTransfer&&(e.dataTransfer.dropEffect="move"),e.cancelable&&e.preventDefault()}function _onMove(e,t,n,r,l,i,a,s){var o,c,d=e[expando],p=d.options.onMove;return!window.CustomEvent||IE11OrLess||Edge?(o=document.createEvent("Event")).initEvent("move",!0,!0):o=new CustomEvent("move",{bubbles:!0,cancelable:!0}),o.to=t,o.from=e,o.dragged=n,o.draggedRect=r,o.related=l||t,o.relatedRect=i||getRect(t),o.willInsertAfter=s,o.originalEvent=a,e.dispatchEvent(o),p&&(c=p.call(d,o,a)),c}function _disableDraggable(e){e.draggable=!1}function _unsilent(){_silent=!1}function _ghostIsFirst(e,t,n){var r=getRect(getChild(n.el,0,n.options,!0)),l=getChildContainingRectFromElement(n.el,n.options,ghostEl);return t?e.clientX<l.left-10||e.clientY<r.top&&e.clientX<r.right:e.clientY<l.top-10||e.clientY<r.bottom&&e.clientX<r.left}function _ghostIsLast(e,t,n){var r=getRect(lastChild(n.el,n.options.draggable)),l=getChildContainingRectFromElement(n.el,n.options,ghostEl);return t?e.clientX>l.right+10||e.clientY>r.bottom&&e.clientX>r.left:e.clientY>l.bottom+10||e.clientX>r.right&&e.clientY>r.top}function _getSwapDirection(e,t,n,r,l,i,a,s){var o=r?e.clientY:e.clientX,c=r?n.height:n.width,d=r?n.top:n.left,p=r?n.bottom:n.right,m=!1;if(!a)if(s&&targetMoveDistance<c*l){if(!pastFirstInvertThresh&&(1===lastDirection?o>d+c*i/2:o<p-c*i/2)&&(pastFirstInvertThresh=!0),pastFirstInvertThresh)m=!0;else if(1===lastDirection?o<d+targetMoveDistance:o>p-targetMoveDistance)return-lastDirection}else if(o>d+c*(1-l)/2&&o<p-c*(1-l)/2)return _getInsertDirection(t);return(m=m||a)&&(o<d+c*i/2||o>p-c*i/2)?o>d+c/2?1:-1:0}function _getInsertDirection(e){return index$2(dragEl)<index$2(e)?1:-1}function _generateId(e){for(var t=e.tagName+e.className+e.src+e.href+e.textContent,n=t.length,r=0;n--;)r+=t.charCodeAt(n);return r.toString(36)}function _saveInputCheckedState(e){savedInputChecked.length=0;for(var t=e.getElementsByTagName("input"),n=t.length;n--;){var r=t[n];r.checked&&savedInputChecked.push(r)}}function _nextTick(e){return setTimeout(e,0)}function _cancelNextTick(e){return clearTimeout(e)}Sortable.prototype={constructor:Sortable,_isOutsideThisEl:function(e){this.el.contains(e)||e===this.el||(lastTarget=null)},_getDirection:function(e,t){return"function"==typeof this.options.direction?this.options.direction.call(this,e,t,dragEl):this.options.direction},_onTapStart:function(e){if(e.cancelable){var t=this,n=this.el,r=this.options,l=r.preventOnFilter,i=e.type,a=e.touches&&e.touches[0]||e.pointerType&&"touch"===e.pointerType&&e,s=(a||e).target,o=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||s,c=r.filter;if(_saveInputCheckedState(n),!dragEl&&!(/mousedown|pointerdown/.test(i)&&0!==e.button||r.disabled)&&!o.isContentEditable&&(this.nativeDraggable||!Safari||!s||"SELECT"!==s.tagName.toUpperCase())&&!((s=closest(s,r.draggable,n,!1))&&s.animated||lastDownEl===s)){if(oldIndex=index$2(s),oldDraggableIndex=index$2(s,r.draggable),"function"==typeof c){if(c.call(this,e,s,this))return _dispatchEvent({sortable:t,rootEl:o,name:"filter",targetEl:s,toEl:n,fromEl:n}),pluginEvent("filter",t,{evt:e}),void(l&&e.preventDefault())}else if(c&&(c=c.split(",").some(function(r){if(r=closest(o,r.trim(),n,!1))return _dispatchEvent({sortable:t,rootEl:r,name:"filter",targetEl:s,fromEl:n,toEl:n}),pluginEvent("filter",t,{evt:e}),!0})))return void(l&&e.preventDefault());r.handle&&!closest(o,r.handle,n,!1)||this._prepareDragStart(e,a,s)}}},_prepareDragStart:function(e,t,n){var r,l=this,i=l.el,a=l.options,s=i.ownerDocument;if(n&&!dragEl&&n.parentNode===i){var o=getRect(n);if(rootEl=i,parentEl=(dragEl=n).parentNode,nextEl=dragEl.nextSibling,lastDownEl=n,activeGroup=a.group,Sortable.dragged=dragEl,tapEvt={target:dragEl,clientX:(t||e).clientX,clientY:(t||e).clientY},tapDistanceLeft=tapEvt.clientX-o.left,tapDistanceTop=tapEvt.clientY-o.top,this._lastX=(t||e).clientX,this._lastY=(t||e).clientY,dragEl.style["will-change"]="all",r=function(){pluginEvent("delayEnded",l,{evt:e}),Sortable.eventCanceled?l._onDrop():(l._disableDelayedDragEvents(),!FireFox&&l.nativeDraggable&&(dragEl.draggable=!0),l._triggerDragStart(e,t),_dispatchEvent({sortable:l,name:"choose",originalEvent:e}),toggleClass(dragEl,a.chosenClass,!0))},a.ignore.split(",").forEach(function(e){find(dragEl,e.trim(),_disableDraggable)}),on(s,"dragover",nearestEmptyInsertDetectEvent),on(s,"mousemove",nearestEmptyInsertDetectEvent),on(s,"touchmove",nearestEmptyInsertDetectEvent),a.supportPointer?(on(s,"pointerup",l._onDrop),!this.nativeDraggable&&on(s,"pointercancel",l._onDrop)):(on(s,"mouseup",l._onDrop),on(s,"touchend",l._onDrop),on(s,"touchcancel",l._onDrop)),FireFox&&this.nativeDraggable&&(this.options.touchStartThreshold=4,dragEl.draggable=!0),pluginEvent("delayStart",this,{evt:e}),!a.delay||a.delayOnTouchOnly&&!t||this.nativeDraggable&&(Edge||IE11OrLess))r();else{if(Sortable.eventCanceled)return void this._onDrop();a.supportPointer?(on(s,"pointerup",l._disableDelayedDrag),on(s,"pointercancel",l._disableDelayedDrag)):(on(s,"mouseup",l._disableDelayedDrag),on(s,"touchend",l._disableDelayedDrag),on(s,"touchcancel",l._disableDelayedDrag)),on(s,"mousemove",l._delayedDragTouchMoveHandler),on(s,"touchmove",l._delayedDragTouchMoveHandler),a.supportPointer&&on(s,"pointermove",l._delayedDragTouchMoveHandler),l._dragStartTimer=setTimeout(r,a.delay)}}},_delayedDragTouchMoveHandler:function(e){var t=e.touches?e.touches[0]:e;Math.max(Math.abs(t.clientX-this._lastX),Math.abs(t.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){dragEl&&_disableDraggable(dragEl),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var e=this.el.ownerDocument;off(e,"mouseup",this._disableDelayedDrag),off(e,"touchend",this._disableDelayedDrag),off(e,"touchcancel",this._disableDelayedDrag),off(e,"pointerup",this._disableDelayedDrag),off(e,"pointercancel",this._disableDelayedDrag),off(e,"mousemove",this._delayedDragTouchMoveHandler),off(e,"touchmove",this._delayedDragTouchMoveHandler),off(e,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(e,t){t=t||"touch"==e.pointerType&&e,!this.nativeDraggable||t?this.options.supportPointer?on(document,"pointermove",this._onTouchMove):on(document,t?"touchmove":"mousemove",this._onTouchMove):(on(dragEl,"dragend",this),on(rootEl,"dragstart",this._onDragStart));try{document.selection?_nextTick(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch(e){}},_dragStarted:function(e,t){if(awaitingDragStarted=!1,rootEl&&dragEl){pluginEvent("dragStarted",this,{evt:t}),this.nativeDraggable&&on(document,"dragover",_checkOutsideTargetEl);var n=this.options;!e&&toggleClass(dragEl,n.dragClass,!1),toggleClass(dragEl,n.ghostClass,!0),Sortable.active=this,e&&this._appendGhost(),_dispatchEvent({sortable:this,name:"start",originalEvent:t})}else this._nulling()},_emulateDragOver:function(){if(touchEvt){this._lastX=touchEvt.clientX,this._lastY=touchEvt.clientY,_hideGhostForTarget();for(var e=document.elementFromPoint(touchEvt.clientX,touchEvt.clientY),t=e;e&&e.shadowRoot&&(e=e.shadowRoot.elementFromPoint(touchEvt.clientX,touchEvt.clientY))!==t;)t=e;if(dragEl.parentNode[expando]._isOutsideThisEl(e),t)do{if(t[expando]){if(t[expando]._onDragOver({clientX:touchEvt.clientX,clientY:touchEvt.clientY,target:e,rootEl:t})&&!this.options.dragoverBubble)break}e=t}while(t=getParentOrHost(t));_unhideGhostForTarget()}},_onTouchMove:function(e){if(tapEvt){var t=this.options,n=t.fallbackTolerance,r=t.fallbackOffset,l=e.touches?e.touches[0]:e,i=ghostEl&&matrix(ghostEl,!0),a=ghostEl&&i&&i.a,s=ghostEl&&i&&i.d,o=PositionGhostAbsolutely&&ghostRelativeParent&&getRelativeScrollOffset(ghostRelativeParent),c=(l.clientX-tapEvt.clientX+r.x)/(a||1)+(o?o[0]-ghostRelativeParentInitialScroll[0]:0)/(a||1),d=(l.clientY-tapEvt.clientY+r.y)/(s||1)+(o?o[1]-ghostRelativeParentInitialScroll[1]:0)/(s||1);if(!Sortable.active&&!awaitingDragStarted){if(n&&Math.max(Math.abs(l.clientX-this._lastX),Math.abs(l.clientY-this._lastY))<n)return;this._onDragStart(e,!0)}if(ghostEl){i?(i.e+=c-(lastDx||0),i.f+=d-(lastDy||0)):i={a:1,b:0,c:0,d:1,e:c,f:d};var p="matrix(".concat(i.a,",").concat(i.b,",").concat(i.c,",").concat(i.d,",").concat(i.e,",").concat(i.f,")");css(ghostEl,"webkitTransform",p),css(ghostEl,"mozTransform",p),css(ghostEl,"msTransform",p),css(ghostEl,"transform",p),lastDx=c,lastDy=d,touchEvt=l}e.cancelable&&e.preventDefault()}},_appendGhost:function(){if(!ghostEl){var e=this.options.fallbackOnBody?document.body:rootEl,t=getRect(dragEl,!0,PositionGhostAbsolutely,!0,e),n=this.options;if(PositionGhostAbsolutely){for(ghostRelativeParent=e;"static"===css(ghostRelativeParent,"position")&&"none"===css(ghostRelativeParent,"transform")&&ghostRelativeParent!==document;)ghostRelativeParent=ghostRelativeParent.parentNode;ghostRelativeParent!==document.body&&ghostRelativeParent!==document.documentElement?(ghostRelativeParent===document&&(ghostRelativeParent=getWindowScrollingElement()),t.top+=ghostRelativeParent.scrollTop,t.left+=ghostRelativeParent.scrollLeft):ghostRelativeParent=getWindowScrollingElement(),ghostRelativeParentInitialScroll=getRelativeScrollOffset(ghostRelativeParent)}toggleClass(ghostEl=dragEl.cloneNode(!0),n.ghostClass,!1),toggleClass(ghostEl,n.fallbackClass,!0),toggleClass(ghostEl,n.dragClass,!0),css(ghostEl,"transition",""),css(ghostEl,"transform",""),css(ghostEl,"box-sizing","border-box"),css(ghostEl,"margin",0),css(ghostEl,"top",t.top),css(ghostEl,"left",t.left),css(ghostEl,"width",t.width),css(ghostEl,"height",t.height),css(ghostEl,"opacity","0.8"),css(ghostEl,"position",PositionGhostAbsolutely?"absolute":"fixed"),css(ghostEl,"zIndex","100000"),css(ghostEl,"pointerEvents","none"),Sortable.ghost=ghostEl,e.appendChild(ghostEl),css(ghostEl,"transform-origin",tapDistanceLeft/parseInt(ghostEl.style.width)*100+"% "+tapDistanceTop/parseInt(ghostEl.style.height)*100+"%")}},_onDragStart:function(e,t){var n=this,r=e.dataTransfer,l=n.options;pluginEvent("dragStart",this,{evt:e}),Sortable.eventCanceled?this._onDrop():(pluginEvent("setupClone",this),Sortable.eventCanceled||((cloneEl=clone(dragEl)).removeAttribute("id"),cloneEl.draggable=!1,cloneEl.style["will-change"]="",this._hideClone(),toggleClass(cloneEl,this.options.chosenClass,!1),Sortable.clone=cloneEl),n.cloneId=_nextTick(function(){pluginEvent("clone",n),Sortable.eventCanceled||(n.options.removeCloneOnHide||rootEl.insertBefore(cloneEl,dragEl),n._hideClone(),_dispatchEvent({sortable:n,name:"clone"}))}),!t&&toggleClass(dragEl,l.dragClass,!0),t?(ignoreNextClick=!0,n._loopId=setInterval(n._emulateDragOver,50)):(off(document,"mouseup",n._onDrop),off(document,"touchend",n._onDrop),off(document,"touchcancel",n._onDrop),r&&(r.effectAllowed="move",l.setData&&l.setData.call(n,r,dragEl)),on(document,"drop",n),css(dragEl,"transform","translateZ(0)")),awaitingDragStarted=!0,n._dragStartId=_nextTick(n._dragStarted.bind(n,t,e)),on(document,"selectstart",n),moved=!0,window.getSelection().removeAllRanges(),Safari&&css(document.body,"user-select","none"))},_onDragOver:function(e){var t,n,r,l,i=this.el,a=e.target,s=this.options,o=s.group,c=Sortable.active,d=activeGroup===o,p=s.sort,m=putSortable||c,u=this,h=!1;if(!_silent){if(void 0!==e.preventDefault&&e.cancelable&&e.preventDefault(),a=closest(a,s.draggable,i,!0),L("dragOver"),Sortable.eventCanceled)return h;if(dragEl.contains(e.target)||a.animated&&a.animatingX&&a.animatingY||u._ignoreWhileAnimating===a)return P(!1);if(ignoreNextClick=!1,c&&!s.disabled&&(d?p||(r=parentEl!==rootEl):putSortable===this||(this.lastPutMode=activeGroup.checkPull(this,c,dragEl,e))&&o.checkPut(this,c,dragEl,e))){if(l="vertical"===this._getDirection(e,a),t=getRect(dragEl),L("dragOverValid"),Sortable.eventCanceled)return h;if(r)return parentEl=rootEl,$(),this._hideClone(),L("revert"),Sortable.eventCanceled||(nextEl?rootEl.insertBefore(dragEl,nextEl):rootEl.appendChild(dragEl)),P(!0);var f=lastChild(i,s.draggable);if(!f||_ghostIsLast(e,l,this)&&!f.animated){if(f===dragEl)return P(!1);if(f&&i===e.target&&(a=f),a&&(n=getRect(a)),!1!==_onMove(rootEl,i,dragEl,t,a,n,e,!!a))return $(),f&&f.nextSibling?i.insertBefore(dragEl,f.nextSibling):i.appendChild(dragEl),parentEl=i,N(),P(!0)}else if(f&&_ghostIsFirst(e,l,this)){var g=getChild(i,0,s,!0);if(g===dragEl)return P(!1);if(n=getRect(a=g),!1!==_onMove(rootEl,i,dragEl,t,a,n,e,!1))return $(),i.insertBefore(dragEl,g),parentEl=i,N(),P(!0)}else if(a.parentNode===i){n=getRect(a);var v,b,y,_=dragEl.parentNode!==i,x=!_dragElInRowColumn(dragEl.animated&&dragEl.toRect||t,a.animated&&a.toRect||n,l),A=l?"top":"left",w=isScrolledPast(a,"top","top")||isScrolledPast(dragEl,"top","top"),k=w?w.scrollTop:void 0;if(lastTarget!==a&&(b=n[A],pastFirstInvertThresh=!1,isCircumstantialInvert=!x&&s.invertSwap||_),0!==(v=_getSwapDirection(e,a,n,l,x?1:s.swapThreshold,null==s.invertedSwapThreshold?s.swapThreshold:s.invertedSwapThreshold,isCircumstantialInvert,lastTarget===a))){var C=index$2(dragEl);do{C-=v,y=parentEl.children[C]}while(y&&("none"===css(y,"display")||y===ghostEl))}if(0===v||y===a)return P(!1);lastTarget=a,lastDirection=v;var S=a.nextElementSibling,E=!1,D=_onMove(rootEl,i,dragEl,t,a,n,e,E=1===v);if(!1!==D)return 1!==D&&-1!==D||(E=1===D),_silent=!0,setTimeout(_unsilent,30),$(),E&&!S?i.appendChild(dragEl):a.parentNode.insertBefore(dragEl,E?S:a),w&&scrollBy(w,0,k-w.scrollTop),parentEl=dragEl.parentNode,void 0===b||isCircumstantialInvert||(targetMoveDistance=Math.abs(b-getRect(a)[A])),N(),P(!0)}if(i.contains(dragEl))return P(!1)}return!1}function L(s,o){pluginEvent(s,u,_objectSpread2({evt:e,isOwner:d,axis:l?"vertical":"horizontal",revert:r,dragRect:t,targetRect:n,canSort:p,fromSortable:m,target:a,completed:P,onMove:function(n,r){return _onMove(rootEl,i,dragEl,t,n,getRect(n),e,r)},changed:N},o))}function $(){L("dragOverAnimationCapture"),u.captureAnimationState(),u!==m&&m.captureAnimationState()}function P(t){return L("dragOverCompleted",{insertion:t}),t&&(d?c._hideClone():c._showClone(u),u!==m&&(toggleClass(dragEl,putSortable?putSortable.options.ghostClass:c.options.ghostClass,!1),toggleClass(dragEl,s.ghostClass,!0)),putSortable!==u&&u!==Sortable.active?putSortable=u:u===Sortable.active&&putSortable&&(putSortable=null),m===u&&(u._ignoreWhileAnimating=a),u.animateAll(function(){L("dragOverAnimationComplete"),u._ignoreWhileAnimating=null}),u!==m&&(m.animateAll(),m._ignoreWhileAnimating=null)),(a===dragEl&&!dragEl.animated||a===i&&!a.animated)&&(lastTarget=null),s.dragoverBubble||e.rootEl||a===document||(dragEl.parentNode[expando]._isOutsideThisEl(e.target),!t&&nearestEmptyInsertDetectEvent(e)),!s.dragoverBubble&&e.stopPropagation&&e.stopPropagation(),h=!0}function N(){newIndex=index$2(dragEl),newDraggableIndex=index$2(dragEl,s.draggable),_dispatchEvent({sortable:u,name:"change",toEl:i,newIndex:newIndex,newDraggableIndex:newDraggableIndex,originalEvent:e})}},_ignoreWhileAnimating:null,_offMoveEvents:function(){off(document,"mousemove",this._onTouchMove),off(document,"touchmove",this._onTouchMove),off(document,"pointermove",this._onTouchMove),off(document,"dragover",nearestEmptyInsertDetectEvent),off(document,"mousemove",nearestEmptyInsertDetectEvent),off(document,"touchmove",nearestEmptyInsertDetectEvent)},_offUpEvents:function(){var e=this.el.ownerDocument;off(e,"mouseup",this._onDrop),off(e,"touchend",this._onDrop),off(e,"pointerup",this._onDrop),off(e,"pointercancel",this._onDrop),off(e,"touchcancel",this._onDrop),off(document,"selectstart",this)},_onDrop:function(e){var t=this.el,n=this.options;newIndex=index$2(dragEl),newDraggableIndex=index$2(dragEl,n.draggable),pluginEvent("drop",this,{evt:e}),parentEl=dragEl&&dragEl.parentNode,newIndex=index$2(dragEl),newDraggableIndex=index$2(dragEl,n.draggable),Sortable.eventCanceled||(awaitingDragStarted=!1,isCircumstantialInvert=!1,pastFirstInvertThresh=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),_cancelNextTick(this.cloneId),_cancelNextTick(this._dragStartId),this.nativeDraggable&&(off(document,"drop",this),off(t,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),Safari&&css(document.body,"user-select",""),css(dragEl,"transform",""),e&&(moved&&(e.cancelable&&e.preventDefault(),!n.dropBubble&&e.stopPropagation()),ghostEl&&ghostEl.parentNode&&ghostEl.parentNode.removeChild(ghostEl),(rootEl===parentEl||putSortable&&"clone"!==putSortable.lastPutMode)&&cloneEl&&cloneEl.parentNode&&cloneEl.parentNode.removeChild(cloneEl),dragEl&&(this.nativeDraggable&&off(dragEl,"dragend",this),_disableDraggable(dragEl),dragEl.style["will-change"]="",moved&&!awaitingDragStarted&&toggleClass(dragEl,putSortable?putSortable.options.ghostClass:this.options.ghostClass,!1),toggleClass(dragEl,this.options.chosenClass,!1),_dispatchEvent({sortable:this,name:"unchoose",toEl:parentEl,newIndex:null,newDraggableIndex:null,originalEvent:e}),rootEl!==parentEl?(newIndex>=0&&(_dispatchEvent({rootEl:parentEl,name:"add",toEl:parentEl,fromEl:rootEl,originalEvent:e}),_dispatchEvent({sortable:this,name:"remove",toEl:parentEl,originalEvent:e}),_dispatchEvent({rootEl:parentEl,name:"sort",toEl:parentEl,fromEl:rootEl,originalEvent:e}),_dispatchEvent({sortable:this,name:"sort",toEl:parentEl,originalEvent:e})),putSortable&&putSortable.save()):newIndex!==oldIndex&&newIndex>=0&&(_dispatchEvent({sortable:this,name:"update",toEl:parentEl,originalEvent:e}),_dispatchEvent({sortable:this,name:"sort",toEl:parentEl,originalEvent:e})),Sortable.active&&(null!=newIndex&&-1!==newIndex||(newIndex=oldIndex,newDraggableIndex=oldDraggableIndex),_dispatchEvent({sortable:this,name:"end",toEl:parentEl,originalEvent:e}),this.save())))),this._nulling()},_nulling:function(){pluginEvent("nulling",this),rootEl=dragEl=parentEl=ghostEl=nextEl=cloneEl=lastDownEl=cloneHidden=tapEvt=touchEvt=moved=newIndex=newDraggableIndex=oldIndex=oldDraggableIndex=lastTarget=lastDirection=putSortable=activeGroup=Sortable.dragged=Sortable.ghost=Sortable.clone=Sortable.active=null,savedInputChecked.forEach(function(e){e.checked=!0}),savedInputChecked.length=lastDx=lastDy=0},handleEvent:function(e){switch(e.type){case"drop":case"dragend":this._onDrop(e);break;case"dragenter":case"dragover":dragEl&&(this._onDragOver(e),_globalDragOver(e));break;case"selectstart":e.preventDefault()}},toArray:function(){for(var e,t=[],n=this.el.children,r=0,l=n.length,i=this.options;r<l;r++)closest(e=n[r],i.draggable,this.el,!1)&&t.push(e.getAttribute(i.dataIdAttr)||_generateId(e));return t},sort:function(e,t){var n={},r=this.el;this.toArray().forEach(function(e,t){var l=r.children[t];closest(l,this.options.draggable,r,!1)&&(n[e]=l)},this),t&&this.captureAnimationState(),e.forEach(function(e){n[e]&&(r.removeChild(n[e]),r.appendChild(n[e]))}),t&&this.animateAll()},save:function(){var e=this.options.store;e&&e.set&&e.set(this)},closest:function(e,t){return closest(e,t||this.options.draggable,this.el,!1)},option:function(e,t){var n=this.options;if(void 0===t)return n[e];var r=PluginManager.modifyOption(this,e,t);n[e]=void 0!==r?r:t,"group"===e&&_prepareGroup(n)},destroy:function(){pluginEvent("destroy",this);var e=this.el;e[expando]=null,off(e,"mousedown",this._onTapStart),off(e,"touchstart",this._onTapStart),off(e,"pointerdown",this._onTapStart),this.nativeDraggable&&(off(e,"dragover",this),off(e,"dragenter",this)),Array.prototype.forEach.call(e.querySelectorAll("[draggable]"),function(e){e.removeAttribute("draggable")}),this._onDrop(),this._disableDelayedDragEvents(),sortables.splice(sortables.indexOf(this.el),1),this.el=e=null},_hideClone:function(){if(!cloneHidden){if(pluginEvent("hideClone",this),Sortable.eventCanceled)return;css(cloneEl,"display","none"),this.options.removeCloneOnHide&&cloneEl.parentNode&&cloneEl.parentNode.removeChild(cloneEl),cloneHidden=!0}},_showClone:function(e){if("clone"===e.lastPutMode){if(cloneHidden){if(pluginEvent("showClone",this),Sortable.eventCanceled)return;dragEl.parentNode!=rootEl||this.options.group.revertClone?nextEl?rootEl.insertBefore(cloneEl,nextEl):rootEl.appendChild(cloneEl):rootEl.insertBefore(cloneEl,dragEl),this.options.group.revertClone&&this.animate(dragEl,cloneEl),css(cloneEl,"display",""),cloneHidden=!1}}else this._hideClone()}},documentExists&&on(document,"touchmove",function(e){(Sortable.active||awaitingDragStarted)&&e.cancelable&&e.preventDefault()}),Sortable.utils={on:on,off:off,css:css,find:find,is:function(e,t){return!!closest(e,t,e,!1)},extend:extend,throttle:throttle,closest:closest,toggleClass:toggleClass,clone:clone,index:index$2,nextTick:_nextTick,cancelNextTick:_cancelNextTick,detectDirection:_detectDirection,getChild:getChild,expando:expando},Sortable.get=function(e){return e[expando]},Sortable.mount=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t[0].constructor===Array&&(t=t[0]),t.forEach(function(e){if(!e.prototype||!e.prototype.constructor)throw"Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(e));e.utils&&(Sortable.utils=_objectSpread2(_objectSpread2({},Sortable.utils),e.utils)),PluginManager.mount(e)})},Sortable.create=function(e,t){return new Sortable(e,t)},Sortable.version=version;var autoScrolls=[],scrollEl,scrollRootEl,scrolling=!1,lastAutoScrollX,lastAutoScrollY,touchEvt$1,pointerElemChangedInterval;function AutoScrollPlugin(){function e(){for(var e in this.defaults={scroll:!0,forceAutoScrollFallback:!1,scrollSensitivity:30,scrollSpeed:10,bubbleScroll:!0},this)"_"===e.charAt(0)&&"function"==typeof this[e]&&(this[e]=this[e].bind(this))}return e.prototype={dragStarted:function(e){var t=e.originalEvent;this.sortable.nativeDraggable?on(document,"dragover",this._handleAutoScroll):this.options.supportPointer?on(document,"pointermove",this._handleFallbackAutoScroll):t.touches?on(document,"touchmove",this._handleFallbackAutoScroll):on(document,"mousemove",this._handleFallbackAutoScroll)},dragOverCompleted:function(e){var t=e.originalEvent;this.options.dragOverBubble||t.rootEl||this._handleAutoScroll(t)},drop:function(){this.sortable.nativeDraggable?off(document,"dragover",this._handleAutoScroll):(off(document,"pointermove",this._handleFallbackAutoScroll),off(document,"touchmove",this._handleFallbackAutoScroll),off(document,"mousemove",this._handleFallbackAutoScroll)),clearPointerElemChangedInterval(),clearAutoScrolls(),cancelThrottle()},nulling:function(){touchEvt$1=scrollRootEl=scrollEl=scrolling=pointerElemChangedInterval=lastAutoScrollX=lastAutoScrollY=null,autoScrolls.length=0},_handleFallbackAutoScroll:function(e){this._handleAutoScroll(e,!0)},_handleAutoScroll:function(e,t){var n=this,r=(e.touches?e.touches[0]:e).clientX,l=(e.touches?e.touches[0]:e).clientY,i=document.elementFromPoint(r,l);if(touchEvt$1=e,t||this.options.forceAutoScrollFallback||Edge||IE11OrLess||Safari){autoScroll(e,this.options,i,t);var a=getParentAutoScrollElement(i,!0);!scrolling||pointerElemChangedInterval&&r===lastAutoScrollX&&l===lastAutoScrollY||(pointerElemChangedInterval&&clearPointerElemChangedInterval(),pointerElemChangedInterval=setInterval(function(){var i=getParentAutoScrollElement(document.elementFromPoint(r,l),!0);i!==a&&(a=i,clearAutoScrolls()),autoScroll(e,n.options,i,t)},10),lastAutoScrollX=r,lastAutoScrollY=l)}else{if(!this.options.bubbleScroll||getParentAutoScrollElement(i,!0)===getWindowScrollingElement())return void clearAutoScrolls();autoScroll(e,this.options,getParentAutoScrollElement(i,!1),!1)}}},_extends(e,{pluginName:"scroll",initializeByDefault:!0})}function clearAutoScrolls(){autoScrolls.forEach(function(e){clearInterval(e.pid)}),autoScrolls=[]}function clearPointerElemChangedInterval(){clearInterval(pointerElemChangedInterval)}var autoScroll=throttle(function(e,t,n,r){if(t.scroll){var l,i=(e.touches?e.touches[0]:e).clientX,a=(e.touches?e.touches[0]:e).clientY,s=t.scrollSensitivity,o=t.scrollSpeed,c=getWindowScrollingElement(),d=!1;scrollRootEl!==n&&(scrollRootEl=n,clearAutoScrolls(),scrollEl=t.scroll,l=t.scrollFn,!0===scrollEl&&(scrollEl=getParentAutoScrollElement(n,!0)));var p=0,m=scrollEl;do{var u=m,h=getRect(u),f=h.top,g=h.bottom,v=h.left,b=h.right,y=h.width,_=h.height,x=void 0,A=void 0,w=u.scrollWidth,k=u.scrollHeight,C=css(u),S=u.scrollLeft,E=u.scrollTop;u===c?(x=y<w&&("auto"===C.overflowX||"scroll"===C.overflowX||"visible"===C.overflowX),A=_<k&&("auto"===C.overflowY||"scroll"===C.overflowY||"visible"===C.overflowY)):(x=y<w&&("auto"===C.overflowX||"scroll"===C.overflowX),A=_<k&&("auto"===C.overflowY||"scroll"===C.overflowY));var D=x&&(Math.abs(b-i)<=s&&S+y<w)-(Math.abs(v-i)<=s&&!!S),L=A&&(Math.abs(g-a)<=s&&E+_<k)-(Math.abs(f-a)<=s&&!!E);if(!autoScrolls[p])for(var $=0;$<=p;$++)autoScrolls[$]||(autoScrolls[$]={});autoScrolls[p].vx==D&&autoScrolls[p].vy==L&&autoScrolls[p].el===u||(autoScrolls[p].el=u,autoScrolls[p].vx=D,autoScrolls[p].vy=L,clearInterval(autoScrolls[p].pid),0==D&&0==L||(d=!0,autoScrolls[p].pid=setInterval(function(){r&&0===this.layer&&Sortable.active._onTouchMove(touchEvt$1);var t=autoScrolls[this.layer].vy?autoScrolls[this.layer].vy*o:0,n=autoScrolls[this.layer].vx?autoScrolls[this.layer].vx*o:0;"function"==typeof l&&"continue"!==l.call(Sortable.dragged.parentNode[expando],n,t,e,touchEvt$1,autoScrolls[this.layer].el)||scrollBy(autoScrolls[this.layer].el,n,t)}.bind({layer:p}),24))),p++}while(t.bubbleScroll&&m!==c&&(m=getParentAutoScrollElement(m,!1)));scrolling=d}},30),drop=function(e){var t=e.originalEvent,n=e.putSortable,r=e.dragEl,l=e.activeSortable,i=e.dispatchSortableEvent,a=e.hideGhostForTarget,s=e.unhideGhostForTarget;if(t){var o=n||l;a();var c=t.changedTouches&&t.changedTouches.length?t.changedTouches[0]:t,d=document.elementFromPoint(c.clientX,c.clientY);s(),o&&!o.el.contains(d)&&(i("spill"),this.onSpill({dragEl:r,putSortable:n}))}};function Revert(){}function Remove(){}Revert.prototype={startIndex:null,dragStart:function(e){var t=e.oldDraggableIndex;this.startIndex=t},onSpill:function(e){var t=e.dragEl,n=e.putSortable;this.sortable.captureAnimationState(),n&&n.captureAnimationState();var r=getChild(this.sortable.el,this.startIndex,this.options);r?this.sortable.el.insertBefore(t,r):this.sortable.el.appendChild(t),this.sortable.animateAll(),n&&n.animateAll()},drop:drop},_extends(Revert,{pluginName:"revertOnSpill"}),Remove.prototype={onSpill:function(e){var t=e.dragEl,n=e.putSortable||this.sortable;n.captureAnimationState(),t.parentNode&&t.parentNode.removeChild(t),n.animateAll()},drop:drop},_extends(Remove,{pluginName:"removeOnSpill"}),Sortable.mount(new AutoScrollPlugin),Sortable.mount(Remove,Revert);var script$9={name:"Personnel",components:{Pagination:Pagination,PreviewFile:PreviewFile},filters:{},data:()=>({renyuanxinxi:[],institutionList:[],customerData:[],checklist:[],searchContent:"",disabilityLv:{"01":"基本正常","02":"轻度失能","03":"中度失能","04":"重度失能Ⅰ级","05":"重度失能ⅠⅠ级","06":"重度失能ⅠⅠⅠ级","":"请选择护理对象"},calendarTime:"",rangeTime:[],exportTime:{startDate:[]},unitType:null,nowdate:new Date,dialogVisibleExp:!1,loadExp:!1,expApi:"",expApiName:"",expBtn:[{key:1,name:"导出护理计划",api:"wxOrderInfo",fileName:"护理计划"},{key:2,name:"导出护理项明细",api:"wxOrderItemInfo",fileName:"护理计划明细"},{key:3,name:"导出分配信息",api:"wxOrderItemUserInfo",fileName:"护理计划分配信息"},{key:4,name:"导出排班信息",api:"wxOrderSchedulingInfo",fileName:"护理计划排班信息"},{key:5,name:"自动生成当月护理计划",api:"repeatedGeneration",fileName:"自动生成当月护理计划信息"}],file:{fileurl:"",dialogVisible:!1,title:"",type:""},workerObj:{},ruleForm:{SchedulingData:[]},value:new Date,title:"排班",SchedulingLoading:!0,SchedulingDialogVisible:!1,detailsDialogVisible:!1,expObjVisible:!1,expObj:{},expObjPrint:{},templateSelection:"",allocationData:[],allocationLoading:!0,allocationDialogVisible:!1,priceType:null,NursingArrData:[],placeOrder:[],nurseObject:[],FormData:{},fileList:[],NursingLoading:!0,dialogVisible:!1,dialogStatus:"",textMap:{update:"编辑",create:"创建"},tableKey:0,list:null,total:0,listLoading:!0,listQuery:{pageNo:1,size:20},NursingData:[],institutionData:[],institutionArrData:[],dialogFormVisible:!1,dialogPvVisible:!1,rules:{status:[{required:!0,message:"请选择审核结果",trigger:"change"}],title:[{required:!0,message:"请输入套餐名称",trigger:"blur"}],no:[{required:!0,message:"请输入套餐编号",trigger:"blur"}],clockDate:[{required:!0,validator:(e,t,n)=>{t?n():n(new Error("请选择排班日期"))},trigger:"blur"}],startDate:[{required:!0,message:"请选择计划开始日期",trigger:"change"}],endDate:[{required:!0,message:"请选择计划结束日期",trigger:"change"}],unitId:[{required:!0,message:"请选择所属机构",trigger:"change"}],projectPlanId:[{required:!0,message:"请选择护理内容",trigger:"change"}],priceType:[{required:!0,message:"请选择护理类型",trigger:"change"}],familyId:[{required:!0,message:"请选择护理对象",trigger:"change"}],familyLv:[{required:!0,message:"请选择失能等级",trigger:"change"}]},data:new Date,time:"",temp:{},setData:[],dates:[],downloadLoading:!1,checkAll:!1,dialogVisible:!1,projectList:[]}),computed:{ScheduleDate:()=>function(e){let t;return t=!(!e.clockDate||!e.id)&&e.clockDate<this.$moment().format("YYYY-MM-DD"),t},Summary:()=>function(e,t){return(e*t).toFixed(2)},getTimeDate:()=>function(e){if(e)return this.$moment(e).format("MM月DD号")},setTimeDate:()=>function(e){if(e)return this.$moment(e).format("HH:mm:ss")},getDate(){return this.$moment().format("YYYY-MM-DD")},compareDate:()=>function(e,t,n){if(e)var r=e.lastIndexOf("-"),l=e.substring(r+1,e.length),i=e.substring(0,r);if(this.$moment(t).format("HH:mm:ss")<i&&this.$moment(n).format("HH:mm:ss")>l)return!0}},created(){this.getList(),this.getinstitution()},updated(){this.$nextTick(()=>{this.$refs.standTable&&this.$refs.standTable.doLayout()})},methods:{initDrag(){new Sortable(document.querySelector(".draggable-table .el-table__body-wrapper tbody"),{handle:".handle",animation:150,onEnd:({newIndex:e,oldIndex:t})=>{const n=this.NursingData[t];this.NursingData.splice(t,1),this.NursingData.splice(e,0,n),this.NursingData.map((e,t)=>{e.sort=t+1}),console.log(this.NursingData)}})},addNurse(){this.dialogVisible=!0,this.projectList=[];const e=[];this.temp.itemList&&(this.temp.itemList.map(t=>{e.push(t.projectId)}),this.projectList=e)},determine(){this.dialogVisible=!1,setTimeout(()=>{this.NursingLoading=!1},1500);for(var e=0;e<this.projectList.length;e++){const t=this.institutionData.find((t,n)=>(t.projectPrice3=t.price3,t.threePrice=t.threePrice,t.value=t.value,t.type=t.type,t.value==this.projectList[e]));this.NursingData.some(e=>e.value===t.value)||(this.NursingData.push(t),this.NursingData.map((e,t)=>{e.sort=t+1}))}this.initDrag()},removeDataArr(e){var t={};return e=e.reduce(function(e,n){return!t[n.projectId]&&(t[n.projectId]=e.push(n)),e},[])},handleCheckAllChange(e){this.dates.map(t=>{t.show=!!e})},onPrint(){this.$print(this.$refs.printDom1)},getExpPrint(e){ClockJsInfo({yearMonth:e}).then(e=>{1===e.status&&(this.expObjPrint=e.result)})},PlanexpExcel(e){wxSettlementInfo({id:e.id,orderNo:e.no}).then(e=>{const t=new Blob([e]);if(t.size>0){const e=document.createElement("a");e.style.display="none",e.href=URL.createObjectURL(t),e.download=`结算信息导出/${this.$moment().format("YYYY-MM-DD")}.xlsx`,document.body.appendChild(e),e.click(),URL.revokeObjectURL(e.href),document.body.removeChild(e)}})},expExcel2(e){ClockInfo({orderNo:e.no}).then(e=>{if(1===e.status){this.unitType=e.result.unitType;const t={},n=e.result.list[e.result.list.length-1];for(const e in n)"string"==typeof n[e]&&n[e].includes("-")?t[e]=n[e].split(/-/):t[e]=n[e];e.result.list[e.result.list.length-1]=t,this.expObj=e.result,this.expObjVisible=!0}})},familyChange(e){if(e){const t=this.nurseObject.find(t=>t.value==e);return void this.$set(this.temp,"familyLv",t.lv)}this.$set(this.temp,"familyLv","")},allcalendar(e,t){e.show=!e.show},getSummaries(e){const{columns:t,data:n}=e,r=[];return t.forEach((e,t)=>{if(0!==t){if("汇总价格"==e.label){const e=n.map(e=>Number(e.num)),l=n.map(e=>Number(e.projectPrice3));e.every(e=>isNaN(e))?r[t]="":r[t]=e.reduce((e,t,n)=>{const r=Number(t);return isNaN(r)?e:e+t*l[n]},0),r[t]&&(r[t]=r[t].toFixed(2))}}else r[t]="总价"}),r},expShow(e){if(5==e.key){const e=this.$createElement;var t=this;return void this.$msgbox({title:"请选择日期",message:e(Vue.component("msgboxDatePicker",{render:e=>e("div",null,[e("el-date-picker",{props:{value:t.value,type:"date",valueFormat:"yyyy-MM-dd",placeholder:"请选择日期"},on:{input:e=>{t.value=e,t.$emit("input",e)},change:e=>{t.data=e,t.$emit("change",e)}}})])})),showCancelButton:!0,closeOnClickModal:!1,confirmButtonText:"确定",cancelButtonText:"取消"}).then(()=>{repeatedGeneration({data:this.data}).then(e=>{1!=e.status?t.$notify({title:"提示",message:e.info,type:"error",duration:2e3}):t.$notify({title:"提示",message:e.info,type:"success",duration:2e3})})}).catch(()=>{this.$notify({title:"提示",message:"已取消",type:"error",duration:2e3})})}this.dialogVisibleExp=!0,this.expApi=e.api,this.expApiName=e.fileName,this.exportTime.startDate=[]},handleClose(){this.dialogVisibleExp=!1,this.expObjVisible=!1,this.exportTime.startDate=[],this.expApi="",this.expApiName=""},expExcel(){try{this.loadExp=!0;const e={startDate:this.exportTime.startDate[0],endDate:this.exportTime.startDate[1],url:this.expApi,familyId:this.exportTime.familyId,orderNo:this.exportTime.orderNo};ExportExcel(e).then(e=>{const t=new Blob([e]),n=this.expApiName;if(t.size>0){const e=document.createElement("a");e.style.display="none",e.href=URL.createObjectURL(t),e.download=`${n}/${this.$moment().format("YYYY-MM-DD")}.xlsx`,document.body.appendChild(e),e.click(),URL.revokeObjectURL(e.href),document.body.removeChild(e)}this.handleClose(),this.loadExp=!1}).catch(()=>{this.loadExp=!1})}catch(e){this.loadExp=!1,console.log(e)}},complete(e){this.$confirm("此操作将更新订单状态, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{WxOrderFinish({id:e.id}).then(e=>{if(1==e.status)return this.$notify({title:"提示",message:e.info,type:"success",duration:2e3}),void this.getList();this.$notify({title:"提示",message:e.info,type:"error",duration:2e3})})}).catch(()=>{this.$message({type:"info",message:"已取消"})})},details(e){WxOrderDetail({no:e.no}).then(t=>{if(this.temp=t.result,t.result.clockList||t.result.orderSchedulingList){this.calendarTime=this.temp.startDate;const e=this.$moment(this.temp.startDate).clone().subtract(1,"months").endOf("month"),n=e.clone().subtract((e.day()+6)%7,"days"),r=this.$moment(this.temp.endDate).clone().add(1,"months").startOf("month"),l=r.clone().add((7-r.day())%7,"days");this.rangeTime=[n.format("YYYY-MM-DD"),l.format("YYYY-MM-DD")];let i=[],a=[];t.result.clockList&&(i=t.result.clockList),t.result.orderSchedulingList&&(a=t.result.orderSchedulingList);const s=[...i,...a],o=[],c=new Map;s.forEach(e=>{const t=e.clockDate;if(c.has(t)){const n=c.get(t);n.upCreateTime=n.upCreateTime||e.upCreateTime,n.dnCreateTime=n.dnCreateTime||e.dnCreateTime,n.timeSlot=n.timeSlot||e.timeSlot}else c.set(t,e)}),o.push(...c.values()),this.setData=o}this.fileList=[],this.NursingData=[],this.NursingArrData=[],SProjectPlanPage({pageNo:1,size:9999}).then(e=>{this.NursingArrData=e.result.data.map(e=>(console.log(e),{label:e.title,value:e.id})),this.NursingArrData.unshift({label:"自定义护理项目",value:"1"})}),WxOrderItemgetOrderNoDetails({orderNo:e.no}).then(e=>{this.NursingData=e.result.map((e,t)=>({sort:t+1,edit:!1,label:e.projectTitle,projectId:e.projectId,num:e.num,type:e.type,threePrice:e.threePrice?e.threePrice:"-",projectPrice1:e.projectPrice1,projectPrice2:e.projectPrice2,projectPrice3:e.projectPrice3,alreadyNum:e.alreadyNum})),setTimeout(()=>{this.NursingLoading=!1},1500)}),e.pdfUrl&&this.fileList.push({name:e.pdfUrl,url:e.pdfUrl}),this.detailsDialogVisible=!0})},addScheduling(){this.ruleForm.SchedulingData.push({clockDate:"",time:[this.$moment().startOf("day").add(6,"hours").format("HH:mm"),this.$moment().startOf("day").add(10,"hours").format("HH:mm")],isUntime:""})},changeInput(e){console.log(e),0==e.isUntime?e.time=[this.$moment().startOf("day").format("HH:mm"),this.$moment().endOf("day").format("HH:mm")]:e.time=[this.$moment().startOf("day").add(6,"hours").format("HH:mm"),this.$moment().startOf("day").add(10,"hours").format("HH:mm")]},removeDomain(e,t){"新增排班"!=this.title&&e.id?WxOrderSchedulingDel({id:e.id}).then(e=>{if(1==e.status)return this.$notify({title:e.info,message:"删除成功",type:"success",duration:2e3}),void this.ruleForm.SchedulingData.splice(t,1);this.$notify({title:e.info,message:"删除失败",type:"error",duration:2e3})}):this.ruleForm.SchedulingData.splice(t,1)},SchedulingConfirmation(){if(!this.time)return void this.$notify({title:"提示",message:"请选择排班时间",type:"error",duration:2e3});if(!this.dates.some(e=>!0===e.show))return void this.$notify({title:"提示",message:"请选择排班日期",type:"error",duration:2e3});const e={},t=[];for(let e=0;e<this.dates.length;e++)this.dates[e].show&&t.push({clockDate:this.dates[e].dataTime,IsUntime:"1",timeSlot:`${this.time[0]}-${this.time[1]}`});e.orderNo=this.temp.no,e.orderSchedulingList=t,WxOrderSchedulingSave(e).then(e=>{if(1==e.status)return this.SchedulingDialogVisible=!1,this.SchedulingLoading=!1,this.checkAll=!1,this.getList(),void this.$notify({title:e.info,message:"排班成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"排班失败",type:"error",duration:2e3})})},Scheduling(e){this.dates=[],this.temp=e;this.getAllDatesOfMonth(this.$moment(this.temp.startDate).format("YYYY"),this.$moment(this.temp.startDate).format("MM")).forEach(e=>{const t=this.$moment(e).format("YYYY-MM-DD");this.dates.push({show:!1,dataTime:t})}),this.ruleForm.SchedulingData=[],this.SchedulingDialogVisible=!0,this.SchedulingLoading=!0,setTimeout(()=>{WxOrderSchedulingGetByOrderNo({orderNo:e.no}).then(e=>{e.result.length>0?(this.title="编辑排班",this.ruleForm.SchedulingData=e.result.map(e=>{for(var t=0;t<this.dates.length;t++)this.dates[t].dataTime==e.clockDate&&(this.dates[t].show=!0);return e.isUntime=Number(e.isUntime),e.time=e.timeSlot.split("-"),e}),this.time=this.ruleForm.SchedulingData[0].time):this.title="新增排班"}),this.SchedulingLoading=!1},100)},getAllDatesOfMonth(e,t){const n=[],r=this.$moment([e,t-1,1]),l=r.clone().endOf("month"),i=r;for(;i.isBefore(l)||i.isSame(l,"day");)n.push(i.clone()),i.add(1,"days");return n},confirm(){this.templateSelection?WxOrderItemUserSave(this.workerObj).then(e=>{if(1==e.status)return this.allocationDialogVisible=!1,this.getList(),this.$notify({title:e.info,message:"分配成功",type:"success",duration:2e3}),void(this.templateSelection="");this.$notify({title:e.info,message:"分配失败",type:"error",duration:2e3})}):this.$message({message:"请选择护工",type:"warning",center:!0})},singleElection(e){this.templateSelection=e.id,this.workerObj.personId=this.templateSelection},selectTable(e){const t=JSON.parse(JSON.stringify(this.allocationData));let n;n=e.trim()?t.filter(t=>Object.keys(t).some(n=>String(t.name).toLowerCase().match(e.trim()))):this.allocationData,this.checklist=n},allocation(e){this.workerObj.orderNo=e.no,this.allocationDialogVisible=!0,SPersonAll().then(e=>{this.allocationData=e.result,this.checklist=e.result}),setTimeout(()=>{this.allocationLoading=!1},1500)},changePrice(e){this.priceType=e},beforeAvatarUploada(e){this.loadingstate=!0;const t=e.name.lastIndexOf("."),n=e.name.substr(t+1);return e.size/1024/1024<10?["PDF","pdf"].indexOf(n)<0?(this.$message({message:"只能pdf文件",type:"error",center:!0}),!1):void 0:(this.$message({message:"封面不可超出10M",type:"warning",center:!0}),!1)},onPreview(e){const t=fileUrl(e.url);let n=`${this.$constant.imgAddr}${e.url}`;if("word"==t||"wps"==t||"pdf"==t||"pptx"==t||"txt"==t)this.file.type=t,n="https://wps-view.zhihuipk.com/?src="+n;else if("image"==t)this.file.type=t;else if("video"==t)this.file.type=t;else{if("radio"!=t)return void this.$message.error("该格式不可在线预览,请下载后查看");this.file.type=t}this.file.fileurl=n,this.file.dialogVisible=!0,this.file.title=e.name},handleFileUpload(e){const t=new FormData;t.append("file",e.file),t.append("realPath",e.file.name),uploadPDF(t).then(e=>{1==e.status&&(this.$message({message:"上传成功",type:"success"}),this.temp.pdfUrl=e.result.url)})},nurseDelete(e,t){"1"!=this.temp.projectPlanId?this.$message({message:"套餐内的护理项不能删除",type:"warning"}):this.NursingData.splice(t,1)},modify(e){e.edit=!0},InputBlur(e){e.edit=!1},getinstitution(){SProjectAll().then(e=>{this.institutionData=e.result.map((e,t)=>({label:e.title,type:e.type,value:e.id,threePrice:e.threePrice,price1:e.price1,price3:e.price3,edit:!1,num:"1",projectId:e.id}))}),SysUnitPage({pageNo:1,size:9999}).then(e=>{this.institutionArrData=e.result.data.map(e=>({label:e.name,value:e.id}))}),WxUserCustomAll().then(e=>{this.placeOrder=e.result.map((e,t)=>({label:e.nickName,value:e.id}))}),WxUserFamilyAll().then(e=>{this.nurseObject=e.result.map((e,t)=>({label:e.name,value:e.id,isDelete:e.isDelete,lv:e.lv?e.lv:""}))})},getList(){const e=JSON.parse(JSON.stringify(this.listQuery));e.playTime&&(e.startDate=e.playTime[0],e.endDate=e.playTime[1],delete e.playTime),WxOrderPage(e).then(e=>{this.list=e.result.data,this.total=e.result.count}),WxUserFamilyAll().then(e=>{this.customerData=e.result.map(e=>({label:e.name,value:e.name}))}),SysUnitAll().then(e=>{this.institutionList=e.result.map(e=>({label:e.name,value:e.id}))}),SPersonAll().then(e=>{this.renyuanxinxi=e.result.map(e=>({label:e.name,value:e.name}))})},handleModifyStatus(e,t){this.$message({message:"操作成功",type:"success"}),e.status=t},resetting(e){this.$nextTick(()=>{this.$refs[e].resetFields(),this.getList()})},add(){this.dialogStatus="create",this.dialogFormVisible=!0,this.temp={},this.fileList=[],this.NursingData=[],this.NursingArrData=[],SProjectPlanPage({pageNo:1,size:9999}).then(e=>{this.NursingArrData=e.result.data.map(e=>({label:e.title,value:e.id})),this.NursingArrData.unshift({label:"自定义护理项目",value:"1"})}),setTimeout(()=>{this.NursingLoading=!1},1500)},edit(e){"2"!=e.status?(this.dialogStatus="update",this.dialogFormVisible=!0,this.temp=e,this.fileList=[],this.NursingData=[],this.NursingArrData=[],SProjectPlanPage({pageNo:1,size:9999}).then(e=>{this.NursingArrData=e.result.data.map(e=>({label:e.title,value:e.id})),this.NursingArrData.unshift({label:"自定义护理项目",value:"1"})}),WxOrderItemgetOrderNoDetails({orderNo:e.no}).then(e=>{this.NursingData=e.result.map((e,t)=>({sort:t+1,edit:!1,label:e.projectTitle,projectId:e.projectId,num:e.num,type:e.type,threePrice:e.threePrice?e.threePrice:"-",projectPrice1:e.projectPrice1,projectPrice2:e.projectPrice2,projectPrice3:e.projectPrice3}))}),e.pdfUrl&&this.fileList.push({name:e.pdfUrl,url:e.pdfUrl}),setTimeout(()=>{this.NursingLoading=!1},1500)):this.$message({message:"已完成不允许编辑",type:"warning"})},NursingChange(e){console.log(e),"1"==e?this.NursingData=[]:SProjectPlanDetail({id:e}).then(e=>{e.result.itemList&&(this.NursingData=e.result.itemList.map((e,t)=>({sort:t+1,edit:!1,label:e.projectTitle,projectId:e.projectId,num:e.num,type:e.projectType,projectPrice1:e.projectPrice1,projectPrice2:e.projectPrice2,projectPrice3:e.projectPrice3})))})},onSubmit(){this.getList()},createData(){this.$refs.dataForm.validate(e=>{e&&(this.temp.orderItemSaveList=this.NursingData,WxOrderSave(this.temp).then(e=>{if(1==e.status)return this.dialogFormVisible=!1,this.getList(),void this.$notify({title:e.info,message:"新增成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"新增失败",type:"error",duration:2e3})}))})},updateData(){this.$refs.dataForm.validate(e=>{e&&(this.temp.orderItemSaveList=this.NursingData,WxOrderSave(this.temp).then(e=>{if(1==e.status)return this.dialogFormVisible=!1,this.getList(),void this.$notify({title:e.info,message:"更新成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"更新失败",type:"error",duration:2e3})}))})},handleDelete(e,t){"1"!=e.status&&"2"!=e.status?WxOrderDel({orderNo:e.no}).then(e=>{if(1==e.status)return this.getList(),void this.$notify({title:e.info,message:"删除成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"删除失败",type:"error",duration:2e3})}):this.$message({message:"进行中或已完成不允许删除",type:"warning"})}}};const __vue_script__$9=script$9;var __vue_render__$9=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"app-container"},[n("div",{staticClass:"filter-container"},[n("el-form",{ref:"listQuery",staticClass:"demo-form-inline",attrs:{inline:!0,model:e.listQuery}},[n("el-form-item",{attrs:{label:"机构名称",prop:"unitName"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择机构名称"},model:{value:e.listQuery.unitName,callback:function(t){e.$set(e.listQuery,"unitName",t)},expression:"listQuery.unitName"}},e._l(e.institutionList,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.label}})}),1)],1),e._v(" "),n("el-form-item",{attrs:{label:"护理对象",prop:"familyName"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择护理对象"},model:{value:e.listQuery.familyName,callback:function(t){e.$set(e.listQuery,"familyName",t)},expression:"listQuery.familyName"}},e._l(e.customerData,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.label}})}),1)],1),e._v(" "),n("el-form-item",{attrs:{label:"护工姓名",prop:"personName"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择姓名"},model:{value:e.listQuery.personName,callback:function(t){e.$set(e.listQuery,"personName",t)},expression:"listQuery.personName"}},e._l(e.renyuanxinxi,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1),e._v(" "),n("el-form-item",{attrs:{label:"计划时间",prop:"playTime"}},[n("el-date-picker",{attrs:{size:"small","value-format":"yyyy-MM-dd",type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期"},model:{value:e.listQuery.playTime,callback:function(t){e.$set(e.listQuery,"playTime",t)},expression:"listQuery.playTime"}})],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"primary"},on:{click:e.onSubmit}},[e._v("查询")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"warning"},on:{click:function(t){return e.resetting("listQuery")}}},[e._v("重置")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"success"},on:{click:e.add}},[e._v("新增")])],1),e._v(" "),e._l(e.expBtn,function(t){return n("el-form-item",{key:t.key},[n("el-button",{attrs:{size:"small",type:"primary"},on:{click:function(n){return e.expShow(t)}}},[e._v("\n "+e._s(t.name)+"\n ")])],1)})],2)],1),e._v(" "),n("el-table",{staticStyle:{width:"100%"},attrs:{border:"",height:"65vh",data:e.list}},[n("el-table-column",{attrs:{label:"所属机构",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.unitName))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"护理对象",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.familyName))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"计划流水号",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.no))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"计划开始日期",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.startDate))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"计划结束日期",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.endDate))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"护理计划状态",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("el-tag",{attrs:{size:"medium",type:"2"==r.status?"success":""}},[e._v(e._s("1"==r.status?"进行中":"2"==r.status?"已完成":"3"==r.status?"已取消":"0"==r.status?"待执行":"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"分配护工",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.personName?r.personName:"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"操作",align:"center",width:"380","class-name":"small-padding fixed-width"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row,l=t.$index;return["2"!=r.status?n("el-button",{attrs:{size:"mini",type:"success"},on:{click:function(t){return e.Scheduling(r,l)}}},[e._v("\n 排班\n ")]):e._e(),e._v(" "),"2"!=r.status?n("el-button",{attrs:{size:"mini",type:"success"},on:{click:function(t){return e.allocation(r,l)}}},[e._v("\n 分配护工\n ")]):e._e(),e._v(" "),"2"!=r.status?n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(t){return e.edit(r,l)}}},[e._v("\n 修改\n ")]):e._e(),e._v(" "),"0"==r.status?n("el-button",{attrs:{size:"mini",type:"danger"},on:{click:function(t){return e.handleDelete(r,l)}}},[e._v("\n 删除\n ")]):e._e(),e._v(" "),n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(t){return e.details(r,l)}}},[e._v("\n 详情\n ")]),e._v(" "),"2"!=r.status?n("el-button",{attrs:{size:"mini",type:"success"},on:{click:function(t){return e.complete(r,l)}}},[e._v("\n 订单完成\n ")]):e._e(),e._v(" "),"2"==r.status?n("el-button",{attrs:{size:"mini",type:"success"},on:{click:function(t){return e.PlanexpExcel(r,l)}}},[e._v("\n 导出\n ")]):e._e(),e._v(" "),n("el-button",{staticStyle:{"margin-top":"8px"},attrs:{size:"mini",type:"success"},on:{click:function(t){return e.expExcel2(r,l)}}},[e._v("\n 打印\n ")])]}}])})],1),e._v(" "),n("pagination",{directives:[{name:"show",rawName:"v-show",value:e.total>0,expression:"total > 0"}],attrs:{total:e.total,page:e.listQuery.pageNo,limit:e.listQuery.size},on:{"update:page":function(t){return e.$set(e.listQuery,"pageNo",t)},"update:limit":function(t){return e.$set(e.listQuery,"size",t)},pagination:e.getList}}),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:e.textMap[e.dialogStatus],visible:e.dialogFormVisible,width:"60%"},on:{"update:visible":function(t){e.dialogFormVisible=t}}},[n("el-form",{ref:"dataForm",attrs:{rules:e.rules,model:e.temp,"label-position":"right","label-width":"120px"}},[n("el-row",{attrs:{gutter:20}},[n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"护理对象",prop:"familyId"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"选择护理对象"},on:{change:e.familyChange},model:{value:e.temp.familyId,callback:function(t){e.$set(e.temp,"familyId",t)},expression:"temp.familyId"}},e._l(e.nurseObject,function(t,r){return n("el-option",{key:r,attrs:{label:t.label,value:t.value}},[n("span",{staticStyle:{float:"left"}},[e._v(e._s(t.label))]),e._v(" "),n("span",{staticStyle:{float:"right",color:"#8492a6","font-size":"13px"}},[e._v("状态:"+e._s("0"==t.isDelete?"正常":"1"==t.isDelete?"注销":"-"))])])}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"所属机构",prop:"unitId"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择所属机构"},model:{value:e.temp.unitId,callback:function(t){e.$set(e.temp,"unitId",t)},expression:"temp.unitId"}},e._l(e.institutionArrData,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"计划开始日期",prop:"startDate"}},[n("el-date-picker",{staticStyle:{width:"100%"},attrs:{size:"small",format:"yyyy 年 MM 月 dd 日","value-format":"yyyy-MM-dd",type:"date",placeholder:"请选择计划开始日期"},model:{value:e.temp.startDate,callback:function(t){e.$set(e.temp,"startDate",t)},expression:"temp.startDate"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"计划结束日期",prop:"endDate"}},[n("el-date-picker",{staticStyle:{width:"100%"},attrs:{size:"small",format:"yyyy 年 MM 月 dd 日","value-format":"yyyy-MM-dd",type:"date",placeholder:"请选择计划结束日期"},model:{value:e.temp.endDate,callback:function(t){e.$set(e.temp,"endDate",t)},expression:"temp.endDate"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"护理内容",prop:"projectPlanId"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"选择护理内容"},on:{change:e.NursingChange},model:{value:e.temp.projectPlanId,callback:function(t){e.$set(e.temp,"projectPlanId",t)},expression:"temp.projectPlanId"}},e._l(e.NursingArrData,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"失能等级",prop:"familyLv"}},[n("el-tag",{attrs:{type:"success"}},[e._v(e._s(e.disabilityLv[e.temp.familyLv]))])],1)],1),e._v(" "),n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"协议文件",prop:"pdfUrl"}},[n("el-upload",{attrs:{action:"#",limit:1,data:e.FormData,"before-upload":e.beforeAvatarUploada,"http-request":e.handleFileUpload,"file-list":e.fileList,"on-preview":e.onPreview}},[n("el-button",{attrs:{slot:"trigger",size:"small",type:"primary"},slot:"trigger"},[e._v("选取文件")])],1)],1)],1),e._v(" "),"1"==e.temp.projectPlanId?n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"护理项组合",prop:"projectPlanId"}},[n("el-button",{attrs:{size:"small",type:"success"},on:{click:e.addNurse}},[e._v("新增护理项")])],1)],1):e._e(),e._v(" "),n("el-col",{attrs:{span:24}},[n("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.NursingLoading,expression:"NursingLoading"}],ref:"standTable",staticClass:"draggable-table",staticStyle:{width:"100%"},attrs:{border:"",height:"35vh",data:e.NursingData,"summary-method":e.getSummaries,"show-summary":"","row-key":"projectId"}},[n("el-table-column",{attrs:{label:"鼠标长按",width:"100",align:"center"}},[n("el-button",{staticClass:"handle",attrs:{link:"",type:"text",size:"small",icon:"el-icon-s-operation"}},[e._v("拖拽")])],1),e._v(" "),n("el-table-column",{attrs:{label:"序号",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.sort))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"护理项",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.label))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"类别",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("el-tag",{attrs:{size:"medium"}},[e._v(e._s("01"==r.type?"生活照料":"02"==r.type?"精神慰藉":"03"==r.type?"安全巡视":"04"==r.type?"医疗护理":"05"==r.type?"康复护理":"06"==r.type?"辅助器具":"07"==r.type?"居家护理":"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"次数",align:"center",prop:"num"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row,l=t.$index;return[r.edit?n("el-input",{attrs:{placeholder:"次数"},on:{blur:function(t){return e.InputBlur(r,l)}},model:{value:r.num,callback:function(t){e.$set(r,"num",t)},expression:"row.num"}}):n("span",[e._v(e._s(r.num))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"机构护理价",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.projectPrice3))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"省厅价格",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.threePrice))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"汇总价格",align:"center",prop:"projectPrice1"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(e.Summary(r.num,r.projectPrice3)))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"操作",align:"center",width:"200","class-name":"small-padding fixed-width"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row,l=t.$index;return[n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(t){return e.modify(r,l)}}},[e._v("\n 修改次数\n ")]),e._v(" "),n("el-button",{attrs:{size:"mini",type:"danger"},on:{click:function(t){return e.nurseDelete(r,l)}}},[e._v("\n 删除\n ")])]}}])})],1)],1)],1)],1),e._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{type:"primary",size:"small"},on:{click:function(t){"create"===e.dialogStatus?e.createData():e.updateData()}}},[e._v("\n 确 认\n ")])],1)],1),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"分配护工",visible:e.allocationDialogVisible,width:"45%"},on:{"update:visible":function(t){e.allocationDialogVisible=t}}},[n("el-row",{attrs:{gutter:20}},[n("el-col",{staticStyle:{"margin-bottom":"20px"},attrs:{span:6}},[n("el-input",{attrs:{size:"mini",placeholder:"输入护工名称搜索"},on:{input:e.selectTable},model:{value:e.searchContent,callback:function(t){e.searchContent=t},expression:"searchContent"}})],1),e._v(" "),n("el-col",{attrs:{span:24}},[n("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.allocationLoading,expression:"allocationLoading"}],staticStyle:{width:"100%"},attrs:{border:"",height:"50vh",data:e.checklist},on:{"row-click":e.singleElection}},[n("el-table-column",{attrs:{align:"center",width:"55",label:"选择"},scopedSlots:e._u([{key:"default",fn:function(t){return[n("el-radio",{staticClass:"radio",attrs:{label:t.row.id},model:{value:e.templateSelection,callback:function(t){e.templateSelection=t},expression:"templateSelection"}},[n("span")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"护工名称",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.name))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"护工联系号码",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return t.$index,[n("span",[e._v(e._s(r.phoneNumber))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"护工性别",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.sex))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"护工地址",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.address))])]}}])})],1)],1)],1),e._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small"},on:{click:function(t){e.allocationDialogVisible=!1}}},[e._v("\n 取 消\n ")]),e._v(" "),n("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.confirm}},[e._v("\n 分 配\n ")])],1)],1),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:e.title,visible:e.SchedulingDialogVisible,width:"40%"},on:{"update:visible":function(t){e.SchedulingDialogVisible=t}}},[n("el-form",{ref:"ruleForm",attrs:{model:e.ruleForm,"label-position":"right","label-width":"100px"}},[n("el-row",{attrs:{gutter:20}},[n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"排班时间"}},[n("el-time-picker",{staticStyle:{width:"80%"},attrs:{size:"small","is-range":"","range-separator":"至","start-placeholder":"开始时间",format:"HH:mm","end-placeholder":"结束时间",placeholder:"请选择服务时间","value-format":"HH:mm"},model:{value:e.time,callback:function(t){e.time=t},expression:"time"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"是否全选"}},[n("el-checkbox",{on:{change:e.handleCheckAllChange},model:{value:e.checkAll,callback:function(t){e.checkAll=t},expression:"checkAll"}},[e._v(e._s(e.checkAll?"是":"否"))])],1)],1),e._v(" "),n("el-col",{attrs:{span:24}},[n("div",{staticClass:"list"},e._l(e.dates,function(t,r){return n("div",{key:r,staticClass:"item",on:{click:function(n){return e.allcalendar(t,r)}}},[e._v("\n "+e._s(t.dataTime)+" "+e._s(t.show?"✔️":""))])}),0)])],1)],1),e._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small"},on:{click:function(t){e.SchedulingDialogVisible=!1}}},[e._v("\n 取 消\n ")]),e._v(" "),n("el-button",{attrs:{type:"primary",size:"small"},on:{click:function(t){return e.SchedulingConfirmation("ruleForm")}}},[e._v("\n 确 认\n ")])],1)],1),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"详情",visible:e.detailsDialogVisible,width:"45%"},on:{"update:visible":function(t){e.detailsDialogVisible=t}}},[n("el-form",{ref:"dataForm",attrs:{rules:e.rules,model:e.temp,"label-position":"right","label-width":"120px"}},[n("el-row",{attrs:{gutter:20}},[n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"护理对象",prop:"familyId"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{disabled:"",clearable:"",filterable:"",size:"small",placeholder:"选择护理对象"},model:{value:e.temp.familyId,callback:function(t){e.$set(e.temp,"familyId",t)},expression:"temp.familyId"}},e._l(e.nurseObject,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"所属机构",prop:"unitId"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{disabled:"",clearable:"",filterable:"",size:"small",placeholder:"请选择所属机构"},model:{value:e.temp.unitId,callback:function(t){e.$set(e.temp,"unitId",t)},expression:"temp.unitId"}},e._l(e.institutionArrData,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"计划开始日期",prop:"startDate"}},[n("el-date-picker",{staticStyle:{width:"100%"},attrs:{size:"small",disabled:"",format:"yyyy 年 MM 月 dd 日","value-format":"yyyy-MM-dd",type:"date",placeholder:"请选择计划开始日期"},model:{value:e.temp.startDate,callback:function(t){e.$set(e.temp,"startDate",t)},expression:"temp.startDate"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"计划结束日期",prop:"endDate"}},[n("el-date-picker",{staticStyle:{width:"100%"},attrs:{size:"small",disabled:"",format:"yyyy 年 MM 月 dd 日","value-format":"yyyy-MM-dd",type:"date",placeholder:"请选择计划结束日期"},model:{value:e.temp.endDate,callback:function(t){e.$set(e.temp,"endDate",t)},expression:"temp.endDate"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"护理内容",prop:"projectPlanId"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{disabled:"",clearable:"",filterable:"",size:"small",placeholder:"选择护理内容"},on:{change:e.NursingChange},model:{value:e.temp.projectPlanId,callback:function(t){e.$set(e.temp,"projectPlanId",t)},expression:"temp.projectPlanId"}},e._l(e.NursingArrData,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"失能等级"}},["06"==e.temp.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("重度失能ⅠⅠⅠ级")]):e._e(),e._v(" "),"05"==e.temp.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("重度失能ⅠⅠ级")]):e._e(),e._v(" "),"04"==e.temp.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("重度失能Ⅰ级")]):e._e(),e._v(" "),"03"==e.temp.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("中度失能")]):e._e(),e._v(" "),"02"==e.temp.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("轻度失能")]):e._e(),e._v(" "),"01"==e.temp.familyLv?n("el-tag",{attrs:{type:"success"}},[e._v("基本正常")]):e._e()],1)],1),e._v(" "),n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"协议文件",prop:"pdfUrl"}},[n("el-upload",{attrs:{action:"#",disabled:"",limit:1,data:e.FormData,"before-upload":e.beforeAvatarUploada,"http-request":e.handleFileUpload,"file-list":e.fileList,"on-preview":e.onPreview}},[n("el-button",{attrs:{slot:"trigger",disabled:"",size:"small",type:"primary"},slot:"trigger"},[e._v("选取文件")])],1)],1)],1),e._v(" "),n("el-col",{attrs:{span:24}},[n("div",{staticClass:"calendar-dialog"},[n("el-calendar",{scopedSlots:e._u([{key:"dateCell",fn:function(t){t.date;var r=t.data;return[n("div",{staticClass:"card-group"},[n("div",{class:(r.isSelected,"card-calendar-text")},[n("span",[e._v(e._s(e.getTimeDate(r.day)))]),e._v(" "),r.isSelected?n("el-icon",[n("Select")],1):e._e()],1),e._v(" "),e._l(e.setData,function(t,l){return n("span",{key:t.id,staticClass:"card"},[t.clockDate===r.day?n("div",{staticClass:"card-flag"},[n("div",{class:e.getDate<t.clockDate?"card-text5":e.compareDate(t.timeSlot,t.upCreateTime,t.dnCreateTime)?" card-text1":" card-text2"},[n("span",[e._v(e._s(e.getTimeDate(r.day)))]),e._v(" "),t.timeSlot?n("span",{staticStyle:{"font-weight":"500","font-size":"12px"}},[e._v("排班:"+e._s(t.timeSlot))]):e._e(),e._v(" "),t.upCreateTime?n("span",{staticStyle:{"font-weight":"500","font-size":"12px"}},[e._v("上班:"+e._s(e.setTimeDate(t.upCreateTime)))]):e._e(),e._v(" "),t.dnCreateTime?n("span",{staticStyle:{"font-weight":"500","font-size":"12px"}},[e._v("下班:"+e._s(e.setTimeDate(t.dnCreateTime)))]):e._e()])]):n("div")])})],2)]}}]),model:{value:e.calendarTime,callback:function(t){e.calendarTime=t},expression:"calendarTime"}})],1)]),e._v(" "),n("el-col",{attrs:{span:24}},[n("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.NursingLoading,expression:"NursingLoading"}],staticStyle:{width:"100%"},attrs:{border:"",height:"30vh",data:e.NursingData}},[n("el-table-column",{attrs:{label:"护理项",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.label))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"需要护理次数",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return t.$index,[n("span",[e._v(e._s(r.num))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"实际护理次数",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return t.$index,[n("span",[e._v(e._s(r.alreadyNum?r.alreadyNum:"-"))])]}}])})],1)],1)],1)],1),e._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{type:"primary",size:"small"},on:{click:function(t){e.detailsDialogVisible=!1}}},[e._v("\n 关 闭\n ")])],1)],1),e._v(" "),n("preview-file",{attrs:{file:e.file}}),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"导出",visible:e.dialogVisibleExp,width:"30%","before-close":e.handleClose},on:{"update:visible":function(t){e.dialogVisibleExp=t}}},[n("el-form",{ref:"dataForm",staticClass:"demo-form-inline",attrs:{model:e.exportTime,rules:e.rules,"label-position":"right","label-width":"90px"}},[n("el-row",{attrs:{gutter:20}},[n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"提示:"}},[n("el-link",{attrs:{underline:!1,type:"primary"}},[e._v("请根据护理计划的开始日期和结束日期选择时间")])],1)],1),e._v(" "),n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"时间"}},[n("el-date-picker",{staticStyle:{width:"100%"},attrs:{size:"small",type:"daterange","value-format":"yyyy-MM-dd","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期"},model:{value:e.exportTime.startDate,callback:function(t){e.$set(e.exportTime,"startDate",t)},expression:"exportTime.startDate"}})],1)],1),e._v(" "),"护理计划信息"==this.expApiName?n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"护理对象"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"选择护理对象"},model:{value:e.exportTime.familyId,callback:function(t){e.$set(e.exportTime,"familyId",t)},expression:"exportTime.familyId"}},e._l(e.nurseObject,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1):e._e(),e._v(" "),"护理计划信息"!=this.expApiName?n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"计划流水号"}},[n("el-input",{attrs:{size:"small",clearable:"",placeholder:"请输入计划流水号"},model:{value:e.exportTime.orderNo,callback:function(t){e.$set(e.exportTime,"orderNo",t)},expression:"exportTime.orderNo"}})],1)],1):e._e()],1)],1),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small",loading:e.loadExp},on:{click:e.handleClose}},[e._v("取 消")]),e._v(" "),n("el-button",{attrs:{size:"small",type:"primary",loading:e.loadExp},on:{click:e.expExcel}},[e._v("\n 导 出\n ")])],1)],1),e._v(" "),"机构护理"==e.unitType?n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"打印",visible:e.expObjVisible,width:"100%","before-close":e.handleClose,top:"3vh"},on:{"update:visible":function(t){e.expObjVisible=t}}},[n("div",{ref:"printDom1",staticClass:"exptable",attrs:{id:"printDom1",border:"1"}},[n("div",{staticClass:"thead"},[e._v("\n "+e._s(e.expObj.orderYearMonth)+"\n ")]),e._v(" "),n("div",{staticClass:"tbody"},[n("div",{staticClass:"tr eight"},[n("div",{staticClass:"title eight_label"},[e._v("参保人姓名")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.personName))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("身份证")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.personIdCode))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("年龄")]),e._v(" "),n("div",[e._v("\n "+e._s(e.expObj.personAge)+"\n ")]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("参保类型")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.medicalType))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("制表人")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.unitName))])]),e._v(" "),n("div",{staticClass:"tr eight"},[n("div",{staticClass:"title eight_label"},[e._v("所属参保区划")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.medicalCounty))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("失能等级")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.lv))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("家属姓名")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.familyName))])]),e._v(" "),n("div",{staticClass:"leftXuhao loop"},[n("div",{staticClass:"num"},[e._v("序号")]),e._v(" "),n("div",{staticClass:"name"},[e._v("服务项目")]),e._v(" "),n("div",{staticClass:"day headday"},[n("span",[e._v("护理服务执行日期及次数")]),e._v(" "),n("div",{staticClass:"forday"},e._l(31,function(t){return n("span",{key:t},[e._v(e._s(t)+"日")])}),0)]),e._v(" "),n("div",{staticClass:"total"},[e._v("床日合计")])]),e._v(" "),e._l(e.expObj.list,function(t,r){return n("div",{key:r,staticClass:"tr loop"},[n("div",{staticClass:"num"},[e._v(e._s(r+1))]),e._v(" "),n("div",{staticClass:"name"},[e._v(e._s(t.title))]),e._v(" "),n("div",{staticClass:"day bodyday"},[n("div",{staticClass:"forday"},[e._l(31,function(r){return[Array.isArray(t["day"+r])?n("span",{key:r},e._l(t["day"+r],function(t,r){return n("p",{key:r,staticStyle:{margin:"0"}},[e._v("\n "+e._s(t)+"\n ")])}),0):n("span",{key:r},[e._v(e._s(t["day"+r]))])]})],2)]),e._v(" "),n("div",{staticClass:"total"},[e._v(e._s(t.num))])])})],2),e._v(" "),n("div",{staticClass:"handwriting"},[n("div",{staticClass:"name"},[e._v("协议服务机构负责人签字:")]),e._v(" "),n("div",{staticClass:"day bodyday"},[e._v("家属确认签字按手印:")])]),e._v(" "),n("div",{staticClass:"handwriting"},[n("div",{staticClass:"name"},[e._v("盖章:")]),e._v(" "),n("div",{staticClass:"day bodyday"},[e._v("日期:")])]),e._v(" "),n("div",{staticClass:"handwriting"},[n("div",{staticClass:"name"},[e._v("日期:")])])]),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small",loading:e.loadExp},on:{click:e.handleClose}},[e._v("取 消")]),e._v(" "),n("el-button",{directives:[{name:"print",rawName:"v-print",value:e.print,expression:"print"}],attrs:{size:"small",type:"primary",loading:e.loadExp},on:{click:e.onPrint}},[e._v("\n 打 印\n ")])],1)]):e._e(),e._v(" "),"居家护理"==e.unitType?n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"打印",visible:e.expObjVisible,width:"100%","before-close":e.handleClose,top:"3vh"},on:{"update:visible":function(t){e.expObjVisible=t}}},[n("div",{ref:"printDom1",staticClass:"exptable",attrs:{id:"printDom1",border:"1"}},[n("div",{staticClass:"thead"},[e._v("\n "+e._s(e.expObj.orderYearMonth)+"\n ")]),e._v(" "),n("div",{staticClass:"tbody"},[n("div",{staticClass:"tr eight"},[n("div",{staticClass:"title eight_label"},[e._v("参保人姓名")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.personName))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("身份证")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.personIdCode))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("年龄")]),e._v(" "),n("div",[e._v("\n "+e._s(e.expObj.personAge)+"\n ")]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("参保类型")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.medicalType))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("制表人")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.unitName))])]),e._v(" "),n("div",{staticClass:"tr eight"},[n("div",{staticClass:"title eight_label"},[e._v("所属参保区划")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.medicalCounty))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("失能等级")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.lv))]),e._v(" "),n("div",{staticClass:"title eight_label"},[e._v("家属姓名")]),e._v(" "),n("div",{staticClass:"eight_label"},[e._v(e._s(e.expObj.familyName))])]),e._v(" "),n("div",{staticClass:"leftXuhao loop"},[n("div",{staticClass:"num"},[e._v("序号")]),e._v(" "),n("div",{staticClass:"name"},[e._v("服务项目")]),e._v(" "),n("div",{staticClass:"day headday"},[n("span",[e._v("护理服务执行日期及护理项目次数(分钟)")]),e._v(" "),n("div",{staticClass:"forday"},e._l(31,function(t){return n("span",{key:t},[e._v(e._s(t)+"日")])}),0)])]),e._v(" "),e._l(e.expObj.list,function(t,r){return n("div",{key:r,staticClass:"tr loop"},[n("div",{staticClass:"num"},[e._v(e._s(r+1))]),e._v(" "),n("div",{staticClass:"name"},[e._v(e._s(t.title))]),e._v(" "),"当月服务总时长(小时)"==t.title?n("div",{staticClass:"day bodyday merged-cell"},[e._v("\n "+e._s(t.num)+"(小时)\n ")]):n("div",{staticClass:"day bodyday"},[n("div",{staticClass:"forday"},[e._l(31,function(r){return[Array.isArray(t["day"+r])?n("span",{key:r},e._l(t["day"+r],function(t,r){return n("p",{key:r,staticStyle:{margin:"0"}},[e._v("\n "+e._s(t)+"\n ")])}),0):n("span",{key:r},[e._v(e._s(t["day"+r]))])]})],2)])])})],2),e._v(" "),n("div",{staticClass:"handwriting"},[n("div",{staticClass:"name"},[e._v("协议服务机构负责人签字:")]),e._v(" "),n("div",{staticClass:"day bodyday"},[e._v("家属确认签字按手印:")])]),e._v(" "),n("div",{staticClass:"handwriting"},[n("div",{staticClass:"name"},[e._v("盖章:")]),e._v(" "),n("div",{staticClass:"day bodyday"},[e._v("日期:")])]),e._v(" "),n("div",{staticClass:"handwriting"},[n("div",{staticClass:"name"},[e._v("日期:")])])]),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small",loading:e.loadExp},on:{click:e.handleClose}},[e._v("取 消")]),e._v(" "),n("el-button",{directives:[{name:"print",rawName:"v-print",value:e.print,expression:"print"}],attrs:{size:"small",type:"primary",loading:e.loadExp},on:{click:e.onPrint}},[e._v("\n 打 印\n ")])],1)]):e._e(),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"新增护理项",visible:e.dialogVisible,width:"30%"},on:{"update:visible":function(t){e.dialogVisible=t}}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择护理项组合",multiple:""},model:{value:e.projectList,callback:function(t){e.projectList=t},expression:"projectList"}},e._l(e.institutionData,function(t,r){return n("el-option",{key:r,attrs:{label:t.label,value:t.value}},[n("span",{staticStyle:{float:"left"}},[e._v(e._s(t.label))]),e._v(" "),n("span",{staticStyle:{float:"right",color:"#8492a6","font-size":"13px"}},[e._v("护理类型:"+e._s("01"==t.type?"生活照料":"02"==t.type?"精神慰藉":"03"==t.type?"安全巡视":"04"==t.type?"医疗护理":"05"==t.type?"康复护理":"06"==t.type?"辅助器具":"07"==t.type?"居家护理":"-"))])])}),1),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small"},on:{click:function(t){e.dialogVisible=!1}}},[e._v("取 消")]),e._v(" "),n("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.determine}},[e._v("确 定")])],1)],1)],1)},__vue_staticRenderFns__$9=[];__vue_render__$9._withStripped=!0;const __vue_inject_styles__$9=function(e){e&&e("data-v-36b0c510_0",{source:".el-col-12[data-v-36b0c510] {\n padding: 0 20px 0 0;\n}\n.addButton[data-v-36b0c510] {\n margin: 0 0 10px 0;\n}\n[data-v-36b0c510] .el-dialog__body {\n padding: 0px 20px;\n}\n[data-v-36b0c510] .el-calendar-table .el-calendar-day {\n padding: 0;\n}\n.is-selected[data-v-36b0c510] {\n color: #1989fa;\n background: yellow;\n}\n.is-add-selected[data-v-36b0c510] {\n color: #fff;\n background: #1989fa;\n}\n.calendar-dialog .card-group[data-v-36b0c510] {\n width: 100%;\n height: 100%;\n}\n.calendar-dialog .card-group .card-calendar-text[data-v-36b0c510] {\n height: 100%;\n max-height: 100%;\n min-height: 100%;\n padding: 8px;\n}\n.calendar-dialog .card-group .card[data-v-36b0c510] {\n position: relative;\n top: -100%;\n}\n.calendar-dialog .card-group .card-flag[data-v-36b0c510] {\n height: 100%;\n}\n.calendar-dialog .card-group .card1[data-v-36b0c510] {\n position: relative;\n display: block;\n width: 100%;\n height: 100%;\n font-size: 15px;\n color: #fff;\n background-color: rgba(64, 158, 255, 0.8);\n}\n.calendar-dialog .card-group .card-text1[data-v-36b0c510] {\n display: flex;\n flex-direction: column;\n height: 100%;\n max-height: 100%;\n min-height: 100%;\n font-size: 12px;\n color: #fff;\n background-color: rgba(64, 158, 255, 0.8);\n height: 100%;\n padding: 8px;\n font-size: 14px;\n}\n.calendar-dialog .card-group .card-text2[data-v-36b0c510] {\n display: flex;\n flex-direction: column;\n height: 100%;\n max-height: 100%;\n min-height: 100%;\n font-size: 12px;\n color: #fff;\n background-color: rgba(255, 0, 0, 0.8);\n height: 100%;\n padding: 8px;\n font-size: 14px;\n}\n.calendar-dialog .card-group .card-text3[data-v-36b0c510] {\n display: flex;\n flex-direction: column;\n height: 100%;\n max-height: 100%;\n min-height: 100%;\n font-size: 12px;\n color: #fff;\n background-color: rgba(255, 0, 0, 0.8);\n height: 100%;\n padding: 8px;\n font-size: 14px;\n}\n.calendar-dialog .card-group .card-text4[data-v-36b0c510] {\n display: flex;\n flex-direction: column;\n height: 100%;\n max-height: 100%;\n min-height: 100%;\n font-size: 12px;\n color: #fff;\n background-color: rgba(255, 0, 0, 0.8);\n height: 100%;\n padding: 8px;\n font-size: 14px;\n}\n.calendar-dialog .card-group .card-text5[data-v-36b0c510] {\n display: flex;\n flex-direction: column;\n height: 100%;\n max-height: 100%;\n min-height: 100%;\n font-size: 12px;\n color: #fff;\n background-color: rgba(217, 210, 53, 0.8);\n height: 100%;\n padding: 8px;\n font-size: 14px;\n}\n.calendar-dialog .card-group .card2[data-v-36b0c510] {\n position: relative;\n display: block;\n width: 100%;\n height: 100%;\n font-size: 15px;\n color: #fff;\n background-color: rgba(217, 210, 53, 0.8);\n}\n.calendar-dialog .card-group .card3[data-v-36b0c510] {\n position: relative;\n display: block;\n width: 100%;\n height: 100%;\n font-size: 15px;\n color: #fff;\n background-color: #f00;\n}\n.calendar-dialog .card-group .card-text3[data-v-36b0c510] {\n display: flex;\n flex-direction: column;\n height: 100%;\n max-height: 100%;\n min-height: 100%;\n font-size: 12px;\n color: #fff;\n background-color: #f00;\n}\n.calendar-dialog .card-group .visits-val[data-v-36b0c510] {\n position: absolute;\n right: 0;\n bottom: 0;\n}\n[data-v-36b0c510] .el-calendar__button-group {\n display: none;\n}\n.is-selected[data-v-36b0c510] {\n color: #1989fa;\n}\n.activeItem[data-v-36b0c510] {\n color: red;\n}\n.el-calendar-table td.is-today[data-v-36b0c510] {\n color: #000 !important;\n background: transparent !important;\n}\n.el-col-12[data-v-36b0c510] {\n padding: 0 20px 0 0;\n}\n.exptable[data-v-36b0c510] {\n font-size: 9px;\n text-align: center;\n width: 100%;\n}\n.exptable .leftXuhao[data-v-36b0c510] {\n display: flex;\n border-bottom: 1px solid #333;\n}\n.exptable .leftXuhao div[data-v-36b0c510] {\n display: flex;\n align-items: center;\n justify-content: center;\n border-right: 1px solid #333;\n}\n.exptable .thead[data-v-36b0c510] {\n border-bottom: 0;\n color: #000;\n padding: 8px 0;\n}\n.exptable .tbody[data-v-36b0c510] {\n border: 1px solid #333;\n font-size: 8px;\n}\n.exptable .tr[data-v-36b0c510] {\n display: flex;\n border-bottom: 1px solid #333;\n color: #111;\n}\n.exptable .tr div[data-v-36b0c510] {\n display: flex;\n align-items: center;\n justify-content: center;\n border-right: 1px solid #333;\n}\n.exptable .tr .bodyday[data-v-36b0c510] {\n flex: 1;\n}\n.exptable .tr div[data-v-36b0c510]:last-child {\n border-right: 0;\n}\n.exptable .eight div[data-v-36b0c510] {\n flex: 1;\n padding: 5px 0;\n}\n.exptable .eight .title[data-v-36b0c510] {\n width: 110px;\n flex: none;\n}\n.exptable .tr[data-v-36b0c510]:last-child {\n border-bottom: 0;\n}\n.exptable .loop .num[data-v-36b0c510] {\n width: 22px !important;\n}\n.exptable .loop .total[data-v-36b0c510] {\n width: 23px;\n padding: 5px 0;\n}\n.exptable .loop .name[data-v-36b0c510] {\n padding: 5px 0;\n flex: 0.1;\n}\n.exptable .loop .headday[data-v-36b0c510] {\n flex-flow: column;\n flex: 1;\n}\n.exptable .loop .headday .forday[data-v-36b0c510] {\n border-top: 1px solid #333;\n}\n.exptable .loop .day span[data-v-36b0c510] {\n padding: 10px 0;\n}\n.exptable .loop .forday[data-v-36b0c510] {\n display: table;\n width: 100%;\n}\n.exptable .loop .forday span[data-v-36b0c510] {\n display: table-cell;\n vertical-align: middle;\n border-right: 1px solid #333;\n width: 23px;\n height: 100%;\n overflow: hidden;\n word-wrap: break-word;\n word-break: break-all;\n}\n.exptable .loop .forday span[data-v-36b0c510]:last-child {\n border-right: 0;\n}\n.handwriting[data-v-36b0c510] {\n display: flex;\n}\n.handwriting div[data-v-36b0c510] {\n text-align: right;\n padding: 5px 0;\n}\n.handwriting .name[data-v-36b0c510] {\n margin-left: 60px;\n width: 120px;\n}\n.handwriting .bodyday[data-v-36b0c510] {\n width: 60%;\n margin-right: 60px;\n}\n.exptableprint[data-v-36b0c510] {\n font-size: 11px;\n}\n.exptableprint .tbody[data-v-36b0c510] {\n font-size: 10px;\n}\n.list[data-v-36b0c510] {\n padding: 15px;\n display: flex;\n flex-wrap: wrap;\n}\n.list .item[data-v-36b0c510] {\n border: 1px solid #ede9e9;\n height: 70px;\n padding: 10px;\n cursor: pointer;\n width: calc((100% - 50px) / 7);\n min-width: calc((100% - 30px) / 7);\n max-width: calc((100% - 30px) / 7);\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 12px;\n}\n.list .item[data-v-36b0c510]:nth-child(7n+7) {\n margin-bottom: 0;\n}\n\n/*# sourceMappingURL=index.vue.map */",map:{version:3,sources:["E:\\公司项目\\changhuxianlocal\\changhuxian-vue-components\\src\\pages\\customerManagement\\carePlan\\index.vue","index.vue"],names:[],mappings:"AAokEA;EACA,mBAAA;ACnkEA;ADskEA;EACA,kBAAA;ACnkEA;ADskEA;EACA,iBAAA;ACnkEA;ADskEA;EACA,UAAA;ACnkEA;ADskEA;EACA,cAAA;EACA,kBAAA;ACnkEA;ADskEA;EACA,WAAA;EACA,mBAAA;ACnkEA;ADmmEA;EACA,WAAA;EACA,YAAA;AChmEA;ADkmEA;EACA,YAlCA;EAmCA,gBAnCA;EAoCA,gBApCA;EAqCA,YAAA;AChmEA;ADmmEA;EACA,kBAAA;EACA,UAAA;ACjmEA;ADomEA;EACA,YAAA;AClmEA;ADqmEA;EA1CA,kBAAA;EACA,cAAA;EACA,WAAA;EACA,YAAA;EACA,eAAA;EACA,WAAA;EACA,yCAVA;AC9iEA;ADgmEA;EApCA,aAAA;EACA,sBAAA;EAEA,YApBA;EAqBA,gBArBA;EAsBA,gBAtBA;EAuBA,eAAA;EACA,WAAA;EACA,yCAtBA;EAoDA,YAAA;EACA,YAAA;EACA,eAAA;ACvlEA;AD0lEA;EA3CA,aAAA;EACA,sBAAA;EAEA,YApBA;EAqBA,gBArBA;EAsBA,gBAtBA;EAuBA,eAAA;EACA,WAAA;EACA,sCAxBA;EA6DA,YAAA;EACA,YAAA;EACA,eAAA;ACjlEA;ADolEA;EAlDA,aAAA;EACA,sBAAA;EAEA,YApBA;EAqBA,gBArBA;EAsBA,gBAtBA;EAuBA,eAAA;EACA,WAAA;EACA,sCAxBA;EAoEA,YAAA;EACA,YAAA;EACA,eAAA;AC3kEA;AD8kEA;EAzDA,aAAA;EACA,sBAAA;EAEA,YApBA;EAqBA,gBArBA;EAsBA,gBAtBA;EAuBA,eAAA;EACA,WAAA;EACA,sCAxBA;EA2EA,YAAA;EACA,YAAA;EACA,eAAA;ACrkEA;ADwkEA;EAhEA,aAAA;EACA,sBAAA;EAEA,YApBA;EAqBA,gBArBA;EAsBA,gBAtBA;EAuBA,eAAA;EACA,WAAA;EACA,yCAvBA;EAiFA,YAAA;EACA,YAAA;EACA,eAAA;AC/jEA;ADkkEA;EAjFA,kBAAA;EACA,cAAA;EACA,WAAA;EACA,YAAA;EACA,eAAA;EACA,WAAA;EACA,yCAXA;ACn+DA;ADikEA;EAzFA,kBAAA;EACA,cAAA;EACA,WAAA;EACA,YAAA;EACA,eAAA;EACA,WAAA;EACA,sBATA;AC59DA;AD4jEA;EAnFA,aAAA;EACA,sBAAA;EAEA,YApBA;EAqBA,gBArBA;EAsBA,gBAtBA;EAuBA,eAAA;EACA,WAAA;EACA,sBArBA;ACl9DA;ADsjEA;EACA,kBAAA;EACA,QAAA;EACA,SAAA;ACpjEA;ADyjEA;EACA,aAAA;ACtjEA;ADyjEA;EACA,cAAA;ACtjEA;ADyjEA;EACA,UAAA;ACtjEA;ADyjEA;EACA,sBAAA;EACA,kCAAA;ACtjEA;ADyjEA;EACA,mBAAA;ACtjEA;ADyjEA;EACA,cAAA;EACA,kBAAA;EACA,WAAA;ACtjEA;ADyjEA;EACA,aAAA;EACA,6BAAA;ACvjEA;ADyjEA;EACA,aAAA;EACA,mBAAA;EACA,uBAAA;EACA,4BAAA;ACvjEA;AD2jEA;EAEA,gBAAA;EACA,WAAA;EACA,cAAA;AC1jEA;AD6jEA;EACA,sBAAA;EACA,cAAA;AC3jEA;AD8jEA;EACA,aAAA;EACA,6BAAA;EACA,WAAA;AC5jEA;AD8jEA;EAEA,aAAA;EACA,mBAAA;EACA,uBAAA;EACA,4BAAA;AC7jEA;ADikEA;EACA,OAAA;AC/jEA;ADkkEA;EACA,eAAA;AChkEA;ADokEA;EACA,OAAA;EAEA,cAAA;ACnkEA;ADskEA;EACA,YAAA;EACA,UAAA;ACpkEA;ADukEA;EACA,gBAAA;ACrkEA;ADykEA;EACA,sBAAA;ACvkEA;AD0kEA;EACA,WAAA;EACA,cAAA;ACxkEA;AD8kEA;EAEA,cAAA;EAEA,SAAA;AC9kEA;ADilEA;EACA,iBAAA;EACA,OAAA;AC/kEA;ADilEA;EACA,0BAAA;AC/kEA;ADmlEA;EACA,eAAA;ACjlEA;ADolEA;EACA,cAAA;EACA,WAAA;ACllEA;ADqlEA;EACA,mBAAA;EACA,sBAAA;EACA,4BAAA;EACA,WAAA;EACA,YAAA;EACA,gBAAA;EACA,qBAAA;EACA,qBAAA;ACnlEA;ADslEA;EACA,eAAA;ACplEA;AD0lEA;EACA,aAAA;ACvlEA;ADylEA;EACA,iBAAA;EACA,cAAA;ACvlEA;AD0lEA;EACA,iBAAA;EACA,YAAA;ACxlEA;AD2lEA;EACA,UAAA;EACA,kBAAA;ACzlEA;AD6lEA;EACA,eAAA;AC1lEA;AD4lEA;EACA,eAAA;AC1lEA;AD8lEA;EACA,aAAA;EAGA,aAAA;EAEA,eAAA;AC9lEA;ADgmEA;EAEA,yBAAA;EACA,YAAA;EACA,aAAA;EACA,eAAA;EAIA,8BAAA;EAGA,kCAAA;EACA,kCAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,eAAA;ACpmEA;ADumEA;EACA,gBAAA;ACrmEA;;AAEA,oCAAoC",file:"index.vue",sourcesContent:['<template>\r\n <div class="app-container">\r\n <div class="filter-container">\r\n <el-form ref="listQuery" :inline="true" :model="listQuery" class="demo-form-inline">\r\n <el-form-item label="机构名称" prop="unitName">\r\n <el-select v-model="listQuery.unitName" style="width: 100%" clearable filterable size="small"\r\n class="filter-item" placeholder="请选择机构名称">\r\n <el-option v-for="(item, index) in institutionList" :key="index" :label="item.label" :value="item.label" />\r\n </el-select>\r\n \x3c!-- <el-input size="small" clearable v-model="listQuery.unitName" placeholder="请输入机构名称"></el-input> --\x3e\r\n </el-form-item>\r\n <el-form-item label="护理对象" prop="familyName">\r\n <el-select v-model="listQuery.familyName" style="width: 100%" clearable filterable size="small"\r\n class="filter-item" placeholder="请选择护理对象">\r\n <el-option v-for="(item, index) in customerData" :key="index" :label="item.label" :value="item.label" />\r\n </el-select>\r\n \x3c!-- <el-input size="small" clearable v-model="listQuery.familyName" placeholder="请输入护理对象"></el-input> --\x3e\r\n </el-form-item>\r\n <el-form-item label="护工姓名" prop="personName">\r\n <el-select v-model="listQuery.personName" style="width: 100%" clearable filterable size="small"\r\n class="filter-item" placeholder="请选择姓名">\r\n <el-option v-for="(item, index) in renyuanxinxi" :key="index" :label="item.label" :value="item.value" />\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item label="计划时间" prop="playTime">\r\n <el-date-picker v-model="listQuery.playTime" size="small" value-format="yyyy-MM-dd" type="daterange"\r\n range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" />\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size="small" type="primary" @click="onSubmit">查询</el-button>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size="small" type="warning" @click="resetting(\'listQuery\')">重置</el-button>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size="small" type="success" @click="add">新增</el-button>\r\n </el-form-item>\r\n\r\n <el-form-item v-for="item in expBtn" :key="item.key">\r\n <el-button size="small" type="primary" @click="expShow(item)">\r\n {{ item.name }}\r\n </el-button>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n <el-table border height="65vh" :data="list" style="width: 100%">\r\n <el-table-column :label="\'所属机构\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.unitName }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'护理对象\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.familyName }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'计划流水号\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.no }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'计划开始日期\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.startDate }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'计划结束日期\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.endDate }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'护理计划状态\'" align="center">\r\n <template slot-scope="{ row }">\r\n <el-tag size="medium" :type="row.status == \'2\' ? \'success\' : \'\'">{{\r\n row.status == "1"\r\n ? "进行中"\r\n : row.status == "2"\r\n ? "已完成"\r\n : row.status == "3"\r\n ? "已取消"\r\n : row.status == "0"\r\n ? "待执行"\r\n : "-"\r\n }}</el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'分配护工\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.personName ? row.personName : "-" }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'操作\'" align="center" width="380" class-name="small-padding fixed-width">\r\n <template slot-scope="{ row, $index }">\r\n <el-button v-if="row.status != \'2\'" size="mini" type="success" @click="Scheduling(row, $index)">\r\n 排班\r\n </el-button>\r\n <el-button v-if="row.status != \'2\'" size="mini" type="success" @click="allocation(row, $index)">\r\n 分配护工\r\n </el-button>\r\n <el-button v-if="row.status != \'2\'" size="mini" type="primary" @click="edit(row, $index)">\r\n 修改\r\n </el-button>\r\n <el-button v-if="row.status == \'0\'" size="mini" type="danger" @click="handleDelete(row, $index)">\r\n 删除\r\n </el-button>\r\n <el-button size="mini" type="primary" @click="details(row, $index)">\r\n 详情\r\n </el-button>\r\n <el-button v-if="row.status != \'2\'" size="mini" type="success" @click="complete(row, $index)">\r\n 订单完成\r\n </el-button>\r\n <el-button v-if="row.status == \'2\'" size="mini" type="success" @click="PlanexpExcel(row, $index)">\r\n 导出\r\n </el-button>\r\n \x3c!-- v-if="row.status == \'2\'" --\x3e\r\n <el-button style="margin-top: 8px" size="mini" type="success" @click="expExcel2(row, $index)">\r\n 打印\r\n </el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <pagination v-show="total > 0" :total="total" :page.sync="listQuery.pageNo" :limit.sync="listQuery.size"\r\n @pagination="getList" />\r\n <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :title="textMap[dialogStatus]"\r\n :visible.sync="dialogFormVisible" width="60%">\r\n <el-form ref="dataForm" :rules="rules" :model="temp" label-position="right" label-width="120px">\r\n <el-row :gutter="20">\r\n <el-col :span="12">\r\n <el-form-item label="护理对象" prop="familyId">\r\n <el-select v-model="temp.familyId" style="width: 100%" clearable filterable size="small"\r\n class="filter-item" placeholder="选择护理对象" @change="familyChange">\r\n <el-option v-for="(item, index) in nurseObject" :key="index" :label="item.label" :value="item.value">\r\n <span style="float: left">{{ item.label }}</span>\r\n <span style="float: right; color: #8492a6; font-size: 13px">状态:{{ item.isDelete == "0" ? \'正常\' :\r\n item.isDelete == "1" ? \'注销\' : \'-\' }}</span>\r\n </el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="所属机构" prop="unitId">\r\n <el-select v-model="temp.unitId" style="width: 100%" clearable filterable size="small" class="filter-item"\r\n placeholder="请选择所属机构">\r\n <el-option v-for="(item, index) in institutionArrData" :key="index" :label="item.label"\r\n :value="item.value" />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="计划开始日期" prop="startDate">\r\n <el-date-picker v-model="temp.startDate" size="small" format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd"\r\n style="width: 100%" type="date" placeholder="请选择计划开始日期" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="计划结束日期" prop="endDate">\r\n <el-date-picker v-model="temp.endDate" size="small" format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd"\r\n style="width: 100%" type="date" placeholder="请选择计划结束日期" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="护理内容" prop="projectPlanId">\r\n <el-select v-model="temp.projectPlanId" style="width: 100%" clearable filterable size="small"\r\n class="filter-item" placeholder="选择护理内容" @change="NursingChange">\r\n <el-option v-for="(item, index) in NursingArrData" :key="index" :label="item.label"\r\n :value="item.value" />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="失能等级" prop="familyLv">\r\n <el-tag type="success">{{ disabilityLv[temp.familyLv] }}</el-tag>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="24">\r\n <el-form-item label="协议文件" prop="pdfUrl">\r\n <el-upload action="#" :limit="1" :data="FormData" :before-upload="beforeAvatarUploada"\r\n :http-request="handleFileUpload" :file-list="fileList" :on-preview="onPreview">\r\n <el-button slot="trigger" size="small" type="primary">选取文件</el-button>\r\n </el-upload>\r\n </el-form-item>\r\n </el-col>\r\n <el-col v-if="temp.projectPlanId == \'1\'" :span="12">\r\n <el-form-item label="护理项组合" prop="projectPlanId">\r\n <el-button size="small" type="success" @click="addNurse">新增护理项</el-button>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="24">\r\n <el-table ref="standTable" v-loading="NursingLoading" border height="35vh" :data="NursingData"\r\n style="width: 100%" :summary-method="getSummaries" show-summary row-key="projectId"\r\n class="draggable-table">\r\n <el-table-column label="鼠标长按" width="100" align="center">\r\n <el-button link type="text" size="small" :icon="\'el-icon-s-operation\'" class="handle">拖拽</el-button>\r\n </el-table-column>\r\n <el-table-column :label="\'序号\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.sort }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'护理项\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.label }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'类别\'" align="center">\r\n <template slot-scope="{ row }">\r\n <el-tag size="medium">{{ row.type == "01" ? "生活照料" : row.type == "02" ? "精神慰藉" : row.type == "03" ?\r\n "安全巡视" : row.type == "04" ? "医疗护理" : row.type == "05" ? "康复护理" : row.type == "06" ? "辅助器具" :\r\n row.type == "07" ? "居家护理" : \'-\' }}</el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'次数\'" align="center" prop="num">\r\n <template slot-scope="{ row, $index }">\r\n <el-input v-if="row.edit" v-model="row.num" placeholder="次数" @blur="InputBlur(row, $index)" />\r\n <span v-else>{{ row.num }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'机构护理价\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.projectPrice3 }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'省厅价格\'" align="center">\r\n <template slot-scope="{row}">\r\n <span>{{ row.threePrice }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'汇总价格\'" align="center" prop="projectPrice1">\r\n <template slot-scope="{ row }">\r\n <span>{{ Summary(row.num, row.projectPrice3) }}</span>\r\n </template>\r\n </el-table-column>\r\n \x3c!-- <el-table-column :label="\'机构护理价\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.projectPrice3 }}</span>\r\n </template>\r\n </el-table-column> --\x3e\r\n <el-table-column :label="\'操作\'" align="center" width="200" class-name="small-padding fixed-width">\r\n <template slot-scope="{ row, $index }">\r\n <el-button size="mini" type="primary" @click="modify(row, $index)">\r\n 修改次数\r\n </el-button>\r\n <el-button size="mini" type="danger" @click="nurseDelete(row, $index)">\r\n 删除\r\n </el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <div slot="footer" class="dialog-footer">\r\n \x3c!-- <el-button size="small" @click="dialogFormVisible = false">\r\n 取 消\r\n </el-button> --\x3e\r\n <el-button type="primary" size="small" @click="dialogStatus === \'create\' ? createData() : updateData()">\r\n 确 认\r\n </el-button>\r\n </div>\r\n </el-dialog>\r\n <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :title="\'分配护工\'"\r\n :visible.sync="allocationDialogVisible" width="45%">\r\n <el-row :gutter="20">\r\n <el-col :span="6" style="margin-bottom: 20px;">\r\n <el-input v-model="searchContent" size="mini" placeholder="输入护工名称搜索" @input="selectTable" />\r\n </el-col>\r\n <el-col :span="24">\r\n <el-table v-loading="allocationLoading" border height="50vh" :data="checklist" style="width: 100%"\r\n @row-click="singleElection">\r\n <el-table-column align="center" width="55" label="选择">\r\n <template slot-scope="scope">\r\n \x3c!-- 可以手动的修改label的值,从而控制选择哪一项 --\x3e\r\n <el-radio v-model="templateSelection" class="radio" :label="scope.row.id">\r\n <span />\r\n </el-radio>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'护工名称\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.name }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'护工联系号码\'" align="center">\r\n <template slot-scope="{ row, $index }">\r\n <span>{{ row.phoneNumber }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'护工性别\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.sex }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'护工地址\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.address }}</span>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n </el-col>\r\n </el-row>\r\n <div slot="footer" class="dialog-footer">\r\n <el-button size="small" @click="allocationDialogVisible = false">\r\n 取 消\r\n </el-button>\r\n <el-button type="primary" size="small" @click="confirm">\r\n 分 配\r\n </el-button>\r\n </div>\r\n </el-dialog>\r\n\r\n <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :title="title"\r\n :visible.sync="SchedulingDialogVisible" width="40%">\r\n <el-form ref="ruleForm" :model="ruleForm" label-position="right" label-width="100px">\r\n <el-row :gutter="20">\r\n <el-col :span="24">\r\n <el-form-item label="排班时间">\r\n <el-time-picker v-model="time" style="width: 80%" size="small" is-range range-separator="至"\r\n start-placeholder="开始时间" format="HH:mm" end-placeholder="结束时间" placeholder="请选择服务时间"\r\n value-format="HH:mm" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="24">\r\n <el-form-item label="是否全选">\r\n <el-checkbox v-model="checkAll" @change="handleCheckAllChange">{{ checkAll ? \'是\' : \'否\' }}</el-checkbox>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="24">\r\n <div class="list">\r\n <div v-for="(item, index) in dates" :key="index" class="item" @click="allcalendar(item, index)">\r\n {{ item.dataTime }} {{ item.show ? \'✔️\' : \'\' }}</div>\r\n </div>\r\n\r\n \x3c!-- <el-button type="success" class="addButton" size="small" @click="addScheduling">\r\n 新增排班\r\n </el-button>\r\n <el-table border height="30vh" v-loading="SchedulingLoading" :data="ruleForm.SchedulingData"\r\n style="width: 100%" @row-click="singleElection">\r\n <el-table-column align="center" label="排班日期" width="215">\r\n <template slot-scope="{ row, $index }">\r\n <el-form-item label-width="0px" :prop="\'SchedulingData.\' + $index + \'.clockDate\'"\r\n :rules="rules.clockDate">\r\n <el-date-picker style="width: 100%" size="small" v-model="row.clockDate" type="date"\r\n :disabled="ScheduleDate(row)" placeholder="请选择排班日期" value-format="yyyy-MM-dd"></el-date-picker>\r\n </el-form-item>\r\n </template>\r\n </el-table-column>\r\n <el-table-column align="center" label="服务时间" width="350">\r\n <template slot-scope="{ row, $index }">\r\n <el-form-item label-width="0px">\r\n <el-time-picker :disabled="ScheduleDate(row)" style="width: 100%" size="small" is-range\r\n v-model="row.time" range-separator="至" start-placeholder="开始时间" format="HH:mm"\r\n end-placeholder="结束时间" placeholder="请选择服务时间" value-format="HH:mm">\r\n </el-time-picker>\r\n </el-form-item>\r\n </template>\r\n </el-table-column>\r\n <el-table-column align="center" label="操作" width="90">\r\n <template slot-scope="{ row, $index }">\r\n <el-button size="mini" type="danger" @click="removeDomain(row, $index)">\r\n 删除\r\n </el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table> --\x3e\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <div slot="footer" class="dialog-footer">\r\n <el-button size="small" @click="SchedulingDialogVisible = false">\r\n 取 消\r\n </el-button>\r\n <el-button type="primary" size="small" @click="SchedulingConfirmation(\'ruleForm\')">\r\n 确 认\r\n </el-button>\r\n </div>\r\n </el-dialog>\r\n\r\n <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :title="\'详情\'"\r\n :visible.sync="detailsDialogVisible" width="45%">\r\n <el-form ref="dataForm" :rules="rules" :model="temp" label-position="right" label-width="120px">\r\n <el-row :gutter="20">\r\n <el-col :span="12">\r\n <el-form-item label="护理对象" prop="familyId">\r\n <el-select v-model="temp.familyId" style="width: 100%" disabled clearable filterable size="small"\r\n class="filter-item" placeholder="选择护理对象">\r\n <el-option v-for="(item, index) in nurseObject" :key="index" :label="item.label" :value="item.value" />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="所属机构" prop="unitId">\r\n <el-select v-model="temp.unitId" style="width: 100%" disabled clearable filterable size="small"\r\n class="filter-item" placeholder="请选择所属机构">\r\n <el-option v-for="(item, index) in institutionArrData" :key="index" :label="item.label"\r\n :value="item.value" />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="计划开始日期" prop="startDate">\r\n <el-date-picker v-model="temp.startDate" size="small" disabled format="yyyy 年 MM 月 dd 日"\r\n value-format="yyyy-MM-dd" style="width: 100%" type="date" placeholder="请选择计划开始日期" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="计划结束日期" prop="endDate">\r\n <el-date-picker v-model="temp.endDate" size="small" disabled format="yyyy 年 MM 月 dd 日"\r\n value-format="yyyy-MM-dd" style="width: 100%" type="date" placeholder="请选择计划结束日期" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="护理内容" prop="projectPlanId">\r\n <el-select v-model="temp.projectPlanId" style="width: 100%" disabled clearable filterable size="small"\r\n class="filter-item" placeholder="选择护理内容" @change="NursingChange">\r\n <el-option v-for="(item, index) in NursingArrData" :key="index" :label="item.label"\r\n :value="item.value" />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="失能等级">\r\n <el-tag v-if="temp.familyLv == \'06\'" type="success">重度失能ⅠⅠⅠ级</el-tag>\r\n <el-tag v-if="temp.familyLv == \'05\'" type="success">重度失能ⅠⅠ级</el-tag>\r\n <el-tag v-if="temp.familyLv == \'04\'" type="success">重度失能Ⅰ级</el-tag>\r\n <el-tag v-if="temp.familyLv == \'03\'" type="success">中度失能</el-tag>\r\n <el-tag v-if="temp.familyLv == \'02\'" type="success">轻度失能</el-tag>\r\n <el-tag v-if="temp.familyLv == \'01\'" type="success">基本正常</el-tag>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="24">\r\n <el-form-item label="协议文件" prop="pdfUrl">\r\n <el-upload action="#" disabled :limit="1" :data="FormData" :before-upload="beforeAvatarUploada"\r\n :http-request="handleFileUpload" :file-list="fileList" :on-preview="onPreview">\r\n <el-button slot="trigger" disabled size="small" type="primary">选取文件</el-button>\r\n </el-upload>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="24">\r\n <div class="calendar-dialog">\r\n \x3c!-- {{rangeTime}} --\x3e\r\n <el-calendar v-model="calendarTime">\r\n <template slot="dateCell" slot-scope="{ date, data }">\r\n <div class="card-group">\r\n <div :class="data.isSelected\r\n ? \'card-calendar-text\'\r\n : \'card-calendar-text\'\r\n ">\r\n <span>{{ getTimeDate(data.day) }}</span>\r\n <el-icon v-if="data.isSelected"><Select /></el-icon>\r\n </div>\r\n <span v-for="(item, index) in setData" :key="item.id" class="card">\r\n <div v-if="item.clockDate === data.day" class="card-flag">\r\n <div :class="getDate < item.clockDate\r\n ? \'card-text5\'\r\n : compareDate(\r\n item.timeSlot,\r\n item.upCreateTime,\r\n item.dnCreateTime\r\n )\r\n ? \' card-text1\'\r\n : \' card-text2\'\r\n ">\r\n <span>{{ getTimeDate(data.day) }}</span>\r\n <span v-if="item.timeSlot" style="font-weight: 500; font-size: 12px">排班:{{ item.timeSlot\r\n }}</span>\r\n <span v-if="item.upCreateTime" style="font-weight: 500; font-size: 12px">上班:{{\r\n setTimeDate(item.upCreateTime) }}</span>\r\n <span v-if="item.dnCreateTime" style="font-weight: 500; font-size: 12px">下班:{{\r\n setTimeDate(item.dnCreateTime) }}</span>\r\n </div>\r\n </div>\r\n <div v-else />\r\n </span>\r\n </div>\r\n </template>\r\n </el-calendar>\r\n </div>\r\n </el-col>\r\n <el-col :span="24">\r\n <el-table v-loading="NursingLoading" border height="30vh" :data="NursingData" style="width: 100%">\r\n <el-table-column :label="\'护理项\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.label }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'需要护理次数\'" align="center">\r\n <template slot-scope="{ row, $index }">\r\n <span>{{ row.num }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'实际护理次数\'" align="center">\r\n <template slot-scope="{ row, $index }">\r\n <span>{{ row.alreadyNum ? row.alreadyNum : \'-\' }}</span>\r\n </template>\r\n </el-table-column>\r\n\r\n </el-table>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <div slot="footer" class="dialog-footer">\r\n <el-button type="primary" size="small" @click="detailsDialogVisible = false">\r\n 关 闭\r\n </el-button>\r\n </div>\r\n </el-dialog>\r\n <preview-file :file="file" />\r\n\r\n <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" title="导出" :visible.sync="dialogVisibleExp"\r\n width="30%" :before-close="handleClose">\r\n <el-form ref="dataForm" :model="exportTime" :rules="rules" class="demo-form-inline" label-position="right"\r\n label-width="90px">\r\n <el-row :gutter="20">\r\n <el-col :span="24">\r\n <el-form-item label="提示:">\r\n <el-link :underline="false" type="primary">请根据护理计划的开始日期和结束日期选择时间</el-link>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="24">\r\n <el-form-item label="时间">\r\n <el-date-picker v-model="exportTime.startDate" style="width: 100%" size="small" type="daterange"\r\n value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col v-if="this.expApiName == \'护理计划信息\'" :span="24">\r\n <el-form-item label="护理对象">\r\n <el-select v-model="exportTime.familyId" style="width: 100%" clearable filterable size="small"\r\n class="filter-item" placeholder="选择护理对象">\r\n <el-option v-for="(item, index) in nurseObject" :key="index" :label="item.label" :value="item.value" />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col v-if="this.expApiName != \'护理计划信息\'" :span="24">\r\n <el-form-item label="计划流水号">\r\n <el-input v-model="exportTime.orderNo" size="small" clearable placeholder="请输入计划流水号" />\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <span slot="footer" class="dialog-footer">\r\n <el-button size="small" :loading="loadExp" @click="handleClose">取 消</el-button>\r\n <el-button size="small" type="primary" :loading="loadExp" @click="expExcel">\r\n 导 出\r\n </el-button>\r\n </span>\r\n </el-dialog>\r\n\r\n <el-dialog v-if="unitType == \'机构护理\'" :close-on-click-modal="false" :close-on-press-escape="false" title="打印"\r\n :visible.sync="expObjVisible" width="100%" :before-close="handleClose" top="3vh">\r\n <div id="printDom1" ref="printDom1" class="exptable" border="1">\r\n <div class="thead">\r\n {{ expObj.orderYearMonth }}\r\n </div>\r\n <div class="tbody">\r\n <div class="tr eight">\r\n <div class="title eight_label">参保人姓名</div>\r\n <div class="eight_label">{{ expObj.personName }}</div>\r\n <div class="title eight_label">身份证</div>\r\n <div class="eight_label">{{ expObj.personIdCode }}</div>\r\n <div class="title eight_label">年龄</div>\r\n <div>\r\n {{ expObj.personAge }}\r\n </div>\r\n <div class="title eight_label">参保类型</div>\r\n <div class="eight_label">{{ expObj.medicalType }}</div>\r\n\r\n <div class="title eight_label">制表人</div>\r\n <div class="eight_label">{{ expObj.unitName }}</div>\r\n </div>\r\n <div class="tr eight">\r\n <div class="title eight_label">所属参保区划</div>\r\n <div class="eight_label">{{ expObj.medicalCounty }}</div>\r\n <div class="title eight_label">失能等级</div>\r\n <div class="eight_label">{{ expObj.lv }}</div>\r\n <div class="title eight_label">家属姓名</div>\r\n <div class="eight_label">{{ expObj.familyName }}</div>\r\n \x3c!-- <div class="title eight_label" style="width: 750px;"></div> --\x3e\r\n \x3c!-- <div class="eight_label">{{ expObj.totalPrice }}</div> --\x3e\r\n </div>\r\n <div class="leftXuhao loop">\r\n <div class="num">序号</div>\r\n <div class="name">服务项目</div>\r\n <div class="day headday">\r\n <span>护理服务执行日期及次数</span>\r\n <div class="forday">\r\n <span v-for="i in 31" :key="i">{{ i }}日</span>\r\n </div>\r\n </div>\r\n <div class="total">床日合计</div>\r\n </div>\r\n <div v-for="(item, index) in expObj.list" :key="index" class="tr loop">\r\n <div class="num">{{ index + 1 }}</div>\r\n <div class="name">{{ item.title }}</div>\r\n <div class="day bodyday">\r\n <div class="forday">\r\n <template v-for="i in 31">\r\n <span v-if="Array.isArray(item[`day${i}`])" :key="i">\r\n <p v-for="(items, index) in item[`day${i}`]" :key="index" style="margin: 0;">\r\n {{ items }}\r\n </p>\r\n </span>\r\n <span v-else :key="i">{{ item[`day${i}`] }}</span>\r\n </template>\r\n </div>\r\n </div>\r\n <div class="total">{{ item.num }}</div>\r\n </div>\r\n </div>\r\n <div class="handwriting">\r\n <div class="name">协议服务机构负责人签字:</div>\r\n <div class="day bodyday">家属确认签字按手印:</div>\r\n </div>\r\n <div class="handwriting">\r\n <div class="name">盖章:</div>\r\n <div class="day bodyday">日期:</div>\r\n </div>\r\n <div class="handwriting">\r\n <div class="name">日期:</div>\r\n </div>\r\n </div>\r\n <span slot="footer" class="dialog-footer">\r\n <el-button size="small" :loading="loadExp" @click="handleClose">取 消</el-button>\r\n <el-button v-print="print" size="small" type="primary" :loading="loadExp" @click="onPrint">\r\n 打 印\r\n </el-button>\r\n </span>\r\n </el-dialog>\r\n <el-dialog v-if="unitType == \'居家护理\'" :close-on-click-modal="false" :close-on-press-escape="false" title="打印"\r\n :visible.sync="expObjVisible" width="100%" :before-close="handleClose" top="3vh">\r\n <div id="printDom1" ref="printDom1" class="exptable" border="1">\r\n <div class="thead">\r\n {{ expObj.orderYearMonth }}\r\n </div>\r\n <div class="tbody">\r\n <div class="tr eight">\r\n <div class="title eight_label">参保人姓名</div>\r\n <div class="eight_label">{{ expObj.personName }}</div>\r\n <div class="title eight_label">身份证</div>\r\n <div class="eight_label">{{ expObj.personIdCode }}</div>\r\n <div class="title eight_label">年龄</div>\r\n <div>\r\n {{ expObj.personAge }}\r\n </div>\r\n <div class="title eight_label">参保类型</div>\r\n <div class="eight_label">{{ expObj.medicalType }}</div>\r\n\r\n <div class="title eight_label">制表人</div>\r\n <div class="eight_label">{{ expObj.unitName }}</div>\r\n </div>\r\n <div class="tr eight">\r\n <div class="title eight_label">所属参保区划</div>\r\n <div class="eight_label">{{ expObj.medicalCounty }}</div>\r\n <div class="title eight_label">失能等级</div>\r\n <div class="eight_label">{{ expObj.lv }}</div>\r\n <div class="title eight_label">家属姓名</div>\r\n <div class="eight_label">{{ expObj.familyName }}</div>\r\n \x3c!-- <div class="title eight_label" style="width: 750px;"></div> --\x3e\r\n \x3c!-- <div class="eight_label">{{ expObj.totalPrice }}</div> --\x3e\r\n </div>\r\n <div class="leftXuhao loop">\r\n <div class="num">序号</div>\r\n <div class="name">服务项目</div>\r\n <div class="day headday">\r\n <span>护理服务执行日期及护理项目次数(分钟)</span>\r\n <div class="forday">\r\n <span v-for="i in 31" :key="i">{{ i }}日</span>\r\n </div>\r\n </div>\r\n \x3c!-- <div class="total">床日合计</div> --\x3e\r\n </div>\r\n <div v-for="(item, index) in expObj.list" :key="index" class="tr loop">\r\n <div class="num">{{ index + 1 }}</div>\r\n <div class="name">{{ item.title }}</div>\r\n \x3c!-- 当月服务时长单元格合并显示 --\x3e\r\n <div v-if="item.title == \'当月服务总时长(小时)\'" class="day bodyday merged-cell">\r\n {{ item.num }}(小时)\r\n </div>\r\n \x3c!-- 普通日期单元格 --\x3e\r\n <div v-else class="day bodyday">\r\n <div class="forday">\r\n <template v-for="i in 31">\r\n <span v-if="Array.isArray(item[`day${i}`])" :key="i">\r\n <p v-for="(items, index) in item[`day${i}`]" :key="index" style="margin: 0;">\r\n {{ items }}\r\n </p>\r\n </span>\r\n <span v-else :key="i">{{ item[`day${i}`] }}</span>\r\n </template>\r\n </div>\r\n </div>\r\n \x3c!-- <div class="day bodyday">\r\n <div class="forday">\r\n <template v-for="i in 31">\r\n <span v-if="Array.isArray(item[`day${i}`])" :key="i">\r\n <p v-for="(items, index) in item[`day${i}`]" :key="index" style="margin: 0;">\r\n {{ items }}\r\n </p>\r\n </span>\r\n <span v-else-if="item.title == \'当月服务时长(小时)\'">{{ item.num }}</span>\r\n <span v-else :key="i">{{ item[`day${i}`] }}</span>\r\n </template>\r\n </div>\r\n </div> --\x3e\r\n \x3c!-- <div class="total">{{ item.num }}</div> --\x3e\r\n </div>\r\n </div>\r\n <div class="handwriting">\r\n <div class="name">协议服务机构负责人签字:</div>\r\n <div class="day bodyday">家属确认签字按手印:</div>\r\n </div>\r\n <div class="handwriting">\r\n <div class="name">盖章:</div>\r\n <div class="day bodyday">日期:</div>\r\n </div>\r\n <div class="handwriting">\r\n <div class="name">日期:</div>\r\n </div>\r\n </div>\r\n <span slot="footer" class="dialog-footer">\r\n <el-button size="small" :loading="loadExp" @click="handleClose">取 消</el-button>\r\n <el-button v-print="print" size="small" type="primary" :loading="loadExp" @click="onPrint">\r\n 打 印\r\n </el-button>\r\n </span>\r\n </el-dialog>\r\n\r\n <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" title="新增护理项" :visible.sync="dialogVisible"\r\n width="30%">\r\n <el-select v-model="projectList" style="width: 100%" clearable filterable size="small" class="filter-item"\r\n placeholder="请选择护理项组合" multiple>\r\n <el-option v-for="(item, index) in institutionData" :key="index" :label="item.label" :value="item.value">\r\n <span style="float: left">{{ item.label }}</span>\r\n <span style="float: right; color: #8492a6; font-size: 13px">护理类型:{{ item.type == "01" ? "生活照料" : item.type ==\r\n "02"\r\n ? "精神慰藉" : item.type == "03" ? "安全巡视" : item.type == "04" ? "医疗护理" : item.type == "05" ? "康复护理" : item.type\r\n ==\r\n "06" ? "辅助器具" : item.type == "07" ? "居家护理" : \'-\' }}</span>\r\n </el-option>\r\n </el-select>\r\n <span slot="footer" class="dialog-footer">\r\n <el-button size="small" @click="dialogVisible = false">取 消</el-button>\r\n <el-button type="primary" size="small" @click="determine">确 定</el-button>\r\n </span>\r\n </el-dialog>\r\n\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport {\r\n SProjectAll,\r\n SProjectPlanPage,\r\n SysUnitPage,\r\n SProjectPlanDetail,\r\n WxUserCustomAll,\r\n WxUserFamilyAll,\r\n SPersonAll,\r\n repeatedGeneration,\r\n WxOrderFinish,\r\n getByOrderNo,\r\n SysUnitAll\r\n} from \'@/api/institution\'\r\nimport { wxSettlementInfo, ClockInfo, ClockJsInfo } from \'@/api/settlement\'\r\nimport {\r\n WxOrderPage,\r\n WxOrderSave,\r\n WxOrderDel,\r\n WxOrderSchedulingGetByOrderNo,\r\n WxOrderSchedulingDel,\r\n WxOrderItemgetOrderNoDetails,\r\n WxOrderDetail,\r\n WxOrderItemUserSave,\r\n WxOrderSchedulingSave,\r\n ExportExcel\r\n} from \'@/api/plan\'\r\nimport Pagination from \'@/components/Pagination\'\r\nimport { uploadTP, uploadPDF } from \'@/api/upload\'\r\nimport { fileUrl } from \'@/utils/fileUrl.js\'\r\nimport PreviewFile from \'@/components/previewFile\'\r\nimport Vue from \'vue\'\r\nimport Sortable from \'sortablejs\'\r\nexport default {\r\n name: \'Personnel\',\r\n components: { Pagination, PreviewFile },\r\n filters: {},\r\n data() {\r\n var clockDateRules = (rule, value, callback) => {\r\n if (!value) {\r\n callback(new Error(\'请选择排班日期\'))\r\n } else {\r\n callback()\r\n }\r\n }\r\n return {\r\n\r\n renyuanxinxi: [],\r\n institutionList: [],\r\n customerData: [],\r\n checklist: [], // 筛选值\r\n searchContent: \'\',\r\n // 失能等级枚举\r\n disabilityLv: {\r\n \'01\': \'基本正常\',\r\n \'02\': \'轻度失能\',\r\n \'03\': \'中度失能\',\r\n \'04\': \'重度失能Ⅰ级\',\r\n \'05\': \'重度失能ⅠⅠ级\',\r\n \'06\': \'重度失能ⅠⅠⅠ级\',\r\n \'\': \'请选择护理对象\'\r\n },\r\n // 默认时间\r\n calendarTime: \'\',\r\n // 时间跨度的当前月的星期一和结束月份的星期日\r\n rangeTime: [],\r\n exportTime: {\r\n startDate: []\r\n },\r\n unitType: null,\r\n nowdate: new Date(),\r\n dialogVisibleExp: false,\r\n loadExp: false,\r\n // startDate: [],\r\n expApi: \'\',\r\n expApiName: \'\',\r\n expBtn: [\r\n {\r\n key: 1,\r\n name: \'导出护理计划\',\r\n api: \'wxOrderInfo\',\r\n fileName: \'护理计划\'\r\n },\r\n {\r\n key: 2,\r\n name: \'导出护理项明细\',\r\n api: \'wxOrderItemInfo\',\r\n fileName: \'护理计划明细\'\r\n },\r\n {\r\n key: 3,\r\n name: \'导出分配信息\',\r\n api: \'wxOrderItemUserInfo\',\r\n fileName: \'护理计划分配信息\'\r\n },\r\n {\r\n key: 4,\r\n name: \'导出排班信息\',\r\n api: \'wxOrderSchedulingInfo\',\r\n fileName: \'护理计划排班信息\'\r\n },\r\n {\r\n key: 5,\r\n name: \'自动生成当月护理计划\',\r\n api: \'repeatedGeneration\',\r\n fileName: \'自动生成当月护理计划信息\'\r\n }\r\n ],\r\n file: {\r\n fileurl: \'\',\r\n dialogVisible: false,\r\n title: \'\',\r\n type: \'\'\r\n },\r\n // 单条数据\r\n workerObj: {},\r\n ruleForm: {\r\n SchedulingData: []\r\n },\r\n value: new Date(),\r\n title: \'排班\',\r\n SchedulingLoading: true,\r\n SchedulingDialogVisible: false,\r\n detailsDialogVisible: false,\r\n expObjVisible: false,\r\n expObj: {},\r\n expObjPrint: {},\r\n templateSelection: \'\',\r\n // 分配护工数据\r\n allocationData: [],\r\n // 分配护工loading\r\n allocationLoading: true,\r\n // 分配模态框\r\n allocationDialogVisible: false,\r\n // 护理类型价格\r\n priceType: null,\r\n // 所有套餐\r\n NursingArrData: [],\r\n // 下单人员\r\n placeOrder: [],\r\n // 护理对象\r\n nurseObject: [],\r\n FormData: {},\r\n fileList: [],\r\n NursingLoading: true,\r\n dialogVisible: false,\r\n dialogStatus: \'\',\r\n textMap: { update: \'编辑\', create: \'创建\' },\r\n tableKey: 0,\r\n list: null,\r\n total: 0,\r\n listLoading: true,\r\n listQuery: {\r\n pageNo: 1,\r\n size: 20\r\n },\r\n NursingData: [],\r\n institutionData: [],\r\n institutionArrData: [],\r\n dialogFormVisible: false,\r\n dialogPvVisible: false,\r\n\r\n rules: {\r\n status: [\r\n { required: true, message: \'请选择审核结果\', trigger: \'change\' }\r\n ],\r\n title: [{ required: true, message: \'请输入套餐名称\', trigger: \'blur\' }],\r\n no: [{ required: true, message: \'请输入套餐编号\', trigger: \'blur\' }],\r\n clockDate: [\r\n { required: true, validator: clockDateRules, trigger: \'blur\' }\r\n ],\r\n startDate: [\r\n { required: true, message: \'请选择计划开始日期\', trigger: \'change\' }\r\n ],\r\n endDate: [\r\n { required: true, message: \'请选择计划结束日期\', trigger: \'change\' }\r\n ],\r\n unitId: [\r\n { required: true, message: \'请选择所属机构\', trigger: \'change\' }\r\n ],\r\n projectPlanId: [\r\n { required: true, message: \'请选择护理内容\', trigger: \'change\' }\r\n ],\r\n priceType: [\r\n { required: true, message: \'请选择护理类型\', trigger: \'change\' }\r\n ],\r\n familyId: [\r\n { required: true, message: \'请选择护理对象\', trigger: \'change\' }\r\n ],\r\n familyLv: [\r\n { required: true, message: \'请选择失能等级\', trigger: \'change\' }\r\n ]\r\n },\r\n data: new Date(),\r\n time: \'\',\r\n temp: {},\r\n setData: [],\r\n // 当月的所有日期天数\r\n dates: [],\r\n downloadLoading: false,\r\n checkAll: false,\r\n dialogVisible: false,\r\n projectList: []\r\n }\r\n },\r\n computed: {\r\n ScheduleDate() {\r\n return function (item) {\r\n let data\r\n if (item.clockDate && item.id) {\r\n data = item.clockDate < this.$moment().format(\'YYYY-MM-DD\')\r\n } else {\r\n data = false\r\n }\r\n return data\r\n }\r\n },\r\n Summary() {\r\n return function (num, projectPrice3) {\r\n return (num * projectPrice3).toFixed(2)\r\n }\r\n },\r\n getTimeDate() {\r\n return function (day) {\r\n if (day) {\r\n return this.$moment(day).format(\'MM月DD号\')\r\n }\r\n }\r\n },\r\n setTimeDate() {\r\n return function (day) {\r\n if (day) {\r\n return this.$moment(day).format(\'HH:mm:ss\')\r\n }\r\n }\r\n },\r\n // 获取当日\r\n getDate() {\r\n return this.$moment().format(\'YYYY-MM-DD\')\r\n },\r\n // 根据时间进行比较\r\n compareDate() {\r\n return function (d1, d2, d3) {\r\n if (d1) {\r\n var index = d1.lastIndexOf(\'-\')\r\n var str1 = d1.substring(index + 1, d1.length) // 下班时间\r\n var str2 = d1.substring(0, index) // 上班时间\r\n // var time = str1 + str2\r\n }\r\n // 判断上下班打卡时间\r\n if (\r\n this.$moment(d2).format(\'HH:mm:ss\') < str2 &&\r\n this.$moment(d3).format(\'HH:mm:ss\') > str1\r\n ) {\r\n return true\r\n }\r\n }\r\n }\r\n },\r\n\r\n created() {\r\n this.getList()\r\n // 获取机构信息\r\n this.getinstitution()\r\n },\r\n updated() {\r\n this.$nextTick(() => {\r\n if (this.$refs[\'standTable\']) {\r\n this.$refs[\'standTable\'].doLayout()\r\n }\r\n })\r\n },\r\n methods: {\r\n initDrag() {\r\n const tbody = document.querySelector(\r\n \'.draggable-table .el-table__body-wrapper tbody\'\r\n )\r\n new Sortable(tbody, {\r\n handle: \'.handle\', // handle\'s class\r\n animation: 150,\r\n // 需要在odEnd方法中处理原始eltable数据,使原始数据与显示数据保持顺序一致\r\n onEnd: ({ newIndex, oldIndex }) => {\r\n const targetRow = this.NursingData[oldIndex]\r\n this.NursingData.splice(oldIndex, 1)\r\n this.NursingData.splice(newIndex, 0, targetRow)\r\n this.NursingData.map((item, index) => {\r\n item.sort = index + 1\r\n })\r\n console.log(this.NursingData)\r\n }\r\n })\r\n },\r\n addNurse() {\r\n this.dialogVisible = true\r\n this.projectList = []\r\n const dataArr = []\r\n if (this.temp.itemList) {\r\n this.temp.itemList.map((item) => {\r\n dataArr.push(item.projectId)\r\n })\r\n this.projectList = dataArr\r\n }\r\n },\r\n determine() {\r\n this.dialogVisible = false\r\n setTimeout(() => {\r\n this.NursingLoading = false\r\n }, 1.5 * 1000)\r\n for (var i = 0; i < this.projectList.length; i++) {\r\n const arr1 = this.institutionData.find((item, index) => {\r\n item.projectPrice3 = item.price3\r\n item.threePrice = item.threePrice\r\n item.value = item.value\r\n item.type = item.type\r\n return item.value == this.projectList[i]\r\n })\r\n const data = this.NursingData.some((u) => u.value === arr1.value)\r\n if (!data) {\r\n this.NursingData.push(arr1)\r\n this.NursingData.map((item, index) => {\r\n item.sort = index + 1\r\n })\r\n }\r\n }\r\n this.initDrag()\r\n },\r\n // 数组去重\r\n removeDataArr(arr) {\r\n var obj = {}\r\n arr = arr.reduce(function (item, next) {\r\n obj[next.projectId]\r\n ? \'\'\r\n : (obj[next.projectId] = true && item.push(next))\r\n return item\r\n }, [])\r\n return arr\r\n },\r\n handleCheckAllChange(val) {\r\n this.dates.map((item) => {\r\n item.show = !!val\r\n })\r\n // this.checkedCities = val ? cityOptions : [];\r\n },\r\n /**\r\n * 打印\r\n */\r\n onPrint() {\r\n this.$print(this.$refs.printDom1)\r\n },\r\n getExpPrint(v) {\r\n ClockJsInfo({ yearMonth: v }).then((res) => {\r\n if (res.status === 1) {\r\n this.expObjPrint = res.result\r\n }\r\n })\r\n },\r\n PlanexpExcel(row) {\r\n wxSettlementInfo({ id: row.id, orderNo: row.no }).then((res) => {\r\n const blob = new Blob([res])\r\n const fileName = \'结算信息导出\'\r\n if (blob.size > 0) {\r\n const elink = document.createElement(\'a\')\r\n elink.style.display = \'none\'\r\n elink.href = URL.createObjectURL(blob)\r\n // 类似a标签下载\r\n // 自定义文件名称和导出类型。最好和后台保持一致\r\n elink.download = `${fileName}/${this.$moment().format(\r\n \'YYYY-MM-DD\'\r\n )}.xlsx`\r\n document.body.appendChild(elink)\r\n elink.click()\r\n // 释放URL 对象\r\n URL.revokeObjectURL(elink.href)\r\n // 删除创建的 a 标签\r\n document.body.removeChild(elink)\r\n }\r\n })\r\n },\r\n expExcel2(row) {\r\n ClockInfo({ orderNo: row.no }).then((res) => {\r\n if (res.status === 1) {\r\n this.unitType = res.result.unitType\r\n const result = {}\r\n const lastElement = res.result.list[res.result.list.length - 1]\r\n for (const key in lastElement) {\r\n if (\r\n typeof lastElement[key] === \'string\' &&\r\n lastElement[key].includes(\'-\')\r\n ) {\r\n result[key] = lastElement[key].split(/-/)\r\n } else {\r\n result[key] = lastElement[key]\r\n }\r\n }\r\n res.result.list[res.result.list.length - 1] = result\r\n this.expObj = res.result\r\n this.expObjVisible = true\r\n }\r\n })\r\n },\r\n\r\n // 护理对象选择 取 失能等级\r\n familyChange(value) {\r\n if (value) {\r\n const data = this.nurseObject.find((v) => v.value == value)\r\n this.$set(this.temp, \'familyLv\', data.lv)\r\n return\r\n }\r\n this.$set(this.temp, \'familyLv\', \'\')\r\n },\r\n // 日历点击\r\n allcalendar(date, index) {\r\n date.show = !date.show\r\n // this.ruleForm.SchedulingData.push({\r\n // clockDate: date,\r\n // time: [\r\n // this.$moment().startOf("day").add(6, "hours").format("HH:mm"),\r\n // this.$moment().startOf("day").add(10, "hours").format("HH:mm"),\r\n // ],\r\n // isUntime: "",\r\n // });\r\n },\r\n // 合计\r\n getSummaries(param) {\r\n const { columns, data } = param\r\n const sums = []\r\n columns.forEach((column, index) => {\r\n if (index === 0) {\r\n sums[index] = \'总价\'\r\n return\r\n } else if (column.label == \'汇总价格\') {\r\n // const values = data.map(item => Number(item[column.property]));\r\n // 数量\r\n const values = data.map((item) => Number(item[\'num\']))\r\n // 价格\r\n const price = data.map((item) => Number(item[\'projectPrice3\']))\r\n if (!values.every((value) => isNaN(value))) {\r\n sums[index] = values.reduce((prev, curr, index) => {\r\n const value = Number(curr)\r\n if (!isNaN(value)) {\r\n // curr为数量,price为单价,求得每行的金额,再通过reduce累加求和\r\n return prev + curr * price[index]\r\n } else {\r\n return prev\r\n }\r\n }, 0)\r\n // sums[index] += \' 元\';\r\n } else {\r\n sums[index] = \'\'\r\n }\r\n if (sums[index]) {\r\n sums[index] = sums[index].toFixed(2) // 保留2位小数\r\n }\r\n }\r\n })\r\n\r\n return sums\r\n },\r\n expShow(u) {\r\n if (u.key == 5) {\r\n // this.$prompt(\'请选择日期\', \'提示\', {\r\n // confirmButtonText: \'确定\',\r\n // cancelButtonText: \'取消\',\r\n // }).then(({ value }) => {\r\n // this.$message({\r\n // type: \'success\',\r\n // message: \'你的邮箱是: \' + value\r\n // });\r\n // }).catch(() => {\r\n // this.$message({\r\n // type: \'info\',\r\n // message: \'取消输入\'\r\n // });\r\n // });\r\n const h = this.$createElement\r\n var _this = this\r\n this.$msgbox({\r\n title: \'请选择日期\', // 弹框标题\r\n // 弹框信息\r\n message: h(\r\n Vue.component(\'msgboxDatePicker\', {\r\n render(h) {\r\n return h(\'div\', null, [\r\n h(\'el-date-picker\', {\r\n props: {\r\n value: _this.value,\r\n type: \'date\',\r\n valueFormat: \'yyyy-MM-dd\',\r\n placeholder: \'请选择日期\'\r\n },\r\n on: {\r\n input: (v) => {\r\n _this.value = v\r\n _this.$emit(\'input\', v)\r\n },\r\n change: (v) => {\r\n _this.data = v\r\n _this.$emit(\'change\', v)\r\n }\r\n }\r\n })\r\n ])\r\n }\r\n })\r\n ),\r\n showCancelButton: true,\r\n closeOnClickModal: false,\r\n confirmButtonText: \'确定\',\r\n cancelButtonText: \'取消\'\r\n })\r\n .then(() => {\r\n repeatedGeneration({ data: this.data }).then((res) => {\r\n if (res.status == 1) {\r\n _this.$notify({\r\n title: \'提示\',\r\n message: res.info,\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n _this.$notify({\r\n title: \'提示\',\r\n message: res.info,\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n })\r\n .catch(() => {\r\n this.$notify({\r\n title: \'提示\',\r\n message: \'已取消\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n\r\n return\r\n }\r\n this.dialogVisibleExp = true\r\n this.expApi = u.api\r\n this.expApiName = u.fileName\r\n this.exportTime.startDate = []\r\n },\r\n handleClose() {\r\n this.dialogVisibleExp = false\r\n this.expObjVisible = false\r\n this.exportTime.startDate = []\r\n this.expApi = \'\'\r\n this.expApiName = \'\'\r\n },\r\n expExcel() {\r\n try {\r\n this.loadExp = true\r\n const form = {\r\n startDate: this.exportTime.startDate[0],\r\n endDate: this.exportTime.startDate[1],\r\n url: this.expApi,\r\n familyId: this.exportTime.familyId,\r\n orderNo: this.exportTime.orderNo\r\n }\r\n ExportExcel(form)\r\n .then((res) => {\r\n const blob = new Blob([res])\r\n const fileName = this.expApiName\r\n if (blob.size > 0) {\r\n const elink = document.createElement(\'a\')\r\n elink.style.display = \'none\'\r\n elink.href = URL.createObjectURL(blob)\r\n // 类似a标签下载\r\n // 自定义文件名称和导出类型。最好和后台保持一致\r\n elink.download = `${fileName}/${this.$moment().format(\r\n \'YYYY-MM-DD\'\r\n )}.xlsx`\r\n document.body.appendChild(elink)\r\n elink.click()\r\n // 释放URL 对象\r\n URL.revokeObjectURL(elink.href)\r\n // 删除创建的 a 标签\r\n document.body.removeChild(elink)\r\n }\r\n this.handleClose()\r\n this.loadExp = false\r\n })\r\n .catch(() => {\r\n this.loadExp = false\r\n })\r\n } catch (e) {\r\n this.loadExp = false\r\n console.log(e)\r\n }\r\n },\r\n complete(row) {\r\n this.$confirm(\'此操作将更新订单状态, 是否继续?\', \'提示\', {\r\n confirmButtonText: \'确定\',\r\n cancelButtonText: \'取消\',\r\n type: \'warning\'\r\n })\r\n .then(() => {\r\n WxOrderFinish({ id: row.id }).then((res) => {\r\n if (res.status == 1) {\r\n this.$notify({\r\n title: \'提示\',\r\n message: res.info,\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n this.getList()\r\n return\r\n }\r\n this.$notify({\r\n title: \'提示\',\r\n message: res.info,\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n })\r\n .catch(() => {\r\n this.$message({\r\n type: \'info\',\r\n message: \'已取消\'\r\n })\r\n })\r\n },\r\n details(row) {\r\n // this.rangeTime = [];\r\n WxOrderDetail({ no: row.no }).then((res) => {\r\n this.temp = res.result\r\n if (res.result.clockList || res.result.orderSchedulingList) {\r\n this.calendarTime = this.temp.startDate\r\n // 获取当前日期\r\n // 根据当前日期获取上个月份\r\n const lastMonth = this.$moment(this.temp.startDate)\r\n .clone()\r\n .subtract(1, \'months\')\r\n\r\n // 获取上个月份的最后一天\r\n const lastDayOfLastMonth = lastMonth.endOf(\'month\')\r\n\r\n // 从上个月份的最后一天开始向前查找,直到找到第一个星期一\r\n const lastMondayOfLastMonth = lastDayOfLastMonth\r\n .clone()\r\n .subtract((lastDayOfLastMonth.day() + 6) % 7, \'days\')\r\n\r\n // 获取下个月份\r\n const nextMonth = this.$moment(this.temp.endDate)\r\n .clone()\r\n .add(1, \'months\')\r\n\r\n // 获取下个月的第一天\r\n const firstDayOfNextMonth = nextMonth.startOf(\'month\')\r\n\r\n // 从下个月的第一天开始向后查找,直到找到第一个星期日\r\n const firstSundayOfNextMonth = firstDayOfNextMonth\r\n .clone()\r\n .add((7 - firstDayOfNextMonth.day()) % 7, \'days\')\r\n\r\n // //处理计划开始日期 复制给日历组件\r\n // const firstDayOfMonth = this.$moment(this.temp.startDate).startOf(\'month\'); // 月份的第一天\r\n // const lastDayOfMonth = this.$moment(this.temp.endDate).endOf(\'month\'); // 月份的最后一天\r\n // // 查找第一个星期一\r\n // let currentDay = firstDayOfMonth;\r\n // while (currentDay.isoWeekday() !== 1) {\r\n // currentDay.add(1, \'days\');\r\n // }\r\n // const firstMonday = currentDay.format(\'YYYY-MM-DD\');\r\n // // 查找最后一个星期日\r\n // currentDay = lastDayOfMonth;\r\n // while (currentDay.isoWeekday() !== 7) {\r\n // currentDay.subtract(1, \'days\');\r\n // }\r\n // const sunday = currentDay.format(\'YYYY-MM-DD\');\r\n this.rangeTime = [\r\n lastMondayOfLastMonth.format(\'YYYY-MM-DD\'),\r\n firstSundayOfNextMonth.format(\'YYYY-MM-DD\')\r\n ]\r\n let clockList = []\r\n let orderSchedulingList = []\r\n if (res.result.clockList) {\r\n clockList = res.result.clockList\r\n }\r\n if (res.result.orderSchedulingList) {\r\n orderSchedulingList = res.result.orderSchedulingList\r\n }\r\n const setData = [...clockList, ...orderSchedulingList]\r\n const result = []\r\n const map = new Map()\r\n setData.forEach((item) => {\r\n const key = item.clockDate\r\n if (map.has(key)) {\r\n const existingItem = map.get(key)\r\n existingItem.upCreateTime =\r\n existingItem.upCreateTime || item.upCreateTime\r\n existingItem.dnCreateTime =\r\n existingItem.dnCreateTime || item.dnCreateTime\r\n existingItem.timeSlot = existingItem.timeSlot || item.timeSlot\r\n } else {\r\n map.set(key, item)\r\n }\r\n })\r\n result.push(...map.values())\r\n this.setData = result\r\n }\r\n // const setData = [\r\n // ...res.result.clockList,\r\n // ...res.result.orderSchedulingList,\r\n // ];\r\n // const result = [];\r\n // const map = new Map();\r\n // setData.forEach((item) => {\r\n // const key = item.clockDate;\r\n // if (map.has(key)) {\r\n // const existingItem = map.get(key);\r\n // existingItem.upCreateTime =\r\n // existingItem.upCreateTime || item.upCreateTime;\r\n // existingItem.dnCreateTime =\r\n // existingItem.dnCreateTime || item.dnCreateTime;\r\n // existingItem.timeSlot = existingItem.timeSlot || item.timeSlot;\r\n // } else {\r\n // map.set(key, item);\r\n // }\r\n // });\r\n // result.push(...map.values());\r\n // this.setData = result;\r\n this.fileList = []\r\n this.NursingData = []\r\n this.NursingArrData = []\r\n SProjectPlanPage({ pageNo: 1, size: 9999 }).then((response) => {\r\n this.NursingArrData = response.result.data.map((item) => {\r\n console.log(item)\r\n return { label: item.title, value: item.id }\r\n })\r\n this.NursingArrData.unshift({ label: \'自定义护理项目\', value: \'1\' })\r\n })\r\n WxOrderItemgetOrderNoDetails({ orderNo: row.no }).then((res) => {\r\n this.NursingData = res.result.map((item, index) => {\r\n return {\r\n sort: index + 1,\r\n edit: false,\r\n label: item.projectTitle,\r\n projectId: item.projectId,\r\n num: item.num,\r\n type: item.type,\r\n threePrice: item.threePrice ? item.threePrice : \'-\',\r\n projectPrice1: item.projectPrice1,\r\n projectPrice2: item.projectPrice2,\r\n projectPrice3: item.projectPrice3,\r\n alreadyNum: item.alreadyNum\r\n }\r\n })\r\n setTimeout(() => {\r\n this.NursingLoading = false\r\n }, 1.5 * 1000)\r\n })\r\n if (row.pdfUrl) {\r\n this.fileList.push({\r\n name: row.pdfUrl,\r\n url: row.pdfUrl\r\n })\r\n }\r\n this.detailsDialogVisible = true\r\n })\r\n },\r\n\r\n addScheduling() {\r\n this.ruleForm.SchedulingData.push({\r\n clockDate: \'\',\r\n time: [\r\n this.$moment().startOf(\'day\').add(6, \'hours\').format(\'HH:mm\'),\r\n this.$moment().startOf(\'day\').add(10, \'hours\').format(\'HH:mm\')\r\n ],\r\n isUntime: \'\'\r\n })\r\n },\r\n changeInput(item) {\r\n console.log(item)\r\n if (item.isUntime == 0) {\r\n item.time = [\r\n this.$moment().startOf(\'day\').format(\'HH:mm\'),\r\n this.$moment().endOf(\'day\').format(\'HH:mm\')\r\n ]\r\n } else {\r\n item.time = [\r\n this.$moment().startOf(\'day\').add(6, \'hours\').format(\'HH:mm\'),\r\n this.$moment().startOf(\'day\').add(10, \'hours\').format(\'HH:mm\')\r\n ]\r\n }\r\n },\r\n removeDomain(item, index) {\r\n if (this.title == \'新增排班\') {\r\n this.ruleForm.SchedulingData.splice(index, 1)\r\n return\r\n }\r\n if (item.id) {\r\n WxOrderSchedulingDel({ id: item.id }).then((res) => {\r\n if (res.status == 1) {\r\n this.$notify({\r\n title: res.info,\r\n message: \'删除成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n this.ruleForm.SchedulingData.splice(index, 1)\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'删除失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n return\r\n }\r\n this.ruleForm.SchedulingData.splice(index, 1)\r\n },\r\n SchedulingConfirmation() {\r\n if (!this.time) {\r\n this.$notify({\r\n title: \'提示\',\r\n message: \'请选择排班时间\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n const result = this.dates.some((item) => {\r\n return item.show === true\r\n })\r\n if (!result) {\r\n this.$notify({\r\n title: \'提示\',\r\n message: \'请选择排班日期\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n const temp = {}\r\n const orderSchedulingList = []\r\n for (let i = 0; i < this.dates.length; i++) {\r\n if (this.dates[i].show) {\r\n orderSchedulingList.push({\r\n clockDate: this.dates[i].dataTime,\r\n IsUntime: \'1\',\r\n timeSlot: `${this.time[0]}-${this.time[1]}`\r\n })\r\n }\r\n }\r\n temp.orderNo = this.temp.no\r\n temp.orderSchedulingList = orderSchedulingList\r\n WxOrderSchedulingSave(temp).then((res) => {\r\n if (res.status == 1) {\r\n this.SchedulingDialogVisible = false\r\n this.SchedulingLoading = false\r\n this.checkAll = false\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'排班成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'排班失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n },\r\n // 排班方法\r\n Scheduling(row) {\r\n this.dates = []\r\n // console.log(this.temp.startDate.format(\'MM\'));\r\n this.temp = row\r\n const dates = this.getAllDatesOfMonth(\r\n this.$moment(this.temp.startDate).format(\'YYYY\'),\r\n this.$moment(this.temp.startDate).format(\'MM\')\r\n )\r\n dates.forEach((date) => {\r\n const dataTime = this.$moment(date).format(\'YYYY-MM-DD\')\r\n this.dates.push({\r\n show: false,\r\n dataTime: dataTime\r\n })\r\n })\r\n this.ruleForm.SchedulingData = []\r\n this.SchedulingDialogVisible = true\r\n this.SchedulingLoading = true\r\n setTimeout(() => {\r\n WxOrderSchedulingGetByOrderNo({ orderNo: row.no }).then((res) => {\r\n if (res.result.length > 0) {\r\n this.title = \'编辑排班\'\r\n this.ruleForm.SchedulingData = res.result.map((item) => {\r\n for (var i = 0; i < this.dates.length; i++) {\r\n if (this.dates[i].dataTime == item.clockDate) {\r\n this.dates[i].show = true\r\n }\r\n }\r\n item.isUntime = Number(item.isUntime)\r\n item.time = item.timeSlot.split(\'-\')\r\n return item\r\n })\r\n this.time = this.ruleForm.SchedulingData[0].time\r\n // this.dates = res.result.map((item) => {\r\n // return {\r\n // detaTime:item.clockDate\r\n // }\r\n // })\r\n } else {\r\n this.title = \'新增排班\'\r\n }\r\n })\r\n this.SchedulingLoading = false\r\n }, 100)\r\n },\r\n // 获取当月日期\r\n getAllDatesOfMonth(year, month) {\r\n const dates = []\r\n const startDate = this.$moment([year, month - 1, 1])\r\n const endDate = startDate.clone().endOf(\'month\')\r\n const currentDate = startDate\r\n while (\r\n currentDate.isBefore(endDate) ||\r\n currentDate.isSame(endDate, \'day\')\r\n ) {\r\n dates.push(currentDate.clone())\r\n currentDate.add(1, \'days\')\r\n }\r\n return dates\r\n },\r\n confirm() {\r\n if (!this.templateSelection) {\r\n this.$message({\r\n message: \'请选择护工\',\r\n type: \'warning\',\r\n center: true\r\n })\r\n return\r\n }\r\n WxOrderItemUserSave(this.workerObj).then((res) => {\r\n if (res.status == 1) {\r\n this.allocationDialogVisible = false\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'分配成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n this.templateSelection = \'\'\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'分配失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n },\r\n singleElection(row) {\r\n this.templateSelection = row.id\r\n this.workerObj.personId = this.templateSelection\r\n // let aaaa = this.allocationData.filter((item) => item.id === row.id)\r\n },\r\n selectTable(e) {\r\n const oldArr = JSON.parse(JSON.stringify(this.allocationData))\r\n let arr\r\n if (e.trim()) {\r\n arr = oldArr.filter((item) => {\r\n return Object.keys(item).some((key) => {\r\n return String(item[\'name\']).toLowerCase().match(e.trim())\r\n })\r\n })\r\n } else {\r\n arr = this.allocationData\r\n }\r\n this.checklist = arr\r\n },\r\n // 分配护工\r\n allocation(row) {\r\n // if (row.status == "1" || row.status == "2") {\r\n // this.$message({\r\n // message: "进行中或已完成不允许分配护工",\r\n // type: "warning",\r\n // });\r\n // return;\r\n // }\r\n // if (row.personId) {\r\n // this.$message({\r\n // message: "当前护理计划已分配护工",\r\n // type: "warning",\r\n // });\r\n // return;\r\n // }\r\n this.workerObj.orderNo = row.no\r\n this.allocationDialogVisible = true\r\n SPersonAll().then((res) => {\r\n this.allocationData = res.result\r\n this.checklist = res.result\r\n })\r\n setTimeout(() => {\r\n this.allocationLoading = false\r\n }, 1.5 * 1000)\r\n },\r\n changePrice(value) {\r\n this.priceType = value\r\n },\r\n // 文件格式验证\r\n beforeAvatarUploada(file) {\r\n this.loadingstate = true\r\n const index = file.name.lastIndexOf(\'.\')\r\n const extension = file.name.substr(index + 1)\r\n const extensionList = [\'PDF\', \'pdf\']\r\n const isLt2M = file.size / 1024 / 1024 < 10\r\n if (!isLt2M) {\r\n this.$message({\r\n message: \'封面不可超出10M\',\r\n type: \'warning\',\r\n center: true\r\n })\r\n return false\r\n } else if (extensionList.indexOf(extension) < 0) {\r\n this.$message({\r\n message: \'只能pdf文件\',\r\n type: \'error\',\r\n center: true\r\n })\r\n return false\r\n }\r\n },\r\n onPreview(file) {\r\n const type = fileUrl(file.url)\r\n let url = `${this.$constant.imgAddr}${file.url}`\r\n if (\r\n type == \'word\' ||\r\n type == \'wps\' ||\r\n type == \'pdf\' ||\r\n type == \'pptx\' ||\r\n type == \'txt\'\r\n ) {\r\n this.file.type = type\r\n url = `https://wps-view.zhihuipk.com/?src=` + url\r\n } else if (type == \'image\') {\r\n this.file.type = type\r\n } else if (type == \'video\') {\r\n this.file.type = type\r\n } else if (type == \'radio\') {\r\n this.file.type = type\r\n } else {\r\n this.$message.error(\'该格式不可在线预览,请下载后查看\')\r\n return\r\n }\r\n this.file.fileurl = url // 后端请求回来的文件地址url\r\n this.file.dialogVisible = true // 弹窗\r\n this.file.title = file.name // 文件名称\r\n },\r\n // 处理文件上传操作\r\n handleFileUpload(file) {\r\n const obj = new FormData()\r\n // 上传文件\r\n obj.append(\'file\', file.file)\r\n obj.append(\'realPath\', file.file.name)\r\n // 上传文件接口\r\n uploadPDF(obj).then((res) => {\r\n if (res.status == 1) {\r\n this.$message({\r\n message: \'上传成功\',\r\n type: \'success\'\r\n })\r\n this.temp.pdfUrl = res.result.url\r\n }\r\n })\r\n },\r\n nurseDelete(row, index) {\r\n if (this.temp.projectPlanId == \'1\') {\r\n this.NursingData.splice(index, 1)\r\n return\r\n }\r\n this.$message({\r\n message: \'套餐内的护理项不能删除\',\r\n type: \'warning\'\r\n })\r\n // this.NursingData.splice(index, 1);\r\n },\r\n modify(row) {\r\n row.edit = true\r\n },\r\n InputBlur(row) {\r\n row.edit = false\r\n },\r\n getinstitution() {\r\n SProjectAll().then((response) => {\r\n this.institutionData = response.result.map((item, index) => {\r\n return {\r\n label: item.title,\r\n type: item.type,\r\n value: item.id,\r\n threePrice: item.threePrice,\r\n price1: item.price1,\r\n price3: item.price3,\r\n edit: false,\r\n num: \'1\',\r\n projectId: item.id\r\n }\r\n })\r\n })\r\n SysUnitPage({ pageNo: 1, size: 9999 }).then((response) => {\r\n this.institutionArrData = response.result.data.map((item) => {\r\n return { label: item.name, value: item.id }\r\n })\r\n })\r\n WxUserCustomAll().then((response) => {\r\n this.placeOrder = response.result.map((item, index) => {\r\n return { label: item.nickName, value: item.id }\r\n })\r\n })\r\n WxUserFamilyAll().then((response) => {\r\n this.nurseObject = response.result.map((item, index) => {\r\n return {\r\n label: item.name,\r\n value: item.id,\r\n isDelete: item.isDelete,\r\n lv: item.lv ? item.lv : \'\'\r\n }\r\n })\r\n })\r\n },\r\n getList() {\r\n // this.listLoading = true;\r\n const form = JSON.parse(JSON.stringify(this.listQuery))\r\n if (form.playTime) {\r\n form.startDate = form.playTime[0]\r\n form.endDate = form.playTime[1]\r\n delete form.playTime\r\n }\r\n WxOrderPage(form).then((response) => {\r\n this.list = response.result.data\r\n this.total = response.result.count\r\n // setTimeout(() => {\r\n // this.listLoading = false;\r\n // }, 1.5 * 1000);\r\n })\r\n WxUserFamilyAll().then((res) => {\r\n this.customerData = res.result.map((item) => {\r\n return { label: item.name, value: item.name }\r\n })\r\n })\r\n SysUnitAll().then((res) => {\r\n this.institutionList = res.result.map((item) => {\r\n return { label: item.name, value: item.id }\r\n })\r\n })\r\n SPersonAll().then((res) => {\r\n this.renyuanxinxi = res.result.map((item) => {\r\n return { label: item.name, value: item.name }\r\n })\r\n })\r\n },\r\n handleModifyStatus(row, status) {\r\n this.$message({\r\n message: \'操作成功\',\r\n type: \'success\'\r\n })\r\n row.status = status\r\n },\r\n resetting(formName) {\r\n this.$nextTick(() => {\r\n this.$refs[formName].resetFields()\r\n this.getList()\r\n })\r\n },\r\n // 新增护理项\r\n add() {\r\n this.dialogStatus = \'create\'\r\n this.dialogFormVisible = true\r\n this.temp = {}\r\n this.fileList = []\r\n this.NursingData = []\r\n this.NursingArrData = []\r\n SProjectPlanPage({ pageNo: 1, size: 9999 }).then((response) => {\r\n this.NursingArrData = response.result.data.map((item) => {\r\n return { label: item.title, value: item.id }\r\n })\r\n this.NursingArrData.unshift({ label: \'自定义护理项目\', value: \'1\' })\r\n })\r\n setTimeout(() => {\r\n this.NursingLoading = false\r\n }, 1.5 * 1000)\r\n },\r\n edit(row) {\r\n if (row.status == \'2\') {\r\n this.$message({\r\n message: \'已完成不允许编辑\',\r\n type: \'warning\'\r\n })\r\n return\r\n }\r\n this.dialogStatus = \'update\'\r\n this.dialogFormVisible = true\r\n this.temp = row\r\n this.fileList = []\r\n this.NursingData = []\r\n this.NursingArrData = []\r\n SProjectPlanPage({ pageNo: 1, size: 9999 }).then((response) => {\r\n this.NursingArrData = response.result.data.map((item) => {\r\n return { label: item.title, value: item.id }\r\n })\r\n this.NursingArrData.unshift({ label: \'自定义护理项目\', value: \'1\' })\r\n })\r\n WxOrderItemgetOrderNoDetails({ orderNo: row.no }).then((res) => {\r\n this.NursingData = res.result.map((item, index) => {\r\n return {\r\n sort: index + 1,\r\n edit: false,\r\n label: item.projectTitle,\r\n projectId: item.projectId,\r\n num: item.num,\r\n type: item.type,\r\n threePrice: item.threePrice ? item.threePrice : \'-\',\r\n projectPrice1: item.projectPrice1,\r\n projectPrice2: item.projectPrice2,\r\n projectPrice3: item.projectPrice3\r\n }\r\n })\r\n })\r\n if (row.pdfUrl) {\r\n this.fileList.push({\r\n name: row.pdfUrl,\r\n url: row.pdfUrl\r\n })\r\n }\r\n setTimeout(() => {\r\n this.NursingLoading = false\r\n }, 1.5 * 1000)\r\n },\r\n // 获取套餐里的列表\r\n NursingChange(value) {\r\n console.log(value)\r\n if (value == \'1\') {\r\n // SProjectAll().then((response) => {\r\n // this.NursingData = response.result.map((item, index) => {\r\n // return {\r\n // label: item.title,\r\n // value: item.id,\r\n // projectPrice1: item.price1,\r\n // projectPrice2: item.price2,\r\n // projectPrice3: item.price3,\r\n // type: item.type,\r\n // edit: false,\r\n // num: item.num ? item.num : \'1\',\r\n // projectId: item.id,\r\n // };\r\n // });\r\n // });\r\n this.NursingData = []\r\n } else {\r\n SProjectPlanDetail({ id: value }).then((res) => {\r\n if (res.result.itemList) {\r\n this.NursingData = res.result.itemList.map((item, index) => {\r\n return {\r\n sort: index + 1,\r\n edit: false,\r\n label: item.projectTitle,\r\n projectId: item.projectId,\r\n num: item.num,\r\n type: item.projectType,\r\n projectPrice1: item.projectPrice1,\r\n projectPrice2: item.projectPrice2,\r\n projectPrice3: item.projectPrice3\r\n }\r\n })\r\n }\r\n })\r\n }\r\n },\r\n onSubmit() {\r\n this.getList()\r\n },\r\n createData() {\r\n this.$refs[\'dataForm\'].validate((valid) => {\r\n if (valid) {\r\n this.temp.orderItemSaveList = this.NursingData\r\n WxOrderSave(this.temp).then((res) => {\r\n if (res.status == 1) {\r\n this.dialogFormVisible = false\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'新增成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'新增失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n }\r\n })\r\n },\r\n updateData() {\r\n this.$refs[\'dataForm\'].validate((valid) => {\r\n if (valid) {\r\n this.temp.orderItemSaveList = this.NursingData\r\n WxOrderSave(this.temp).then((res) => {\r\n if (res.status == 1) {\r\n this.dialogFormVisible = false\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'更新成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'更新失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n }\r\n })\r\n },\r\n handleDelete(row, index) {\r\n if (row.status == \'1\' || row.status == \'2\') {\r\n this.$message({\r\n message: \'进行中或已完成不允许删除\',\r\n type: \'warning\'\r\n })\r\n return\r\n }\r\n WxOrderDel({ orderNo: row.no }).then((res) => {\r\n if (res.status == 1) {\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'删除成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'删除失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n }\r\n }\r\n}\r\n<\/script>\r\n<style lang="scss" scoped>\r\n.el-col-12 {\r\n padding: 0 20px 0 0;\r\n}\r\n\r\n.addButton {\r\n margin: 0 0 10px 0;\r\n}\r\n\r\n::v-deep .el-dialog__body {\r\n padding: 0px 20px;\r\n}\r\n\r\n::v-deep .el-calendar-table .el-calendar-day {\r\n padding: 0;\r\n}\r\n\r\n.is-selected {\r\n color: #1989fa;\r\n background: yellow;\r\n}\r\n\r\n.is-add-selected {\r\n color: #fff;\r\n background: #1989fa;\r\n}\r\n\r\n$titleHeight: 100%;\r\n$redColor: rgba(255, 0, 0, 0.8);\r\n$lowColor: rgba(217, 210, 53, 0.8);\r\n$middleColor: rgba(64, 158, 255, 0.8);\r\n$heightColor: #f00;\r\n\r\n@mixin card-o($bgColor) {\r\n position: relative;\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n font-size: 15px;\r\n color: #fff;\r\n background-color: $bgColor;\r\n}\r\n\r\n@mixin card-text-o($bgColor) {\r\n display: flex;\r\n flex-direction: column;\r\n // justify-content: space-between;\r\n height: $titleHeight;\r\n max-height: $titleHeight;\r\n min-height: $titleHeight;\r\n font-size: 12px;\r\n color: #fff;\r\n background-color: $bgColor;\r\n}\r\n\r\n.calendar-dialog {\r\n .card-group {\r\n width: 100%;\r\n height: 100%;\r\n\r\n .card-calendar-text {\r\n height: $titleHeight;\r\n max-height: $titleHeight;\r\n min-height: $titleHeight;\r\n padding: 8px;\r\n }\r\n\r\n .card {\r\n position: relative;\r\n top: -$titleHeight;\r\n }\r\n\r\n .card-flag {\r\n height: 100%;\r\n }\r\n\r\n .card1 {\r\n @include card-o($middleColor);\r\n }\r\n\r\n .card-text1 {\r\n @include card-text-o($middleColor);\r\n height: 100%;\r\n padding: 8px;\r\n font-size: 14px;\r\n }\r\n\r\n .card-text2 {\r\n @include card-text-o($redColor);\r\n height: 100%;\r\n padding: 8px;\r\n font-size: 14px;\r\n }\r\n\r\n .card-text3 {\r\n @include card-text-o($redColor);\r\n height: 100%;\r\n padding: 8px;\r\n font-size: 14px;\r\n }\r\n\r\n .card-text4 {\r\n @include card-text-o($redColor);\r\n height: 100%;\r\n padding: 8px;\r\n font-size: 14px;\r\n }\r\n\r\n .card-text5 {\r\n @include card-text-o($lowColor);\r\n height: 100%;\r\n padding: 8px;\r\n font-size: 14px;\r\n }\r\n\r\n .card2 {\r\n @include card-o($lowColor);\r\n }\r\n\r\n // .card-text2 {\r\n // @include card-text-o($lowColor);\r\n // }\r\n\r\n .card3 {\r\n @include card-o($heightColor);\r\n }\r\n\r\n .card-text3 {\r\n @include card-text-o($heightColor);\r\n }\r\n\r\n .visits-val {\r\n position: absolute;\r\n right: 0;\r\n bottom: 0;\r\n }\r\n }\r\n}\r\n\r\n::v-deep .el-calendar__button-group {\r\n display: none;\r\n}\r\n\r\n.is-selected {\r\n color: #1989fa;\r\n}\r\n\r\n.activeItem {\r\n color: red;\r\n}\r\n\r\n.el-calendar-table td.is-today {\r\n color: #000 !important;\r\n background: transparent !important;\r\n}\r\n\r\n.el-col-12 {\r\n padding: 0 20px 0 0;\r\n}\r\n\r\n.exptable {\r\n font-size: 9px;\r\n text-align: center;\r\n width: 100%;\r\n\r\n // line-height: 26px;\r\n .leftXuhao {\r\n display: flex;\r\n border-bottom: 1px solid #333;\r\n\r\n div {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n border-right: 1px solid #333;\r\n }\r\n }\r\n\r\n .thead {\r\n // border: 1px solid #333;\r\n border-bottom: 0;\r\n color: #000;\r\n padding: 8px 0;\r\n }\r\n\r\n .tbody {\r\n border: 1px solid #333;\r\n font-size: 8px;\r\n }\r\n\r\n .tr {\r\n display: flex;\r\n border-bottom: 1px solid #333;\r\n color: #111;\r\n\r\n div {\r\n // flex: 1;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n border-right: 1px solid #333;\r\n // padding: 5px 2px;\r\n }\r\n\r\n .bodyday {\r\n flex: 1;\r\n }\r\n\r\n div:last-child {\r\n border-right: 0;\r\n }\r\n }\r\n\r\n .eight div {\r\n flex: 1;\r\n // width: calc((100% - 120px * 8) / 8);\r\n padding: 5px 0;\r\n }\r\n\r\n .eight .title {\r\n width: 110px;\r\n flex: none;\r\n }\r\n\r\n .tr:last-child {\r\n border-bottom: 0;\r\n }\r\n\r\n .loop {\r\n .num {\r\n width: 22px !important;\r\n }\r\n\r\n .total {\r\n width: 23px;\r\n padding: 5px 0;\r\n }\r\n\r\n // .day {\r\n // width: calc(27px * 27);\r\n // }\r\n .name {\r\n // flex: 1;\r\n padding: 5px 0;\r\n // width: 300px !important;\r\n flex: 0.1;\r\n }\r\n\r\n .headday {\r\n flex-flow: column;\r\n flex: 1;\r\n\r\n .forday {\r\n border-top: 1px solid #333;\r\n }\r\n }\r\n\r\n .day span {\r\n padding: 10px 0;\r\n }\r\n\r\n .forday {\r\n display: table;\r\n width: 100%;\r\n\r\n // height: 100%;\r\n span {\r\n display: table-cell;\r\n vertical-align: middle;\r\n border-right: 1px solid #333;\r\n width: 23px;\r\n height: 100%;\r\n overflow: hidden;\r\n word-wrap: break-word;\r\n word-break: break-all;\r\n }\r\n\r\n span:last-child {\r\n border-right: 0;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.handwriting {\r\n display: flex;\r\n\r\n div {\r\n text-align: right;\r\n padding: 5px 0;\r\n }\r\n\r\n .name {\r\n margin-left: 60px;\r\n width: 120px;\r\n }\r\n\r\n .bodyday {\r\n width: 60%;\r\n margin-right: 60px;\r\n }\r\n}\r\n\r\n.exptableprint {\r\n font-size: 11px;\r\n\r\n .tbody {\r\n font-size: 10px;\r\n }\r\n}\r\n\r\n.list {\r\n padding: 15px;\r\n // background-color: #baf;\r\n // 设置父元素成为弹性盒\r\n display: flex;\r\n // 让弹性盒元素在必要的时候拆行\r\n flex-wrap: wrap;\r\n\r\n .item {\r\n // background-color: deeppink;\r\n border: 1px solid #ede9e9;\r\n height: 70px;\r\n padding: 10px;\r\n cursor: pointer;\r\n // 每个元素都要设置右边距margin-right(每个元素的左右间隙)\r\n // 同时设置下边距margin-bottom(每个元素的上下间隙)\r\n // margin: 0 1px 1px 0;\r\n width: calc((100% - 50px) / 7);\r\n // 这里一行显示4个,所以是/4,一行显示几个就除以几\r\n // 这里的60rpx = (分布个数4-1)*间隙20rpx, 可以根据实际的分布个数和间隙区调整\r\n min-width: calc((100% - 30px) / 7);\r\n max-width: calc((100% - 30px) / 7);\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n font-size: 12px;\r\n\r\n // 每行最右侧的那个不设置右外边距\r\n &:nth-child(7n + 7) {\r\n margin-bottom: 0;\r\n }\r\n }\r\n}\r\n</style>\r\n',".el-col-12 {\n padding: 0 20px 0 0;\n}\n\n.addButton {\n margin: 0 0 10px 0;\n}\n\n::v-deep .el-dialog__body {\n padding: 0px 20px;\n}\n\n::v-deep .el-calendar-table .el-calendar-day {\n padding: 0;\n}\n\n.is-selected {\n color: #1989fa;\n background: yellow;\n}\n\n.is-add-selected {\n color: #fff;\n background: #1989fa;\n}\n\n.calendar-dialog .card-group {\n width: 100%;\n height: 100%;\n}\n.calendar-dialog .card-group .card-calendar-text {\n height: 100%;\n max-height: 100%;\n min-height: 100%;\n padding: 8px;\n}\n.calendar-dialog .card-group .card {\n position: relative;\n top: -100%;\n}\n.calendar-dialog .card-group .card-flag {\n height: 100%;\n}\n.calendar-dialog .card-group .card1 {\n position: relative;\n display: block;\n width: 100%;\n height: 100%;\n font-size: 15px;\n color: #fff;\n background-color: rgba(64, 158, 255, 0.8);\n}\n.calendar-dialog .card-group .card-text1 {\n display: flex;\n flex-direction: column;\n height: 100%;\n max-height: 100%;\n min-height: 100%;\n font-size: 12px;\n color: #fff;\n background-color: rgba(64, 158, 255, 0.8);\n height: 100%;\n padding: 8px;\n font-size: 14px;\n}\n.calendar-dialog .card-group .card-text2 {\n display: flex;\n flex-direction: column;\n height: 100%;\n max-height: 100%;\n min-height: 100%;\n font-size: 12px;\n color: #fff;\n background-color: rgba(255, 0, 0, 0.8);\n height: 100%;\n padding: 8px;\n font-size: 14px;\n}\n.calendar-dialog .card-group .card-text3 {\n display: flex;\n flex-direction: column;\n height: 100%;\n max-height: 100%;\n min-height: 100%;\n font-size: 12px;\n color: #fff;\n background-color: rgba(255, 0, 0, 0.8);\n height: 100%;\n padding: 8px;\n font-size: 14px;\n}\n.calendar-dialog .card-group .card-text4 {\n display: flex;\n flex-direction: column;\n height: 100%;\n max-height: 100%;\n min-height: 100%;\n font-size: 12px;\n color: #fff;\n background-color: rgba(255, 0, 0, 0.8);\n height: 100%;\n padding: 8px;\n font-size: 14px;\n}\n.calendar-dialog .card-group .card-text5 {\n display: flex;\n flex-direction: column;\n height: 100%;\n max-height: 100%;\n min-height: 100%;\n font-size: 12px;\n color: #fff;\n background-color: rgba(217, 210, 53, 0.8);\n height: 100%;\n padding: 8px;\n font-size: 14px;\n}\n.calendar-dialog .card-group .card2 {\n position: relative;\n display: block;\n width: 100%;\n height: 100%;\n font-size: 15px;\n color: #fff;\n background-color: rgba(217, 210, 53, 0.8);\n}\n.calendar-dialog .card-group .card3 {\n position: relative;\n display: block;\n width: 100%;\n height: 100%;\n font-size: 15px;\n color: #fff;\n background-color: #f00;\n}\n.calendar-dialog .card-group .card-text3 {\n display: flex;\n flex-direction: column;\n height: 100%;\n max-height: 100%;\n min-height: 100%;\n font-size: 12px;\n color: #fff;\n background-color: #f00;\n}\n.calendar-dialog .card-group .visits-val {\n position: absolute;\n right: 0;\n bottom: 0;\n}\n\n::v-deep .el-calendar__button-group {\n display: none;\n}\n\n.is-selected {\n color: #1989fa;\n}\n\n.activeItem {\n color: red;\n}\n\n.el-calendar-table td.is-today {\n color: #000 !important;\n background: transparent !important;\n}\n\n.el-col-12 {\n padding: 0 20px 0 0;\n}\n\n.exptable {\n font-size: 9px;\n text-align: center;\n width: 100%;\n}\n.exptable .leftXuhao {\n display: flex;\n border-bottom: 1px solid #333;\n}\n.exptable .leftXuhao div {\n display: flex;\n align-items: center;\n justify-content: center;\n border-right: 1px solid #333;\n}\n.exptable .thead {\n border-bottom: 0;\n color: #000;\n padding: 8px 0;\n}\n.exptable .tbody {\n border: 1px solid #333;\n font-size: 8px;\n}\n.exptable .tr {\n display: flex;\n border-bottom: 1px solid #333;\n color: #111;\n}\n.exptable .tr div {\n display: flex;\n align-items: center;\n justify-content: center;\n border-right: 1px solid #333;\n}\n.exptable .tr .bodyday {\n flex: 1;\n}\n.exptable .tr div:last-child {\n border-right: 0;\n}\n.exptable .eight div {\n flex: 1;\n padding: 5px 0;\n}\n.exptable .eight .title {\n width: 110px;\n flex: none;\n}\n.exptable .tr:last-child {\n border-bottom: 0;\n}\n.exptable .loop .num {\n width: 22px !important;\n}\n.exptable .loop .total {\n width: 23px;\n padding: 5px 0;\n}\n.exptable .loop .name {\n padding: 5px 0;\n flex: 0.1;\n}\n.exptable .loop .headday {\n flex-flow: column;\n flex: 1;\n}\n.exptable .loop .headday .forday {\n border-top: 1px solid #333;\n}\n.exptable .loop .day span {\n padding: 10px 0;\n}\n.exptable .loop .forday {\n display: table;\n width: 100%;\n}\n.exptable .loop .forday span {\n display: table-cell;\n vertical-align: middle;\n border-right: 1px solid #333;\n width: 23px;\n height: 100%;\n overflow: hidden;\n word-wrap: break-word;\n word-break: break-all;\n}\n.exptable .loop .forday span:last-child {\n border-right: 0;\n}\n\n.handwriting {\n display: flex;\n}\n.handwriting div {\n text-align: right;\n padding: 5px 0;\n}\n.handwriting .name {\n margin-left: 60px;\n width: 120px;\n}\n.handwriting .bodyday {\n width: 60%;\n margin-right: 60px;\n}\n\n.exptableprint {\n font-size: 11px;\n}\n.exptableprint .tbody {\n font-size: 10px;\n}\n\n.list {\n padding: 15px;\n display: flex;\n flex-wrap: wrap;\n}\n.list .item {\n border: 1px solid #ede9e9;\n height: 70px;\n padding: 10px;\n cursor: pointer;\n width: calc((100% - 50px) / 7);\n min-width: calc((100% - 30px) / 7);\n max-width: calc((100% - 30px) / 7);\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 12px;\n}\n.list .item:nth-child(7n+7) {\n margin-bottom: 0;\n}\n\n/*# sourceMappingURL=index.vue.map */"]},media:void 0})},__vue_scope_id__$9="data-v-36b0c510",__vue_module_identifier__$9=void 0,__vue_is_functional_template__$9=!1,__vue_component__$9=normalizeComponent({render:__vue_render__$9,staticRenderFns:__vue_staticRenderFns__$9},__vue_inject_styles__$9,__vue_script__$9,__vue_scope_id__$9,__vue_is_functional_template__$9,__vue_module_identifier__$9,!1,createInjector,void 0,void 0);var script$8={name:"Personnel",components:{Pagination:Pagination,PreviewFile:PreviewFile},filters:{},data:()=>({dialogVisibleExp:!1,loadExp:!1,startDate:[],file:{fileurl:"",dialogVisible:!1,title:"",type:""},FormData:{},fileList:[],dialogStatus:"",textMap:{update:"编辑",create:"创建"},tableKey:0,list:null,total:0,listLoading:!0,listQuery:{pageNo:1,size:20},institutionData:[],dialogFormVisible:!1,dialogPvVisible:!1,rules:{type:[{required:!0,message:"请选择护理类型",trigger:"change"}],title:[{required:!0,message:"请输入护理机构名称",trigger:"blur"}],startTime:[{required:!0,message:"请选择有效开始时间",trigger:"change"}],endTime:[{required:!0,message:"请选择有效结束时间",trigger:"change"}],hourNum:[{required:!0,message:"请输入护理参考时间",trigger:"blur"}],description:[{required:!0,message:"请输入详情",trigger:"blur"}],unitId:[{required:!0,message:"请选择所属机构",trigger:"change"}]},temp:{},downloadLoading:!1}),created(){this.getList(),this.getinstitution()},methods:{handleClose(){this.dialogVisibleExp=!1,this.startDate=[]},expExcel(){try{this.loadExp=!0;const e={startDate:this.startDate[0],endDate:this.startDate[1]};ExportExcel$1(e).then(e=>{const t=new Blob([e]);if(t.size>0){const e=document.createElement("a");e.style.display="none",e.href=URL.createObjectURL(t),e.download=`护理项信息/${this.$moment().format("YYYY-MM-DD")}.xlsx`,document.body.appendChild(e),e.click(),URL.revokeObjectURL(e.href),document.body.removeChild(e)}this.handleClose(),this.loadExp=!1}).catch(()=>{this.loadExp=!1})}catch(e){this.loadExp=!1,console.log(e)}},beforeAvatarUploada(e){this.loadingstate=!0;const t=e.name.lastIndexOf("."),n=e.name.substr(t+1);return e.size/1024/1024<10?["png","PNG","jpg","JPG","jpeg","JPEG"].indexOf(n)<0?(this.$message({message:"只能图片文件",type:"error",center:!0}),!1):void 0:(this.$message({message:"封面不可超出10M",type:"warning",center:!0}),!1)},onPreview(e){const t=fileUrl(e.url);let n=`http://192.168.1.21/img/${e.url}`;if("word"==t||"wps"==t||"pdf"==t||"pptx"==t||"txt"==t)this.file.type=t,n="https://wps-view.zhihuipk.com/?src="+n;else if("image"==t)this.file.type=t;else if("video"==t)this.file.type=t;else{if("radio"!=t)return void this.$message.error("该格式不可在线预览,请下载后查看");this.file.type=t}this.file.fileurl=n,this.file.dialogVisible=!0,this.file.title=e.name},handleFileUpload(e){const t=new FormData;t.append("file",e.file),t.append("realPath",e.file.name),uploadTP(t).then(e=>{1==e.status&&(this.$message({message:"上传成功",type:"success"}),this.temp.picUrl=e.result.url)})},getinstitution(){SysUnitPage({pageNo:1,size:9999}).then(e=>{this.institutionData=e.result.data.map(e=>({label:e.name,value:e.id}))})},getList(){this.listLoading=!0,SProjectPage(this.listQuery).then(e=>{this.list=e.result.data,this.total=e.result.count,setTimeout(()=>{this.listLoading=!1},1500)})},handleModifyStatus(e,t){this.$message({message:"操作成功",type:"success"}),e.status=t},resetting(e){this.$nextTick(()=>{this.$refs[e].resetFields(),this.getList()})},synchronization(){SProjectTake().then(e=>{if(1==e.status)return this.getList(),void this.$notify({title:e.info,message:"同步成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"同步失败",type:"error",duration:2e3})})},add(){this.dialogStatus="create",this.dialogFormVisible=!0,this.temp={},this.fileList=[]},onSubmit(){this.getList()},createData(){this.$refs.dataForm.validate(e=>{e&&SProjectSave(this.temp).then(e=>{if(1==e.status)return this.dialogFormVisible=!1,this.getList(),void this.$notify({title:e.info,message:"新增成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"新增失败",type:"error",duration:2e3})})})},updateData(){this.$refs.dataForm.validate(e=>{e&&SProjectSave(this.temp).then(e=>{if(1==e.status)return this.dialogFormVisible=!1,this.getList(),void this.$notify({title:e.info,message:"更新成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"更新失败",type:"error",duration:2e3})})})},edit(e){this.fileList=[],this.temp=e,this.dialogStatus="update",this.dialogFormVisible=!0,e.picUrl&&this.fileList.push({name:e.picUrl,url:e.picUrl})},handleDelete(e,t){SProjectDel({id:e.id}).then(e=>{if(1==e.status)return this.getList(),void this.$notify({title:e.info,message:"删除成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"删除失败",type:"error",duration:2e3})})}}};const __vue_script__$8=script$8;var __vue_render__$8=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"app-container"},[n("div",{staticClass:"filter-container"},[n("el-form",{ref:"listQuery",staticClass:"demo-form-inline",attrs:{inline:!0,model:e.listQuery}},[n("el-form-item",{attrs:{label:"护理项目名称",prop:"title"}},[n("el-input",{attrs:{size:"small",placeholder:"请输入护理项目名称"},model:{value:e.listQuery.title,callback:function(t){e.$set(e.listQuery,"title",t)},expression:"listQuery.title"}})],1),e._v(" "),n("el-form-item",{attrs:{label:"状态",prop:"status"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择状态"},model:{value:e.listQuery.status,callback:function(t){e.$set(e.listQuery,"status",t)},expression:"listQuery.status"}},e._l([{label:"启用",value:"1"},{label:"下架",value:"2"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"primary"},on:{click:e.onSubmit}},[e._v("查询")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"warning"},on:{click:function(t){return e.resetting("listQuery")}}},[e._v("重置")])],1),e._v(" "),n("el-form-item"),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"primary"},on:{click:function(t){e.dialogVisibleExp=!0}}},[e._v("导出")])],1)],1)],1),e._v(" "),n("el-table",{staticStyle:{width:"100%"},attrs:{border:"",height:"65vh",data:e.list}},[n("el-table-column",{attrs:{label:"护理项目编号",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.no))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"护理项目名称",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.title))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"类别",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("el-tag",{attrs:{size:"medium"}},[e._v(e._s("01"==r.type?"生活照料":"02"==r.type?"精神慰藉":"03"==r.type?"安全巡视":"04"==r.type?"医疗护理":"05"==r.type?"康复护理":"06"==r.type?"辅助器具":"07"==r.type?"居家护理":"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"机构上门护理价格",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.price1))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"省厅价格",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.threePrice))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"参考护理时间(小时)",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.hourNum))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"状态",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("el-tag",{attrs:{size:"medium",type:"1"==r.status?"success":"2"==r.status?"warning":""}},[e._v(e._s("1"==r.status?"启用":"2"==r.status?"下架":"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"海报",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[r.picUrl?n("el-image",{staticStyle:{width:"50px",height:"50px"},attrs:{src:"http://192.168.1.21/img/"+r.picUrl,"preview-src-list":["http://192.168.1.21/img/"+r.picUrl]}}):n("span",[e._v(" - ")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"所属机构名称",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.unitName))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"详情",align:"center",width:"300"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.description))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"操作",align:"center",width:"150","class-name":"small-padding fixed-width"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row,l=t.$index;return[n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(t){return e.edit(r,l)}}},[e._v("\n 修改\n ")]),e._v(" "),n("el-button",{attrs:{size:"mini",type:"danger"},on:{click:function(t){return e.handleDelete(r,l)}}},[e._v("\n 删除\n ")])]}}])})],1),e._v(" "),n("pagination",{directives:[{name:"show",rawName:"v-show",value:e.total>0,expression:"total > 0"}],attrs:{total:e.total,page:e.listQuery.pageNo,limit:e.listQuery.size},on:{"update:page":function(t){return e.$set(e.listQuery,"pageNo",t)},"update:limit":function(t){return e.$set(e.listQuery,"size",t)},pagination:e.getList}}),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:e.textMap[e.dialogStatus],visible:e.dialogFormVisible,width:"50%"},on:{"update:visible":function(t){e.dialogFormVisible=t}}},[n("el-form",{ref:"dataForm",attrs:{rules:e.rules,model:e.temp,"label-position":"right","label-width":"150px"}},[n("el-row",{attrs:{gutter:20}},[n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"护理项目名称",prop:"title"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入护理项目名称",size:"small"},model:{value:e.temp.title,callback:function(t){e.$set(e.temp,"title",t)},expression:"temp.title"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"护理类型",prop:"type"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择护理类型"},model:{value:e.temp.type,callback:function(t){e.$set(e.temp,"type",t)},expression:"temp.type"}},e._l([{label:"生活服务",value:"1"},{label:"医疗护理",value:"2"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"机构上门护理价格",prop:"price1"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入机构上门护理价格",size:"small"},model:{value:e.temp.price1,callback:function(t){e.$set(e.temp,"price1",t)},expression:"temp.price1"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"亲情护理价格",prop:"price2"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入亲情护理价格",size:"small"},model:{value:e.temp.price2,callback:function(t){e.$set(e.temp,"price2",t)},expression:"temp.price2"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"机构护理价格",prop:"price3"}},[n("el-input",{attrs:{placeholder:"请输入机构护理价格",clearable:"",size:"small"},model:{value:e.temp.price3,callback:function(t){e.$set(e.temp,"price3",t)},expression:"temp.price3"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"参考护理时间(小时)",prop:"hourNum"}},[n("el-input",{attrs:{placeholder:"请输入参考护理时间(小时)",clearable:"",size:"small"},model:{value:e.temp.hourNum,callback:function(t){e.$set(e.temp,"hourNum",t)},expression:"temp.hourNum"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"有效开始时间"}},[n("el-date-picker",{staticStyle:{width:"100%"},attrs:{size:"small",format:"yyyy 年 MM 月 dd 日","value-format":"yyyy-MM-dd",type:"date",placeholder:"请选择有效开始时间"},model:{value:e.temp.startTime,callback:function(t){e.$set(e.temp,"startTime",t)},expression:"temp.startTime"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"有效结束时间"}},[n("el-date-picker",{staticStyle:{width:"100%"},attrs:{size:"small",format:"yyyy 年 MM 月 dd 日","value-format":"yyyy-MM-dd",type:"date",placeholder:"请输入有效结束时间"},model:{value:e.temp.endTime,callback:function(t){e.$set(e.temp,"endTime",t)},expression:"temp.endTime"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"状态"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择状态"},model:{value:e.temp.status,callback:function(t){e.$set(e.temp,"status",t)},expression:"temp.status"}},e._l([{label:"启用",value:"1"},{label:"下架",value:"2"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"所属机构",prop:"unitId"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择所属机构"},model:{value:e.temp.unitId,callback:function(t){e.$set(e.temp,"unitId",t)},expression:"temp.unitId"}},e._l(e.institutionData,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"项目海报",prop:"picUrl"}},[n("el-upload",{attrs:{action:"#",limit:1,data:e.FormData,"before-upload":e.beforeAvatarUploada,"http-request":e.handleFileUpload,"file-list":e.fileList,"on-preview":e.onPreview}},[n("el-button",{attrs:{slot:"trigger",size:"small",type:"primary"},slot:"trigger"},[e._v("选取文件")])],1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"详情",prop:"description"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入详情",type:"textarea",size:"small"},model:{value:e.temp.description,callback:function(t){e.$set(e.temp,"description",t)},expression:"temp.description"}})],1)],1)],1)],1),e._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small"},on:{click:function(t){e.dialogFormVisible=!1}}},[e._v("\n 取 消\n ")]),e._v(" "),n("el-button",{attrs:{type:"primary",size:"small"},on:{click:function(t){"create"===e.dialogStatus?e.createData():e.updateData()}}},[e._v("\n 确 认\n ")])],1)],1),e._v(" "),n("preview-file",{attrs:{file:e.file}}),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"导出",visible:e.dialogVisibleExp,width:"600px","before-close":e.handleClose},on:{"update:visible":function(t){e.dialogVisibleExp=t}}},[n("el-form",{staticClass:"demo-form-inline",attrs:{inline:!0}},[n("el-form-item",{attrs:{label:"提示:"}},[n("el-link",{attrs:{underline:!1,type:"primary"}},[e._v("选择的开始日期和结束日期请将数据的入录时间包含起来,结束日期选后一天")])],1),e._v(" "),n("el-form-item",{attrs:{label:"时间"}},[n("el-date-picker",{attrs:{type:"daterange","value-format":"yyyy-MM-dd","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期"},model:{value:e.startDate,callback:function(t){e.startDate=t},expression:"startDate"}})],1)],1),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small",loading:e.loadExp},on:{click:e.handleClose}},[e._v("取 消")]),e._v(" "),n("el-button",{attrs:{size:"small",type:"primary",loading:e.loadExp},on:{click:e.expExcel}},[e._v("\n 导 出\n ")])],1)],1)],1)},__vue_staticRenderFns__$8=[];__vue_render__$8._withStripped=!0;const __vue_inject_styles__$8=function(e){e&&e("data-v-ddd4d53a_0",{source:".el-col-12[data-v-ddd4d53a] {\n padding: 0 20px 0 0;\n}\n\n/*# sourceMappingURL=index.vue.map */",map:{version:3,sources:["E:\\公司项目\\changhuxianlocal\\changhuxian-vue-components\\src\\pages\\nurseProjects\\NursingProjects\\index.vue","index.vue"],names:[],mappings:"AAmjBA;EACA,mBAAA;ACljBA;;AAEA,oCAAoC",file:"index.vue",sourcesContent:['<template>\r\n <div class="app-container">\r\n <div class="filter-container">\r\n <el-form ref="listQuery" :inline="true" :model="listQuery" class="demo-form-inline">\r\n <el-form-item label="护理项目名称" prop="title">\r\n <el-input v-model="listQuery.title" size="small" placeholder="请输入护理项目名称" />\r\n </el-form-item>\r\n <el-form-item label="状态" prop="status">\r\n <el-select v-model="listQuery.status" style="width: 100%" clearable filterable size="small"\r\n class="filter-item" placeholder="请选择状态">\r\n <el-option v-for="(item, index) in [\r\n { label: \'启用\', value: \'1\' },\r\n { label: \'下架\', value: \'2\' },\r\n ]" :key="index" :label="item.label" :value="item.value" />\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size="small" type="primary" @click="onSubmit">查询</el-button>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size="small" type="warning" @click="resetting(\'listQuery\')">重置</el-button>\r\n </el-form-item>\r\n <el-form-item>\r\n \x3c!-- <el-button size="small" type="success" @click="synchronization">同步护理项</el-button> --\x3e\r\n \x3c!-- <el-button size="small" type="success" @click="add">新增</el-button> --\x3e\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size="small" type="primary" @click="dialogVisibleExp = true">导出</el-button>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n <el-table border height="65vh" :data="list" style="width: 100%">\r\n \x3c!-- @sort-change="sortChange" --\x3e\r\n <el-table-column :label="\'护理项目编号\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.no }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'护理项目名称\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.title }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'类别\'" align="center">\r\n <template slot-scope="{ row }">\r\n <el-tag size="medium">{{\r\n row.type == "01" ? "生活照料" : row.type == "02" ? "精神慰藉" : row.type == "03" ? "安全巡视" : row.type == "04" ?\r\n "医疗护理" : row.type == "05" ? "康复护理" : row.type == "06" ? "辅助器具" : row.type == "07" ? "居家护理" : \'-\'\r\n }}</el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'机构上门护理价格\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.price1 }}</span>\r\n </template>\r\n </el-table-column>\r\n \x3c!-- <el-table-column :label="\'亲情护理价格\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.price2 }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'机构护理价格\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.price3 }}</span>\r\n </template>\r\n </el-table-column> --\x3e\r\n <el-table-column :label="\'省厅价格\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.threePrice }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'参考护理时间(小时)\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.hourNum }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'状态\'" align="center">\r\n <template slot-scope="{ row }">\r\n <el-tag size="medium" :type="row.status == \'1\' ? \'success\' : row.status == \'2\' ? \'warning\' : \'\'\r\n ">{{\r\n row.status == "1" ? "启用" : row.status == "2" ? "下架" : "-"\r\n }}</el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'海报\'" align="center">\r\n <template slot-scope="{ row }">\r\n <el-image v-if="row.picUrl" style="width: 50px; height: 50px" :src="`http://192.168.1.21/img/${row.picUrl}`"\r\n :preview-src-list="[`http://192.168.1.21/img/${row.picUrl}`]" />\r\n <span v-else> - </span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'所属机构名称\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.unitName }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'详情\'" align="center" width="300">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.description }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'操作\'" align="center" width="150" class-name="small-padding fixed-width">\r\n <template slot-scope="{ row, $index }">\r\n <el-button size="mini" type="primary" @click="edit(row, $index)">\r\n 修改\r\n </el-button>\r\n <el-button size="mini" type="danger" @click="handleDelete(row, $index)">\r\n 删除\r\n </el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <pagination v-show="total > 0" :total="total" :page.sync="listQuery.pageNo" :limit.sync="listQuery.size"\r\n @pagination="getList" />\r\n <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :title="textMap[dialogStatus]"\r\n :visible.sync="dialogFormVisible" width="50%">\r\n <el-form ref="dataForm" :rules="rules" :model="temp" label-position="right" label-width="150px">\r\n <el-row :gutter="20">\r\n <el-col :span="12">\r\n <el-form-item label="护理项目名称" prop="title">\r\n <el-input v-model="temp.title" clearable placeholder="请输入护理项目名称" size="small" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="护理类型" prop="type">\r\n <el-select v-model="temp.type" style="width: 100%" clearable filterable size="small" class="filter-item"\r\n placeholder="请选择护理类型">\r\n <el-option v-for="(item, index) in [\r\n { label: \'生活服务\', value: \'1\' },\r\n { label: \'医疗护理\', value: \'2\' },\r\n ]" :key="index" :label="item.label" :value="item.value" />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="机构上门护理价格" prop="price1">\r\n <el-input v-model="temp.price1" clearable placeholder="请输入机构上门护理价格" size="small" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="亲情护理价格" prop="price2">\r\n <el-input v-model="temp.price2" clearable placeholder="请输入亲情护理价格" size="small" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="机构护理价格" prop="price3">\r\n <el-input v-model="temp.price3" placeholder="请输入机构护理价格" clearable size="small" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="参考护理时间(小时)" prop="hourNum">\r\n <el-input v-model="temp.hourNum" placeholder="请输入参考护理时间(小时)" clearable size="small" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="有效开始时间">\r\n <el-date-picker v-model="temp.startTime" size="small" format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd"\r\n style="width: 100%" type="date" placeholder="请选择有效开始时间" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="有效结束时间">\r\n <el-date-picker v-model="temp.endTime" size="small" format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd"\r\n style="width: 100%" type="date" placeholder="请输入有效结束时间" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="状态">\r\n <el-select v-model="temp.status" style="width: 100%" clearable filterable size="small" class="filter-item"\r\n placeholder="请选择状态">\r\n <el-option v-for="(item, index) in [\r\n { label: \'启用\', value: \'1\' },\r\n { label: \'下架\', value: \'2\' },\r\n ]" :key="index" :label="item.label" :value="item.value" />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="所属机构" prop="unitId">\r\n <el-select v-model="temp.unitId" style="width: 100%" clearable filterable size="small" class="filter-item"\r\n placeholder="请选择所属机构">\r\n <el-option v-for="(item, index) in institutionData" :key="index" :label="item.label"\r\n :value="item.value" />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="项目海报" prop="picUrl">\r\n <el-upload action="#" :limit="1" :data="FormData" :before-upload="beforeAvatarUploada"\r\n :http-request="handleFileUpload" :file-list="fileList" :on-preview="onPreview">\r\n <el-button slot="trigger" size="small" type="primary">选取文件</el-button>\r\n </el-upload>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="详情" prop="description">\r\n <el-input v-model="temp.description" clearable placeholder="请输入详情" type="textarea" size="small" />\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <div slot="footer" class="dialog-footer">\r\n <el-button size="small" @click="dialogFormVisible = false">\r\n 取 消\r\n </el-button>\r\n <el-button type="primary" size="small" @click="dialogStatus === \'create\' ? createData() : updateData()">\r\n 确 认\r\n </el-button>\r\n </div>\r\n </el-dialog>\r\n <preview-file :file="file" />\r\n <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" title="导出" :visible.sync="dialogVisibleExp"\r\n width="600px" :before-close="handleClose">\r\n <el-form :inline="true" class="demo-form-inline">\r\n <el-form-item label="提示:">\r\n <el-link :underline="false" type="primary">选择的开始日期和结束日期请将数据的入录时间包含起来,结束日期选后一天</el-link>\r\n </el-form-item>\r\n <el-form-item label="时间">\r\n <el-date-picker v-model="startDate" type="daterange" value-format="yyyy-MM-dd" range-separator="至"\r\n start-placeholder="开始日期" end-placeholder="结束日期" />\r\n </el-form-item>\r\n </el-form>\r\n <span slot="footer" class="dialog-footer">\r\n <el-button size="small" :loading="loadExp" @click="handleClose">取 消</el-button>\r\n <el-button size="small" type="primary" :loading="loadExp" @click="expExcel">\r\n 导 出\r\n </el-button>\r\n </span>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport {\r\n SysUnitPage,\r\n SProjectPage,\r\n SProjectDel,\r\n SProjectSave,\r\n ExportExcel,\r\n SProjectTake\r\n} from \'@/api/institution\'\r\nimport Pagination from \'@/components/Pagination\'\r\nimport { uploadTP, uploadPDF } from \'@/api/upload\'\r\nimport { fileUrl } from \'@/utils/fileUrl.js\'\r\nimport PreviewFile from \'@/components/previewFile\'\r\nexport default {\r\n name: \'Personnel\',\r\n components: { Pagination, PreviewFile },\r\n filters: {},\r\n data() {\r\n return {\r\n dialogVisibleExp: false,\r\n loadExp: false,\r\n startDate: [],\r\n file: {\r\n fileurl: \'\',\r\n dialogVisible: false,\r\n title: \'\',\r\n type: \'\'\r\n },\r\n FormData: {},\r\n fileList: [],\r\n dialogStatus: \'\',\r\n textMap: { update: \'编辑\', create: \'创建\' },\r\n tableKey: 0,\r\n list: null,\r\n total: 0,\r\n listLoading: true,\r\n listQuery: {\r\n pageNo: 1,\r\n size: 20\r\n },\r\n institutionData: [],\r\n dialogFormVisible: false,\r\n dialogPvVisible: false,\r\n rules: {\r\n type: [\r\n { required: true, message: \'请选择护理类型\', trigger: \'change\' }\r\n ],\r\n title: [\r\n { required: true, message: \'请输入护理机构名称\', trigger: \'blur\' }\r\n ],\r\n startTime: [\r\n { required: true, message: \'请选择有效开始时间\', trigger: \'change\' }\r\n ],\r\n endTime: [\r\n { required: true, message: \'请选择有效结束时间\', trigger: \'change\' }\r\n ],\r\n hourNum: [\r\n { required: true, message: \'请输入护理参考时间\', trigger: \'blur\' }\r\n ],\r\n description: [\r\n { required: true, message: \'请输入详情\', trigger: \'blur\' }\r\n ],\r\n unitId: [\r\n { required: true, message: \'请选择所属机构\', trigger: \'change\' }\r\n ]\r\n },\r\n temp: {},\r\n downloadLoading: false\r\n }\r\n },\r\n created() {\r\n this.getList()\r\n // 获取机构信息\r\n this.getinstitution()\r\n },\r\n methods: {\r\n handleClose() {\r\n this.dialogVisibleExp = false\r\n this.startDate = []\r\n },\r\n expExcel() {\r\n try {\r\n this.loadExp = true\r\n const form = {\r\n startDate: this.startDate[0],\r\n endDate: this.startDate[1]\r\n }\r\n ExportExcel(form).then((res) => {\r\n const blob = new Blob([res])\r\n const fileName = \'护理项信息\'\r\n if (blob.size > 0) {\r\n const elink = document.createElement(\'a\')\r\n elink.style.display = \'none\'\r\n elink.href = URL.createObjectURL(blob)\r\n // 类似a标签下载\r\n // 自定义文件名称和导出类型。最好和后台保持一致\r\n elink.download = `${fileName}/${this.$moment().format(\'YYYY-MM-DD\')}.xlsx`\r\n document.body.appendChild(elink)\r\n elink.click()\r\n // 释放URL 对象\r\n URL.revokeObjectURL(elink.href)\r\n // 删除创建的 a 标签\r\n document.body.removeChild(elink)\r\n }\r\n this.handleClose()\r\n this.loadExp = false\r\n })\r\n .catch(() => {\r\n this.loadExp = false\r\n })\r\n } catch (e) {\r\n this.loadExp = false\r\n console.log(e)\r\n }\r\n },\r\n // 文件格式验证\r\n beforeAvatarUploada(file) {\r\n this.loadingstate = true\r\n const index = file.name.lastIndexOf(\'.\')\r\n const extension = file.name.substr(index + 1)\r\n const extensionList = [\'png\', \'PNG\', \'jpg\', \'JPG\', \'jpeg\', \'JPEG\']\r\n const isLt2M = file.size / 1024 / 1024 < 10\r\n if (!isLt2M) {\r\n this.$message({\r\n message: \'封面不可超出10M\',\r\n type: \'warning\',\r\n center: true\r\n })\r\n return false\r\n } else if (extensionList.indexOf(extension) < 0) {\r\n this.$message({\r\n message: \'只能图片文件\',\r\n type: \'error\',\r\n center: true\r\n })\r\n return false\r\n }\r\n },\r\n onPreview(file) {\r\n const type = fileUrl(file.url)\r\n let url = `http://192.168.1.21/img/${file.url}`\r\n if (\r\n type == \'word\' ||\r\n type == \'wps\' ||\r\n type == \'pdf\' ||\r\n type == \'pptx\' ||\r\n type == \'txt\'\r\n ) {\r\n this.file.type = type\r\n url = `https://wps-view.zhihuipk.com/?src=` + url\r\n } else if (type == \'image\') {\r\n this.file.type = type\r\n } else if (type == \'video\') {\r\n this.file.type = type\r\n } else if (type == \'radio\') {\r\n this.file.type = type\r\n } else {\r\n this.$message.error(\'该格式不可在线预览,请下载后查看\')\r\n return\r\n }\r\n this.file.fileurl = url // 后端请求回来的文件地址url\r\n this.file.dialogVisible = true // 弹窗\r\n this.file.title = file.name // 文件名称\r\n },\r\n // 处理文件上传操作\r\n handleFileUpload(file) {\r\n const obj = new FormData()\r\n // 上传文件\r\n obj.append(\'file\', file.file)\r\n obj.append(\'realPath\', file.file.name)\r\n // 上传文件接口\r\n uploadTP(obj).then((res) => {\r\n if (res.status == 1) {\r\n this.$message({\r\n message: \'上传成功\',\r\n type: \'success\'\r\n })\r\n this.temp.picUrl = res.result.url\r\n }\r\n })\r\n },\r\n getinstitution() {\r\n SysUnitPage({ pageNo: 1, size: 9999 }).then((response) => {\r\n this.institutionData = response.result.data.map((item) => {\r\n return { label: item.name, value: item.id }\r\n })\r\n })\r\n },\r\n getList() {\r\n this.listLoading = true\r\n SProjectPage(this.listQuery).then((response) => {\r\n this.list = response.result.data\r\n this.total = response.result.count\r\n setTimeout(() => {\r\n this.listLoading = false\r\n }, 1.5 * 1000)\r\n })\r\n },\r\n handleModifyStatus(row, status) {\r\n this.$message({\r\n message: \'操作成功\',\r\n type: \'success\'\r\n })\r\n row.status = status\r\n },\r\n resetting(formName) {\r\n this.$nextTick(() => {\r\n this.$refs[formName].resetFields()\r\n this.getList()\r\n })\r\n },\r\n synchronization() {\r\n SProjectTake().then((res) => {\r\n // this.list.unshift(this.temp)\r\n if (res.status == 1) {\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'同步成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'同步失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n },\r\n add() {\r\n this.dialogStatus = \'create\'\r\n this.dialogFormVisible = true\r\n this.temp = {}\r\n this.fileList = []\r\n },\r\n onSubmit() {\r\n this.getList()\r\n },\r\n createData() {\r\n this.$refs[\'dataForm\'].validate((valid) => {\r\n if (valid) {\r\n // this.temp.id = parseInt(Math.random() * 100) + 1024 // mock a id\r\n // this.temp.author = \'vue-element-admin\'\r\n SProjectSave(this.temp).then((res) => {\r\n // this.list.unshift(this.temp)\r\n if (res.status == 1) {\r\n this.dialogFormVisible = false\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'新增成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'新增失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n }\r\n })\r\n },\r\n updateData() {\r\n this.$refs[\'dataForm\'].validate((valid) => {\r\n if (valid) {\r\n SProjectSave(this.temp).then((res) => {\r\n if (res.status == 1) {\r\n this.dialogFormVisible = false\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'更新成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'更新失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n }\r\n })\r\n },\r\n edit(row) {\r\n this.fileList = []\r\n this.temp = row\r\n this.dialogStatus = \'update\'\r\n this.dialogFormVisible = true\r\n if (row.picUrl) {\r\n this.fileList.push({\r\n name: row.picUrl,\r\n url: row.picUrl\r\n })\r\n }\r\n },\r\n handleDelete(row, index) {\r\n SProjectDel({ id: row.id }).then((res) => {\r\n if (res.status == 1) {\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'删除成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'删除失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n // this.list.splice(index, 1)\r\n }\r\n }\r\n}\r\n<\/script>\r\n<style lang="scss" scoped>\r\n.el-col-12 {\r\n padding: 0 20px 0 0;\r\n}\r\n</style>\r\n',".el-col-12 {\n padding: 0 20px 0 0;\n}\n\n/*# sourceMappingURL=index.vue.map */"]},media:void 0})},__vue_scope_id__$8="data-v-ddd4d53a",__vue_module_identifier__$8=void 0,__vue_is_functional_template__$8=!1,__vue_component__$8=normalizeComponent({render:__vue_render__$8,staticRenderFns:__vue_staticRenderFns__$8},__vue_inject_styles__$8,__vue_script__$8,__vue_scope_id__$8,__vue_is_functional_template__$8,__vue_module_identifier__$8,!1,createInjector,void 0,void 0);var script$7={name:"Personnel",components:{Pagination:Pagination,PreviewFile:PreviewFile},filters:{},data:()=>({height:"20vh",show:!0,tableShow:!0,dialogVisibleExp:!1,loadExp:!1,dialogVisibleExp2:!1,startDate:[],file:{fileurl:"",dialogVisible:!1,title:"",type:""},FormData:{},fileList:[],NursingLoading:!0,dialogVisible:!1,dialogStatus:"",textMap:{update:"编辑",create:"创建"},tableKey:0,list:null,total:0,listLoading:!0,listQuery:{pageNo:1,size:20},NursingData:[],institutionData:[],institutionArrData:[],dialogFormVisible:!1,dialogPvVisible:!1,rules:{type:[{required:!0,message:"请选择护理机构类型",trigger:"change"}],title:[{required:!0,message:"请输入套餐名称",trigger:"blur"}],no:[{required:!0,message:"请输入套餐编号",trigger:"blur"}],startTime:[{required:!0,message:"请选择有效开始时间",trigger:"change"}],endTime:[{required:!0,message:"请选择有效结束时间",trigger:"change"}],description:[{required:!0,message:"请输入详情",trigger:"blur"}],projectList:[{required:!0,message:"请选择护理项组合",trigger:"change"}]},temp:{},projectList:[],downloadLoading:!1}),computed:{Summary:()=>function(e,t){const n=Number(e),r=Number(t);return isNaN(n)||isNaN(r)?"":(n*r).toFixed(2)}},created(){this.getList(),this.getinstitution()},mounted(){},methods:{initDrag(){new Sortable(document.querySelector(".draggable-table .el-table__body-wrapper tbody"),{handle:".handle",animation:150,onEnd:({newIndex:e,oldIndex:t})=>{const n=this.NursingData[t];this.NursingData.splice(t,1),this.NursingData.splice(e,0,n),this.NursingData.map((e,t)=>{e.sort=t+1}),console.log(this.NursingData)}})},getSummaries(e){const{columns:t,data:n}=e,r=[];return t.forEach((e,t)=>{if(0!==t){if("合计"==e.label){const e=n.map(e=>Number(e.num)),l=n.map(e=>Number(e.price3));e.every(e=>isNaN(e))?r[t]="":r[t]=e.reduce((e,t,n)=>{const r=Number(t);return isNaN(r)?e:e+t*l[n]},0),"number"!=typeof r[t]||isNaN(r[t])?r[t]="":r[t]=r[t].toFixed(2)}else if("参考时长(小时)"==e.label){const e=n.reduce((e,t)=>{const n=Number(t.hourNum);return isNaN(n)?e:e+n},0);r[t]=isNaN(e)?"":`${e.toFixed(2)} 小时`}}else r[t]="总计"}),r},handleMouseEnter(){this.height="50vh",this.show=!1,this.tableShow=!0},handleMouseLeave(){this.height="20vh",this.show=!0,this.tableShow=!0},handleClose(){this.dialogVisibleExp=!1,this.dialogVisibleExp2=!1,this.startDate=[]},expExcel(){try{this.loadExp=!0;const e={startDate:this.startDate[0],endDate:this.startDate[1]};ExportExcelPlan(e).then(e=>{const t=new Blob([e]);if(t.size>0){const e=document.createElement("a");e.style.display="none",e.href=URL.createObjectURL(t),e.download=`护理套餐信息/${this.$moment().format("YYYY-MM-DD")}.xlsx`,document.body.appendChild(e),e.click(),URL.revokeObjectURL(e.href),document.body.removeChild(e)}this.handleClose(),this.loadExp=!1}).catch(()=>{this.loadExp=!1})}catch(e){this.loadExp=!1,console.log(e)}},expExcel2(){try{const e={startDate:this.startDate[0],endDate:this.startDate[1]};ExportExcelInfo(e).then(e=>{const t=new Blob([e]);if(t.size>0){const e=document.createElement("a");e.style.display="none",e.href=URL.createObjectURL(t),e.download=`护理套餐明细/${this.$moment().format("YYYY-MM-DD")}.xlsx`,document.body.appendChild(e),e.click(),URL.revokeObjectURL(e.href),document.body.removeChild(e)}this.handleClose()})}catch(e){console.log(e)}},beforeAvatarUploada(e){this.loadingstate=!0;const t=e.name.lastIndexOf("."),n=e.name.substr(t+1);return e.size/1024/1024<10?["png","PNG","jpg","JPG","jpeg","JPEG"].indexOf(n)<0?(this.$message({message:"只能图片文件",type:"error",center:!0}),!1):void 0:(this.$message({message:"封面不可超出10M",type:"warning",center:!0}),!1)},onPreview(e){const t=fileUrl(e.url);let n=`http://192.168.1.21/img/${e.url}`;if("word"==t||"wps"==t||"pdf"==t||"pptx"==t||"txt"==t)this.file.type=t,n="https://wps-view.zhihuipk.com/?src="+n;else if("image"==t)this.file.type=t;else if("video"==t)this.file.type=t;else{if("radio"!=t)return void this.$message.error("该格式不可在线预览,请下载后查看");this.file.type=t}this.file.fileurl=n,this.file.dialogVisible=!0,this.file.title=e.name},handleFileUpload(e){const t=new FormData;t.append("file",e.file),t.append("realPath",e.file.name),uploadTP(t).then(e=>{1==e.status&&(this.$message({message:"上传成功",type:"success"}),this.temp.picUrl=e.result.url)})},nurseDelete(e,t){this.NursingData.splice(t,1),this.projectList=this.projectList.filter(t=>t!=e.value)},modify(e){e.edit=!0},InputBlur(e){e.edit=!1},determine(){this.dialogVisible=!1,setTimeout(()=>{this.NursingLoading=!1},1500);for(var e=0;e<this.projectList.length;e++){const t=this.institutionData.find((t,n)=>(t.price3=t.price3,t.type=t.type,t.value==this.projectList[e]));this.NursingData.some(e=>e.value===t.value)||(this.NursingData.push(t),this.NursingData.map((e,t)=>{e.sort=t+1}))}this.NursingData=this.removeDataArr(this.NursingData);const t=[];for(let e=0;e<this.projectList.length;e++)for(let n=0;n<this.NursingData.length;n++)this.NursingData[n].projectId==this.projectList[e]&&t.push(this.NursingData[n]);this.NursingData=t,this.NursingData.map((e,t)=>{e.sort=t+1}),this.temp.itemList=t,this.initDrag()},removeDataArr(e){var t={};return e=e.reduce(function(e,n){return!t[n.projectId]&&(t[n.projectId]=e.push(n)),e},[])},addNurse(){this.dialogVisible=!0,this.projectList=[];const e=[];this.temp.itemList&&(this.temp.itemList.map(t=>{e.push(t.projectId)}),this.projectList=e)},getinstitution(){SProjectAll().then(e=>{console.log(e.result),this.institutionData=e.result.map((e,t)=>({label:e.title,type:e.type,value:e.id,price1:e.price1,price3:e.price3,edit:!1,num:"1",hourNum:e.hourNum?e.hourNum:"-",projectId:e.id}))}),SysUnitPage({pageNo:1,size:9999}).then(e=>{this.institutionArrData=e.result.data.map(e=>({label:e.name,value:e.id}))})},getList(){this.listLoading=!0,SProjectPlanPage(this.listQuery).then(e=>{this.list=e.result.data,this.total=e.result.count,setTimeout(()=>{this.listLoading=!1},1500)})},handleModifyStatus(e,t){this.$message({message:"操作成功",type:"success"}),e.status=t},resetting(e){this.$nextTick(()=>{this.$refs[e].resetFields(),this.getList()})},add(){this.dialogStatus="create",this.dialogFormVisible=!0,this.temp={},this.NursingData=[],this.fileList=[],setTimeout(()=>{this.NursingLoading=!1},1500)},onSubmit(){this.getList()},createData(){delete this.temp.projectList,this.temp.projectList=this.NursingData,this.$refs.dataForm.validate(e=>{e&&SProjectPlanSave(this.temp).then(e=>{if(1==e.status)return this.dialogFormVisible=!1,this.getList(),void this.$notify({title:e.info,message:"新增成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"新增失败",type:"error",duration:2e3})})})},updateData(){delete this.temp.itemList,this.temp.projectList=this.NursingData,this.$refs.dataForm.validate(e=>{e&&SProjectPlanSave(this.temp).then(e=>{if(1==e.status)return this.dialogFormVisible=!1,this.getList(),void this.$notify({title:e.info,message:"更新成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"更新失败",type:"error",duration:2e3})})})},edit(e){console.log(e),this.dialogFormVisible=!0,this.fileList=[],this.dialogStatus="update",SProjectPlanDetail({id:e.id}).then(e=>{e.result.itemList&&(this.NursingData=e.result.itemList.map(e=>(e.edit=!1,e.price3=e.projectPrice3,e.label=e.projectTitle,e))),this.temp=e.result}),e.picUrl&&this.fileList.push({name:e.picUrl,url:e.picUrl}),setTimeout(()=>{this.NursingLoading=!1},1500)},handleDelete(e,t){SProjectPlanDel({id:e.id}).then(e=>{if(1==e.status)return this.getList(),void this.$notify({title:e.info,message:"删除成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"删除失败",type:"error",duration:2e3})})}}};const __vue_script__$7=script$7;var __vue_render__$7=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"app-container"},[n("div",{staticClass:"filter-container"},[n("el-form",{ref:"listQuery",staticClass:"demo-form-inline",attrs:{inline:!0,model:e.listQuery}},[n("el-form-item",{attrs:{label:"套餐名称",prop:"title"}},[n("el-input",{attrs:{size:"small",placeholder:"请输入套餐名称"},model:{value:e.listQuery.title,callback:function(t){e.$set(e.listQuery,"title",t)},expression:"listQuery.title"}})],1),e._v(" "),n("el-form-item",{attrs:{label:"状态",prop:"status"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择状态"},model:{value:e.listQuery.status,callback:function(t){e.$set(e.listQuery,"status",t)},expression:"listQuery.status"}},e._l([{label:"启用",value:"1"},{label:"下架",value:"2"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"primary"},on:{click:e.onSubmit}},[e._v("查询")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"warning"},on:{click:function(t){return e.resetting("listQuery")}}},[e._v("重置")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"success"},on:{click:e.add}},[e._v("新增")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"primary"},on:{click:function(t){e.dialogVisibleExp=!0}}},[e._v("导出套餐")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"primary"},on:{click:function(t){e.dialogVisibleExp2=!0}}},[e._v("导出明细")])],1)],1)],1),e._v(" "),n("el-table",{staticStyle:{width:"100%"},attrs:{border:"",height:"65vh",data:e.list}},[n("el-table-column",{attrs:{label:"套餐名称",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.title))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"状态",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s("1"==r.status?"启用":"2"==r.status?"下架":"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"宣传图",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[r.picUrl?n("el-image",{staticStyle:{width:"50px",height:"50px"},attrs:{src:"http://192.168.1.21/img/"+r.picUrl,"preview-src-list":["http://192.168.1.21/img/"+r.picUrl]}}):n("span",[e._v(" - ")])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"所属机构名称",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.unitName))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"套餐内容",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.description))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"操作",align:"center",width:"150","class-name":"small-padding fixed-width"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row,l=t.$index;return[n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(t){return e.edit(r,l)}}},[e._v("\n 修改\n ")]),e._v(" "),n("el-button",{attrs:{size:"mini",type:"danger"},on:{click:function(t){return e.handleDelete(r,l)}}},[e._v("\n 删除\n ")])]}}])})],1),e._v(" "),n("pagination",{directives:[{name:"show",rawName:"v-show",value:e.total>0,expression:"total > 0"}],attrs:{total:e.total,page:e.listQuery.pageNo,limit:e.listQuery.size},on:{"update:page":function(t){return e.$set(e.listQuery,"pageNo",t)},"update:limit":function(t){return e.$set(e.listQuery,"size",t)},pagination:e.getList}}),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"新增护理项",visible:e.dialogVisible,width:"30%"},on:{"update:visible":function(t){e.dialogVisible=t}}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择护理项组合",multiple:""},model:{value:e.projectList,callback:function(t){e.projectList=t},expression:"projectList"}},e._l(e.institutionData,function(t,r){return n("el-option",{key:r,attrs:{label:t.label,value:t.value}},[n("span",{staticStyle:{float:"left"}},[e._v(e._s(t.label))]),e._v(" "),n("span",{staticStyle:{float:"right",color:"#8492a6","font-size":"13px"}},[e._v("护理类型:"+e._s("01"==t.type?"生活照料":"02"==t.type?"精神慰藉":"03"==t.type?"安全巡视":"04"==t.type?"医疗护理":"05"==t.type?"康复护理":"06"==t.type?"辅助器具":"07"==t.type?"居家护理":"-"))])])}),1),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small"},on:{click:function(t){e.dialogVisible=!1}}},[e._v("取 消")]),e._v(" "),n("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.determine}},[e._v("确 定")])],1)],1),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:e.textMap[e.dialogStatus],visible:e.dialogFormVisible,width:"40%"},on:{"update:visible":function(t){e.dialogFormVisible=t}}},[n("el-form",{ref:"dataForm",attrs:{rules:e.rules,model:e.temp,"label-position":"right","label-width":"100px"}},[n("el-row",{attrs:{gutter:20}},[e.show?n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"套餐名称",prop:"title"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入套餐名称",size:"small"},model:{value:e.temp.title,callback:function(t){e.$set(e.temp,"title",t)},expression:"temp.title"}})],1)],1):e._e(),e._v(" "),e.show?n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"所属机构",prop:"unitId"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择所属机构"},model:{value:e.temp.unitId,callback:function(t){e.$set(e.temp,"unitId",t)},expression:"temp.unitId"}},e._l(e.institutionArrData,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1):e._e(),e._v(" "),e.show?n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"状态"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择状态"},model:{value:e.temp.status,callback:function(t){e.$set(e.temp,"status",t)},expression:"temp.status"}},e._l([{label:"启用",value:"1"},{label:"下架",value:"2"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1):e._e(),e._v(" "),e.show?n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"项目海报",prop:"picUrl"}},[n("el-upload",{attrs:{action:"#",limit:1,data:e.FormData,"before-upload":e.beforeAvatarUploada,"http-request":e.handleFileUpload,"file-list":e.fileList,"on-preview":e.onPreview}},[n("el-button",{attrs:{slot:"trigger",size:"small",type:"primary"},slot:"trigger"},[e._v("选取文件")])],1)],1)],1):e._e(),e._v(" "),e.show?n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"详情",prop:"description"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入详情",type:"textarea",size:"small"},model:{value:e.temp.description,callback:function(t){e.$set(e.temp,"description",t)},expression:"temp.description"}})],1)],1):e._e(),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"护理项组合"}},[n("el-button",{attrs:{size:"small",type:"success"},on:{click:e.addNurse}},[e._v("新增护理项")])],1)],1),e._v(" "),n("el-col",{attrs:{span:24}},[n("Transition",[e.tableShow?n("div",{on:{mouseenter:e.handleMouseEnter,mouseleave:e.handleMouseLeave}},[n("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.NursingLoading,expression:"NursingLoading"}],staticClass:"draggable-table",staticStyle:{width:"100%"},attrs:{border:"",height:e.height,data:e.NursingData,"summary-method":e.getSummaries,"show-summary":"","row-key":"projectId"}},[n("el-table-column",{attrs:{label:"鼠标长按",width:"100",align:"center"}},[n("el-button",{staticClass:"handle",attrs:{link:"",type:"text",size:"small",icon:"el-icon-s-operation"}},[e._v("拖拽")])],1),e._v(" "),n("el-table-column",{attrs:{label:"序号",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.sort))])]}}],null,!1,3981901502)}),e._v(" "),n("el-table-column",{attrs:{label:"护理项",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.label))])]}}],null,!1,3451937186)}),e._v(" "),n("el-table-column",{attrs:{label:"次数",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row,l=t.$index;return[r.edit?n("el-input",{attrs:{placeholder:"次数"},on:{blur:function(t){return e.InputBlur(r,l)}},model:{value:r.num,callback:function(t){e.$set(r,"num",t)},expression:"row.num"}}):n("span",[e._v(e._s(r.num))])]}}],null,!1,2353372964)}),e._v(" "),n("el-table-column",{attrs:{label:"单价",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.price3))])]}}],null,!1,1148645082)}),e._v(" "),n("el-table-column",{attrs:{label:"参考时长(小时)",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.hourNum))])]}}],null,!1,461110482)}),e._v(" "),n("el-table-column",{attrs:{label:"合计",align:"center",prop:"projectPrice1"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(e.Summary(r.num,r.price3)))])]}}],null,!1,892702249)}),e._v(" "),n("el-table-column",{attrs:{label:"操作",align:"center",width:"180","class-name":"small-padding fixed-width"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row,l=t.$index;return[n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(t){return e.modify(r,l)}}},[e._v("\n 修改次数\n ")]),e._v(" "),n("el-button",{attrs:{size:"mini",type:"danger"},on:{click:function(t){return e.nurseDelete(r,l)}}},[e._v("\n 删除\n ")])]}}],null,!1,1851948995)})],1)],1):e._e()])],1)],1)],1),e._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{type:"primary",size:"small"},on:{click:function(t){"create"===e.dialogStatus?e.createData():e.updateData()}}},[e._v("\n 确 认\n ")])],1)],1),e._v(" "),n("preview-file",{attrs:{file:e.file}}),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"导出",visible:e.dialogVisibleExp,width:"600px","before-close":e.handleClose},on:{"update:visible":function(t){e.dialogVisibleExp=t}}},[n("el-form",{staticClass:"demo-form-inline",attrs:{inline:!0}},[n("el-form-item",{attrs:{label:"提示:"}},[n("el-link",{attrs:{underline:!1,type:"primary"}},[e._v("选择的开始日期和结束日期请将数据的入录时间包含起来,结束日期选后一天")])],1),e._v(" "),n("el-form-item",{attrs:{label:"时间"}},[n("el-date-picker",{attrs:{type:"daterange","value-format":"yyyy-MM-dd","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期"},model:{value:e.startDate,callback:function(t){e.startDate=t},expression:"startDate"}})],1)],1),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small",loading:e.loadExp},on:{click:e.handleClose}},[e._v("取 消")]),e._v(" "),n("el-button",{attrs:{size:"small",type:"primary",loading:e.loadExp},on:{click:e.expExcel}},[e._v("\n 导 出\n ")])],1)],1),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"导出",visible:e.dialogVisibleExp2,width:"600px","before-close":e.handleClose},on:{"update:visible":function(t){e.dialogVisibleExp2=t}}},[n("el-form",{staticClass:"demo-form-inline",attrs:{inline:!0}},[n("el-form-item",{attrs:{label:"提示:"}},[n("el-link",{attrs:{underline:!1,type:"primary"}},[e._v("选择的开始日期和结束日期请将数据的入录时间包含起来,结束日期选后一天")])],1),e._v(" "),n("el-form-item",{attrs:{label:"时间"}},[n("el-date-picker",{attrs:{type:"daterange","value-format":"yyyy-MM-dd","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期"},model:{value:e.startDate,callback:function(t){e.startDate=t},expression:"startDate"}})],1)],1),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small"},on:{click:e.handleClose}},[e._v("取 消")]),e._v(" "),n("el-button",{attrs:{size:"small",type:"primary"},on:{click:e.expExcel2}},[e._v("导 出")])],1)],1)],1)},__vue_staticRenderFns__$7=[];__vue_render__$7._withStripped=!0;const __vue_inject_styles__$7=function(e){e&&e("data-v-3e87461c_0",{source:".el-col-12[data-v-3e87461c] {\n padding: 0 20px 0 0;\n}\n.v-enter-active[data-v-3e87461c],\n.v-leave-active[data-v-3e87461c] {\n transition: opacity 1s ease;\n}\n.v-enter-from[data-v-3e87461c],\n.v-leave-to[data-v-3e87461c] {\n opacity: 0;\n}\n\n/*# sourceMappingURL=index.vue.map */",map:{version:3,sources:["E:\\公司项目\\changhuxianlocal\\changhuxian-vue-components\\src\\pages\\nurseProjects\\NursingPackage\\index.vue","index.vue"],names:[],mappings:"AAw/BA;EACA,mBAAA;ACv/BA;AD0/BA;;EAEA,2BAAA;ACv/BA;AD0/BA;;EAEA,UAAA;ACv/BA;;AAEA,oCAAoC",file:"index.vue",sourcesContent:['<template>\r\n <div class="app-container">\r\n <div class="filter-container">\r\n <el-form\r\n ref="listQuery"\r\n :inline="true"\r\n :model="listQuery"\r\n class="demo-form-inline"\r\n >\r\n <el-form-item label="套餐名称" prop="title">\r\n <el-input\r\n v-model="listQuery.title"\r\n size="small"\r\n placeholder="请输入套餐名称"\r\n />\r\n </el-form-item>\r\n <el-form-item label="状态" prop="status">\r\n <el-select\r\n v-model="listQuery.status"\r\n style="width: 100%"\r\n clearable\r\n filterable\r\n size="small"\r\n class="filter-item"\r\n placeholder="请选择状态"\r\n >\r\n <el-option\r\n v-for="(item, index) in [\r\n { label: \'启用\', value: \'1\' },\r\n { label: \'下架\', value: \'2\' },\r\n ]"\r\n :key="index"\r\n :label="item.label"\r\n :value="item.value"\r\n />\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button\r\n size="small"\r\n type="primary"\r\n @click="onSubmit"\r\n >查询</el-button>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button\r\n size="small"\r\n type="warning"\r\n @click="resetting(\'listQuery\')"\r\n >重置</el-button>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size="small" type="success" @click="add">新增</el-button>\r\n </el-form-item>\r\n\r\n <el-form-item>\r\n <el-button\r\n size="small"\r\n type="primary"\r\n @click="dialogVisibleExp = true"\r\n >导出套餐</el-button>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button\r\n size="small"\r\n type="primary"\r\n @click="dialogVisibleExp2 = true"\r\n >导出明细</el-button>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n <el-table border height="65vh" :data="list" style="width: 100%">\r\n <el-table-column :label="\'套餐名称\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.title }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'状态\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{\r\n row.status == "1" ? "启用" : row.status == "2" ? "下架" : "-"\r\n }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'宣传图\'" align="center">\r\n <template slot-scope="{ row }">\r\n <el-image\r\n v-if="row.picUrl"\r\n style="width: 50px; height: 50px"\r\n :src="`http://192.168.1.21/img/${row.picUrl}`"\r\n :preview-src-list="[`http://192.168.1.21/img/${row.picUrl}`]"\r\n />\r\n <span v-else> - </span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'所属机构名称\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.unitName }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'套餐内容\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.description }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column\r\n :label="\'操作\'"\r\n align="center"\r\n width="150"\r\n class-name="small-padding fixed-width"\r\n >\r\n <template slot-scope="{ row, $index }">\r\n <el-button size="mini" type="primary" @click="edit(row, $index)">\r\n 修改\r\n </el-button>\r\n <el-button\r\n size="mini"\r\n type="danger"\r\n @click="handleDelete(row, $index)"\r\n >\r\n 删除\r\n </el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <pagination\r\n v-show="total > 0"\r\n :total="total"\r\n :page.sync="listQuery.pageNo"\r\n :limit.sync="listQuery.size"\r\n @pagination="getList"\r\n />\r\n <el-dialog\r\n :close-on-click-modal="false"\r\n :close-on-press-escape="false"\r\n title="新增护理项"\r\n :visible.sync="dialogVisible"\r\n width="30%"\r\n >\r\n <el-select\r\n v-model="projectList"\r\n style="width: 100%"\r\n clearable\r\n filterable\r\n size="small"\r\n class="filter-item"\r\n placeholder="请选择护理项组合"\r\n multiple\r\n >\r\n <el-option\r\n v-for="(item, index) in institutionData"\r\n :key="index"\r\n :label="item.label"\r\n :value="item.value"\r\n >\r\n <span style="float: left">{{ item.label }}</span>\r\n <span\r\n style="float: right; color: #8492a6; font-size: 13px"\r\n >护理类型:{{ item.type == "01" ? "生活照料" : item.type == "02" ? "精神慰藉" : item.type == "03" ? "安全巡视" : item.type == "04" ? "医疗护理" : item.type == "05" ? "康复护理" : item.type == "06" ? "辅助器具" : item.type == "07" ? "居家护理" : \'-\' }}</span>\r\n </el-option>\r\n </el-select>\r\n <span slot="footer" class="dialog-footer">\r\n <el-button size="small" @click="dialogVisible = false">取 消</el-button>\r\n <el-button\r\n type="primary"\r\n size="small"\r\n @click="determine"\r\n >确 定</el-button>\r\n </span>\r\n </el-dialog>\r\n\r\n <el-dialog\r\n :close-on-click-modal="false"\r\n :close-on-press-escape="false"\r\n :title="textMap[dialogStatus]"\r\n :visible.sync="dialogFormVisible"\r\n width="40%"\r\n >\r\n <el-form\r\n ref="dataForm"\r\n :rules="rules"\r\n :model="temp"\r\n label-position="right"\r\n label-width="100px"\r\n >\r\n <el-row :gutter="20">\r\n <el-col v-if="show" :span="12">\r\n <el-form-item label="套餐名称" prop="title">\r\n <el-input\r\n v-model="temp.title"\r\n clearable\r\n placeholder="请输入套餐名称"\r\n size="small"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col v-if="show" :span="12">\r\n <el-form-item label="所属机构" prop="unitId">\r\n <el-select\r\n v-model="temp.unitId"\r\n style="width: 100%"\r\n clearable\r\n filterable\r\n size="small"\r\n class="filter-item"\r\n placeholder="请选择所属机构"\r\n >\r\n <el-option\r\n v-for="(item, index) in institutionArrData"\r\n :key="index"\r\n :label="item.label"\r\n :value="item.value"\r\n />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col v-if="show" :span="12">\r\n <el-form-item label="状态">\r\n <el-select\r\n v-model="temp.status"\r\n style="width: 100%"\r\n clearable\r\n filterable\r\n size="small"\r\n class="filter-item"\r\n placeholder="请选择状态"\r\n >\r\n <el-option\r\n v-for="(item, index) in [\r\n { label: \'启用\', value: \'1\' },\r\n { label: \'下架\', value: \'2\' },\r\n ]"\r\n :key="index"\r\n :label="item.label"\r\n :value="item.value"\r\n />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col v-if="show" :span="12">\r\n <el-form-item label="项目海报" prop="picUrl">\r\n <el-upload\r\n action="#"\r\n :limit="1"\r\n :data="FormData"\r\n :before-upload="beforeAvatarUploada"\r\n :http-request="handleFileUpload"\r\n :file-list="fileList"\r\n :on-preview="onPreview"\r\n >\r\n <el-button\r\n slot="trigger"\r\n size="small"\r\n type="primary"\r\n >选取文件</el-button>\r\n </el-upload>\r\n </el-form-item>\r\n </el-col>\r\n <el-col v-if="show" :span="24">\r\n <el-form-item label="详情" prop="description">\r\n <el-input\r\n v-model="temp.description"\r\n clearable\r\n placeholder="请输入详情"\r\n type="textarea"\r\n size="small"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="护理项组合">\r\n <el-button\r\n size="small"\r\n type="success"\r\n @click="addNurse"\r\n >新增护理项</el-button>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="24">\r\n <Transition>\r\n <div\r\n v-if="tableShow"\r\n @mouseenter="handleMouseEnter"\r\n @mouseleave="handleMouseLeave"\r\n >\r\n <el-table\r\n v-loading="NursingLoading"\r\n border\r\n :height="height"\r\n :data="NursingData"\r\n :summary-method="getSummaries"\r\n show-summary\r\n style="width: 100%"\r\n row-key="projectId"\r\n class="draggable-table"\r\n >\r\n <el-table-column label="鼠标长按" width="100" align="center">\r\n <el-button\r\n link\r\n type="text"\r\n size="small"\r\n :icon="\'el-icon-s-operation\'"\r\n class="handle"\r\n >拖拽</el-button>\r\n </el-table-column>\r\n <el-table-column :label="\'序号\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.sort }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'护理项\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.label }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'次数\'" align="center">\r\n <template slot-scope="{ row, $index }">\r\n <el-input\r\n v-if="row.edit"\r\n v-model="row.num"\r\n placeholder="次数"\r\n @blur="InputBlur(row, $index)"\r\n />\r\n <span v-else>{{ row.num }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'单价\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.price3 }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'参考时长(小时)\'" align="center">\r\n <template slot-scope="{ row }">\r\n <span>{{ row.hourNum }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column\r\n :label="\'合计\'"\r\n align="center"\r\n prop="projectPrice1"\r\n >\r\n <template slot-scope="{ row }">\r\n <span>{{ Summary(row.num, row.price3) }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column\r\n :label="\'操作\'"\r\n align="center"\r\n width="180"\r\n class-name="small-padding fixed-width"\r\n >\r\n <template slot-scope="{ row, $index }">\r\n <el-button\r\n size="mini"\r\n type="primary"\r\n @click="modify(row, $index)"\r\n >\r\n 修改次数\r\n </el-button>\r\n <el-button\r\n size="mini"\r\n type="danger"\r\n @click="nurseDelete(row, $index)"\r\n >\r\n 删除\r\n </el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n </div>\r\n </Transition>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <div slot="footer" class="dialog-footer">\r\n \x3c!-- <el-button @click="dialogFormVisible = false" size="small">\r\n 取 消\r\n </el-button> --\x3e\r\n <el-button\r\n type="primary"\r\n size="small"\r\n @click="dialogStatus === \'create\' ? createData() : updateData()"\r\n >\r\n 确 认\r\n </el-button>\r\n </div>\r\n </el-dialog>\r\n <preview-file :file="file" />\r\n\r\n <el-dialog\r\n :close-on-click-modal="false"\r\n :close-on-press-escape="false"\r\n title="导出"\r\n :visible.sync="dialogVisibleExp"\r\n width="600px"\r\n :before-close="handleClose"\r\n >\r\n <el-form :inline="true" class="demo-form-inline">\r\n <el-form-item label="提示:">\r\n <el-link\r\n :underline="false"\r\n type="primary"\r\n >选择的开始日期和结束日期请将数据的入录时间包含起来,结束日期选后一天</el-link>\r\n </el-form-item>\r\n <el-form-item label="时间">\r\n <el-date-picker\r\n v-model="startDate"\r\n type="daterange"\r\n value-format="yyyy-MM-dd"\r\n range-separator="至"\r\n start-placeholder="开始日期"\r\n end-placeholder="结束日期"\r\n />\r\n </el-form-item>\r\n </el-form>\r\n <span slot="footer" class="dialog-footer">\r\n <el-button\r\n size="small"\r\n :loading="loadExp"\r\n @click="handleClose"\r\n >取 消</el-button>\r\n <el-button\r\n size="small"\r\n type="primary"\r\n :loading="loadExp"\r\n @click="expExcel"\r\n >\r\n 导 出\r\n </el-button>\r\n </span>\r\n </el-dialog>\r\n\r\n <el-dialog\r\n :close-on-click-modal="false"\r\n :close-on-press-escape="false"\r\n title="导出"\r\n :visible.sync="dialogVisibleExp2"\r\n width="600px"\r\n :before-close="handleClose"\r\n >\r\n <el-form :inline="true" class="demo-form-inline">\r\n <el-form-item label="提示:">\r\n <el-link\r\n :underline="false"\r\n type="primary"\r\n >选择的开始日期和结束日期请将数据的入录时间包含起来,结束日期选后一天</el-link>\r\n </el-form-item>\r\n <el-form-item label="时间">\r\n <el-date-picker\r\n v-model="startDate"\r\n type="daterange"\r\n value-format="yyyy-MM-dd"\r\n range-separator="至"\r\n start-placeholder="开始日期"\r\n end-placeholder="结束日期"\r\n />\r\n </el-form-item>\r\n </el-form>\r\n <span slot="footer" class="dialog-footer">\r\n <el-button size="small" @click="handleClose">取 消</el-button>\r\n <el-button\r\n size="small"\r\n type="primary"\r\n @click="expExcel2"\r\n >导 出</el-button>\r\n </span>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport {\r\n SProjectAll,\r\n SProjectPlanPage,\r\n SProjectPlanDel,\r\n SProjectPlanSave,\r\n SysUnitPage,\r\n SProjectPlanDetail,\r\n ExportExcelPlan,\r\n ExportExcelInfo\r\n} from \'@/api/institution\'\r\nimport Pagination from \'@/components/Pagination\'\r\nimport { uploadTP, uploadPDF } from \'@/api/upload\'\r\nimport { fileUrl } from \'@/utils/fileUrl.js\'\r\nimport PreviewFile from \'@/components/previewFile\'\r\nimport Sortable from \'sortablejs\'\r\nexport default {\r\n name: \'Personnel\',\r\n components: { Pagination, PreviewFile },\r\n filters: {},\r\n data() {\r\n return {\r\n height: \'20vh\',\r\n show: true,\r\n tableShow: true,\r\n dialogVisibleExp: false,\r\n loadExp: false,\r\n dialogVisibleExp2: false,\r\n\r\n startDate: [],\r\n file: {\r\n fileurl: \'\',\r\n dialogVisible: false,\r\n title: \'\',\r\n type: \'\'\r\n },\r\n FormData: {},\r\n fileList: [],\r\n NursingLoading: true,\r\n dialogVisible: false,\r\n dialogStatus: \'\',\r\n textMap: { update: \'编辑\', create: \'创建\' },\r\n tableKey: 0,\r\n list: null,\r\n total: 0,\r\n listLoading: true,\r\n listQuery: {\r\n pageNo: 1,\r\n size: 20\r\n },\r\n NursingData: [],\r\n institutionData: [],\r\n institutionArrData: [],\r\n dialogFormVisible: false,\r\n dialogPvVisible: false,\r\n rules: {\r\n type: [\r\n { required: true, message: \'请选择护理机构类型\', trigger: \'change\' }\r\n ],\r\n title: [{ required: true, message: \'请输入套餐名称\', trigger: \'blur\' }],\r\n no: [{ required: true, message: \'请输入套餐编号\', trigger: \'blur\' }],\r\n startTime: [\r\n { required: true, message: \'请选择有效开始时间\', trigger: \'change\' }\r\n ],\r\n endTime: [\r\n { required: true, message: \'请选择有效结束时间\', trigger: \'change\' }\r\n ],\r\n description: [\r\n { required: true, message: \'请输入详情\', trigger: \'blur\' }\r\n ],\r\n projectList: [\r\n { required: true, message: \'请选择护理项组合\', trigger: \'change\' }\r\n ]\r\n },\r\n temp: {},\r\n projectList: [],\r\n downloadLoading: false\r\n }\r\n },\r\n computed: {\r\n Summary() {\r\n return function(num, price3) {\r\n const n = Number(num)\r\n const p = Number(price3)\r\n if (isNaN(n) || isNaN(p)) return \'\'\r\n return (n * p).toFixed(2)\r\n }\r\n }\r\n },\r\n created() {\r\n this.getList()\r\n // 获取机构信息\r\n this.getinstitution()\r\n },\r\n mounted() {},\r\n methods: {\r\n initDrag() {\r\n const tbody = document.querySelector(\r\n \'.draggable-table .el-table__body-wrapper tbody\'\r\n )\r\n new Sortable(tbody, {\r\n handle: \'.handle\', // handle\'s class\r\n animation: 150,\r\n // 需要在odEnd方法中处理原始eltable数据,使原始数据与显示数据保持顺序一致\r\n onEnd: ({ newIndex, oldIndex }) => {\r\n const targetRow = this.NursingData[oldIndex]\r\n this.NursingData.splice(oldIndex, 1)\r\n this.NursingData.splice(newIndex, 0, targetRow)\r\n this.NursingData.map((item, index) => {\r\n item.sort = index + 1\r\n })\r\n console.log(this.NursingData)\r\n }\r\n })\r\n },\r\n // 合计\r\n getSummaries(param) {\r\n const { columns, data } = param\r\n const sums = []\r\n columns.forEach((column, index) => {\r\n if (index === 0) {\r\n sums[index] = \'总计\'\r\n return\r\n } else if (column.label == \'合计\') {\r\n // 数量\r\n const values = data.map((item) => Number(item[\'num\']))\r\n // 价格\r\n const price = data.map((item) => Number(item[\'price3\']))\r\n if (!values.every((value) => isNaN(value))) {\r\n sums[index] = values.reduce((prev, curr, index) => {\r\n const value = Number(curr)\r\n if (!isNaN(value)) {\r\n // curr为数量,price为单价,求得每行的金额,再通过reduce累加求和\r\n return prev + curr * price[index]\r\n } else {\r\n return prev\r\n }\r\n }, 0)\r\n } else {\r\n sums[index] = \'\'\r\n }\r\n if (typeof sums[index] === \'number\' && !isNaN(sums[index])) {\r\n sums[index] = sums[index].toFixed(2) // 保留2位小数\r\n } else {\r\n sums[index] = \'\'\r\n }\r\n } else if (column.label == \'参考时长(小时)\') {\r\n // 参考时长合计:直接累加 hourNum\r\n const totalHours = data.reduce((prev, item) => {\r\n const h = Number(item.hourNum)\r\n if (isNaN(h)) return prev\r\n return prev + h\r\n }, 0)\r\n sums[index] = !isNaN(totalHours) ? `${totalHours.toFixed(2)} 小时` : \'\'\r\n }\r\n })\r\n\r\n return sums\r\n },\r\n handleMouseEnter() {\r\n this.height = \'50vh\'\r\n this.show = false\r\n this.tableShow = true\r\n // 在这里执行你需要的操作\r\n },\r\n handleMouseLeave() {\r\n this.height = \'20vh\'\r\n this.show = true\r\n this.tableShow = true\r\n },\r\n handleClose() {\r\n this.dialogVisibleExp = false\r\n this.dialogVisibleExp2 = false\r\n this.startDate = []\r\n },\r\n expExcel() {\r\n try {\r\n this.loadExp = true\r\n const form = {\r\n startDate: this.startDate[0],\r\n endDate: this.startDate[1]\r\n }\r\n ExportExcelPlan(form)\r\n .then((res) => {\r\n const blob = new Blob([res])\r\n const fileName = \'护理套餐信息\'\r\n if (blob.size > 0) {\r\n const elink = document.createElement(\'a\')\r\n elink.style.display = \'none\'\r\n elink.href = URL.createObjectURL(blob)\r\n // 类似a标签下载\r\n // 自定义文件名称和导出类型。最好和后台保持一致\r\n elink.download = `${fileName}/${this.$moment().format(\r\n \'YYYY-MM-DD\'\r\n )}.xlsx`\r\n document.body.appendChild(elink)\r\n elink.click()\r\n // 释放URL 对象\r\n URL.revokeObjectURL(elink.href)\r\n // 删除创建的 a 标签\r\n document.body.removeChild(elink)\r\n }\r\n this.handleClose()\r\n this.loadExp = false\r\n })\r\n .catch(() => {\r\n this.loadExp = false\r\n })\r\n } catch (e) {\r\n this.loadExp = false\r\n console.log(e)\r\n }\r\n },\r\n expExcel2() {\r\n try {\r\n const form = {\r\n startDate: this.startDate[0],\r\n endDate: this.startDate[1]\r\n }\r\n ExportExcelInfo(form).then((res) => {\r\n const blob = new Blob([res])\r\n const fileName = \'护理套餐明细\'\r\n if (blob.size > 0) {\r\n const elink = document.createElement(\'a\')\r\n elink.style.display = \'none\'\r\n elink.href = URL.createObjectURL(blob)\r\n // 类似a标签下载\r\n // 自定义文件名称和导出类型。最好和后台保持一致\r\n elink.download = `${fileName}/${this.$moment().format(\r\n \'YYYY-MM-DD\'\r\n )}.xlsx`\r\n document.body.appendChild(elink)\r\n elink.click()\r\n // 释放URL 对象\r\n URL.revokeObjectURL(elink.href)\r\n // 删除创建的 a 标签\r\n document.body.removeChild(elink)\r\n }\r\n this.handleClose()\r\n })\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n },\r\n // 文件格式验证\r\n beforeAvatarUploada(file) {\r\n this.loadingstate = true\r\n const index = file.name.lastIndexOf(\'.\')\r\n const extension = file.name.substr(index + 1)\r\n const extensionList = [\'png\', \'PNG\', \'jpg\', \'JPG\', \'jpeg\', \'JPEG\']\r\n const isLt2M = file.size / 1024 / 1024 < 10\r\n if (!isLt2M) {\r\n this.$message({\r\n message: \'封面不可超出10M\',\r\n type: \'warning\',\r\n center: true\r\n })\r\n return false\r\n } else if (extensionList.indexOf(extension) < 0) {\r\n this.$message({\r\n message: \'只能图片文件\',\r\n type: \'error\',\r\n center: true\r\n })\r\n return false\r\n }\r\n },\r\n onPreview(file) {\r\n const type = fileUrl(file.url)\r\n let url = `http://192.168.1.21/img/${file.url}`\r\n if (\r\n type == \'word\' ||\r\n type == \'wps\' ||\r\n type == \'pdf\' ||\r\n type == \'pptx\' ||\r\n type == \'txt\'\r\n ) {\r\n this.file.type = type\r\n url = `https://wps-view.zhihuipk.com/?src=` + url\r\n } else if (type == \'image\') {\r\n this.file.type = type\r\n } else if (type == \'video\') {\r\n this.file.type = type\r\n } else if (type == \'radio\') {\r\n this.file.type = type\r\n } else {\r\n this.$message.error(\'该格式不可在线预览,请下载后查看\')\r\n return\r\n }\r\n this.file.fileurl = url // 后端请求回来的文件地址url\r\n this.file.dialogVisible = true // 弹窗\r\n this.file.title = file.name // 文件名称\r\n },\r\n // 处理文件上传操作\r\n handleFileUpload(file) {\r\n const obj = new FormData()\r\n // 上传文件\r\n obj.append(\'file\', file.file)\r\n obj.append(\'realPath\', file.file.name)\r\n // 上传文件接口\r\n uploadTP(obj).then((res) => {\r\n if (res.status == 1) {\r\n this.$message({\r\n message: \'上传成功\',\r\n type: \'success\'\r\n })\r\n this.temp.picUrl = res.result.url\r\n }\r\n })\r\n },\r\n nurseDelete(row, index) {\r\n this.NursingData.splice(index, 1)\r\n this.projectList = this.projectList.filter((item) => {\r\n return item != row.value\r\n })\r\n },\r\n modify(row) {\r\n row.edit = true\r\n },\r\n InputBlur(row) {\r\n row.edit = false\r\n },\r\n determine() {\r\n this.dialogVisible = false\r\n setTimeout(() => {\r\n this.NursingLoading = false\r\n }, 1.5 * 1000)\r\n for (var i = 0; i < this.projectList.length; i++) {\r\n const arr1 = this.institutionData.find((item, index) => {\r\n item.price3 = item.price3\r\n item.type = item.type\r\n return item.value == this.projectList[i]\r\n })\r\n const data = this.NursingData.some((u) => u.value === arr1.value)\r\n if (!data) {\r\n this.NursingData.push(arr1)\r\n this.NursingData.map((item, index) => {\r\n item.sort = index + 1\r\n })\r\n }\r\n // this.NursingData.push(arr1);\r\n }\r\n\r\n this.NursingData = this.removeDataArr(this.NursingData)\r\n const dataArr = []\r\n for (let i = 0; i < this.projectList.length; i++) {\r\n for (let y = 0; y < this.NursingData.length; y++) {\r\n if (this.NursingData[y].projectId == this.projectList[i]) {\r\n dataArr.push(this.NursingData[y])\r\n }\r\n }\r\n }\r\n this.NursingData = dataArr\r\n this.NursingData.map((item, index) => {\r\n item.sort = index + 1\r\n })\r\n this.temp.itemList = dataArr\r\n this.initDrag()\r\n },\r\n // 数组去重\r\n removeDataArr(arr) {\r\n var obj = {}\r\n arr = arr.reduce(function(item, next) {\r\n obj[next.projectId]\r\n ? \'\'\r\n : (obj[next.projectId] = true && item.push(next))\r\n return item\r\n }, [])\r\n return arr\r\n },\r\n addNurse() {\r\n this.dialogVisible = true\r\n this.projectList = []\r\n const dataArr = []\r\n if (this.temp.itemList) {\r\n this.temp.itemList.map((item) => {\r\n dataArr.push(item.projectId)\r\n })\r\n this.projectList = dataArr\r\n }\r\n },\r\n getinstitution() {\r\n SProjectAll().then((response) => {\r\n console.log(response.result)\r\n this.institutionData = response.result.map((item, index) => {\r\n return {\r\n label: item.title,\r\n type: item.type,\r\n value: item.id,\r\n price1: item.price1,\r\n price3: item.price3,\r\n edit: false,\r\n num: \'1\',\r\n hourNum: item.hourNum ? item.hourNum : \'-\',\r\n projectId: item.id\r\n }\r\n })\r\n })\r\n SysUnitPage({ pageNo: 1, size: 9999 }).then((response) => {\r\n this.institutionArrData = response.result.data.map((item) => {\r\n return { label: item.name, value: item.id }\r\n })\r\n })\r\n },\r\n getList() {\r\n this.listLoading = true\r\n SProjectPlanPage(this.listQuery).then((response) => {\r\n this.list = response.result.data\r\n this.total = response.result.count\r\n setTimeout(() => {\r\n this.listLoading = false\r\n }, 1.5 * 1000)\r\n })\r\n },\r\n handleModifyStatus(row, status) {\r\n this.$message({\r\n message: \'操作成功\',\r\n type: \'success\'\r\n })\r\n row.status = status\r\n },\r\n resetting(formName) {\r\n this.$nextTick(() => {\r\n this.$refs[formName].resetFields()\r\n this.getList()\r\n })\r\n },\r\n // 新增护理项\r\n add() {\r\n this.dialogStatus = \'create\'\r\n this.dialogFormVisible = true\r\n this.temp = {}\r\n this.NursingData = []\r\n this.fileList = []\r\n setTimeout(() => {\r\n this.NursingLoading = false\r\n }, 1.5 * 1000)\r\n },\r\n onSubmit() {\r\n this.getList()\r\n },\r\n createData() {\r\n delete this.temp.projectList\r\n this.temp.projectList = this.NursingData\r\n this.$refs[\'dataForm\'].validate((valid) => {\r\n if (valid) {\r\n SProjectPlanSave(this.temp).then((res) => {\r\n // this.list.unshift(this.temp)\r\n if (res.status == 1) {\r\n this.dialogFormVisible = false\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'新增成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'新增失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n }\r\n })\r\n },\r\n updateData() {\r\n delete this.temp.itemList\r\n this.temp.projectList = this.NursingData\r\n this.$refs[\'dataForm\'].validate((valid) => {\r\n if (valid) {\r\n SProjectPlanSave(this.temp).then((res) => {\r\n if (res.status == 1) {\r\n this.dialogFormVisible = false\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'更新成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'更新失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n }\r\n })\r\n },\r\n edit(row) {\r\n console.log(row)\r\n this.dialogFormVisible = true\r\n this.fileList = []\r\n this.dialogStatus = \'update\'\r\n SProjectPlanDetail({ id: row.id }).then((res) => {\r\n if (res.result.itemList) {\r\n this.NursingData = res.result.itemList.map((item) => {\r\n item.edit = false\r\n item.price3 = item.projectPrice3\r\n item.label = item.projectTitle\r\n return item\r\n })\r\n }\r\n this.temp = res.result\r\n })\r\n if (row.picUrl) {\r\n this.fileList.push({\r\n name: row.picUrl,\r\n url: row.picUrl\r\n })\r\n }\r\n setTimeout(() => {\r\n this.NursingLoading = false\r\n }, 1.5 * 1000)\r\n },\r\n handleDelete(row, index) {\r\n SProjectPlanDel({ id: row.id }).then((res) => {\r\n if (res.status == 1) {\r\n this.getList()\r\n this.$notify({\r\n title: res.info,\r\n message: \'删除成功\',\r\n type: \'success\',\r\n duration: 2000\r\n })\r\n return\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: \'删除失败\',\r\n type: \'error\',\r\n duration: 2000\r\n })\r\n })\r\n }\r\n }\r\n}\r\n<\/script>\r\n<style lang="scss" scoped>\r\n.el-col-12 {\r\n padding: 0 20px 0 0;\r\n}\r\n\r\n.v-enter-active,\r\n.v-leave-active {\r\n transition: opacity 1s ease;\r\n}\r\n\r\n.v-enter-from,\r\n.v-leave-to {\r\n opacity: 0;\r\n}\r\n</style>\r\n',".el-col-12 {\n padding: 0 20px 0 0;\n}\n\n.v-enter-active,\n.v-leave-active {\n transition: opacity 1s ease;\n}\n\n.v-enter-from,\n.v-leave-to {\n opacity: 0;\n}\n\n/*# sourceMappingURL=index.vue.map */"]},media:void 0})},__vue_scope_id__$7="data-v-3e87461c",__vue_module_identifier__$7=void 0,__vue_is_functional_template__$7=!1,__vue_component__$7=normalizeComponent({render:__vue_render__$7,staticRenderFns:__vue_staticRenderFns__$7},__vue_inject_styles__$7,__vue_script__$7,__vue_scope_id__$7,__vue_is_functional_template__$7,__vue_module_identifier__$7,!1,createInjector,void 0,void 0);var script$6={name:"Personnel",components:{Pagination:Pagination,PreviewFile:PreviewFile},filters:{},data:()=>({userInfo:{},renyuanxinxi:[],dialogVisibleExp:!1,loadExp:!1,startDate:[],file:{fileurl:"",dialogVisible:!1,title:"",type:""},idCord:"",HugongdialogVisible:!1,FormData:{},institutionArrData:[],dialogStatus:"",textMap:{update:"编辑",create:"创建"},tableKey:0,list:null,total:0,listLoading:!0,listQuery:{pageNo:1,size:20},dialogFormVisible:!1,dialogPvVisible:!1,rules:{name:[{required:!0,message:"请输入姓名",trigger:"blur"}],idCode:[{required:!0,message:"请输入身份证号",trigger:"blur"}],phoneNumber:[{required:!0,message:"请输入手机号码",trigger:"blur"}],sex:[{required:!0,message:"请选择性别",trigger:"change"}],unitId:[{required:!0,message:"请选择所属机构",trigger:"change"}]},temp:{longtermPsnAttDtoList:[]},downloadLoading:!1}),computed:{constant(){return this.$constant.imgAddr},img:()=>function(e){return e.match(/^chx\/tp\//)?e:"chx/tp/"+e}},created(){console.log("VUE_APP_BASE_API:",process.env),this.getList(),this.getinstitution(),this.userInfo=JSON.parse(getUserInfoRole())},methods:{handleError(e,t,n){console.log("上传失败",e,t,n),this.$message.error("图片上传失败,请重试")},synchronization(){this.HugongdialogVisible=!0},synchronous(){SPersonSync({unitId:this.userInfo.unitId,idCord:this.idCord}).then(e=>{if(1==e.status)return this.getList(),this.$notify({title:"提示",message:e.info,type:"success",duration:2e3}),this.dialogFormVisible=!1,void(this.idCord="");this.$notify({title:"提示",message:e.info,type:"error",duration:2e3})})},handleClose(){this.dialogVisibleExp=!1,this.HugongdialogVisible=!1,this.startDate=[]},expExcel(){try{this.loadExp=!0;const e={startDate:this.startDate[0],endDate:this.startDate[1]};ExportExcel$2(e).then(e=>{const t=new Blob([e]);if(t.size>0){const e=document.createElement("a");e.style.display="none",e.href=URL.createObjectURL(t),e.download=`护工信息/${this.$moment().format("YYYY-MM-DD")}.xlsx`,document.body.appendChild(e),e.click(),URL.revokeObjectURL(e.href),document.body.removeChild(e)}this.handleClose(),this.loadExp=!1}).catch(()=>{this.loadExp=!1})}catch(e){this.loadExp=!1}},getinstitution(){SysUnitPage({pageNo:1,size:9999}).then(e=>{this.institutionArrData=e.result.data.map(e=>({label:e.name,value:e.id}))})},beforeAvatarUploada(e){this.loadingstate=!0;const t=e.name.lastIndexOf("."),n=e.name.substr(t+1);return e.size/1024/1024<10?["png","PNG","jpg","JPG","jpeg","JPEG"].indexOf(n)<0?(this.$message({message:"只能图片文件",type:"error",center:!0}),!1):void 0:(this.$message({message:"封面不可超出10M",type:"warning",center:!0}),!1)},onPreview(e){const t=fileUrl(e.url);let n=`${this.$constant.imgAddr}${e.url}`;if(console.log(n),"word"==t||"wps"==t||"pdf"==t||"pptx"==t||"txt"==t)this.file.type=t,n="https://wps-view.zhihuipk.com/?src="+n;else if("image"==t)this.file.type=t;else if("video"==t)this.file.type=t;else{if("radio"!=t)return void this.$message.error("该格式不可在线预览,请下载后查看");this.file.type=t}this.file.fileurl=n,this.file.dialogVisible=!0,this.file.title=e.name},beforeRemove(e,t){return this.$confirm(`确定移除 ${e.name}?`)},handleCertPicUrlRemove(e,t){this.temp.certPicUrlList=this.temp.certPicUrlList.filter(t=>t.name!=e.name),this.temp.longtermPsnAttDtoList=this.temp.longtermPsnAttDtoList.filter(t=>t.att_name!=e.name)},handleSfzUrllRemove(e,t){this.temp.sfzUrlList=this.temp.sfzUrlList.filter(t=>t.name!=e.name),this.temp.longtermPsnAttDtoList=this.temp.longtermPsnAttDtoList.filter(t=>t.att_name!=e.name)},handleXlUrlRemove(e,t){this.temp.xlUrlList=this.temp.xlUrlList.filter(t=>t.name!=e.name),this.temp.longtermPsnAttDtoList=this.temp.longtermPsnAttDtoList.filter(t=>t.att_name!=e.name)},certhandleFileUpload(e){const t=new FormData;t.append("file",e.file),t.append("realPath",e.file.name),t.append("fileName",e.file.name),t.append("att_type",e.data.att_type),this.temp.certPicUrlList=[],uploadTP(t).then(n=>{console.log(n),1==n.status&&this.$message({message:"上传成功",type:"success"}),this.temp.certPicUrlList.push({url:n.result.url,name:n.result.name}),uploadThird(t).then(t=>{if(1==t.status){const n={att_type:e.data.att_type,att_name:t.result.output.att_name,file_id:t.result.output.file_id,file_type:t.result.output.file_type};this.temp.longtermPsnAttDtoList.push(n)}})})},sfzhandleFileUpload(e){const t=new FormData;t.append("file",e.file),t.append("realPath",e.file.name),t.append("fileName",e.file.name),t.append("att_type",e.data.att_type),this.temp.sfzUrlList=[],uploadTP(t).then(n=>{console.log(n),1==n.status&&this.$message({message:"上传成功",type:"success"}),this.temp.sfzUrlList.push({url:n.result.url,name:n.result.name}),uploadThird(t).then(t=>{if(1==t.status){const n={att_type:e.data.att_type,att_name:t.result.output.att_name,file_id:t.result.output.file_id,file_type:t.result.output.file_type};this.temp.longtermPsnAttDtoList.push(n)}})})},xlhandleFileUpload(e){const t=new FormData;t.append("file",e.file),t.append("realPath",e.file.name),t.append("fileName",e.file.name),t.append("att_type",e.data.att_type),this.temp.xlUrlList=[],uploadTP(t).then(n=>{console.log(n),1==n.status&&this.$message({message:"上传成功",type:"success"}),this.temp.xlUrlList.push({url:n.result.url,name:n.result.name}),uploadThird(t).then(t=>{if(1==t.status){const n={att_type:e.data.att_type,att_name:t.result.output.att_name,file_id:t.result.output.file_id,file_type:t.result.output.file_type};this.temp.longtermPsnAttDtoList.push(n)}})})},add(){this.dialogStatus="create",this.dialogFormVisible=!0,this.temp={},this.temp.longtermPsnAttDtoList=[],this.temp.xlUrlList=[],this.temp.certPicUrlList=[],this.temp.sfzUrlList=[]},update(e){updateStatus({id:e.id}).then(e=>{if(1==e.status)return this.getList(),this.$notify({title:e.info,message:"更新成功",type:"success",duration:2e3}),void(this.dialogFormVisible=!1);this.$notify({title:e.info,message:"更新失败",type:"error",duration:2e3})})},edit(e){if(this.temp=JSON.parse(JSON.stringify(e)),this.dialogStatus="update",this.dialogFormVisible=!0,this.temp.longtermPsnAttDtoList=[],this.temp.certPicUrlList=[],this.temp.sfzUrlList=[],this.temp.xlUrlList=[],e.certPicUrlList&&(this.temp.certPicUrlList=e.certPicUrlList.map(e=>({name:e,url:e}))),e.sfzUrlList&&(this.temp.sfzUrlList=e.sfzUrlList.map(e=>({name:e,url:e}))),e.xlUrlList&&(this.temp.xlUrlList=e.xlUrlList.map(e=>({name:e,url:e}))),this.temp.thirdFileList&&this.temp.thirdFileList.length>0)for(var t=0;t<this.temp.thirdFileList.length;t++)"01"!=this.temp.thirdFileList[t].att_type&&"21"!=this.temp.thirdFileList[t].att_type&&"22"!=this.temp.thirdFileList[t].att_type||this.temp.longtermPsnAttDtoList.push(this.temp.thirdFileList[t])},getList(){this.listLoading=!0,SPersonPage(this.listQuery).then(e=>{this.list=e.result.data,this.total=e.result.count,setTimeout(()=>{this.listLoading=!1},1500)}),SPersonPage({size:9999,pageNo:1}).then(e=>{this.renyuanxinxi=e.result.data})},handleModifyStatus(e,t){this.$message({message:"操作成功",type:"success"}),e.status=t},resetting(e){this.$nextTick(()=>{this.$refs[e].resetFields()})},onSubmit(){this.getList()},createData(){this.$refs.dataForm.validate(e=>{if(e){this.temp.rolel="2";const e={certPicUrlList:[],xlUrlList:[],sfzUrlList:[]};this.temp.certPicUrlList.length>0&&(e.certPicUrlList=this.temp.certPicUrlList.map(e=>e.name)),this.temp.xlUrlList.length>0&&(e.xlUrlList=this.temp.xlUrlList.map(e=>e.name)),this.temp.sfzUrlList.length>0&&(e.sfzUrlList=this.temp.sfzUrlList.map(e=>e.name)),SPersonSave({...this.temp,...e}).then(e=>{if(1==e.status)return this.getList(),this.$notify({title:e.info,message:"创建成功,请通知医保审核",type:"success",duration:2e3}),void(this.dialogFormVisible=!1);this.$notify({title:e.info,message:"创建失败",type:"error",duration:2e3})})}})},hasBothValues(e,t,n){const r=e.some(e=>e.att_type===t),l=e.some(e=>e.att_type===n);return r&&l},updateData(){this.$refs.dataForm.validate(e=>{if(e){this.temp.rolel="2";const e={certPicUrlList:[],xlUrlList:[],sfzUrlList:[]};if(this.temp.certPicUrlList.length>0&&this.temp.certPicUrlList[0]&&(e.certPicUrlList=this.temp.certPicUrlList.map(e=>e.name)),this.temp.xlUrlList.length>0&&this.temp.xlUrlList[0]&&(e.xlUrlList=this.temp.xlUrlList.map(e=>e.name)),this.temp.sfzUrlList.length>0&&this.temp.sfzUrlList[0]&&(e.sfzUrlList=this.temp.sfzUrlList.map(e=>e.name)),0==this.temp.longtermPsnAttDtoList.length)return void this.$message({message:"请上传材料",type:"warning",center:!0});const t=this.hasBothValues(this.temp.longtermPsnAttDtoList,"22","01");console.log(t),t||this.$message({message:"请传资质证书或身份证",type:"warning",center:!0}),SPersonSave({...this.temp,...e}).then(e=>{if(1==e.status)return this.getList(),this.$notify({title:e.info,message:"更新成功,请通知医保审核",type:"success",duration:2e3}),void(this.dialogFormVisible=!1);this.$notify({title:e.info,message:"更新失败",type:"error",duration:2e3})})}})},handleDelete(e,t){this.$confirm("护工注销需要确认上传明细,以免冲正重新上传变成自费,是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{SPersonDel({id:e.id,isDelete:"1"}).then(e=>{if(1==e.status)return this.getList(),void this.$notify({title:e.info,message:"删除成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"删除失败",type:"error",duration:2e3})})}).catch(()=>{this.$message({type:"info",message:"已取消删除"})})}}};const __vue_script__$6=script$6;var __vue_render__$6=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"app-container"},[n("div",{staticClass:"filter-container"},[n("el-form",{ref:"listQuery",staticClass:"demo-form-inline",attrs:{inline:!0,model:e.listQuery}},[n("el-form-item",{attrs:{label:"姓名",prop:"name"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择姓名"},model:{value:e.listQuery.name,callback:function(t){e.$set(e.listQuery,"name",t)},expression:"listQuery.name"}},e._l(e.renyuanxinxi,function(e,t){return n("el-option",{key:t,attrs:{label:e.name,value:e.name}})}),1)],1),e._v(" "),n("el-form-item",{attrs:{label:"性别",prop:"sex"}},[n("el-select",{attrs:{size:"small",placeholder:"请选择性别"},model:{value:e.listQuery.sex,callback:function(t){e.$set(e.listQuery,"sex",t)},expression:"listQuery.sex"}},e._l([{label:"男",value:"1"},{label:"女",value:"2"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"primary"},on:{click:e.onSubmit}},[e._v("查询")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"warning"},on:{click:function(t){return e.resetting("listQuery")}}},[e._v("重置")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"success"},on:{click:e.add}},[e._v("新增")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"primary"},on:{click:function(t){e.dialogVisibleExp=!0}}},[e._v("导出")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"primary"},on:{click:e.synchronization}},[e._v("护工同步")])],1)],1)],1),e._v(" "),n("el-table",{staticStyle:{width:"100%"},attrs:{border:"",height:"65vh",data:e.list}},[n("el-table-column",{attrs:{label:"姓名",prop:"id",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.name))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"性别",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.sex))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"手机号码",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.phoneNumber))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"身份证号",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.idCode))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"居住地",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.address))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"状态",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("el-tag",{attrs:{size:"medium",type:"0"==r.status?"danger":"1"==r.status?"success":""}},["0"==r.status?n("span",[e._v("不可用")]):e._e(),e._v(" "),"1"==r.status?n("span",[e._v("正常")]):e._e()])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"资质证书",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return e._l(r.certPicUrlList,function(t,r){return n("el-image",{key:r,staticStyle:{width:"50px",height:"50px"},attrs:{src:""+e.constant+e.img(t),"preview-src-list":[""+e.constant+e.img(t)]}})})}}])}),e._v(" "),n("el-table-column",{attrs:{label:"身份证",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return e._l(r.sfzUrlList,function(t,r){return n("el-image",{key:r,staticStyle:{width:"50px",height:"50px"},attrs:{src:""+e.constant+e.img(t),"preview-src-list":[""+e.constant+e.img(t)]}})})}}])}),e._v(" "),n("el-table-column",{attrs:{label:"健康证",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return e._l(r.xlUrlList,function(t,r){return n("el-image",{key:r,staticStyle:{width:"50px",height:"50px"},attrs:{src:""+e.constant+e.img(t),"preview-src-list":[""+e.constant+e.img(t)]}})})}}])}),e._v(" "),n("el-table-column",{attrs:{label:"操作",align:"center",width:"280","class-name":"small-padding fixed-width"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row,l=t.$index;return[n("el-button",{attrs:{size:"mini",type:"success"},on:{click:function(t){return e.update(r,"draft")}}},[e._v("\n 更新状态\n ")]),e._v(" "),n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(t){return e.edit(r,"draft")}}},[e._v("\n 修改\n ")]),e._v(" "),n("el-button",{attrs:{size:"mini",type:"danger"},on:{click:function(t){return e.handleDelete(r,l)}}},[e._v("\n 注销\n ")])]}}])})],1),e._v(" "),n("pagination",{directives:[{name:"show",rawName:"v-show",value:e.total>0,expression:"total > 0"}],attrs:{total:e.total,page:e.listQuery.pageNo,limit:e.listQuery.size},on:{"update:page":function(t){return e.$set(e.listQuery,"pageNo",t)},"update:limit":function(t){return e.$set(e.listQuery,"size",t)},pagination:e.getList}}),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:e.textMap[e.dialogStatus],visible:e.dialogFormVisible,width:"40%"},on:{"update:visible":function(t){e.dialogFormVisible=t}}},[n("el-form",{ref:"dataForm",attrs:{rules:e.rules,model:e.temp,"label-position":"right","label-width":"100px"}},[n("el-row",{attrs:{gutter:20}},[n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"姓名",prop:"name"}},[n("el-input",{attrs:{size:"small",clearable:"",placeholder:"请输入姓名"},model:{value:e.temp.name,callback:function(t){e.$set(e.temp,"name",t)},expression:"temp.name"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"性别",prop:"sex"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择性别"},model:{value:e.temp.sex,callback:function(t){e.$set(e.temp,"sex",t)},expression:"temp.sex"}},e._l([{label:"男",value:"男"},{label:"女",value:"女"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"手机号码",prop:"phoneNumber"}},[n("el-input",{attrs:{size:"small",clearable:"",placeholder:"请输入手机号码"},model:{value:e.temp.phoneNumber,callback:function(t){e.$set(e.temp,"phoneNumber",t)},expression:"temp.phoneNumber"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"身份证号",prop:"idCode"}},[n("el-input",{attrs:{size:"small",clearable:"",placeholder:"请输入身份证号"},model:{value:e.temp.idCode,callback:function(t){e.$set(e.temp,"idCode",t)},expression:"temp.idCode"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"居住地",prop:"address"}},[n("el-input",{attrs:{size:"small",clearable:"",placeholder:"请输入居住地"},model:{value:e.temp.address,callback:function(t){e.$set(e.temp,"address",t)},expression:"temp.address"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"所属机构",prop:"unitId"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择所属机构"},model:{value:e.temp.unitId,callback:function(t){e.$set(e.temp,"unitId",t)},expression:"temp.unitId"}},e._l(e.institutionArrData,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"持证时间",prop:"liceIssuDate"}},[n("el-date-picker",{attrs:{"value-format":"yyyy-MM-dd",type:"date",placeholder:"持证时间"},model:{value:e.temp.liceIssuDate,callback:function(t){e.$set(e.temp,"liceIssuDate",t)},expression:"temp.liceIssuDate"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"学历",prop:"educ"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择所属机构"},model:{value:e.temp.educ,callback:function(t){e.$set(e.temp,"educ",t)},expression:"temp.educ"}},e._l([{label:"初中",value:"初中"},{label:"高中",value:"高中"},{label:"大专",value:"大专"},{label:"本科",value:"本科"},{label:"硕士",value:"硕士"},{label:"博士",value:"博士"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"注:",prop:"unitId"}},[n("span",{staticStyle:{color:"red"}},[e._v("上传的文件请使用姓名+类型去命名。防止文件名字重复被覆盖")])])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"资质证书",prop:"certPicUrlList"}},[n("el-upload",{attrs:{action:"#",limit:1,"before-upload":e.beforeAvatarUploada,"http-request":e.certhandleFileUpload,data:{att_type:"22"},"on-remove":e.handleCertPicUrlRemove,"before-remove":e.beforeRemove,"on-error":e.handleError,"file-list":e.temp.certPicUrlList,"on-preview":e.onPreview}},[n("el-button",{attrs:{slot:"trigger",size:"small",type:"primary"},slot:"trigger"},[e._v("选取文件")])],1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"身份证",prop:"sfzUrlList"}},[n("el-upload",{attrs:{action:"#",limit:1,data:{att_type:"01"},"before-upload":e.beforeAvatarUploada,"http-request":e.sfzhandleFileUpload,"on-remove":e.handleSfzUrllRemove,"before-remove":e.beforeRemove,"file-list":e.temp.sfzUrlList,"on-preview":e.onPreview}},[n("el-button",{attrs:{slot:"trigger",size:"small",type:"primary"},slot:"trigger"},[e._v("选取文件")])],1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"健康证",prop:"xlUrlList"}},[n("el-upload",{attrs:{action:"#",limit:1,data:{att_type:"21"},"before-upload":e.beforeAvatarUploada,"http-request":e.xlhandleFileUpload,"on-remove":e.handleXlUrlRemove,"before-remove":e.beforeRemove,"file-list":e.temp.xlUrlList,"on-preview":e.onPreview}},[n("el-button",{attrs:{slot:"trigger",size:"small",type:"primary"},slot:"trigger"},[e._v("选取文件")])],1)],1)],1)],1)],1),e._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small"},on:{click:function(t){e.dialogFormVisible=!1}}},[e._v("\n 取 消\n ")]),e._v(" "),n("el-button",{attrs:{type:"primary",size:"small"},on:{click:function(t){"create"===e.dialogStatus?e.createData():e.updateData()}}},[e._v("\n 确 认\n ")])],1)],1),e._v(" "),n("preview-file",{attrs:{file:e.file}}),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"导出",visible:e.dialogVisibleExp,width:"600px","before-close":e.handleClose},on:{"update:visible":function(t){e.dialogVisibleExp=t}}},[n("el-form",{staticClass:"demo-form-inline",attrs:{inline:!0}},[n("el-form-item",{attrs:{label:"提示:"}},[n("el-link",{attrs:{underline:!1,type:"primary"}},[e._v("选择的开始日期和结束日期请将数据的入录时间包含起来,结束日期选后一天")])],1),e._v(" "),n("el-form-item",{attrs:{label:"时间"}},[n("el-date-picker",{attrs:{type:"daterange","value-format":"yyyy-MM-dd","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期"},model:{value:e.startDate,callback:function(t){e.startDate=t},expression:"startDate"}})],1)],1),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small",loading:e.loadExp},on:{click:e.handleClose}},[e._v("取 消")]),e._v(" "),n("el-button",{attrs:{size:"small",type:"primary",loading:e.loadExp},on:{click:e.expExcel}},[e._v("\n 导 出\n ")])],1)],1),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"护工同步",visible:e.HugongdialogVisible,width:"500px","before-close":e.handleClose},on:{"update:visible":function(t){e.HugongdialogVisible=t}}},[n("el-form",{staticClass:"demo-form-inline",attrs:{inline:!0}},[n("el-form-item",{attrs:{label:"身份证"}},[n("el-input",{staticStyle:{width:"100%"},attrs:{size:"small",clearable:"",placeholder:"请输入身份证号"},model:{value:e.idCord,callback:function(t){e.idCord=t},expression:"idCord"}})],1)],1),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small"},on:{click:function(t){e.HugongdialogVisible=!1}}},[e._v("关 闭")]),e._v(" "),n("el-button",{attrs:{size:"small",type:"primary"},on:{click:e.synchronous}},[e._v("\n 同 步\n ")])],1)],1)],1)},__vue_staticRenderFns__$6=[];__vue_render__$6._withStripped=!0;const __vue_inject_styles__$6=void 0,__vue_scope_id__$6=void 0,__vue_module_identifier__$6=void 0,__vue_is_functional_template__$6=!1,__vue_component__$6=normalizeComponent({render:__vue_render__$6,staticRenderFns:__vue_staticRenderFns__$6},__vue_inject_styles__$6,__vue_script__$6,__vue_scope_id__$6,__vue_is_functional_template__$6,__vue_module_identifier__$6,!1,void 0,void 0,void 0);var script$5={name:"Personnel",components:{Pagination:Pagination,PreviewFile:PreviewFile},filters:{},data:()=>({userInfo:{},renyuanxinxi:[],file:{fileurl:"",dialogVisible:!1,title:"",type:""},FormData:{},institutionArrData:[],admdvsOptions:[{value:"330302",label:"鹿城区"},{value:"330303",label:"龙湾区"},{value:"330304",label:"瓯海区"},{value:"330305",label:"洞头区"},{value:"330381",label:"瑞安市"},{value:"330382",label:"乐清市"},{value:"330383",label:"龙港市"},{value:"330324",label:"永嘉县"},{value:"330326",label:"平阳县"},{value:"330327",label:"苍南县"},{value:"330328",label:"文成县"},{value:"330329",label:"泰顺县"},{value:"330399",label:"市本级"}],dialogStatus:"",textMap:{update:"编辑",create:"创建"},tableKey:0,list:null,total:0,listLoading:!0,listQuery:{pageNo:1,size:20},dialogFormVisible:!1,dialogPvVisible:!1,rules:{name:[{required:!0,message:"请输入姓名",trigger:"blur"}],idCard:[{required:!0,message:"请输入身份证号",trigger:"blur"}],phoneNumber:[{required:!0,message:"请输入手机号码",trigger:"blur"}],sex:[{required:!0,message:"请选择性别",trigger:"change"}],unitId:[{required:!0,message:"请选择所属机构",trigger:"change"}],addrAdmdvs:[{required:!0,message:"请选择归属医保区划",trigger:"change"}],admdvs:[{required:!0,message:"请选择数据权限医保区划",trigger:"change"}],approveStatus:[{required:!0,message:"请选择审核状态",trigger:"change"}]},temp:{longtermPsnAttDtoList:[]},downloadLoading:!1}),computed:{constant(){return this.$constant.imgAddr},img:()=>function(e){return e.match(/^chx\/tp\//)?e:"chx/tp/"+e}},created(){console.log("VUE_APP_BASE_API:",process.env),this.getList(),this.getinstitution(),this.userInfo=JSON.parse(getUserInfoRole())},methods:{handleError(e,t,n){console.log("上传失败",e,t,n),this.$message.error("图片上传失败,请重试")},getinstitution(){SysUnitPage({pageNo:1,size:9999}).then(e=>{this.institutionArrData=e.result.data.map(e=>({label:e.name,value:e.id}))})},beforeAvatarUploada(e){this.loadingstate=!0;const t=e.name.lastIndexOf("."),n=e.name.substr(t+1);return e.size/1024/1024<10?["png","PNG","jpg","JPG","jpeg","JPEG"].indexOf(n)<0?(this.$message({message:"只能图片文件",type:"error",center:!0}),!1):void 0:(this.$message({message:"封面不可超出10M",type:"warning",center:!0}),!1)},onPreview(e){const t=fileUrl(e.url);let n=`${this.$constant.imgAddr}${e.url}`;if(console.log(n),"word"==t||"wps"==t||"pdf"==t||"pptx"==t||"txt"==t)this.file.type=t,n="https://wps-view.zhihuipk.com/?src="+n;else if("image"==t)this.file.type=t;else if("video"==t)this.file.type=t;else{if("radio"!=t)return void this.$message.error("该格式不可在线预览,请下载后查看");this.file.type=t}this.file.fileurl=n,this.file.dialogVisible=!0,this.file.title=e.name},beforeRemove(e,t){return this.$confirm(`确定移除 ${e.name}?`)},handleCertPicUrlRemove(e,t){this.temp.certPicUrlList=this.temp.certPicUrlList.filter(t=>t.name!=e.name),this.temp.longtermPsnAttDtoList=this.temp.longtermPsnAttDtoList.filter(t=>t.att_name!=e.name)},handleSfzUrllRemove(e,t){this.temp.sfzUrlList=this.temp.sfzUrlList.filter(t=>t.name!=e.name),this.temp.longtermPsnAttDtoList=this.temp.longtermPsnAttDtoList.filter(t=>t.att_name!=e.name)},handleXlUrlRemove(e,t){this.temp.xlUrlList=this.temp.xlUrlList.filter(t=>t.name!=e.name),this.temp.longtermPsnAttDtoList=this.temp.longtermPsnAttDtoList.filter(t=>t.att_name!=e.name)},certhandleFileUpload(e){const t=new FormData;t.append("file",e.file),t.append("realPath",e.file.name),t.append("fileName",e.file.name),t.append("att_type",e.data.att_type),this.temp.certPicUrlList=[],uploadTP(t).then(n=>{console.log(n),1==n.status&&this.$message({message:"上传成功",type:"success"}),this.temp.certPicUrlList.push({url:n.result.url,name:n.result.name}),uploadThird(t).then(t=>{if(1==t.status){const n={att_type:e.data.att_type,att_name:t.result.output.att_name,file_id:t.result.output.file_id,file_type:t.result.output.file_type};this.temp.longtermPsnAttDtoList.push(n)}})})},sfzhandleFileUpload(e){const t=new FormData;t.append("file",e.file),t.append("realPath",e.file.name),t.append("fileName",e.file.name),t.append("att_type",e.data.att_type),this.temp.sfzUrlList=[],uploadTP(t).then(n=>{console.log(n),1==n.status&&this.$message({message:"上传成功",type:"success"}),this.temp.sfzUrlList.push({url:n.result.url,name:n.result.name}),uploadThird(t).then(t=>{if(1==t.status){const n={att_type:e.data.att_type,att_name:t.result.output.att_name,file_id:t.result.output.file_id,file_type:t.result.output.file_type};this.temp.longtermPsnAttDtoList.push(n)}})})},xlhandleFileUpload(e){const t=new FormData;t.append("file",e.file),t.append("realPath",e.file.name),t.append("fileName",e.file.name),t.append("att_type",e.data.att_type),this.temp.xlUrlList=[],uploadTP(t).then(n=>{console.log(n),1==n.status&&this.$message({message:"上传成功",type:"success"}),this.temp.xlUrlList.push({url:n.result.url,name:n.result.name}),uploadThird(t).then(t=>{if(1==t.status){const n={att_type:e.data.att_type,att_name:t.result.output.att_name,file_id:t.result.output.file_id,file_type:t.result.output.file_type};this.temp.longtermPsnAttDtoList.push(n)}})})},add(){this.dialogStatus="create",this.dialogFormVisible=!0,this.temp={},this.temp.longtermPsnAttDtoList=[],this.temp.xlUrlList=[],this.temp.certPicUrlList=[],this.temp.sfzUrlList=[]},update(e){SPersonMedicalStatus({id:e.id}).then(e=>{if(1==e.status)return this.getList(),this.$notify({title:e.info,message:"更新成功",type:"success",duration:2e3}),void(this.dialogFormVisible=!1);this.$notify({title:e.info,message:"更新失败",type:"error",duration:2e3})})},edit(e){if(this.temp=JSON.parse(JSON.stringify(e)),this.dialogStatus="update",this.dialogFormVisible=!0,this.temp.longtermPsnAttDtoList=[],this.temp.certPicUrlList=[],this.temp.sfzUrlList=[],this.temp.xlUrlList=[],e.certPicUrlList&&(this.temp.certPicUrlList=e.certPicUrlList.map(e=>({name:e,url:e}))),e.sfzUrlList&&(this.temp.sfzUrlList=e.sfzUrlList.map(e=>({name:e,url:e}))),e.xlUrlList&&(this.temp.xlUrlList=e.xlUrlList.map(e=>({name:e,url:e}))),this.temp.thirdFileList&&this.temp.thirdFileList.length>0)for(var t=0;t<this.temp.thirdFileList.length;t++)"01"!=this.temp.thirdFileList[t].att_type&&"21"!=this.temp.thirdFileList[t].att_type&&"99"!=this.temp.thirdFileList[t].att_type||this.temp.longtermPsnAttDtoList.push(this.temp.thirdFileList[t])},getList(){this.listLoading=!0,SPersonMedicalPage(this.listQuery).then(e=>{this.list=e.result.data,this.total=e.result.count,setTimeout(()=>{this.listLoading=!1},1500)}),SPersonMedicalPage({size:9999,pageNo:1}).then(e=>{this.renyuanxinxi=e.result.data})},handleModifyStatus(e,t){this.$message({message:"操作成功",type:"success"}),e.status=t},resetting(e){this.$nextTick(()=>{this.$refs[e].resetFields()})},onSubmit(){this.getList()},createData(){this.$refs.dataForm.validate(e=>{if(e){this.temp.rolel="2";const e={certPicUrlList:[],xlUrlList:[],sfzUrlList:[]};this.temp.certPicUrlList.length>0&&(e.certPicUrlList=this.temp.certPicUrlList.map(e=>e.name)),this.temp.xlUrlList.length>0&&(e.xlUrlList=this.temp.xlUrlList.map(e=>e.name)),this.temp.sfzUrlList.length>0&&(e.sfzUrlList=this.temp.sfzUrlList.map(e=>e.name)),SPersonSave({...this.temp,...e}).then(e=>{if(1==e.status)return this.getList(),this.$notify({title:e.info,message:"创建成功,请通知医保审核",type:"success",duration:2e3}),void(this.dialogFormVisible=!1);this.$notify({title:e.info,message:"创建失败",type:"error",duration:2e3})})}})},hasBothValues(e,t,n){const r=e.some(e=>e.att_type===t),l=e.some(e=>e.att_type===n);return r&&l},updateData(){this.$refs.dataForm.validate(e=>{if(e){this.temp.rolel="2";const e={certPicUrlList:[],xlUrlList:[],sfzUrlList:[]};if(this.temp.certPicUrlList.length>0&&this.temp.certPicUrlList[0]&&(e.certPicUrlList=this.temp.certPicUrlList.map(e=>e.name)),this.temp.xlUrlList.length>0&&this.temp.xlUrlList[0]&&(e.xlUrlList=this.temp.xlUrlList.map(e=>e.name)),this.temp.sfzUrlList.length>0&&this.temp.sfzUrlList[0]&&(e.sfzUrlList=this.temp.sfzUrlList.map(e=>e.name)),0==this.temp.longtermPsnAttDtoList.length)return void this.$message({message:"请上传材料",type:"warning",center:!0});const t=this.hasBothValues(this.temp.longtermPsnAttDtoList,"22","01");console.log(t),t||this.$message({message:"请传资质证书或身份证",type:"warning",center:!0}),SPersonSave({...this.temp,...e}).then(e=>{if(1==e.status)return this.getList(),this.$notify({title:e.info,message:"更新成功,请通知医保审核",type:"success",duration:2e3}),void(this.dialogFormVisible=!1);this.$notify({title:e.info,message:"更新失败",type:"error",duration:2e3})})}})},handleDelete(e,t){this.$confirm("护工注销需要确认上传明细,以免冲正重新上传变成自费,是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{SPersonDel({id:e.id,isDelete:"1"}).then(e=>{if(1==e.status)return this.getList(),void this.$notify({title:e.info,message:"删除成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"删除失败",type:"error",duration:2e3})})}).catch(()=>{this.$message({type:"info",message:"已取消删除"})})}}};const __vue_script__$5=script$5;var __vue_render__$5=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"app-container"},[n("div",{staticClass:"filter-container"},[n("el-form",{ref:"listQuery",staticClass:"demo-form-inline",attrs:{inline:!0,model:e.listQuery}},[n("el-form-item",{attrs:{label:"姓名",prop:"name"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择姓名"},model:{value:e.listQuery.name,callback:function(t){e.$set(e.listQuery,"name",t)},expression:"listQuery.name"}},e._l(e.renyuanxinxi,function(e,t){return n("el-option",{key:t,attrs:{label:e.name,value:e.name}})}),1)],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"primary"},on:{click:e.onSubmit}},[e._v("查询")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"warning"},on:{click:function(t){return e.resetting("listQuery")}}},[e._v("重置")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"success"},on:{click:e.add}},[e._v("新增")])],1)],1)],1),e._v(" "),n("el-table",{staticStyle:{width:"100%"},attrs:{border:"",height:"65vh",data:e.list}},[n("el-table-column",{attrs:{label:"姓名",prop:"id",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.name))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"性别",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.sex))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"手机号码",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.phoneNumber))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"状态",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("el-tag",{attrs:{size:"medium",type:0==r.approveStatus?"danger":1==r.approveStatus?"success":""}},[0==r.approveStatus?n("span",[e._v("不通过")]):e._e(),e._v(" "),1==r.approveStatus?n("span",[e._v("通过")]):e._e()])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"资质证书",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return e._l(r.certPicUrlList,function(t,r){return n("el-image",{key:r,staticStyle:{width:"50px",height:"50px"},attrs:{src:""+e.constant+e.img(t),"preview-src-list":[""+e.constant+e.img(t)]}})})}}])}),e._v(" "),n("el-table-column",{attrs:{label:"身份证",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return e._l(r.sfzUrlList,function(t,r){return n("el-image",{key:r,staticStyle:{width:"50px",height:"50px"},attrs:{src:""+e.constant+e.img(t),"preview-src-list":[""+e.constant+e.img(t)]}})})}}])}),e._v(" "),n("el-table-column",{attrs:{label:"健康证",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return e._l(r.xlUrlList,function(t,r){return n("el-image",{key:r,staticStyle:{width:"50px",height:"50px"},attrs:{src:""+e.constant+e.img(t),"preview-src-list":[""+e.constant+e.img(t)]}})})}}])}),e._v(" "),n("el-table-column",{attrs:{label:"操作",align:"center",width:"280","class-name":"small-padding fixed-width"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return t.$index,[n("el-button",{attrs:{size:"mini",type:"success"},on:{click:function(t){return e.update(r,"draft")}}},[e._v("\n 更新状态\n ")]),e._v(" "),n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(t){return e.edit(r,"draft")}}},[e._v("\n 修改\n ")])]}}])})],1),e._v(" "),n("pagination",{directives:[{name:"show",rawName:"v-show",value:e.total>0,expression:"total > 0"}],attrs:{total:e.total,page:e.listQuery.pageNo,limit:e.listQuery.size},on:{"update:page":function(t){return e.$set(e.listQuery,"pageNo",t)},"update:limit":function(t){return e.$set(e.listQuery,"size",t)},pagination:e.getList}}),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:e.textMap[e.dialogStatus],visible:e.dialogFormVisible,width:"40%"},on:{"update:visible":function(t){e.dialogFormVisible=t}}},[n("el-form",{ref:"dataForm",attrs:{rules:e.rules,model:e.temp,"label-position":"right","label-width":"150px"}},[n("el-row",{attrs:{gutter:20}},[n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"姓名",prop:"name"}},[n("el-input",{attrs:{size:"small",clearable:"",placeholder:"请输入姓名"},model:{value:e.temp.name,callback:function(t){e.$set(e.temp,"name",t)},expression:"temp.name"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"性别",prop:"sex"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择性别"},model:{value:e.temp.sex,callback:function(t){e.$set(e.temp,"sex",t)},expression:"temp.sex"}},e._l([{label:"男",value:1},{label:"女",value:2}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"手机号码",prop:"phoneNumber"}},[n("el-input",{attrs:{size:"small",clearable:"",placeholder:"请输入手机号码"},model:{value:e.temp.phoneNumber,callback:function(t){e.$set(e.temp,"phoneNumber",t)},expression:"temp.phoneNumber"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"身份证号",prop:"idCard"}},[n("el-input",{attrs:{size:"small",clearable:"",placeholder:"请输入身份证号"},model:{value:e.temp.idCard,callback:function(t){e.$set(e.temp,"idCard",t)},expression:"temp.idCard"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"所属机构",prop:"unitId"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择所属机构"},model:{value:e.temp.unitId,callback:function(t){e.$set(e.temp,"unitId",t)},expression:"temp.unitId"}},e._l(e.institutionArrData,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"归属医保区划",prop:"addrAdmdvs"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择归属医保区划"},model:{value:e.temp.addrAdmdvs,callback:function(t){e.$set(e.temp,"addrAdmdvs",t)},expression:"temp.addrAdmdvs"}},e._l(e.admdvsOptions,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"数据权限医保区划",prop:"admdvs"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择数据权限医保区划"},model:{value:e.temp.admdvs,callback:function(t){e.$set(e.temp,"admdvs",t)},expression:"temp.admdvs"}},e._l(e.admdvsOptions,function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"审核状态",prop:"approveStatus"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择审核状态"},model:{value:e.temp.approveStatus,callback:function(t){e.$set(e.temp,"approveStatus",t)},expression:"temp.approveStatus"}},[n("el-option",{attrs:{label:"通过",value:1}}),e._v(" "),n("el-option",{attrs:{label:"不通过",value:0}})],1)],1)],1),e._v(" "),n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"资质证书",prop:"certPicUrlList"}},[n("el-upload",{attrs:{action:"#",limit:1,"before-upload":e.beforeAvatarUploada,"http-request":e.certhandleFileUpload,data:{att_type:"22"},"on-remove":e.handleCertPicUrlRemove,"before-remove":e.beforeRemove,"on-error":e.handleError,"file-list":e.temp.certPicUrlList,"on-preview":e.onPreview}},[n("el-button",{attrs:{slot:"trigger",size:"small",type:"primary"},slot:"trigger"},[e._v("选取文件")])],1)],1)],1),e._v(" "),n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"身份证",prop:"sfzUrlList"}},[n("el-upload",{attrs:{action:"#",limit:1,data:{att_type:"01"},"before-upload":e.beforeAvatarUploada,"http-request":e.sfzhandleFileUpload,"on-remove":e.handleSfzUrllRemove,"before-remove":e.beforeRemove,"file-list":e.temp.sfzUrlList,"on-preview":e.onPreview}},[n("el-button",{attrs:{slot:"trigger",size:"small",type:"primary"},slot:"trigger"},[e._v("选取文件")])],1)],1)],1),e._v(" "),n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"健康证",prop:"xlUrlList"}},[n("el-upload",{attrs:{action:"#",limit:1,data:{att_type:"99"},"before-upload":e.beforeAvatarUploada,"http-request":e.xlhandleFileUpload,"on-remove":e.handleXlUrlRemove,"before-remove":e.beforeRemove,"file-list":e.temp.xlUrlList,"on-preview":e.onPreview}},[n("el-button",{attrs:{slot:"trigger",size:"small",type:"primary"},slot:"trigger"},[e._v("选取文件")])],1)],1)],1)],1)],1),e._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small"},on:{click:function(t){e.dialogFormVisible=!1}}},[e._v("\n 取 消\n ")]),e._v(" "),n("el-button",{attrs:{type:"primary",size:"small"},on:{click:function(t){"create"===e.dialogStatus?e.createData():e.updateData()}}},[e._v("\n 确 认\n ")])],1)],1),e._v(" "),n("preview-file",{attrs:{file:e.file}})],1)},__vue_staticRenderFns__$5=[];__vue_render__$5._withStripped=!0;const __vue_inject_styles__$5=void 0,__vue_scope_id__$5=void 0,__vue_module_identifier__$5=void 0,__vue_is_functional_template__$5=!1,__vue_component__$5=normalizeComponent({render:__vue_render__$5,staticRenderFns:__vue_staticRenderFns__$5},__vue_inject_styles__$5,__vue_script__$5,__vue_scope_id__$5,__vue_is_functional_template__$5,__vue_module_identifier__$5,!1,void 0,void 0,void 0);var script$4={name:"personnel",components:{Pagination:Pagination,PreviewFile:PreviewFile},filters:{},data:()=>({oneFileList:[],twoFileList:[],threeFileList:[],institutionList:[],FormData:{},file:{fileurl:"",dialogVisible:!1,title:"",type:""},loading:!1,dialogBankVisible:!1,dialogStatus:"",textMap:{update:"编辑",create:"创建"},tableKey:0,list:null,total:0,listLoading:!0,listQuery:{pageNo:1,size:20},fileList:[],dialogFormVisible:!1,dialogPvVisible:!1,rules:{uscc:[{required:!0,message:"请输入统一社会信用代码",trigger:"blur"}],type:[{required:!0,message:"请选择护理机构类型",trigger:"change"}],name:[{required:!0,message:"请输入机构名称",trigger:"blur"}],city:[{required:!0,message:"请输入行政区划",trigger:"blur"}],county:[{required:!0,message:"请输入所属辖区",trigger:"blur"}],cntrBegntime:[{required:!0,message:"请选择合同开始时间",trigger:"change"}],cntrEndtime:[{required:!0,message:"请选择合同结束时间",trigger:"change"}],liceIssuDate:[{required:!0,message:"请选择持证时间",trigger:"change"}],address:[{required:!0,message:"请输入护理机构地址",trigger:"blur"}],linkMan:[{required:!0,message:"请输入联系人",trigger:"blur"}],linkPhoneNumber:[{required:!0,message:"请输入联系号码",trigger:"blur"}],provinceCode:[{required:!0,message:"请选择",trigger:"blur"}]},temp:{},downloadLoading:!1,loadExp:!1,cityList:[],areaList:[],provinceList:[],admdvsCodgGrp:[],options:[],file_list:[],fileType:{"01":"01","02":"02","03":"03","04":"04"}}),created(){this.provinceList=pcaCode,this.getList()},methods:{selectChange(e){console.log(e),this.temp.bankMajcls=e.bank_type_code,this.temp.bankName=e.bank_abbr,this.temp.bankId=e.bank_id},remoteMethod(e){return new Promise((t,n)=>{SysUnitBank({bankName:e}).then(e=>{1==e.status&&(this.options=e.result,t(this.options))})})},provinceChange(e,t){e&&(this.cityList=e.children,this.temp.provinceCode=e.code,t||this.crealt())},cityChange(e,t){e&&(this.areaList=e.children,this.temp.cityCode=e.code,t||this.$set(this.temp,"county",""))},changeDistrict(e){this.temp.countyCode=e.code},initProvince(e){e||(this.cityList=[],this.areaList=[],this.crealt())},initCity(e){e||(this.areaList=[],this.$set(this.temp,"cityCode",""))},initCounty(e){e||this.$set(this.temp,"countyCode","")},crealt(){this.$set(this.temp,"city",""),this.$set(this.temp,"county",""),this.$set(this.temp,"cityCode",""),this.$set(this.temp,"countyCode","")},getSysUnitBank(e){SysUnitBank({bankName:e}).then(t=>{console.log(t),"1"===t.status&&(this.temp={...this.temp,bankMajcls:bankMajcls,bankName:e,bankId:bankId,bankacct:bankacct,bankAcctname:bankAcctname})})},expExcel(){try{this.loadExp=!0;exportsysUnitInfo({}).then(e=>{const t=new Blob([e]);if(t.size>0){const e=document.createElement("a");e.style.display="none",e.href=URL.createObjectURL(t),e.download=`机构信息/${this.$moment().format("YYYY-MM-DD")}.xlsx`,document.body.appendChild(e),e.click(),URL.revokeObjectURL(e.href),document.body.removeChild(e)}this.handleClose(),this.loadExp=!1}).catch(()=>{this.loadExp=!1})}catch(e){this.loadExp=!1,console.log(e)}},urlClick(e){this.onPreview({url:e.agreementPdf})},beforeAvatarUploada(e){this.loadingstate=!0;let t=e.name.lastIndexOf("."),n=e.name.substr(t+1);return e.size/1024/1024<10?["PDF","pdf"].indexOf(n)<0?(this.$message({message:"只能pdf文件",type:"error",center:!0}),!1):void 0:(this.$message({message:"封面不可超出10M",type:"warning",center:!0}),!1)},urlClick(e){this.onPreview({url:e.agreementPdf})},onPreview(e){const t=fileUrl(e.url||e.name);let n=`http://127.0.0.1/img/${e.url||e.name}`;if("word"==t||"wps"==t||"pdf"==t||"pptx"==t||"txt"==t)this.file.type=t;else if("image"==t)this.file.type=t;else if("video"==t)this.file.type=t;else{if("radio"!=t)return void this.$message.error("该格式不可在线预览,请下载后查看");this.file.type=t}this.file.fileurl=n,this.file.dialogVisible=!0,this.file.title=e.name},modify(e){cloudSave({id:e.id}).then(e=>{if(1==e.status)return this.getList(),void this.$notify({title:"提示",message:e.info,type:"success",duration:2e3});this.$notify({title:"提示",message:e.info,type:"error",duration:2e3})})},updateBank(){SysUnitbankSave(this.temp).then(e=>{if(1==e.status)return this.dialogBankVisible=!1,this.getList(),void this.$notify({title:e.info,message:"修改成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"修改失败",type:"error",duration:2e3})})},getList(){this.listLoading=!0,SysUnitPage(this.listQuery).then(e=>{this.list=e.result.data,this.total=e.result.count,console.log(this.list),setTimeout(()=>{this.listLoading=!1},1500)}),SysUnitPage({size:9999,pageNo:1}).then(e=>{this.institutionList=e.result.data})},handleModifyStatus(e,t){this.$message({message:"操作成功",type:"success"}),e.status=t},resetting(e){this.$nextTick(()=>{this.$refs[e].resetFields(),this.getList()})},add(){this.dialogStatus="create",this.dialogFormVisible=!0,this.temp={}},onSubmit(){this.getList()},concatenateStrings:(e,t,n,r)=>`${e}${r?",":""}${t}${r?",":""}${n}`,createData(){this.$refs.dataForm.validate(e=>{e&&(this.temp.admdvsCodgGrp=this.concatenateStrings(this.temp.provinceCode,this.temp.cityCode,this.temp.countyCode),this.temp.file_list=this.file_list,SysUnitSave$1(this.temp).then(e=>{if(1==e.status)return this.dialogFormVisible=!1,this.getList(),void this.$notify({title:e.info,message:"新增成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"新增失败",type:"error",duration:2e3})}))})},updateData(){console.log(this.file_list),this.$refs.dataForm.validate(e=>{e&&(this.temp.file_list=this.file_list,SysUnitSave$1(this.temp).then(e=>{if(1==e.status)return this.dialogFormVisible=!1,this.getList(),void this.$notify({title:e.info,message:"更新成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"更新失败",type:"error",duration:2e3})}))})},edit(e){this.fileList=[],this.oneFileList=[],this.twoFileList=[],this.threeFileList=[],this.temp=e,this.dialogStatus="update",this.dialogFormVisible=!0,e.agreementPdf&&this.fileList.push({name:e.agreementPdf,url:e.agreementPdf}),e.oneFile&&this.oneFileList.push({name:e.oneFile,url:e.oneFile}),e.twoFile&&this.twoFileList.push({name:e.twoFile,url:e.twoFile}),e.threeFile&&this.threeFileList.push({name:e.threeFile,url:e.threeFile})},handleDelete(e,t){SysUnitDel({id:e.id}).then(e=>{if(console.log(e),1==e.status)return this.getList(),void this.$notify({title:e.info,message:"删除成功",type:"success",duration:2e3});this.$notify({title:e.info,message:"删除失败",type:"error",duration:2e3})})},handleFileUpload(e){const t=new FormData;t.append("file",e.file),t.append("realPath",e.file.name),t.append("fileName",e.file.name),t.append("att_type",e.data.file_type),console.log(e.data.file_type),uploadPDF(t).then(n=>{1==n.status&&(this.$message({message:"上传成功",type:"success"}),"04"==e.data.file_type&&(this.temp.agreementPdf=n.result.url),"01"==e.data.file_type&&(this.temp.oneFile=n.result.url),"02"==e.data.file_type&&(this.temp.twoFile=n.result.url),"03"==e.data.file_type&&(this.temp.threeFile=n.result.url)),uploadThird(t).then(t=>{if(1==t.status){const n={file_type:e.data.file_type,fs_d_t_o_list:[{file_id:t.result.output.file_id,att_name:t.result.output.att_name}]};this.addFile(n)}})})},beforeRemove(e,t){return this.$confirm(`确定移除 ${e.name}?`)},handleCertPicUrlRemove(e,t){for(var n=0;n<this.file_list.length;n++)this.file_list[n].fs_d_t_o_list=this.file_list[n].fs_d_t_o_list.filter(t=>t.att_name!=e.name);console.log(this.file_list)},addFile(e){const t=this.file_list.find(t=>t.file_type===e.file_type);t&&e.file_type==this.fileType[e.file_type]?t.fs_d_t_o_list.push(e.fs_d_t_o_list[0]):this.file_list.push(e),console.log(this.file_list)}}};const __vue_script__$4=script$4;var __vue_render__$4=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"app-container"},[n("div",{staticClass:"filter-container"},[n("el-form",{ref:"listQuery",staticClass:"demo-form-inline",attrs:{inline:!0,model:e.listQuery}},[n("el-form-item",{attrs:{label:"机构名称",prop:"name"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择机构名称"},model:{value:e.listQuery.name,callback:function(t){e.$set(e.listQuery,"name",t)},expression:"listQuery.name"}},e._l(e.institutionList,function(e,t){return n("el-option",{key:t,attrs:{label:e.name,value:e.name}})}),1)],1),e._v(" "),n("el-form-item",{attrs:{label:"地址",prop:"address"}},[n("el-input",{attrs:{size:"small",placeholder:"请输入地址"},model:{value:e.listQuery.address,callback:function(t){e.$set(e.listQuery,"address",t)},expression:"listQuery.address"}})],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"primary"},on:{click:e.onSubmit}},[e._v("查询")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"warning"},on:{click:function(t){return e.resetting("listQuery")}}},[e._v("重置")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"success"},on:{click:e.add}},[e._v("新增")])],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{size:"small",type:"primary",loading:e.loadExp},on:{click:e.expExcel}},[e._v("\n 导 出\n ")])],1)],1)],1),e._v(" "),n("el-table",{staticStyle:{width:"100%"},attrs:{border:"",height:"65vh",data:e.list}},[n("el-table-column",{attrs:{label:"机构名称",align:"center",width:"150","show-overflow-tooltip":""},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.name))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"机构编码",align:"center",width:"150","show-overflow-tooltip":""},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.no))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"行政区划",align:"center","show-overflow-tooltip":""},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.city))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"所属辖区",align:"center","show-overflow-tooltip":""},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.county))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"护理机构地址",align:"center",width:"200","show-overflow-tooltip":""},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.address))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"护理机构类型",align:"center",width:"150","show-overflow-tooltip":""},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("el-tag",{attrs:{size:"medium"}},[e._v(e._s("01"==r.type?"上门护理机构":"02"==r.type?"养老机构":"03"==r.type?"医疗机构":"04"==r.type?"辅助器具机构":"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"联系人",align:"center","show-overflow-tooltip":""},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.linkMan))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"联系号码",align:"center","show-overflow-tooltip":""},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.linkPhoneNumber))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"护工数",align:"center","show-overflow-tooltip":""},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.userNum))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"银行名称",align:"center","show-overflow-tooltip":""},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.bankName))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"银行账号",align:"center","show-overflow-tooltip":""},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.bankacct))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"开户行信息",align:"center","show-overflow-tooltip":""},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s(r.bankAcctname))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"操作",align:"center",width:"300","class-name":"small-padding fixed-width"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row,l=t.$index;return[n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(t){return e.modify(r,l)}}},[e._v("\n 机构信息同步\n ")]),e._v(" "),n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(t){return e.edit(r,l)}}},[e._v("\n 修改\n ")]),e._v(" "),n("el-button",{attrs:{size:"mini",type:"danger"},on:{click:function(t){return e.handleDelete(r,l)}}},[e._v("\n 删除\n ")])]}}])})],1),e._v(" "),n("pagination",{directives:[{name:"show",rawName:"v-show",value:e.total>0,expression:"total > 0"}],attrs:{total:e.total,page:e.listQuery.pageNo,limit:e.listQuery.size},on:{"update:page":function(t){return e.$set(e.listQuery,"pageNo",t)},"update:limit":function(t){return e.$set(e.listQuery,"size",t)},pagination:e.getList}}),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:e.textMap[e.dialogStatus],visible:e.dialogFormVisible,width:"45%"},on:{"update:visible":function(t){e.dialogFormVisible=t}}},[n("el-form",{ref:"dataForm",attrs:{rules:e.rules,model:e.temp,"label-position":"right","label-width":"150px"}},[n("el-row",{attrs:{gutter:20}},[n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"机构名称",prop:"name"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入机构名称",size:"small"},model:{value:e.temp.name,callback:function(t){e.$set(e.temp,"name",t)},expression:"temp.name"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"省/市/区:"}},[n("div",{staticClass:"setCity"},[n("el-select",{attrs:{size:"small",placeholder:"请选择省份",clearable:"",filterable:""},on:{change:e.initProvince},model:{value:e.temp.province,callback:function(t){e.$set(e.temp,"province",t)},expression:"temp.province"}},e._l(e.provinceList,function(t,r){return n("el-option",{key:r,attrs:{label:t.name,value:t.name},nativeOn:{click:function(n){return e.provinceChange(t)}}})}),1),e._v(" "),n("el-select",{attrs:{size:"small",placeholder:"请选择城市",clearable:"",filterable:""},on:{change:e.initCity},model:{value:e.temp.city,callback:function(t){e.$set(e.temp,"city",t)},expression:"temp.city"}},e._l(e.cityList,function(t,r){return n("el-option",{key:r,attrs:{label:t.name,value:t.name},nativeOn:{click:function(n){return e.cityChange(t)}}})}),1),e._v(" "),n("el-select",{attrs:{size:"small",placeholder:"请选择辖区",clearable:"",filterable:""},on:{change:e.initCounty},model:{value:e.temp.county,callback:function(t){e.$set(e.temp,"county",t)},expression:"temp.county"}},e._l(e.areaList,function(t,r){return n("el-option",{key:r,attrs:{label:t.name,value:t.name},nativeOn:{click:function(n){return e.changeDistrict(t)}}})}),1)],1)])],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"定点归属医保区划:"}},[n("el-select",{attrs:{size:"small",placeholder:"请选择定点归属医保区划",clearable:"",filterable:""},model:{value:e.temp.admdvsType,callback:function(t){e.$set(e.temp,"admdvsType",t)},expression:"temp.admdvsType"}},e._l([{label:"省",value:"省"},{label:"市",value:"市"},{label:"区",value:"区"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"注册机构类型:"}},[n("el-select",{attrs:{size:"small",placeholder:"请选择注册机构类型",clearable:"",filterable:""},model:{value:e.temp.orgRegType,callback:function(t){e.$set(e.temp,"orgRegType",t)},expression:"temp.orgRegType"}},e._l([{label:"公立",value:"公立"},{label:"非公立",value:"非公立"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"机构经营类型:"}},[n("el-select",{attrs:{size:"small",placeholder:"请选择机构经营类型",clearable:"",filterable:""},model:{value:e.temp.orgOperateType,callback:function(t){e.$set(e.temp,"orgOperateType",t)},expression:"temp.orgOperateType"}},e._l([{label:"盈利",value:"盈利"},{label:"非盈利",value:"非盈利"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"机构单位性质:"}},[n("el-select",{attrs:{size:"small",placeholder:"请选择机构单位性质",clearable:"",filterable:""},model:{value:e.temp.orgNatu,callback:function(t){e.$set(e.temp,"orgNatu",t)},expression:"temp.orgNatu"}},e._l([{label:"事业单位",value:"事业单位"},{label:"民办非企业",value:"民办非企业"},{label:"企业",value:"企业"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"法定代表人:"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入法人代表人",size:"small"},model:{value:e.temp.legrep,callback:function(t){e.$set(e.temp,"legrep",t)},expression:"temp.legrep"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"法人代表证件类型:"}},[n("el-input",{attrs:{clearable:"",disabled:"",placeholder:"居民身份证",size:"small"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"法人代表证件号码:"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入法人代表证件号码:",size:"small"},model:{value:e.temp.legrepCertno,callback:function(t){e.$set(e.temp,"legrepCertno",t)},expression:"temp.legrepCertno"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"合同开始时间",prop:"cntrBegntime"}},[n("el-date-picker",{attrs:{"value-format":"yyyy-MM-dd HH:mm:ss",type:"datetime",placeholder:"合同开始时间","default-time":"12:00:00"},model:{value:e.temp.cntrBegntime,callback:function(t){e.$set(e.temp,"cntrBegntime",t)},expression:"temp.cntrBegntime"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"合同结束时间",prop:"cntrEndtime"}},[n("el-date-picker",{attrs:{"value-format":"yyyy-MM-dd HH:mm:ss",type:"datetime",placeholder:"合同结束时间","default-time":"12:00:00"},model:{value:e.temp.cntrEndtime,callback:function(t){e.$set(e.temp,"cntrEndtime",t)},expression:"temp.cntrEndtime"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"统一社会信用代码",prop:"uscc"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入统一社会信用代码",size:"small"},model:{value:e.temp.uscc,callback:function(t){e.$set(e.temp,"uscc",t)},expression:"temp.uscc"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"护理机构地址",prop:"address"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入护理机构地址",size:"small"},model:{value:e.temp.address,callback:function(t){e.$set(e.temp,"address",t)},expression:"temp.address"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"护理机构类型",prop:"type"}},[n("el-select",{staticClass:"filter-item",staticStyle:{width:"100%"},attrs:{clearable:"",filterable:"",size:"small",placeholder:"请选择护理机构类型"},model:{value:e.temp.type,callback:function(t){e.$set(e.temp,"type",t)},expression:"temp.type"}},e._l([{label:"上门护理机构",value:"01"},{label:"养老机构",value:"02"},{label:"医疗机构",value:"03"},{label:"辅助器具机构",value:"04"}],function(e,t){return n("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"联系人",prop:"linkMan"}},[n("el-input",{attrs:{placeholder:"请输入联系人",clearable:"",size:"small"},model:{value:e.temp.linkMan,callback:function(t){e.$set(e.temp,"linkMan",t)},expression:"temp.linkMan"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"联系号码",prop:"linkPhoneNumber"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入联系号码",size:"small"},model:{value:e.temp.linkPhoneNumber,callback:function(t){e.$set(e.temp,"linkPhoneNumber",t)},expression:"temp.linkPhoneNumber"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"银行户名"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入银行户名",size:"small"},model:{value:e.temp.bankAcctname,callback:function(t){e.$set(e.temp,"bankAcctname",t)},expression:"temp.bankAcctname"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"银行账号"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入银行账号",size:"small"},model:{value:e.temp.bankacct,callback:function(t){e.$set(e.temp,"bankacct",t)},expression:"temp.bankacct"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"银行开户行名称"}},[n("el-select",{staticStyle:{width:"100%"},attrs:{size:"small",filterable:"",remote:"","reserve-keyword":"",placeholder:"请输入银行开户行名称","remote-method":e.remoteMethod,"value-key":"bank_id"},on:{change:e.selectChange},model:{value:e.temp.bankName,callback:function(t){e.$set(e.temp,"bankName",t)},expression:"temp.bankName"}},e._l(e.options,function(e){return n("el-option",{key:e.id,attrs:{label:e.bank_abbr,value:e}})}),1)],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"描述"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入描述内容",size:"small"},model:{value:e.temp.description,callback:function(t){e.$set(e.temp,"description",t)},expression:"temp.description"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"法人证书/登记证书/营业执照"}},[n("el-upload",{attrs:{action:"#",limit:4,data:{file_type:"01"},"before-upload":e.beforeAvatarUploada,"http-request":e.handleFileUpload,"on-preview":e.onPreview,"on-remove":e.handleCertPicUrlRemove,"before-remove":e.beforeRemove,"file-list":e.oneFileList}},[n("el-button",{attrs:{slot:"trigger",size:"small",type:"primary"},slot:"trigger"},[e._v("选取文件")])],1)],1)],1),e._v(" "),n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"养老机构设立许可证/备案回执"}},[n("el-upload",{attrs:{action:"#",limit:4,data:{file_type:"02"},"before-upload":e.beforeAvatarUploada,"http-request":e.handleFileUpload,"on-preview":e.onPreview,"on-remove":e.handleCertPicUrlRemove,"before-remove":e.beforeRemove,"file-list":e.twoFileList}},[n("el-button",{attrs:{slot:"trigger",size:"small",type:"primary"},slot:"trigger"},[e._v("选取文件")])],1)],1)],1),e._v(" "),n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"医疗机构执业许可证"}},[n("el-upload",{attrs:{action:"#",limit:4,data:{file_type:"03"},"before-upload":e.beforeAvatarUploada,"http-request":e.handleFileUpload,"on-preview":e.onPreview,"on-remove":e.handleCertPicUrlRemove,"before-remove":e.beforeRemove,"file-list":e.threeFileList}},[n("el-button",{attrs:{slot:"trigger",size:"small",type:"primary"},slot:"trigger"},[e._v("选取文件")])],1)],1)],1),e._v(" "),n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"协议文件"}},[n("el-upload",{attrs:{action:"#",limit:4,data:{file_type:"04"},"before-upload":e.beforeAvatarUploada,"http-request":e.handleFileUpload,"on-preview":e.onPreview,"on-remove":e.handleCertPicUrlRemove,"before-remove":e.beforeRemove,"file-list":e.fileList}},[n("el-button",{attrs:{slot:"trigger",size:"small",type:"primary"},slot:"trigger"},[e._v("选取文件")])],1)],1)],1)],1)],1),e._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small"},on:{click:function(t){e.dialogFormVisible=!1}}},[e._v("\n 取 消\n ")]),e._v(" "),n("el-button",{attrs:{size:"small",type:"primary"},on:{click:function(t){"create"===e.dialogStatus?e.createData():e.updateData()}}},[e._v("\n 确 认\n ")])],1)],1),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"修改银行信息",visible:e.dialogBankVisible,width:"40%"},on:{"update:visible":function(t){e.dialogBankVisible=t}}},[n("el-form",{ref:"dataForm",attrs:{rules:e.rules,model:e.temp,"label-position":"right","label-width":"120px"}},[n("el-row",{attrs:{gutter:20}},[n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"银行户名"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入银行户名",size:"small"},model:{value:e.temp.bankAcctname,callback:function(t){e.$set(e.temp,"bankAcctname",t)},expression:"temp.bankAcctname"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"银行账号"}},[n("el-input",{attrs:{clearable:"",placeholder:"请输入银行账号",size:"small"},model:{value:e.temp.bankacct,callback:function(t){e.$set(e.temp,"bankacct",t)},expression:"temp.bankacct"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"银行开户行名称"}},[n("el-select",{staticStyle:{width:"100%"},attrs:{size:"small",filterable:"",remote:"","reserve-keyword":"",placeholder:"请输入银行开户行名称","remote-method":e.remoteMethod,"value-key":"bank_id"},on:{change:e.selectChange},model:{value:e.temp.bankName,callback:function(t){e.$set(e.temp,"bankName",t)},expression:"temp.bankName"}},e._l(e.options,function(e){return n("el-option",{key:e.id,attrs:{label:e.bank_abbr,value:e}})}),1)],1)],1)],1)],1),e._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small"},on:{click:function(t){e.dialogBankVisible=!1}}},[e._v("\n 取 消\n ")]),e._v(" "),n("el-button",{attrs:{size:"small",type:"primary"},on:{click:function(t){return e.updateBank()}}},[e._v("\n 确 认\n ")])],1)],1),e._v(" "),n("preview-file",{attrs:{file:e.file}})],1)},__vue_staticRenderFns__$4=[];__vue_render__$4._withStripped=!0;const __vue_inject_styles__$4=function(e){e&&e("data-v-4ed0cbb6_0",{source:".el-col-12[data-v-4ed0cbb6] {\n padding: 0 20px 0 0;\n}\n.setCity[data-v-4ed0cbb6] {\n display: flex;\n gap: 10px;\n}\n\n/*# sourceMappingURL=index.vue.map */",map:{version:3,sources:["E:\\公司项目\\changhuxianlocal\\changhuxian-vue-components\\src\\pages\\institution\\Information\\index.vue","index.vue"],names:[],mappings:"AA87BA;EACA,mBAAA;AC77BA;ADg8BA;EACA,aAAA;EACA,SAAA;AC77BA;;AAEA,oCAAoC",file:"index.vue",sourcesContent:['<template>\r\n <div class="app-container">\r\n <div class="filter-container">\r\n <el-form ref="listQuery" :inline="true" :model="listQuery" class="demo-form-inline">\r\n <el-form-item label="机构名称" prop="name">\r\n <el-select style="width: 100%" clearable filterable size="small" v-model="listQuery.name" class="filter-item"\r\n placeholder="请选择机构名称">\r\n <el-option v-for="(item, index) in institutionList" :key="index" :label="item.name" :value="item.name" />\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item label="地址" prop="address">\r\n <el-input size="small" v-model="listQuery.address" placeholder="请输入地址"></el-input>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size="small" type="primary" @click="onSubmit">查询</el-button>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size="small" type="warning" @click="resetting(\'listQuery\')">重置</el-button>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size="small" type="success" @click="add">新增</el-button>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size="small" type="primary" @click="expExcel" :loading="loadExp">\r\n 导 出\r\n </el-button>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n <el-table border height="65vh" :data="list" style="width: 100%">\r\n \x3c!-- @sort-change="sortChange" --\x3e\r\n <el-table-column :label="\'机构名称\'" align="center" width="150" show-overflow-tooltip>\r\n <template slot-scope="{ row }">\r\n <span>{{ row.name }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'机构编码\'" align="center" width="150" show-overflow-tooltip>\r\n <template slot-scope="{ row }">\r\n <span>{{ row.no }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'行政区划\'" align="center" show-overflow-tooltip>\r\n <template slot-scope="{ row }">\r\n <span>{{ row.city }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'所属辖区\'" align="center" show-overflow-tooltip>\r\n <template slot-scope="{ row }">\r\n <span>{{ row.county }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'护理机构地址\'" align="center" width="200" show-overflow-tooltip>\r\n <template slot-scope="{ row }">\r\n <span>{{ row.address }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'护理机构类型\'" align="center" width="150" show-overflow-tooltip>\r\n <template slot-scope="{ row }">\r\n \x3c!-- <el-tag size="medium">{{\r\n row.type == "1" ? "养老机构" : row.type == "2" ? "上门护理机构" : "-"\r\n }}</el-tag> --\x3e\r\n <el-tag size="medium">{{\r\n row.type == "01"\r\n ? "上门护理机构"\r\n : row.type == "02"\r\n ? "养老机构"\r\n : row.type == "03"\r\n ? "医疗机构"\r\n : row.type == "04"\r\n ? "辅助器具机构"\r\n : "-"\r\n }}</el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'联系人\'" align="center" show-overflow-tooltip>\r\n <template slot-scope="{ row }">\r\n <span>{{ row.linkMan }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'联系号码\'" align="center" show-overflow-tooltip>\r\n <template slot-scope="{ row }">\r\n <span>{{ row.linkPhoneNumber }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'护工数\'" align="center" show-overflow-tooltip>\r\n <template slot-scope="{ row }">\r\n <span>{{ row.userNum }}</span>\r\n </template>\r\n </el-table-column>\r\n \x3c!-- <el-table-column :label="\'描述\'" align="center" show-overflow-tooltip>\r\n <template slot-scope="{ row }">\r\n <span>{{ row.description }}</span>\r\n </template>\r\n </el-table-column> --\x3e\r\n <el-table-column :label="\'银行名称\'" align="center" show-overflow-tooltip>\r\n <template slot-scope="{ row }">\r\n <span>{{ row.bankName }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'银行账号\'" align="center" show-overflow-tooltip>\r\n <template slot-scope="{ row }">\r\n <span>{{ row.bankacct }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label="\'开户行信息\'" align="center" show-overflow-tooltip>\r\n <template slot-scope="{ row }">\r\n <span>{{ row.bankAcctname }}</span>\r\n </template>\r\n </el-table-column>\r\n \x3c!-- <el-table-column :label="\'协议文件\'" align="center">\r\n <template slot-scope="{ row }">\r\n <el-link type="primary" @click="urlClick(row)">{{\r\n row.agreementPdf\r\n }}</el-link>\r\n </template>\r\n </el-table-column> --\x3e\r\n <el-table-column :label="\'操作\'" align="center" width="300" class-name="small-padding fixed-width">\r\n <template slot-scope="{ row, $index }">\r\n <el-button size="mini" type="primary" @click="modify(row, $index)">\r\n 机构信息同步\r\n </el-button>\r\n <el-button size="mini" type="primary" @click="edit(row, $index)">\r\n 修改\r\n </el-button>\r\n <el-button size="mini" type="danger" @click="handleDelete(row, $index)">\r\n 删除\r\n </el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n\r\n <pagination v-show="total > 0" :total="total" :page.sync="listQuery.pageNo" :limit.sync="listQuery.size"\r\n @pagination="getList" />\r\n <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :title="textMap[dialogStatus]"\r\n :visible.sync="dialogFormVisible" width="45%">\r\n <el-form ref="dataForm" :rules="rules" :model="temp" label-position="right" label-width="150px">\r\n <el-row :gutter="20">\r\n <el-col :span="12">\r\n <el-form-item label="机构名称" prop="name">\r\n <el-input clearable placeholder="请输入机构名称" size="small" v-model="temp.name" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="24">\r\n <el-form-item label="省/市/区:">\r\n <div class="setCity">\r\n <el-select size="small" placeholder="请选择省份" v-model="temp.province" clearable filterable\r\n @change="initProvince">\r\n <el-option v-for="(item, index) in provinceList" :key="index" :label="item.name"\r\n @click.native="provinceChange(item)" :value="item.name">\r\n </el-option>\r\n </el-select>\r\n <el-select size="small" placeholder="请选择城市" v-model="temp.city" clearable filterable @change="initCity">\r\n <el-option v-for="(item, index) in cityList" :key="index" :label="item.name"\r\n @click.native="cityChange(item)" :value="item.name">\r\n </el-option>\r\n </el-select>\r\n <el-select size="small" placeholder="请选择辖区" v-model="temp.county" clearable filterable\r\n @change="initCounty">\r\n <el-option v-for="(item, index) in areaList" :key="index" :label="item.name"\r\n @click.native="changeDistrict(item)" :value="item.name">\r\n </el-option>\r\n </el-select>\r\n </div>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="定点归属医保区划:">\r\n <el-select size="small" placeholder="请选择定点归属医保区划" v-model="temp.admdvsType" clearable filterable>\r\n <el-option\r\n v-for="(item, index) in [{ label: \'省\', value: \'省\' }, { label: \'市\', value: \'市\' }, { label: \'区\', value: \'区\' }]"\r\n :key="index" :label="item.label" :value="item.value">\r\n </el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="注册机构类型:">\r\n <el-select size="small" placeholder="请选择注册机构类型" v-model="temp.orgRegType" clearable filterable>\r\n <el-option v-for="(item, index) in [{ label: \'公立\', value: \'公立\' }, { label: \'非公立\', value: \'非公立\' }]"\r\n :key="index" :label="item.label" :value="item.value">\r\n </el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="机构经营类型:">\r\n <el-select size="small" placeholder="请选择机构经营类型" v-model="temp.orgOperateType" clearable filterable>\r\n <el-option v-for="(item, index) in [{ label: \'盈利\', value: \'盈利\' }, { label: \'非盈利\', value: \'非盈利\' }]"\r\n :key="index" :label="item.label" :value="item.value">\r\n </el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="机构单位性质:">\r\n <el-select size="small" placeholder="请选择机构单位性质" v-model="temp.orgNatu" clearable filterable>\r\n <el-option\r\n v-for="(item, index) in [{ label: \'事业单位\', value: \'事业单位\' }, { label: \'民办非企业\', value: \'民办非企业\' }, { label: \'企业\', value: \'企业\' }]"\r\n :key="index" :label="item.label" :value="item.value">\r\n </el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="法定代表人:">\r\n <el-input clearable placeholder="请输入法人代表人" size="small" v-model="temp.legrep" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="法人代表证件类型:">\r\n <el-input clearable disabled placeholder="居民身份证" size="small" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="法人代表证件号码:">\r\n <el-input clearable placeholder="请输入法人代表证件号码:" size="small" v-model="temp.legrepCertno" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="合同开始时间" prop="cntrBegntime">\r\n <el-date-picker v-model="temp.cntrBegntime" value-format="yyyy-MM-dd HH:mm:ss" type="datetime"\r\n placeholder="合同开始时间" default-time="12:00:00">\r\n </el-date-picker>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="合同结束时间" prop="cntrEndtime">\r\n <el-date-picker v-model="temp.cntrEndtime" value-format="yyyy-MM-dd HH:mm:ss" type="datetime"\r\n placeholder="合同结束时间" default-time="12:00:00">\r\n </el-date-picker>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="统一社会信用代码" prop="uscc">\r\n <el-input clearable placeholder="请输入统一社会信用代码" size="small" v-model="temp.uscc" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="护理机构地址" prop="address">\r\n <el-input clearable placeholder="请输入护理机构地址" size="small" v-model="temp.address" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="护理机构类型" prop="type">\r\n <el-select style="width: 100%" clearable filterable size="small" v-model="temp.type" class="filter-item"\r\n placeholder="请选择护理机构类型">\r\n <el-option v-for="(item, index) in [\r\n { label: \'上门护理机构\', value: \'01\' },\r\n { label: \'养老机构\', value: \'02\' },\r\n { label: \'医疗机构\', value: \'03\' },\r\n { label: \'辅助器具机构\', value: \'04\' },\r\n ]" :key="index" :label="item.label" :value="item.value" />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="联系人" prop="linkMan">\r\n <el-input placeholder="请输入联系人" clearable size="small" v-model="temp.linkMan" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="联系号码" prop="linkPhoneNumber">\r\n <el-input clearable placeholder="请输入联系号码" size="small" v-model="temp.linkPhoneNumber" />\r\n </el-form-item>\r\n </el-col>\r\n\r\n <el-col :span="12">\r\n <el-form-item label="银行户名">\r\n <el-input clearable placeholder="请输入银行户名" size="small" v-model="temp.bankAcctname" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="银行账号">\r\n <el-input clearable placeholder="请输入银行账号" size="small" v-model="temp.bankacct" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="银行开户行名称">\r\n <el-select style="width: 100%" v-model="temp.bankName" size="small" filterable remote reserve-keyword\r\n placeholder="请输入银行开户行名称" :remote-method="remoteMethod" :value-key="\'bank_id\'" @change="selectChange">\r\n <el-option v-for="item in options" :key="item.id" :label="item.bank_abbr" :value="item">\r\n </el-option>\r\n </el-select>\r\n \x3c!-- <el-input\r\n clearable\r\n placeholder="请输入开户行信息"\r\n size="small"\r\n v-model="temp.bankAcctname"\r\n /> --\x3e\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="描述">\r\n <el-input clearable placeholder="请输入描述内容" size="small" v-model="temp.description" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="24">\r\n <el-form-item label="法人证书/登记证书/营业执照">\r\n <el-upload action="#" :limit="4" :data="{ file_type: \'01\' }" :before-upload="beforeAvatarUploada"\r\n :http-request="handleFileUpload" :on-preview="onPreview" :on-remove="handleCertPicUrlRemove"\r\n :before-remove="beforeRemove" :file-list="oneFileList">\r\n <el-button slot="trigger" size="small" type="primary">选取文件</el-button>\r\n </el-upload>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="24">\r\n <el-form-item label="养老机构设立许可证/备案回执">\r\n <el-upload action="#" :limit="4" :data="{ file_type: \'02\' }" :before-upload="beforeAvatarUploada"\r\n :http-request="handleFileUpload" :on-preview="onPreview" :on-remove="handleCertPicUrlRemove"\r\n :before-remove="beforeRemove" :file-list="twoFileList">\r\n <el-button slot="trigger" size="small" type="primary">选取文件</el-button>\r\n </el-upload>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="24">\r\n <el-form-item label="医疗机构执业许可证">\r\n <el-upload action="#" :limit="4" :data="{ file_type: \'03\' }" :before-upload="beforeAvatarUploada"\r\n :http-request="handleFileUpload" :on-preview="onPreview" :on-remove="handleCertPicUrlRemove"\r\n :before-remove="beforeRemove" :file-list="threeFileList">\r\n <el-button slot="trigger" size="small" type="primary">选取文件</el-button>\r\n </el-upload>\r\n </el-form-item>\r\n </el-col>\r\n\r\n <el-col :span="24">\r\n <el-form-item label="协议文件">\r\n <el-upload action="#" :limit="4" :data="{ file_type: \'04\' }" :before-upload="beforeAvatarUploada"\r\n :http-request="handleFileUpload" :on-preview="onPreview" :on-remove="handleCertPicUrlRemove"\r\n :before-remove="beforeRemove" :file-list="fileList">\r\n <el-button slot="trigger" size="small" type="primary">选取文件</el-button>\r\n </el-upload>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <div slot="footer" class="dialog-footer">\r\n <el-button size="small" @click="dialogFormVisible = false">\r\n 取 消\r\n </el-button>\r\n <el-button size="small" type="primary" @click="dialogStatus === \'create\' ? createData() : updateData()">\r\n 确 认\r\n </el-button>\r\n </div>\r\n </el-dialog>\r\n\r\n <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :title="\'修改银行信息\'"\r\n :visible.sync="dialogBankVisible" width="40%">\r\n <el-form ref="dataForm" :rules="rules" :model="temp" label-position="right" label-width="120px">\r\n <el-row :gutter="20">\r\n <el-col :span="12">\r\n <el-form-item label="银行户名">\r\n <el-input clearable placeholder="请输入银行户名" size="small" v-model="temp.bankAcctname" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="银行账号">\r\n <el-input clearable placeholder="请输入银行账号" size="small" v-model="temp.bankacct" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n \x3c!-- <el-form-item label="开户行信息">\r\n <el-input\r\n clearable\r\n placeholder="请输入开户行信息"\r\n size="small"\r\n v-model="temp.bankAcctname"\r\n />\r\n </el-form-item> --\x3e\r\n <el-form-item label="银行开户行名称">\r\n <el-select style="width: 100%" v-model="temp.bankName" size="small" filterable remote reserve-keyword\r\n placeholder="请输入银行开户行名称" :remote-method="remoteMethod" :value-key="\'bank_id\'" @change="selectChange">\r\n <el-option v-for="item in options" :key="item.id" :label="item.bank_abbr" :value="item">\r\n </el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <div slot="footer" class="dialog-footer">\r\n <el-button size="small" @click="dialogBankVisible = false">\r\n 取 消\r\n </el-button>\r\n <el-button size="small" type="primary" @click="updateBank()">\r\n 确 认\r\n </el-button>\r\n </div>\r\n </el-dialog>\r\n <preview-file :file="file" />\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport {\r\n SysUnitPage,\r\n SysUnitDel,\r\n SysUnitSave,\r\n SysUnitbankSave,\r\n exportsysUnitInfo,\r\n SysUnitBank,\r\n cloudSave\r\n} from "@/api/institution";\r\nimport Pagination from "@/components/Pagination"; // secondary package based on el-pagination\r\nimport PreviewFile from "@/components/previewFile";\r\nimport { uploadTP, uploadPDF, uploadThird } from "@/api/upload";\r\nimport { fileUrl } from "@/utils/fileUrl.js";\r\nimport pcaCode from "@/utils/pca.json";\r\nexport default {\r\n name: "personnel",\r\n components: { Pagination, PreviewFile },\r\n filters: {},\r\n data() {\r\n return {\r\n oneFileList: [],\r\n twoFileList: [],\r\n threeFileList: [],\r\n institutionList: [],\r\n FormData: {},\r\n file: {\r\n fileurl: "",\r\n dialogVisible: false,\r\n title: "",\r\n type: "",\r\n },\r\n loading: false,\r\n dialogBankVisible: false,\r\n dialogStatus: "",\r\n textMap: { update: "编辑", create: "创建" },\r\n tableKey: 0,\r\n list: null,\r\n total: 0,\r\n listLoading: true,\r\n listQuery: {\r\n pageNo: 1,\r\n size: 20,\r\n },\r\n fileList: [],\r\n dialogFormVisible: false,\r\n dialogPvVisible: false,\r\n rules: {\r\n uscc: [\r\n {\r\n required: true,\r\n message: "请输入统一社会信用代码",\r\n trigger: "blur",\r\n },\r\n ],\r\n type: [\r\n { required: true, message: "请选择护理机构类型", trigger: "change" },\r\n ],\r\n name: [{ required: true, message: "请输入机构名称", trigger: "blur" }],\r\n city: [{ required: true, message: "请输入行政区划", trigger: "blur" }],\r\n county: [\r\n { required: true, message: "请输入所属辖区", trigger: "blur" },\r\n ],\r\n cntrBegntime: [\r\n { required: true, message: "请选择合同开始时间", trigger: "change" },\r\n ],\r\n cntrEndtime: [\r\n { required: true, message: "请选择合同结束时间", trigger: "change" },\r\n ],\r\n liceIssuDate: [\r\n { required: true, message: "请选择持证时间", trigger: "change" },\r\n ],\r\n address: [\r\n { required: true, message: "请输入护理机构地址", trigger: "blur" },\r\n ],\r\n linkMan: [{ required: true, message: "请输入联系人", trigger: "blur" }],\r\n linkPhoneNumber: [\r\n { required: true, message: "请输入联系号码", trigger: "blur" },\r\n ],\r\n provinceCode: [{ required: true, message: "请选择", trigger: "blur" }],\r\n },\r\n temp: {\r\n },\r\n downloadLoading: false,\r\n loadExp: false,\r\n cityList: [],\r\n areaList: [],\r\n provinceList: [],\r\n admdvsCodgGrp: [],\r\n options: [],\r\n file_list: [],\r\n fileType: {\r\n "01": "01",\r\n "02": "02",\r\n "03": "03",\r\n "04": "04",\r\n },\r\n };\r\n },\r\n created() {\r\n this.provinceList = pcaCode;\r\n this.getList();\r\n },\r\n methods: {\r\n selectChange(value) {\r\n console.log(value)\r\n //银行大类\r\n this.temp.bankMajcls = value.bank_type_code;\r\n //银行名称\r\n this.temp.bankName = value.bank_abbr;\r\n //开户行id\r\n this.temp.bankId = value.bank_id;\r\n },\r\n remoteMethod(query) {\r\n // 在这里实现远程方法,返回一个 Promise 对象\r\n return new Promise((resolve, reject) => {\r\n SysUnitBank({ bankName: query }).then((res) => {\r\n if (res.status == 1) {\r\n this.options = res.result;\r\n resolve(this.options);\r\n }\r\n });\r\n });\r\n },\r\n provinceChange(item, type) {\r\n if (!item) return;\r\n this.cityList = item.children;\r\n // this.admdvsCodgGrp.push(item.code)\r\n this.temp.provinceCode = item.code;\r\n if (!type) this.crealt();\r\n },\r\n cityChange(item, type) {\r\n if (!item) return;\r\n this.areaList = item.children;\r\n this.temp.cityCode = item.code;\r\n if (!type) {\r\n this.$set(this.temp, "county", "");\r\n }\r\n },\r\n changeDistrict(item) {\r\n // this.admdvsCodgGrp.push(item.code)\r\n this.temp.countyCode = item.code;\r\n },\r\n //省份下拉框方法\r\n initProvince(val) {\r\n if (!val) {\r\n //城市置空\r\n this.cityList = [];\r\n //辖区置空\r\n this.areaList = [];\r\n // this.admdvsCodgGrp = [];\r\n this.crealt();\r\n }\r\n },\r\n //城市下拉框方法\r\n initCity(val) {\r\n if (!val) {\r\n //辖区置空\r\n this.areaList = [];\r\n this.$set(this.temp, "cityCode", "");\r\n }\r\n },\r\n //辖区下拉框方法\r\n initCounty(val) {\r\n if (!val) {\r\n this.$set(this.temp, "countyCode", "");\r\n }\r\n },\r\n crealt() {\r\n this.$set(this.temp, "city", "");\r\n this.$set(this.temp, "county", "");\r\n this.$set(this.temp, "cityCode", "");\r\n this.$set(this.temp, "countyCode", "");\r\n },\r\n getSysUnitBank(bankName) {\r\n SysUnitBank({ bankName }).then((res) => {\r\n console.log(res);\r\n if (res.status === "1") {\r\n // ("银行大类"); ("开户行名称"); ("开户行ID"); ("银行账号"); sw("银行户名"); sw\r\n this.temp = {\r\n ...this.temp,\r\n bankMajcls,\r\n bankName,\r\n bankId,\r\n bankacct,\r\n bankAcctname,\r\n };\r\n }\r\n });\r\n },\r\n expExcel() {\r\n try {\r\n this.loadExp = true;\r\n const form = {\r\n // startDate: this.startDate[0],\r\n // endDate: this.startDate[1],\r\n };\r\n exportsysUnitInfo(form)\r\n .then((res) => {\r\n const blob = new Blob([res]);\r\n const fileName = "机构信息";\r\n if (blob.size > 0) {\r\n const elink = document.createElement("a");\r\n elink.style.display = "none";\r\n elink.href = URL.createObjectURL(blob);\r\n // 类似a标签下载\r\n // 自定义文件名称和导出类型。最好和后台保持一致\r\n elink.download = `${fileName}/${this.$moment().format(\r\n "YYYY-MM-DD"\r\n )}.xlsx`;\r\n document.body.appendChild(elink);\r\n elink.click();\r\n // 释放URL 对象\r\n URL.revokeObjectURL(elink.href);\r\n // 删除创建的 a 标签\r\n document.body.removeChild(elink);\r\n }\r\n this.handleClose();\r\n this.loadExp = false;\r\n })\r\n .catch(() => {\r\n this.loadExp = false;\r\n });\r\n } catch (e) {\r\n this.loadExp = false;\r\n console.log(e);\r\n }\r\n },\r\n urlClick(row) {\r\n this.onPreview({ url: row.agreementPdf });\r\n },\r\n // 文件格式验证\r\n beforeAvatarUploada(file) {\r\n this.loadingstate = true;\r\n let index = file.name.lastIndexOf(".");\r\n let extension = file.name.substr(index + 1);\r\n let extensionList = [\r\n // "png",\r\n // "PNG",\r\n // "jpg",\r\n // "JPG",\r\n // "jpeg",\r\n // "JPEG",\r\n // "bmp",\r\n // "BMP",\r\n "PDF",\r\n "pdf",\r\n ];\r\n const isLt2M = file.size / 1024 / 1024 < 10;\r\n if (!isLt2M) {\r\n this.$message({\r\n message: "封面不可超出10M",\r\n type: "warning",\r\n center: true,\r\n });\r\n return false;\r\n } else if (extensionList.indexOf(extension) < 0) {\r\n this.$message({\r\n message: "只能pdf文件",\r\n type: "error",\r\n center: true,\r\n });\r\n return false;\r\n }\r\n },\r\n urlClick(row) {\r\n this.onPreview({ url: row.agreementPdf });\r\n },\r\n onPreview(file) {\r\n const type = fileUrl(file.url || file.name);\r\n let url = `http://127.0.0.1/img/${file.url || file.name}`;\r\n if (\r\n type == "word" ||\r\n type == "wps" ||\r\n type == "pdf" ||\r\n type == "pptx" ||\r\n type == "txt"\r\n ) {\r\n this.file.type = type;\r\n url = url;\r\n // url = `https://wps-view.zhihuipk.com/?src=` + url;\r\n } else if (type == "image") {\r\n this.file.type = type;\r\n } else if (type == "video") {\r\n this.file.type = type;\r\n } else if (type == "radio") {\r\n this.file.type = type;\r\n } else {\r\n this.$message.error("该格式不可在线预览,请下载后查看");\r\n return;\r\n }\r\n this.file.fileurl = url; // 后端请求回来的文件地址url\r\n this.file.dialogVisible = true; // 弹窗\r\n this.file.title = file.name; // 文件名称\r\n },\r\n modify(row) {\r\n // this.temp = row;\r\n // this.dialogBankVisible = true;\r\n cloudSave({ id: row.id }).then((res) => {\r\n if (res.status == 1) {\r\n this.getList();\r\n this.$notify({\r\n title: "提示",\r\n message: res.info,\r\n type: "success",\r\n duration: 2000,\r\n });\r\n return;\r\n }\r\n this.$notify({\r\n title: "提示",\r\n message: res.info,\r\n type: "error",\r\n duration: 2000,\r\n });\r\n })\r\n },\r\n updateBank() {\r\n SysUnitbankSave(this.temp).then((res) => {\r\n if (res.status == 1) {\r\n this.dialogBankVisible = false;\r\n this.getList();\r\n this.$notify({\r\n title: res.info,\r\n message: "修改成功",\r\n type: "success",\r\n duration: 2000,\r\n });\r\n return;\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: "修改失败",\r\n type: "error",\r\n duration: 2000,\r\n });\r\n });\r\n },\r\n getList() {\r\n this.listLoading = true;\r\n SysUnitPage(this.listQuery).then((response) => {\r\n this.list = response.result.data;\r\n this.total = response.result.count;\r\n console.log(this.list);\r\n setTimeout(() => {\r\n this.listLoading = false;\r\n }, 1.5 * 1000);\r\n });\r\n SysUnitPage({ size: 9999, pageNo: 1 }).then((res) => {\r\n this.institutionList = res.result.data;\r\n });\r\n },\r\n handleModifyStatus(row, status) {\r\n this.$message({\r\n message: "操作成功",\r\n type: "success",\r\n });\r\n row.status = status;\r\n },\r\n resetting(formName) {\r\n this.$nextTick(() => {\r\n this.$refs[formName].resetFields();\r\n this.getList();\r\n });\r\n },\r\n add() {\r\n this.dialogStatus = "create";\r\n this.dialogFormVisible = true;\r\n this.temp = {};\r\n },\r\n onSubmit() {\r\n this.getList();\r\n },\r\n concatenateStrings(str1, str2, str3, withComma) {\r\n let result = `${str1}${withComma ? "," : ""}${str2}${withComma ? "," : ""\r\n }${str3}`;\r\n return result;\r\n },\r\n createData() {\r\n this.$refs["dataForm"].validate((valid) => {\r\n if (valid) {\r\n this.temp.admdvsCodgGrp = this.concatenateStrings(\r\n this.temp.provinceCode,\r\n this.temp.cityCode,\r\n this.temp.countyCode\r\n );\r\n this.temp.file_list = this.file_list;\r\n SysUnitSave(this.temp).then((res) => {\r\n if (res.status == 1) {\r\n this.dialogFormVisible = false;\r\n this.getList();\r\n this.$notify({\r\n title: res.info,\r\n message: "新增成功",\r\n type: "success",\r\n duration: 2000,\r\n });\r\n return;\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: "新增失败",\r\n type: "error",\r\n duration: 2000,\r\n });\r\n });\r\n }\r\n });\r\n },\r\n updateData() {\r\n console.log(this.file_list);\r\n this.$refs["dataForm"].validate((valid) => {\r\n if (valid) {\r\n this.temp.file_list = this.file_list;\r\n SysUnitSave(this.temp).then((res) => {\r\n if (res.status == 1) {\r\n this.dialogFormVisible = false;\r\n this.getList();\r\n this.$notify({\r\n title: res.info,\r\n message: "更新成功",\r\n type: "success",\r\n duration: 2000,\r\n });\r\n return;\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: "更新失败",\r\n type: "error",\r\n duration: 2000,\r\n });\r\n });\r\n }\r\n });\r\n },\r\n edit(row) {\r\n this.fileList = [];\r\n this.oneFileList = [];\r\n this.twoFileList = [];\r\n this.threeFileList = [];\r\n this.temp = row;\r\n this.dialogStatus = "update";\r\n this.dialogFormVisible = true;\r\n if (row.agreementPdf) {\r\n this.fileList.push({\r\n name: row.agreementPdf,\r\n url: row.agreementPdf,\r\n });\r\n }\r\n if (row.oneFile) {\r\n this.oneFileList.push({\r\n name: row.oneFile,\r\n url: row.oneFile,\r\n });\r\n }\r\n if (row.twoFile) {\r\n this.twoFileList.push({\r\n name: row.twoFile,\r\n url: row.twoFile,\r\n });\r\n }\r\n if (row.threeFile) {\r\n this.threeFileList.push({\r\n name: row.threeFile,\r\n url: row.threeFile,\r\n });\r\n }\r\n },\r\n handleDelete(row, index) {\r\n SysUnitDel({ id: row.id }).then((res) => {\r\n console.log(res);\r\n if (res.status == 1) {\r\n this.getList();\r\n this.$notify({\r\n title: res.info,\r\n message: "删除成功",\r\n type: "success",\r\n duration: 2000,\r\n });\r\n return;\r\n }\r\n this.$notify({\r\n title: res.info,\r\n message: "删除失败",\r\n type: "error",\r\n duration: 2000,\r\n });\r\n });\r\n // this.list.splice(index, 1)\r\n },\r\n // 处理文件上传操作\r\n handleFileUpload(file) {\r\n const obj = new FormData();\r\n //上传文件\r\n obj.append("file", file.file);\r\n obj.append("realPath", file.file.name);\r\n obj.append("fileName", file.file.name);\r\n obj.append("att_type", file.data.file_type);\r\n console.log(file.data.file_type)\r\n // 上传文件接口\r\n uploadPDF(obj).then((res) => {\r\n if (res.status == 1) {\r\n this.$message({\r\n message: "上传成功",\r\n type: "success",\r\n });\r\n if (file.data.file_type == "04") {\r\n this.temp.agreementPdf = res.result.url;\r\n }\r\n if (file.data.file_type == "01") {\r\n this.temp.oneFile = res.result.url;\r\n }\r\n if (file.data.file_type == "02") {\r\n this.temp.twoFile = res.result.url;\r\n }\r\n if (file.data.file_type == "03") {\r\n this.temp.threeFile = res.result.url;\r\n }\r\n\r\n }\r\n uploadThird(obj).then((res) => {\r\n if (res.status == 1) {\r\n const obj = {\r\n file_type: file.data.file_type,\r\n fs_d_t_o_list: [\r\n {\r\n file_id: res.result.output.file_id,\r\n att_name: res.result.output.att_name,\r\n },\r\n ],\r\n };\r\n this.addFile(obj);\r\n }\r\n });\r\n });\r\n },\r\n beforeRemove(file, fileList) {\r\n return this.$confirm(`确定移除 ${file.name}?`);\r\n },\r\n handleCertPicUrlRemove(file, fileList) {\r\n for (var i = 0; i < this.file_list.length; i++) {\r\n this.file_list[i].fs_d_t_o_list = this.file_list[i].fs_d_t_o_list.filter((item) => {\r\n return item.att_name != file.name;\r\n });\r\n }\r\n console.log(this.file_list);\r\n },\r\n addFile(newFile) {\r\n const existingFileType = this.file_list.find(\r\n (item) => item.file_type === newFile.file_type\r\n );\r\n if (existingFileType) {\r\n if (newFile.file_type == this.fileType[newFile.file_type]) {\r\n existingFileType.fs_d_t_o_list.push(newFile.fs_d_t_o_list[0]);\r\n } else {\r\n this.file_list.push(newFile);\r\n }\r\n } else {\r\n this.file_list.push(newFile);\r\n }\r\n console.log(this.file_list);\r\n },\r\n },\r\n};\r\n<\/script>\r\n<style lang="scss" scoped>\r\n.el-col-12 {\r\n padding: 0 20px 0 0;\r\n}\r\n\r\n.setCity {\r\n display: flex;\r\n gap: 10px;\r\n}\r\n</style>',".el-col-12 {\n padding: 0 20px 0 0;\n}\n\n.setCity {\n display: flex;\n gap: 10px;\n}\n\n/*# sourceMappingURL=index.vue.map */"]},media:void 0})},__vue_scope_id__$4="data-v-4ed0cbb6",__vue_module_identifier__$4=void 0,__vue_is_functional_template__$4=!1,__vue_component__$4=normalizeComponent({render:__vue_render__$4,staticRenderFns:__vue_staticRenderFns__$4},__vue_inject_styles__$4,__vue_script__$4,__vue_scope_id__$4,__vue_is_functional_template__$4,__vue_module_identifier__$4,!1,createInjector,void 0,void 0);var script$3={components:{Pagination:Pagination},name:"user",data:()=>({listLoading:!0,roleList:[],dialogFormVisible:!1,isRouterView:!1,list:[],total:0,queryForm:{pageNo:1,size:10},queryLoad:!1,loading:!1,form:{},saveRules:{name:[{required:!0,message:"请填写账号",trigger:"blur"}],mobile:[{required:!0,message:"请输入手机号码",trigger:"blur"},{validator:(e,t,n)=>{if(!t)return n(new Error("手机号不能为空"));if(!/^1[3456789]\d{9}$/.test(t))return n(new Error("请输入正确的手机号"));n()},trigger:"blur"}]},headPicLoading:!1,headPic:"",formMi:{},dialogFormVisibleMi:!1,dialogTitle:"",unitList:[]}),methods:{add(){this.form={},this.dialogFormVisible=!0,this.dialogTitle="新增用户"},edit(e){this.form={...e.row},this.dialogFormVisible=!0,this.dialogTitle="用户修改"},del(e){let t=e.row;this.$confirm("此操作将永久删除该记录, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{SysUserDel({id:t.id}).then(e=>{1===e.status?(this.$message.success(e.info),this.handleSubmit()):this.$message.error(e.info)})})},resetPassword(e){let t=e.row;this.$confirm("确定是否重置该用户的密码?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{SysUserResetPass({id:t.id}).then(e=>{1===e.status?this.$message.success(e.info):this.$message.error(e.info)})})},save(){this.$refs.form.validate(e=>{if(e){for(let e in this.roleList)this.roleList[e].id===this.form.roleId&&(this.form.roleName=this.roleList[e].name);SysUserSave(this.form).then(e=>{1===e.status?(this.$message.success(e.info),this.dialogFormVisible=!1,this.handleSubmit()):this.$message.error(e.info)})}})},reset(){this.form={},this.delHeadPic()},handleAvatarSuccess(e){1===e.status&&(this.form.headPic=e.result,this.headPic=e.result,this.headPicLoading=!0)},beforeAvatarUpload(e){const t="image/jpeg"===e.type||"image/jpg",n=e.size/1024/1024<2;return t||this.$message.error("上传头像图片只能是 JPG 或 PNG 格式!"),n||this.$message.error("上传头像图片大小不能超过 2MB!"),t&&n},delHeadPic(){this.headPic="",this.headPicLoading=!1},handleSubmit(){this.list=[],this.queryLoad=!0,SysUserPage(this.queryForm).then(e=>{if(1===e.status){setTimeout(()=>{this.listLoading=!1,this.queryLoad=!1},1500),this.total=e.result.count;let n=e.result.data;for(var t=0;t<n.length;t++)n[t].index=t+1,n[t].roleNameTem=n[t].roleName,this.list.push(n[t]);this.total>=1&&(this.loading=!0)}})},handleSizeChange(e){this.queryForm.limit=e,this.handleSubmit()},handleCurrentChange(e){this.queryForm.page=e,this.handleSubmit()}},created(){SysRoleAll().then(e=>{1===e.status&&(this.roleList=e.result)}),SysUnitAll$1().then(e=>{1===e.status&&(this.unitList=e.result)}),this.handleSubmit()}};const __vue_script__$3=script$3;var __vue_render__$3=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"pagebox"},[n("div",{staticClass:"pagebox-search"},[n("el-form",{attrs:{inline:!0,size:"mini"}},[n("el-form-item",{attrs:{label:"账号名称"}},[n("el-input",{staticStyle:{width:"200px"},attrs:{placeholder:"请输入账号",clearable:""},model:{value:e.queryForm.name,callback:function(t){e.$set(e.queryForm,"name",t)},expression:"queryForm.name"}})],1),e._v(" "),n("el-form-item",{attrs:{label:"联系方式 ",clearable:""}},[n("el-input",{staticStyle:{width:"200px"},attrs:{placeholder:"请输入联系方式",clearable:""},model:{value:e.queryForm.mobile,callback:function(t){e.$set(e.queryForm,"mobile",t)},expression:"queryForm.mobile"}})],1),e._v(" "),n("el-form-item",{staticStyle:{"margin-right":"0"}},[n("el-button",{staticStyle:{border:"none"},attrs:{type:"primary",size:"small",icon:"el-icon-search",disabled:e.queryLoad},on:{click:e.handleSubmit}},[e._v("查询")]),e._v(" "),n("el-button",{attrs:{type:"primary"},on:{click:function(t){return e.add()}}},[n("i",{staticClass:"el-icon-plus"}),e._v("\n 新增\n ")])],1)],1)],1),e._v(" "),n("div",{staticClass:"pagebox-content"},[n("el-table",{staticStyle:{width:"100%"},attrs:{height:"65vh",border:"",data:e.list}},[n("el-table-column",{attrs:{prop:"name",align:"center",label:"账号"}}),e._v(" "),n("el-table-column",{attrs:{prop:"mobile",align:"center",label:"联系方式"}}),e._v(" "),n("el-table-column",{attrs:{prop:"roleNameTem",align:"center",label:"角色"}}),e._v(" "),n("el-table-column",{attrs:{prop:"status",align:"center",label:"状态"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("span",[e._v(e._s("1"==r.status?"有效":"2"==r.status?"无效":"-"))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"操作",align:"center",width:"280"},scopedSlots:e._u([{key:"default",fn:function(t){return[n("div",{staticClass:"user_btn_items"},[n("el-button",{attrs:{type:"primary",size:"mini"},nativeOn:{click:function(n){return n.preventDefault(),e.edit(t)}}},[e._v("编辑")]),e._v(" "),n("el-button",{attrs:{type:"danger",size:"mini"},nativeOn:{click:function(n){return n.preventDefault(),e.del(t)}}},[e._v("移除")]),e._v(" "),n("el-button",{attrs:{type:"primary",size:"mini"},nativeOn:{click:function(n){return n.preventDefault(),e.resetPassword(t)}}},[e._v("密码重置")])],1)]}}])})],1),e._v(" "),n("pagination",{directives:[{name:"show",rawName:"v-show",value:e.total>0,expression:"total > 0"}],attrs:{total:e.total,page:e.queryForm.page,limit:e.queryForm.limit},on:{"update:page":function(t){return e.$set(e.queryForm,"page",t)},"update:limit":function(t){return e.$set(e.queryForm,"limit",t)},pagination:e.handleSubmit}})],1),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:e.dialogTitle,width:"40%",visible:e.dialogFormVisible,"modal-append-to-body":!1},on:{"update:visible":function(t){e.dialogFormVisible=t}}},[n("el-form",{ref:"form",attrs:{model:e.form,rules:e.saveRules,"label-position":"right","label-width":"120px"}},[n("el-row",{attrs:{gutter:20}},[n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"账号:",prop:"name"}},[n("el-input",{staticStyle:{width:"100%"},attrs:{size:"small",placeholder:"请输入账号",clearable:""},model:{value:e.form.name,callback:function(t){e.$set(e.form,"name",t)},expression:"form.name"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"联系方式:",prop:"mobile"}},[n("el-input",{staticStyle:{width:"100%"},attrs:{size:"small",placeholder:"请输入手机号码",clearable:""},model:{value:e.form.mobile,callback:function(t){e.$set(e.form,"mobile",t)},expression:"form.mobile"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"所属角色:",prop:"roleId"}},[n("el-select",{staticStyle:{width:"100%"},attrs:{size:"small",placeholder:"请选择所属角色"},model:{value:e.form.roleId,callback:function(t){e.$set(e.form,"roleId",t)},expression:"form.roleId"}},e._l(e.roleList,function(e){return n("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})}),1)],1)],1),e._v(" "),"1751170028811567106"!=e.form.roleId&&"1751169876856127489"!=e.form.roleId?n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"所属机构:",prop:"unitId"}},[n("el-select",{staticStyle:{width:"100%"},attrs:{size:"small",placeholder:"请选择所属机构"},model:{value:e.form.unitId,callback:function(t){e.$set(e.form,"unitId",t)},expression:"form.unitId"}},e._l(e.unitList,function(e){return n("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})}),1)],1)],1):e._e(),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"状态:"}},[n("el-select",{staticStyle:{width:"100%"},attrs:{size:"small",placeholder:"请选择状态",clearable:""},model:{value:e.form.status,callback:function(t){e.$set(e.form,"status",t)},expression:"form.status"}},[n("el-option",{attrs:{label:"无效",value:"2"}}),e._v(" "),n("el-option",{attrs:{label:"有效",value:"1"}})],1)],1)],1)],1)],1),e._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.save}},[e._v("保存")]),e._v(" "),n("el-button",{attrs:{size:"small"},on:{click:e.reset}},[e._v("重置")])],1)],1),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"密码修改",visible:e.dialogFormVisibleMi,"modal-append-to-body":!1,width:"700px"},on:{"update:visible":function(t){e.dialogFormVisibleMi=t}}},[n("el-form",{ref:"form",staticStyle:{display:"flex","flex-direction":"column","justify-content":"center","align-items":"center"},attrs:{model:e.formMi,rules:e.saveRules}},[n("div",{staticClass:"user_form_item"},[n("el-form-item",{attrs:{label:"账号:"}},[n("el-input",{staticStyle:{width:"100%"},attrs:{disabled:""},model:{value:e.formMi.name,callback:function(t){e.$set(e.formMi,"name",t)},expression:"formMi.name"}})],1)],1),e._v(" "),n("div",{staticClass:"user_form_item"},[n("el-form-item",{attrs:{label:"密码:"}},[n("el-input",{staticStyle:{width:"100%"},attrs:{type:"password",clearable:""},model:{value:e.formMi.password,callback:function(t){e.$set(e.formMi,"password",t)},expression:"formMi.password"}})],1)],1)]),e._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"})],1)],1)},__vue_staticRenderFns__$3=[];__vue_render__$3._withStripped=!0;const __vue_inject_styles__$3=function(e){e&&e("data-v-ebd64368_0",{source:".pagebox[data-v-ebd64368] {\n padding: 20px;\n}\n.el-form-item__content[data-v-ebd64368] {\n margin-left: 0 !important;\n}\n.el-dialog__title[data-v-ebd64368] {\n font-size: 14px;\n}\n\n/*# sourceMappingURL=index.vue.map */",map:{version:3,sources:["E:\\公司项目\\changhuxianlocal\\changhuxian-vue-components\\src\\pages\\sys\\user\\index.vue","index.vue"],names:[],mappings:"AA+TA;EACA,aAAA;AC9TA;ADkUA;EACA,yBAAA;AC/TA;ADyVA;EACA,eAAA;ACtVA;;AAEA,oCAAoC",file:"index.vue",sourcesContent:['<template>\r\n <div class="pagebox">\r\n <div class="pagebox-search">\r\n <el-form :inline="true" size="mini">\r\n <el-form-item label="账号名称">\r\n <el-input v-model="queryForm.name" placeholder="请输入账号" clearable style="width: 200px" />\r\n </el-form-item>\r\n <el-form-item label="联系方式 " clearable>\r\n <el-input v-model="queryForm.mobile" placeholder="请输入联系方式" clearable style="width: 200px" />\r\n </el-form-item>\r\n <el-form-item style="margin-right: 0">\r\n <el-button type="primary" size="small" icon="el-icon-search" :disabled="queryLoad" @click="handleSubmit"\r\n style="border: none">查询</el-button>\r\n <el-button type="primary" @click="add()">\r\n <i class="el-icon-plus" />\r\n 新增\r\n </el-button>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n <div class="pagebox-content">\r\n <el-table height="65vh" border :data="list" style="width: 100%">\r\n \x3c!-- <el-table-column prop="index" align="center" label="排序" width="100" /> --\x3e\r\n <el-table-column prop="name" align="center" label="账号" />\r\n <el-table-column prop="mobile" align="center" label="联系方式" />\r\n <el-table-column prop="roleNameTem" align="center" label="角色" />\r\n <el-table-column prop="status" align="center" label="状态">\r\n <template slot-scope="{row}">\r\n <span>{{ row.status == \'1\' ? \'有效\' : row.status == \'2\' ? \'无效\' : \'-\' }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label="操作" align="center" width="280" >\r\n <template slot-scope="scope">\r\n <div class="user_btn_items">\r\n <el-button type="primary" @click.native.prevent="edit(scope)" size="mini">编辑</el-button>\r\n <el-button type="danger" @click.native.prevent="del(scope)" size="mini">移除</el-button>\r\n <el-button type="primary" @click.native.prevent="resetPassword(scope)" size="mini">密码重置</el-button>\r\n </div>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <pagination v-show="total > 0" :total="total" :page.sync="queryForm.page" :limit.sync="queryForm.limit"\r\n @pagination="handleSubmit" />\r\n </div>\r\n\r\n <el-dialog\r\n :close-on-click-modal="false" \r\n :close-on-press-escape="false"\r\n :title="dialogTitle" width="40%" :visible.sync="dialogFormVisible" :modal-append-to-body="false">\r\n <el-form :model="form" :rules="saveRules" ref="form" label-position="right" label-width="120px">\r\n <el-row :gutter="20">\r\n <el-col :span="12">\r\n <el-form-item label="账号:" prop="name">\r\n <el-input size="small" v-model="form.name" style="width: 100%" placeholder="请输入账号" clearable></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="联系方式:" prop="mobile">\r\n <el-input size="small" v-model="form.mobile" style="width: 100%" placeholder="请输入手机号码" clearable></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="所属角色:" prop="roleId">\r\n <el-select size="small" v-model="form.roleId" placeholder="请选择所属角色" style="width: 100%">\r\n <el-option v-for="item in roleList" :key="item.id" :label="item.name" :value="item.id"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12" v-if="form.roleId != \'1751170028811567106\' && form.roleId != \'1751169876856127489\'">\r\n <el-form-item label="所属机构:" prop="unitId">\r\n <el-select size="small" v-model="form.unitId" placeholder="请选择所属机构" style="width: 100%">\r\n <el-option v-for="item in unitList" :key="item.id" :label="item.name" :value="item.id"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span="12">\r\n <el-form-item label="状态:">\r\n <el-select size="small" v-model="form.status" placeholder="请选择状态" style="width: 100%" clearable>\r\n <el-option label="无效" :value="\'2\'"></el-option>\r\n <el-option label="有效" :value="\'1\'"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <div slot="footer" class="dialog-footer">\r\n <el-button type="primary" size="small" @click="save">保存</el-button>\r\n <el-button @click="reset" size="small">重置</el-button>\r\n </div>\r\n </el-dialog>\r\n\r\n \x3c!-- 密码修改 --\x3e\r\n <el-dialog\r\n :close-on-click-modal="false" \r\n :close-on-press-escape="false"\r\n title="密码修改" :visible.sync="dialogFormVisibleMi" :modal-append-to-body="false" width="700px">\r\n <el-form :model="formMi" :rules="saveRules" ref="form" style="\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n ">\r\n \x3c!-- --\x3e\r\n <div class="user_form_item">\r\n <el-form-item label="账号:">\r\n <el-input v-model="formMi.name" style="width: 100%" disabled></el-input>\r\n </el-form-item>\r\n </div>\r\n <div class="user_form_item">\r\n <el-form-item label="密码:">\r\n <el-input type="password" v-model="formMi.password" style="width: 100%" clearable></el-input>\r\n </el-form-item>\r\n </div>\r\n </el-form>\r\n \x3c!-- 保存/重置 --\x3e\r\n <div slot="footer" class="dialog-footer">\r\n \x3c!-- <el-button type="primary" @click="savePassWord">保存</el-button>--\x3e\r\n </div>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n<script>\r\nimport Pagination from \'@/components/Pagination\'\r\nimport {\r\n SysUserUPPass,\r\n SysUserResetPass,\r\n SysUserPage,\r\n SysUserDel,\r\n SysUserSave,\r\n SysRoleAll,\r\n SysUnitAll,\r\n} from "@/api/sys.js";\r\n\r\nexport default {\r\n components: { Pagination },\r\n // inject:[\'reload\'],\r\n name: "user",\r\n data() {\r\n var checkPhone = (rule, value, callback) => {\r\n // 手机号验证\r\n if (!value) {\r\n return callback(new Error("手机号不能为空"));\r\n } else {\r\n const reg = /^1[3456789]\\d{9}$/;\r\n if (reg.test(value)) {\r\n callback();\r\n } else {\r\n return callback(new Error("请输入正确的手机号"));\r\n }\r\n }\r\n };\r\n return {\r\n listLoading: true,\r\n roleList: [],\r\n dialogFormVisible: false,\r\n isRouterView: false,\r\n list: [],\r\n total: 0,\r\n queryForm: {\r\n pageNo: 1,\r\n size: 10,\r\n },\r\n queryLoad: false,\r\n loading: false,\r\n form: {},\r\n saveRules: {\r\n name: [{ required: true, message: "请填写账号", trigger: "blur" }],\r\n mobile: [\r\n { required: true, message: "请输入手机号码", trigger: "blur" },\r\n { validator: checkPhone, trigger: "blur" },\r\n ],\r\n },\r\n headPicLoading: false,\r\n headPic: "",\r\n formMi: {},\r\n dialogFormVisibleMi: false,\r\n dialogTitle: "",\r\n unitList: []\r\n };\r\n },\r\n methods: {\r\n add() {\r\n this.form = {};\r\n this.dialogFormVisible = true;\r\n this.dialogTitle = "新增用户";\r\n },\r\n edit(data) {\r\n this.form = { ...data.row };\r\n this.dialogFormVisible = true;\r\n this.dialogTitle = "用户修改";\r\n },\r\n del(data) {\r\n let row = data.row;\r\n this.$confirm("此操作将永久删除该记录, 是否继续?", "提示", {\r\n confirmButtonText: "确定",\r\n cancelButtonText: "取消",\r\n type: "warning",\r\n }).then(() => {\r\n SysUserDel({ id: row.id }).then((res) => {\r\n if (res.status === 1) {\r\n this.$message.success(res.info);\r\n this.handleSubmit();\r\n } else {\r\n this.$message.error(res.info);\r\n }\r\n });\r\n });\r\n },\r\n resetPassword(data) {\r\n let row = data.row;\r\n this.$confirm("确定是否重置该用户的密码?", "提示", {\r\n confirmButtonText: "确定",\r\n cancelButtonText: "取消",\r\n type: "warning",\r\n }).then(() => {\r\n SysUserResetPass({\r\n id: row.id,\r\n }).then((res) => {\r\n if (res.status === 1) {\r\n this.$message.success(res.info);\r\n } else {\r\n this.$message.error(res.info);\r\n }\r\n });\r\n });\r\n },\r\n save() {\r\n this.$refs.form.validate((valid) => {\r\n if (valid) {\r\n for (let v in this.roleList) {\r\n if (this.roleList[v].id === this.form.roleId) {\r\n this.form.roleName = this.roleList[v].name;\r\n }\r\n }\r\n SysUserSave(this.form).then((res) => {\r\n if (res.status === 1) {\r\n this.$message.success(res.info);\r\n this.dialogFormVisible = false;\r\n this.handleSubmit();\r\n } else {\r\n this.$message.error(res.info);\r\n }\r\n });\r\n }\r\n });\r\n },\r\n reset() {\r\n this.form = {};\r\n this.delHeadPic();\r\n },\r\n handleAvatarSuccess(res) {\r\n if (res.status === 1) {\r\n this.form.headPic = res.result;\r\n this.headPic = res.result;\r\n this.headPicLoading = true;\r\n }\r\n },\r\n beforeAvatarUpload(file) {\r\n const fileType = file.type === "image/jpeg" || "image/jpg";\r\n const isLt2M = file.size / 1024 / 1024 < 2;\r\n if (!fileType) {\r\n this.$message.error("上传头像图片只能是 JPG 或 PNG 格式!");\r\n }\r\n if (!isLt2M) {\r\n this.$message.error("上传头像图片大小不能超过 2MB!");\r\n }\r\n return fileType && isLt2M;\r\n },\r\n delHeadPic() {\r\n this.headPic = "";\r\n this.headPicLoading = false;\r\n },\r\n handleSubmit() {\r\n this.list = [];\r\n this.queryLoad = true;\r\n SysUserPage(this.queryForm).then((res) => {\r\n if (res.status === 1) {\r\n setTimeout(() => {\r\n this.listLoading = false\r\n this.queryLoad = false;\r\n }, 1.5 * 1000)\r\n this.total = res.result.count;\r\n let dep = res.result.data;\r\n for (var i = 0; i < dep.length; i++) {\r\n dep[i].index = i + 1;\r\n dep[i].roleNameTem = dep[i].roleName;\r\n this.list.push(dep[i]);\r\n }\r\n if (this.total >= 1) {\r\n this.loading = true;\r\n }\r\n }\r\n });\r\n },\r\n handleSizeChange(val) {\r\n this.queryForm.limit = val;\r\n this.handleSubmit();\r\n },\r\n handleCurrentChange(val) {\r\n this.queryForm.page = val;\r\n this.handleSubmit();\r\n },\r\n },\r\n created() {\r\n SysRoleAll().then((res) => {\r\n if (res.status === 1) {\r\n this.roleList = res.result;\r\n }\r\n });\r\n SysUnitAll().then((res) => {\r\n if (res.status === 1) {\r\n this.unitList = res.result;\r\n }\r\n });\r\n this.handleSubmit();\r\n },\r\n};\r\n<\/script>\r\n<style lang="scss" scoped>\r\n.pagebox {\r\n padding: 20px;\r\n}\r\n\r\n\r\n.el-form-item__content {\r\n margin-left: 0 !important;\r\n}\r\n\r\n.el-dialog__wrapper>>>.el-dialog__header {\r\n background-color: #f8f8f8;\r\n}\r\n\r\n.el-table>>>td {\r\n text-align: center;\r\n}\r\n\r\n.el-table>>>th {\r\n text-align: center;\r\n}\r\n\r\n.role_form_item>>>.el-form-item {\r\n display: flex;\r\n align-items: center;\r\n align-content: space-between;\r\n justify-content: space-evenly;\r\n}\r\n\r\n.role_btn_items>>>.el-button {\r\n padding: 5px 10px;\r\n}\r\n\r\n.el-dialog__title {\r\n font-size: 14px;\r\n}\r\n</style>\r\n',".pagebox {\n padding: 20px;\n}\n\n.el-form-item__content {\n margin-left: 0 !important;\n}\n\n.el-dialog__title {\n font-size: 14px;\n}\n\n/*# sourceMappingURL=index.vue.map */"]},media:void 0})},__vue_scope_id__$3="data-v-ebd64368",__vue_module_identifier__$3=void 0,__vue_is_functional_template__$3=!1,__vue_component__$3=normalizeComponent({render:__vue_render__$3,staticRenderFns:__vue_staticRenderFns__$3},__vue_inject_styles__$3,__vue_script__$3,__vue_scope_id__$3,__vue_is_functional_template__$3,__vue_module_identifier__$3,!1,createInjector,void 0,void 0);var script$2={name:"role",data:()=>({listLoading:!0,dialogFormVisible:!1,isRouterView:!1,list:[],total:0,queryForm:{pageNo:1,size:10},queryLoad:!1,loading:!1,form:{},saveRules:{name:[{required:!0,message:"请填写角色名称",trigger:"blur"}],level:[{required:!0,message:"请选择权限级别",trigger:"blur"}]},nodeTree:[],defaultProps:{children:"children",label:"name"},nodes:[],dialogTitle:""}),components:{Pagination:Pagination},watch:{$route:{handler(e){if("/sys/role/save"==e.path)this.isRouterView=!0;else{"1"==this.$route.query.refresh&&this.handleSubmit(),this.isRouterView=!1}},immediate:!0}},methods:{add(){this.form={},this.dialogFormVisible=!0,this.dialogTitle="新增角色"},edit(e){this.form={...e.row},this.dialogTitle="角色修改",SysRoleAccess({roleId:this.form.id}).then(e=>{if(console.log(e,"resv"),1===e.status){let t=e.result;console.log(t,"list");let n=[];for(let[e,r]of t.entries())n.push(r.nodeId);this.$refs.tree.setCheckedKeys(n),console.log(n,"checkedKeys")}}),this.dialogFormVisible=!0},del(e){let t=e.row;this.$confirm("此操作将永久删除该记录, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{SysRoleDel({id:t.id}).then(e=>{1===e.status?(this.$message.success(e.info),this.handleSubmit()):this.$message.error(e.info)})})},save(){this.$refs.form.validate(e=>{e&&(this.form.nodeIds=this.$refs.tree.getCheckedKeys().join(","),SysRoleSave(this.form).then(e=>{1===e.status?(this.$message.success(e.info),this.dialogFormVisible=!1,this.handleSubmit(),this.reset()):this.$message.error(e.info)}))})},reset(){this.form={}},handleSubmit(){this.list=[],this.listLoading=!0,this.queryLoad=!0,SysRolePage(this.queryForm).then(e=>{if(1===e.status){setTimeout(()=>{this.listLoading=!1,this.queryLoad=!1},1500),this.total=e.result.count;let n=e.result.data;for(var t=0;t<n.length;t++)n[t].index=t+1,this.list.push(n[t]);this.total>=1&&(this.loading=!0),console.log(this.loading)}-1===e.status&&(this.$fn.delCookie("user"),this.$store.dispatch("setUser",""),this.$store.dispatch("setRowData",{}),this.$router.push("/login"))})},handleSizeChange(e){this.queryForm.limit=e,this.handleSubmit()},handleCurrentChange(e){this.queryForm.page=e,this.handleSubmit()}},created(){this.handleSubmit(),SysNodeTree().then(e=>{if(1===e.status){this.nodeTree=[];let t={id:"0",name:"菜单",lv:0,type:"1",children:e.result};this.nodeTree.push(t)}})}};const __vue_script__$2=script$2;var __vue_render__$2=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"pagebox"},[n("div",{staticClass:"pagebox-search"},[n("el-form",{attrs:{inline:!0,size:"mini"}},[n("el-form-item",{attrs:{label:"角色名称"}},[n("el-input",{staticStyle:{width:"200px"},attrs:{placeholder:"请输入角色名称",clearable:""},model:{value:e.queryForm.name,callback:function(t){e.$set(e.queryForm,"name",t)},expression:"queryForm.name"}})],1),e._v(" "),n("el-form-item",{staticStyle:{"margin-right":"0"}},[n("el-button",{attrs:{type:"primary",disabled:e.queryLoad},on:{click:e.handleSubmit}},[n("i",{staticClass:"el-icon-search"}),e._v("\n 查询\n ")])],1),e._v(" "),n("el-form-item",{staticStyle:{"margin-left":"15px"}},[n("el-button",{attrs:{type:"primary"},on:{click:e.add}},[n("i",{staticClass:"el-icon-plus"}),e._v("\n 新增\n ")]),e._v(" "),n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:e.dialogTitle,visible:e.dialogFormVisible,"modal-append-to-body":!1,width:"600px"},on:{"update:visible":function(t){e.dialogFormVisible=t}}},[n("el-form",{ref:"form",staticStyle:{display:"flex","flex-direction":"column-reverse","justify-content":"center","align-items":"center"},attrs:{model:e.form,rules:e.saveRules}},[n("div",{staticClass:"form-box"},[n("br"),e._v(" "),n("div",{staticClass:"role_form_item"},[n("el-form-item",{attrs:{prop:"name",label:"角色名称:"}},[n("el-input",{staticStyle:{width:"380px"},attrs:{autocomplete:"off",clearable:""},model:{value:e.form.name,callback:function(t){e.$set(e.form,"name",t)},expression:"form.name"}})],1)],1)]),e._v(" "),n("div",{staticClass:"tree-box"},[n("el-tree",{ref:"tree",staticClass:"filter-tree",staticStyle:{width:"380px"},attrs:{data:e.nodeTree,props:e.defaultProps,"expand-on-click-node":!0,"show-checkbox":"","node-key":"id"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.node,l=t.data;return n("span",{staticClass:"custom-tree-node"},[n("span",[n("i",{class:l.children.length>0?"el-icon-folder-opened":"el-icon-folder"}),e._v("\n "+e._s(r.label)+"\n ")])])}}])})],1)]),e._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{type:"primary"},on:{click:e.save}},[e._v("保存")]),e._v(" "),n("el-button",{on:{click:e.reset}},[e._v("重置")])],1)],1)],1)],1)],1),e._v(" "),n("div",{staticClass:"pagebox-content"},[n("el-table",{staticStyle:{width:"100%"},attrs:{data:e.list,border:"",height:"65vh"}},[n("el-table-column",{attrs:{prop:"name",label:"角色名称",align:"center"}}),e._v(" "),n("el-table-column",{attrs:{prop:"createTime",label:"创建时间",align:"center"}}),e._v(" "),n("el-table-column",{attrs:{label:"操作",width:"150",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){return[n("div",{staticClass:"role_btn_items"},[n("el-button",{staticStyle:{color:"#fff","background-color":"#93c96d"},attrs:{round:"",type:"text",size:"mini"},nativeOn:{click:function(n){return n.preventDefault(),e.edit(t)}}},[e._v("编辑")]),e._v(" "),n("el-button",{staticStyle:{color:"#fff","background-color":"#ff7f50"},attrs:{round:"",type:"text",size:"mini"},nativeOn:{click:function(n){return n.preventDefault(),e.del(t)}}},[e._v("移除")])],1)]}}])})],1),e._v(" "),n("pagination",{directives:[{name:"show",rawName:"v-show",value:e.total>0,expression:"total > 0"}],attrs:{total:e.total,page:e.queryForm.page,limit:e.queryForm.limit},on:{"update:page":function(t){return e.$set(e.queryForm,"page",t)},"update:limit":function(t){return e.$set(e.queryForm,"limit",t)},pagination:e.handleSubmit}})],1)])},__vue_staticRenderFns__$2=[];__vue_render__$2._withStripped=!0;const __vue_inject_styles__$2=function(e){e&&e("data-v-a6de6998_0",{source:".pagebox[data-v-a6de6998] {\n padding: 20px;\n}\n.el-form-item[data-v-a6de6998] {\n margin-bottom: 10px !important;\n}\n.el-form-item__content[data-v-a6de6998] {\n margin-left: 0 !important;\n}\n.el-dialog__title[data-v-a6de6998] {\n font-size: 14px;\n}\n\n/*# sourceMappingURL=index.vue.map */",map:{version:3,sources:["E:\\公司项目\\changhuxianlocal\\changhuxian-vue-components\\src\\pages\\sys\\role\\index.vue","index.vue"],names:[],mappings:"AAgRA;EACA,aAAA;AC/QA;ADkRA;EACA,8BAAA;AC/QA;ADkRA;EACA,yBAAA;AC/QA;ADySA;EACA,eAAA;ACtSA;;AAEA,oCAAoC",file:"index.vue",sourcesContent:['<template>\r\n <div class="pagebox">\r\n <div class="pagebox-search">\r\n <el-form :inline="true" size="mini">\r\n \x3c!-- 查询 start --\x3e\r\n <el-form-item label="角色名称">\r\n <el-input v-model="queryForm.name" placeholder="请输入角色名称" clearable style="width: 200px" />\r\n </el-form-item>\r\n <el-form-item style="margin-right: 0">\r\n <el-button type="primary" @click="handleSubmit" :disabled="queryLoad">\r\n <i class="el-icon-search" />\r\n 查询\r\n </el-button>\r\n </el-form-item>\r\n \x3c!-- end --\x3e\r\n \x3c!-- <div style="border:1px solid #ddd"></div> --\x3e\r\n \x3c!-- 新增 start --\x3e\r\n <el-form-item style="margin-left: 15px">\r\n <el-button type="primary" @click="add">\r\n <i class="el-icon-plus" />\r\n 新增\r\n </el-button>\r\n <el-dialog\r\n :close-on-click-modal="false" \r\n :close-on-press-escape="false"\r\n :title="dialogTitle" :visible.sync="dialogFormVisible" :modal-append-to-body="false" width="600px">\r\n <el-form :model="form" :rules="saveRules" ref="form" style="\r\n display: flex;\r\n flex-direction: column-reverse;\r\n justify-content: center;\r\n align-items: center;\r\n ">\r\n <div class="form-box">\r\n <br />\r\n \x3c!-- 角色名称 --\x3e\r\n <div class="role_form_item">\r\n <el-form-item prop="name" label="角色名称:">\r\n <el-input v-model="form.name" autocomplete="off" clearable style="width: 380px" />\r\n </el-form-item>\r\n </div>\r\n </div>\r\n \x3c!-- 权限 --\x3e\r\n <div class="tree-box">\r\n <el-tree class="filter-tree" :data="nodeTree" :props="defaultProps" :expand-on-click-node="true"\r\n show-checkbox node-key="id" ref="tree" style="width: 380px">\r\n <span class="custom-tree-node" slot-scope="{ node, data }">\r\n <span>\r\n <i :class="data.children.length > 0\r\n ? \'el-icon-folder-opened\'\r\n : \'el-icon-folder\'\r\n "></i>\r\n {{ node.label }}\r\n </span>\r\n </span>\r\n </el-tree>\r\n </div>\r\n </el-form>\r\n \x3c!-- 保存/重置 --\x3e\r\n <div slot="footer" class="dialog-footer">\r\n <el-button type="primary" @click="save">保存</el-button>\r\n <el-button @click="reset">重置</el-button>\r\n </div>\r\n </el-dialog>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n \x3c!-- 主体 --\x3e\r\n <div class="pagebox-content">\r\n <el-table :data="list" border height="65vh" style="width: 100%">\r\n \x3c!-- <el-table-column prop="index" label="排序" width="100" align="center"/> --\x3e\r\n <el-table-column prop="name" label="角色名称" align="center"/>\r\n <el-table-column prop="createTime" label="创建时间" align="center"/>\r\n <el-table-column label="操作" width="150" align="center">\r\n <template slot-scope="scope">\r\n <div class="role_btn_items">\r\n <el-button round style="color: #fff; background-color: #93c96d" @click.native.prevent="edit(scope)"\r\n type="text" size="mini">编辑</el-button>\r\n <el-button round style="color: #fff; background-color: #ff7f50" @click.native.prevent="del(scope)"\r\n type="text" size="mini">移除</el-button>\r\n </div>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <pagination v-show="total > 0" :total="total" :page.sync="queryForm.page" :limit.sync="queryForm.limit"\r\n @pagination="handleSubmit" />\r\n </div>\r\n </div>\r\n</template>\r\n<script>\r\nimport {\r\n SysRoleAll,\r\n SysRoleDel,\r\n SysRoleAccess,\r\n SysRolePage,\r\n SysRoleSave,\r\n SysNodeTree,\r\n} from "@/api/sys.js";\r\nimport Pagination from \'@/components/Pagination\'\r\nexport default {\r\n name: "role",\r\n data() {\r\n return {\r\n listLoading: true,\r\n dialogFormVisible: false,\r\n isRouterView: false,\r\n list: [],\r\n total: 0,\r\n queryForm: {\r\n pageNo: 1,\r\n size: 10,\r\n },\r\n queryLoad: false,\r\n loading: false,\r\n form: {},\r\n saveRules: {\r\n name: [{ required: true, message: "请填写角色名称", trigger: "blur" }],\r\n level: [{ required: true, message: "请选择权限级别", trigger: "blur" }],\r\n },\r\n nodeTree: [],\r\n defaultProps: {\r\n children: "children",\r\n label: "name",\r\n },\r\n nodes: [],\r\n dialogTitle: "",\r\n };\r\n },\r\n components: { Pagination },\r\n watch: {\r\n $route: {\r\n handler(route) {\r\n if (route.path == "/sys/role/save") {\r\n this.isRouterView = true;\r\n } else {\r\n let refresh = this.$route.query.refresh;\r\n if (refresh == "1") {\r\n this.handleSubmit();\r\n }\r\n this.isRouterView = false;\r\n }\r\n },\r\n immediate: true,\r\n },\r\n },\r\n methods: {\r\n add() {\r\n this.form = {};\r\n this.dialogFormVisible = true;\r\n this.dialogTitle = "新增角色";\r\n },\r\n edit(data) {\r\n this.form = { ...data.row };\r\n this.dialogTitle = "角色修改";\r\n SysRoleAccess({\r\n roleId: this.form.id,\r\n }).then((resv) => {\r\n console.log(resv,\'resv\');\r\n \r\n if (resv.status === 1) {\r\n let list = resv.result;\r\n console.log(list,\'list\');\r\n let checkedKeys = [];\r\n for (let [i, v] of list.entries()) {\r\n // if (v.hasSon == "0") {\r\n checkedKeys.push(v.nodeId);\r\n // }\r\n }\r\n this.$refs.tree.setCheckedKeys(checkedKeys);\r\n console.log(checkedKeys,\'checkedKeys\');\r\n }\r\n });\r\n this.dialogFormVisible = true;\r\n },\r\n del(data) {\r\n let row = data.row;\r\n this.$confirm("此操作将永久删除该记录, 是否继续?", "提示", {\r\n confirmButtonText: "确定",\r\n cancelButtonText: "取消",\r\n type: "warning",\r\n }).then(() => {\r\n SysRoleDel({ id: row.id }).then((res) => {\r\n if (res.status === 1) {\r\n this.$message.success(res.info);\r\n this.handleSubmit();\r\n } else {\r\n this.$message.error(res.info);\r\n }\r\n });\r\n });\r\n },\r\n // 保存\r\n save() {\r\n this.$refs.form.validate((valid) => {\r\n if (valid) {\r\n this.form.nodeIds = this.$refs.tree.getCheckedKeys().join(",");\r\n SysRoleSave(this.form).then((res) => {\r\n if (res.status === 1) {\r\n this.$message.success(res.info);\r\n this.dialogFormVisible = false;\r\n this.handleSubmit();\r\n this.reset();\r\n } else {\r\n this.$message.error(res.info);\r\n }\r\n });\r\n }\r\n });\r\n },\r\n reset() {\r\n this.form = {};\r\n },\r\n\r\n // 查询\r\n handleSubmit() {\r\n this.list = [];\r\n this.listLoading = true\r\n this.queryLoad = true;\r\n SysRolePage(this.queryForm).then((res) => {\r\n if (res.status === 1) {\r\n setTimeout(() => {\r\n this.listLoading = false\r\n this.queryLoad = false;\r\n }, 1.5 * 1000)\r\n this.total = res.result.count;\r\n let dep = res.result.data;\r\n for (var i = 0; i < dep.length; i++) {\r\n dep[i].index = i + 1;\r\n this.list.push(dep[i]);\r\n }\r\n // console.log(this.list);\r\n if (this.total >= 1) {\r\n this.loading = true;\r\n }\r\n console.log(this.loading);\r\n }\r\n // 判断status为-1的时候,则返回登录页面\r\n if (res.status === -1) {\r\n this.$fn.delCookie("user");\r\n this.$store.dispatch("setUser", "");\r\n this.$store.dispatch("setRowData", {});\r\n this.$router.push("/login");\r\n }\r\n });\r\n },\r\n handleSizeChange(val) {\r\n this.queryForm.limit = val;\r\n this.handleSubmit();\r\n },\r\n handleCurrentChange(val) {\r\n this.queryForm.page = val;\r\n this.handleSubmit();\r\n },\r\n },\r\n created() {\r\n this.handleSubmit();\r\n SysNodeTree().then((res) => {\r\n if (res.status === 1) {\r\n this.nodeTree = [];\r\n let baseNode = {\r\n id: "0",\r\n name: "菜单",\r\n lv: 0,\r\n type: "1",\r\n children: res.result,\r\n };\r\n this.nodeTree.push(baseNode);\r\n }\r\n });\r\n },\r\n};\r\n<\/script>\r\n<style lang="scss" scoped>\r\n.pagebox {\r\n padding: 20px;\r\n}\r\n\r\n.el-form-item {\r\n margin-bottom: 10px !important;\r\n}\r\n\r\n.el-form-item__content {\r\n margin-left: 0 !important;\r\n}\r\n\r\n.el-dialog__wrapper>>>.el-dialog__header {\r\n background-color: #f8f8f8;\r\n}\r\n\r\n.el-table>>>td {\r\n text-align: center;\r\n}\r\n\r\n.el-table>>>th {\r\n text-align: center;\r\n}\r\n\r\n.role_form_item>>>.el-form-item {\r\n display: flex;\r\n align-items: center;\r\n align-content: space-between;\r\n justify-content: space-evenly;\r\n}\r\n\r\n.role_btn_items>>>.el-button {\r\n padding: 5px 10px;\r\n}\r\n\r\n.el-dialog__title {\r\n font-size: 14px;\r\n}\r\n</style>\r\n\r\n',".pagebox {\n padding: 20px;\n}\n\n.el-form-item {\n margin-bottom: 10px !important;\n}\n\n.el-form-item__content {\n margin-left: 0 !important;\n}\n\n.el-dialog__title {\n font-size: 14px;\n}\n\n/*# sourceMappingURL=index.vue.map */"]},media:void 0})},__vue_scope_id__$2="data-v-a6de6998",__vue_module_identifier__$2=void 0,__vue_is_functional_template__$2=!1,__vue_component__$2=normalizeComponent({render:__vue_render__$2,staticRenderFns:__vue_staticRenderFns__$2},__vue_inject_styles__$2,__vue_script__$2,__vue_scope_id__$2,__vue_is_functional_template__$2,__vue_module_identifier__$2,!1,createInjector,void 0,void 0);Math.easeInOutQuad=function(e,t,n,r){return(e/=r/2)<1?n/2*e*e+t:-n/2*(--e*(e-2)-1)+t};var requestAnimFrame=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(e){window.setTimeout(e,1e3/60)};function move(e){document.documentElement.scrollTop=e,document.body.parentNode.scrollTop=e,document.body.scrollTop=e}function position(){return document.documentElement.scrollTop||document.body.parentNode.scrollTop||document.body.scrollTop}function scrollTo(e,t,n){const r=position(),l=e-r;let i=0;t=void 0===t?500:t;var a=function(){i+=20,move(Math.easeInOutQuad(i,r,l,t)),i<t?requestAnimFrame(a):n&&"function"==typeof n&&n()};a()}var script$1={name:"Pagination",props:{total:{required:!0,type:Number},page:{type:Number,default:1},limit:{type:Number,default:20},pageSizes:{type:Array,default:()=>[10,20,30,50]},layout:{type:String,default:"total, sizes, prev, pager, next, jumper"},background:{type:Boolean,default:!0},autoScroll:{type:Boolean,default:!0},hidden:{type:Boolean,default:!1}},computed:{currentPage:{get(){return this.page},set(e){this.$emit("update:page",e)}},pageSize:{get(){return this.limit},set(e){this.$emit("update:limit",e)}}},methods:{handleSizeChange(e){this.$emit("pagination",{pageNo:this.currentPage,size:e}),this.autoScroll&&scrollTo(0,800)},handleCurrentChange(e){this.$emit("pagination",{pageNo:e,size:this.pageSize}),this.autoScroll&&scrollTo(0,800)}}};const __vue_script__$1=script$1;var __vue_render__$1=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"pagination-container",class:{hidden:e.hidden}},[n("el-pagination",e._b({attrs:{background:e.background,"current-page":e.currentPage,"page-size":e.pageSize,layout:e.layout,"page-sizes":e.pageSizes,total:e.total},on:{"update:currentPage":function(t){e.currentPage=t},"update:current-page":function(t){e.currentPage=t},"update:pageSize":function(t){e.pageSize=t},"update:page-size":function(t){e.pageSize=t},"size-change":e.handleSizeChange,"current-change":e.handleCurrentChange}},"el-pagination",e.$attrs,!1))],1)},__vue_staticRenderFns__$1=[];__vue_render__$1._withStripped=!0;const __vue_inject_styles__$1=function(e){e&&e("data-v-253b4db8_0",{source:"\n.pagination-container[data-v-253b4db8] {\r\n background: #fff;\r\n padding: 32px 16px;\n}\n.pagination-container.hidden[data-v-253b4db8] {\r\n display: none;\n}\r\n",map:{version:3,sources:["E:\\公司项目\\changhuxianlocal\\changhuxian-vue-components\\src\\components\\Pagination\\index.vue"],names:[],mappings:";AAqFA;IACA,gBAAA;IACA,kBAAA;AACA;AAEA;IACA,aAAA;AACA",file:"index.vue",sourcesContent:['<template>\r\n <div :class="{ \'hidden\': hidden }" class="pagination-container">\r\n <el-pagination :background="background" :current-page.sync="currentPage" :page-size.sync="pageSize"\r\n :layout="layout" :page-sizes="pageSizes" :total="total" v-bind="$attrs" @size-change="handleSizeChange"\r\n @current-change="handleCurrentChange" />\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { scrollTo } from \'../../utils/scroll-to\'\r\n\r\nexport default {\r\n name: \'Pagination\',\r\n props: {\r\n total: {\r\n required: true,\r\n type: Number\r\n },\r\n page: {\r\n type: Number,\r\n default: 1\r\n },\r\n limit: {\r\n type: Number,\r\n default: 20\r\n },\r\n pageSizes: {\r\n type: Array,\r\n default() {\r\n return [10, 20, 30, 50]\r\n }\r\n },\r\n layout: {\r\n type: String,\r\n default: \'total, sizes, prev, pager, next, jumper\'\r\n },\r\n background: {\r\n type: Boolean,\r\n default: true\r\n },\r\n autoScroll: {\r\n type: Boolean,\r\n default: true\r\n },\r\n hidden: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n computed: {\r\n currentPage: {\r\n get() {\r\n return this.page\r\n },\r\n set(val) {\r\n this.$emit(\'update:page\', val)\r\n }\r\n },\r\n pageSize: {\r\n get() {\r\n return this.limit\r\n },\r\n set(val) {\r\n this.$emit(\'update:limit\', val)\r\n }\r\n }\r\n },\r\n methods: {\r\n handleSizeChange(val) {\r\n this.$emit(\'pagination\', { pageNo: this.currentPage, size: val })\r\n if (this.autoScroll) {\r\n scrollTo(0, 800)\r\n }\r\n },\r\n handleCurrentChange(val) {\r\n this.$emit(\'pagination\', { pageNo: val, size: this.pageSize })\r\n if (this.autoScroll) {\r\n scrollTo(0, 800)\r\n }\r\n }\r\n }\r\n}\r\n<\/script>\r\n\r\n<style scoped>\r\n.pagination-container {\r\n background: #fff;\r\n padding: 32px 16px;\r\n}\r\n\r\n.pagination-container.hidden {\r\n display: none;\r\n}\r\n</style>\r\n']},media:void 0})},__vue_scope_id__$1="data-v-253b4db8",__vue_module_identifier__$1=void 0,__vue_is_functional_template__$1=!1,__vue_component__$1=normalizeComponent({render:__vue_render__$1,staticRenderFns:__vue_staticRenderFns__$1},__vue_inject_styles__$1,__vue_script__$1,__vue_scope_id__$1,__vue_is_functional_template__$1,__vue_module_identifier__$1,!1,createInjector,void 0,void 0);var script={name:"PreviewFile",components:{},props:{file:{type:Object,default:function(){return{fileurl:"",dialogVisible:!1,title:""}}}},data:()=>({height:window.innerHeight-400+"px",loading:!0,dialogVisible:!1,pdf:"https://lczhgy.zjmskj.com/img/政务中台.pdf",options:{xls:!0,minColLength:0,minRowLength:0,widthOffset:10,heightOffset:10,beforeTransformData:e=>e,transformData:e=>e}}),methods:{renderedHandler(){this.loading=!1},errorHandler(){this.$message({message:"渲染失败",type:"warning"}),this.loading=!1},handleClose(){this.file.dialogVisible=!1}}};const __vue_script__=script;var __vue_render__=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("el-dialog",{attrs:{"close-on-click-modal":!1,"close-on-press-escape":!1,title:"附件预览",visible:e.file.dialogVisible,"before-close":e.handleClose,"append-to-body":""},on:{"update:visible":function(t){return e.$set(e.file,"dialogVisible",t)}}},[n("div",["pdf"==e.file.type||"pptx"==e.file.type||"wps"==e.file.type||"xls"==e.file.type||"excel"==e.file.type||"word"==e.file.type||"doc"==e.file.type||"docx"==e.file.type?n("iframe",{staticClass:"child",style:{height:e.height},attrs:{frameborder:"0",src:e.file.fileurl}}):e._e(),e._v(" "),"image"==e.file.type?n("el-image",{staticStyle:{height:"100%",width:"100%"},attrs:{fit:"contain ",src:e.file.fileurl,"preview-src-list":[e.file.fileurl]}}):e._e(),e._v(" "),"video"==e.file.type?n("video",{staticStyle:{height:"100%",width:"100%"},attrs:{src:e.file.fileurl,autoplay:"",controls:"controls"}}):e._e()],1)])],1)},__vue_staticRenderFns__=[];__vue_render__._withStripped=!0;const __vue_inject_styles__=function(e){e&&e("data-v-853af682_0",{source:"\n.child[data-v-853af682] {\r\n width: 100%;\r\n height: 100%;\r\n border: 0;\n}\n.dialog-box[data-v-853af682] .el-dialog__headerbtn {\r\n font-size: 34px;\n}\n.analysis[data-v-853af682] .el-dialog {\r\n left: 119px;\n}\n.analysis-dialog[data-v-853af682] .el-dialog {\r\n left: 27px;\n}\r\n",map:{version:3,sources:["E:\\公司项目\\changhuxianlocal\\changhuxian-vue-components\\src\\components\\PreviewFile\\index.vue"],names:[],mappings:";AA0HA;EACA,WAAA;EACA,YAAA;EACA,SAAA;AACA;AAEA;EACA,eAAA;AACA;AAEA;EACA,WAAA;AACA;AAEA;EACA,UAAA;AACA",file:"index.vue",sourcesContent:['<template>\r\n <div>\r\n <el-dialog\r\n :close-on-click-modal="false"\r\n :close-on-press-escape="false"\r\n :title="`附件预览`"\r\n :visible.sync="file.dialogVisible"\r\n :before-close="handleClose"\r\n append-to-body\r\n >\r\n <div>\r\n \x3c!-- 简化版预览组件,移除 @vue-office 依赖 --\x3e\r\n <iframe\r\n v-if="file.type == \'pdf\' || file.type == \'pptx\' || file.type == \'wps\' || file.type == \'xls\' || file.type == \'excel\' || file.type == \'word\' || file.type == \'doc\' || file.type == \'docx\'"\r\n class="child"\r\n frameborder="0"\r\n :src="file.fileurl"\r\n :style="{ height: height }"\r\n />\r\n \x3c!-- <iframe\r\n v-if="\r\n file.type == \'word\' ||\r\n file.type == \'wps\' ||\r\n file.type == \'pdf\' ||\r\n file.type == \'pptx\' ||\r\n file.type == \'txt\'\r\n "\r\n class="child"\r\n frameborder="0"\r\n :src="file.fileurl"\r\n :style="{ height: height }"\r\n >\r\n </iframe> --\x3e\r\n <el-image\r\n v-if="file.type == \'image\'"\r\n :fit="\'contain \'"\r\n style="height: 100%; width: 100%"\r\n :src="file.fileurl"\r\n :preview-src-list="[file.fileurl]"\r\n />\r\n <video\r\n v-if="file.type == \'video\'"\r\n style="height: 100%; width: 100%"\r\n :src="file.fileurl"\r\n autoplay\r\n controls="controls"\r\n />\r\n </div>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n// 移除 @vue-office 相关依赖\r\nexport default {\r\n name: \'PreviewFile\',\r\n components: {\r\n // 移除组件注册\r\n },\r\n props: {\r\n file: {\r\n type: Object,\r\n default: function() {\r\n return {\r\n fileurl: \'\',\r\n dialogVisible: false,\r\n title: \'\'\r\n }\r\n }\r\n }\r\n },\r\n data() {\r\n return {\r\n height: window.innerHeight - 400 + \'px\',\r\n loading: true,\r\n dialogVisible: false,\r\n pdf: \'https://lczhgy.zjmskj.com/img/政务中台.pdf\',\r\n options: {\r\n xls: true, // 预览xlsx文件设为false;预览xls文件设为true\r\n minColLength: 0, // excel最少渲染多少列,如果想实现xlsx文件内容有几列,就渲染几列,可以将此值设置为0.\r\n minRowLength: 0, // excel最少渲染多少行,如果想实现根据xlsx实际函数渲染,可以将此值设置为0.\r\n widthOffset: 10, // 如果渲染出来的结果感觉单元格宽度不够,可以在默认渲染的列表宽度上再加 Npx宽\r\n heightOffset: 10, // 在默认渲染的列表高度上再加 Npx高\r\n beforeTransformData: (workbookData) => {\r\n return workbookData\r\n }, // 底层通过exceljs获取excel文件内容,通过该钩子函数,可以对获取的excel文件内容进行修改,比如某个单元格的数据显示不正确,可以在此自行修改每个单元格的value值。\r\n transformData: (workbookData) => {\r\n return workbookData\r\n } // 将获取到的excel数据进行处理之后且渲染到页面之前,可通过transformData对即将渲染的数据及样式进行修改,此时每个单元格的text值就是即将渲染到页面上的内容\r\n }\r\n }\r\n },\r\n // 这里是用来判断左边菜单栏是否打开\r\n // computed: {\r\n // ...mapGetters([\'sidebar\']),\r\n // isCollapse() {\r\n // return !this.sidebar.opened\r\n // }\r\n // },\r\n methods: {\r\n renderedHandler() {\r\n // this.$message({\r\n // message: "渲染成功",\r\n // type: "success",\r\n // });\r\n this.loading = false\r\n },\r\n errorHandler() {\r\n this.$message({\r\n message: \'渲染失败\',\r\n type: \'warning\'\r\n })\r\n this.loading = false\r\n },\r\n handleClose() {\r\n this.file.dialogVisible = false\r\n }\r\n }\r\n}\r\n<\/script>\r\n\r\n <style scoped>\r\n.child {\r\n width: 100%;\r\n height: 100%;\r\n border: 0;\r\n}\r\n\r\n.dialog-box >>> .el-dialog__headerbtn {\r\n font-size: 34px;\r\n}\r\n\r\n.analysis >>> .el-dialog {\r\n left: 119px;\r\n}\r\n\r\n.analysis-dialog >>> .el-dialog {\r\n left: 27px;\r\n}\r\n</style>\r\n']},media:void 0})},__vue_scope_id__="data-v-853af682",__vue_module_identifier__=void 0,__vue_is_functional_template__=!1,__vue_component__=normalizeComponent({render:__vue_render__,staticRenderFns:__vue_staticRenderFns__},__vue_inject_styles__,__vue_script__,__vue_scope_id__,__vue_is_functional_template__,__vue_module_identifier__,!1,createInjector,void 0,void 0);var js_cookie={exports:{}},factory;
|
|
9
9
|
/*!
|
|
10
10
|
* JavaScript Cookie v2.2.1
|
|
11
11
|
* https://github.com/js-cookie/js-cookie
|