imeik-bizui 2.2.8 → 2.3.1
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/bizui/src/{FieldApplyTypeView → FieldApplyTypeView2}/data.js +391 -0
- package/dist/bizui/src/{FieldApplyTypeView → FieldApplyTypeView2}/index.vue +7 -6
- package/dist/bizui/src/FieldMaterialSelect/components/ProductList.vue +53 -0
- package/dist/bizui/src/FieldMaterialSelect/index.vue +12 -1
- package/dist/imeik-bizui.common.js +3042 -3947
- package/dist/imeik-bizui.common.js.gz +0 -0
- package/dist/imeik-bizui.css +2 -2
- package/dist/imeik-bizui.css.gz +0 -0
- package/dist/imeik-bizui.umd.js +3042 -3947
- package/dist/imeik-bizui.umd.js.gz +0 -0
- package/dist/imeik-bizui.umd.min.js +7 -14
- package/dist/imeik-bizui.umd.min.js.gz +0 -0
- package/package.json +1 -1
- package/dist/bizui/src/BeforeAndAfterSurgeryItem/components/DictionaryCascaderNew.vue +0 -164
- package/dist/bizui/src/BeforeAndAfterSurgeryItem/index.vue +0 -523
- /package/dist/bizui/src/{FieldSeleceDoctor → FieldSeleceDoctor2}/index.vue +0 -0
|
@@ -629,6 +629,397 @@ const typeItems = {
|
|
|
629
629
|
placeholder: '举例:收集受试者灯**例,术前术后照片等'
|
|
630
630
|
}
|
|
631
631
|
}
|
|
632
|
+
],
|
|
633
|
+
// 会议展示 2000888819456401411
|
|
634
|
+
// 会议名称 申请中心 必填 文本100
|
|
635
|
+
// 会议地点 申请中心 必填 文本100
|
|
636
|
+
// 会议时间 申请中心 截止日期必须晚于或等于开始日期 必填 日期
|
|
637
|
+
// 特邀嘉宾 申请中心 必填 文本100
|
|
638
|
+
// 参会人数 申请中心 必填 文本100
|
|
639
|
+
// 预期目标 申请中心 必填 文本5000
|
|
640
|
+
'2000888819456401411': [
|
|
641
|
+
{
|
|
642
|
+
type: 'ImInput',
|
|
643
|
+
prop: 'meetingName',
|
|
644
|
+
label: '会议名称',
|
|
645
|
+
rules: [{ required: true, message: '请输入会议名称' }],
|
|
646
|
+
attrs: {
|
|
647
|
+
placeholder: '请输入会议名称',
|
|
648
|
+
maxLength: 100,
|
|
649
|
+
showWordLimit: true
|
|
650
|
+
}
|
|
651
|
+
},
|
|
652
|
+
{
|
|
653
|
+
type: 'ImInput',
|
|
654
|
+
prop: 'meetingLocation',
|
|
655
|
+
label: '会议地点',
|
|
656
|
+
rules: [{ required: true, message: '请输入会议地点' }],
|
|
657
|
+
attrs: {
|
|
658
|
+
placeholder: '请输入会议地点',
|
|
659
|
+
maxLength: 100,
|
|
660
|
+
showWordLimit: true
|
|
661
|
+
}
|
|
662
|
+
},
|
|
663
|
+
{
|
|
664
|
+
type: 'ImDatePicker',
|
|
665
|
+
prop: 'meetingTime',
|
|
666
|
+
label: '会议时间',
|
|
667
|
+
rules: [{ required: true, message: '请选择会议时间' }],
|
|
668
|
+
attrs: {
|
|
669
|
+
style: 'width: 100%',
|
|
670
|
+
type: 'daterange',
|
|
671
|
+
startPlaceholder: '开始日期',
|
|
672
|
+
endPlaceholder: '截止日期',
|
|
673
|
+
placeholder: '请选择会议时间'
|
|
674
|
+
}
|
|
675
|
+
},
|
|
676
|
+
{
|
|
677
|
+
type: 'ImInput',
|
|
678
|
+
prop: 'meetingGuest',
|
|
679
|
+
label: '特邀嘉宾',
|
|
680
|
+
rules: [{ required: true, message: '请输入特邀嘉宾' }],
|
|
681
|
+
attrs: {
|
|
682
|
+
placeholder: '请输入特邀嘉宾',
|
|
683
|
+
maxLength: 100,
|
|
684
|
+
showWordLimit: true
|
|
685
|
+
}
|
|
686
|
+
},
|
|
687
|
+
{
|
|
688
|
+
type: 'ImInputNumber',
|
|
689
|
+
prop: 'meetingAttendees',
|
|
690
|
+
label: '参会人数',
|
|
691
|
+
rules: [{ required: true, message: '请输入参会人数' }],
|
|
692
|
+
attrs: {
|
|
693
|
+
style: 'width: 100%',
|
|
694
|
+
placeholder: '请输入参会人数',
|
|
695
|
+
controlsPosition: 'right',
|
|
696
|
+
min: 1,
|
|
697
|
+
max: 999999
|
|
698
|
+
}
|
|
699
|
+
},
|
|
700
|
+
{
|
|
701
|
+
type: 'ImBr',
|
|
702
|
+
prop: 'br', // 仅用于占位,可随意命名
|
|
703
|
+
notInForm: true // 必须设置为 true,避免被视为表单数据字段
|
|
704
|
+
},
|
|
705
|
+
{
|
|
706
|
+
type: 'ImInput',
|
|
707
|
+
prop: 'meetingExpectation',
|
|
708
|
+
label: '预期目标',
|
|
709
|
+
span: 24,
|
|
710
|
+
rules: [{ required: true, message: '请输入预期目标' }],
|
|
711
|
+
attrs: {
|
|
712
|
+
type: 'textarea',
|
|
713
|
+
placeholder: '请输入预期目标',
|
|
714
|
+
maxLength: 5000,
|
|
715
|
+
showWordLimit: true,
|
|
716
|
+
rows: 4
|
|
717
|
+
}
|
|
718
|
+
}
|
|
719
|
+
],
|
|
720
|
+
// 市场推广支持 2000888819464790019
|
|
721
|
+
// 活动名称 申请中心 必填 文本100
|
|
722
|
+
// 推广渠道 申请中心 必填 文本100
|
|
723
|
+
// 推广人数 申请中心 必填 文本50
|
|
724
|
+
// 推广时间 申请中心 必填 日期
|
|
725
|
+
// 预期目标 申请中心 必填 文本5000
|
|
726
|
+
'2000888819464790019': [
|
|
727
|
+
{
|
|
728
|
+
type: 'ImInput',
|
|
729
|
+
prop: 'promotionActivityName',
|
|
730
|
+
label: '活动名称',
|
|
731
|
+
rules: [{ required: true, message: '请输入活动名称' }],
|
|
732
|
+
attrs: {
|
|
733
|
+
placeholder: '请输入活动名称',
|
|
734
|
+
maxLength: 100,
|
|
735
|
+
showWordLimit: true
|
|
736
|
+
}
|
|
737
|
+
},
|
|
738
|
+
{
|
|
739
|
+
type: 'ImInput',
|
|
740
|
+
prop: 'promotionChannel',
|
|
741
|
+
label: '推广渠道',
|
|
742
|
+
rules: [{ required: true, message: '请输入推广渠道' }],
|
|
743
|
+
attrs: {
|
|
744
|
+
placeholder: '请输入推广渠道',
|
|
745
|
+
maxLength: 100,
|
|
746
|
+
showWordLimit: true
|
|
747
|
+
}
|
|
748
|
+
},
|
|
749
|
+
{
|
|
750
|
+
type: 'ImInputNumber',
|
|
751
|
+
prop: 'promotionCount',
|
|
752
|
+
label: '推广人数',
|
|
753
|
+
rules: [{ required: true, message: '请输入推广人数' }],
|
|
754
|
+
attrs: {
|
|
755
|
+
style: 'width: 100%',
|
|
756
|
+
placeholder: '请输入推广人数',
|
|
757
|
+
controlsPosition: 'right',
|
|
758
|
+
min: 1,
|
|
759
|
+
max: 999999
|
|
760
|
+
}
|
|
761
|
+
},
|
|
762
|
+
{
|
|
763
|
+
type: 'ImDatePicker',
|
|
764
|
+
prop: 'promotionTime',
|
|
765
|
+
label: '推广时间',
|
|
766
|
+
rules: [{ required: true, message: '请选择推广时间' }],
|
|
767
|
+
attrs: {
|
|
768
|
+
style: 'width: 100%',
|
|
769
|
+
placeholder: '请选择推广时间'
|
|
770
|
+
}
|
|
771
|
+
},
|
|
772
|
+
{
|
|
773
|
+
type: 'ImBr',
|
|
774
|
+
prop: 'br',
|
|
775
|
+
notInForm: true
|
|
776
|
+
},
|
|
777
|
+
{
|
|
778
|
+
type: 'ImInput',
|
|
779
|
+
prop: 'promotionExpectation',
|
|
780
|
+
label: '预期目标',
|
|
781
|
+
span: 24,
|
|
782
|
+
rules: [{ required: true, message: '请输入预期目标' }],
|
|
783
|
+
attrs: {
|
|
784
|
+
type: 'textarea',
|
|
785
|
+
placeholder: '请输入预期目标',
|
|
786
|
+
maxLength: 5000,
|
|
787
|
+
showWordLimit: true,
|
|
788
|
+
rows: 4
|
|
789
|
+
}
|
|
790
|
+
}
|
|
791
|
+
],
|
|
792
|
+
// 重点客户开发 2000888819468984322
|
|
793
|
+
// 客户名称 申请中心 必填 文本100
|
|
794
|
+
// 赠送人姓名和职务 申请中心 必填 文本100
|
|
795
|
+
// 预期目标 申请中心 必填 文本5000
|
|
796
|
+
'2000888819468984322': [
|
|
797
|
+
{
|
|
798
|
+
type: 'ImInput',
|
|
799
|
+
prop: 'customerName',
|
|
800
|
+
label: '客户名称',
|
|
801
|
+
rules: [{ required: true, message: '请输入客户名称' }],
|
|
802
|
+
attrs: {
|
|
803
|
+
placeholder: '请输入客户名称',
|
|
804
|
+
maxLength: 100,
|
|
805
|
+
showWordLimit: true
|
|
806
|
+
}
|
|
807
|
+
},
|
|
808
|
+
{
|
|
809
|
+
type: 'ImInput',
|
|
810
|
+
prop: 'giftPersonNameAndPosition',
|
|
811
|
+
label: '赠送人姓名和职务',
|
|
812
|
+
rules: [{ required: true, message: '请输入赠送人姓名和职务' }],
|
|
813
|
+
attrs: {
|
|
814
|
+
placeholder: '请输入赠送人姓名和职务',
|
|
815
|
+
maxLength: 100,
|
|
816
|
+
showWordLimit: true
|
|
817
|
+
}
|
|
818
|
+
},
|
|
819
|
+
{
|
|
820
|
+
type: 'ImBr',
|
|
821
|
+
prop: 'br',
|
|
822
|
+
notInForm: true
|
|
823
|
+
},
|
|
824
|
+
{
|
|
825
|
+
type: 'ImInput',
|
|
826
|
+
prop: 'expectationTarget',
|
|
827
|
+
label: '预期目标',
|
|
828
|
+
rules: [{ required: true, message: '请输入预期目标' }],
|
|
829
|
+
span: 24,
|
|
830
|
+
attrs: {
|
|
831
|
+
type: 'textarea',
|
|
832
|
+
rows: 4,
|
|
833
|
+
maxLength: 5000,
|
|
834
|
+
'show-word-limit': true,
|
|
835
|
+
placeholder: '请输入预期目标'
|
|
836
|
+
}
|
|
837
|
+
}
|
|
838
|
+
],
|
|
839
|
+
// 产品测试 2000888819481567235
|
|
840
|
+
// 测试者姓名/机构 申请中心 必填 文本100
|
|
841
|
+
// 测试时间 申请中心 必填 日期
|
|
842
|
+
// 测试目标 申请中心 必填 文本5000
|
|
843
|
+
'2000888819481567235': [
|
|
844
|
+
{
|
|
845
|
+
type: 'ImInput',
|
|
846
|
+
prop: 'testerNameAndOrganization',
|
|
847
|
+
label: '测试者姓名/机构',
|
|
848
|
+
rules: [{ required: true, message: '请输入测试者姓名/机构' }],
|
|
849
|
+
attrs: {
|
|
850
|
+
placeholder: '请输入测试者姓名/机构',
|
|
851
|
+
maxLength: 100,
|
|
852
|
+
showWordLimit: true
|
|
853
|
+
}
|
|
854
|
+
},
|
|
855
|
+
{
|
|
856
|
+
type: 'ImDatePicker',
|
|
857
|
+
prop: 'testerTime',
|
|
858
|
+
label: '测试时间',
|
|
859
|
+
rules: [{ required: true, message: '请选择测试时间' }],
|
|
860
|
+
attrs: {
|
|
861
|
+
style: 'width: 100%',
|
|
862
|
+
placeholder: '请选择测试时间'
|
|
863
|
+
}
|
|
864
|
+
},
|
|
865
|
+
{
|
|
866
|
+
type: 'ImBr',
|
|
867
|
+
prop: 'br',
|
|
868
|
+
notInForm: true
|
|
869
|
+
},
|
|
870
|
+
{
|
|
871
|
+
type: 'ImInput',
|
|
872
|
+
prop: 'testerTarget',
|
|
873
|
+
label: '测试目标',
|
|
874
|
+
rules: [{ required: true, message: '请输入测试目标' }],
|
|
875
|
+
span: 24,
|
|
876
|
+
attrs: {
|
|
877
|
+
type: 'textarea',
|
|
878
|
+
rows: 4,
|
|
879
|
+
maxLength: 5000,
|
|
880
|
+
'show-word-limit': true,
|
|
881
|
+
placeholder: '请输入测试目标'
|
|
882
|
+
}
|
|
883
|
+
}
|
|
884
|
+
],
|
|
885
|
+
// 客户维护 2000888819485761538
|
|
886
|
+
// 客户名称(建档) 申请中心 支持模糊搜索 必填 下拉单选
|
|
887
|
+
// 维护原因 申请中心 必填 文本5000
|
|
888
|
+
// 维护目标 申请中心 必填 文本5000
|
|
889
|
+
'2000888819485761538': [
|
|
890
|
+
{
|
|
891
|
+
type: 'FieldTagComponent',
|
|
892
|
+
prop: 'applyCustomer',
|
|
893
|
+
label: '客户名称(建档)',
|
|
894
|
+
rules: [{ required: true, message: '请选择客户名称(建档)' }],
|
|
895
|
+
span: 24,
|
|
896
|
+
attrs: {
|
|
897
|
+
multiple: false,
|
|
898
|
+
placeholder: '请选择客户名称(建档)',
|
|
899
|
+
tagCode: 'applyCustomer',
|
|
900
|
+
tagViewType: 'ImServerSelect',
|
|
901
|
+
tagValueUrl: 'https://tagcenter-backend-test.imeik.com/tagcenter-admin/dictionary/getCustomListByName'
|
|
902
|
+
}
|
|
903
|
+
},
|
|
904
|
+
{
|
|
905
|
+
type: 'ImInput',
|
|
906
|
+
prop: 'maintenanceReason',
|
|
907
|
+
label: '维护原因',
|
|
908
|
+
rules: [{ required: true, message: '请输入维护原因' }],
|
|
909
|
+
span: 24,
|
|
910
|
+
attrs: {
|
|
911
|
+
type: 'textarea',
|
|
912
|
+
placeholder: '请输入维护原因',
|
|
913
|
+
maxLength: 5000,
|
|
914
|
+
'show-word-limit': true,
|
|
915
|
+
rows: 4
|
|
916
|
+
}
|
|
917
|
+
},
|
|
918
|
+
{
|
|
919
|
+
type: 'ImInput',
|
|
920
|
+
prop: 'maintenanceTarget',
|
|
921
|
+
label: '维护目标',
|
|
922
|
+
rules: [{ required: true, message: '请输入维护目标' }],
|
|
923
|
+
span: 24,
|
|
924
|
+
attrs: {
|
|
925
|
+
type: 'textarea',
|
|
926
|
+
placeholder: '请输入维护目标',
|
|
927
|
+
maxLength: 5000,
|
|
928
|
+
'show-word-limit': true,
|
|
929
|
+
rows: 4
|
|
930
|
+
}
|
|
931
|
+
}
|
|
932
|
+
],
|
|
933
|
+
// 业务招待费 2000888819494150146
|
|
934
|
+
// 客户名称 申请中心 必填 文本100
|
|
935
|
+
// 赠送人姓名和职务 申请中心 必填 文本100
|
|
936
|
+
// 预期目标 申请中心 必填 文本5000
|
|
937
|
+
'2000888819494150146': [
|
|
938
|
+
{
|
|
939
|
+
type: 'ImInput',
|
|
940
|
+
prop: 'customerName',
|
|
941
|
+
label: '客户名称',
|
|
942
|
+
rules: [{ required: true, message: '请输入客户名称' }],
|
|
943
|
+
attrs: {
|
|
944
|
+
placeholder: '请输入客户名称',
|
|
945
|
+
maxLength: 100,
|
|
946
|
+
showWordLimit: true
|
|
947
|
+
}
|
|
948
|
+
},
|
|
949
|
+
{
|
|
950
|
+
type: 'ImInput',
|
|
951
|
+
prop: 'giftPersonNameAndPosition',
|
|
952
|
+
label: '赠送人姓名和职务',
|
|
953
|
+
rules: [{ required: true, message: '请输入赠送人姓名和职务' }],
|
|
954
|
+
attrs: {
|
|
955
|
+
placeholder: '请输入赠送人姓名和职务',
|
|
956
|
+
maxLength: 100,
|
|
957
|
+
showWordLimit: true
|
|
958
|
+
}
|
|
959
|
+
},
|
|
960
|
+
{
|
|
961
|
+
type: 'ImBr',
|
|
962
|
+
prop: 'br',
|
|
963
|
+
notInForm: true
|
|
964
|
+
},
|
|
965
|
+
{
|
|
966
|
+
type: 'ImInput',
|
|
967
|
+
prop: 'expectationTarget',
|
|
968
|
+
label: '预期目标',
|
|
969
|
+
rules: [{ required: true, message: '请输入预期目标' }],
|
|
970
|
+
span: 24,
|
|
971
|
+
attrs: {
|
|
972
|
+
type: 'textarea',
|
|
973
|
+
rows: 4,
|
|
974
|
+
maxLength: 5000,
|
|
975
|
+
'show-word-limit': true,
|
|
976
|
+
placeholder: '请输入预期目标'
|
|
977
|
+
}
|
|
978
|
+
}
|
|
979
|
+
],
|
|
980
|
+
// 产品再加工 2000888819502538755
|
|
981
|
+
// 再加工供应商名称 申请中心 必填 文本100
|
|
982
|
+
// 再加工返回时间 申请中心 必填 日期
|
|
983
|
+
// 再加工后用途 申请中心 必填 文本5000
|
|
984
|
+
'2000888819502538755': [
|
|
985
|
+
{
|
|
986
|
+
type: 'ImInput',
|
|
987
|
+
prop: 'reprocessingSupplierName',
|
|
988
|
+
label: '再加工供应商名称',
|
|
989
|
+
rules: [{ required: true, message: '请输入再加工供应商名称' }],
|
|
990
|
+
attrs: {
|
|
991
|
+
placeholder: '请输入再加工供应商名称',
|
|
992
|
+
maxLength: 100,
|
|
993
|
+
showWordLimit: true
|
|
994
|
+
}
|
|
995
|
+
},
|
|
996
|
+
{
|
|
997
|
+
type: 'ImDatePicker',
|
|
998
|
+
prop: 'reprocessingReturnTime',
|
|
999
|
+
label: '再加工返回时间',
|
|
1000
|
+
rules: [{ required: true, message: '请选择再加工返回时间' }],
|
|
1001
|
+
attrs: {
|
|
1002
|
+
style: 'width: 100%',
|
|
1003
|
+
placeholder: '请选择再加工返回时间'
|
|
1004
|
+
}
|
|
1005
|
+
},
|
|
1006
|
+
{
|
|
1007
|
+
type: 'ImBr',
|
|
1008
|
+
prop: 'br',
|
|
1009
|
+
notInForm: true
|
|
1010
|
+
},
|
|
1011
|
+
{
|
|
1012
|
+
type: 'ImInput',
|
|
1013
|
+
prop: 'reprocessingAfterPurpose',
|
|
1014
|
+
label: '再加工后用途',
|
|
1015
|
+
rules: [{ required: true, message: '请输入再加工后用途' }],
|
|
1016
|
+
attrs: {
|
|
1017
|
+
placeholder: '请输入再加工后用途',
|
|
1018
|
+
maxLength: 5000,
|
|
1019
|
+
'show-word-limit': true,
|
|
1020
|
+
rows: 4
|
|
1021
|
+
}
|
|
1022
|
+
}
|
|
632
1023
|
]
|
|
633
1024
|
}
|
|
634
1025
|
export const getTypeItems = (type, isView = true) => {
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
<script>
|
|
10
10
|
import { getTypeItems } from './data'
|
|
11
|
-
import FieldSeleceDoctor from '../
|
|
11
|
+
import FieldSeleceDoctor from '../FieldSeleceDoctor2/index.vue'
|
|
12
12
|
import { getTagManageList, getEcsErpCode } from '../../api/applycenter'
|
|
13
13
|
import Axios from 'axios'
|
|
14
14
|
const defaultBelongCompany = '201'
|
|
@@ -52,7 +52,8 @@ export default {
|
|
|
52
52
|
},
|
|
53
53
|
formItems: []
|
|
54
54
|
},
|
|
55
|
-
belongCompany: defaultBelongCompany
|
|
55
|
+
belongCompany: defaultBelongCompany,
|
|
56
|
+
applyTypeOptions: []
|
|
56
57
|
}
|
|
57
58
|
},
|
|
58
59
|
computed: {
|
|
@@ -74,7 +75,7 @@ export default {
|
|
|
74
75
|
label: '申请类型',
|
|
75
76
|
rules: [{ required: !this.isView, message: '请选择申请类型', trigger: 'blur' }],
|
|
76
77
|
attrs: {
|
|
77
|
-
options:
|
|
78
|
+
options: this.applyTypeOptions,
|
|
78
79
|
style: {
|
|
79
80
|
width: '100%',
|
|
80
81
|
tips: ''
|
|
@@ -203,15 +204,15 @@ export default {
|
|
|
203
204
|
})) || []
|
|
204
205
|
)
|
|
205
206
|
}) || []
|
|
206
|
-
|
|
207
|
+
this.applyTypeOptions = []
|
|
207
208
|
if (this.attrs.applyTypeOptions?.options && this.attrs.applyTypeOptions?.options.length) {
|
|
208
209
|
allData?.forEach((element) => {
|
|
209
210
|
if (this.attrs.applyTypeOptions.options.includes(element.value)) {
|
|
210
|
-
|
|
211
|
+
this.applyTypeOptions.push(element)
|
|
211
212
|
}
|
|
212
213
|
})
|
|
213
214
|
}
|
|
214
|
-
this.formConfig.formItems[0].attrs.options =
|
|
215
|
+
// this.formConfig.formItems[0].attrs.options = this.applyTypeOptions
|
|
215
216
|
this.handlingConfigurationPrope()
|
|
216
217
|
this.changeShowItems()
|
|
217
218
|
this.setTypeDataOnChange()
|
|
@@ -125,6 +125,23 @@
|
|
|
125
125
|
<p v-if="!hiddenAddress" class="address-info">收货地址:{{ `${row.materialReceivingProvince || ''}${row.materialReceivingCity || ''}${row.materialReceivingArea || ''}${row.materialReceivingAddress || ''}` }}</p>
|
|
126
126
|
<p v-if="!isView" class="address" @click="changeAddressInfo(row, $index)">修改收货地址</p>
|
|
127
127
|
</template>
|
|
128
|
+
<!-- 单价 -->
|
|
129
|
+
<template slot="price" slot-scope="{ row }">
|
|
130
|
+
<ImInputNumber v-if="!isView" v-model="row.materialPrice" :min="0" :max="1000000" placeholder="请输入价格"></ImInputNumber>
|
|
131
|
+
<p v-else class="price">{{ row.materialPrice || '-' }}</p>
|
|
132
|
+
</template>
|
|
133
|
+
<!-- 小计 -->
|
|
134
|
+
<template slot="subtotal" slot-scope="{ row }">
|
|
135
|
+
<p class="subtotal">{{ (row.materialPrice || 0) * (row.materialQuantity || 1) }}</p>
|
|
136
|
+
</template>
|
|
137
|
+
<!-- 税率 -->
|
|
138
|
+
<template slot="rate" slot-scope="{ row }">
|
|
139
|
+
<p class="rate">{{ row.materialRate }}</p>
|
|
140
|
+
</template>
|
|
141
|
+
<!-- 库存 -->
|
|
142
|
+
<template slot="stock" slot-scope="{ row }">
|
|
143
|
+
<p class="stock">{{ row.materialStock || '-' }}</p>
|
|
144
|
+
</template>
|
|
128
145
|
<template slot="operate" slot-scope="{ row, $index }">
|
|
129
146
|
<el-button class="delete-button" type="text" @click="deleteProduct(row, $index)">移除</el-button>
|
|
130
147
|
</template>
|
|
@@ -299,6 +316,42 @@ export default {
|
|
|
299
316
|
'min-width': '205'
|
|
300
317
|
}
|
|
301
318
|
},
|
|
319
|
+
price: {
|
|
320
|
+
prop: 'materialPrice',
|
|
321
|
+
label: '单价(元)',
|
|
322
|
+
type: 'slot',
|
|
323
|
+
slot: 'price',
|
|
324
|
+
attrs: {
|
|
325
|
+
'min-width': '150'
|
|
326
|
+
}
|
|
327
|
+
},
|
|
328
|
+
subtotal: {
|
|
329
|
+
prop: 'subtotal',
|
|
330
|
+
label: '小计(元)',
|
|
331
|
+
type: 'slot',
|
|
332
|
+
slot: 'subtotal',
|
|
333
|
+
attrs: {
|
|
334
|
+
'min-width': '150'
|
|
335
|
+
}
|
|
336
|
+
},
|
|
337
|
+
rate: {
|
|
338
|
+
prop: 'rate',
|
|
339
|
+
label: '税率',
|
|
340
|
+
type: 'slot',
|
|
341
|
+
slot: 'rate',
|
|
342
|
+
attrs: {
|
|
343
|
+
'min-width': '150'
|
|
344
|
+
}
|
|
345
|
+
},
|
|
346
|
+
stock: {
|
|
347
|
+
prop: 'materialStock',
|
|
348
|
+
label: '库存',
|
|
349
|
+
type: 'slot',
|
|
350
|
+
slot: 'stock',
|
|
351
|
+
attrs: {
|
|
352
|
+
'min-width': '150'
|
|
353
|
+
}
|
|
354
|
+
},
|
|
302
355
|
operate: {
|
|
303
356
|
prop: 'operate',
|
|
304
357
|
label: '操作',
|
|
@@ -59,6 +59,8 @@ export default {
|
|
|
59
59
|
purpose: ['purpose'], // 目的列
|
|
60
60
|
address: ['addressInfo'],
|
|
61
61
|
warehouse: ['warehouse'], // 仓库
|
|
62
|
+
priceInfo: ['price', 'subtotal', 'rate'], // 价格列
|
|
63
|
+
stockInfo: ['stock'], // 库存列
|
|
62
64
|
formPropControl: undefined
|
|
63
65
|
}
|
|
64
66
|
},
|
|
@@ -80,6 +82,12 @@ export default {
|
|
|
80
82
|
},
|
|
81
83
|
deep: true,
|
|
82
84
|
immediate: true
|
|
85
|
+
},
|
|
86
|
+
'attrs.materialConfig': {
|
|
87
|
+
immediate: true,
|
|
88
|
+
handler() {
|
|
89
|
+
this.handleTableData()
|
|
90
|
+
}
|
|
83
91
|
}
|
|
84
92
|
},
|
|
85
93
|
created() {
|
|
@@ -166,6 +174,7 @@ export default {
|
|
|
166
174
|
this.onUpdate()
|
|
167
175
|
},
|
|
168
176
|
handleTableData() {
|
|
177
|
+
this.tableItemArr = []
|
|
169
178
|
const allData = {
|
|
170
179
|
baseInfo: this.baseInfo,
|
|
171
180
|
budget: this.budget,
|
|
@@ -173,7 +182,9 @@ export default {
|
|
|
173
182
|
batch: this.batch,
|
|
174
183
|
purpose: this.purpose,
|
|
175
184
|
warehouse: this.warehouse,
|
|
176
|
-
address: this.address
|
|
185
|
+
address: this.address,
|
|
186
|
+
priceInfo: this.priceInfo,
|
|
187
|
+
stockInfo: this.stockInfo
|
|
177
188
|
}
|
|
178
189
|
this.attrs.materialConfig?.forEach((item) => {
|
|
179
190
|
this.tableItemArr = this.tableItemArr.concat(allData[item])
|