Your Name
2023-03-03 23412e0effa27d5d0f79f5796bc4e738cf8cd1fc
更新
已修改8个文件
已添加2个文件
157 ■■■■■ 文件已修改
.env.development 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/shelf/Uncommitted_changes_before_Update_at_2023_3_3_13_33_[Default_Changelist]/shelved.patch 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/shelf/Uncommitted_changes_before_Update_at_2023_3_3_13_33__Default_Changelist_.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/facilityManagement/claimReturnRecords/index.ts 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/facilityManagement/claimReturnRecords/components/returnAndWatch.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/facilityManagement/goodsDetailManage/components/goodsDetailAdd.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/facilityManagement/safetyGoodsAndEquipment/components/safetyGoodsAndEquipmentDialog.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/department/component/deptDialog.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/user/component/userDialog.vue 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/user/index.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.env.development
@@ -1,10 +1,10 @@
# 本地环境
ENV = 'development'
#VITE_API_URL = 'http://192.168.0.35:8008'
VITE_API_URL = 'http://192.168.0.35:8008'
#李宇飞接口地址
VITE_API_URL = 'http://192.168.0.50:8008'
#VITE_API_URL = 'http://192.168.0.50:8008'
#张凤接口地址
#VITE_API_URL = 'http://192.168.0.29:8008'
.idea/shelf/Uncommitted_changes_before_Update_at_2023_3_3_13_33_[Default_Changelist]/shelved.patch
对比新文件
@@ -0,0 +1,107 @@
Index: src/views/facilityManagement/claimReturnRecords/components/returnAndWatch.vue
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
<+><template>\r\n    <div class=\"system-add-menu-container\">\r\n        <el-dialog :title=\"returnAndWatchState.title\" :close-on-click-modal=\"false\" v-model=\"returnAndWatchState.showReturnAndWatchDialog\" width=\"50%\">\r\n            <el-tabs class=\"active\" v-model=\"returnAndWatchState.activeName\">\r\n                <el-tab-pane label=\"未归还\" name=\"noReturn\">\r\n                    <el-table\r\n                        :data=\"returnAndWatchState.noReturnData\"\r\n                        border fit highlight-current-row lazy\r\n                        :header-cell-style=\"{ background: '#fafafa' }\"\r\n                        style=\"width: 100%\"\r\n                        @selection-change=\"handleSelectionChange\"\r\n                    >\r\n                        <el-table-column v-if=\"returnAndWatchState.ifShow === true\" type=\"selection\" width=\"55\"/>\r\n                        <el-table-column prop=\"materialName\" label=\"物资名称\" show-overflow-tooltip align=\"center\"/>\r\n                        <el-table-column prop=\"smdId\" label=\"物资编号\" show-overflow-tooltip align=\"center\"/>\r\n                        <el-table-column prop=\"materialStatus\" label=\"物资状态\" show-overflow-tooltip align=\"center\">\r\n                            <template #default=\"scope\">\r\n                                <span>\r\n                                    {{ filterMaterialStatus(scope.row.materialStatus) }}\r\n                                </span>\r\n                            </template>\r\n                        </el-table-column>\r\n                        <el-table-column prop=\"remark\" label=\"备注\" show-overflow-tooltip align=\"center\"/>\r\n                        <el-table-column label=\"操作\" width=\"150\" align=\"center\">\r\n                            <template #default=\"scope\">\r\n                                <el-button size=\"small\" v-if=\"returnAndWatchState.ifShow === true\" text type=\"danger\" :icon=\"Delete\" @click=\"invalidDeal(scope.row)\">无效处理</el-button>\r\n                            </template>\r\n                        </el-table-column>\r\n                    </el-table>\r\n                    <div style=\"padding-top: 20px\" align=\"center\">\r\n                        <span>\r\n                            <el-button type=\"primary\" v-if=\"returnAndWatchState.ifShow === true\" @click=\"returnConfirm\" v-throttle size=\"default\">归 还</el-button>\r\n                        </span>\r\n                    </div>\r\n\r\n                </el-tab-pane>\r\n                <el-tab-pane label=\"已归还\" name=\"return\">\r\n                    <el-table\r\n                        :data=\"returnAndWatchState.returnData\"\r\n                        border fit highlight-current-row lazy\r\n                        :header-cell-style=\"{ background: '#fafafa' }\"\r\n                        style=\"width: 100%\">\r\n                        <el-table-column prop=\"materialName\" label=\"物资名称\" show-overflow-tooltip align=\"center\"/>\r\n                        <el-table-column prop=\"smdId\" label=\"物资编号\" show-overflow-tooltip align=\"center\"/>\r\n                        <el-table-column prop=\"materialStatus\" label=\"物资状态\" show-overflow-tooltip align=\"center\">\r\n                            <template #default=\"scope\">\r\n                                <span>\r\n                                    {{ filterMaterialStatus(scope.row.materialStatus) }}\r\n                                </span>\r\n                            </template>\r\n                        </el-table-column>\r\n                        <el-table-column prop=\"remark\" label=\"备注\" show-overflow-tooltip align=\"center\"/>\r\n                    </el-table>\r\n                </el-tab-pane>\r\n                <el-tab-pane label=\"耗材\" name=\"Invalid\">\r\n                    <el-table\r\n                        :data=\"returnAndWatchState.invalidData\"\r\n                        border fit highlight-current-row lazy\r\n                        :header-cell-style=\"{ background: '#fafafa' }\"\r\n                        style=\"width: 100%\">\r\n                        <el-table-column prop=\"materialName\" label=\"物资名称\" show-overflow-tooltip align=\"center\"/>\r\n                        <el-table-column prop=\"smdId\" label=\"物资编号\" show-overflow-tooltip align=\"center\"/>\r\n                        <el-table-column prop=\"materialStatus\" label=\"物资状态\" show-overflow-tooltip align=\"center\">\r\n                            <template #default=\"scope\">\r\n                                <span>\r\n                                    {{ filterMaterialStatus(scope.row.materialStatus) }}\r\n                                </span>\r\n                            </template>\r\n                        </el-table-column>\r\n                        <el-table-column prop=\"remark\" label=\"备注\" show-overflow-tooltip align=\"center\"/>\r\n                    </el-table>\r\n                </el-tab-pane>\r\n            </el-tabs>\r\n        </el-dialog>\r\n        <invalid-deal-dialog ref=\"invalidDealDialogRef\" @refreshInvalidDeal=\"refreshInvalidDeal\"></invalid-deal-dialog>\r\n    </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport {computed, nextTick, onMounted, reactive, ref, toRefs, watch} from 'vue'\r\nimport { Edit, Delete, } from '@element-plus/icons-vue';\r\nimport {\r\n    claimReturnDataType, InvalidDealFormType,\r\n    materialType,\r\n    ReturnAndWatchType\r\n} from \"/@/views/facilityManagement/claimReturnRecords/index\";\r\nimport {ElMessage, ElMessageBox} from \"element-plus\";\r\nimport {claimReturnRecordsApi} from \"/@/api/facilityManagement/claimReturnRecords\";\r\nimport InvalidDealDialog from './invalidDealDialog.vue'\r\n\r\nconst invalidDealDialogRef = ref()\r\n\r\nconst returnAndWatchState = reactive<ReturnAndWatchType>({\r\n    title: '',\r\n    ifShow: false,\r\n    goodsClassifyTitle: '',\r\n    showReturnAndWatchDialog: false,\r\n    activeName: 'noReturn',\r\n    goodsClassifyForm: {\r\n        id: null,\r\n        materialClassifyName: '',\r\n        parentId: null,\r\n    },\r\n    goodsClassifyRules: {\r\n\r\n    },\r\n    returnData: [],\r\n    noReturnData: [],\r\n    invalidData: [],\r\n    returnFormList: {\r\n        receiveBaseId: null,\r\n        materialList: []\r\n    },\r\n    reasonList:[\r\n        {id: 0, name:'完好'},\r\n        {id: 1, name:'损坏'},\r\n        {id: 2, name:'丢失'},\r\n        {id: 3, name:'过期'},\r\n        {id: 4, name:'其他'}\r\n    ]\r\n});\r\n\r\nconst openReturnAndWatchDialog = (title: string, value: claimReturnDataType ) => {\r\n    returnAndWatchState.showReturnAndWatchDialog = true;\r\n    returnAndWatchState.returnFormList.receiveBaseId = value.id;\r\n    if(title === '归还'){\r\n        returnAndWatchState.ifShow = true;\r\n        returnAndWatchState.title = '归还记录';\r\n        returnAndWatchState.returnData = value.materialList.filter(item => item.revertStatus === 0);\r\n        returnAndWatchState.noReturnData = JSON.parse(JSON.stringify(value.materialList.filter(item => item.revertStatus === 1)));\r\n        returnAndWatchState.invalidData = value.materialList.filter(item => item.revertStatus !== 0 && item.revertStatus !== 1);\r\n    }else {\r\n        returnAndWatchState.ifShow = false;\r\n        returnAndWatchState.title = '查看物资';\r\n        returnAndWatchState.returnData = value.materialList.filter(item => item.revertStatus === 0);\r\n        returnAndWatchState.noReturnData = value.materialList.filter(item => item.revertStatus === 1);\r\n        returnAndWatchState.invalidData = value.materialList.filter(item => item.revertStatus !== 0 && item.revertStatus !== 1);\r\n    }\r\n};\r\n\r\nconst returnConfirm = () => {\r\n    if(returnAndWatchState.returnFormList.materialList.length > 0){\r\n        ElMessageBox.confirm(`此操作将把所选中物资全部归还,是否继续?`, '提示', {\r\n            confirmButtonText: '确认',\r\n            cancelButtonText: '取消',\r\n            type: 'warning'\r\n        })\r\n            .then(async () => {\r\n                let res = await claimReturnRecordsApi().returnGoods(returnAndWatchState.returnFormList);\r\n                if (res.data.code === '200') {\r\n                    ElMessage({\r\n                        type: 'success',\r\n                        duration: 2000,\r\n                        message: '物资归还成功'\r\n                    });\r\n                    await refreshReturnTableData()\r\n                    emit('refreshReturnData')\r\n                } else {\r\n                    ElMessage({\r\n                        type: 'warning',\r\n                        message: res.data.msg\r\n                    });\r\n                }\r\n            })\r\n            .catch(() => {});\r\n    }else{\r\n        ElMessage({\r\n            type:'warning',\r\n            message: '请选择要归还的物资'\r\n        })\r\n    }\r\n};\r\n\r\nconst refreshReturnTableData = async () => {\r\n    let res = await claimReturnRecordsApi().refreshReturnAndNoReturn({id: returnAndWatchState.returnFormList.receiveBaseId})\r\n    if(res.data.code === '200'){\r\n        returnAndWatchState.returnData = res.data.data.materialList.filter((item: materialType) => item.revertStatus === 0);\r\n        returnAndWatchState.noReturnData = res.data.data.materialList.filter((item: materialType) => item.revertStatus === 1);\r\n        returnAndWatchState.invalidData = res.data.data.materialList.filter((item: materialType) => item.revertStatus !== 0 && item.revertStatus !== 1);\r\n    }else{\r\n        ElMessage({\r\n            type: 'warning',\r\n            message: res.data.msg\r\n        });\r\n    }\r\n}\r\n\r\nconst invalidDeal = (value: materialType) => {\r\n    invalidDealDialogRef.value.openInvalidDealDialog(value)\r\n};\r\n\r\nconst refreshInvalidDeal = (value: InvalidDealFormType) => {\r\n    let returnDataNum = returnAndWatchState.noReturnData.findIndex(item => item.id == value.id)\r\n    returnAndWatchState.noReturnData[returnDataNum].materialStatus = value.reason as number\r\n    returnAndWatchState.noReturnData[returnDataNum].remark = value.remark as string\r\n    for(let i in returnAndWatchState.returnFormList.materialList){\r\n        if(returnAndWatchState.returnFormList.materialList[i].receiveId === value.id){\r\n            returnAndWatchState.returnFormList.materialList[i] = {\r\n                receiveId: value.id,\r\n                materialStatus: value.reason,\r\n                remark: value.remark,\r\n            }\r\n        }\r\n    }\r\n}\r\n\r\nconst handleSelectionChange = (val: materialType []) => {\r\n    returnAndWatchState.returnFormList.materialList = val.map((item: materialType) => {\r\n        return {\r\n            receiveId: item.id,\r\n            materialStatus: item.materialStatus,\r\n            remark: item.remark,\r\n        }\r\n    })\r\n};\r\n\r\nconst filterMaterialStatus = (value: number) => {\r\n    return returnAndWatchState.reasonList.find(item => item.id === value)?.name\r\n}\r\n\r\nconst emit = defineEmits(['refreshReturnData']);\r\n\r\ndefineExpose({\r\n    openReturnAndWatchDialog,\r\n});\r\n\r\n\r\n</script>\r\n\r\n<style scoped>\r\n/*:deep(.el-overlay .el-overlay-dialog .el-dialog .el-dialog__body) {*/\r\n/*    padding-bottom: 20px !important;*/\r\n/*}*/\r\n:deep(.el-table .big-row) {\r\n    font-size: 16px !important;\r\n    font-weight: 700;\r\n}\r\n\r\n</style>\r\n
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/src/views/facilityManagement/claimReturnRecords/components/returnAndWatch.vue b/src/views/facilityManagement/claimReturnRecords/components/returnAndWatch.vue
--- a/src/views/facilityManagement/claimReturnRecords/components/returnAndWatch.vue    (revision da7a467fd8c4a82769ff275e21c1f2f45027b351)
+++ b/src/views/facilityManagement/claimReturnRecords/components/returnAndWatch.vue    (date 1673832385241)
@@ -202,7 +202,7 @@
             }
         }
     }
-}
+};
 const handleSelectionChange = (val: materialType []) => {
     returnAndWatchState.returnFormList.materialList = val.map((item: materialType) => {
@@ -216,7 +216,7 @@
 const filterMaterialStatus = (value: number) => {
     return returnAndWatchState.reasonList.find(item => item.id === value)?.name
-}
+};
 const emit = defineEmits(['refreshReturnData']);
Index: .env.development
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
<+># 本地环境\r\nENV = 'development'\r\n\r\n#VITE_API_URL = 'http://192.168.0.35:8008'\r\n#李宇飞接口地址\r\n\r\nVITE_API_URL = 'http://192.168.0.50:8008'\r\n#张凤接口地址\r\n\r\n#VITE_API_URL = 'http://192.168.0.29:8008'\r\n#黄振接口地址\r\n\r\n#VITE_API_URL = 'http://192.168.0.179:8008'\r\n#施正红接口地址\r\n\r\n#VITE_API_URL = 'http://192.168.0.69:8008'\r\n#戚会山接口地址\r\n\r\n#VITE_API_URL = 'http://121.239.169.27:16006/safeplatform'\r\n#线上正式环境接口地址\r\n\r\n#VITE_API_URL_OUT = 'http://121.239.169.27:16006/safeplatform-out'\r\n#线上正式环境外包接口地址\r\n\r\n#VITE_API_URL = 'http://192.168.0.52:8011/safeplatform'\r\n#本地预发接口地址\r\n\r\n#VITE_API_URL_OUT = 'http://192.168.0.52:8011/safeplatform-out'\r\n#本地外包预发接口地址\r\n\r\n\r\nVITE_API_URL_OUT = 'http://192.168.0.50:8009'\r\n#张凤外包接口地址\r\n\r\n#VITE_API_URL_OUT = 'http://192.168.0.52:7021/safeplatform-out'\r\n\r\n\r\n#VITE_API_URL = 'http://192.168.0.52:7021/safeplatform'\r\n#本地测试接口地址\r\n\r\nVITE_API_URL_SOCKET = 'http://192.168.0.52:7021/safeplatform'\r\n#本地测试websocket接口地址\r\n\r\n#VITE_API_URL = 'http://192.168.0.29:7008'\r\n#黄振接口test地址\r\n\r\n#VITE_API_URL_SOCKET = 'http://192.168.0.29:16107'\r\n#黄振websocket test接口地址\r\n\r\n#VITE_API_URL_SOCKET = 'http://192.168.0.29:8018'\r\n#黄振websocket接口地址\r\n
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/.env.development b/.env.development
--- a/.env.development    (revision da7a467fd8c4a82769ff275e21c1f2f45027b351)
+++ b/.env.development    (date 1675906287651)
@@ -1,10 +1,10 @@
 # 本地环境
 ENV = 'development'
-#VITE_API_URL = 'http://192.168.0.35:8008'
+VITE_API_URL = 'http://192.168.0.35:8008'
 #李宇飞接口地址
-VITE_API_URL = 'http://192.168.0.50:8008'
+#VITE_API_URL = 'http://192.168.0.50:8008'
 #张凤接口地址
 #VITE_API_URL = 'http://192.168.0.29:8008'
Index: src/views/facilityManagement/safetyGoodsAndEquipment/components/safetyGoodsAndEquipmentDialog.vue
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
<+><template>\r\n    <div class=\"system-add-menu-container\">\r\n        <el-dialog :title=\"dialogState.title\" :close-on-click-modal=\"false\" v-model=\"dialogState.showSafetyGoodsAndEquipmentDialog\" width=\"600px\">\r\n            <el-form\r\n                :model=\"dialogState.safetyGoodsAndEquipmentForm\"\r\n                :rules=\"dialogState.safetyGoodsAndEquipmentRules\"\r\n                ref=\"safetyGoodsAndEquipmentRef\"\r\n                size=\"default\"\r\n                v-loading=\"dialogState.loading\"\r\n                element-loading-text=\"Loading...\"\r\n                label-width=\"120px\">\r\n                <el-row>\r\n                    <el-col :span=\"24\" class=\"mb20\">\r\n                        <el-form-item label=\"物资大类\" prop=\"bigClassifyId\">\r\n                            <el-select v-model=\"dialogState.safetyGoodsAndEquipmentForm.bigClassifyId\" @change=\"changeSmallClassify(null)\" placeholder=\"物资大类\" class=\"input-add\">\r\n                                <el-option\r\n                                v-for=\"item in dialogState.goodsBigClassifyList\"\r\n                                :key=\"item.id\"\r\n                                :value=\"item.id\"\r\n                                :label=\"item.materialClassifyName\"\r\n                                ></el-option>\r\n                            </el-select>\r\n                        </el-form-item>\r\n                    </el-col>\r\n<!--                    <el-col :span=\"5\">-->\r\n<!--                        <el-button type=\"primary\" @click=\"openAddGoods\">添加物资</el-button>-->\r\n<!--                    </el-col>-->\r\n                    <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n                        <el-form-item label=\"物资小类\" prop=\"smallClassifyId\">\r\n                            <el-select class=\"input-add\" v-model=\"dialogState.safetyGoodsAndEquipmentForm.smallClassifyId\" placeholder=\"请先选择物资大类\">\r\n                                <el-option\r\n                                    v-for=\"item in dialogState.goodsSmallClassifyList\"\r\n                                    :key=\"item.id\"\r\n                                    :value=\"item.id\"\r\n                                    :label=\"item.materialClassifyName\"\r\n                                ></el-option>\r\n                            </el-select>\r\n                        </el-form-item>\r\n                    </el-col>\r\n\r\n                    <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n                        <el-form-item label=\"部门\" prop=\"depId\">\r\n                            <el-cascader\r\n                                :disabled=\"true\"\r\n                                :options=\"dialogState.departmentList\"\r\n                                :props=\"{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }\"\r\n                                placeholder=\"请选择部门\"\r\n                                clearable\r\n                                class=\"input-add\"\r\n                                v-model=\"dialogState.safetyGoodsAndEquipmentForm.depId\">\r\n                            </el-cascader>\r\n                        </el-form-item>\r\n                    </el-col>\r\n<!--                    <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">-->\r\n<!--                        <el-form-item label=\"是否耗材\" prop=\"consumable\">-->\r\n<!--                            <el-select class=\"input-add\" v-model=\"dialogState.safetyGoodsAndEquipmentForm.consumable\" placeholder=\"是否耗材\" clearable filterable>-->\r\n<!--                                <el-option-->\r\n<!--                                    v-for=\"item in dialogState.consumableList\"-->\r\n<!--                                    :key=\"item.id\"-->\r\n<!--                                    :value=\"item.id\"-->\r\n<!--                                    :label=\"item.name\"-->\r\n<!--                                >-->\r\n<!--                                </el-option>-->\r\n<!--                            </el-select>-->\r\n<!--                        </el-form-item>-->\r\n<!--                    </el-col>-->\r\n                </el-row>\r\n            </el-form>\r\n            <template #footer>\r\n                <span class=\"dialog-footer\">\r\n                    <el-button @click=\"dialogState.showSafetyGoodsAndEquipmentDialog = !dialogState.showSafetyGoodsAndEquipmentDialog\" size=\"default\">取 消</el-button>\r\n                    <el-button type=\"primary\" @click=\"submitSafetyGoodsAndEquipment\" v-throttle size=\"default\">确 定</el-button>\r\n                </span>\r\n            </template>\r\n        </el-dialog>\r\n        <add-goods-dialog ref=\"addGoodsDialogRef\" @refreshClassify=\"getAllSafetyEquipmentList\"></add-goods-dialog>\r\n    </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport {computed, nextTick, reactive, ref, watch} from 'vue'\r\nimport {\r\n    BigClassifyType,\r\n    DataType, DepartmentType,\r\n    isValidKey,\r\n    SafetyGoodsAndEquipmentDialogStateType, safetyGoodsAndEquipmentFormType\r\n} from \"/@/views/facilityManagement/safetyGoodsAndEquipment/index\";\r\nimport { goodsAndEquipmentApi } from \"/@/api/facilityManagement/safetyGoodsAndEquipment\";\r\nimport {ElMessage} from \"element-plus\";\r\nimport AddGoodsDialog from \"./addGoodsDialog.vue\";\r\nimport {useUserInfo} from \"/@/stores/userInfo\";\r\n\r\nconst safetyGoodsAndEquipmentRef = ref();\r\nconst addGoodsDialogRef = ref();\r\nconst userInfo = useUserInfo()\r\n\r\nconst dialogState = reactive<SafetyGoodsAndEquipmentDialogStateType>({\r\n    safetyGoodsAndEquipmentForm: {\r\n        id: null,\r\n        bigClassifyId: null,\r\n        smallClassifyId: null,\r\n        depId: null,\r\n        // consumable: null,\r\n    },\r\n    safetyGoodsAndEquipmentRules: {\r\n        bigClassifyId: [{ required: true, message: '请选择物资大类', trigger: 'change' }],\r\n        smallClassifyId: [{ required: true, message: '请选择物资小类', trigger: 'change' }],\r\n        // depId: [{ required: true, message: '请选择部门', trigger: 'change' }],\r\n        // consumable: [{ required: true, message: '请选择是否耗材', trigger: 'change' }],\r\n    },\r\n    showSafetyGoodsAndEquipmentDialog: false,\r\n    title: '',\r\n    loading: false,\r\n    depList: [],\r\n    goodsBigClassifyList: [],\r\n    goodsSmallClassifyList: [],\r\n    departmentList: [],\r\n    consumableList: [\r\n        {id: 0, name: '是'},\r\n        {id: 1, name: '否'},\r\n    ],\r\n});\r\n\r\nwatch(() => dialogState.safetyGoodsAndEquipmentForm.bigClassifyId ,(newVal, oldVal) => {\r\n\r\n},);\r\n\r\n// const openAddGoods = () => {\r\n//     addGoodsDialogRef.value.openAddGoodsDialog(dialogState.goodsBigClassifyList)\r\n// }\r\n\r\nconst openSafetyGoodsAndEquipmentDialog =\r\n    (title: string, value: safetyGoodsAndEquipmentFormType, goodsBigClassifyList: BigClassifyType [], departmentList : DepartmentType []) => {\r\n    dialogState.title = title;\r\n    dialogState.showSafetyGoodsAndEquipmentDialog = true;\r\n    dialogState.goodsBigClassifyList = goodsBigClassifyList;\r\n    dialogState.departmentList = departmentList;\r\n    dialogState.safetyGoodsAndEquipmentForm = {\r\n        id: null,\r\n        bigClassifyId: null,\r\n        smallClassifyId: null,\r\n        depId: userInfo.userInfos.depId,\r\n        // consumable: null,\r\n    };\r\n    nextTick( () => {\r\n        safetyGoodsAndEquipmentRef.value.clearValidate();\r\n    })\r\n    if(title === '新增') {\r\n        dialogState.title = '新增'\r\n    }else {\r\n        dialogState.title = '编辑'\r\n        changeSmallClassify(value.bigClassifyId)\r\n        for(let key in dialogState.safetyGoodsAndEquipmentForm) {\r\n            if(isValidKey(key, dialogState.safetyGoodsAndEquipmentForm)){\r\n                dialogState.safetyGoodsAndEquipmentForm[key] = value[key];\r\n            }\r\n        }\r\n    }\r\n};\r\n\r\nconst changeSmallClassify = (id: number | null) => {\r\n    dialogState.safetyGoodsAndEquipmentForm.smallClassifyId = null;\r\n    dialogState.goodsSmallClassifyList = dialogState.goodsBigClassifyList[dialogState.goodsBigClassifyList.\r\n    findIndex(item => item.id === (dialogState.safetyGoodsAndEquipmentForm.bigClassifyId || id))].childList as Array<BigClassifyType>;\r\n}\r\n\r\nconst submitSafetyGoodsAndEquipment = () => {\r\n    safetyGoodsAndEquipmentRef.value.validate(async (valid: boolean) => {\r\n        if(valid){\r\n            dialogState.loading = true\r\n            if(dialogState.title === '新增') {\r\n                let res = await goodsAndEquipmentApi().addGoodsEquipment(dialogState.safetyGoodsAndEquipmentForm)\r\n                if(res.data.code === '200'){\r\n                    dialogState.showSafetyGoodsAndEquipmentDialog = false\r\n                    emit('refreshData')\r\n                    ElMessage({\r\n                        type: 'success',\r\n                        message: '安全物资设备新增成功',\r\n                        duration: 2000\r\n                    });\r\n                }else{\r\n                    ElMessage({\r\n                        type:'warning',\r\n                        message:res.data.msg\r\n                    })\r\n                }\r\n            }else{\r\n                let res = await goodsAndEquipmentApi().updateGoodsEquipment(dialogState.safetyGoodsAndEquipmentForm)\r\n                if(res.data.code === '200'){\r\n                    dialogState.showSafetyGoodsAndEquipmentDialog = false\r\n                    emit('refreshData')\r\n                    ElMessage({\r\n                        type: 'success',\r\n                        message: '安全物资设备编辑成功',\r\n                        duration: 2000\r\n                    });\r\n                }else{\r\n                    ElMessage({\r\n                        type:'warning',\r\n                        message:res.data.msg\r\n                    })\r\n                }\r\n            }\r\n            dialogState.loading = false\r\n        }else{\r\n            ElMessage({\r\n                type: 'warning',\r\n                message: '请完善基本信息'\r\n            })\r\n        }\r\n    })\r\n};\r\n\r\nconst getAllSafetyEquipmentList = async () => {\r\n    let res = await goodsAndEquipmentApi().getAllSafetyEquipment();\r\n    if(res.data.code === '200'){\r\n        dialogState.goodsBigClassifyList = res.data.data\r\n    }else{\r\n        ElMessage({\r\n            message:res.data.msg,\r\n            type:'warning'\r\n        })\r\n    }\r\n};\r\n\r\nconst emit = defineEmits(['refreshData',])\r\n\r\ndefineExpose({\r\n    openSafetyGoodsAndEquipmentDialog,\r\n});\r\n\r\n</script>\r\n\r\n<style scoped>\r\n.input-length{\r\n    width: 100% !important;\r\n}\r\n</style>\r\n
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/src/views/facilityManagement/safetyGoodsAndEquipment/components/safetyGoodsAndEquipmentDialog.vue b/src/views/facilityManagement/safetyGoodsAndEquipment/components/safetyGoodsAndEquipmentDialog.vue
--- a/src/views/facilityManagement/safetyGoodsAndEquipment/components/safetyGoodsAndEquipmentDialog.vue    (revision da7a467fd8c4a82769ff275e21c1f2f45027b351)
+++ b/src/views/facilityManagement/safetyGoodsAndEquipment/components/safetyGoodsAndEquipmentDialog.vue    (date 1677135681669)
@@ -161,7 +161,7 @@
 const changeSmallClassify = (id: number | null) => {
     dialogState.safetyGoodsAndEquipmentForm.smallClassifyId = null;
     dialogState.goodsSmallClassifyList = dialogState.goodsBigClassifyList[dialogState.goodsBigClassifyList.
-    findIndex(item => item.id === (dialogState.safetyGoodsAndEquipmentForm.bigClassifyId || id))].childList as Array<BigClassifyType>;
+    findIndex(item => item.id === (dialogState.safetyGoodsAndEquipmentForm.bigClassifyId ?? id))].childList as Array<BigClassifyType>;
 }
 const submitSafetyGoodsAndEquipment = () => {
Index: src/views/facilityManagement/goodsDetailManage/components/goodsDetailAdd.vue
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
<+><template>\r\n    <div class=\"system-add-menu-container\">\r\n        <el-dialog :title=\"goodsDetailAddState.title\" :close-on-click-modal=\"false\" v-model=\"goodsDetailAddState.goodsDetailAddVisible\" width=\"30%\">\r\n            <el-form\r\n                :model=\"goodsDetailAddState.goodsDetailForm\"\r\n                :rules=\"goodsDetailAddState.goodsDetailRules\"\r\n                ref=\"goodsDetailFormRef\"\r\n                size=\"default\"\r\n                v-loading=\"goodsDetailAddState.loading\"\r\n                element-loading-text=\"Loading...\"\r\n                label-width=\"120px\">\r\n                <el-row>\r\n                    <el-col :span=\"24\" class=\"mb20\">\r\n                        <el-form-item label=\"选择物资\" prop=\"smId\">\r\n                            <el-row :gutter=\"6\">\r\n<!--                                <el-col :span=\"8\">-->\r\n<!--                                    <el-select-->\r\n<!--                                        filterable-->\r\n<!--                                        placeholder=\"请选择部门\"-->\r\n<!--                                        clearable-->\r\n<!--                                        @change=\"changeDepartment\"-->\r\n<!--                                        v-model=\"goodsDetailAddState.depId\">-->\r\n<!--                                        <el-option-->\r\n<!--                                            v-for=\"item in goodsDetailAddState.departmentList\"-->\r\n<!--                                            :key=\"item.depId\"-->\r\n<!--                                            :value=\"item.depId\"-->\r\n<!--                                            :label=\"item.depName\"-->\r\n<!--                                        ></el-option>-->\r\n<!--                                    </el-select>-->\r\n<!--                                </el-col>-->\r\n                                <el-col :span=\"12\">\r\n                                    <el-select v-model=\"goodsDetailAddState.classifyId\" placeholder=\"选择分类\" @change=\"changeClassify\" filterable clearable>\r\n                                        <el-option\r\n                                            v-for=\"item in goodsDetailAddState.classifyList\"\r\n                                            :key=\"item.materialClassifyId\"\r\n                                            :value=\"item.materialClassifyId\"\r\n                                            :label=\"item.materialClassifyName\"\r\n                                        ></el-option>\r\n                                    </el-select>\r\n                                </el-col>\r\n                                <el-col :span=\"12\">\r\n                                    <el-select v-model=\"goodsDetailAddState.goodsDetailForm.smId\" placeholder=\"选择物资\" filterable clearable>\r\n                                        <el-option\r\n                                            v-for=\"item in goodsDetailAddState.goodsList\"\r\n                                            :key=\"item.smId\"\r\n                                            :value=\"item.smId\"\r\n                                            :label=\"item.materialName\"\r\n                                        ></el-option>\r\n                                    </el-select>\r\n                                </el-col>\r\n                            </el-row>\r\n                        </el-form-item>\r\n                    </el-col>\r\n                    <el-col :span=\"24\" class=\"mb20\">\r\n                        <el-row :gutter=\"6\">\r\n                            <el-col :span=\"12\">\r\n                                <el-form-item label=\"RFID起:\" prop=\"startRfid\">\r\n                                    <el-input v-model=\"goodsDetailAddState.RFID\" placeholder=\"选填\">\r\n                                    </el-input>\r\n                                </el-form-item>\r\n                            </el-col>\r\n                            <el-col :span=\"12\">\r\n                                <el-input v-model=\"goodsDetailAddState.startRfid\" @blur=\"checkLength('start')\" @input=\"onVerifiyNumberInteger($event, 'start')\" placeholder=\"选填\">\r\n                                </el-input>\r\n                            </el-col>\r\n                        </el-row>\r\n                    </el-col>\r\n                    <el-col :span=\"24\" class=\"mb20\">\r\n                        <el-row :gutter=\"6\">\r\n                            <el-col :span=\"12\">\r\n                                <el-form-item label=\"RFID止:\" prop=\"endRfid\">\r\n                                    <el-input v-model=\"goodsDetailAddState.RFID\" placeholder=\"选填\">\r\n                                    </el-input>\r\n                                </el-form-item>\r\n                            </el-col>\r\n                            <el-col :span=\"12\">\r\n                                <el-input @blur=\"checkLength('end')\" @input=\"onVerifiyNumberInteger($event, 'end')\" v-model=\"goodsDetailAddState.endRfid\" placeholder=\"选填\">\r\n                                </el-input>\r\n                            </el-col>\r\n                        </el-row>\r\n                    </el-col>\r\n                    <el-col :span=\"24\" class=\"mb20\">\r\n                        <el-form-item label=\"入库数量:\" prop=\"wareHousingCount\">\r\n                            <el-input @input=\"onVerifiyNumberInteger($event, 'wareHousingCount')\"  v-model=\"goodsDetailAddState.goodsDetailForm.wareHousingCount\" placeholder=\"入库总数\">\r\n                            </el-input>\r\n                        </el-form-item>\r\n                    </el-col>\r\n                    <el-col :span=\"24\" class=\"mb20\">\r\n                        <el-form-item label=\"有效期类型:\" prop=\"validType\">\r\n                            <el-radio-group v-model=\"goodsDetailAddState.goodsDetailForm.validType\">\r\n                                <el-radio :label=\"0\">长期</el-radio>\r\n                                <el-radio :label=\"1\">非长期</el-radio>\r\n                            </el-radio-group>\r\n                        </el-form-item>\r\n                    </el-col>\r\n                    <el-col :span=\"24\" class=\"mb20\" v-if=\"goodsDetailAddState.goodsDetailForm.validType === 1\">\r\n                        <el-form-item label=\"有效期至:\" prop=\"validTime\">\r\n                            <el-date-picker\r\n                                v-model=\"goodsDetailAddState.goodsDetailForm.validTime\"\r\n                                type=\"datetime\"\r\n                                format=\"YYYY-MM-DD HH:mm:ss\"\r\n                                value-format=\"YYYY-MM-DD HH:mm:ss\"\r\n                                placeholder=\"选择日期时间\"\r\n                                style=\"width: 100%\" />\r\n                        </el-form-item>\r\n                    </el-col>\r\n\r\n                </el-row>\r\n            </el-form>\r\n            <template #footer>\r\n                <span class=\"dialog-footer\">\r\n                    <el-button @click=\"goodsDetailAddState.goodsDetailAddVisible = !goodsDetailAddState.goodsDetailAddVisible\" size=\"default\">取 消</el-button>\r\n                    <el-button type=\"primary\" @click=\"submitGoodsDetail\" v-throttle size=\"default\">确 定</el-button>\r\n                </span>\r\n            </template>\r\n        </el-dialog>\r\n    </div>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport {reactive, ref, watch} from 'vue'\r\nimport {\r\n    BaseMaterialListType,\r\n    ClassificationListType,\r\n    DepartmentType,\r\n    GoodsDetailDataType,\r\n    GoodsDetailAddType\r\n} from \"/@/views/facilityManagement/goodsDetailManage/index\";\r\nimport {isValidKey} from \"/@/views/facilityManagement/safetyGoodsAndEquipment/index\";\r\nimport {ElMessage} from \"element-plus/es\";\r\nimport {goodsDetailApi} from \"/@/api/facilityManagement/goodsDetailManage\";\r\nimport {verifiyNumberInteger, verifyString} from \"/@/utils/toolsValidate\";\r\nimport {useUserInfo} from \"/@/stores/userInfo\";\r\n\r\nconst goodsDetailFormRef = ref()\r\nconst userInfo = useUserInfo()\r\n\r\nconst goodsDetailAddState = reactive<GoodsDetailAddType>({\r\n    title: '新增入库',\r\n    RFID: 'RFIDXXX',\r\n    startRfid: '',\r\n    endRfid: '',\r\n    depId: null,\r\n    loading: false,\r\n    classifyId: null,\r\n    goodsDetailAddVisible: false,\r\n    goodsDetailForm: {\r\n        id: null,\r\n        smId: null,\r\n        validType: null,\r\n        validTime: null,\r\n        startRfid:  null,\r\n        endRfid:  null ,\r\n        wareHousingCount:  null,\r\n    },\r\n    goodsDetailRules: {\r\n        smId: [{ required: true, message: '请选择物资名称', trigger: 'change' }],\r\n        validType: [{ required: true, message: '请选择时间类型', trigger: 'change' }],\r\n        validTime: [{ required: true, message: '请选择有效时间', trigger: 'change' }],\r\n        wareHousingCount: [{ required: true, message: '请填写入库数量', trigger: 'blur' }],\r\n    },\r\n    departmentList: [],\r\n    classifyList: [],\r\n    goodsList: [],\r\n})\r\n\r\nwatch(() => [goodsDetailAddState.startRfid,goodsDetailAddState.endRfid],(newVal, oldVal) => {\r\n    if(goodsDetailAddState.startRfid.length === 8 && goodsDetailAddState.endRfid.length === 8){\r\n        goodsDetailAddState.goodsDetailForm.wareHousingCount = Number(goodsDetailAddState.endRfid) - Number(goodsDetailAddState.startRfid) + 1\r\n    }\r\n},{immediate :false});\r\n\r\nconst openGoodsDetailAddDialog = async (title: string, value: GoodsDetailDataType, departmentList: DepartmentType []) => {\r\n    goodsDetailAddState.goodsDetailAddVisible = true;\r\n    goodsDetailAddState.departmentList = departmentList;\r\n    setTimeout(() => {\r\n        goodsDetailFormRef.value.clearValidate();\r\n    });\r\n    goodsDetailAddState.startRfid = '';\r\n    goodsDetailAddState.endRfid = '';\r\n    goodsDetailAddState.goodsDetailForm = {\r\n        id: null,\r\n        smId: null,\r\n        validType: null,\r\n        validTime: null,\r\n        startRfid:  null,\r\n        endRfid:  null ,\r\n        wareHousingCount:  null,\r\n    };\r\n    goodsDetailAddState.classifyList = goodsDetailAddState.departmentList.find(item => item.depId === userInfo.userInfos.depId)?.classificationList as Array<ClassificationListType>\r\n}\r\n\r\n// const changeDepartment = (value: number | null) => {\r\n//     goodsDetailAddState.classifyId = null\r\n//     goodsDetailAddState.goodsDetailForm.smId = null\r\n//     goodsDetailAddState.classifyList = goodsDetailAddState.departmentList.find(item => item.depId === value)?.classificationList as Array<ClassificationListType>\r\n// }\r\n\r\nconst changeClassify = (value: number | null) => {\r\n    debugger\r\n    goodsDetailAddState.goodsDetailForm.smId = null\r\n    goodsDetailAddState.goodsList = JSON.parse(JSON.stringify(\r\n        (goodsDetailAddState.classifyList.find(item => item.materialClassifyId === value) ?? {baseMaterialList:[]})?.baseMaterialList as Array<BaseMaterialListType>\r\n    ))\r\n}\r\n\r\nconst submitGoodsDetail = () => {\r\n    goodsDetailFormRef.value.validate(async (valid: boolean) => {\r\n        if(valid){\r\n            goodsDetailAddState.goodsDetailForm.startRfid = `RFID${goodsDetailAddState.startRfid}`\r\n            goodsDetailAddState.goodsDetailForm.endRfid = `RFID${goodsDetailAddState.endRfid}`\r\n            goodsDetailAddState.loading = true\r\n            let res = await goodsDetailApi().addGoodsDetail(goodsDetailAddState.goodsDetailForm)\r\n            if(res.data.code === '200'){\r\n                goodsDetailAddState.goodsDetailAddVisible = false\r\n                emit('refreshData')\r\n                ElMessage({\r\n                    type: 'success',\r\n                    message: '物资新增成功',\r\n                    duration: 2000\r\n                });\r\n            }else{\r\n                ElMessage({\r\n                    type:'warning',\r\n                    message:res.data.msg\r\n                })\r\n            }\r\n            goodsDetailAddState.loading = false\r\n        }else{\r\n            ElMessage({\r\n                type: 'warning',\r\n                message: '请完善基本信息'\r\n            })\r\n        }\r\n    })\r\n}\r\n\r\nconst checkLength = (value: string) => {\r\n    if(value === 'start' && goodsDetailAddState.startRfid.length !== 8){\r\n        ElMessage({\r\n            type:'warning',\r\n            message: 'RFID起不符合规范,请重新填入'\r\n        })\r\n        goodsDetailAddState.startRfid = ''\r\n        goodsDetailAddState.goodsDetailForm.wareHousingCount = null\r\n    }else if(value === 'end' && goodsDetailAddState.endRfid.length !== 8){\r\n        ElMessage({\r\n            type:'warning',\r\n            message: 'RFID止不符合规范,请重新填入'\r\n        })\r\n        goodsDetailAddState.endRfid = ''\r\n        goodsDetailAddState.goodsDetailForm.wareHousingCount = null\r\n    }else{\r\n        return\r\n    }\r\n}\r\n\r\nconst onVerifiyNumberInteger = (val: number, title: string) => {\r\n    if(title === 'wareHousingCount'){\r\n        goodsDetailAddState.goodsDetailForm.wareHousingCount = Number(verifiyNumberInteger(val.toString())) === 0 ? null : Number(verifiyNumberInteger(val.toString()));\r\n    }else if(title === 'start'){\r\n        goodsDetailAddState.startRfid = verifyString(val.toString());\r\n    }else{\r\n        goodsDetailAddState.endRfid = verifyString(val.toString());\r\n    }\r\n\r\n};\r\n\r\nconst emit = defineEmits(['refreshData',])\r\n\r\ndefineExpose({\r\n    openGoodsDetailAddDialog\r\n})\r\n\r\n</script>\r\n\r\n<style scoped>\r\n\r\n</style>\r\n
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/src/views/facilityManagement/goodsDetailManage/components/goodsDetailAdd.vue b/src/views/facilityManagement/goodsDetailManage/components/goodsDetailAdd.vue
--- a/src/views/facilityManagement/goodsDetailManage/components/goodsDetailAdd.vue    (revision da7a467fd8c4a82769ff275e21c1f2f45027b351)
+++ b/src/views/facilityManagement/goodsDetailManage/components/goodsDetailAdd.vue    (date 1673943642886)
@@ -197,7 +197,6 @@
 // }
 const changeClassify = (value: number | null) => {
-    debugger
     goodsDetailAddState.goodsDetailForm.smId = null
     goodsDetailAddState.goodsList = JSON.parse(JSON.stringify(
         (goodsDetailAddState.classifyList.find(item => item.materialClassifyId === value) ?? {baseMaterialList:[]})?.baseMaterialList as Array<BaseMaterialListType>
Index: src/api/facilityManagement/claimReturnRecords/index.ts
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
<+>import request from \"/@/utils/request\";\r\n\r\nexport function claimReturnRecordsApi() {\r\n\treturn {\r\n\t\tgetClaimReturnRecords: (data: {}) => {\r\n\t\t\treturn request({\r\n\t\t\t\turl: import.meta.env.VITE_API_URL_OUT + `/equipment/material/record/page/list`,\r\n\t\t\t\tmethod: 'post',\r\n\t\t\t\tdata\r\n\t\t\t});\r\n\t\t},\r\n\t\treturnGoods: (data: {}) => {\r\n\t\t\treturn request({\r\n\t\t\t\turl: import.meta.env.VITE_API_URL_OUT + `/equipment/material/record/revert`,\r\n\t\t\t\tmethod: 'post',\r\n\t\t\t\tdata\r\n\t\t\t});\r\n\t\t},\r\n\t\trefreshReturnAndNoReturn: (data: {}) => {\r\n\t\t\treturn request({\r\n\t\t\t\turl: import.meta.env.VITE_API_URL_OUT + `/equipment/material/record/queryById`,\r\n\t\t\t\tmethod: 'post',\r\n\t\t\t\tdata\r\n\t\t\t});\r\n\t\t},\r\n\t}\r\n}\r\n
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/src/api/facilityManagement/claimReturnRecords/index.ts b/src/api/facilityManagement/claimReturnRecords/index.ts
--- a/src/api/facilityManagement/claimReturnRecords/index.ts    (revision da7a467fd8c4a82769ff275e21c1f2f45027b351)
+++ b/src/api/facilityManagement/claimReturnRecords/index.ts    (date 1675758450864)
@@ -11,7 +11,7 @@
         },
         returnGoods: (data: {}) => {
             return request({
-                url: import.meta.env.VITE_API_URL_OUT + `/equipment/material/record/revert`,
+                url: import.meta.env.VITE_API_URL_OUT + `/equipment/material/record/revert?a=${123}&b=${true}`,
                 method: 'post',
                 data
             });
.idea/shelf/Uncommitted_changes_before_Update_at_2023_3_3_13_33__Default_Changelist_.xml
对比新文件
@@ -0,0 +1,4 @@
<changelist name="Uncommitted_changes_before_Update_at_2023_3_3_13_33_[Default_Changelist]" date="1677821594869" recycled="true" deleted="true">
  <option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Uncommitted_changes_before_Update_at_2023_3_3_13_33_[Default_Changelist]/shelved.patch" />
  <option name="DESCRIPTION" value="Uncommitted changes before Update at 2023/3/3 13:33 [Default Changelist]" />
</changelist>
src/api/facilityManagement/claimReturnRecords/index.ts
@@ -11,7 +11,7 @@
        },
        returnGoods: (data: {}) => {
            return request({
                url: import.meta.env.VITE_API_URL_OUT + `/equipment/material/record/revert`,
                url: import.meta.env.VITE_API_URL_OUT + `/equipment/material/record/revert?a=${123}&b=${true}`,
                method: 'post',
                data
            });
src/views/facilityManagement/claimReturnRecords/components/returnAndWatch.vue
@@ -202,7 +202,7 @@
            }
        }
    }
}
};
const handleSelectionChange = (val: materialType []) => {
    returnAndWatchState.returnFormList.materialList = val.map((item: materialType) => {
@@ -216,7 +216,7 @@
const filterMaterialStatus = (value: number) => {
    return returnAndWatchState.reasonList.find(item => item.id === value)?.name
}
};
const emit = defineEmits(['refreshReturnData']);
src/views/facilityManagement/goodsDetailManage/components/goodsDetailAdd.vue
@@ -197,7 +197,6 @@
// }
const changeClassify = (value: number | null) => {
    debugger
    goodsDetailAddState.goodsDetailForm.smId = null
    goodsDetailAddState.goodsList = JSON.parse(JSON.stringify(
        (goodsDetailAddState.classifyList.find(item => item.materialClassifyId === value) ?? {baseMaterialList:[]})?.baseMaterialList as Array<BaseMaterialListType>
src/views/facilityManagement/safetyGoodsAndEquipment/components/safetyGoodsAndEquipmentDialog.vue
@@ -161,7 +161,7 @@
const changeSmallClassify = (id: number | null) => {
    dialogState.safetyGoodsAndEquipmentForm.smallClassifyId = null;
    dialogState.goodsSmallClassifyList = dialogState.goodsBigClassifyList[dialogState.goodsBigClassifyList.
    findIndex(item => item.id === (dialogState.safetyGoodsAndEquipmentForm.bigClassifyId || id))].childList as Array<BigClassifyType>;
    findIndex(item => item.id === (dialogState.safetyGoodsAndEquipmentForm.bigClassifyId ?? id))].childList as Array<BigClassifyType>;
}
const submitSafetyGoodsAndEquipment = () => {
src/views/system/department/component/deptDialog.vue
@@ -88,7 +88,6 @@
                {id:1,name:'公司'},
                {id:2,name:'事业部'},
                {id:3,name:'车间'},
                {id:4,name:'班组'}
            ] // 部门数据
        });
src/views/system/user/component/userDialog.vue
@@ -65,7 +65,13 @@
                            </el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
                        <el-form-item label="用户类型" prop="type">
                            <el-select v-model="userForm.type" placeholder="请选择" clearable class="w100">
                                <el-option v-for="item in userTypeList.filter(item => userForm.type === 1 ? item.id === 1 : item.id !== 1)" :key="item.id" :label="item.name" :value="item.id"> </el-option>
                            </el-select>
                        </el-form-item>
                    </el-col>
                    <!--                    <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">-->
                    <!--                        <el-form-item label="用户状态">-->
                    <!--                            <el-switch v-model="userForm.status" inline-prompt active-value = 1 inactive-value= 0 active-text="启" inactive-text="禁"></el-switch>-->
@@ -93,6 +99,7 @@
interface roleData {}
interface dutyData {}
interface sexData {}
interface type {}
interface UserState {
    title: string;
    disabled: boolean;
@@ -106,6 +113,7 @@
        phone: string;
        email: string;
        gender: number | null;
        type: number | null;
        password: string;
        expireTime: string;
        status: number;
@@ -118,6 +126,7 @@
    roleData: Array<roleData>;
    dutyData: Array<dutyData>;
    sexList: Array<sexData>;
    userTypeList: Array<type>;
}
export default defineComponent({
@@ -139,6 +148,7 @@
                gender: null, // 性别
                password: '', // 账户密码
                positionId: null, // 岗位
                type: null, // 用户类型
                expireTime: '', // 账户过期
                status: 1 // 用户状态
            },
@@ -149,6 +159,7 @@
                depId: [{ required: true, message: '请选择部门', trigger: 'change' }],
                positionId: [{ required: true, message: '请选择职务', trigger: 'change' }],
                phone: [{ required: true, message: '请填写手机号', trigger: 'blur' }],
                type: [{ required: true, message: '请填写用户类型', trigger: 'blur' }],
                gender: [{ required: true, message: '请选择性别', trigger: 'change' }],
                expireTime: [{ required: true, message: '请输入账户过期时间', trigger: 'blur' }],
                password: [{ required: true, message: '请输入账户密码', trigger: 'blur' }],
@@ -159,6 +170,11 @@
            sexList: [
                { id: 1, name: '男' },
                { id: 0, name: '女' }
            ],
            userTypeList: [
                { id: 1, name: '超级管理员' },
                { id: 2, name: '管理员' },
                { id: 3, name: '普通员工' }
            ]
        });
        // 打开弹窗
@@ -180,6 +196,7 @@
                    identify: '',
                    positionId: null,
                    gender: null,
                    type: null,
                    password: '',
                    expireTime: '',
                    status: 1
src/views/system/user/index.vue
@@ -41,6 +41,11 @@
                    {{ parseNumber(scope.row.positionId) }}
                  </template>
                </el-table-column>
                <el-table-column prop="type" label="职务" show-overflow-tooltip>
                    <template #default="scope">
                        {{ `${userTypeList.find(item => item.id === scope.row.type)?.name}` }}
                    </template>
                </el-table-column>
                <el-table-column prop="department.depName" label="部门" show-overflow-tooltip></el-table-column>
                <el-table-column prop="phone" label="手机号" show-overflow-tooltip></el-table-column>
                <el-table-column prop="email" label="邮箱" show-overflow-tooltip></el-table-column>
@@ -110,6 +115,7 @@
    departmentList: [];
    roleList: [];
    dutyList: [];
    userTypeList: Array<{id:number,name:string}>;
    props:{}
}
@@ -141,7 +147,12 @@
              value: 'depId',
              checkStrictly: true,
              emitPath: false
            }
            },
            userTypeList: [
                { id: 1, name: '超级管理员' },
                { id: 2, name: '管理员' },
                { id: 3, name: '普通员工' }
            ]
        });
        // 初始化表格数据
        const initUserTableData = async () => {