snow 4 bulan lalu
induk
melakukan
5149954bd6
100 mengubah file dengan 479 tambahan dan 249 penghapusan
  1. 0 0
      dist/assets/BaseForm.4b5981.js
  2. 0 0
      dist/assets/BaseForm.7ece63.js
  3. 0 0
      dist/assets/BaseForm.8fb615.js
  4. 0 0
      dist/assets/ChildGoodEditModal.396f34.js
  5. 0 0
      dist/assets/ChildGoodEditModal.5bf52e.js
  6. 1 1
      dist/assets/ChildGoodEditModal.7967d3.js
  7. 0 0
      dist/assets/ChildGoodEditModal.b0de1a.js
  8. 1 1
      dist/assets/ChildGoodEditModal.d0c9e8.js
  9. 1 1
      dist/assets/InvoiceTitle.77bebe.js
  10. 1 1
      dist/assets/InvoiceTitle.7eecae.js
  11. 0 0
      dist/assets/basic-descriptions.a12f8277.js
  12. 0 0
      dist/assets/columnRenderHelper.7693fc90.js
  13. 0 0
      dist/assets/columns.5b72cdd1.js
  14. 0 0
      dist/assets/columns.a2f2fd27.js
  15. 0 0
      dist/assets/detail.38afc0.js
  16. 0 0
      dist/assets/detail.40f304.js
  17. 1 1
      dist/assets/detail.48dab8.js
  18. 0 0
      dist/assets/detail.6c7a14.js
  19. 0 0
      dist/assets/detail.6d6bd4.js
  20. 0 0
      dist/assets/detail.7429a6.js
  21. 0 0
      dist/assets/detail.7978a0.js
  22. 0 0
      dist/assets/detail.86fc1b.js
  23. 0 0
      dist/assets/detail.a9d661.js
  24. 0 0
      dist/assets/detail.b8a694.js
  25. 0 0
      dist/assets/detail.ec8f4d.js
  26. 0 0
      dist/assets/execl-upload.da128fbe.js
  27. 0 0
      dist/assets/index.0975b0.js
  28. 0 0
      dist/assets/index.0dbb49.js
  29. 0 0
      dist/assets/index.0f5b66.js
  30. 0 0
      dist/assets/index.14adc6.js
  31. 0 0
      dist/assets/index.1ddafc.js
  32. 0 0
      dist/assets/index.1eb373d5.js
  33. 0 0
      dist/assets/index.255f07.js
  34. 0 0
      dist/assets/index.2d5352.js
  35. 0 0
      dist/assets/index.303734.js
  36. 0 0
      dist/assets/index.365ae932.js
  37. 0 0
      dist/assets/index.4004d48d.js
  38. 0 0
      dist/assets/index.42e1e3.js
  39. 0 0
      dist/assets/index.45c8af.js
  40. 0 0
      dist/assets/index.4cf9ee.js
  41. 0 0
      dist/assets/index.52bb3f.js
  42. 0 0
      dist/assets/index.5346ab.js
  43. 0 0
      dist/assets/index.549ca0.js
  44. 0 0
      dist/assets/index.5d9c3e.js
  45. 0 0
      dist/assets/index.603aa9.js
  46. 0 0
      dist/assets/index.674a5d.js
  47. 0 0
      dist/assets/index.676238.js
  48. 0 0
      dist/assets/index.6856c4b0.js
  49. 0 0
      dist/assets/index.6dc80f.js
  50. 0 0
      dist/assets/index.77485e.js
  51. 0 0
      dist/assets/index.77b5ac.js
  52. 0 0
      dist/assets/index.8184a8.js
  53. 0 0
      dist/assets/index.87a9d5f3.js
  54. 0 0
      dist/assets/index.886ac3.js
  55. 0 0
      dist/assets/index.8d661c.js
  56. 0 0
      dist/assets/index.8f01c19d.js
  57. 0 0
      dist/assets/index.9aae28.js
  58. 0 0
      dist/assets/index.9fb413.js
  59. 0 0
      dist/assets/index.9fd33b.js
  60. 0 0
      dist/assets/index.ab304b39.js
  61. 0 0
      dist/assets/index.acf3b9.js
  62. 0 0
      dist/assets/index.b03b3711.js
  63. 0 0
      dist/assets/index.b17fa6.js
  64. 0 0
      dist/assets/index.bb007d36.js
  65. 0 0
      dist/assets/index.bdcf42.js
  66. 0 0
      dist/assets/index.c2487c.js
  67. 0 0
      dist/assets/index.cc2914.js
  68. 0 0
      dist/assets/index.d8cd2e.js
  69. 0 0
      dist/assets/index.dbf6e3.js
  70. 0 0
      dist/assets/index.e3af7c.js
  71. 0 0
      dist/assets/index.e61f8c.js
  72. 0 0
      dist/assets/index.ef38b5.js
  73. 0 0
      dist/assets/index.f05c090c.js
  74. 0 0
      dist/assets/index.js
  75. 0 0
      dist/assets/motion.97049387.js
  76. 0 0
      dist/assets/phone.9e1123.js
  77. 1 1
      dist/assets/qrCode.be32d8.js
  78. 0 0
      dist/assets/regist.bfca82.js
  79. 0 0
      dist/assets/rule.7200220e.js
  80. 0 0
      dist/assets/tootip.4f2871df.js
  81. 0 0
      dist/assets/update.2f876b.js
  82. 0 0
      dist/assets/use-page-search.a028be27.js
  83. 0 0
      dist/assets/useDetail.655644af.js
  84. 0 0
      dist/assets/verifyCode.7d3c2a87.js
  85. 2 2
      src/components/BasicForm/src/basic-form.vue
  86. 35 59
      src/components/ChooseGoodModal/config/content.config.ts
  87. 0 0
      src/components/ChooseGoodModal/config/modal.config.ts
  88. 25 4
      src/components/ChooseGoodModal/config/search.config.ts
  89. 29 56
      src/components/ChooseGoodModal/index.vue
  90. 2 1
      src/components/PageContainer/src/page-container.tsx
  91. 13 1
      src/components/PageSearch/src/page-search.vue
  92. 4 0
      src/components/PageSearch/src/types.ts
  93. 2 3
      src/views/invoiceInOut/clientC/config/search.config.ts
  94. 18 16
      src/views/invoiceInOut/inManager/components/ChooseGoodModal/config/search.config.ts
  95. 70 88
      src/views/invoiceInOut/inManager/detail.vue
  96. 25 12
      src/views/invoiceInOut/inventoryCheck/components/ChooseGoodModal/config/search.config.ts
  97. 1 1
      src/views/invoiceInOut/inventoryCheck/components/ChooseGoodModal/index.vue
  98. 76 0
      src/views/invoiceInOut/outManager/components/ChooseGoodModal/config/columns.ts
  99. 135 0
      src/views/invoiceInOut/outManager/components/ChooseGoodModal/config/content.config.ts
  100. 36 0
      src/views/invoiceInOut/outManager/components/ChooseGoodModal/config/search.config.ts

File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/BaseForm.4b5981.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/BaseForm.7ece63.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/BaseForm.8fb615.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/ChildGoodEditModal.396f34.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/ChildGoodEditModal.5bf52e.js


+ 1 - 1
dist/assets/ChildGoodEditModal.7967d3.js

@@ -1 +1 @@
-import{_ as B,d as C,a$ as _,w as x,z as V,r as y,o as i,G as d,C as n,l as a,a as b,h as s,j as r,aO as h,M as w,ah as D,b0 as k}from"./index.js";import{a as E}from"./columns.f9a1e1de.js";import{B as M}from"./basic-descriptions.dd2686a4.js";import"./status.b7512d56.js";import"./tootip.6558b973.js";const F={class:"flex justify-between mt-[10px]"},N={class:"flex items-center"},G=C({__name:"ChildGoodEditModal",props:{visible:{type:Boolean,required:!0},index:{type:null,required:!0},data:{type:null,required:!0}},emits:["submit"],setup(m,{emit:p}){const t=m,c=p,o=_(t,"visible"),l=x(0);V(()=>o.value,()=>{!o.value||(l.value=t.data.child_num)});function f(){c("submit",t.index,{...t.data,child_num:l.value}),o.value=!1}return(g,e)=>{const v=y("ElButton");return i(),d(a(k),{modelValue:a(o),"onUpdate:modelValue":e[1]||(e[1]=u=>D(o)?o.value=u:null),title:"\u7F16\u8F91\u5B50\u5546\u54C1",center:""},{default:n(()=>[t.data?(i(),d(a(M),{key:0,style:{overflow:"hidden"},data:t.data,columns:a(E)},null,8,["data","columns"])):b("v-if",!0),s("div",F,[s("div",N,[e[2]||(e[2]=s("p",{style:{width:"110px"}},"\u5B50\u5546\u54C1\u6BD4\u4F8B:",-1)),r(a(h),{modelValue:l.value,"onUpdate:modelValue":e[0]||(e[0]=u=>l.value=u),placeholder:"\u5B50\u5546\u54C1\u6BD4\u4F8B"},null,8,["modelValue"])]),r(v,{type:"primary",onClick:f},{default:n(()=>e[3]||(e[3]=[w("\u4FDD\u5B58")])),_:1})])]),_:1},8,["modelValue"])}}});var z=B(G,[["__file","C:/Users/89793/Desktop/projects/ticket-system/src/views/invoiceInOut/productManager/components/ChildGoodEditModal.vue"]]);export{z as default};
+import{_ as B,d as C,a$ as _,w as x,z as V,r as y,o as i,G as d,C as n,l as a,a as b,h as s,j as r,aO as h,M as w,ah as D,b0 as k}from"./index.js";import{a as E}from"./columns.a2f2fd27.js";import{B as M}from"./basic-descriptions.a12f8277.js";import"./status.b7512d56.js";import"./tootip.4f2871df.js";const F={class:"flex justify-between mt-[10px]"},N={class:"flex items-center"},G=C({__name:"ChildGoodEditModal",props:{visible:{type:Boolean,required:!0},index:{type:null,required:!0},data:{type:null,required:!0}},emits:["submit"],setup(m,{emit:p}){const t=m,c=p,o=_(t,"visible"),l=x(0);V(()=>o.value,()=>{!o.value||(l.value=t.data.child_num)});function f(){c("submit",t.index,{...t.data,child_num:l.value}),o.value=!1}return(g,e)=>{const v=y("ElButton");return i(),d(a(k),{modelValue:a(o),"onUpdate:modelValue":e[1]||(e[1]=u=>D(o)?o.value=u:null),title:"\u7F16\u8F91\u5B50\u5546\u54C1",center:""},{default:n(()=>[t.data?(i(),d(a(M),{key:0,style:{overflow:"hidden"},data:t.data,columns:a(E)},null,8,["data","columns"])):b("v-if",!0),s("div",F,[s("div",N,[e[2]||(e[2]=s("p",{style:{width:"110px"}},"\u5B50\u5546\u54C1\u6BD4\u4F8B:",-1)),r(a(h),{modelValue:l.value,"onUpdate:modelValue":e[0]||(e[0]=u=>l.value=u),placeholder:"\u5B50\u5546\u54C1\u6BD4\u4F8B"},null,8,["modelValue"])]),r(v,{type:"primary",onClick:f},{default:n(()=>e[3]||(e[3]=[w("\u4FDD\u5B58")])),_:1})])]),_:1},8,["modelValue"])}}});var z=B(G,[["__file","C:/Users/89793/Desktop/projects/ticket-system/src/views/invoiceInOut/productManager/components/ChildGoodEditModal.vue"]]);export{z as default};

File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/ChildGoodEditModal.b0de1a.js


+ 1 - 1
dist/assets/ChildGoodEditModal.d0c9e8.js

@@ -1 +1 @@
-import{_ as C,d as _,a$ as x,w as V,z as y,r as b,o as i,G as d,C as n,l as a,a as B,h as u,j as r,aO as h,M as w,ah as D,b0 as F}from"./index.js";import{g as N}from"./columns.32c9b311.js";import{B as k}from"./basic-descriptions.dd2686a4.js";import"./status.b7512d56.js";import"./shared.6e58c020.js";import"./tootip.6558b973.js";const E={class:"flex justify-between mt-[10px]"},g={class:"flex items-center"},M=_({__name:"ChildGoodEditModal",props:{visible:{type:Boolean,required:!0},index:{type:null,required:!0},data:{type:null,required:!0}},emits:["submit"],setup(m,{emit:p}){const t=m,c=p,o=x(t,"visible"),l=V(0);y(()=>o.value,()=>{!o.value||(l.value=t.data.goodNum)});function f(){c("submit",t.index,{...t.data,goodNum:l.value}),o.value=!1}return(G,e)=>{const v=b("ElButton");return i(),d(a(F),{modelValue:a(o),"onUpdate:modelValue":e[1]||(e[1]=s=>D(o)?o.value=s:null),title:"\u7F16\u8F91\u5546\u54C1",center:""},{default:n(()=>[t.data?(i(),d(a(k),{key:0,style:{overflow:"hidden"},data:t.data,columns:a(N)},null,8,["data","columns"])):B("v-if",!0),u("div",E,[u("div",g,[e[2]||(e[2]=u("p",{style:{width:"110px"}},"\u64CD\u4F5C\u6570\u91CF:",-1)),r(a(h),{modelValue:l.value,"onUpdate:modelValue":e[0]||(e[0]=s=>l.value=s),placeholder:"\u64CD\u4F5C\u6570\u91CF"},null,8,["modelValue"])]),r(v,{type:"primary",onClick:f},{default:n(()=>e[3]||(e[3]=[w("\u4FDD\u5B58")])),_:1})])]),_:1},8,["modelValue"])}}});var R=C(M,[["__file","C:/Users/89793/Desktop/projects/ticket-system/src/views/invoiceInOut/clientC/components/ChildGoodEditModal.vue"]]);export{R as default};
+import{_ as C,d as _,a$ as x,w as V,z as y,r as b,o as i,G as d,C as n,l as a,a as B,h as u,j as r,aO as h,M as w,ah as D,b0 as F}from"./index.js";import{g as N}from"./columns.5b72cdd1.js";import{B as k}from"./basic-descriptions.a12f8277.js";import"./status.b7512d56.js";import"./shared.6e58c020.js";import"./tootip.4f2871df.js";const E={class:"flex justify-between mt-[10px]"},g={class:"flex items-center"},M=_({__name:"ChildGoodEditModal",props:{visible:{type:Boolean,required:!0},index:{type:null,required:!0},data:{type:null,required:!0}},emits:["submit"],setup(m,{emit:p}){const t=m,c=p,o=x(t,"visible"),l=V(0);y(()=>o.value,()=>{!o.value||(l.value=t.data.goodNum)});function f(){c("submit",t.index,{...t.data,goodNum:l.value}),o.value=!1}return(G,e)=>{const v=b("ElButton");return i(),d(a(F),{modelValue:a(o),"onUpdate:modelValue":e[1]||(e[1]=s=>D(o)?o.value=s:null),title:"\u7F16\u8F91\u5546\u54C1",center:""},{default:n(()=>[t.data?(i(),d(a(k),{key:0,style:{overflow:"hidden"},data:t.data,columns:a(N)},null,8,["data","columns"])):B("v-if",!0),u("div",E,[u("div",g,[e[2]||(e[2]=u("p",{style:{width:"110px"}},"\u64CD\u4F5C\u6570\u91CF:",-1)),r(a(h),{modelValue:l.value,"onUpdate:modelValue":e[0]||(e[0]=s=>l.value=s),placeholder:"\u64CD\u4F5C\u6570\u91CF"},null,8,["modelValue"])]),r(v,{type:"primary",onClick:f},{default:n(()=>e[3]||(e[3]=[w("\u4FDD\u5B58")])),_:1})])]),_:1},8,["modelValue"])}}});var R=C(M,[["__file","C:/Users/89793/Desktop/projects/ticket-system/src/views/invoiceInOut/clientC/components/ChildGoodEditModal.vue"]]);export{R as default};

+ 1 - 1
dist/assets/InvoiceTitle.77bebe.js

@@ -1 +1 @@
-import{_ as s,d as _,o as l,G as d,l as r,a as u}from"./index.js";import{B as v}from"./basic-descriptions.dd2686a4.js";const y=o=>{const{company_address:e,mobile:i,registercode:n,bank_name:c,bankNo:t,name:a}=o;return{invoice_addr:e,invoice_mobile:i,invoice_code:n,invoice_bank:c,invoice_bankNo:t,invoice_title:a}},g=o=>{const{invoice_addr:e,invoice_mobile:i,invoice_code:n,invoice_bank:c,invoice_bankNo:t,invoice_title:a}=o;return{invoice_code:n,invoice_title:a,addrAndmobile:e+" "+i,bankAndBankNo:c+" "+t}},B=o=>{const{invoice_addr:e,invoice_mobile:i,company_license:n,invoice_bank:c,invoice_bankNo:t,invoice_title:a}=o;return{invoice_code:n,invoice_title:a,addrAndmobile:e+" "+i,bankAndBankNo:c+" "+t}},b=[{label:"\u62AC\u5934",span:24,field:"invoice_title"},{label:"\u7EB3\u7A0E\u4EBA\u8BC6\u522B\u53F7",span:24,field:"invoice_code"}],I=()=>({buyer_code:"",buyer_name:"",seller_code:"",seller_name:"",good_source:"1",good_code:"",good_type:"",is_combind:"0",inv_good_name:"",subunit_price:"",basic_status:"",unit_price:"",goodName:"",skuCode:"",cat_code:"",inv_type:"",cat_tax:"",spec:"",unit:"",unit_weight:"",spectral:"",childArr:[]}),m=_({__name:"InvoiceTitle",props:{detail:{type:Object,required:!0}},setup(o){return(e,i)=>Object.keys(e.detail).length!==0?(l(),d(r(v),{key:0,"px-8":"","pb-5":"",data:e.detail,columns:r(b),"col-number":1,"label-width":"130"},null,8,["data","columns"])):u("v-if",!0)}});var p=s(m,[["__file","C:/Users/89793/Desktop/projects/ticket-system/src/views/invoiceInOut/productManager/components/InvoiceTitle.vue"]]),A=Object.freeze(Object.defineProperty({__proto__:null,default:p},Symbol.toStringTag,{value:"Module"}));export{p as I,g as a,B as b,I as c,y as d,A as e};
+import{_ as s,d as _,o as l,G as d,l as r,a as u}from"./index.js";import{B as v}from"./basic-descriptions.a12f8277.js";const y=o=>{const{company_address:e,mobile:i,registercode:n,bank_name:c,bankNo:t,name:a}=o;return{invoice_addr:e,invoice_mobile:i,invoice_code:n,invoice_bank:c,invoice_bankNo:t,invoice_title:a}},g=o=>{const{invoice_addr:e,invoice_mobile:i,invoice_code:n,invoice_bank:c,invoice_bankNo:t,invoice_title:a}=o;return{invoice_code:n,invoice_title:a,addrAndmobile:e+" "+i,bankAndBankNo:c+" "+t}},B=o=>{const{invoice_addr:e,invoice_mobile:i,company_license:n,invoice_bank:c,invoice_bankNo:t,invoice_title:a}=o;return{invoice_code:n,invoice_title:a,addrAndmobile:e+" "+i,bankAndBankNo:c+" "+t}},b=[{label:"\u62AC\u5934",span:24,field:"invoice_title"},{label:"\u7EB3\u7A0E\u4EBA\u8BC6\u522B\u53F7",span:24,field:"invoice_code"}],I=()=>({buyer_code:"",buyer_name:"",seller_code:"",seller_name:"",good_source:"1",good_code:"",good_type:"",is_combind:"0",inv_good_name:"",subunit_price:"",basic_status:"",unit_price:"",goodName:"",skuCode:"",cat_code:"",inv_type:"",cat_tax:"",spec:"",unit:"",unit_weight:"",spectral:"",childArr:[]}),m=_({__name:"InvoiceTitle",props:{detail:{type:Object,required:!0}},setup(o){return(e,i)=>Object.keys(e.detail).length!==0?(l(),d(r(v),{key:0,"px-8":"","pb-5":"",data:e.detail,columns:r(b),"col-number":1,"label-width":"130"},null,8,["data","columns"])):u("v-if",!0)}});var p=s(m,[["__file","C:/Users/89793/Desktop/projects/ticket-system/src/views/invoiceInOut/productManager/components/InvoiceTitle.vue"]]),A=Object.freeze(Object.defineProperty({__proto__:null,default:p},Symbol.toStringTag,{value:"Module"}));export{p as I,g as a,B as b,I as c,y as d,A as e};

+ 1 - 1
dist/assets/InvoiceTitle.7eecae.js

@@ -1 +1 @@
-import{_ as o,d as s,o as i,G as n,l as t,a as r}from"./index.js";import{i as a}from"./shared.4f9e44f6.js";import{B as c}from"./basic-descriptions.dd2686a4.js";const l=s({__name:"InvoiceTitle",props:{detail:{type:Object,required:!0}},setup(p){return(e,m)=>Object.keys(e.detail).length!==0?(i(),n(t(c),{key:0,"px-8":"","pb-5":"",data:e.detail,columns:t(a),"col-number":1,"label-width":"130"},null,8,["data","columns"])):r("v-if",!0)}});var f=o(l,[["__file","C:/Users/89793/Desktop/projects/ticket-system/src/views/invoiceInOut/inventoryCheck/components/InvoiceTitle.vue"]]);export{f as default};
+import{_ as o,d as s,o as i,G as n,l as t,a as r}from"./index.js";import{i as a}from"./shared.4f9e44f6.js";import{B as c}from"./basic-descriptions.a12f8277.js";const l=s({__name:"InvoiceTitle",props:{detail:{type:Object,required:!0}},setup(p){return(e,m)=>Object.keys(e.detail).length!==0?(i(),n(t(c),{key:0,"px-8":"","pb-5":"",data:e.detail,columns:t(a),"col-number":1,"label-width":"130"},null,8,["data","columns"])):r("v-if",!0)}});var f=o(l,[["__file","C:/Users/89793/Desktop/projects/ticket-system/src/views/invoiceInOut/inventoryCheck/components/InvoiceTitle.vue"]]);export{f as default};

+ 0 - 0
dist/assets/basic-descriptions.dd2686a4.js → dist/assets/basic-descriptions.a12f8277.js


+ 0 - 0
dist/assets/columnRenderHelper.0502c831.js → dist/assets/columnRenderHelper.7693fc90.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/columns.5b72cdd1.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/columns.a2f2fd27.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/detail.38afc0.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/detail.40f304.js


+ 1 - 1
dist/assets/detail.48dab8.js

@@ -1 +1 @@
-import{_ as p,d as n,aY as m,at as d,H as _,l as e,o as a,c as u,h as f,L as v,G as o,a as i}from"./index.js";import{u as k}from"./useDetail.f5bcfc9a.js";import D from"./BaseForm.8fb615.js";import{P as g}from"./index.63432dc7.js";import{a as h}from"./index.7c474087.js";import"./status.b7512d56.js";import"./InvoiceTitle.77bebe.js";import"./basic-descriptions.dd2686a4.js";import"./index.6dc80f.js";import"./use-page-search.2d4ef638.js";import"./columns.f9a1e1de.js";import"./tootip.6558b973.js";import"./ChildGoodEditModal.7967d3.js";import"./query-category.fa03a8.js";const y={class:"padding__container"},x={class:"my-[5px]",style:{"font-size":"14px"}},B=n({__name:"detail",setup(C){const t=m(),{title:r,isDetail:c,collapses:N,id:s}=k({baseName:"\u5546\u54C1",collapseLen:2});return s.value&&t.run(h({id:s.value})),(w,L)=>{const l=d("loading");return _((a(),u("div",y,[f("p",x,v(e(r)),1),e(c)?i("v-if",!0):(a(),o(D,{key:0})),e(t).data?(a(),o(g,{key:1,data:e(t).data},null,8,["data"])):i("v-if",!0)])),[[l,e(t).loading]])}}});var U=p(B,[["__file","C:/Users/89793/Desktop/projects/ticket-system/src/views/invoiceInOut/productManager/detail.vue"]]);export{U as default};
+import{_ as n,d as p,aY as m,at as d,H as _,l as e,o as a,c as u,h as f,L as v,G as o,a as i}from"./index.js";import{u as k}from"./useDetail.655644af.js";import D from"./BaseForm.7ece63.js";import{P as g}from"./index.bb007d36.js";import{a as h}from"./index.f05c090c.js";import"./status.b7512d56.js";import"./InvoiceTitle.77bebe.js";import"./basic-descriptions.a12f8277.js";import"./use-page-search.a028be27.js";import"./columns.a2f2fd27.js";import"./tootip.4f2871df.js";import"./ChildGoodEditModal.7967d3.js";import"./query-category.fa03a8.js";const y={class:"padding__container"},x={class:"my-[5px]",style:{"font-size":"14px"}},B=p({__name:"detail",setup(C){const t=m(),{title:r,isDetail:c,collapses:N,id:s}=k({baseName:"\u5546\u54C1",collapseLen:2});return s.value&&t.run(h({id:s.value})),(w,L)=>{const l=d("loading");return _((a(),u("div",y,[f("p",x,v(e(r)),1),e(c)?i("v-if",!0):(a(),o(D,{key:0})),e(t).data?(a(),o(g,{key:1,data:e(t).data},null,8,["data"])):i("v-if",!0)])),[[l,e(t).loading]])}}});var S=n(B,[["__file","C:/Users/89793/Desktop/projects/ticket-system/src/views/invoiceInOut/productManager/detail.vue"]]);export{S as default};

File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/detail.6c7a14.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/detail.6d6bd4.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/detail.7429a6.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/detail.7978a0.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/detail.86fc1b.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/detail.a9d661.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/detail.b8a694.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/detail.ec8f4d.js


+ 0 - 0
dist/assets/execl-upload.5cbf214f.js → dist/assets/execl-upload.da128fbe.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.0975b0.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.0dbb49.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.0f5b66.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.14adc6.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.1ddafc.js


+ 0 - 0
dist/assets/index.cfcf96c3.js → dist/assets/index.1eb373d5.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.255f07.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.2d5352.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.303734.js


+ 0 - 0
dist/assets/index.19d40442.js → dist/assets/index.365ae932.js


+ 0 - 0
dist/assets/index.485235e7.js → dist/assets/index.4004d48d.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.42e1e3.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.45c8af.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.4cf9ee.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.52bb3f.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.5346ab.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.549ca0.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.5d9c3e.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.603aa9.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.674a5d.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.676238.js


+ 0 - 0
dist/assets/index.fd44712c.js → dist/assets/index.6856c4b0.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.6dc80f.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.77485e.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.77b5ac.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.8184a8.js


+ 0 - 0
dist/assets/index.67462f87.js → dist/assets/index.87a9d5f3.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.886ac3.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.8d661c.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.8f01c19d.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.9aae28.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.9fb413.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.9fd33b.js


+ 0 - 0
dist/assets/index.459f8238.js → dist/assets/index.ab304b39.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.acf3b9.js


+ 0 - 0
dist/assets/index.49cb5f6a.js → dist/assets/index.b03b3711.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.b17fa6.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.bb007d36.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.bdcf42.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.c2487c.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.cc2914.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.d8cd2e.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.dbf6e3.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.e3af7c.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.e61f8c.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.ef38b5.js


+ 0 - 0
dist/assets/index.7c474087.js → dist/assets/index.f05c090c.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index.js


+ 0 - 0
dist/assets/motion.6bc4992d.js → dist/assets/motion.97049387.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/phone.9e1123.js


+ 1 - 1
dist/assets/qrCode.be32d8.js

@@ -1,4 +1,4 @@
-import{d as Ht,w as Ot,a7 as Lt,z as me,j as P,H as pe,at as we,l as R,aE as be,F as Jt,y as Ce,bv as ve,bw as Dt,aw as Ee,_ as Te,r as jt,o as Be,c as Ae,C as W,h as Se,au as Ne,M as Pe}from"./index.js";import{M as ht}from"./motion.6bc4992d.js";/*!
+import{d as Ht,w as Ot,a7 as Lt,z as me,j as P,H as pe,at as we,l as R,aE as be,F as Jt,y as Ce,bv as ve,bw as Dt,aw as Ee,_ as Te,r as jt,o as Be,c as Ae,C as W,h as Se,au as Ne,M as Pe}from"./index.js";import{M as ht}from"./motion.97049387.js";/*!
  * is-plain-object <https://github.com/jonschlinkert/is-plain-object>
  *
  * Copyright (c) 2014-2017, Jon Schlinkert.

File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/regist.bfca82.js


+ 0 - 0
dist/assets/rule.38b14e1c.js → dist/assets/rule.7200220e.js


+ 0 - 0
dist/assets/tootip.6558b973.js → dist/assets/tootip.4f2871df.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/update.2f876b.js


+ 0 - 0
dist/assets/use-page-search.2d4ef638.js → dist/assets/use-page-search.a028be27.js


+ 0 - 0
dist/assets/useDetail.f5bcfc9a.js → dist/assets/useDetail.655644af.js


+ 0 - 0
dist/assets/verifyCode.ab3ef0d5.js → dist/assets/verifyCode.7d3c2a87.js


+ 2 - 2
src/components/BasicForm/src/basic-form.vue

@@ -91,8 +91,8 @@ defineExpose({
 
             <!-- 选择框 -->
             <template v-if="item.type === 'select'">
-              <el-select v-model="formData[item.field]" :placeholder="item.placeholder" clearable
-                @change="handleChange(item)">
+              <el-select v-model="formData[item.field]" :placeholder="item.placeholder" clearable 
+                @change="handleChange(item)" v-bind="item.otherOptions">
                 <el-option v-for="(opt, index) in item.options" :key="index" :label="opt.label" :value="opt.value"
                   :disabled="item.otherOptions?.disabled ? opt.disabled : false" />
               </el-select>

+ 35 - 59
src/components/ChooseGoodModal/config/content.config.ts

@@ -4,19 +4,13 @@ import { httpList } from "/@/api/invoiceInOut/productManager";
 import { cg_order_type_options, statusList } from "/@/utils/status";
 import { ElTag } from "element-plus";
 import { h } from "vue";
-import { renderIconLabelLeft } from "/@/utils/columnRenderHelper";
-import { basicStatusOptions, goodSourceOptions } from "/@/views/invoiceInOut/productManager/config/columns";
+import { goodSourceOptions } from "/@/views/invoiceInOut/productManager/config/columns";
+// import { goodSourceOptions } from "../../../config/columns";
 
 const columns = [
   {
-    width: 30,
-    type: 'selection',
-    fixed: 'left'
-  },
-  {
-    label: "ID",
-    prop: "id",
-    width: 80
+    width: 40,
+    type: 'selection'
   },
   {
     label: "商品编码",
@@ -24,33 +18,38 @@ const columns = [
     width: 150
   },
   {
-    label: '商品名称',
-    prop: 'goodName',
-    width: 150
+    label: "销售方公司",
+    prop: "seller_name",
+    width: 160
+  },
+  {
+    label: "购买方公司",
+    prop: "buyer_name",
+    width: 160
   },
   {
     label: '商品类型',
     width: 100,
-    cellRenderer({ row }) {
+    cellRenderer({ row }){
       return h(ElTag, { size: 'small' }, {
         default: () => cg_order_type_options.find(item => item.value == row.good_type)?.label || '--'
       })
     }
   },
   {
-    label: '结存数',
-    prop: 'residue_stock',
+    label: '商品名称',
+    prop: 'goodName',
+    width: 150
+  },
+  {
+    label: "规格",
+    prop: "spec",
     width: 80
   },
   {
-    label: "状态",
-    prop: "status",
-    width: 60,
-    cellRenderer({ row }) {
-      return h(ElTag, { size: 'small', type: statusList.find(item => item.value == row.status)?.type || 'warning' }, {
-        default: () => statusList.find(item => item.value == row.status)?.label || '--'
-      })
-    }
+    label: "单位",
+    prop: "unit",
+    width: 80
   },
   {
     label: '商品来源',
@@ -62,11 +61,12 @@ const columns = [
     }
   },
   {
-    label: '成本状态',
-    width: 75,
-    cellRenderer({ row }) {
-      return h(ElTag, { size: 'small' }, {
-        default: () => basicStatusOptions.find(item => item.value == row.basic_status)?.label || '--'
+    label: "状态",
+    prop: "status",
+    width: 80,
+    cellRenderer({ row }){
+      return h(ElTag, { size: 'small', type: statusList.find(item => item.value == row.status)?.type || 'warning' }, {
+        default: () => statusList.find(item => item.value == row.status)?.label || '--'
       })
     }
   },
@@ -80,37 +80,15 @@ const columns = [
     prop: 'unit_price',
     width: 100
   },
-  {
-    label: "单位",
-    prop: "unit",
-    width: 42
-  },
-
-
-  {
-    label: "规格",
-    prop: "spec",
-    width: 80
-  },
   {
     label: '重量',
     prop: 'unit_weight',
     width: 80
   },
-  // {
-  //   label: '分光',
-  //   prop: 'spectral',
-  //   width: 80
-  // },
   {
-    label: "销售方公司",
-    width: 160,
-    ...renderIconLabelLeft('seller_code', 'seller_name', "销售方公司纳税号:")
-  },
-  {
-    label: "购买方公司",
-    width: 160,
-    ...renderIconLabelLeft('buyer_code', 'buyer_name', "购买方公司纳税号:")
+    label: '分光',
+    prop: 'spectral',
+    width: 80
   },
   {
     label: '创建人',
@@ -118,18 +96,16 @@ const columns = [
     width: 80
   },
   {
-    label: '创建时间',
+    label:'创建时间',
     prop: 'create_time',
     width: 140
-  },
+  }
 ];
 
 const contentConfig: ContentConfig = {
   columns,
   companyProp: 'buyer_code',
-  apis: { 
-    httpList: (parameter = {}) => httpList({ ...parameter, status: '1' })
-  }
+  apis: { httpList: (parameter = {}) => httpList({ ...parameter, }) }
 };
 
 export default contentConfig;

+ 0 - 0
src/views/invoiceInOut/productManager/components/ChooseGoodModal/config/modal.config.ts → src/components/ChooseGoodModal/config/modal.config.ts


+ 25 - 4
src/components/ChooseGoodModal/config/search.config.ts

@@ -1,6 +1,6 @@
 import { FormConfig } from "/@/components/PageSearch";
 import { goodTypeOptions } from "/@/utils/status";
-import { basicStatusOptions } from "/@/views/invoiceInOut/productManager/config/columns";
+import { basicStatusOptions, goodSourceOptions } from "/@/views/invoiceInOut/productManager/config/columns";
 
 const searchFormConfig: FormConfig = {
   formItems: [
@@ -8,15 +8,26 @@ const searchFormConfig: FormConfig = {
       field: "timer",
       type: "date_picker",
       span: 7,
-      label: '创建时间',
       otherOptions: {
         type: "daterange",
         startProp: "start",
         endProp: "end",
-        startPlaceholder: "开始时间",
-        endPlaceholder: "结束时间"
+        startPlaceholder: "创建开始时间",
+        endPlaceholder: "创建结束时间"
       }
     },
+    {
+      field: 'skuCode',
+      type: 'input',
+      placeholder: '商品编码'
+    },
+    {
+      field: 'good_source',
+      type: 'select',
+      options: goodSourceOptions,
+      placeholder: '商品来源',
+      otherOptions: { disabled: true }
+    },
     {
       field: 'good_type',
       type: 'select',
@@ -31,6 +42,16 @@ const searchFormConfig: FormConfig = {
       options: basicStatusOptions,
       otherOptions: { disabled: true }
     },
+    {
+      field: 'is_combind',
+      type: 'select',
+      placeholder: '组合类型',
+      otherOptions: { disabled: true },
+      options: [
+        { value: '0', label: '非组合商品' },
+        { value: '1', label: '组合商品' },
+      ],
+    },
   ]
 };
 

+ 29 - 56
src/components/ChooseGoodModal/index.vue

@@ -1,28 +1,27 @@
 <script setup lang="ts">
 import { usePageSearch, type PageHooks, type PageEvents } from "/@/hooks/page";
 import contentConfig from "./config/content.config";
-import { ElDialog, ElMessage } from "element-plus";
 import searchConfig from "./config/search.config";
 import { useVModel } from "@vueuse/core";
+import { ElDialog, ElMessage } from "element-plus";
 import { useRouter } from "vue-router";
 import { ref } from "vue";
+import { cloneDeep, keys } from "lodash";
+import { watch } from "vue";
 
-const props = defineProps<{ 
-  visible: boolean; 
-  otherSearchParameter: any;
-  skuCode?: string
-  isJT: boolean
-}>()
-
-  const emit = defineEmits(['submit'])
+const props = defineProps<{ visible: boolean; otherSearchParameter?: any }>()
+const emit = defineEmits(['submit'])
 
 const visible = useVModel(props, 'visible')
+
 const router = useRouter();
 
 const hooks: PageHooks = {
   pageSearchHook: () => usePageSearch(undefined, undefined, searchConfig)
 };
 
+const searchConfigRef = ref(cloneDeep(searchConfig))
+
 const selection= ref([])
 
 const events: PageEvents = {
@@ -34,61 +33,35 @@ const events: PageEvents = {
 
 function handleSubmit(){
    if(selection.value.length === 0){
-       ElMessage.warning('请选择至少一个商品')
-       return
-   }
-
-  // const selectNoTotal = selection.value.filter(({ residue_stock }) => !residue_stock)
-  // if (selectNoTotal.length !== 0) {
-  //   ElMessage.warning(`商品${selectNoTotal.map(({ skuCode }) => skuCode).join('、')}结存数量为空`)
-  //   return
-  // }
-
-   if(props.isJT){
-     if(selection.value.length > 1){
-       ElMessage.warning('只能选择一条计提商品')
+       ElMessage.warning('请选择至少一个子商品')
        return
-     }
-   } else {
-     const skuCodes = [...new Set(selection.value.map(({ skuCode }) => skuCode))]
-     if (skuCodes.length !== 1) {
-       ElMessage.warning('选择的商品的商品编号必须一致')
-       return
-     }
-
-     if (props.skuCode && skuCodes[0] !== props.skuCode) {
-       ElMessage.warning('选择的商品的商品编号必须和当前选择商品的商品编号必须一致')
-       return
-     }
    }
 
-   const result = []
-   selection.value.forEach(single => {
-      if (single.ProductsCombind.length === 0) { 
-        result.push({ ...single, goodNum: '', isJT: props.isJT })
-      } else {
-        single.ProductsCombind.forEach(child => {
-          result.push({ 
-            ...single, 
-            isJT: props.isJT,
-            goodNum: '' ,
-            childCode: child.products.skuCode, 
-            childNum: child.child_num, 
-            childActionNum: '' 
-          })
-        })
-      }
-   })
-
    visible.value = false
-   emit('submit', result)
+   emit('submit', selection.value)
 }
+
+watch(() => props.otherSearchParameter, () =>{
+  if(!props.otherSearchParameter) return
+  const keys = ['timer', 'skuCode', ...Object.keys(props.otherSearchParameter)]
+  searchConfigRef.value.formItems = searchConfig.formItems.filter(item => keys.includes(item.field))
+},{
+  deep: true,
+  immediate: true
+})
 </script>
 
 <template>
-  <ElDialog class="relative" v-model="visible" :title="isJT ? '添加计提商品' : '选择商品'" center top="10px">
-    <PageContainer :only-self="true" v-if="visible" :hooks="hooks" :events="events" :searchConfig="searchConfig"
-      :contentConfig="contentConfig" :isPageStart="true" :other-search-parameter="otherSearchParameter"
+  <ElDialog class="reactive" v-model="visible" title="选择商品" center top="10px">
+    <PageContainer 
+      :only-self="true" 
+      v-if="visible" 
+      :hooks="hooks" 
+      :events="events" 
+      :searchConfig="searchConfigRef"
+      :contentConfig="contentConfig" 
+      :isPageStart="true"
+      :other-search-parameter="otherSearchParameter"
       @content-select-change="values => selection = values.map(item => ({ ...item, child_num: '1', child_id: item.id }))" />
     <ElButton class="absolute bottom-[30px] right-[20px]" type="primary" @click="handleSubmit">保存 </ElButton>
   </ElDialog>

+ 2 - 1
src/components/PageContainer/src/page-container.tsx

@@ -68,7 +68,7 @@ const PageContainer = defineComponent({
     }
 
     function renderPageSearch() {
-      const { searchConfig, events} = props;
+      const { searchConfig, events, otherSearchParameter } = props;
       const { search: searchEvents = {} } = events as any;
       if (!searchConfig) return null;
       return (
@@ -77,6 +77,7 @@ const PageContainer = defineComponent({
           formConfig={searchConfig}
           onResetBtnClick={searchEvents.reset ? searchEvents.reset : search.handleResetClick}
           onSearchBtnClick={search.handleSearchClick}
+          otherSearchParameter={otherSearchParameter}
           v-slots={{ 
             custom: () => slots.search_field && slots.search_field() ,
             action: () => slots.search_button && slots.search_button() ,

+ 13 - 1
src/components/PageSearch/src/page-search.vue

@@ -1,5 +1,5 @@
 <script setup lang="ts">
-import { ref } from "vue";
+import { ref, watch } from "vue";
 import { BasicForm } from "/@/components/BasicForm";
 import { useRenderIcon } from "../../ReIcon/src/hooks";
 import { createFormData } from "./utils/create-form-data";
@@ -60,6 +60,18 @@ if (searchParams.basic && !props.onlySelf) {
     }
   });
 }
+
+
+watch(() => props.otherSearchParameter, () => {
+  console.log(props.otherSearchParameter, '~~🚀~~')
+
+  if(!props.otherSearchParameter) return
+  formData.value = { ...formData.value, ...props.otherSearchParameter }
+  console.log(formData.value)
+}, {
+  deep: true,
+  immediate: true
+})
 </script>
 
 <template>

+ 4 - 0
src/components/PageSearch/src/types.ts

@@ -47,5 +47,9 @@ export const searchFormProps = {
   formConfig: {
     type: Object as PropType<FormConfig>,
     required: true
+  },
+  otherSearchParameter: {
+    type: Object as PropType<any>,
+    required: false
   }
 } as const;

+ 2 - 3
src/views/invoiceInOut/clientC/config/search.config.ts

@@ -6,13 +6,12 @@ const searchFormConfig: FormConfig = {
       field: "timer",
       type: "date_picker",
       span: 7,
-      label: '创建时间',
       otherOptions: {
         type: "daterange",
         startProp: "start",
         endProp: "end",
-        startPlaceholder: "开始时间",
-        endPlaceholder: "结束时间"
+        startPlaceholder: "创建开始时间",
+        endPlaceholder: "创建结束时间"
       }
     },
     {

+ 18 - 16
src/views/invoiceInOut/inManager/components/ChooseGoodModal/config/search.config.ts

@@ -1,32 +1,34 @@
 import { FormConfig } from "/@/components/PageSearch";
-import { goodTypeOptions } from "/@/utils/status";
+import { goodTypeOptions, statusList } from "/@/utils/status";
 
 const searchFormConfig: FormConfig = {
   formItems: [
-    // {
-    //   field: 'skuCode',
-    //   type: 'input',
-    //   placeholder: '商品编码'
-    // },
-    // {
-    //   field: 'good_type',
-    //   type: 'select',
-    //   options: goodTypeOptions,
-    //   placeholder: '商品类型'
-    // },
     {
       field: "timer",
       type: "date_picker",
       span: 7,
-      label: '创建时间',
       otherOptions: {
         type: "daterange",
         startProp: "start",
         endProp: "end",
-        startPlaceholder: "开始时间",
-        endPlaceholder: "结束时间"
+        startPlaceholder: "创建开始时间",
+        endPlaceholder: "创建结束时间"
       }
-    }
+    },
+    {
+      field: 'good_type',
+      type: 'select',
+      options: goodTypeOptions,
+      placeholder: '商品类型',
+      otherOptions: { disabled: true }
+    },
+    {
+      field: 'status',
+      type: 'select',
+      options: statusList,
+      placeholder: '状态',
+      otherOptions: { disabled: true }
+    },
   ]
 };
 

+ 70 - 88
src/views/invoiceInOut/inManager/detail.vue

@@ -47,7 +47,7 @@ const productDetail = computed(() => {
 const searchParameter = computed(() => {
   // 入库、入库红冲和出库红冲 只能选择真实成本的商品,出库类型可以选择预估成本商品
   if (!detailTask.data) return {}
-  return { good_type: detailTask.data?.goodType }
+  return { good_type: String(detailTask.data?.goodType), status: '1' }
 })
 
 
@@ -167,94 +167,76 @@ id.value && detailTask.run(httpDetail({ id: id.value }))
   <div class="padding__container" v-loading="detailTask.loading">
 
     <ElCollapse v-model="collapses">
-          <ElCollapseItem :title="title" name="1">
-            <BasicDescriptions :columns="orderGoodColumns" :data="detailTask.data" v-if="detailTask.data" />
-          </ElCollapseItem>
-
-          <ElCollapseItem :title="'订单详情'" name="2">
-            <BasicDescriptions v-if="detailTask.data" :columns="importOrderGoodColumns" :data="detailTask.data" />
-          </ElCollapseItem>
-
-          <ElCollapseItem :title="'发票详情'" name="3">
-            <BasicDescriptions v-if="detailTask.data" :columns="importInvoiceGoodColumns" :data="detailTask.data" />
-          </ElCollapseItem>
-
-
-          <ElCollapseItem title="商品信息" name="4" v-if="productDetailTask.data && detailTask.data.status == '2'">
-            <ProductDetail 
-              :data="productDetailTask.data" 
-              :num="productDetail?.num" 
-              :time="productDetail?.create_time"
-            />
-          </ElCollapseItem>
-
-          <ElCollapseItem 
-            title="出入库信息确认" 
-            name="5"
-            v-if="!isSuperUser && detailTask.data && detailTask.data.status == '1' || detailTask.data.status == '4'">
-            <ElForm ref="formRef" :rules="rules" :model="formData">
-              <ElFormItem label="操作商品" prop="goods">
-                <ElTable :span-method="spanMethod" border size="small" :data="formData.goods">
-                  <ElTableColumn label="商品编号" prop="skuCode" show-overflow-tooltip />
-                  <ElTableColumn label="商品名称" prop="goodName" show-overflow-tooltip />
-                  <ElTableColumn label="操作数量" prop="goodNum" show-overflow-tooltip />
-                  <ElTableColumn label="子商品编号" prop="childCode" show-overflow-tooltip />
-                  <ElTableColumn label="销售方公司纳税识别号" width="140px" prop="seller_code" show-overflow-tooltip />
-                  <ElTableColumn label="子商品比例" prop="childNum" show-overflow-tooltip />
-                  <ElTableColumn label="子商品操作数量" prop="childActionNum" show-overflow-tooltip />
-
-                  <ElTableColumn width="70px" label="操作">
-                    <template #header>
-                      <div class="w-full flex justify-between">
-                        <span>操作</span>
-                        <ElTooltip content="添加" placement="top">
-                          <ElButton link size="small" type="primary" :icon="useRenderIcon('add')"
-                            @click="visible = true" />
-                        </ElTooltip>
-                      </div>
-                    </template>
-
-                    <template #="{ $index }">
-                      <ElTooltip content="编辑" placement="top">
-                        <ElButton :icon="useRenderIcon('edits')" type="primary" size="small" link
-                          @click="handleChildGoodEdit($index)" />
-                      </ElTooltip>
-
-
-                      <ElTooltip content="删除" placement="top">
-                        <ElButton :icon="useRenderIcon('delete')" @click="handleDelete($index)" type="danger"
-                          size="small" link />
-                      </ElTooltip>
-                    </template>
-                  </ElTableColumn>
-                </ElTable>
-              </ElFormItem>
-
-              <ElFormItem label="入账月份" prop="month">
-                <SealMonthPicker 
-                  placeholder="入账月份"
-                  v-model="formData.month" 
-                  :company_code="detailTask.data.seller_code" />
-              </ElFormItem>
-            </ElForm>
-
-            <div class="flex w-full justify-end">
-              <ElButton type="primary" @click="onSubmit">保存</ElButton>
-            </div>
-          </ElCollapseItem>
+      <ElCollapseItem :title="title" name="1">
+        <BasicDescriptions :columns="orderGoodColumns" :data="detailTask.data" v-if="detailTask.data" />
+      </ElCollapseItem>
+
+      <ElCollapseItem :title="'订单详情'" name="2">
+        <BasicDescriptions v-if="detailTask.data" :columns="importOrderGoodColumns" :data="detailTask.data" />
+      </ElCollapseItem>
+
+      <ElCollapseItem :title="'发票详情'" name="3">
+        <BasicDescriptions v-if="detailTask.data" :columns="importInvoiceGoodColumns" :data="detailTask.data" />
+      </ElCollapseItem>
+
+
+      <ElCollapseItem title="商品信息" name="4" v-if="productDetailTask.data && detailTask.data.status == '2'">
+        <ProductDetail :data="productDetailTask.data" :num="productDetail?.num" :time="productDetail?.create_time" />
+      </ElCollapseItem>
+
+      <ElCollapseItem title="出入库信息确认" name="5"
+        v-if="!isSuperUser && detailTask.data && detailTask.data.status == '1' || detailTask.data.status == '4'">
+        <ElForm ref="formRef" :rules="rules" :model="formData">
+          <ElFormItem label="操作商品" prop="goods">
+            <ElTable :span-method="spanMethod" border size="small" :data="formData.goods">
+              <ElTableColumn label="商品编号" prop="skuCode" show-overflow-tooltip />
+              <ElTableColumn label="商品名称" prop="goodName" show-overflow-tooltip />
+              <ElTableColumn label="操作数量" prop="goodNum" show-overflow-tooltip />
+              <ElTableColumn label="子商品编号" prop="childCode" show-overflow-tooltip />
+              <ElTableColumn label="销售方公司纳税识别号" width="140px" prop="seller_code" show-overflow-tooltip />
+              <ElTableColumn label="子商品比例" prop="childNum" show-overflow-tooltip />
+              <ElTableColumn label="子商品操作数量" prop="childActionNum" show-overflow-tooltip />
+
+              <ElTableColumn width="70px" label="操作">
+                <template #header>
+                  <div class="w-full flex justify-between">
+                    <span>操作</span>
+                    <ElTooltip content="添加" placement="top">
+                      <ElButton link size="small" type="primary" :icon="useRenderIcon('add')" @click="visible = true" />
+                    </ElTooltip>
+                  </div>
+                </template>
+
+                <template #="{ $index }">
+                  <ElTooltip content="编辑" placement="top">
+                    <ElButton :icon="useRenderIcon('edits')" type="primary" size="small" link
+                      @click="handleChildGoodEdit($index)" />
+                  </ElTooltip>
+
+
+                  <ElTooltip content="删除" placement="top">
+                    <ElButton :icon="useRenderIcon('delete')" @click="handleDelete($index)" type="danger" size="small"
+                      link />
+                  </ElTooltip>
+                </template>
+              </ElTableColumn>
+            </ElTable>
+          </ElFormItem>
+
+          <ElFormItem label="入账月份" prop="month">
+            <SealMonthPicker placeholder="入账月份" v-model="formData.month" :company_code="detailTask.data.seller_code" />
+          </ElFormItem>
+        </ElForm>
+
+        <div class="flex w-full justify-end">
+          <ElButton type="primary" @click="onSubmit">保存</ElButton>
+        </div>
+      </ElCollapseItem>
     </ElCollapse>
 
-    <ChooseGoodModal 
-      v-model:visible="visible" 
-      :otherSearchParameter="searchParameter" 
-      @submit="handleGoodComfirm" 
-    />
-
-    <ChildGoodEditModal 
-      :data="state.data" 
-      :index="state.index" 
-      v-model:visible="state.editVisible"
-      @submit="handleEditGood" 
-    />
+    <ChooseGoodModal v-model:visible="visible" :otherSearchParameter="searchParameter" @submit="handleGoodComfirm" />
+
+    <ChildGoodEditModal :data="state.data" :index="state.index" v-model:visible="state.editVisible"
+      @submit="handleEditGood" />
   </div>
 </template>

+ 25 - 12
src/views/invoiceInOut/inventoryCheck/components/ChooseGoodModal/config/search.config.ts

@@ -1,8 +1,20 @@
 import { FormConfig } from "/@/components/PageSearch";
-import { goodTypeOptions } from "/@/utils/status";
+import { goodTypeOptions, statusList } from "/@/utils/status";
+import { basicStatusOptions } from "/@/views/invoiceInOut/productManager/config/columns";
 
 const searchFormConfig: FormConfig = {
   formItems: [
+    {
+      field: "timer",
+      type: "date_picker",
+      otherOptions: {
+        type: "daterange",
+        startProp: "start",
+        endProp: "end",
+        startPlaceholder: "创建开始时间",
+        endPlaceholder: "创建结束时间"
+      }
+    },
     {
       field: 'skuCode',
       type: 'input',
@@ -15,17 +27,18 @@ const searchFormConfig: FormConfig = {
       placeholder: '商品类型'
     },
     {
-      field: "timer",
-      type: "date_picker",
-      span: 7,
-      label: '创建时间',
-      otherOptions: {
-        type: "daterange",
-        startProp: "start",
-        endProp: "end",
-        startPlaceholder: "开始时间",
-        endPlaceholder: "结束时间"
-      }
+      field: "status",
+      type: "select",
+      placeholder: '状态',
+      options: statusList,
+      otherOptions: { disabled: true}
+    },
+    {
+      type: 'select',
+      placeholder: '成本类型',
+      field: 'basic_status',
+      options: basicStatusOptions,
+      otherOptions: { disabled: true }
     }
   ]
 };

+ 1 - 1
src/views/invoiceInOut/inventoryCheck/components/ChooseGoodModal/index.vue

@@ -51,7 +51,7 @@ function handleSubmit(){
         :events="events"
         :searchConfig="searchConfig"
         :contentConfig="contentConfig"
-        :other-search-parameter="{ basic_status : '1'}"
+        :other-search-parameter="{ basic_status : '1', status: '1'}"
         :isPageStart="true"
         @content-select-change="values => selection = values.map(item => ({ ...item, child_num: '1', child_id: item.id }))"
       />

+ 76 - 0
src/views/invoiceInOut/outManager/components/ChooseGoodModal/config/columns.ts

@@ -0,0 +1,76 @@
+import { render } from "nprogress";
+import { cg_order_type_options, statusList } from "/@/utils/status";
+import { h } from "vue";
+import { ElTag } from "element-plus";
+
+export const goodColumns = [
+  {
+    span: 12,
+    field: 'seller_name',
+    label: '销售方公司'
+  },
+  {
+    span: 12,
+    field: 'buyer_name',
+    label: '购买方公司'
+  },
+  {
+    span: 12,
+    field: 'goodName',
+    label: '订单商品名称'
+  },
+  {
+    span: 12,
+    field: 'inv_good_name',
+    label: '发票商品名称'
+  },
+  {
+    span: 6,
+    label: '商品类型',
+    render(_, { good_type }){
+      return h(ElTag, { size: 'small' }, {
+        default: () => cg_order_type_options.find(item => item.value == good_type)?.label || '--'
+      })
+    }
+  },
+  {
+    span: 6,
+    field: 'good_code',
+    label: '商品代码'
+  },
+  {
+    span: 6,
+    field: 'spec',
+    label: '规格'
+  },
+  {
+    span: 6,
+    field: 'unit',
+    label: '单位'
+  },
+  {
+    span: 6,
+    field: 'unit_price',
+    label: '税前单价'
+  },
+  {
+    span: 6,
+    field: 'subunit_price',
+    label: '税后单价'
+  },
+  {
+    span: 6,
+    field: 'unit_weight',
+    label: '重量'
+  },
+  {
+    span: 6,
+    field: 'spectral',
+    label: '分光'
+  },
+  {
+    field: 'cat_name',
+    label: '进项类目',
+    span: 24
+  }
+]

+ 135 - 0
src/views/invoiceInOut/outManager/components/ChooseGoodModal/config/content.config.ts

@@ -0,0 +1,135 @@
+import { ContentConfig } from "/@/components/PageContent";
+import { httpList } from "/@/api/invoiceInOut/productManager";
+
+import { cg_order_type_options, statusList } from "/@/utils/status";
+import { ElTag } from "element-plus";
+import { h } from "vue";
+import { renderIconLabelLeft } from "/@/utils/columnRenderHelper";
+import { basicStatusOptions, goodSourceOptions } from "/@/views/invoiceInOut/productManager/config/columns";
+
+const columns = [
+  {
+    width: 40,
+    type: 'selection',
+    fixed: 'left'
+  },
+  {
+    label: "ID",
+    prop: "id",
+    width: 80
+  },
+  {
+    label: "商品编码",
+    prop: "skuCode",
+    width: 150
+  },
+  {
+    label: '商品名称',
+    prop: 'goodName',
+    width: 150
+  },
+  {
+    label: '商品类型',
+    width: 100,
+    cellRenderer({ row }) {
+      return h(ElTag, { size: 'small' }, {
+        default: () => cg_order_type_options.find(item => item.value == row.good_type)?.label || '--'
+      })
+    }
+  },
+  {
+    label: '结存数',
+    prop: 'residue_stock',
+    width: 80
+  },
+  {
+    label: "状态",
+    prop: "status",
+    width: 60,
+    cellRenderer({ row }) {
+      return h(ElTag, { size: 'small', type: statusList.find(item => item.value == row.status)?.type || 'warning' }, {
+        default: () => statusList.find(item => item.value == row.status)?.label || '--'
+      })
+    }
+  },
+  {
+    label: '商品来源',
+    width: 95,
+    cellRenderer({ row }) {
+      return h(ElTag, { size: 'small' }, {
+        default: () => goodSourceOptions.find(item => item.value == row.good_source)?.label || '--'
+      })
+    }
+  },
+  {
+    label: '成本状态',
+    width: 75,
+    cellRenderer({ row }) {
+      return h(ElTag, { size: 'small' }, {
+        default: () => basicStatusOptions.find(item => item.value == row.basic_status)?.label || '--'
+      })
+    }
+  },
+  {
+    label: '税前单价',
+    prop: 'subunit_price',
+    width: 100
+  },
+  {
+    label: '税后单价',
+    prop: 'unit_price',
+    width: 100
+  },
+  {
+    label: "单位",
+    prop: "unit",
+    width: 42
+  },
+
+
+  {
+    label: "规格",
+    prop: "spec",
+    width: 80
+  },
+  {
+    label: '重量',
+    prop: 'unit_weight',
+    width: 80
+  },
+  // {
+  //   label: '分光',
+  //   prop: 'spectral',
+  //   width: 80
+  // },
+  {
+    label: "销售方公司",
+    width: 160,
+    ...renderIconLabelLeft('seller_code', 'seller_name', "销售方公司纳税号:")
+  },
+  {
+    label: "购买方公司",
+    width: 160,
+    ...renderIconLabelLeft('buyer_code', 'buyer_name', "购买方公司纳税号:")
+  },
+  {
+    label: '创建人',
+    prop: 'apply_name',
+    width: 80
+  },
+  {
+    label: '创建时间',
+    prop: 'create_time',
+    width: 140
+  },
+];
+
+const contentConfig: ContentConfig = {
+  columns,
+  companyProp: 'buyer_code',
+  apis: { 
+    httpList: (parameter = {}) => httpList({ ...parameter, status: '1' })
+  }
+};
+
+export default contentConfig;

+ 36 - 0
src/views/invoiceInOut/outManager/components/ChooseGoodModal/config/search.config.ts

@@ -0,0 +1,36 @@
+import { FormConfig } from "/@/components/PageSearch";
+import { goodTypeOptions, statusList } from "/@/utils/status";
+import { basicStatusOptions } from "/@/views/invoiceInOut/productManager/config/columns";
+
+const searchFormConfig: FormConfig = {
+  formItems: [
+    {
+      field: "timer",
+      type: "date_picker",
+      span: 7,
+      otherOptions: {
+        type: "daterange",
+        startProp: "start",
+        endProp: "end",
+        startPlaceholder: "创建开始时间",
+        endPlaceholder: "创建结束时间"
+      }
+    },
+    {
+      field: 'good_type',
+      type: 'select',
+      options: goodTypeOptions,
+      placeholder: '商品类型',
+      otherOptions: { disabled: true }
+    },
+    {
+      field: 'status',
+      type: 'select',
+      options: statusList,
+      placeholder: '状态',
+      otherOptions: { disabled: true }
+    }
+  ]
+};
+
+export default searchFormConfig;

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini