guoyujia 1 år sedan
förälder
incheckning
910cbb82fd

+ 3 - 2
src/api/system/dept.js

@@ -76,9 +76,10 @@ export function delDept(deptId) {
   })
 }
 
-export function workSectionTree() {
+export function workSectionTree(query) {
   return request({
     url: baseUrl + '/system/dept/workSectionTree',
-    method: 'get'
+    method: 'get',
+    params: query
   })
 }

+ 2 - 2
src/views/business/carrier/formAbandonment.vue

@@ -13,8 +13,8 @@
       </el-form>
     </div>
     <template #footer>
-      <el-button type="primary" @click="handleSave">确 定</el-button>
-      <el-button @click="handleCancel">取 消</el-button>
+      <el-button type="primary" icon="Check" @click="handleSave">确 定</el-button>
+      <el-button icon="Close" @click="handleCancel">取 消</el-button>
     </template>
   </el-dialog>
 </template>

+ 6 - 5
src/views/business/carrier/index.vue

@@ -33,10 +33,10 @@
 
     <!-- 右侧区域 -->
     <section class="list-part-container" style="flex: 2">
-      <el-form class="list-search-container" :model="queryParams" ref="queryRef" :inline="true">
+      <el-form class="list-search-container" :model="carrierParams" ref="queryRef" :inline="true">
         <el-form-item class="section-title" label="载具管理" />
-        <el-form-item>
-          <el-input placeholder="请输入载具编号" v-model.trim="queryParams.code" @keydown.enter.prevent @keyup.enter="handleQueryCarrier" />
+        <el-form-item label="载具编号:">
+          <el-input placeholder="请输入载具编号" clearable  style="width: 180px" v-model.trim="carrierParams.code" @keydown.enter.prevent @keyup.enter="handleQueryCarrier" />
         </el-form-item>
         <el-form-item>
           <el-button type="info" icon="Search" @click="handleQueryCarrier">搜索</el-button>
@@ -79,7 +79,7 @@
                 {{ scope.row.abandonmentReason ? scope.row.abandonmentReason : '-' }}
               </template>
             </el-table-column>
-            <el-table-column label="操作" header-align="center" width="152">
+            <el-table-column label="操作" header-align="center" width="170">
               <template #default="scope">
                 <el-button link type="warning" icon="Edit" @click="handleShowCarrierDialog(scope.row.id)" v-hasPermi="['business:carrier:edit']">
                   编辑
@@ -131,6 +131,7 @@ const data = reactive({
     pageSize: 10
   },
   carrierParams: {
+    code:'',
     pageNum: 1,
     pageSize: 10
   }
@@ -209,7 +210,7 @@ const handleRefreshCarrier = () => {
 }
 
 const handleQueryCarrier = () => {
-  queryParams.value.pageNum = 1
+  carrierParams.value.pageNum = 1
   handleRefreshCarrier()
 }
 

+ 105 - 55
src/views/business/deptEquipment/DialogProcessChoice.vue

@@ -1,8 +1,35 @@
 <template>
-  <el-dialog title="添加工序" v-model="visible" width="800px" append-to-body draggable>
+  <el-dialog
+    title="添加工序"
+    v-model="visible"
+    width="800px"
+    append-to-body
+    draggable
+  >
     <el-form ref="dialogForm" class="master-container" :model="queryParams">
-      <div style="display: flex;margin-top: 20px;">
-        <el-form-item label="工序简称:" prop="processAlias" label-width="100px">
+      <div style="display: flex">
+        <el-form-item
+          label="工序编码:"
+          prop="processCode"
+          label-width="100px"
+          style="margin-top: 20px"
+        >
+          <el-input
+            v-model.trim="queryParams.processCode"
+            type="text"
+            @keydown.enter.prevent
+            style="width: 180px"
+            placeholder="请输入工序编码"
+            :clearable="true"
+            @keyup.enter="handleSearch"
+          />
+        </el-form-item>
+        <el-form-item
+          label="工序简称:"
+          prop="processAlias"
+          label-width="100px"
+          style="margin-top: 20px"
+        >
           <el-input
             v-model.trim="queryParams.processAlias"
             type="text"
@@ -10,12 +37,18 @@
             placeholder="请输入工序简称"
             :clearable="true"
             @keydown.enter.prevent
-          @keyup.enter="handleSearch"
+            @keyup.enter="handleSearch"
           />
         </el-form-item>
-        <el-form-item label-width="20px">
-          <el-button type="success" icon="Search" size="default" @click="handleSearch">搜索</el-button>
-          <el-button type="primary" icon="Delete" size="default" plain @click="handleSearch('clear')">清空</el-button>
+        <el-form-item label-width="20px" style="margin-top: 20px">
+          <el-button
+            type="success"
+            icon="Search"
+            size="default"
+            @click="handleSearch"
+            >搜索</el-button
+          >
+          <!-- <el-button type="primary" icon="Delete" size="default" plain @click="handleSearch('clear')">清空</el-button> -->
         </el-form-item>
       </div>
     </el-form>
@@ -27,12 +60,17 @@
       size="small"
       v-loading="loading"
       border
-      height="100%"
+      height="370px"
       header-row-class-name="list-header-row"
       row-class-name="list-row"
       @selection-change="handleSelectionChange"
     >
-      <el-table-column type="selection" width="40" align="center" :reserve-selection="true" />
+      <el-table-column
+        type="selection"
+        width="40"
+        align="center"
+        :reserve-selection="true"
+      />
       <el-table-column type="index" label="行号" width="50" align="center" />
       <el-table-column label="工序编码" align="center" prop="processCode" />
       <el-table-column label="工序简称" align="center" prop="processAlias" />
@@ -43,119 +81,131 @@
       </el-table-column>
     </el-table>
     <!-- 分页 -->
-    <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
+    <pagination
+      v-show="total > 0"
+      :total="total"
+      v-model:page="queryParams.pageNum"
+      v-model:limit="queryParams.pageSize"
+      @pagination="getList"
+    />
     <template #footer>
       <div class="dialog-footer">
-        <el-button type="primary" icon="Check" :disabled="selections.length === 0" @click="handleMultipleSelected">确定</el-button>
+        <el-button
+          type="primary"
+          icon="Check"
+          :disabled="selections.length === 0"
+          @click="handleMultipleSelected"
+          >确定</el-button
+        >
         <el-button icon="Close" @click="close">取 消</el-button>
       </div>
     </template>
   </el-dialog>
 </template>
 <script setup>
-import { ref } from '@vue/reactivity'
-import { listProcess } from '@/api/business/process'
-const { proxy } = getCurrentInstance()
-const { process_status } = proxy.useDict('process_status')
-const total = ref(0)
+import { ref } from "@vue/reactivity";
+import { listProcess } from "@/api/business/process";
+const { proxy } = getCurrentInstance();
+const { process_status } = proxy.useDict("process_status");
+const total = ref(0);
 const props = defineProps({
   selected: {
     type: Array,
-    defalut: []
+    defalut: [],
   },
   multipleSelected: {
     type: Function,
-    default: null
-  }
-})
+    default: null,
+  },
+});
 
-const {  multipleSelected, selected } = toRefs(props)
-const processList = ref([])
-const visible = ref(false)
-const loading = ref(false)
+const { multipleSelected, selected } = toRefs(props);
+const processList = ref([]);
+const visible = ref(false);
+const loading = ref(false);
 const data = reactive({
   queryParams: {
     pageSize: 10,
-    pageNum: 1
-  }
-})
-const selections = ref([])
-const { queryParams } = toRefs(data)
+    pageNum: 1,
+  },
+});
+const selections = ref([]);
+const { queryParams } = toRefs(data);
 
 /** 获取行 id */
 function getRowKey(row) {
-  return row.id
+  return row.id;
 }
 
 /**
  * 对话框打开 事件
  */
 function open() {
-  visible.value = true
-  getList()
+  visible.value = true;
+  getList();
 }
 
 /**
  * 对话框关闭 事件
  */
- function close() {
-  proxy.$refs.dialogForm.resetFields()
-  proxy.$refs.dialogTable.clearSelection()
-  visible.value = false
+function close() {
+  proxy.$refs.dialogForm.resetFields();
+  proxy.$refs.dialogTable.clearSelection();
+  visible.value = false;
 }
 
 /**
  * 加载数据
  */
 function getList() {
-  loading.value = true
-  queryParams.value.status = 'NA'
+  loading.value = true;
+  queryParams.value.status = "NA";
   listProcess(queryParams.value).then((res) => {
-    processList.value = res.rows
-    total.value = res.total
-    loading.value = false
-  })
+    processList.value = res.rows;
+    total.value = res.total;
+    loading.value = false;
+  });
 }
 
 /**
  * 列表checkbox列选择 事件
  */
 function handleSelectionChange(selection) {
-  console.log(selection)
-  selections.value = selection
+  console.log(selection);
+  selections.value = selection;
 }
 
 function selectable(row, index) {
   if (selected.value.length > 0) {
-    return !selected.value.some((l) => l.personId === row.id)
+    return !selected.value.some((l) => l.personId === row.id);
   } else {
-    return true
+    return true;
   }
 }
 
 /**  搜索 事件 */
 function handleSearch(type) {
-  if (type && type === 'clear') {
+  if (type && type === "clear") {
     queryParams.value = {
-      processAlias: '',
+      processAlias: "",
       total: 0,
       pageSize: 10,
-      pageNum: 1
-    }
+      pageNum: 1,
+    };
   }
-  getList()
+  getList();
 }
 
 /** 多选事件 */
 function handleMultipleSelected() {
   if (multipleSelected.value) {
-    multipleSelected.value(selections.value)
+    multipleSelected.value(selections.value);
   }
-  close()
+  close();
 }
 
 defineExpose({
-  open
-})
+  open,
+});
 </script>
 <style scoped></style>

+ 215 - 117
src/views/business/deptEquipment/index.vue

@@ -18,8 +18,18 @@
             highlight-current-row
             @current-change="handleWorkSectionChange"
           >
-            <el-table-column label="行号" type="index" width="50" align="center" />
-            <el-table-column label="工段编码" prop="deptCode" width="80" align="center" />
+            <el-table-column
+              label="行号"
+              type="index"
+              width="50"
+              align="center"
+            />
+            <el-table-column
+              label="工段编码"
+              prop="deptCode"
+              width="80"
+              align="center"
+            />
             <el-table-column label="工段名称" prop="label" align="center" />
           </el-table>
         </div>
@@ -33,43 +43,85 @@
         <el-form class="list-search-container" :inline="true">
           <el-form-item class="section-title" label="设备资源" />
           <el-form-item>
-            <el-button type="primary" icon="Plus" @click="handleShowEquipmentFormDialog()">新增</el-button>
+            <el-button
+              type="primary"
+              icon="Plus"
+              @click="handleShowEquipmentFormDialog()"
+              >新增</el-button
+            >
           </el-form-item>
           <el-form-item label="设备名称:">
-          <el-input
-            placeholder="请输入设备名称"
-            v-model.trim="queryParams.equipmentName"
-            @keydown.enter.prevent
-            @keyup.enter="handleRefreshEquipment"
-            clearable
-            style="width: 180px"
-          />
-        </el-form-item>
-        <el-form-item label="设备编码:">
-          <el-input
-            placeholder="请输入设备编码"
-            v-model.trim="queryParams.equipmentCode"
-            @keydown.enter.prevent
-            @keyup.enter="handleRefreshEquipment"
-            clearable
-            style="width: 180px"
-          />
-        </el-form-item>
-        <el-form-item>
-          <el-button type="info" icon="Search" @click="handleRefreshEquipment">搜索</el-button>
-        </el-form-item>
+            <el-input
+              placeholder="请输入设备名称"
+              v-model.trim="queryParams.equipmentName"
+              @keydown.enter.prevent
+              @keyup.enter="handleRefreshEquipment"
+              clearable
+              style="width: 180px"
+            />
+          </el-form-item>
+          <el-form-item label="设备编码:">
+            <el-input
+              placeholder="请输入设备编码"
+              v-model.trim="queryParams.equipmentCode"
+              @keydown.enter.prevent
+              @keyup.enter="handleRefreshEquipment"
+              clearable
+              style="width: 180px"
+            />
+          </el-form-item>
+          <el-form-item>
+            <el-button type="info" icon="Search" @click="handleRefreshEquipment"
+              >搜索</el-button
+            >
+          </el-form-item>
         </el-form>
 
         <!-- 列表区 -->
         <div class="el-table-container">
           <div class="el-table-inner-container">
-            <el-table v-loading="equipmentLoading" :data="equipmentList" height="100%" @selection-change="handleSelectionChange">
-              <el-table-column label="设备类别" prop="categoryName" width="150" align="center" />
-              <el-table-column label="设备名称" prop="equipmentName" width="150" align="center" />
-              <el-table-column label="规格型号" prop="standard" width="150" align="center" />
-              <el-table-column label="设备编码" prop="equipmentCode" width="150" align="center" />
-              <el-table-column label="使用部门" prop="usageDeptAlias" width="150" align="center" />
-              <el-table-column label="备注" prop="remark" header-align="center" align="center" />
+            <el-table
+              v-loading="equipmentLoading"
+              :data="equipmentList"
+              height="100%"
+              @selection-change="handleSelectionChange"
+            >
+              <el-table-column
+                label="设备类别"
+                prop="categoryName"
+                width="150"
+                align="center"
+              />
+              <el-table-column
+                label="设备名称"
+                prop="equipmentName"
+                width="150"
+                align="center"
+              />
+              <el-table-column
+                label="规格型号"
+                prop="standard"
+                width="150"
+                align="center"
+              />
+              <el-table-column
+                label="设备编码"
+                prop="equipmentCode"
+                width="150"
+                align="center"
+              />
+              <el-table-column
+                label="使用部门"
+                prop="usageDeptAlias"
+                width="150"
+                align="center"
+              />
+              <el-table-column
+                label="备注"
+                prop="remark"
+                header-align="center"
+                align="center"
+              />
             </el-table>
           </div>
         </div>
@@ -86,19 +138,50 @@
         <el-form class="list-search-container" :inline="true">
           <el-form-item class="section-title" label="添加工序" />
           <el-form-item>
-            <el-button type="primary" icon="Plus" @click="handleShowProcessFormDialog()">新增</el-button>
-            <el-button type="danger" icon="Delete" @click="handledelDeptProcess" :disabled="deptProcessIds.length === 0"> 删除 </el-button>
+            <el-button
+              type="primary"
+              icon="Plus"
+              @click="handleShowProcessFormDialog()"
+              >新增</el-button
+            >
+            <el-button
+              type="danger"
+              icon="Delete"
+              @click="handledelDeptProcess"
+              :disabled="deptProcessIds.length === 0"
+            >
+              删除
+            </el-button>
           </el-form-item>
         </el-form>
 
         <!-- 列表区 -->
         <div class="el-table-container">
           <div class="el-table-inner-container">
-            <el-table v-loading="deptProcessLoading" :data="deptProcessList" height="100%" @selection-change="deptProcessSelectionChange">
+            <el-table
+              v-loading="deptProcessLoading"
+              :data="deptProcessList"
+              row-key="id"
+              height="100%"
+              @selection-change="deptProcessSelectionChange"
+            >
               <el-table-column type="selection" width="40" align="center" />
-              <el-table-column label="行号" type="index" width="50" align="center" />
-              <el-table-column label="工序编码" prop="processCode" align="center" />
-              <el-table-column label="工序简称" prop="processAlias" align="center" />
+              <el-table-column
+                label="行号"
+                type="index"
+                width="50"
+                align="center"
+              />
+              <el-table-column
+                label="工序编码"
+                prop="processCode"
+                align="center"
+              />
+              <el-table-column
+                label="工序简称"
+                prop="processAlias"
+                align="center"
+              />
             </el-table>
           </div>
         </div>
@@ -111,171 +194,186 @@
         />
       </section>
     </section>
-    <equipment-form ref="equipmentFormRef" :multipleSelected="handleEquipmentMultipleSelected" @handleSaveSuccess="handleRefreshEquipment" />
-    <process-form ref="processFormRef" :multipleSelected="handleProcessMultipleSelected" @handleSaveSuccess="handleRefreshProcess" />
+    <equipment-form
+      ref="equipmentFormRef"
+      :multipleSelected="handleEquipmentMultipleSelected"
+      @handleSaveSuccess="handleRefreshEquipment"
+    />
+    <process-form
+      ref="processFormRef"
+      :multipleSelected="handleProcessMultipleSelected"
+      @handleSaveSuccess="handleRefreshProcess"
+    />
   </div>
 </template>
 
 <script setup>
-import { workSectionTree } from '@/api/system/dept'
-import { detailList, updateBacth } from '@/api/business/equipment'
-import { listDeptProcess, addDeptProcess, delDeptProcess } from '@/api/business/deptProcess'
-import equipmentForm from './form'
-import processForm from './DialogProcessChoice'
-const { proxy } = getCurrentInstance()
+import { workSectionTree } from "@/api/system/dept";
+import { detailList, updateBacth } from "@/api/business/equipment";
+import {
+  listDeptProcess,
+  addDeptProcess,
+  delDeptProcess,
+} from "@/api/business/deptProcess";
+import equipmentForm from "./form";
+import processForm from "./DialogProcessChoice";
+const { proxy } = getCurrentInstance();
 /** 设备档案 查询对象 */
 const data = reactive({
   form: {},
   queryParams: {
     pageNum: 1,
     pageSize: 10,
-    equipmentName:'',
-    equipmentCode: ''
+    equipmentName: "",
+    equipmentCode: "",
   },
   queryDeptProcessParams: {
     pageNum: 1,
-    pageSize: 10
-  }
-})
+    pageSize: 10,
+  },
+});
 
-const { queryParams, queryDeptProcessParams } = toRefs(data)
+const { queryParams, queryDeptProcessParams } = toRefs(data);
 
 /** 查询 对象 */
-const workSectionList = ref([])
-const equipmentList = ref([])
-const deptProcessList = ref([])
-const workSectionLoading = ref(false)
-const equipmentLoading = ref(false)
-const deptProcessLoading = ref(false)
-const equipmentTotal = ref(0)
-const deptProcessTotal = ref(0)
-const single = ref(true)
-const currentWorkSection = ref({})
-const ids = ref([])
-const deptProcessIds = ref([])
+const workSectionList = ref([]);
+const equipmentList = ref([]);
+const deptProcessList = ref([]);
+const workSectionLoading = ref(false);
+const equipmentLoading = ref(false);
+const deptProcessLoading = ref(false);
+const equipmentTotal = ref(0);
+const deptProcessTotal = ref(0);
+const single = ref(true);
+const currentWorkSection = ref({});
+const ids = ref([]);
+const deptProcessIds = ref([]);
 
 /****************************  工段方法区  ****************************/
 
 /** 获取工段列表 */
 function getWorkSections() {
-  workSectionLoading.value = true
+  workSectionLoading.value = true;
   workSectionTree().then((res) => {
-    workSectionList.value = res.data
+    workSectionList.value = res.data;
     if (workSectionList.value.length > 0) {
-      proxy.$refs.workSectionTable.setCurrentRow(workSectionList.value[0])
+      proxy.$refs.workSectionTable.setCurrentRow(workSectionList.value[0]);
     }
-    workSectionLoading.value = false
-  })
+    workSectionLoading.value = false;
+  });
 }
 
 const handleWorkSectionChange = (row) => {
   if (row) {
-    currentWorkSection.value = row
-    queryParams.value.usageDeptId = row.id
+    currentWorkSection.value = row;
+    queryParams.value.usageDeptId = row.id;
 
-    getEquipment()
-    getDeptProcess()
+    getEquipment();
+    getDeptProcess();
   }
-}
+};
 
 /****************************  设备区方法区  ****************************/
 const getEquipment = () => {
-  equipmentLoading.value = true
+  equipmentLoading.value = true;
   detailList(queryParams.value).then((res) => {
-    equipmentList.value = res.rows
-    equipmentLoading.value = false
-    equipmentTotal.value = res.total
-  })
-}
+    equipmentList.value = res.rows;
+    equipmentLoading.value = false;
+    equipmentTotal.value = res.total;
+  });
+};
 
 /** 打开设备对话框事件 */
 function handleShowEquipmentFormDialog() {
-  proxy.$refs.equipmentFormRef.open(currentWorkSection.value)
+  proxy.$refs.equipmentFormRef.open(currentWorkSection.value);
 }
 
 // 设备区多选事件
 function handleSelectionChange(selection) {
-  ids.value = selection.map((item) => item.id)
+  ids.value = selection.map((item) => item.id);
 }
 /**设备多选带回 */
 function handleEquipmentMultipleSelected(selection) {
-  var items = []
+  var items = [];
   selection.map((item) => {
-    item.usageDeptId = currentWorkSection.value.id
-  })
-  items = selection
+    item.usageDeptId = currentWorkSection.value.id;
+  });
+  items = selection;
   updateBacth(items).then((res) => {
-    getEquipment()
-  })
+    getEquipment();
+  });
 }
 
 /** 刷新设备区事件 */
 function handleRefreshEquipment(row) {
-  getEquipment()
+  getEquipment();
 }
 
 /*******************************工序方法区*********************************** */
 
 const getDeptProcess = () => {
-  deptProcessLoading.value = true
-  queryDeptProcessParams.value.deptId = currentWorkSection.value.id
-  console.log(queryDeptProcessParams.value)
+  deptProcessLoading.value = true;
+  queryDeptProcessParams.value.deptId = currentWorkSection.value.id;
+  console.log(queryDeptProcessParams.value);
   listDeptProcess(queryDeptProcessParams.value).then((res) => {
-    deptProcessList.value = res.rows
-    deptProcessLoading.value = false
-    deptProcessTotal.value = res.total
-  })
-}
+    deptProcessList.value = res.rows;
+    deptProcessLoading.value = false;
+    deptProcessTotal.value = res.total;
+  });
+};
 /** 打开工序对话框事件 */
 function handleShowProcessFormDialog() {
-  proxy.$refs.processFormRef.open(currentWorkSection.value)
+  proxy.$refs.processFormRef.open(currentWorkSection.value);
 }
 
 /**工序多选带回 */
 function handleProcessMultipleSelected(selection) {
   for (var i = 0; i < selection.length; i++) {
-    var deptProcessAdd = {}
-    deptProcessAdd.deptId = currentWorkSection.value.id
-    deptProcessAdd.processId = selection[i].id
-    deptProcessAdd.processCode = selection[i].processCode
-    deptProcessAdd.processAlias = selection[i].processAlias
-    deptProcessList.value.push(deptProcessAdd)
+    var deptProcessAdd = {};
+    deptProcessAdd.deptId = currentWorkSection.value.id;
+    deptProcessAdd.processId = selection[i].id;
+    deptProcessAdd.processCode = selection[i].processCode;
+    deptProcessAdd.processAlias = selection[i].processAlias;
+    deptProcessList.value.push(deptProcessAdd);
   }
   addDeptProcess(deptProcessList.value).then((res) => {
     if (res.code == 200) {
-      proxy.$modal.msgSuccess('保存成功')
+      proxy.$modal.msgSuccess("保存成功");
+      handleWorkSectionChange(currentWorkSection.value);
     }
-  })
+  });
 }
 
 /** 刷新工序区事件 */
 function handleRefreshProcess(row) {
-  getDeptProcess()
+  getDeptProcess();
 }
 
 //工段工序多选框选中数据
 function deptProcessSelectionChange(selection) {
-  deptProcessIds.value = selection.map((item) => item.id)
-  single.value = selection.length != 1
+  console.log(selection);
+  deptProcessIds.value = selection.map((item) => item.id);
+  single.value = selection.length != 1;
 }
 
 /**删除工序工段表数据 */
 function handledelDeptProcess() {
+  console.log(deptProcessIds.value);
   proxy.$modal
-    .confirm('是否确认删除选中的数据项?')
+    .confirm("是否确认删除选中的数据项?")
     .then(function () {
-      return delDeptProcess(deptProcessIds.value)
+      return delDeptProcess(deptProcessIds.value);
     })
     .then(() => {
-      getDeptProcess()
-      proxy.$modal.msgSuccess('删除成功!')
+      getDeptProcess();
+      proxy.$modal.msgSuccess("删除成功!");
     })
     .catch((e) => {
-      proxy.$modal.msg('操作失败!')
-    })
+      proxy.$modal.msg("操作失败!");
+    });
 }
 
 onMounted(() => {
-  getWorkSections()
-})
+  getWorkSections();
+});
 </script>

+ 181 - 70
src/views/business/product/form.vue

@@ -1,64 +1,145 @@
 <template>
-  <el-dialog title="产品信息" height="400px" v-model="visible" width="750px" append-to-body draggable>
+  <el-dialog
+    title="产品信息"
+    height="400px"
+    v-model="visible"
+    width="750px"
+    append-to-body
+    draggable
+  >
     <div class="form-container">
       <!-- 主表 -->
-      <el-form ref="productRef" class="master-container" :model="form" :rules="rules" label-width="120px">
+      <el-form
+        ref="productRef"
+        class="master-container"
+        :model="form"
+        :rules="rules"
+        label-width="120px"
+      >
         <el-row :gutter="24">
           <el-col :span="12">
             <el-form-item label="客户集团简称" prop="companyAlias">
-              <el-input v-model.trim="form.companyAlias" placeholder="客户集团简称" />
+              <el-input
+                v-model.trim="form.companyAlias"
+                placeholder="客户集团简称"
+              />
             </el-form-item>
             <el-form-item label="类别" prop="type">
               <el-select v-model="form.type" placeholder="请选择类别">
-                <el-option v-for="dict in product_type" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
+                <el-option
+                  v-for="dict in product_type"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="dict.value"
+                ></el-option>
               </el-select>
             </el-form-item>
             <el-form-item label="轴类型大类" prop="shaftBroadCategoryCode">
-              <el-select v-model="form.shaftBroadCategoryCode" placeholder="请选择轴类型大类" clearable>
-                <el-option v-for="dict in product_dtype" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
+              <el-select
+                v-model="form.shaftBroadCategoryCode"
+                placeholder="请选择轴类型大类"
+                clearable
+              >
+                <el-option
+                  v-for="dict in product_dtype"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="dict.value"
+                ></el-option>
               </el-select>
             </el-form-item>
             <el-form-item label="料号" prop="productCode">
-              <el-input v-model.trim="form.productCode" placeholder="请输入料号" />
+              <el-input
+                v-model.trim="form.productCode"
+                placeholder="请输入料号"
+              />
             </el-form-item>
             <el-form-item label="规格" prop="specification">
-              <el-input v-model.trim="form.specification" placeholder="请输入规格,不允许出现下划线_" />
+              <el-input
+                v-model.trim="form.specification"
+                placeholder="请输入规格,不允许出现下划线_"
+              />
             </el-form-item>
             <el-form-item label="成品长度" prop="lenght">
-              <el-input-number v-model="form.lenght" :min="1" controls-position="right" />
+              <el-input-number
+                v-model="form.lenght"
+                :min="1"
+                controls-position="right"
+              />
             </el-form-item>
             <el-form-item label="厚度" prop="thickness">
-              <el-input-number v-model="form.thickness" :min="1" controls-position="right" />
+              <el-input-number
+                v-model="form.thickness"
+                :min="1"
+                controls-position="right"
+              />
             </el-form-item>
             <el-form-item label="产品状态" prop="productStatusCode">
-                <el-select v-model="form.productStatusCode" placeholder="请选择产品状态" clearable>
-                  <el-option v-for="dict in product_status_code" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
-                </el-select>
+              <el-select
+                v-model="form.productStatusCode"
+                placeholder="请选择产品状态"
+                clearable
+              >
+                <el-option
+                  v-for="dict in product_status_code"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="dict.value"
+                ></el-option>
+              </el-select>
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="客户代号" prop="companyCode">
-              <el-input v-model.trim="form.companyCode" placeholder="请输入客户代号" />
+              <el-input
+                v-model.trim="form.companyCode"
+                placeholder="请输入客户代号"
+              />
             </el-form-item>
             <el-form-item label="轴类型" prop="shaftCategoryCode">
-              <el-input v-model.trim="form.shaftCategoryCode" placeholder="请输入轴类型" />
+              <el-input
+                v-model.trim="form.shaftCategoryCode"
+                placeholder="请输入轴类型"
+              />
             </el-form-item>
             <el-form-item label="生产类型" prop="productionTypeCode">
-              <el-select v-model="form.productionTypeCode" placeholder="请选择生产类型" clearable>
-                <el-option v-for="dict in production_type_code" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
+              <el-select
+                v-model="form.productionTypeCode"
+                placeholder="请选择生产类型"
+                clearable
+              >
+                <el-option
+                  v-for="dict in production_type_code"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="dict.value"
+                ></el-option>
               </el-select>
             </el-form-item>
             <el-form-item label="图号" prop="drawingNumber">
-              <el-input v-model.trim="form.drawingNumber" placeholder="请输入图号,不允许出现下划线_" />
+              <el-input
+                v-model.trim="form.drawingNumber"
+                placeholder="请输入图号,不允许出现下划线_"
+              />
             </el-form-item>
             <el-form-item label="产品描述" prop="description">
-              <el-input v-model.trim="form.description" placeholder="客户简称_图号_规格" />
+              <el-input
+                v-model.trim="form.description"
+                placeholder="客户简称_图号_规格"
+              />
             </el-form-item>
             <el-form-item label="直径" prop="diameter">
-              <el-input-number v-model="form.diameter" :min="1" controls-position="right" />
+              <el-input-number
+                v-model="form.diameter"
+                :min="1"
+                controls-position="right"
+              />
             </el-form-item>
             <el-form-item label="预入仓库" prop="preStock">
-              <el-input v-model.trim="form.preStock" placeholder="请输入预入仓库" />
+              <el-input
+                v-model.trim="form.preStock"
+                placeholder="请输入预入仓库"
+              />
             </el-form-item>
             <el-form-item label="备注" prop="remark">
               <el-input v-model.trim="form.remark" placeholder="请输入备注" />
@@ -68,66 +149,96 @@
       </el-form>
     </div>
     <template #footer>
-      <el-button type="primary" icon="Check" @click="handleSave">确 定</el-button>
+      <el-button type="primary" icon="Check" @click="handleSave"
+        >确 定</el-button
+      >
       <el-button icon="Close" @click="handleCancel">取 消</el-button>
     </template>
   </el-dialog>
 </template>
 <script setup>
-import { getProduct, saveProduct } from '@/api/business/product'
-const { proxy } = getCurrentInstance()
+import { getProduct, saveProduct } from "@/api/business/product";
+const { proxy } = getCurrentInstance();
 
-const emit = defineEmits(['handleSaveSuccess'])
+const emit = defineEmits(["handleSaveSuccess"]);
 
 /** 字典数组区 */
-const { product_type } = proxy.useDict('product_type')
-const { product_dtype } = proxy.useDict('product_dtype')
-const { product_status_code } = proxy.useDict('product_status_code')
-const { production_type_code } = proxy.useDict('production_type_code')
+const { product_type } = proxy.useDict("product_type");
+const { product_dtype } = proxy.useDict("product_dtype");
+const { product_status_code } = proxy.useDict("product_status_code");
+const { production_type_code } = proxy.useDict("production_type_code");
 
-const loading = ref(false)
-const visible = ref(false)
+const loading = ref(false);
+const visible = ref(false);
 const data = reactive({
   form: {},
   rules: {
-    companyAlias: [{ required: true, message: '客户集团简称不能为空', trigger: 'blur' }],
-    type: [{ required: true, message: '类别不能为空', trigger: 'blur' }],
-    shaftBroadCategoryCode: [{ required: true, message: '轴类型大类不能为空', trigger: 'change' }],
-    productCode: [{ required: true, message: '料号不能为空', trigger: 'blur' }],
-    specification: [{ required: true, message: '规格不能为空', trigger: 'blur' }],
-    specification: [{ required: true, message: '规格,不允许出现下划线_不能为空', trigger: 'blur' }],
-    lenght: [{ required: true, message: '成品长度不能为空', trigger: 'blur' }],
-    thickness: [{ required: true, message: '厚度不能为空', trigger: 'blur' }],
-    productStatusCode: [{ required: true, message: '产品状态不能为空', trigger: 'blur' }],
-    companyCode: [{ required: true, message: '客户代号不能为空', trigger: 'blur' }],
-    shaftCategoryCode: [{ required: true, message: '轴类型不能为空', trigger: 'blur' }],
-    productionTypeCode: [{ required: true, message: '生产类型不能为空', trigger: 'blur' }],
-    drawingNumber: [{ required: true, message: '图号,不允许出现下划线_不能为空', trigger: 'blur' }],
-    description: [{ required: true, message: '产品描述', trigger: 'blur' }],
-    diameter: [{ required: true, message: '直径不能为空', trigger: 'blur' }],
-    preStock: [{ required: true, message: '预入仓库不能为空', trigger: 'blur' }]
-  }
-})
-const { form, rules } = toRefs(data)
+    companyAlias: [
+      { required: true, message: "客户集团简称不能为空", trigger: "blur" },
+    ],
+    type: [{ required: true, message: "类别不能为空", trigger: "change" }],
+    shaftBroadCategoryCode: [
+      { required: true, message: "轴类型大类不能为空", trigger: "change" },
+    ],
+    productCode: [{ required: true, message: "料号不能为空", trigger: "blur" }],
+    specification: [
+      { required: true, message: "规格不能为空", trigger: "blur" },
+    ],
+    specification: [
+      {
+        required: true,
+        message: "规格,不允许出现下划线_不能为空",
+        trigger: "blur",
+      },
+    ],
+    lenght: [{ required: true, message: "成品长度不能为空", trigger: "blur" }],
+    thickness: [{ required: true, message: "厚度不能为空", trigger: "blur" }],
+    productStatusCode: [
+      { required: true, message: "产品状态不能为空", trigger: "change" },
+    ],
+    companyCode: [
+      { required: true, message: "客户代号不能为空", trigger: "blur" },
+    ],
+    shaftCategoryCode: [
+      { required: true, message: "轴类型不能为空", trigger: "blur" },
+    ],
+    productionTypeCode: [
+      { required: true, message: "生产类型不能为空", trigger: "change" },
+    ],
+    drawingNumber: [
+      {
+        required: true,
+        message: "图号,不允许出现下划线_不能为空",
+        trigger: "blur",
+      },
+    ],
+    description: [{ required: true, message: "产品描述", trigger: "blur" }],
+    diameter: [{ required: true, message: "直径不能为空", trigger: "blur" }],
+    preStock: [
+      { required: true, message: "预入仓库不能为空", trigger: "blur" },
+    ],
+  },
+});
+const { form, rules } = toRefs(data);
 
 /***********************  方法区  ****************************/
 /** 打开抽屉 */
 function open(id) {
-  reset()
-  visible.value = true
-  loading.value = true
+  reset();
+  visible.value = true;
+  loading.value = true;
   getProduct(id || 0).then((res) => {
     if (res.data) {
-      form.value = res.data
+      form.value = res.data;
     }
-    loading.value = false
-  })
+    loading.value = false;
+  });
 }
 
 /** 取消按钮 */
 function handleCancel() {
-  visible.value = false
-  reset()
+  visible.value = false;
+  reset();
 }
 
 /** 表单重置 */
@@ -164,30 +275,30 @@ function reset() {
     productionTypeId: null,
     productionTypeCode: null,
     technicianId: null,
-    technicianCode: null
-  }
-  proxy.resetForm('productRef')
+    technicianCode: null,
+  };
+  proxy.resetForm("productRef");
 }
 
 /** 提交按钮 */
 function handleSave() {
-  proxy.$refs['productRef'].validate((valid) => {
+  proxy.$refs["productRef"].validate((valid) => {
     if (valid) {
       saveProduct(form.value).then((res) => {
         if (res.code === 200) {
-          proxy.$modal.msgSuccess('操作成功')
-          emit('handleSaveSuccess')
+          proxy.$modal.msgSuccess("操作成功");
+          emit("handleSaveSuccess");
         } else {
-          proxy.$modal.msgWarn(res.msg)
+          proxy.$modal.msgWarn(res.msg);
         }
-        visible.value = false
-      })
+        visible.value = false;
+      });
     }
-  })
+  });
 }
 
 /** 暴露给父组件的方法 */
 defineExpose({
-  open
-})
+  open,
+});
 </script>

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 531 - 194
src/views/business/product/index.vue


+ 13 - 2
src/views/business/resourceAllocation/form.vue

@@ -13,9 +13,20 @@
             @keyup.enter="handleSearch"
           />
         </el-form-item>
+        <el-form-item label="设备编码:" prop="equipmentCode" label-width="100px" >
+          <el-input
+            v-model.trim="queryParams.equipmentCode"
+            type="text"
+            @keydown.enter.prevent
+            style="width: 180px"
+            placeholder="请输入设备编码"
+            :clearable="true"
+            @keyup.enter="handleSearch"
+          />
+        </el-form-item>
         <el-form-item label-width="20px">
           <el-button type="info" icon="Search"  @click="handleSearch">搜索</el-button>
-          <el-button type="primary" icon="Delete"  plain @click="handleSearch('clear')">清空</el-button>
+          <!-- <el-button type="primary" icon="Delete"  plain @click="handleSearch('clear')">清空</el-button> -->
         </el-form-item>
       </div>
     </el-form>
@@ -27,7 +38,7 @@
       size="small"
       v-loading="loading"
       border
-      height="100%"
+      height="400px"
       header-row-class-name="list-header-row"
       row-class-name="list-row"
       @selection-change="handleSelectionChange"

+ 132 - 48
src/views/business/turnover/index.vue

@@ -3,8 +3,31 @@
     <!-- 左侧区域 -->
     <section class="list-part-container">
       <!-- 搜索区域 -->
-      <el-form class="list-search-container" :inline="true">
+      <el-form class="list-search-container" style="display: flex">
         <el-form-item class="section-title" label="工段列表" />
+        <el-form-item label="工段编码:" prop="deptCode">
+          <el-input
+            v-model.trim="queryParams.deptCode"
+            placeholder="请输入工段编码"
+            clearable
+            style="width: 155px"
+            @keyup.enter="handleQueryUser"
+          />
+        </el-form-item>
+        <el-form-item label="工段名称:" prop="deptName">
+          <el-input
+            v-model.trim="queryParams.deptName"
+            placeholder="请输入工段名称"
+            clearable
+            style="width: 155px"
+            @keyup.enter="handleQueryUser"
+          />
+        </el-form-item>
+        <el-form-item>
+          <el-button type="info" icon="Search" @click="handleQueryUser"
+            >搜索</el-button
+          >
+        </el-form-item>
       </el-form>
       <!-- 列表区 -->
       <div class="el-table-container">
@@ -18,8 +41,18 @@
             highlight-current-row
             @current-change="handleWorkSectionChange"
           >
-            <el-table-column label="行号" type="index" width="50" align="center" />
-            <el-table-column label="工段编码" prop="deptCode" width="80" align="center" />
+            <el-table-column
+              label="行号"
+              type="index"
+              width="50"
+              align="center"
+            />
+            <el-table-column
+              label="工段编码"
+              prop="deptCode"
+              width="80"
+              align="center"
+            />
             <el-table-column label="工段名称" prop="label" align="center" />
           </el-table>
         </div>
@@ -32,20 +65,49 @@
       <el-form class="list-search-container" :inline="true">
         <el-form-item class="section-title" label="周转位置" />
         <el-form-item>
-          <el-button type="primary" icon="Plus" @click="handleShowTurnoverFormDialog(null)" v-hasPermi="['system:turnover:add']">新增</el-button>
+          <el-button
+            type="primary"
+            icon="Plus"
+            @click="handleShowTurnoverFormDialog(null)"
+            v-hasPermi="['system:turnover:add']"
+            >新增</el-button
+          >
         </el-form-item>
       </el-form>
 
       <!-- 列表区 -->
       <div class="el-table-container">
         <div class="el-table-inner-container">
-          <el-table v-loading="turnoverLoading" :data="turnoverList" height="100%" @selection-change="handleSelectionChange">
-            <el-table-column type="selection" width="40" align="center" />
-            <el-table-column label="行号" type="index" width="50" align="center" />
-            <el-table-column label="周转区名称" prop="code" width="100" align="center" />
-            <el-table-column label="状态" width="70" prop="status" align="center">
+          <el-table
+            v-loading="turnoverLoading"
+            :data="turnoverList"
+            height="100%"
+            @selection-change="handleSelectionChange"
+          >
+            <!-- <el-table-column type="selection" width="40" align="center" /> -->
+            <el-table-column
+              label="行号"
+              type="index"
+              width="50"
+              align="center"
+            />
+            <el-table-column
+              label="周转区名称"
+              prop="code"
+              width="100"
+              align="center"
+            />
+            <el-table-column
+              label="状态"
+              width="70"
+              prop="status"
+              align="center"
+            >
               <template #default="scope">
-                <dict-tag :options="turnover_status" :value="scope.row.status" />
+                <dict-tag
+                  :options="turnover_status"
+                  :value="scope.row.status"
+                />
               </template>
             </el-table-column>
             <el-table-column label="备注" prop="remark" align="center" />
@@ -60,7 +122,13 @@
                 >
                   编辑
                 </el-button>
-                <el-button link type="danger" icon="Delete" @click="handleDeleteTurnover(scope.row)" v-hasPermi="['business:turnover:remove']">
+                <el-button
+                  link
+                  type="danger"
+                  icon="Delete"
+                  @click="handleDeleteTurnover(scope.row)"
+                  v-hasPermi="['business:turnover:remove']"
+                >
                   删除
                 </el-button>
               </template>
@@ -69,84 +137,100 @@
         </div>
       </div>
     </section>
-    <turnover-form ref="turnoverFormRef" @handleSaveSuccess="handleRefreshTurnover" />
+    <turnover-form
+      ref="turnoverFormRef"
+      @handleSaveSuccess="handleRefreshTurnover"
+    />
   </div>
 </template>
 
 <script setup>
-import { workSectionTree } from '@/api/system/dept'
-import { listTurnover, delTurnover } from '@/api/business/turnover'
-import turnoverForm from './form'
-const { proxy } = getCurrentInstance()
-const { turnover_status } = proxy.useDict('turnover_status')
+import { workSectionTree } from "@/api/system/dept";
+import { listTurnover, delTurnover } from "@/api/business/turnover";
+import turnoverForm from "./form";
+import { get } from "@vueuse/core";
+const { proxy } = getCurrentInstance();
+const { turnover_status } = proxy.useDict("turnover_status");
 
 /** 查询 对象 */
-const workSectionList = ref([])
-const turnoverList = ref([])
-const workSectionLoading = ref(false)
-const turnoverLoading = ref(false)
-const currentWorkSection = ref({})
-const ids = ref([])
+const workSectionList = ref([]);
+const turnoverList = ref([]);
+const workSectionLoading = ref(false);
+const turnoverLoading = ref(false);
+const currentWorkSection = ref({});
+const ids = ref([]);
+/** 查询对象 */
+const queryParams = ref({
+  deptCode: "",
+  deptName: "",
+});
 
 /****************************  工段方法区  ****************************/
 
 /** 获取工段列表 */
 function getWorkSections() {
-  workSectionLoading.value = true
-  workSectionTree().then((res) => {
-    workSectionList.value = res.data
+  workSectionLoading.value = true;
+  workSectionTree(queryParams.value).then((res) => {
+    workSectionList.value = res.data;
     if (workSectionList.value.length > 0) {
-      proxy.$refs.workSectionTable.setCurrentRow(workSectionList.value[0])
+      proxy.$refs.workSectionTable.setCurrentRow(workSectionList.value[0]);
     }
-    workSectionLoading.value = false
-  })
+    workSectionLoading.value = false;
+  });
 }
 
 const handleWorkSectionChange = (row) => {
   if (row) {
-    currentWorkSection.value = row
-    getTurnovers()
+    currentWorkSection.value = row;
+    getTurnovers();
   }
+};
+function handleQueryUser() {
+  console.log(queryParams.value);
+  getWorkSections();
 }
 
 /****************************  周转区方法区  ****************************/
 const getTurnovers = () => {
-  turnoverLoading.value = true
-  listTurnover({ deptId: currentWorkSection.value.id ?? '0' }).then((res) => {
-    turnoverList.value = res.data
-    turnoverLoading.value = false
-  })
-}
+  turnoverLoading.value = true;
+  listTurnover({ deptId: currentWorkSection.value.id ?? "0" }).then((res) => {
+    turnoverList.value = res.data;
+    turnoverLoading.value = false;
+  });
+};
 // 周转区多选事件
 function handleSelectionChange(selection) {
-  ids.value = selection.map((item) => item.id)
+  ids.value = selection.map((item) => item.id);
 }
 
 /** 打开周转区对话框事件 */
 const handleShowTurnoverFormDialog = (id) => {
-  proxy.$refs.turnoverFormRef.open({ deptId: currentWorkSection.value.id, id: id })
-}
+  proxy.$refs.turnoverFormRef.open({
+    deptId: currentWorkSection.value.id,
+    id: id,
+  });
+};
 
 /** 刷新周转区事件 */
 function handleRefreshTurnover(row) {
-  getTurnovers()
+  getTurnovers();
 }
 
 /** 删除周转区事件 */
 function handleDeleteTurnover(row) {
   proxy.$modal
-    .confirm('确定删除选中项?')
+    .confirm("确定删除选中项?")
     .then(() => {
-      return delTurnover(row.id)
+      return delTurnover(row.id);
     })
     .then(() => {
-      getTurnovers()
-      proxy.$modal.msgSuccess('删除成功!')
+      getTurnovers();
+      proxy.$modal.msgSuccess("删除成功!");
     })
-    .catch(() => {})
+    .catch(() => {});
 }
 
 onMounted(() => {
-  getWorkSections()
-})
+  getWorkSections();
+});
 </script>

Vissa filer visades inte eftersom för många filer har ändrats