diff --git a/src/types/descriptions.d.ts b/src/types/descriptions.d.ts
index 35c0b81be..70be082d8 100644
--- a/src/types/descriptions.d.ts
+++ b/src/types/descriptions.d.ts
@@ -9,5 +9,6 @@ export interface DescriptionsSchema {
className?: string
labelClassName?: string
dateFormat?: string // add by 星语:支持时间的格式化
+ valueFilter?: function // 展示的过滤函数
dictType?: string // add by 星语:支持 dict 字典数据
}
diff --git a/src/views/qms/inspectionJob/addForm.vue b/src/views/qms/inspectionJob/addForm.vue
index 05f6ff589..cbd83e82a 100644
--- a/src/views/qms/inspectionJob/addForm.vue
+++ b/src/views/qms/inspectionJob/addForm.vue
@@ -35,7 +35,7 @@
/>
-
+
-
检验工序
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
检验特性
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+ 检验工序
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 检验特性
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 检验结果
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
@@ -594,6 +643,7 @@ const formProcessRef = ref()
const formSchema = ref(props.formAllSchemas?.formSchema)
const tableAllSchemas = ref(props.tableAllSchemas)
const tableFormRules = ref(props.tableFormRules)
+const collapseShow = ref(['1','2','3'])
const data = ref({
code: '',
@@ -681,7 +731,7 @@ const open = async (type: string, row?: any, masterParmas?: any, titleName?: any
data.value = JSON.parse(JSON.stringify(row))
// await InspectionJobMainApi.acceptInspectionJobMain(row.id)
let list = []
- const masterId = row.jobId ||row.id
+ const masterId = row.jobId || row.id
list = await InspectionJobDetailPageApi.getInspectionJobDetailList(masterId)
data.value.packageList = await InspectionJobPackageApi.getInspectionJobPackageList(masterId)
list.forEach((item, index) => {
@@ -1361,84 +1411,114 @@ const boxList = ref()
// })
// }
const inspectionValueInput = (item, cur) => {
- for ( let i = 0;i < item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList.length;i++) {
- item.isPass = true
-// 如果上限值存在,下限值和目标值不存在 大于上限值显示红色图标
- if (
- item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsCapping &&
- !item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsLowlimit &&
- !item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsTarget &&
- item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue&&
- parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue) > parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyCapping)
- ) {
- item.isPass = false
- return
- }
- // 如果下限值存在,上限值和目标值不存在 小于下限值显示红色图标
- if (
- !item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsCapping &&
- item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsLowlimit &&
- !item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsTarget &&
- item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue&&
- parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue) < parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyLowlimit)
- ) {
- item.isPass = false
- return
- }
- // 如果目标值存在,上限值和下限值不存在 小于目标值显示红色图标
- if (
- !item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsCapping &&
- !item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsLowlimit &&
- item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsTarget &&
- item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue&&
- parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue) != parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyTarget)
- ) {
- item.isPass = false
- return
- }
- // 如果上限值和下限值存在,目标值不存在 大于上限并且小于下限值显示红色图标
- if (
- item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsCapping &&
- item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsLowlimit &&
- !item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsTarget &&
- item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue&&
- ( parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue) > parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyCapping) ||
- parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue) < parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyLowlimit))
- ) {
- item.isPass = false
- return
- }
- // 如果上限值和目标值存在,下限值不存在 大于上限并且小于目标值显示红色图标
- if (
- item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsCapping &&
- !item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsLowlimit &&
- item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsTarget &&
- item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue&&
- (parseFloat(cur.inspectionValue) > parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyCapping)||
- parseFloat(cur.inspectionValue) < parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyTarget))
- ) {
- item.isPass = false
- return
- }
- // 如果下限值和目标值存在,下限值不存在 大于上限并且小于目标值显示红色图标
- if (
- item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsCapping &&
- !item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsLowlimit &&
- item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsTarget &&
- (parseFloat(cur.inspectionValue) > parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyTarget)||
- parseFloat(cur.inspectionValue) < parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyLowlimit))
+ for (
+ let i = 0;
+ i < item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList.length;
+ i++
) {
- item.isPass = false
- return
- }
+ item.isPass = true
+ // 如果上限值存在,下限值和目标值不存在 大于上限值显示红色图标
+ if (
+ item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsCapping &&
+ !item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsLowlimit &&
+ !item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsTarget &&
+ item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i]
+ .inspectionValue &&
+ parseFloat(
+ item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue
+ ) > parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyCapping)
+ ) {
+ item.isPass = false
+ return
+ }
+ // 如果下限值存在,上限值和目标值不存在 小于下限值显示红色图标
+ if (
+ !item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsCapping &&
+ item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsLowlimit &&
+ !item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsTarget &&
+ item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i]
+ .inspectionValue &&
+ parseFloat(
+ item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue
+ ) < parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyLowlimit)
+ ) {
+ item.isPass = false
+ return
+ }
+ // 如果目标值存在,上限值和下限值不存在 小于目标值显示红色图标
+ if (
+ !item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsCapping &&
+ !item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsLowlimit &&
+ item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsTarget &&
+ item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i]
+ .inspectionValue &&
+ parseFloat(
+ item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue
+ ) != parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyTarget)
+ ) {
+ item.isPass = false
+ return
+ }
+ // 如果上限值和下限值存在,目标值不存在 大于上限并且小于下限值显示红色图标
+ if (
+ item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsCapping &&
+ item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsLowlimit &&
+ !item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsTarget &&
+ item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i]
+ .inspectionValue &&
+ (parseFloat(
+ item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue
+ ) > parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyCapping) ||
+ parseFloat(
+ item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i]
+ .inspectionValue
+ ) < parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyLowlimit))
+ ) {
+ item.isPass = false
+ return
+ }
+ // 如果上限值和目标值存在,下限值不存在 大于上限并且小于目标值显示红色图标
+ if (
+ item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsCapping &&
+ !item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsLowlimit &&
+ item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsTarget &&
+ item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i]
+ .inspectionValue &&
+ (parseFloat(cur.inspectionValue) >
+ parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyCapping) ||
+ parseFloat(cur.inspectionValue) <
+ parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyTarget))
+ ) {
+ item.isPass = false
+ return
+ }
+ // 如果下限值和目标值存在,下限值不存在 大于上限并且小于目标值显示红色图标
+ if (
+ item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsCapping &&
+ !item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsLowlimit &&
+ item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsTarget &&
+ (parseFloat(cur.inspectionValue) >
+ parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyTarget) ||
+ parseFloat(cur.inspectionValue) <
+ parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyLowlimit))
+ ) {
+ item.isPass = false
+ return
+ }
// 如果上限值和下限值,目标值存在 大于上限并且小于下限值显示红色图标
if (
item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsCapping &&
item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsLowlimit &&
item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsTarget &&
- item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue&&
- (parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue) > parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyCapping) ||
- parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue) < parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyLowlimit))
+ item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i]
+ .inspectionValue &&
+ (parseFloat(
+ item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue
+ ) > parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyCapping) ||
+ parseFloat(
+ item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i]
+ .inspectionValue
+ ) < parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyLowlimit))
) {
item.isPass = false
return
@@ -1453,8 +1533,8 @@ const inspectionValueInput = (item, cur) => {
color: #1a8bfc;
font-size: 16px;
}
-.tabs-box{
- max-height:calc(80vh - 40px) ;
+.tabs-box {
+ max-height: calc(80vh - 40px);
overflow-x: hidden;
overflow-y: auto;
}
diff --git a/src/views/qms/inspectionQ1/inspectionQ1.data.ts b/src/views/qms/inspectionQ1/inspectionQ1.data.ts
index e4e396c42..39fc07837 100644
--- a/src/views/qms/inspectionQ1/inspectionQ1.data.ts
+++ b/src/views/qms/inspectionQ1/inspectionQ1.data.ts
@@ -63,8 +63,7 @@ export const Q1 = useCrudSchemas(
field: 'customerCode',
sort: 'custom',
table: {
- width: 150,
- fixed: 'left'
+ width: 150
},
form: {
// labelMessage: '信息提示说明!!!',
@@ -145,7 +144,7 @@ export const Q1 = useCrudSchemas(
label: '数量',
field: 'qty',
sort: 'custom',
- isTable: false,
+ isTable: true,
isSearch: false,
table: {
width: 150
@@ -184,6 +183,9 @@ export const Q1 = useCrudSchemas(
dictClass: 'string',
isSearch: false,
isTable: true,
+ table: {
+ width: 180
+ },
tableForm: {
type: 'Select'
}
@@ -195,7 +197,7 @@ export const Q1 = useCrudSchemas(
dictType: DICT_TYPE.QUALITY_NOTIFICATION_PRIORITY,
dictClass: 'string',
isSearch: false,
- isTable: true,
+ isTable: false,
tableForm: {
type: 'Select'
}
@@ -205,7 +207,7 @@ export const Q1 = useCrudSchemas(
field: 'responUser',
sort: 'custom',
isSearch: false,
- isForm: true,
+ isForm: false,
form: {
componentProps: {
value: userStore.getUser.nickname,
@@ -232,7 +234,7 @@ export const Q1 = useCrudSchemas(
},
{
- label: '成本中心',
+ label: '成本中心代码',
field: 'costCode',
sort: 'custom',
isSearch: false,
@@ -274,7 +276,7 @@ export const Q1 = useCrudSchemas(
dictType: DICT_TYPE.CLAIM_REASON,
dictClass: 'string',
isSearch: false,
- isTable: true,
+ isTable: false,
tableForm: {
type: 'Select'
}
@@ -283,7 +285,7 @@ export const Q1 = useCrudSchemas(
label: '索赔日期',
field: 'claimTime',
isSearch: false,
- isTable: false,
+ isTable: true,
table: {
width: 180
},
diff --git a/src/views/qms/inspectionQ2/inspectionQ2.data.ts b/src/views/qms/inspectionQ2/inspectionQ2.data.ts
index 84f67557c..55df4ad9f 100644
--- a/src/views/qms/inspectionQ2/inspectionQ2.data.ts
+++ b/src/views/qms/inspectionQ2/inspectionQ2.data.ts
@@ -112,7 +112,7 @@ export const Q2 = useCrudSchemas(
}
},
{
- label: '供应商编码',
+ label: '供应商代码',
field: 'supplierCode',
sort: 'custom',
isSearch: true,
@@ -192,6 +192,23 @@ export const Q2 = useCrudSchemas(
}
}
},
+ {
+ label: '数量',
+ field: 'qty',
+ sort: 'custom',
+ isTable: true,
+ isSearch: false,
+ table: {
+ width: 150
+ },
+ form: {
+ component: 'InputNumber',
+ componentProps: {
+ min: 0,
+ precision: 2
+ }
+ }
+ },
{
label: '单位',
field: 'uom',
@@ -214,6 +231,7 @@ export const Q2 = useCrudSchemas(
label: '采购收货单号',
field: 'purchaseReceiptNumber',
sort: 'custom',
+ isTable: false,
table: {
width: 180
},
@@ -263,23 +281,7 @@ export const Q2 = useCrudSchemas(
isTable: false,
isDetail: false
},
- {
- label: '数量',
- field: 'qty',
- sort: 'custom',
- isTable: false,
- isSearch: false,
- table: {
- width: 150
- },
- form: {
- component: 'InputNumber',
- componentProps: {
- min: 0,
- precision: 2
- }
- }
- },
+
{
label: '编码',
field: 'code',
@@ -288,6 +290,9 @@ export const Q2 = useCrudSchemas(
dictClass: 'string',
isSearch: false,
isTable: true,
+ table: {
+ width: 180
+ },
tableForm: {
type: 'Select'
}
@@ -300,7 +305,7 @@ export const Q2 = useCrudSchemas(
dictType: DICT_TYPE.QUALITY_NOTIFICATION_PRIORITY,
dictClass: 'string',
isSearch: false,
- isTable: true,
+ isTable: false,
tableForm: {
type: 'Select'
}
@@ -311,6 +316,9 @@ export const Q2 = useCrudSchemas(
sort: 'custom',
isSearch: false,
isForm: true,
+ table: {
+ width: 120
+ },
form: {
componentProps: {
value: userStore.getUser.nickname,
@@ -340,7 +348,7 @@ export const Q2 = useCrudSchemas(
field: 'costCode',
sort: 'custom',
isSearch: false,
- isTable: true,
+ isTable: false,
isForm: true,
form: {
// labelMessage: '信息提示说明!!!',
@@ -375,7 +383,7 @@ export const Q2 = useCrudSchemas(
{
label: '索赔日期',
field: 'claimTime',
- isForm: false,
+ isTable: true,
table: {
width: 180
},
@@ -396,7 +404,7 @@ export const Q2 = useCrudSchemas(
{
label: '处理时间',
field: 'handleTime',
- isForm: false,
+ isTable: false,
table: {
width: 180
},
diff --git a/src/views/qms/inspectionQ3/inspectionQ3.data.ts b/src/views/qms/inspectionQ3/inspectionQ3.data.ts
index b53a2c90b..ad671293b 100644
--- a/src/views/qms/inspectionQ3/inspectionQ3.data.ts
+++ b/src/views/qms/inspectionQ3/inspectionQ3.data.ts
@@ -173,7 +173,7 @@ export const Q3 = useCrudSchemas(
label: '数量',
field: 'qty',
sort: 'custom',
- isTable: false,
+ isTable: true,
isSearch: false,
table: {
width: 150
@@ -223,7 +223,7 @@ export const Q3 = useCrudSchemas(
dictType: DICT_TYPE.DEFECT_LOCATION,
dictClass: 'string',
isSearch: false,
- isTable: true,
+ isTable: false,
tableForm: {
type: 'Select'
}
@@ -235,7 +235,7 @@ export const Q3 = useCrudSchemas(
dictType: DICT_TYPE.DEFECT_TYPE,
dictClass: 'string',
isSearch: false,
- isTable: true,
+ isTable: false,
tableForm: {
type: 'Select'
}
@@ -247,7 +247,7 @@ export const Q3 = useCrudSchemas(
dictType: DICT_TYPE.PROBLEM_REASON,
dictClass: 'string',
isSearch: false,
- isTable: true,
+ isTable: false,
tableForm: {
type: 'Select'
}
@@ -259,7 +259,7 @@ export const Q3 = useCrudSchemas(
dictType: DICT_TYPE.QUALITY_NOTIFICATION_PRIORITY,
dictClass: 'string',
isSearch: false,
- isTable: true,
+ isTable: false,
tableForm: {
type: 'Select'
}
@@ -270,6 +270,9 @@ export const Q3 = useCrudSchemas(
sort: 'custom',
isSearch: false,
isForm: true,
+ table: {
+ width: 120
+ },
form: {
componentProps: {
value: userStore.getUser.nickname,
diff --git a/src/views/qms/inspectionRecord/addForm.vue b/src/views/qms/inspectionRecord/addForm.vue
new file mode 100644
index 000000000..337ae5b8d
--- /dev/null
+++ b/src/views/qms/inspectionRecord/addForm.vue
@@ -0,0 +1,1566 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/qms/inspectionRecord/index.vue b/src/views/qms/inspectionRecord/index.vue
index e7de85302..efc788c35 100644
--- a/src/views/qms/inspectionRecord/index.vue
+++ b/src/views/qms/inspectionRecord/index.vue
@@ -1,33 +1,53 @@
-
+
-
+
-
-
+ }"
+ v-model:pageSize="tableObject.pageSize"
+ v-model:currentPage="tableObject.currentPage"
+ v-model:sort="tableObject.sort"
+ >
+
{{ row.number }}
-
+
-
-
-
-
-
+ :apiDelete="InspectionRecordDetailApi.deleteInspectionRecordDetail"
+ @searchTableSuccessDetail="searchTableSuccessDetail"
+ :isShowAddBtn="false"
+ :detailButtonIsShow="true"
+ />
+
+
diff --git a/src/views/qms/inspectionRecordFirst/addForm.vue b/src/views/qms/inspectionRecordFirst/addForm.vue
index d4fed9f00..f44ed7bc0 100644
--- a/src/views/qms/inspectionRecordFirst/addForm.vue
+++ b/src/views/qms/inspectionRecordFirst/addForm.vue
@@ -139,322 +139,353 @@
-
检验工序
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
检验特性
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 检验特性
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 检验结果
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -509,6 +557,10 @@
+