ZaiZai 1 рік тому
батько
коміт
bfb35da8a6

+ 33 - 10
src/views/tentative/detect/commission.vue

@@ -100,13 +100,13 @@
                         </el-form-item>
                     </el-col>
                     <el-col :span="12">
-                        <el-form-item label="取样名称:" prop="key3">
-                            <el-input v-model="formModel.key3" placeholder="取样名称" disabled />
+                        <el-form-item label="取样名称:">
+                            <el-input v-model="formModel.materialName" placeholder="取样名称" disabled />
                         </el-form-item>
                     </el-col>
                     <el-col :span="12">
-                        <el-form-item label="取样数量:" prop="key4">
-                            <el-input v-model="formModel.key4" placeholder="取样数量" disabled />
+                        <el-form-item label="取样数量:">
+                            <el-input v-model="formModel.materialCount" placeholder="取样数量" disabled />
                         </el-form-item>
                     </el-col>
                     <el-col :span="12">
@@ -120,13 +120,13 @@
                         </el-form-item>
                     </el-col>
                     <el-col :span="12">
-                        <el-form-item label="规格型号:" prop="key7">
-                            <el-input v-model="formModel.key7" placeholder="规格型号" disabled />
+                        <el-form-item label="规格型号:">
+                            <el-input v-model="formModel.specificationModel" placeholder="规格型号" disabled />
                         </el-form-item>
                     </el-col>
                     <el-col :span="12">
-                        <el-form-item label="计算单位:" prop="key8">
-                            <el-input v-model="formModel.key8" placeholder="计算单位" disabled />
+                        <el-form-item label="计算单位:">
+                            <el-input v-model="formModel.calculationUnit" placeholder="计算单位" disabled />
                         </el-form-item>
                     </el-col>
                 </el-row>
@@ -142,6 +142,7 @@
 <script setup>
 import { onActivated, ref } from 'vue'
 import { useAppStore } from '~src/store'
+import { useRouter } from 'vue-router'
 import { getStoreValue, setStoreValue } from '~src/utils/storage'
 import { deepClone, formValidate, getArrValue, getObjValue, isNullES, isString } from 'js-fast-way'
 import TestTree from '~src/views/tentative/material/components/TestTree.vue'
@@ -152,11 +153,13 @@ import mainApi from '~api/tentative/detect/commission'
 import samplingApi from '~api/tentative/material/sampling'
 
 //变量
+const router = useRouter()
 const useAppState = useAppStore()
 const userInfo = ref(useAppState.getUserInfo)
 const projectId = ref(useAppState.getProjectId)
 const contractId = ref(useAppState.getContractId)
 const projectInfo = ref(useAppState.getProjectInfo)
+const contractInfo = ref(useAppState.getContractInfo)
 
 //渲染完成
 onActivated(() => {
@@ -374,8 +377,28 @@ const rowActionLoading = ref(false)
 const rowActionSave = async () => {
     const isForm = await formValidate(formRef.value)
     if (!isForm) return
-    console.log(formModel.value)
-    //rowActionModalClose()
+    rowActionLoading.value = true
+    const { contractType } = contractInfo.value
+    const { id, expCount } = formModel.value
+    const { primaryKeyId } = nodeDataInfo.value
+    const { error, code, msg } = await mainApi.update({ id, expCount })
+    if (!error && code === 200) {
+        window.$message.success('创建成功')
+        rowActionLoading.value = false
+        rowActionModalClose()
+        router.push({
+            path: '/tentative/detect/test-form',
+            query: {
+                nodeId: primaryKeyId || '',
+                dataType: contractType > 0 ? contractType + '' : '1',
+                commissionId: id,
+                isaddType: true,
+            },
+        })
+    } else {
+        rowActionLoading.value = false
+        window.$message.error(msg || '创建失败')
+    }
 }
 
 //关闭弹窗

+ 50 - 50
src/views/tentative/material/components/TestTree.vue

@@ -1,88 +1,91 @@
 <template>
-    <ElTree ref="ElTreeRef"
-            :class="ui"
-            :default-expanded-keys="defaultExpandedCids"
-            :indent="0"
-            :load="ElTreeLoadNode"
-            :props="ElTreeProps"
-            accordion
-            class="hc-tree-node tree-line"
-            highlight-current
-            lazy
-            node-key="primaryKeyId"
-            @node-click="ElTreeClick">
+    <ElTree
+        ref="ElTreeRef"
+        :class="ui"
+        :default-expanded-keys="defaultExpandedCids"
+        :indent="0"
+        :load="ElTreeLoadNode"
+        :props="ElTreeProps"
+        accordion
+        class="hc-tree-node tree-line"
+        highlight-current
+        lazy
+        node-key="primaryKeyId"
+        @node-click="ElTreeClick"
+    >
         <template #default="{ node, data }">
-            <div :id="`${idPrefix}${data['primaryKeyId']}`" class="data-custom-tree-node">
-                <div :class="node.level === 1?'level-name':''" class="label">{{ node.label }}</div>
+            <div :id="`${idPrefix}${data.primaryKeyId}`" class="data-custom-tree-node">
+                <div :class="node.level === 1 ? 'level-name' : ''" class="label">{{ node.label }}</div>
             </div>
         </template>
     </ElTree>
-
 </template>
 
 <script setup>
-import {ref, nextTick, watch} from "vue";
-import samplingApi from "~api/tentative/material/sampling"
-import {isArrItem, getArrValue} from "js-fast-way"
+import { nextTick, ref, watch } from 'vue'
+import samplingApi from '~api/tentative/material/sampling'
+import { getArrValue, isArrItem } from 'js-fast-way'
 
 //参数
 const props = defineProps({
     projectId: {
         type: [String, Number],
-        default: ''
+        default: '',
     },
     contractId: {
         type: [String, Number],
-        default: ''
+        default: '',
     },
     wbsTempId: {
         type: [String, Number],
-        default: ''
+        default: '',
     },
     tenantId: {
         type: [String, Number],
-        default: ''
+        default: '',
     },
     wbsType: {
         type: [String, Number],
-        default: ''
+        default: '',
     },
     autoExpandKeys: {
         type: Array,
-        default: () => ([])
+        default: () => ([]),
     },
     idPrefix: {
         type: String,
-        default: 'test-tree-'
+        default: 'test-tree-',
     },
     ui: {
         type: String,
-        default: ''
+        default: '',
     },
     fromType: {
         type: Boolean,
-        default: false
+        default: false,
     },
     nodeId: {
         type: [String, Number],
-        default: ''
-    }
+        default: '',
+    },
 })
 
+//事件
+const emit = defineEmits(['menuTap', 'nodeTap', 'nodeLoading'])
 //变量
 const ElTreeRef = ref(null)
 const ElTreeProps = ref({
     label: 'title',
     children: 'children',
-    isLeaf: 'hasChildren'
+    isLeaf: 'hasChildren',
 })
 const TreeExpandKey = ref(props.autoExpandKeys)
-const projectId = ref(props.projectId);
-const contractId = ref(props.contractId);
-const wbsTempId = ref(props.wbsTempId);
-const tenantId = ref(props.tenantId);
-const wbsType = ref(props.wbsType);
-const idPrefix = ref(props.idPrefix);
+const projectId = ref(props.projectId)
+const contractId = ref(props.contractId)
+const wbsTempId = ref(props.wbsTempId)
+const tenantId = ref(props.tenantId)
+const wbsType = ref(props.wbsType)
+const idPrefix = ref(props.idPrefix)
 const fromTypedata = ref(props.fromType)
 //监听
 watch(() => [
@@ -93,7 +96,7 @@ watch(() => [
     props.tenantId,
     props.idPrefix,
     props.wbsType,
-    props.fromType
+    props.fromType,
 ], ([expandKeys, UserProjectId, UserContractId, UserWbsTempId, UserTenantId, UserIdPrefix, wbs_type, fromType]) => {
     TreeExpandKey.value = expandKeys
     projectId.value = UserProjectId
@@ -105,32 +108,29 @@ watch(() => [
     fromTypedata.value = fromType
 })
 
-//事件
-const emit = defineEmits(['menuTap', 'nodeTap', 'nodeLoading'])
-
 //树形结构异步加载数据
 const defaultExpandedCids = ref([])
 const ElTreeLoadNode = async (node, resolve) => {
-    console.log(fromTypedata.value, ' fromTypedata.value');
-    let parentId = '0';
+    console.log(fromTypedata.value, ' fromTypedata.value')
+    let parentId = '0'
     if (node.level !== 0) {
         parentId = node?.data?.id
     }
     if (fromTypedata.value) {
         //获取数据
-        const {error, code, data} = await samplingApi.getMixRatioTestTree({
+        const { error, code, data } = await samplingApi.getMixRatioTestTree({
             pKeyId: props.nodeId,
         })
         //处理数据
         if (!error && code === 200) {
-            let clickKey = '', defaultExpandedArr = [];
+            let clickKey = '', defaultExpandedArr = []
             const keys = TreeExpandKey.value || []
             const resData = getArrValue(data)
             for (let i = 0; i < resData.length; i++) {
                 resData[i].hasChildren = !resData[i].hasChildren
             }
             if (keys.length > 0) {
-                let lastKey = keys[keys.length - 1];
+                let lastKey = keys[keys.length - 1]
                 for (const item of resData) {
                     //自动展开
                     if (isArrItem(keys, item?.primaryKeyId)) {
@@ -165,23 +165,23 @@ const ElTreeLoadNode = async (node, resolve) => {
 
     } else {
         //获取数据
-        const {error, code, data} = await samplingApi.queryLazyTree({
+        const { error, code, data } = await samplingApi.queryLazyTree({
             wbsId: wbsTempId.value,
             tenantId: tenantId.value,
             projectId: projectId.value,
             parentId,
-            wbsType: wbsType.value
+            wbsType: wbsType.value,
         })
         //处理数据
         if (!error && code === 200) {
-            let clickKey = '', defaultExpandedArr = [];
+            let clickKey = '', defaultExpandedArr = []
             const keys = TreeExpandKey.value || []
             const resData = getArrValue(data)
             for (let i = 0; i < resData.length; i++) {
                 resData[i].hasChildren = !resData[i].hasChildren
             }
             if (keys.length > 0) {
-                let lastKey = keys[keys.length - 1];
+                let lastKey = keys[keys.length - 1]
                 for (const item of resData) {
                     //自动展开
                     if (isArrItem(keys, item?.primaryKeyId)) {
@@ -222,7 +222,7 @@ const ElTreeClick = async (data, node) => {
     let autoKeysArr = []
     await getNodeExpandKeys(node, autoKeysArr)
     const autoKeys = autoKeysArr.reverse()
-    emit('nodeTap', {node, data, keys: autoKeys})
+    emit('nodeTap', { node, data, keys: autoKeys })
 }
 
 //处理自动展开的节点KEY