yangyuxuan 4 hónapja
szülő
commit
a169d6fedb

+ 12 - 0
src/assets/styles/variables.module.scss

@@ -42,6 +42,18 @@ html.dark {
   --subMenuActiveText: #f4f4f5;
   --subMenuHover: #2c81ff;
   --subMenuTitleHover: #2c81ff;
+  --el-color-error-light-9:#fef0f0 !important;
+  --el-color-error-light-8:#fde2e2 !important;
+  --el-color-success-light-9:#f0f9eb !important;
+  --el-color-success-light-8:#e1f3d8 !important;
+  --el-color-warning-light-9:#fdf6ec !important;
+  --el-color-warning-light-8:#faecd8 !important;
+  --el-color-info-light-9:#f4f4f5 !important;
+  --el-color-info-light-8:#e9e9eb !important;
+  .el-tree-node__content {
+    --el-color-primary-light-9:#ebf5ff !important;
+  }
+  --el-mask-color:rgba(255,255,255,0.9) !important;
 
   --fixedHeaderBg: #ffffff;
   --tableHeaderBg: #f8f8f9;

+ 2 - 0
src/types/components.d.ts

@@ -27,6 +27,7 @@ declare module 'vue' {
     ElAutocomplete: typeof import('element-plus/es')['ElAutocomplete']
     ElBadge: typeof import('element-plus/es')['ElBadge']
     ElButton: typeof import('element-plus/es')['ElButton']
+    ElCard: typeof import('element-plus/es')['ElCard']
     ElCheckbox: typeof import('element-plus/es')['ElCheckbox']
     ElCheckboxButton: typeof import('element-plus/es')['ElCheckboxButton']
     ElCheckboxGroup: typeof import('element-plus/es')['ElCheckboxGroup']
@@ -57,6 +58,7 @@ declare module 'vue' {
     ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup']
     ElRow: typeof import('element-plus/es')['ElRow']
     ElScrollbar: typeof import('element-plus/es')['ElScrollbar']
+    ElSegmented: typeof import('element-plus/es')['ElSegmented']
     ElSelect: typeof import('element-plus/es')['ElSelect']
     ElSlider: typeof import('element-plus/es')['ElSlider']
     ElStep: typeof import('element-plus/es')['ElStep']

+ 1 - 1
src/views/comprehensiveGuarantee/MaterialReserveManagement/InboundManagement.vue

@@ -6,7 +6,7 @@
         <transition name="fade">
           <el-row :gutter="30" style="height: 50px">
             <el-col :span="10">
-              <el-button type="primary" @click="handleAdd">新增库</el-button>
+              <el-button type="primary" @click="handleAdd">新增库</el-button>
             </el-col>
           </el-row>
         </transition>

+ 1 - 1
src/views/dataFilling/fillingAdd.vue

@@ -81,7 +81,7 @@ import { fillingAdd } from '@/api/dataFilling/fillingManage';
 
 const emits = defineEmits(['close']);
 const detailData = ref({
-  title: '测试表单',
+  title: '表单数据',
   start: '2024-10-15 17:02:22',
   end: '2024-10-15 18:00:00'
 });

+ 1 - 1
src/views/dataFilling/formDetail.vue

@@ -45,7 +45,7 @@ const props = defineProps<{
 const editableHeaders = ref(['员工姓名', '员工性别', '加班小时', '新的备注', '新的地址']);
 const tableData = ref([]);
 const detailData = ref({
-  title: '测试表单',
+  title: '表单数据',
   start: '',
   end: ''
 });

+ 1 - 1
src/views/dataFilling/writeForm.vue

@@ -69,7 +69,7 @@ const props = defineProps({
 const emits = defineEmits(['close']);
 
 const detailData = ref({
-  title: '测试表单',
+  title: '表单数据',
   start: '2024-10-15 17:02:22',
   end: '2024-10-15 18:00:00'
 });

+ 15 - 10
src/views/setting/PreventionResponsible/Edit.vue

@@ -5,8 +5,8 @@
         <i class="common-dialog-title-icon" />
         <div>修改三防责任人信息</div>
       </div>
-      <div class="common-dialog-box" style="width: 1000px">
-        <el-form ref="formRef" :model="form" :rules="rules" label-width="160px">
+      <div class="common-dialog-box">
+        <el-form ref="formRef" :model="form" :rules="data.rules" style="width: 1000px">
           <el-form-item label="姓名:" prop="name">
             <el-input v-model="form.name" />
           </el-form-item>
@@ -123,6 +123,7 @@
 import { ElMessage } from 'element-plus';
 import { updateData, getPersonRespon, getZoning, responsibleDetail } from '@/api/PreventionResponsible';
 import { deepClone } from '@/utils';
+import { watch } from 'vue';
 
 const { proxy } = getCurrentInstance() as ComponentInternalInstance;
 const category = ref([]);
@@ -147,7 +148,8 @@ const data = reactive({
     order_num: '',
     type_list: [],
     office_phone_prefix: '',
-    office_phone_number: ''
+    office_phone_number: '',
+    telephone: ''
   },
   rules: {
     name: [{ required: true, message: '姓名不能为空', trigger: 'blur' }],
@@ -290,6 +292,12 @@ const handleAddAttribute = (obj, item) => {
 const fetchData = async () => {
   const response = await responsibleDetail(props.id);
   if (response.code === 200) {
+    // 分割办公电话为区号和电话号码
+    if (response.data.telephone) {
+      const [prefix, number] = response.data.telephone.split('-');
+      response.data.office_phone_prefix = prefix;
+      response.data.office_phone_number = number;
+    }
     const data = response.data;
     data.type_list.forEach((item) => {
       item.checked = item.children;
@@ -326,13 +334,6 @@ const fetchData = async () => {
       checkboxGroup2.value = data.type_list;
       changeChildType();
       handleFormFormat();
-      // 分割办公电话为区号和电话号码
-      if (response.data.telephone) {
-        const [prefix, number] = response.data.telephone.split('-');
-        form.value.office_phone_prefix = prefix;
-        form.value.office_phone_number = number;
-      }
-
       // 设置行政区划的默认值
       setDefaultAreaSelection(response.data.area_list, response.data.area_code);
     });
@@ -340,6 +341,10 @@ const fetchData = async () => {
     ElMessage.error('未找到相关数据');
   }
 };
+
+watch(() => [form.value.office_phone_prefix, form.value.office_phone_number], () => {
+  form.value.telephone = form.value.office_phone_prefix + '-' + form.value.office_phone_number; // 注意使用form.value来访问响应式对象的属性
+});
 const setDefaultAreaSelection = (areaList, areaCode) => {
   data1.value = areaList[1] ? areaList[1].id : '';
   data2.value = areaList[2] ? areaList[2].id : '';

+ 10 - 5
src/views/setting/PreventionResponsible/add.vue

@@ -36,9 +36,9 @@
           </el-form-item>
           <el-form-item label="办公电话:" prop="office_phone">
             <div class="phone-input-container">
-              <el-input v-model="form.office_phone_prefix" placeholder="例如:0668" style="width: 120px"></el-input>
+              <el-input v-model="office_phone_prefix" placeholder="例如:0668" style="width: 120px"></el-input>
               <span class="phone-input-separator">-</span>
-              <el-input v-model="form.office_phone_number" placeholder="例如:88888888" style="width: 200px"></el-input>
+              <el-input v-model="office_phone_number" placeholder="例如:88888888" style="width: 200px"></el-input>
             </div>
           </el-form-item>
           <el-form-item label="排位顺序:" prop="order_num">
@@ -123,7 +123,7 @@
 </template>
 
 <script setup lang="ts">
-import { ref, toRefs } from 'vue';
+import { ref, toRefs, watch } from 'vue';
 import type { TabsPaneContext } from 'element-plus';
 import { createNewPerson, getPersonRespon, getZoning, responsibleDetail, updateData } from '@/api/PreventionResponsible';
 import { deepClone } from '@/utils';
@@ -138,6 +138,8 @@ const buttonLoading = ref(false);
 const data1 = ref();
 const data2 = ref();
 const data3 = ref();
+const office_phone_prefix = ref("");
+const office_phone_number = ref("");
 
 // 表单数据
 const data = reactive({
@@ -149,8 +151,7 @@ const data = reactive({
     phone: '',
     order_num: '',
     type_list: [],
-    office_phone_prefix: '',
-    office_phone_number: ''
+    telephone: ''
   },
   rules: {
     name: [{ required: true, message: '姓名不能为空', trigger: 'blur' }],
@@ -302,6 +303,10 @@ const submitNewPerson = async () => {
   });
 };
 
+watch([office_phone_prefix, office_phone_number], () => {
+  form.value.telephone = office_phone_prefix.value + '-' + office_phone_number.value; // 注意使用form.value来访问响应式对象的属性
+});
+
 onMounted(() => {
   getOptions1(2);
   getCategory();

+ 2 - 1
src/views/setting/PreventionResponsible/detail.vue

@@ -32,7 +32,7 @@
         </div>
         <div v-if="item.type_parent === '地质灾害'" style="width: 33.33333%">隐患点名称:{{item.denger_point_name}}</div>
         <div v-else-if="item.type_parent === '其他'" style="width: 33.33333%">具体类型:{{item.other_type_2_name}}</div>
-        <div v-else style="width: 33.33333%">单位名称:{{item.dept_name}}</div>
+        <div v-else-if="!!item.dept_name" style="width: 33.33333%">单位名称:{{item.dept_name}}</div>
         <div style="width: 33.33333%">责任类别:{{ item.labelData.join(', ') }}</div>
       </div>
     </div>
@@ -77,6 +77,7 @@ const fetchData = async () => {
     const response = await responsibleDetail(props.id);
     if (response.code === 200) {
       formData.value = response.data;
+      // formData.value.telephone = response.data.position + "-" + response.data.phone
     } else {
       ElMessage.error(response.msg || '未找到相关数据');
     }

+ 5 - 1
src/views/setting/PreventionResponsible/index.vue

@@ -317,9 +317,13 @@ let EditState = reactive({
 // 新建责任人按钮操作
 const handleAddClose = () => {
   addState.show = false;
+  queryParams.value.pageNum = 1;
+  getList();
 };
 const handleEditClose = () => {
   EditState.show = false;
+  queryParams.value.pageNum = 1;
+  getList();
 };
 const handleAdd = (row: UserVO) => {
   addState.show = true;
@@ -404,7 +408,7 @@ let showUploadDetails = ref(false);
 const handleShowUploadDetails = () => {
   showUploadDetails.value = true;
 };
-let onMounted1 = onMounted(() => {
+onMounted(() => {
   getList(); // 初始化列表数据
   proxy?.getConfigKey('sys.user.initPassword').then((response) => {
     initPassword.value = response.data;