浏览代码

fix bug 920

bzkf3 2 年之前
父节点
当前提交
27137deae0
共有 1 个文件被更改,包括 81 次插入52 次删除
  1. 81 52
      src/pages/xdjx/xsdj/xslb/index.vue

+ 81 - 52
src/pages/xdjx/xsdj/xslb/index.vue

@@ -73,7 +73,7 @@ const handleTableRowBtn_import = async ({ file }: { file: File }) => {
   }
 }
 const handleTableRowBtn_export = () => {
-  if(multipleSelection.value.length===0) return ElMessage.info('请先勾选导出文件');exportApi({[TABLE_KEY]:multipleSelection.value.map((item: TYPE_TABLE_FIELD)=>item[TABLE_KEY])?.join()})
+  if (multipleSelection.value.length === 0) return ElMessage.info('请先勾选导出文件'); exportApi({ [TABLE_KEY]: multipleSelection.value.map((item: TYPE_TABLE_FIELD) => item[TABLE_KEY])?.join() })
 }
 const handleTableRowBtn_add = () => {
   whichDialogSubmit = 'add'
@@ -81,13 +81,13 @@ const handleTableRowBtn_add = () => {
   dialogVisible_addOrEdit.value = true
 }
 const handleTableRowBtn_delete = async () => {
-  if(multipleSelection.value.length===0) return ElMessage.info('请先勾选文件');const resp = await deleteApi(multipleSelection.value.map((item: TYPE_TABLE_FIELD) => item[TABLE_KEY]));if(resp.code!=='1')return;ElMessage.success('删除成功');
+  if (multipleSelection.value.length === 0) return ElMessage.info('请先勾选文件'); const resp = await deleteApi(multipleSelection.value.map((item: TYPE_TABLE_FIELD) => item[TABLE_KEY])); if (resp.code !== '1') return; ElMessage.success('删除成功');
   queryApi()
 }
 
 const handleTableRowBtn_remind = async () => {
   whichDialogSubmit = 'edit'
-  dialogForm_Data.value = {}
+  dialogForm_Data_remind.value = {}
 
   dialogVisible_remind.value = true
 }
@@ -113,7 +113,7 @@ const handleTableColBtn_detail = (scope: { row: TYPE_TABLE_FIELD }) => {
   router.push({ name: DetailName, params: { [DetailParam]: scope.row[TABLE_KEY] } })
 }
 const handleTableColBtn_delete = async (scope: { row: TYPE_TABLE_FIELD }) => {
-  const resp = await deleteApi(scope.row[TABLE_KEY]);if(resp.code!=='1')return;ElMessage.success('删除成功');
+  const resp = await deleteApi(scope.row[TABLE_KEY]); if (resp.code !== '1') return; ElMessage.success('删除成功');
   queryApi()
 }
 
@@ -136,7 +136,7 @@ const handleDialogFormBtn_submit = async (formRefKey: string, extendData?: Parti
   const isValid = await (instance?.refs[formRefKey] as FormInstance).validate((valid: boolean) => valid)
   if (isValid) {
     const resp = await API_MAP[whichDialogSubmit](<TYPE_TABLE_FIELD>({ ...dialogForm_Data.value, ...extendData }))
-    if(resp.code!=='1')return;ElMessage.success('操作成功');handleDialogFormBtn_cancel()
+    if (resp.code !== '1') return; ElMessage.success('操作成功'); handleDialogFormBtn_cancel()
     queryApi()
   }
 }
@@ -155,9 +155,15 @@ const dialogForm_Rules_addOrEdit = reactive({
   'xdjx_xsdj_xsxm': { required: true, message: '学生姓名不能为空', trigger: 'submit' },
   'xdjx_xsdj_gender': { required: true, message: '性别不能为空', trigger: 'submit' },
   'xdjx_xsdj_mz': { required: true, message: '民族不能为空', trigger: 'submit' },
-  'xdjx_xsdj_sfz': { required: true, message: '身份证不能为空', trigger: 'submit' },
+  'xdjx_xsdj_sfz': [
+    { required: true, message: '身份证不能为空', trigger: 'submit' },
+    { trigger: 'submit', message: '身份证错误', pattern: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/ }
+  ],
   'xdjx_xsdj_csrq': { required: true, message: '出生日期不能为空', trigger: 'submit' },
-  'xdjx_xsdj_lxfs': { required: true, message: '联系方式不能为空', trigger: 'submit' },
+  'xdjx_xsdj_lxfs': [
+    { required: true, message: '联系方式不能为空', trigger: 'submit' },
+    { trigger: 'submit', message: '联系方式错误', pattern: /^1[3456789]\d{9}$/ }
+  ],
   'xdjx_xsdj_jkzk': { required: true, message: '健康状况不能为空', trigger: 'submit' },
   'xdjx_xsdj_djsj': { required: true, message: '登记时间不能为空', trigger: 'submit' },
   'xdjx_xsdj_bhd': { required: true, message: '编号段不能为空', trigger: 'submit' },
@@ -182,9 +188,15 @@ const dialogForm_Rules_audit = reactive<FormRules>({
   'xdjx_xsdj_xsxm': { required: true, message: '学生姓名不能为空', trigger: 'submit' },
   'xdjx_xsdj_gender': { required: true, message: '性别不能为空', trigger: 'submit' },
   'xdjx_xsdj_mz': { required: true, message: '民族不能为空', trigger: 'submit' },
-  'xdjx_xsdj_sfz': { required: true, message: '身份证不能为空', trigger: 'submit' },
+  'xdjx_xsdj_sfz': [
+    { required: true, message: '身份证不能为空', trigger: 'submit' },
+    { trigger: 'submit', message: '身份证错误', pattern: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/ }
+  ],
   'xdjx_xsdj_csrq': { required: true, message: '出生日期不能为空', trigger: 'submit' },
-  'xdjx_xsdj_lxfs': { required: true, message: '联系方式不能为空', trigger: 'submit' },
+  'xdjx_xsdj_lxfs': [
+    { required: true, message: '联系方式不能为空', trigger: 'submit' },
+    { trigger: 'submit', message: '联系方式错误', pattern: /^1[3456789]\d{9}$/ }
+  ],
   'xdjx_xsdj_jkzk': { required: true, message: '健康状况不能为空', trigger: 'submit' },
   'xdjx_xsdj_djsj': { required: true, message: '登记时间不能为空', trigger: 'submit' },
   'xdjx_xsdj_bhd': { required: true, message: '编号段不能为空', trigger: 'submit' },
@@ -218,11 +230,24 @@ function queryApi() {
   })
 }
 
+// get current time YYYY-MM-DD format typescript
+function getNowFormatDate() {
+  const date = new Date()
+  const seperator1 = "-"
+  const year = date.getFullYear()
+  const month = date.getMonth() + 1
+  const strDate = date.getDate()
+  if (month >= 1 && month <= 9) {
+    return year + seperator1 + "0" + month + seperator1 + strDate
+  }
+  return year + seperator1 + month + seperator1 + strDate
+}
+
 function addApi(data: TYPE_TABLE_FIELD) {
   return request({
     url: URL_CUT + '/add',
     data: {
-      [URL_SUBMIT_KEY]: data,
+      [URL_SUBMIT_KEY]: { ...data, xdjx_xsdj_djsj: getNowFormatDate() },
     }
   })
 }
@@ -264,7 +289,7 @@ function importApi(data: { file: File }) {
 }
 
 function exportApi(d) {
-  return download(URL_CUT + '/index', {...queryForm_Data.value,...d})
+  return download(URL_CUT + '/index', { ...queryForm_Data.value, ...d })
 }
 
 const API_MAP = {
@@ -302,11 +327,12 @@ const dialogForm_Data_remind = ref<{
   xxt_bbhjjr?: string;
 }>({})
 const handleDialogFormBtn_submit_remind = async () => {
-  await request({
+  const resp = (await request({
     url: '/xdjx/xsdj_txsz/add',
     data: dialogForm_Data_remind.value
-  })
-  if(resp.code!=='1')return;ElMessage.success('操作成功');handleDialogFormBtn_cancel()
+  }))
+  if (resp.code !== '1') return;
+  handleDialogFormBtn_cancel()
   ElMessage.success('已提醒相关人员')
 }
 // #endregion
@@ -353,7 +379,7 @@ const handleTableRowBtn_sign = async () => {
         <el-input v-model="queryForm_Data.xdjx_xsdj_bhd" clearable />
       </el-form-item>
       <!-- <el-form-item label="面试时间"><el-date-picker type="date" v-model="queryForm_Data.xdjx_xsdj_mssj" value-format="YYYY-MM-DD" clearable /></el-form-item>
-      <el-form-item label="包含节假日"><el-select v-model="queryForm_Data.xdjx_xsdj_bhjjr" clearable ><el-option label="否" value="0" /><el-option label="是" value="1" /></el-select></el-form-item> -->
+                    <el-form-item label="包含节假日"><el-select v-model="queryForm_Data.xdjx_xsdj_bhjjr" clearable ><el-option label="否" value="0" /><el-option label="是" value="1" /></el-select></el-form-item> -->
       <el-form-item>
         <el-button @click="handleQueryFormBtn_search" type="primary">搜索</el-button>
         <el-button @click="handleQueryFormBtn_clear" type="warning">清空</el-button>
@@ -361,10 +387,13 @@ const handleTableRowBtn_sign = async () => {
     </el-form>
     <div class="divider"></div>
     <div class="flex justify-between">
-      <!-- <import-button @success="queryApi" :url="URL_CUT_REF"></import-button> -->
-      <el-button @click="handleTableRowBtn_export" type="success">导出打印</el-button>
-      <!-- <el-button @click="handleTableRowBtn_add" type="primary">新增</el-button> -->
-      <!-- <el-button @click="handleTableRowBtn_delete" type="danger">删除</el-button> -->
+      <div>
+        <!-- <import-button @success="queryApi" :url="URL_CUT_REF"></import-button> -->
+        <el-button @click="handleTableRowBtn_export" type="success">导出打印</el-button>
+        <el-button @click="handleTableRowBtn_add" type="primary">新增</el-button>
+        <!-- <el-button @click="handleTableRowBtn_delete" type="danger">删除</el-button> -->
+      </div>
+
       <div>
         <el-button @click="handleTableRowBtn_sign" type="success">生成编号</el-button>
         <el-button @click="handleTableRowBtn_remind" type="success">提醒设置</el-button>
@@ -388,14 +417,14 @@ const handleTableRowBtn_sign = async () => {
         <el-table-column prop="xdjx_xsdj_jkzk" label="健康状况" width="auto" show-overflow-tooltip></el-table-column>
         <el-table-column prop="xdjx_xsdj_djsj" label="登记时间" width="140" show-overflow-tooltip></el-table-column>
         <!-- <el-table-column prop="xdjx_xsdj_mssj" label="面试时间" width="auto" show-overflow-tooltip></el-table-column>
-        <el-table-column prop="xdjx_xsdj_bhjjr" label="包含节假日" width="auto" show-overflow-tooltip></el-table-column> -->
+                      <el-table-column prop="xdjx_xsdj_bhjjr" label="包含节假日" width="auto" show-overflow-tooltip></el-table-column> -->
         <el-table-column label="操作" fixed="right" width="140">
           <template #default="scope">
             <el-button link :auto-insert-space="false" @click="handleTableColBtn_edit(scope)" type="primary">编辑
             </el-button>
             <!-- <el-button link :auto-insert-space="false" @click="handleTableColBtn_audit(scope)" type="primary" >审核</el-button> -->
             <!-- <el-button link :auto-insert-space="false" @click="handleTableColBtn_detail(scope)" type="primary">详情
-            </el-button> -->
+                          </el-button> -->
             <!-- <el-button link :auto-insert-space="false" @click="handleTableColBtn_delete(scope)" type="primary" >删除</el-button> -->
           </template>
         </el-table-column>
@@ -436,21 +465,21 @@ const handleTableRowBtn_sign = async () => {
       <el-form-item label="健康状况" prop="xdjx_xsdj_jkzk">
         <remote-dictionary-select to="JKZK" v-model="dialogForm_Data.xdjx_xsdj_jkzk"></remote-dictionary-select>
       </el-form-item>
-      <el-form-item label="登记时间" prop="xdjx_xsdj_djsj">
-        <el-date-picker type="date" v-model="dialogForm_Data.xdjx_xsdj_djsj" value-format="YYYY-MM-DD" clearable />
-      </el-form-item>
-      <el-form-item label="编号段" prop="xdjx_xsdj_bhd">
-        <el-input v-model="dialogForm_Data.xdjx_xsdj_bhd" clearable />
-      </el-form-item>
-      <el-form-item label="面试时间" prop="xdjx_xsdj_mssj">
-        <el-date-picker type="date" v-model="dialogForm_Data.xdjx_xsdj_mssj" value-format="YYYY-MM-DD" clearable />
-      </el-form-item>
-      <el-form-item label="包含节假日" prop="xdjx_xsdj_bhjjr">
-        <el-radio-group v-model="dialogForm_Data.xdjx_xsdj_bhjjr">
-          <el-radio label="0">否</el-radio>
-          <el-radio label="1">是</el-radio>
-        </el-radio-group>
-      </el-form-item>
+      <!-- <el-form-item label="登记时间" prop="xdjx_xsdj_djsj">
+                  <el-date-picker type="date" v-model="dialogForm_Data.xdjx_xsdj_djsj" value-format="YYYY-MM-DD" clearable />
+                </el-form-item> -->
+      <!-- <el-form-item label="编号段" prop="xdjx_xsdj_bhd">
+                  <el-input v-model="dialogForm_Data.xdjx_xsdj_bhd" clearable />
+                </el-form-item>
+                <el-form-item label="面试时间" prop="xdjx_xsdj_mssj">
+                  <el-date-picker type="date" v-model="dialogForm_Data.xdjx_xsdj_mssj" value-format="YYYY-MM-DD" clearable />
+                </el-form-item>
+                <el-form-item label="包含节假日" prop="xdjx_xsdj_bhjjr">
+                  <el-radio-group v-model="dialogForm_Data.xdjx_xsdj_bhjjr">
+                    <el-radio label="0">否</el-radio>
+                    <el-radio label="1">是</el-radio>
+                  </el-radio-group>
+                </el-form-item> -->
       <div class="flex justify-center">
         <el-button @click="handleDialogFormBtn_submit('dialogForm_Ref_addOrEdit')" type="primary">提交</el-button>
         <el-button @click="handleDialogFormBtn_cancel('dialogForm_Ref_addOrEdit')" type="default">取消</el-button>
@@ -459,22 +488,22 @@ const handleTableRowBtn_sign = async () => {
   </el-dialog>
 
   <!-- <el-dialog v-model="dialogVisible_audit" append-to-body destroy-on-close>
-    <el-form :model="dialogForm_Data" ref="dialogForm_Ref_audit" :rules="dialogForm_Rules_audit" label-width="120px">
-      <el-form-item label="状态">
-        <el-radio-group v-model="dialogForm_Data[dialogForm_Field_audit.FLAG]">
-          <el-radio label="1">通过</el-radio>
-          <el-radio label="2">未通过</el-radio>
-        </el-radio-group>
-      </el-form-item>
-      <el-form-item label="原因" v-show="dialogForm_Data[dialogForm_Field_audit.FLAG] === '1'">
-        <el-input type="textarea" v-model="dialogForm_Data[dialogForm_Field_audit.REASON]" :rows="5" />
-      </el-form-item>
-      <div class="flex justify-center">
-        <el-button @click="handleDialogFormBtn_submit('dialogForm_Ref_audit')" type="primary">提交</el-button>
-        <el-button @click="handleDialogFormBtn_cancel('dialogForm_Ref_audit')" type="default">取消</el-button>
-      </div>
-    </el-form>
-  </el-dialog> -->
+                  <el-form :model="dialogForm_Data" ref="dialogForm_Ref_audit" :rules="dialogForm_Rules_audit" label-width="120px">
+                    <el-form-item label="状态">
+                      <el-radio-group v-model="dialogForm_Data[dialogForm_Field_audit.FLAG]">
+                        <el-radio label="1">通过</el-radio>
+                        <el-radio label="2">未通过</el-radio>
+                      </el-radio-group>
+                    </el-form-item>
+                    <el-form-item label="原因" v-show="dialogForm_Data[dialogForm_Field_audit.FLAG] === '1'">
+                      <el-input type="textarea" v-model="dialogForm_Data[dialogForm_Field_audit.REASON]" :rows="5" />
+                    </el-form-item>
+                    <div class="flex justify-center">
+                      <el-button @click="handleDialogFormBtn_submit('dialogForm_Ref_audit')" type="primary">提交</el-button>
+                      <el-button @click="handleDialogFormBtn_cancel('dialogForm_Ref_audit')" type="default">取消</el-button>
+                    </div>
+                  </el-form>
+                </el-dialog> -->
 
   <el-dialog v-model="dialogVisible_remind" append-to-body destroy-on-close>
     <el-form :model="dialogForm_Data_remind" ref="dialogForm_Ref_remind" :rules="dialogForm_Rules_remind"