guoyujia 11 kuukautta sitten
vanhempi
commit
f7414b0f10

+ 14 - 1
src/api/system/user.js

@@ -16,7 +16,13 @@ export function listTenantUser(query) {
     params: query
   })
 }
-
+//export function listInnerUserByDeptId(query) {
+//  return request({
+//    url: baseUrl + '/system/user/listInnerUserByDeptId',
+//    method: 'get',
+//    params: query
+//  })
+//}
 export function listByLikeNickNameOrUserName(query) {
   return request({
     url: baseUrl + '/system/user/listByLikeNickNameOrUserName',
@@ -24,6 +30,13 @@ export function listByLikeNickNameOrUserName(query) {
     params: query
   })
 }
+export function getUserList(query) {
+  return request({
+    url: baseUrl + '/system/user/getUserList',
+    method: 'get',
+    params: query
+  })
+}
 
 export function listByLikeUserName(query) {
   return request({

+ 16 - 1
src/views/business/dayworkUpdate/form.vue

@@ -50,7 +50,10 @@
           <el-col :span="9">
             <el-form-item label="操作者:" prop="nickName" label-width="82px">
               <el-input v-model.trim="form.nickName" placeholder="请输入操作者" :disabled="true" :clearable="true"
-                style="width: 220px; margin-left: 8px" />
+                style="width: 220px; margin-left: 8px" >
+                <template #append>
+              <el-button icon="Search" @click="handleSelectUserSingle" />
+            </template></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="8">
@@ -121,6 +124,8 @@
           </el-table-column>
         </el-table>
       </div>
+      <!-- 搜索人员弹窗 -->
+      <dialog-person ref="dialogPersonRef" :single-selected="handleGetUser" />
     </div>
   </el-drawer>
 </template>
@@ -133,6 +138,7 @@ import {
   getIsFirstOrder,
 } from "@/api/business/daywork.js";
 import { ref } from "vue";
+import dialogPerson from "./person.vue"
 
 const { proxy } = getCurrentInstance();
 const emit = defineEmits(["handleSaveSuccess"]);
@@ -337,6 +343,15 @@ const open = (row) => {
     visible.value = true;
   }
 };
+//操作者人员带回
+function handleGetUser(selection) {
+ form.value.nickName = selection.nickName;
+ form.value.userId = selection.userId;
+ form.value.userName = selection.userName;
+}
+function handleSelectUserSingle(){
+  proxy.$refs.dialogPersonRef.open()
+}
 /**
  * 对话框关闭 事件
  */

+ 129 - 0
src/views/business/dayworkUpdate/person.vue

@@ -0,0 +1,129 @@
+<template>
+  <el-dialog title="员工选择" v-model="visible" :width="width" @close="close" append-to-body draggable>
+    <el-form ref="dialogForm" class="list-search-container" :inline="true" :model="queryParams" >
+      <el-form-item label="员工编码:" prop="userName">
+        <el-input v-model.trim="queryParams.userName" type="text" placeholder="请输入员工编码" @keydown.enter.prevent @keyup.enter="handleSearch" style="width: 180px" clearable />
+      </el-form-item>
+      <el-form-item label="员工姓名:" prop="nickName">
+        <el-input v-model.trim="queryParams.nickName" type="text" placeholder="请输入员工姓名" @keydown.enter.prevent @keyup.enter="handleSearch" style="width: 180px" clearable />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="info" icon="Search" @click="handleSearch">搜索</el-button>
+      </el-form-item>
+    </el-form>
+    <el-table ref="dialogTable" :data="list" :row-key="getRowKey" v-loading="personLoading" height="440px"  align="center">
+      <el-table-column v-if="multiple" type="selection" width="40" align="center"  />
+      <el-table-column type="index" label="行号" width="50" align="center" />
+      <el-table-column label="员工编码" prop="userName" width="100" align="center" />
+      <el-table-column label="员工姓名" prop="nickName" width="100" align="center" />
+      <el-table-column label="手机号码" prop="phoneNumber" width="150" align="center" />
+      <el-table-column label="性别" prop="sex" width="60" align="center" />
+      <el-table-column label="使用单位" prop="usageCompanyName" width="220" align="center" />
+      <el-table-column label="备注" prop="remark" align="center" />
+      <el-table-column v-if="!multiple" label="操作" width="50" align="center">
+        <template #default="scope">
+          <el-button type="success" icon="finished" circle @click="handleSingleSelected(scope.row)" />
+        </template>
+      </el-table-column>
+    </el-table>
+    <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 v-if="multiple" type="primary" :disabled="selections.length === 0" icon="Check" @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 { getUserList } from '@/api/system/user'
+
+
+const { proxy } = getCurrentInstance()
+const total = ref(0)
+const props = defineProps({
+  width: {
+    type: String,
+    default: '1000px'
+  },
+  multiple: {
+    type: Boolean,
+    default: false
+  },
+  singleSelected: {
+    type: Function,
+    default: null
+  }
+})
+const { singleSelected } = toRefs(props)
+const list = ref([])
+const personLoading = ref(false)
+const visible = ref(false)
+const data = reactive({
+  queryParams: {
+    nickName: '',
+    userName: '',
+    pageSize: 10,
+    pageNum: 1
+  }
+})
+const { queryParams } = toRefs(data)
+/**
+ * 对话框打开 事件
+ */
+function open() {
+  visible.value = true
+  getList()
+}
+/** 获取行 id */
+function getRowKey(row) {
+  return row.userId
+}
+
+/**
+ * 对话框关闭 事件
+ */
+function close() {
+  proxy.$refs.dialogForm.resetFields()
+  proxy.$refs.dialogTable.clearSelection()
+  queryParams.value.pageNum = 1
+  visible.value = false
+}
+
+/**
+ * 加载数据
+ */
+function getList() {
+  personLoading.value = true
+  getUserList(queryParams.value).then(res =>{
+    if(res.code == 200) {
+      list.value = res.rows
+      total.value = res.total
+    }
+  })
+  personLoading.value = false
+}
+
+
+/**  搜索 事件 */
+function handleSearch() {
+  queryParams.value.pageNum = 1
+  getList()
+
+}
+
+/** 单选事件 */
+function handleSingleSelected(row) {
+  if (singleSelected.value) {
+    singleSelected.value(row)
+  }
+  close()
+}
+
+defineExpose({
+  open
+})
+</script>

+ 19 - 3
src/views/business/dayworkUpdate/sortForm.vue

@@ -50,7 +50,11 @@
           <el-col :span="9">
             <el-form-item label="操作者:" prop="nickName" label-width="82px">
               <el-input v-model.trim="form.nickName" placeholder="请输入操作者" :disabled="true" :clearable="true"
-                style="width: 220px; margin-left: 8px" />
+                style="width: 220px; margin-left: 8px" >
+                <template #append>
+              <el-button icon="Search" @click="handleSelectUserSingle" />
+            </template>
+              </el-input>
             </el-form-item>
           </el-col>
           <el-col :span="8">
@@ -138,6 +142,8 @@
           </el-table-column>
         </el-table>
       </div>
+      <!-- 搜索人员弹窗 -->
+      <dialog-person ref="dialogPersonRef" :single-selected="handleGetUser" />
     </div>
   </el-drawer>
 </template>
@@ -145,7 +151,7 @@
 import {
   getProcessList,
   getDayworkItemRejectList,
-  updateDayworkItemInfo,
+  updateDayworkItemInfoForNum,
   getEquipmentInfo,
   getIsFirstOrder,
 } from "@/api/business/daywork.js";
@@ -153,6 +159,7 @@ import { listInspectionInstruction } from "@/api/business/productInspectionInstr
 import { ref } from "vue";
 
 const { proxy } = getCurrentInstance();
+import dialogPerson from "./person.vue"
 const emit = defineEmits(["handleSaveSuccess"]);
 /** 字典 */
 const { daywork_status_edit } = proxy.useDict("daywork_status_edit");
@@ -363,6 +370,15 @@ function close() {
   reset();
   visible.value = false;
 }
+//操作者人员带回
+function handleGetUser(selection) {
+ form.value.nickName = selection.nickName;
+ form.value.userId = selection.userId;
+ form.value.userName = selection.userName;
+}
+function handleSelectUserSingle(){
+  proxy.$refs.dialogPersonRef.open()
+}
 
 /** 表单重置 */
 function reset() {
@@ -523,7 +539,7 @@ const handleSave = () => {
 
 //页面提交方法
 function updateDayworkItem() {
-  updateDayworkItemInfo(form.value).then((res) => {
+  updateDayworkItemInfoForNum(form.value).then((res) => {
     if (res.code == 200) {
       proxy.$modal.msgSuccess("保存成功!");
       visible.value = false;