standard-c9c66214.js 8.1 KB

1
  1. var r=(D,M,u)=>new Promise((N,C)=>{var R=p=>{try{y(u.next(p))}catch(_){C(_)}},z=p=>{try{y(u.throw(p))}catch(_){C(_)}},y=p=>p.done?N(p.value):Promise.resolve(p.value).then(R,z);y((u=u.apply(D,M)).next())});import{S as G}from"./SimpleCard-34f603b4.js";/* empty css */import{d as ye,a3 as _e,r as i,aa as Ie,aZ as Se,o as b,m as H,g as d,y as v,ao as g,f as n,dh as h,af as P,q as k,v as F,t as W,bz as Te,j as Ce}from"./index-d3600154.js";import{u as we,B as xe}from"./useTable-edbb899b.js";import{T as ke}from"./TableAction-00b6be52.js";import"./TableImg.vue_vue_type_style_index_0_lang-652ccd09.js";import{I as De}from"./ImportModal-76cd7481.js";import{T as Me}from"./TableModal-feedf305.js";import{u as L}from"./index-87d6eb60.js";import{_ as X}from"./index-0e5ac393.js";import{r as Ne,d as Q,i as V,a as U}from"./utils-ee877a40.js";import{b as Re,a as ze,c as Ee,d as Be}from"./contractJobApi-43ebdb27.js";import{p as Y,q as Ke,r as Je}from"./contractApi-a73b6cc2.js";import{a as Ae}from"./sysOrgApi-0fd3c043.js";import Oe from"./tableModal-531ea250.js";import{x as je}from"./xor-522d1941.js";const dt=[{key:"1",tab:"检测标准"}],ee=[{title:"科室",dataIndex:"orgId",align:"left",width:100,editRow:!0,editComponent:"Select",editComponentProps:{options:[]}},{title:"目录",dataIndex:"catalog",align:"left",width:100,editRow:!0,editComponent:"Input"},{title:"检测项",dataIndex:"name",align:"left",editRow:!0,editComponent:"Input"},{title:"帮助文本",dataIndex:"helpContent",align:"left",editRow:!0,editComponent:"Input"},{title:"自定义技术要求",dataIndex:"techContentStr",align:"left",editRow:!0,editComponent:"Input"}],qe={class:"cnt"},Pe={class:"flex flex-col cnt-aside_body"},Fe={class:"cnt-edit"},Le={class:"cnt-detail_table"},Qe={key:0,class:"cnt-detail_tree"},Ve=ye({__name:"standard",props:{jobId:{type:String,default:""},contractId:{type:String,default:""},orgId:{type:String,default:""},jobStatus:{type:String,default:""},refresh:{type:String,default:""}},emits:["table-change"],setup(D,{emit:M}){const u=D,[N,{openModal:C}]=L(),[R,{openModal:z,closeModal:y}]=L(),[p,{openModal:_,closeModal:te}]=L(),{createMessage:E}=Te();_e(()=>u.refresh,e=>r(this,null,function*(){e&&!B.value&&setTimeout(()=>r(this,null,function*(){yield O(),yield $()}),1e3)}));const ae=i("基本信息"),m=i([]),I=i([]),a=i([]),B=i(!0),K=i(null),Z=i(null),f=i([]),S=i([]),c=i([]),J=i([]),A=i([]),w=i(!1),x=i(!1);Ie(()=>r(this,null,function*(){yield $(),yield O()}));const[oe,{reload:ne,getDataSource:le,getSelectRowKeys:se,setTableData:T,deleteTableDataRecord:ie,setProps:ce}]=we({rowKey:"id",dataSource:a.value,columns:ee,bordered:!1,showIndexColumn:!1,pagination:!1,striped:!1,rowSelection:{type:"checkbox"},batchShow:!1,actionColumn:{width:100,title:"操作",dataIndex:"action"}});function O(){return r(this,null,function*(){const e=yield Y({contractId:u.contractId});Array.isArray(e)&&e.length&&(I.value=Ne(e),B.value&&(m.value=I.value,S.value=c.value,f.value=c.value,m.value=Q(JSON.parse(JSON.stringify(I.value)),S.value),B.value=!1))})}function $(){return r(this,null,function*(){const e=yield Ae({});A.value=e.filter(t=>t.disable==0&&t.name!="总部").map(t=>({label:t.name,value:t.id}));const l=ee.map(t=>(t.dataIndex==="orgId"&&(t.editComponentProps={options:A.value}),t));ce({columns:l}),a.value=(yield Ke({contractId:u.contractId}))||[],c.value=a.value&&a.value.map(t=>t.id)||[],a.value,T(a.value)})}function j(e){return r(this,null,function*(){w.value||(m.value=e,w.value=!1)})}function re(e){var l;(l=e.onEdit)==null||l.call(e,!0)}function de(){const e=n(K).getCheckedKeys(),l=je(c.value,e)||[],t=[];l.forEach(s=>{t.push(n(K).getSelectedNode(s)),s.children&&delete s.children,c.value.push(s)}),t.forEach(s=>{s!=null&&a.value.push(s)}),f.value=c.value,T(a.value),Q(m.value,c.value),n(Z).clearSelectedRowKeys()}function ue(){return r(this,null,function*(){J.value=[],J.value=se(),ie(J.value),c.value=le().map(e=>e.id),f.value=c.value,Q(m.value,c.value)})}function pe(){w.value=!0,C(!0,{title:"导入检测标准",importUrl:Re,exportUrl:ze})}function fe(){_(!0,{})}function ve(){w.value=!1,z(!0,{title:"添加技术要求",placelholder:"请输入样品/公司名称",api:Ee,rowSelection:"radio",pagination:!0,width:"800px",page:{pageNum:1,pageSize:20},params:{finish:!0},columns:[{title:"合同编号",dataIndex:"numbering",align:"left",width:150},{title:"样品名称",dataIndex:"sampleName",align:"left"},{title:"科室",dataIndex:"orgName",align:"left"},{title:"委托单位名称",dataIndex:"clientName",align:"left"}]})}function me(){return r(this,null,function*(){try{x.value=!0,a.value,a.value=a.value&&a.value.map(l=>(l.id.includes("import-")&&(l.id=""),l));const e=yield Je({contractId:u.jobId,items:a.value||[],jobDoingStatus:u.jobStatus});x.value=!1,yield ne(),yield O(),M("table-change",a.value),E.success("保存成功")}catch(e){}finally{x.value=!1}})}function be(e){return r(this,null,function*(){const l=yield Be(e.sheetId),{data:t,keys:s}=V(l,[]);S.value=s,f.value=s,c.value=s;const o=U(t,[])||[];a.value=a.value==null?[]:a.value,o.forEach(q=>{a.value.push(q)}),a.value,T(a.value),j(t)})}function ge(e){return r(this,null,function*(){const l=yield Y({contractId:e[0].id});l.length||E.error("返回数据为空,不能选择此选项!");const{data:t,keys:s}=V(l,[]);S.value=s,f.value=s,c.value=s,a.value=a.value||[],(U(JSON.parse(JSON.stringify(t)),[])||[]).forEach(q=>{a.value.push(q)}),T(a.value),j(t),y()})}function he(e){e.record.length||E.error("返回数据为空,不能选择此选项!"),e.type==2?e.record=e.record.map(o=>({catalog:o.catalog,deviceIds:o.deviceIds,device:o.device,name:o.itemName,parentCatalog:o.parentCatalog,techs:o.techs,techContentStr:o.techContentStr,templateId:o.templateId,templateName:o.templateName,standardName:o.standardName,techStandard:o.techStandard,helpContent:o.helpContent})):e.record=e.record.map(o=>(o.orgName=A.value[0].value,o));const{data:l,keys:t}=V(e.record,[]);S.value=t,f.value=t,c.value=t,(U(JSON.parse(JSON.stringify(l)),[])||[]).forEach(o=>{a.value.push(o)}),T(a.value),j(l),te()}return(e,l)=>{const t=Se("auth");return b(),H("div",qe,[d(n(G),{title:ae.value,class:"cnt-aside"},{headRight:v(()=>[g(d(n(h),{onClick:fe,preIcon:"icon-xt-add_default|iconfont",class:"cnt-aside_btn",iconSize:16,onlyIcon:!0,title:"添加技术标准(单项)"},null,512),[[t,["biz:quote:add"]]]),g(d(n(h),{onClick:ve,preIcon:"icon-xt-add_default|iconfont",class:"cnt-aside_btn",iconSize:16,onlyIcon:!0,title:"添加技术标准(公司)"},null,512),[[t,["biz:quote:add"]]]),g(d(n(h),{onClick:pe,preIcon:"icon-xt-import_default|iconfont",class:"cnt-aside_btn",iconSize:16,onlyIcon:!0,title:"导入技术标准"},null,512),[[t,["biz:quote:add"]]])]),body:v(()=>[P("div",Pe,[d(n(X),{ref_key:"treeRef",ref:K,treeData:m.value,defaultExpandAll:"",checkable:!0,checkedKeys:f.value},null,8,["treeData","checkedKeys"])])]),_:1},8,["title"]),P("div",Fe,[g((b(),k(n(h),{type:"primary",onClick:me,preIcon:"icon-plus|iconfont",class:"cnt-edit_btn",loading:x.value},{default:v(()=>[F("保存")]),_:1},8,["loading"])),[[t,["biz:quote:add"]]]),g((b(),k(n(h),{onClick:de,type:"primary",postIcon:"icon-right|iconfont",class:"cnt-edit_btn"},{default:v(()=>[F("添加")]),_:1})),[[t,["biz:quote:add"]]]),g((b(),k(n(h),{onClick:ue,preIcon:"icon-left|iconfont",class:"cnt-edit_btn"},{default:v(()=>[F("删除")]),_:1})),[[t,["biz:quote:add"]]])]),d(n(G),{title:"已选择的检测标准",class:"cnt-detail"},{body:v(()=>[P("div",Le,[d(n(xe),{onRegister:n(oe),ref_key:"tableRef",ref:Z},{bodyCell:v(({column:s,record:o})=>[s.key==="action"?(b(),k(n(ke),{key:0,actions:[{auth:"lab:deviceManage:edit",icon:"icon-xt-details_edit_default|iconfont",tooltip:"编辑",onClick:re.bind(null,o)}]},null,8,["actions"])):W("",!0)]),_:1},8,["onRegister"])]),I.value.length?(b(),H("div",Qe,[d(n(X),{treeData:I.value,defaultExpandAll:""},null,8,["treeData"])])):W("",!0)]),_:1}),d(n(Me),{onRegister:n(R),onSuccess:ge},null,8,["onRegister"]),d(n(De),{onRegister:n(N),onSuccess:be},null,8,["onRegister"]),d(Oe,{onRegister:n(p),onSuccess:he},null,8,["onRegister"])])}}});const Ue=Ce(Ve,[["__scopeId","data-v-4befecac"]]),ut=Object.freeze(Object.defineProperty({__proto__:null,default:Ue},Symbol.toStringTag,{value:"Module"}));export{Ue as S,ut as s,dt as t};