Merge remote-tracking branch 'origin/dev' into dev

pull/3/head
zengchenxi 9 months ago
commit db66895c9a

@ -151,9 +151,9 @@
<td colspan="2"> 责任人 </td> <td colspan="2"> 责任人 </td>
<td colspan="2"> 备注 </td> <td colspan="2"> 备注 </td>
</tr> </tr>
<tr v-for="item in 8" :key="item.index"> <tr v-for="its in formData.tablename" :key="its.index" >
<td class="xh"> {{ item }} </td> <td class="xh"> {{ its.index }} </td>
<td colspan="3"> </td> <td colspan="3"> {{its.name}}</td>
<td> </td> <td> </td>
<td> </td> <td> </td>
<td colspan="2"> </td> <td colspan="2"> </td>
@ -163,10 +163,163 @@
<tbody> <tbody>
<tr> <tr>
<td colspan="10"> <td colspan="10">
<div style="text-align: left; width: 100%;display: flex; flex-direction: column;padding-left:15px;"> <div
style="
text-align: left;
width: 100%;
display: flex;
flex-direction: column;
padding-left: 15px;
"
>
<span>说明:</span>
<span
>1.每个项目的零部件制作工艺材料材质硬度要求必须统一出现任何问题各工程师负责!</span
>
<span
>2.模具调试试模需要根据客户要求自己安排调试我司根据需要安排人员参与配合</span
>
</div>
</td>
</tr>
</tbody>
<tbody>
<tr>
<td colspan="4" style="width: 33%"> 编制/日期 </td>
<td colspan="3" style="width: 33%"> 审核/日期 </td>
<td colspan="3" style="width: 33%"> 批准/日期 </td>
</tr>
<tr>
<td colspan="4">{{ `formData.creatorName` }}</td>
<td colspan="3">{{ `formData.auditUserName` }}</td>
<td colspan="3">{{ `formData.approveUserName` }}</td>
</tr>
<tr>
<td colspan="4">{{ `formData.creatorName` }}</td>
<td colspan="3">{{ `formData.auditUserName` }}</td>
<td colspan="3">{{ `formData.approveUserName` }}</td>
<!-- <td colspan="4">{{formatDate(new Date(formData.createTime), 'YYYY-MM-DD')}}</td>
<td colspan="3">{{formatDate(new Date(formData.auditTime), 'YYYY-MM-DD')}}</td>
<td colspan="3">{{formatDate(new Date(formData.approveTime), 'YYYY-MM-DD')}}</td> -->
</tr>
</tbody>
</table>
<table border="2" cellspacing="0" id="table1">
<tbody>
<tr>
<td colspan="2">
<div style="width: 100px; text-align: center">
<img src="/src/assets/imgs/exlogo.png" style="width: 100%" alt="" />
</div>
</td>
<td colspan="6">
<span style="font-size: 20px; font-weight: 700">摸具生产计划单-附页</span>
</td>
<td colspan="2" style="padding: 5px 0">
<div style="border-bottom: 1px solid #666; padding-bottom: 5px">项目编号</div>
<div style="padding-top: 5px">{{ `formData.code` }}</div>
</td>
</tr>
</tbody>
<tbody>
<tr>
<td colspan="2"> 客户名称 </td>
<td colspan="5">
<span>{{ '公司名字' }}</span>
</td>
<td colspan="1">{{ `密称` }}</td>
<td> 编码 </td>
<td>{{ `1091` }} </td>
</tr>
</tbody>
<tr>
<td colspan="2"> 项目名称 </td>
<td colspan="6">
{{ `系列摸具` }}
</td>
<td> 业务员 </td>
<td>{{ `xxx` }} </td>
</tr>
<tr>
<td colspan="2"> 项目工期 </td>
<td style="padding: 0 5px"> </td>
<td colspan="1">
<span>{{ '2024/1/11' }}</span>
</td>
<td colspan="1"></td>
<td colspan="1">{{ `2024/4/11` }}</td>
<td>天数</td>
<td colspan="1">{{ `92` }}</td>
<td colspan="1"> 是否紧急 </td>
<td colspan="1">{{ `` }} </td>
</tr>
<tr>
<td colspan="10">
<div style="font-size: 18px; height: 50px; line-height: 50px">
<span>接上页</span>
</div>
</td>
</tr>
<tbody>
<tr
><td colspan="10"> <div style="text-align: left; width: 100%">子项目信息:</div></td></tr
>
<tr>
<td class="xh"> 序号 </td>
<td colspan="3"> 名称/编号 </td>
<td> 设备型号 </td>
<td> 数量 </td>
<td> 主要材料 </td>
<td> 毛坯日期 </td>
<td> 2D/日期 </td>
<td> 3D/日期 </td>
</tr>
<tr v-for="item in 15" :key="item.index">
<td class="xh"> {{ item+8 }} </td>
<td colspan="3" style="padding: 0 0">
<div style="display: flex; flex-direction: column; justify-content: space-between">
<span style="border-bottom: 1px solid #666"> {{ `名称` }} </span>
<span>{{ `编号` }}</span>
</div>
</td>
<td>{{ `LP 100L` }} </td>
<td>{{ `1` }} </td>
<td>{{ `H13` }} </td>
<td> {{ `2024/1/15` }} </td>
<td style="padding: 0 0">
<div style="display: flex; flex-direction: column; justify-content: space-between">
<span style="border-bottom: 1px solid #666"> {{ `2024/1/15` }} </span>
<span>{{ `name` }}</span>
</div>
</td>
<td style="padding: 0 0">
<div style="display: flex; flex-direction: column; justify-content: space-between">
<span style="border-bottom: 1px solid #666"> {{ `2024/1/15` }} </span>
<span>{{ `name` }}</span>
</div>
</td>
</tr>
</tbody>
<tbody>
<tr>
<td colspan="10">
<div
style="
text-align: left;
width: 100%;
display: flex;
flex-direction: column;
padding-left: 15px;
"
>
<span>说明:</span> <span>说明:</span>
<span>1.每个项目的零部件制作工艺材料材质硬度要求必须统一出现任何问题各工程师负责!</span> <span
<span>2.模具调试试模需要根据客户要求自己安排调试我司根据需要安排人员参与配合</span> >1.每个项目的零部件制作工艺材料材质硬度要求必须统一出现任何问题各工程师负责!</span
>
<span
>2.模具调试试模需要根据客户要求自己安排调试我司根据需要安排人员参与配合</span
>
</div> </div>
</td> </td>
</tr> </tr>
@ -205,6 +358,44 @@
import { Check } from '@element-plus/icons-vue' import { Check } from '@element-plus/icons-vue'
const dialogVisible = ref(false) // const dialogVisible = ref(false) //
const formData = ref({
tablename: [
{
index:1,
name: '母模/毛坯'
},
{
index:2,
name: '粗,精加工'
},
{
index:3,
name: '热处理'
},
{
index:4,
name: '电火花'
},
{
index:5,
name: '打孔/抛光'
},
{
index:6,
name: '装配'
},
{
index:7,
name: '预验收'
},
{
index:8,
name:'检验'
}
]
})
const onPrint = () => { const onPrint = () => {
// dom // dom
const printNode = document.querySelector('.print-wrap') const printNode = document.querySelector('.print-wrap')

@ -4,12 +4,6 @@
<el-form-item label="盘点单号" prop="stockNo" class="!w-800px"> <el-form-item label="盘点单号" prop="stockNo" class="!w-800px">
<el-input v-model="formData.stockNo" placeholder="系统自动生成" disabled/> <el-input v-model="formData.stockNo" placeholder="系统自动生成" disabled/>
</el-form-item> </el-form-item>
<!-- <el-form-item label="单据状态" prop="status" >
<el-select v-model="formData.status" placeholder="单据状态" disabled class="!w-600px">
<el-option v-for="dict in getIntDictOptions(DICT_TYPE.HELI_STORAGE_MAT_CHECK_STATUS)" :key="dict.value"
:label="dict.label" :value="dict.value" />
</el-select>
</el-form-item> -->
<el-form-item label="盘点类型" prop="checkType" class="!w-800px"> <el-form-item label="盘点类型" prop="checkType" class="!w-800px">
<el-select v-model="formData.checkType" placeholder="盘点类型" class="!w-700px"> <el-select v-model="formData.checkType" placeholder="盘点类型" class="!w-700px">
<el-option v-for="dict in getIntDictOptions(DICT_TYPE.HELI_STORAGE_MAT_CHECK_TYPE)" :key="dict.value" <el-option v-for="dict in getIntDictOptions(DICT_TYPE.HELI_STORAGE_MAT_CHECK_TYPE)" :key="dict.value"

@ -98,7 +98,7 @@
<el-col> <el-col>
<el-card class="hl-incard"> <el-card class="hl-incard">
<el-col> <el-col>
<el-button class="hl-addbutton" type="primary" size="large" @click="onAddItem"></el-button> <el-button class="hl-addbutton" type="primary" size="large" @click="openMatForm(1)"></el-button>
</el-col> </el-col>
<el-form ref="matSubFormRef" :model="formData.matItemDOList" :rules="subFormRules" <el-form ref="matSubFormRef" :model="formData.matItemDOList" :rules="subFormRules"
v-loading="subFormLoading" label-width="0"> v-loading="subFormLoading" label-width="0">
@ -258,6 +258,9 @@
</el-button> </el-button>
</div> </div>
</el-card> </el-card>
<!-- 表单弹窗无聊列表 -->
<materials ref="matOpenFormRef" @success="getList" />
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { ref } from 'vue' import { ref } from 'vue'
@ -318,6 +321,11 @@ const formRules = reactive({
}) })
const formRef = ref() // Ref const formRef = ref() // Ref
const matSubFormRef = ref() // Ref const matSubFormRef = ref() // Ref
const matOpenFormRef = ref()
const openMatForm = (noZero: number,whId?: number,isAll?: number) => {
matOpenFormRef.value.open(noZero,whId, isAll)
}
const subFormLoading = ref(false) // const subFormLoading = ref(false) //
const subFormRules = reactive({ const subFormRules = reactive({
@ -341,6 +349,11 @@ const handleStatus = async (num) => {
} }
reload() reload()
} }
const getList = async (arrMat) => {
message.alertWarning('数组个数为:'+arrMat.length)
}
const userList = ref<UserApi.UserVO[]>([]) // const userList = ref<UserApi.UserVO[]>([]) //
// ==================== ======================================= // ==================== =======================================

@ -0,0 +1,84 @@
<template>
<Dialog :title="dialogTitle" v-model="dialogVisible">
<el-form ref="matSubFormRef" :model="list" v-loading="formLoading" label-width="0">
<el-table :data="list" class="hl-table" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" disabled="true" />
<el-table-column prop="cid" label="序号" :width="80" />
<el-table-column prop="matCode" label="物料编码" min-width="120" align="center" />
<el-table-column prop="matName" label="物料名称" min-width="140" align="center" />
<el-table-column prop="matType" label="物料类型" min-width="120" align="center" />
<el-table-column prop="shortName" label="物料简称" min-width="120" align="center" />
<el-table-column prop="matSpec" label="规格/型号" min-width="120" align="center" />
<el-table-column prop="matBrand" label="品牌" min-width="120" align="center" />
<el-table-column prop="rgName" label="库区" min-width="120" align="center" />
<el-table-column prop="pnName" label="库位" min-width="140" align="center" />
<el-table-column prop="matRest" label="库存数量" min-width="120" align="center" />
<el-table-column prop="matUnit" label="库存单位" min-width="120" align="center" />
</el-table>
</el-form>
<template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button>
<el-button @click="dialogVisible = false"> </el-button>
</template>
</Dialog>
</template>
<script setup lang="ts">
import { getIntDictOptions, DICT_TYPE } from '@/utils/dict'
import * as StorageLogApi from '@/api/heli/storagelog'
const { t } = useI18n() //
const message = useMessage() //
const dialogVisible = ref(false) //
const dialogTitle = ref('') //
const formLoading = ref(false) // 12
const list = ref([]) //
const total = ref(0) //
const multipleSelection = ref([])
const handleSelectionChange = async (val) =>{
multipleSelection.value = val;
}
const queryParams = reactive({
pageNo: 1,
pageSize: 10
})
/** 打开弹窗 */
const open = async (noZero: number, whId?: number, isAll?: number) => {
dialogVisible.value = true
dialogTitle.value = '物料列表'
message.alertWarning(noZero)
//
formLoading.value = true
const data = await StorageLogApi.getStorageNowPage(queryParams)
list.value = data.list
total.value = data.total
try {
//
} finally {
formLoading.value = false
}
}
defineExpose({ open }) // open
/** 提交表单 */
const emit = defineEmits(['success']) // success
const submitForm = async () => {
//
formLoading.value = true
try {
dialogVisible.value = false
//
emit('success', multipleSelection.value)
} finally {
formLoading.value = false
}
}
</script>
Loading…
Cancel
Save