pengwei
2025-03-12 18fcb8ad28f583e3e1b99b23e4f7d9e1833dcd83
ÏîÄ¿´úÂë/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 {