From 18fcb8ad28f583e3e1b99b23e4f7d9e1833dcd83 Mon Sep 17 00:00:00 2001 From: pengwei <2071057782@qq.com> Date: 星期三, 12 三月 2025 14:16:30 +0800 Subject: [PATCH] 最新提交 --- 项目代码/client/src/views/tts/BasicInformation/Basicinformation.vue | 508 ++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 381 insertions(+), 127 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/client/src/views/tts/BasicInformation/Basicinformation.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/client/src/views/tts/BasicInformation/Basicinformation.vue" index e02c1bb..a8e442c 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/client/src/views/tts/BasicInformation/Basicinformation.vue" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/client/src/views/tts/BasicInformation/Basicinformation.vue" @@ -12,7 +12,7 @@ :class="['item', isactive == 2 ? 'isactive' : '']" @click="changeactive(2)" > - 淇℃伅鍒嗙被 + 宸ュ叿鍒楄〃 </div> </div> <div class="serch"> @@ -39,14 +39,14 @@ size="small" /> </div> - <div class="serch_box"> + <!-- <div class="serch_box"> <div class="serchb">鍏ㄥ眬鎼滅储</div> <input v-model="queryForm.selectName" placeholder="璇疯緭鍏ュ叧閿瘝鎼滅储" style="border-left: 0.06rem solid #e2e2e2" /> - </div> + </div> --> <el-button type="primary" size="small" @@ -62,7 +62,7 @@ v-if="isactive == 1" type="primary" size="small" - @click="dialogVisible = true" + @click="Useradd" style=" width: 5.5rem; height: 2rem; @@ -73,12 +73,12 @@ ><el-icon style="margin-right: 0.2rem"><Plus /></el-icon >鏂板缓</el-button > - <!-- 鐢ㄦ埛瑙掕壊鏂板缓 --> + <!-- 宸ュ叿鍒楄〃鏂板缓 --> <el-button v-if="isactive == 2" type="primary" size="small" - @click="dialogVisible1 = true" + @click="addTool" style=" width: 5.5rem; height: 2rem; @@ -100,6 +100,7 @@ >鎵归噺瀵煎嚭</el-button > <el-button + @click="deleteAll" size="small" style="width: 5.5rem; height: 2rem; font-size: 0.88rem" >鎵归噺鍒犻櫎</el-button @@ -124,24 +125,27 @@ fontSize: '0.88rem', height: '3rem', }" + @select="InfoSelectionChange" > <el-table-column type="selection" align="center" /> - <el-table-column prop="address" label="淇℃伅鍚嶇О" align="center" /> - <el-table-column prop="name" label="瑙勬牸鍨嬪彿" align="center" /> - <el-table-column prop="address" label="鍗曚綅" align="center" /> - <el-table-column prop="address" label="鎵�灞炲垎绫�" align="center" /> - <el-table-column prop="address" label="鍒涘缓鏃ユ湡" align="center" /> - <el-table-column prop="address" label="鎿嶄綔" align="center"> - <template #default=""> - <el-button size="small" type="text" @click="Edit">缂栬緫</el-button> + <el-table-column prop="articleName" label="淇℃伅鍚嶇О" align="center" /> + <el-table-column prop="articleType" label="瑙勬牸鍨嬪彿" align="center" /> + <el-table-column prop="articleUnit" label="鍗曚綅" align="center" /> + <el-table-column prop="category" label="鎵�灞炲垎绫�" align="center" /> + <el-table-column prop="createDate" label="鍒涘缓鏃ユ湡" align="center" /> + <el-table-column label="鎿嶄綔" align="center"> + <template #default="scope"> + <el-button size="small" type="text" @click="Useredit(scope.row)" + >缂栬緫</el-button + > </template> </el-table-column> </el-table> - <!-- 淇℃伅鍒嗙被 --> + <!-- 宸ュ叿鍒楄〃 --> <el-table v-if="isactive == 2" - :data="tableData" + :data="toolList" style="width: 100%" :header-cell-style="{ background: 'rgba(250,250,250,1)', @@ -155,16 +159,24 @@ fontSize: '0.88rem', height: '3rem', }" + @select="ToolSelectionChange" > <el-table-column type="selection" align="center" /> - <el-table-column prop="address" label="鍒嗙被鍚嶇О" align="center" /> - <el-table-column prop="address" label="澶囨敞" align="center" /> - <el-table-column prop="address" label="鍒涘缓鏃ユ湡" align="center" /> + <el-table-column prop="toolName" label="宸ュ叿鍚嶇О" align="center" /> + <el-table-column + prop="specification" + label="瑙勬牸鍨嬪彿" + align="center" + /> + <el-table-column prop="toolUnit" label="鍗曚綅" align="center" /> + <el-table-column prop="" label="鎵�灞炲垎绫�" align="center" /> + <el-table-column prop="toolremark" label="澶囨敞" align="center" /> + <el-table-column prop="createtime" label="鍒涘缓鏃ユ湡" align="center" /> <el-table-column prop="address" label="鎿嶄綔" align="center"> - <template #default=""> + <template #default="scope"> <span style="color: blue; font-size: 0.88rem; cursor: pointer" - @click="Findtorque" + @click="editTool(scope.row)" >缂栬緫</span > </template></el-table-column @@ -184,7 +196,11 @@ size="small" background layout="prev, pager, next" - :total="1" + :current-page="pageQuery.page" + :page-size="pageQuery.rows" + :total="pageTotal" + @size-change="handleSizeChange" + @current-change="handleCurrentChange" /> </div> </div> @@ -212,7 +228,7 @@ > </div> </template> - <el-form :model="form" label-width="auto" label-position="top"> + <el-form :model="forminfo" label-width="auto" label-position="top"> <el-row :gutter="20"> <el-col :span="8"> <el-form-item> @@ -225,7 +241,11 @@ > </div> </template> - <el-input size="small" v-model="form.name" placeholder="璇疯緭鍏�" /> + <el-input + size="small" + v-model="forminfo.articleName" + placeholder="璇疯緭鍏�" + /> </el-form-item> </el-col> <el-col :span="8"> @@ -239,7 +259,11 @@ > </div> </template> - <el-input size="small" v-model="form.name" placeholder="璇疯緭鍏�" /> + <el-input + size="small" + v-model="forminfo.articleType" + placeholder="璇疯緭鍏�" + /> </el-form-item> </el-col> <el-col :span="8"> @@ -253,7 +277,11 @@ > </div> </template> - <el-input size="small" v-model="form.name" placeholder="璇疯緭鍏�" /> + <el-input + size="small" + v-model="forminfo.articleUnit" + placeholder="璇疯緭鍏�" + /> </el-form-item> </el-col> </el-row> @@ -269,14 +297,19 @@ > </div> </template> - <el-select v-model="value" placeholder="璇烽�夋嫨" size="small"> + <el-input + size="small" + v-model="forminfo.category" + placeholder="璇疯緭鍏�" + /> + <!-- <el-select v-model="value" placeholder="璇烽�夋嫨" size="small"> <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" /> - </el-select> + </el-select> --> </el-form-item> </el-col> <el-col :span="16"> @@ -290,7 +323,11 @@ > </div> </template> - <el-input size="small" v-model="form.name" placeholder="璇疯緭鍏�" /> + <el-input + size="small" + v-model="forminfo.articleremark" + placeholder="璇疯緭鍏�" + /> </el-form-item> </el-col> </el-row> @@ -307,7 +344,7 @@ <el-button size="small" type="primary" - @click="dialogVisible = false" + @click="CreateInformation" style="height: 2rem; font-size: 0.88rem" > 淇濆瓨 @@ -316,11 +353,11 @@ </template> </el-dialog> - <!-- 淇℃伅鍒嗙被鏂板缓/缂栬緫 --> + <!-- 鏂板缓宸ュ叿/缂栬緫宸ュ叿 --> <el-dialog v-model="dialogVisible1" title="" - width="20%" + width="60%" :before-close="handleClose" :show-close="false" :align-center="true" @@ -335,43 +372,113 @@ > <span style="color: rgb(16, 16, 16); font-size: 1rem; font-weight: bold" - >淇℃伅鍒嗙被</span + >宸ュ叿淇℃伅</span > </div> </template> - <el-form :model="form" label-width="auto" label-position="top"> - <el-form-item> - <template #label> - <div style="display: flex; align-items: flex-end"> - <span style="color: red; margin-right: 0.2rem">*</span> - <span style="font-size: 0.88rem; color: black; font-weight: bold" - >鍒嗙被鍚嶇О</span - > - </div> - </template> - <el-input - style="height: 2rem" - size="small" - v-model="form.name" - placeholder="璇疯緭鍏�" - /> - </el-form-item> - <el-form-item> - <template #label> - <div style="display: flex; align-items: flex-end"> - <span style="font-size: 0.88rem; color: black; font-weight: bold" - >澶囨敞</span - > - </div> - </template> - <el-input - type="textarea" - :rows="5" - size="small" - v-model="form.name" - placeholder="璇疯緭鍏�" - /> - </el-form-item> + <el-form :model="formtool" label-width="auto" label-position="top"> + <el-row :gutter="20"> + <el-col :span="8"> + <el-form-item> + <template #label> + <div style="display: flex; align-items: flex-end"> + <span style="color: red; margin-right: 0.2rem">*</span> + <span + style="font-size: 0.88rem; color: black; font-weight: bold" + >宸ュ叿鍚嶇О</span + > + </div> + </template> + <el-input + size="small" + v-model="formtool.toolName" + placeholder="璇疯緭鍏�" + /> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item> + <template #label> + <div style="display: flex; align-items: flex-end"> + <span style="color: red; margin-right: 0.2rem">*</span> + <span + style="font-size: 0.88rem; color: black; font-weight: bold" + >瑙勬牸鍨嬪彿</span + > + </div> + </template> + <el-input + size="small" + v-model="formtool.specification" + placeholder="璇疯緭鍏�" + /> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item> + <template #label> + <div style="display: flex; align-items: flex-end"> + <span style="color: red; margin-right: 0.2rem">*</span> + <span + style="font-size: 0.88rem; color: black; font-weight: bold" + >鍗曚綅</span + > + </div> + </template> + <el-input + size="small" + v-model="formtool.toolUnit" + placeholder="璇疯緭鍏�" + /> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="20"> + <el-col :span="8"> + <el-form-item> + <template #label> + <div style="display: flex; align-items: flex-end"> + <span style="color: red; margin-right: 0.2rem">*</span> + <span + style="font-size: 0.88rem; color: black; font-weight: bold" + >鎵�灞炲垎绫�</span + > + </div> + </template> + <el-input + size="small" + v-model="formtool.category" + placeholder="璇疯緭鍏�" + /> + <!-- <el-select v-model="value" placeholder="璇烽�夋嫨" size="small"> + <el-option + v-for="item in options" + :key="item.value" + :label="item.label" + :value="item.value" + /> + </el-select> --> + </el-form-item> + </el-col> + <el-col :span="16"> + <el-form-item> + <template #label> + <div style="display: flex; align-items: flex-end"> + <span style="color: red; margin-right: 0.2rem">*</span> + <span + style="font-size: 0.88rem; color: black; font-weight: bold" + >澶囨敞</span + > + </div> + </template> + <el-input + size="small" + v-model="formtool.toolremark" + placeholder="璇疯緭鍏�" + /> + </el-form-item> + </el-col> + </el-row> </el-form> <template #footer> <div class="dialog-footer" style="text-align: center"> @@ -385,7 +492,7 @@ <el-button size="small" type="primary" - @click="dialogVisible1 = false" + @click="addToolApi" style="height: 2rem; font-size: 0.88rem" > 淇濆瓨 @@ -396,89 +503,236 @@ </div> </template> <script setup> -import { ref, reactive } from "vue"; +import { ref, reactive, onMounted } from "vue"; import { ElMessage, ElMessageBox } from "element-plus"; +import { formatTime } from "@/utils/index.js"; +import { + getBasicinformation, + addBasicinformation, + editBasicinformation, + getToolData, + addToolData, + editToolData, + deleteToolData, + deleteBasicinformation, +} from "@/api/newapi/Basicinformation.js"; + const queryForm = reactive({ selectName: "", selectTime: [], // 鏃堕棿鑼冨洿 }); - const tableData = ref([]); - const options = ref([]); const props = { multiple: true }; - const table = ref(false); -const form = reactive({}); +const forminfo = ref({ + articleName: "", + articleType: "", + articleUnit: "", + category: "", + articleremark: "", + createDate: formatTime(new Date()), +}); const isactive = ref(1); const claimdialogVisible = ref(false); const dialogVisible = ref(false); const dialogVisible1 = ref(false); const TorquedialogVisible = ref(false); -const activities = [ - { - content: "1.1宸ュ墠鍑嗗", - timestamp: "2018-04-15", - }, - { - content: "2.1鐗靛紩鐢垫満鐢电紗瀹夎锛堜粎鍔ㄨ溅杞悜鏋讹級", - timestamp: "2018-04-13", - }, - { - content: "2.2鐗靛紩鐢垫満鐢电紗瀹夎锛堜粎鍔ㄨ溅杞悜鏋讹級", - timestamp: "2018-04-11", - }, - { - content: "2.3鐗靛紩鐢垫満鐢电紗瀹夎锛堜粎鍔ㄨ溅杞悜鏋讹級", - timestamp: "2018-04-11", - }, - { - content: "2.4鐗靛紩鐢垫満鐢电紗瀹夎锛堜粎鍔ㄨ溅杞悜鏋讹級", - timestamp: "2018-04-11", - }, - { - content: "2.4鐗靛紩鐢垫満鐢电紗瀹夎锛堜粎鍔ㄨ溅杞悜鏋讹級", - timestamp: "2018-04-11", - }, - { - content: "2.4鐗靛紩鐢垫満鐢电紗瀹夎锛堜粎鍔ㄨ溅杞悜鏋讹級", - timestamp: "2018-04-11", - }, - { - content: "2.4鐗靛紩鐢垫満鐢电紗瀹夎锛堜粎鍔ㄨ溅杞悜鏋讹級", - timestamp: "2018-04-11", - }, - { - content: "2.4鐗靛紩鐢垫満鐢电紗瀹夎锛堜粎鍔ㄨ溅杞悜鏋讹級", - timestamp: "2018-04-11", - }, - { - content: "2.4鐗靛紩鐢垫満鐢电紗瀹夎锛堜粎鍔ㄨ溅杞悜鏋讹級", - timestamp: "2018-04-11", - }, - { - content: "2.4鐗靛紩鐢垫満鐢电紗瀹夎锛堜粎鍔ㄨ溅杞悜鏋讹級", - timestamp: "2018-04-11", - }, -]; - +const toolList = ref([]); +const formtool = ref({ + toolName: "", + specification: 0, + toolUnit: "", + toolremark: "", + createtime: formatTime(new Date()), +}); const changeactive = (index) => { isactive.value = index; + if (index == 1) { + initData(); + } else { + getTool(); + } }; -function cancelClick() { - table.value = false; -} -function confirmClick() { - table.value = false; -} -// 鏌ョ湅璇︽儏 -const Findmore = () => { +const infoType = ref("鏂板缓"); +const Useradd = () => { + infoType.value = "鏂板缓"; dialogVisible.value = true; +}; +const Useredit = (val) => { + let data = Object.assign({}, val); + forminfo.value = data; + infoType.value = "缂栬緫"; + dialogVisible.value = true; +}; + +//鏂板缓淇℃伅鍒楄〃 +const CreateInformation = () => { + if (infoType.value == "鏂板缓") { + addBasicinformation(forminfo.value).then((res) => { + ElMessage({ + message: "鏂板缓鎴愬姛", + type: "success", + }); + dialogVisible.value = false; + initData(); + }); + } else { + editBasicinformation(forminfo.value).then((res) => { + ElMessage({ + message: "淇敼鎴愬姛", + type: "success", + }); + dialogVisible.value = false; + initData(); + }); + } }; // 鏌ョ湅鍔涚煩 const Findtorque = () => { TorquedialogVisible.value = true; }; + +//鍒嗛〉璇锋眰鍙傛暟 +const pageQuery = ref({ + page: 1, //褰撳墠椤甸潰 + rows: 10, //姣忛〉鏄剧ず鏉℃暟 + order: "desc", //鎺掑簭鏂瑰紡 + sort: "createDate", //鎺掑簭瀛楁 + wheres: "", //鏉′欢鏌ヨ +}); + +//鍒嗛〉椤甸潰澶у皬鏀瑰彉 +const handleSizeChange = (val) => { + pageQuery.value.rows = val; + initData(); +}; + +//鍒嗛〉椤甸潰鏀瑰彉 +const handleCurrentChange = (val) => { + pageQuery.value.page = val; + initData(); +}; +const pageTotal = ref(0); +const initData = () => { + // 鏌ヨ鏉′欢 + const startTime = formatTime(queryForm.selectTime[0]); + const endTime = formatTime(queryForm.selectTime[1]); + const filter = [ + { + name: "grouptype", + value: queryForm.selectType, + displayType: "String", + }, + { + name: "pustatus", + value: queryForm.selectName, + displayType: "String", + }, + { name: "dispatchtime", value: startTime, displayType: "ThanOrEqual" }, + { name: "dispatchtime", value: endTime, displayType: "LessOrEqual" }, + ]; + getBasicinformation({ + ...pageQuery.value, + filter, + }).then((res) => { + tableData.value = res.rows; + pageTotal.value = res.total; + }); +}; + +//鏁版嵁妫�绱簨浠� +const handleQuery = () => { + pageQuery.value.page = 1; + initData(); +}; +const resetQuery = () => { + queryForm.value = { selectName: "鍏ㄩ儴鐘舵��", selectTime: [] }; + pageQuery.value.page = 1; + initData(); +}; +const toolType = ref("鏂板缓"); +const addTool = () => { + toolType.value = "鏂板缓"; + dialogVisible1.value = true; +}; +const editTool = (val) => { + let data = Object.assign({}, val); + formtool.value = data; + toolType.value = "缂栬緫"; + dialogVisible1.value = true; + console.log(formtool.value); +}; +//鏂板缓宸ュ叿 +const addToolApi = () => { + if (toolType.value == "鏂板缓") { + addToolData(formtool.value).then((res) => { + ElMessage({ + message: "鏂板缓鎴愬姛", + type: "success", + }); + dialogVisible1.value = false; + getTool(); + }); + } else { + editToolData(formtool.value).then((res) => { + ElMessage({ + message: "淇敼鎴愬姛", + type: "success", + }); + dialogVisible1.value = false; + getTool(); + }); + } +}; + +//鑾峰彇宸ュ叿琛ㄤ俊鎭� +const getTool = () => { + const startTime = formatTime(queryForm.selectTime[0]); + const endTime = formatTime(queryForm.selectTime[1]); + const filter = [ + { name: "dispatchtime", value: startTime, displayType: "ThanOrEqual" }, + { name: "dispatchtime", value: endTime, displayType: "LessOrEqual" }, + ]; + getToolData({ + ...pageQuery.value, + filter, + }).then((res) => { + toolList.value = res.rows; + pageTotal.value = res.total; + }); +}; +//鎵归噺鍒犻櫎 +const ids = ref([]); +const InfoSelectionChange = (val) => { + ids.value = []; + ids.value = val.map((item) => item.id); +}; +const ToolSelectionChange = (val) => { + ids.value = []; + ids.value = val.map((item) => item.id); +}; +const deleteAll = () => { + if (ids.value.length == 0) { + ElMessage({ message: "璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁", type: "error" }); + return; + } + if (isactive.value == 1) { + deleteBasicinformation(ids.value).then((res) => { + ElMessage({ message: "鍒犻櫎鎴愬姛", type: "success" }); + initData(); + }); + } else { + deleteToolData(ids.value).then((res) => { + ElMessage({ message: "鍒犻櫎鎴愬姛", type: "success" }); + getTool(); + }); + } +}; + +onMounted(() => { + initData(); +}); </script> <style lang="scss" scoped> .Basicinformation { -- Gitblit v1.9.3